raimund@570: /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz raimund@570: * Software engineering by Intevation GmbH raimund@570: * raimund@570: * This file is Free Software under the GNU GPL (v>=3) raimund@570: * and comes with ABSOLUTELY NO WARRANTY! Check out raimund@570: * the documentation coming with IMIS-Labordaten-Application for details. raimund@570: */ raimund@570: raimund@570: Ext.define('Lada.override.RowEditor', { raimund@570: override: 'Ext.grid.RowEditor', raimund@570: raimund@570: addFieldsForColumn: function(column, initial) { raimund@570: var me = this, raimund@570: i, raimund@570: length, field; raimund@570: raimund@570: if (Ext.isArray(column)) { raimund@570: for (i = 0, length = column.length; i < length; i++) { raimund@570: me.addFieldsForColumn(column[i], initial); raimund@570: } raimund@570: return; raimund@570: } raimund@570: raimund@570: if (column.getEditor) { raimund@570: // Get a default display field if necessary raimund@570: field = column.getEditor(null, { raimund@570: xtype: 'displayfield', raimund@570: // Override Field's implementation so that the default display fields will not return values. This is done because raimund@570: // the display field will pick up column renderers from the grid. raimund@570: getModelData: function() { raimund@570: return null; raimund@570: } raimund@570: }); raimund@570: if (column.align === 'right') { raimund@570: field.fieldStyle = 'text-align:right'; raimund@570: } raimund@570: raimund@570: if (column.xtype === 'actioncolumn') { raimund@570: field.fieldCls += ' ' + Ext.baseCSSPrefix + 'form-action-col-field' raimund@570: } raimund@570: raimund@570: if (me.isVisible() && me.context) { raimund@570: if (field.is('displayfield')) { raimund@570: me.renderColumnData(field, me.context.record, column); raimund@570: } raimund@570: else { raimund@570: field.suspendEvents(); raimund@570: field.setValue(me.context.record.get(column.dataIndex)); raimund@570: field.resumeEvents(); raimund@570: } raimund@570: } raimund@570: if (column.hidden) { raimund@570: me.onColumnHide(column); raimund@570: } else if (column.rendered && !initial) { raimund@570: // Setting after initial render raimund@570: me.onColumnShow(column); raimund@570: } raimund@570: } raimund@570: me.mon(field, 'change', me.onFieldChange, me); raimund@570: } raimund@570: });