Rajout du bouton Filter dans la barre de menu » History » Version 3
« Previous -
Version 3/5
(diff) -
Next » -
Current version
Marc Nicolas, 22/03/2013 10:27
Rajout du bouton Filter dans la barre de menu¶
Pour Rajouter le bouton Filter, il faut dans le fichier Livegrid.js (client-user/js/components/dataviews/livegrid) :
- Rajouter le code suivant dans l'élément this.topBar (l.507) :
{ text : i18n.get("label.filter"), scope : this, handler : function () { var pos = this.getPosition(); var up = new sitools.widget.filterTool({ pos : pos, store : this.storefilters, columnModel : config.datasetCm, }); up.show(); }, icon : loadUrl.get('APP_URL') + "/common/res/images/icons/hmenu-asc-all.png" }
- Rajouter dans la fonction sitools.user.component.dataviews.livegrid.LiveGrid = function (config) (l.248)
this.storefilters = new sitools.user.component.dataviews.tplView.StoreTplView({
datasetCm : config.datasetCm,
urlRecords : this.urlRecords,
sitoolsAttachementForUsers : this.sitoolsAttachementForUsers,
userPreference : config.userPreference,
bufferSize : DEFAULT_LIVEGRID_BUFFER_SIZE,
formParams : config.formParams,
formMultiDsParams : config.formMultiDsParams,
mainView : this,
datasetId : config.datasetId,
filtersCfg : config.filtersCfg,
isFirstCountDone : false
});
this.storefilters.filters = new sitools.widget.FiltersCollection({
filters : config.filters
});
this.storefilters.on("beforeload", function (storefilters, options) {
//set the nocount param to false.
//before load is called only when a new action (sort, filter) is applied
var noCount;
if (!storefilters.isFirstCountDone || storefilters.isNewFilter) {
options.params.nocount = false;
} else {
options.params.nocount = true;
}
if (storefilters.isNewFilter) {
options.params.start = 0;
options.params.limit = DEFAULT_LIVEGRID_BUFFER_SIZE;
}
storefilters.isNewFilter = false;
if (!Ext.isEmpty(storefilters.filters)) {
var params = storefilters.buildQuery(storefilters.filters.getFilterData());
Ext.apply(options.params, params);
}
if (!Ext.isEmpty(this.dataView)) {
this._loadMaskAnchor = Ext.get(this.el.dom);
this._loadMaskAnchor.mask(i18n.get('label.waitMessage'), "x-mask-loading");
}
this.storefilters.storeOptions(options);
//this.el.mask(i18n.get('label.waitMessage'), "x-mask-loading");
}, this);
this.storefilters.on('load', function (store, records, options) {
if (this._loadMaskAnchor && this._loadMaskAnchor.isMasked()) {
this._loadMaskAnchor.unmask();
}
var plotComp = Ext.getCmp("plot" + config.datasetId);
if (plotComp) {
var rightPanel = plotComp.findById('plot-right-panel');
var success = rightPanel.fireEvent('buffer', storefilters);
}
this.storefilters.isFirstCountDone = true;
}, this);
this.storefilters.load({
params : {
start : 0,
limit : DEFAULT_LIVEGRID_BUFFER_SIZE
}
});