/*global Proxmox*/
/*jslint confusion: true*/
-/* create is a function and boolean,
- * bind is a function and object,
+/* bind is a function and object,
* callback is a function and string
*/
Ext.define('pmg-rule-list', {
selectedRuleChange: function(grid, selected, eOpts) {
var me = this;
var infoPanel = me.lookupReference('infopanel');
- var baseurl;
+ var baseurl = '';
if (selected.length > 0) {
baseurl = '/config/ruledb/rules/' + selected[0].data.id;
var win = Ext.create('PMG.RuleEditor', {
url: '/api2/extjs/config/ruledb/rules/',
method: 'POST',
- create: true,
+ isCreate: true,
listeners: {
destroy: function() {
me.lookupReference('rulegrid').getStore().load();
win.show();
},
+ onFactoryDefaults: function() {
+ var me = this;
+
+ Ext.Msg.confirm(
+ gettext('Confirm'),
+ gettext('Reset rule database to factory defaults?'),
+ function(button) {
+ if (button !== 'yes') {
+ return;
+ }
+ var url = '/config/ruledb';
+ Proxmox.Utils.API2Request({
+ url: '/config/ruledb',
+ method: 'POST',
+ waitMsgTarget: me.getView(),
+ callback: function() {
+ me.reload();
+ },
+ failure: function (response, opts) {
+ Ext.Msg.alert(gettext('Error'), response.htmlStatus);
+ }
+ });
+ }
+ );
+ },
+
init: function(view) {
var grid = this.lookupReference('rulegrid');
Proxmox.Utils.monStoreErrors(grid, grid.getStore(), true);
iconCls: 'fa fa-minus-circle',
reference: 'removeButton',
callback: 'reload',
- getRecordName: function(rec) { return rec.data.name },
+ getRecordName: function(rec) { return rec.data.name; },
bind: {
baseurl: '{baseUrl}'
}
+ },
+ '->',
+ {
+ text: gettext('Factory Defaults'),
+ handler: 'onFactoryDefaults'
}
]
},