illuminum
28 Jun 2008, 4:41 PM
Ext.namespace('Ext.ux', 'Ext.ux.plugins');
Ext.ux.plugins.CellMasker = function(config) {
this.init = function(grid) {
Ext.apply(grid, {
maskCell: function(row, column) {
var cell_el = Ext.get(grid.getView().getCell(row, column));
var cell_editor = grid.getColumnModel().getCellEditor(row, column);
cell_el.mask();
cell_el._mask.setSize(cell_el.dom.clientWidth + 1, cell_el.dom.clientHeight + 1);
cell_editor.on({
startedit: {
fn: function() {
cell_editor.cancelEdit();
}
}
});
},
unmaskCell: function(row, column) {
var cell_el = Ext.get(grid.getView().getCell(row, column));
var cell_editor = grid.getColumnModel().getCellEditor(row, column);
cell_el.unmask();
cell_editor.events.startedit = true; //dirty hack to remove the listeners since the removeListener method didn't seem to work
}
});
};
};
Example
var foo = new Ext.grid.EditorGridPanel({
plugins: new Ext.ux.plugins.CellMasker(),
listeners: {
rowclick: {
fn: function(grid,row,e) { grid.maskCell(row,0); } //etc
}, //etc
}
})
it's not much but maybe it saves someone a headache
Ext.ux.plugins.CellMasker = function(config) {
this.init = function(grid) {
Ext.apply(grid, {
maskCell: function(row, column) {
var cell_el = Ext.get(grid.getView().getCell(row, column));
var cell_editor = grid.getColumnModel().getCellEditor(row, column);
cell_el.mask();
cell_el._mask.setSize(cell_el.dom.clientWidth + 1, cell_el.dom.clientHeight + 1);
cell_editor.on({
startedit: {
fn: function() {
cell_editor.cancelEdit();
}
}
});
},
unmaskCell: function(row, column) {
var cell_el = Ext.get(grid.getView().getCell(row, column));
var cell_editor = grid.getColumnModel().getCellEditor(row, column);
cell_el.unmask();
cell_editor.events.startedit = true; //dirty hack to remove the listeners since the removeListener method didn't seem to work
}
});
};
};
Example
var foo = new Ext.grid.EditorGridPanel({
plugins: new Ext.ux.plugins.CellMasker(),
listeners: {
rowclick: {
fn: function(grid,row,e) { grid.maskCell(row,0); } //etc
}, //etc
}
})
it's not much but maybe it saves someone a headache