X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/3789b528d8dd8aad4558e38e22d775bcab1cbd36..refs/heads/master:/docs/source/LockingView.html diff --git a/docs/source/LockingView.html b/docs/source/LockingView.html index 39f8b4ab..514fca59 100644 --- a/docs/source/LockingView.html +++ b/docs/source/LockingView.html @@ -3,8 +3,8 @@
/**
* @class Ext.grid.LockingView
* This class is used internally to provide a single interface when using
- * a locking grid. Internally, the locking grid creates 2 separate grids,
+ * a locking grid. Internally, the locking grid creates two separate grids,
* so this class is used to map calls appropriately.
* @ignore
*/
Ext.define('Ext.grid.LockingView', {
-
+
mixins: {
observable: 'Ext.util.Observable'
},
-
+
eventRelayRe: /^(beforeitem|beforecontainer|item|container|cell)/,
-
+
constructor: function(config){
var me = this,
eventNames = [],
@@ -38,7 +38,7 @@ Ext.define('Ext.grid.LockingView', {
normal = config.normal.getView(),
events,
event;
-
+
Ext.apply(me, {
lockedView: locked,
normalView: normal,
@@ -47,7 +47,7 @@ Ext.define('Ext.grid.LockingView', {
panel: config.panel
});
me.mixins.observable.constructor.call(me, config);
-
+
// relay events
events = locked.events;
for (event in events) {
@@ -57,31 +57,49 @@ Ext.define('Ext.grid.LockingView', {
}
me.relayEvents(locked, eventNames);
me.relayEvents(normal, eventNames);
-
+
normal.on({
scope: me,
itemmouseleave: me.onItemMouseLeave,
itemmouseenter: me.onItemMouseEnter
});
-
+
locked.on({
scope: me,
itemmouseleave: me.onItemMouseLeave,
itemmouseenter: me.onItemMouseEnter
});
},
-
+
getGridColumns: function() {
var cols = this.lockedGrid.headerCt.getGridColumns();
return cols.concat(this.normalGrid.headerCt.getGridColumns());
},
-
+
+ getEl: function(column){
+ return this.getViewForColumn(column).getEl();
+ },
+
+ getViewForColumn: function(column) {
+ var view = this.lockedView,
+ inLocked;
+
+ view.headerCt.cascade(function(col){
+ if (col === column) {
+ inLocked = true;
+ return false;
+ }
+ });
+
+ return inLocked ? view : this.normalView;
+ },
+
onItemMouseEnter: function(view, record){
var me = this,
locked = me.lockedView,
other = me.normalView,
item;
-
+
if (view.trackOver) {
if (view !== locked) {
other = locked;
@@ -90,12 +108,12 @@ Ext.define('Ext.grid.LockingView', {
other.highlightItem(item);
}
},
-
+
onItemMouseLeave: function(view, record){
var me = this,
locked = me.lockedView,
other = me.normalView;
-
+
if (view.trackOver) {
if (view !== locked) {
other = locked;
@@ -103,42 +121,37 @@ Ext.define('Ext.grid.LockingView', {
other.clearHighlight();
}
},
-
+
relayFn: function(name, args){
args = args || [];
-
+
var view = this.lockedView;
- view[name].apply(view, args || []);
+ view[name].apply(view, args || []);
view = this.normalView;
- view[name].apply(view, args || []);
+ view[name].apply(view, args || []);
},
-
+
getSelectionModel: function(){
- return this.panel.getSelectionModel();
+ return this.panel.getSelectionModel();
},
-
+
getStore: function(){
return this.panel.store;
},
-
+
getNode: function(nodeInfo){
// default to the normal view
return this.normalView.getNode(nodeInfo);
},
-
+
getCell: function(record, column){
- var view = this.lockedView,
+ var view = this.getViewForColumn(column),
row;
-
-
- if (view.getHeaderAtIndex(column) === -1) {
- view = this.normalView;
- }
-
+
row = view.getNode(record);
return Ext.fly(row).down(column.getCellSelector());
},
-
+
getRecord: function(node){
var result = this.lockedView.getRecord(node);
if (!node) {
@@ -146,31 +159,31 @@ Ext.define('Ext.grid.LockingView', {
}
return result;
},
-
+
addElListener: function(eventName, fn, scope){
this.relayFn('addElListener', arguments);
},
-
+
refreshNode: function(){
this.relayFn('refreshNode', arguments);
},
-
+
refresh: function(){
this.relayFn('refresh', arguments);
},
-
+
bindStore: function(){
this.relayFn('bindStore', arguments);
},
-
+
addRowCls: function(){
this.relayFn('addRowCls', arguments);
},
-
+
removeRowCls: function(){
this.relayFn('removeRowCls', arguments);
}
-
+
});