text: _('Save'),
iconCls: 'save',
handler: function() {
- var node = panel.getForm().getFieldValues();
- node.uuid = conf.uuids ? conf.uuids : item.uuid;
- tvheadend.Ajax({
- url: 'api/idnode/save',
- params: {
- node: Ext.encode(node)
- },
- success: function(d) {
- if (conf.win)
- conf.win.close();
- }
- });
- }
- });
- buttons.push(saveBtn);
-
- if (!conf.noApply) {
- var applyBtn = new Ext.Button({
- text: _('Apply'),
- iconCls: 'apply',
- handler: function() {
+ if (panel.getForm().isDirty()) {
var node = panel.getForm().getFieldValues();
node.uuid = conf.uuids ? conf.uuids : item.uuid;
tvheadend.Ajax({
node: Ext.encode(node)
},
success: function(d) {
+ if (conf.win)
+ conf.win.close();
}
});
+ } else {
+ if (conf.win)
+ conf.win.close();
+ }
+ }
+ });
+ buttons.push(saveBtn);
+
+ if (!conf.noApply) {
+ var applyBtn = new Ext.Button({
+ text: _('Apply'),
+ iconCls: 'apply',
+ handler: function() {
+ if (panel.getForm().isDirty()) {
+ var node = panel.getForm().getFieldValues();
+ node.uuid = conf.uuids ? conf.uuids : item.uuid;
+ tvheadend.Ajax({
+ url: 'api/idnode/save',
+ params: {
+ node: Ext.encode(node)
+ },
+ success: function(d) {
+ panel.getForm().reset();
+ }
+ });
+ }
}
});
buttons.push(applyBtn);
iconCls: 'add',
hidden: true,
handler: function() {
- var params = conf.create.params || {};
- if (puuid)
- params['uuid'] = puuid;
- if (pclass)
- params['class'] = pclass;
- params['conf'] = Ext.encode(panel.getForm().getFieldValues());
- tvheadend.Ajax({
- url: conf.create.url || conf.url + '/create',
- params: params,
- success: function(d) {
- win.close();
- }
- });
+ if (panel.getForm().isDirty()) {
+ var params = conf.create.params || {};
+ if (puuid)
+ params['uuid'] = puuid;
+ if (pclass)
+ params['class'] = pclass;
+ params['conf'] = Ext.encode(panel.getForm().getFieldValues());
+ tvheadend.Ajax({
+ url: conf.create.url || conf.url + '/create',
+ params: params,
+ success: function(d) {
+ win.close();
+ }
+ });
+ } else {
+ win.close();
+ }
}
});
var applyBtn = new Ext.Button({
iconCls: 'apply',
hidden: true,
handler: function() {
- var params = conf.create.params || {};
- if (puuid)
- params['uuid'] = puuid;
- if (pclass)
- params['class'] = pclass;
- params['conf'] = Ext.encode(panel.getForm().getFieldValues());
- tvheadend.Ajax({
- url: conf.create.url || conf.url + '/create',
- params: params,
- success: function(d) {
- }
- });
+ if (panel.getForm().isDirty()) {
+ var params = conf.create.params || {};
+ if (puuid)
+ params['uuid'] = puuid;
+ if (pclass)
+ params['class'] = pclass;
+ params['conf'] = Ext.encode(panel.getForm().getFieldValues());
+ tvheadend.Ajax({
+ url: conf.create.url || conf.url + '/create',
+ params: params,
+ success: function(d) {
+ panel.getForm().reset();
+ }
+ });
+ }
}
});
var cancelBtn = new Ext.Button({