Это решение заключается в определении прототипа rowEditors.это означает, что этот конфиг чем общий.Если вы хотите изменить его только для одного редактора, или если вы хотите получить другие конфигурации, прототип определенно не является решением.
посмотрите на исходный код:
initEditorConfig: function(){
var me = this,
grid = me.grid,
view = me.view,
headerCt = grid.headerCt,
btns = ['saveBtnText', 'cancelBtnText', 'errorsText', 'dirtyText'],
b,
bLen = btns.length,
cfg = {
autoCancel: me.autoCancel,
errorSummary: me.errorSummary,
fields: headerCt.getGridColumns(),
hidden: true,
view: view,
// keep a reference..
editingPlugin: me
},
item;
for (b = 0; b < bLen; b++) {
item = btns[b];
if (Ext.isDefined(me[item])) {
cfg[item] = me[item];
}
}
return cfg;
}`
этот методinits rowEditor, и есть цикл в btns Array:
btns Array:
btns = ['saveBtnText', 'cancelBtnText', 'errorsText', 'dirtyText']
for (b = 0; b < bLen; b++) {
item = btns[b];
if (Ext.isDefined(me[item])) {
cfg[item] = me[item];
}
}
В этом цикле foreach строка в btnArray, в которой она ищется, если существует в cfg то же свойство строки,нашел, что это добавлено в конфиг.Вам просто нужно убедиться, что этот цикл находит то, что вы хотите изменить:
Пример: мы хотим изменить текст кнопки сохранения:
свойство saveBtnText, которое является первым элементом массива btnsдолжен существовать в cfg:
if (Ext.isDefined(me[item])) {
cfg[item] = me[item];
}
этот поиск, если свойство существует: if (Ext.isDefined(me[item]))
, если saveBtnText уже существует в свойствах rowEditor, то:
cfg[item] = me[item];
и дополнительныесвойство config будет установлено !!