1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
<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>
</head>
<body onload="prettyPrint();">
<pre class="prettyprint lang-js">/*!
* Ext JS Library 3.4.0
* Copyright(c) 2006-2011 Sencha Inc.
* licensing@sencha.com
* http://www.sencha.com/license
*/
<div id="cls-Ext.grid.AbstractSelectionModel"></div>/**
* @class Ext.grid.AbstractSelectionModel
* @extends Ext.util.Observable
* Abstract base class for grid SelectionModels. It provides the interface that should be
* implemented by descendant classes. This class should not be directly instantiated.
* @constructor
*/
Ext.grid.AbstractSelectionModel = Ext.extend(Ext.util.Observable, {
<div id="prop-Ext.grid.AbstractSelectionModel-grid"></div>/**
* The GridPanel for which this SelectionModel is handling selection. Read-only.
* @type Object
* @property grid
*/
constructor : function(){
this.locked = false;
Ext.grid.AbstractSelectionModel.superclass.constructor.call(this);
},
/** @ignore Called by the grid automatically. Do not call directly. */
init : function(grid){
this.grid = grid;
if(this.lockOnInit){
delete this.lockOnInit;
this.locked = false;
this.lock();
}
this.initEvents();
},
<div id="method-Ext.grid.AbstractSelectionModel-lock"></div>/**
* Locks the selections.
*/
lock : function(){
if(!this.locked){
this.locked = true;
// If the grid has been set, then the view is already initialized.
var g = this.grid;
if(g){
g.getView().on({
scope: this,
beforerefresh: this.sortUnLock,
refresh: this.sortLock
});
}else{
this.lockOnInit = true;
}
}
},
// set the lock states before and after a view refresh
sortLock : function() {
this.locked = true;
},
// set the lock states before and after a view refresh
sortUnLock : function() {
this.locked = false;
},
<div id="method-Ext.grid.AbstractSelectionModel-unlock"></div>/**
* Unlocks the selections.
*/
unlock : function(){
if(this.locked){
this.locked = false;
var g = this.grid,
gv;
// If the grid has been set, then the view is already initialized.
if(g){
gv = g.getView();
gv.un('beforerefresh', this.sortUnLock, this);
gv.un('refresh', this.sortLock, this);
}else{
delete this.lockOnInit;
}
}
},
<div id="method-Ext.grid.AbstractSelectionModel-isLocked"></div>/**
* Returns true if the selections are locked.
* @return {Boolean}
*/
isLocked : function(){
return this.locked;
},
destroy: function(){
this.unlock();
this.purgeListeners();
}
});</pre>
</body>
</html>
|