| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 | 
							- <!DOCTYPE html>
 
- <html>
 
- <head>
 
-   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
-   <title>The source code</title>
 
-   <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
 
-   <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
 
-   <style type="text/css">
 
-     .highlight { display: block; background-color: #ddd; }
 
-   </style>
 
-   <script type="text/javascript">
 
-     function highlight() {
 
-       document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
 
-     }
 
-   </script>
 
- </head>
 
- <body onload="prettyPrint(); highlight();">
 
-   <pre class="prettyprint lang-js"><span id='Ext-grid-LockingView'>/**
 
- </span> * This class is used internally to provide a single interface when using
 
-  * a locking grid. Internally, the locking grid creates two separate grids,
 
-  * so this class is used to map calls appropriately.
 
-  * @private
 
-  */
 
- Ext.define('Ext.grid.LockingView', {
 
-     mixins: {
 
-         observable: 'Ext.util.Observable'
 
-     },
 
-     eventRelayRe: /^(beforeitem|beforecontainer|item|container|cell)/,
 
-     constructor: function(config){
 
-         var me = this,
 
-             eventNames = [],
 
-             eventRe = me.eventRelayRe,
 
-             locked = config.locked.getView(),
 
-             normal = config.normal.getView(),
 
-             events,
 
-             event;
 
-         Ext.apply(me, {
 
-             lockedView: locked,
 
-             normalView: normal,
 
-             lockedGrid: config.locked,
 
-             normalGrid: config.normal,
 
-             panel: config.panel
 
-         });
 
-         me.mixins.observable.constructor.call(me, config);
 
-         // relay events
 
-         events = locked.events;
 
-         for (event in events) {
 
-             if (events.hasOwnProperty(event) && eventRe.test(event)) {
 
-                 eventNames.push(event);
 
-             }
 
-         }
 
-         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;
 
-             }
 
-             item = other.getNode(record);
 
-             other.highlightItem(item);
 
-         }
 
-     },
 
-     onItemMouseLeave: function(view, record){
 
-         var me = this,
 
-             locked = me.lockedView,
 
-             other = me.normalView;
 
-         if (view.trackOver) {
 
-             if (view !== locked) {
 
-                 other = locked;
 
-             }
 
-             other.clearHighlight();
 
-         }
 
-     },
 
-     relayFn: function(name, args){
 
-         args = args || [];
 
-         var view = this.lockedView;
 
-         view[name].apply(view, args || []);
 
-         view = this.normalView;
 
-         view[name].apply(view, args || []);
 
-     },
 
-     getSelectionModel: function(){
 
-         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.getViewForColumn(column),
 
-             row;
 
-         row = view.getNode(record);
 
-         return Ext.fly(row).down(column.getCellSelector());
 
-     },
 
-     getRecord: function(node){
 
-         var result = this.lockedView.getRecord(node);
 
-         if (!node) {
 
-             result = this.normalView.getRecord(node);
 
-         }
 
-         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);
 
-     }
 
- });</pre>
 
- </body>
 
- </html>
 
 
  |