/** * Project : AMDA-NG4 * Name : ext-override.js * @file ext-override.js * @brief patches for extjs * @author elena (sencha support) * @version $Id: ext-override.js 2345 2014-05-13 09:06:43Z elena $ ******************************************************************************* * FT Id : Date : Name - Description ******************************************************************************* * : :16/06/2011 : elena - creation * */ Ext.onReady(function () { // for version 4.1.3 - corrected in 4.2.2 /*Ext.override(Ext.grid.RowNumberer, { renderer: function(value, metaData, record, rowIdx, colIdx, store) { var rowspan = this.rowspan; if (rowspan){ metaData.tdAttr = 'rowspan="' + rowspan + '"'; } metaData.tdCls = Ext.baseCSSPrefix + 'grid-cell-special'; return store.indexOf(record) + 1; } });*/ //TODO check if needed for version 4.1.3, 4.2.2 /*Ext.override(Ext.view.Table, { onUpdate : function(store, record, operation, changedFieldNames) { var me = this, index, newRow, oldRow, oldCells, newCells, len, i, columns, overItemCls, isHovered, row; if (me.rendered) { index = me.store.indexOf(record); columns = me.headerCt.getGridColumns(); overItemCls = me.overItemCls; // If we have columns which may *need* updating (think lockable grid child with all columns either locked or unlocked) // and the changed record is within our view, then update the view if (columns.length && index > -1) { newRow = me.bufferRender([record], index)[0]; oldRow = me.all.item(index); if (oldRow){ isHovered = oldRow.hasCls(overItemCls); oldRow.dom.className = newRow.className; if(isHovered) { oldRow.addCls(overItemCls); } // Replace changed cells in the existing row structure with the new version from the rendered row. oldCells = oldRow.query(this.cellSelector); newCells = Ext.fly(newRow).query(this.cellSelector); len = newCells.length; // row is the element that contains the cells. This will be a different element from oldRow when using a rowwrap feature row = oldCells[0].parentNode; for (i = 0; i < len; i++) { // If the field at this column index was changed, replace the cell. if (me.shouldUpdateCell(columns[i], changedFieldNames)) { row.insertBefore(newCells[i], oldCells[i]); row.removeChild(oldCells[i]); } } } // Maintain selection after update // TODO: Move to approriate event handler. me.selModel.refresh(); me.doStripeRows(index, index); me.fireEvent('itemupdate', record, index, newRow); } } } });*/ //TODO check if needed for version 4.1.3, 4.2.2 /*Ext.override(Ext.ZIndexManager, { tempHidden: [], show: function() { var comp, x, y; while (comp = this.tempHidden.shift()) { x = comp.x; y = comp.y; comp.show(); comp.setPosition(x,y); } } }); Ext.override(Ext.selection.TreeModel, { onRowClick: function (view, record, item, index, e) { // Record index will be -1 if the clicked record is a metadata record and not selectable if (index !== -1) { if (!this.allowRightMouseSelection(e)) { return ; } //Don't process if it's a right-click over a previously selected record. // if (!(e.type === 'contextmenu' && this.isSelected(record))) { this.processSelection(view, record, item, index, e); // } } } }); Ext.override(Ext.selection.Model, { storeHasSelected: function(record) { var store = this.store, records, len, id, i; if (record.hasId() && store.getById(record.getId())) { return true; } else { if (store.buffered) {//on buffered stores the map holds the data items records = []; for (m in store.data.map) { records = records.concat(store.data.map[m].value); } } else { records = store.data.items; } len = records.length; id = record.internalId; for (i = 0; i < len; ++i) { if (id === records[i].internalId) { return true; } } } return false; } });*/ });