112 lines
3.7 KiB
HTML
112 lines
3.7 KiB
HTML
<!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-AbstractSelectionModel-method-constructor'><span id='Ext-grid-AbstractSelectionModel'>/**
|
|
</span></span> * @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, {
|
|
<span id='Ext-grid-AbstractSelectionModel-property-grid'> /**
|
|
</span> * 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);
|
|
},
|
|
|
|
<span id='global-method-init'> /** @ignore Called by the grid automatically. Do not call directly. */
|
|
</span> init : function(grid){
|
|
this.grid = grid;
|
|
if(this.lockOnInit){
|
|
delete this.lockOnInit;
|
|
this.locked = false;
|
|
this.lock();
|
|
}
|
|
this.initEvents();
|
|
},
|
|
|
|
<span id='Ext-grid-AbstractSelectionModel-method-lock'> /**
|
|
</span> * 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;
|
|
}
|
|
}
|
|
},
|
|
|
|
<span id='Ext-grid-AbstractSelectionModel-method-sortLock'> // set the lock states before and after a view refresh
|
|
</span> sortLock : function() {
|
|
this.locked = true;
|
|
},
|
|
|
|
<span id='Ext-grid-AbstractSelectionModel-method-sortUnLock'> // set the lock states before and after a view refresh
|
|
</span> sortUnLock : function() {
|
|
this.locked = false;
|
|
},
|
|
|
|
<span id='Ext-grid-AbstractSelectionModel-method-unlock'> /**
|
|
</span> * 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;
|
|
}
|
|
}
|
|
},
|
|
|
|
<span id='Ext-grid-AbstractSelectionModel-method-isLocked'> /**
|
|
</span> * Returns true if the selections are locked.
|
|
* @return {Boolean}
|
|
*/
|
|
isLocked : function(){
|
|
return this.locked;
|
|
},
|
|
|
|
<span id='Ext-grid-AbstractSelectionModel-method-destroy'> destroy: function(){
|
|
</span> this.unlock();
|
|
this.purgeListeners();
|
|
}
|
|
});</pre>
|
|
</body>
|
|
</html>
|