📄 filter.js
字号:
/*
* Ext JS Library 2.3.0
* Copyright(c) 2006-2009, Ext JS, LLC.
* licensing@extjs.com
*
* http://extjs.com/license
*/
Ext.ns("Ext.grid.filter");
Ext.grid.filter.Filter = function(config){
Ext.apply(this, config);
this.events = {
/**
* @event activate
* Fires when a inactive filter becomes active
* @param {Ext.ux.grid.filter.Filter} this
*/
'activate': true,
/**
* @event deactivate
* Fires when a active filter becomes inactive
* @param {Ext.ux.grid.filter.Filter} this
*/
'deactivate': true,
/**
* @event update
* Fires when a filter configuration has changed
* @param {Ext.ux.grid.filter.Filter} this
*/
'update': true,
/**
* @event serialize
* Fires after the serialization process. Use this to apply additional parameters to the serialized data.
* @param {Array/Object} data A map or collection of maps representing the current filter configuration.
* @param {Ext.ux.grid.filter.Filter} filter The filter being serialized.
**/
'serialize': true
};
Ext.grid.filter.Filter.superclass.constructor.call(this);
this.menu = new Ext.menu.Menu();
this.init();
if(config && config.value) {
this.setValue(config.value);
this.setActive(config.active !== false, true);
delete config.value;
}
};
Ext.extend(Ext.grid.filter.Filter, Ext.util.Observable, {
/**
* @cfg {Boolean} active
* Indicates the default status of the filter (defaults to false).
*/
/**
* True if this filter is active. Read-only.
* @type Boolean
* @property
*/
active: false,
/**
* @cfg {String} dataIndex
* The {@link Ext.data.Store} data index of the field this filter represents. The dataIndex does not actually
* have to exist in the store.
*/
dataIndex: null,
/**
* The filter configuration menu that will be installed into the filter submenu of a column menu.
* @type Ext.menu.Menu
* @property
*/
menu: null,
/**
* Initialize the filter and install required menu items.
*/
init: Ext.emptyFn,
fireUpdate: function() {
this.value = this.item.getValue();
if(this.active) {
this.fireEvent("update", this);
}
this.setActive(this.value.length > 0);
},
/**
* Returns true if the filter has enough configuration information to be activated.
* @return {Boolean}
*/
isActivatable: function() {
return true;
},
/**
* Sets the status of the filter and fires that appropriate events.
* @param {Boolean} active The new filter state.
* @param {Boolean} suppressEvent True to prevent events from being fired.
*/
setActive: function(active, suppressEvent) {
if(this.active != active) {
this.active = active;
if(suppressEvent !== true) {
this.fireEvent(active ? 'activate' : 'deactivate', this);
}
}
},
/**
* Get the value of the filter
* @return {Object} The 'serialized' form of this filter
*/
getValue: Ext.emptyFn,
/**
* Set the value of the filter.
* @param {Object} data The value of the filter
*/
setValue: Ext.emptyFn,
/**
* Serialize the filter data for transmission to the server.
* @return {Object/Array} An object or collection of objects containing key value pairs representing
* the current configuration of the filter.
*/
serialize: Ext.emptyFn,
/**
* Validates the provided Ext.data.Record against the filters configuration.
* @param {Ext.data.Record} record The record to validate
* @return {Boolean} True if the record is valid with in the bounds of the filter, false otherwise.
*/
validateRecord: function(){return true;}
});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -