manager/assets/modext/widgets/system/modx.grid.context.settings.js
/**
* Loads a grid of Context Settings
*
* @class MODx.grid.ContextSettings
* @extends MODx.grid.Grid
* @param {Object} config An object of options.
* @xtype modx-grid-context-settings
*/
MODx.grid.ContextSettings = function(config) {
config = config || {};
Ext.applyIf(config,{
title: _('context_settings')
,id: 'modx-grid-context-settings'
,url: MODx.config.connector_url
,baseParams: {
action: 'context/setting/getList'
,context_key: config.context_key
}
,saveParams: {
context_key: config.context_key
}
,fk: config.context_key
,save_action: 'context/setting/updatefromgrid'
,tbar: [{
text: _('create_new')
,scope: this
,cls:'primary-button'
,handler: {
xtype: 'modx-window-setting-create'
,url: MODx.config.connector_url
,baseParams: {
action: 'context/setting/create'
}
,keyField: {
xtype: 'modx-combo-setting-key'
,fieldLabel: _('key')
,name: 'key'
,id: 'modx-cs-key'
,maxLength: 100
,anchor: '100%'
,listeners: {
'render': {
fn: function(key) {
key.getStore().baseParams.namespace = Ext.getCmp('modx-cs-namespace').getValue();
Ext.getCmp('modx-cs-namespace').on('select', function(combo, item) {
key.getStore().baseParams.namespace = item.data.name;
key.getStore().load();
}, this);
}
,scope: this
}
}
}
,fk: config.context_key
}
}]
});
MODx.grid.ContextSettings.superclass.constructor.call(this,config);
};
Ext.extend(MODx.grid.ContextSettings,MODx.grid.SettingsGrid, {
removeSetting: function() {
return this.remove('setting_remove_confirm', 'context/setting/remove');
}
,updateSetting: function(btn,e) {
var r = this.menu.record;
r.fk = Ext.isDefined(this.config.fk) ? this.config.fk : 0;
var uss = MODx.load({
xtype: 'modx-window-setting-update'
,action: 'context/setting/update'
,record: r
,grid: this
,listeners: {
'success': {fn:function(r) {
this.refresh();
},scope:this}
}
});
uss.reset();
uss.setValues(r);
uss.show(e.target);
}
});
Ext.reg('modx-grid-context-settings',MODx.grid.ContextSettings);
/**
* Update a Context Setting
*
* @class MODx.window.UpdateContextSetting
* @extends MODx.window.UpdateSetting
* @param {Object} config An object of config properties
* @xtype modx-window-context-setting-update
*/
MODx.window.UpdateContextSetting = function(config) {
config = config || {};
var r = config.record;
Ext.applyIf(config,{
title: _('setting_update')
,action: 'context/setting/update'
,fk: r.context_key
});
MODx.window.UpdateContextSetting.superclass.constructor.call(this,config);
};
Ext.extend(MODx.window.UpdateContextSetting,MODx.window.UpdateSetting);
Ext.reg('modx-window-context-setting-update',MODx.window.UpdateContextSetting);