Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
WEBUI: handle the form dirty state properly for apply buttons, fixes …
…#3359
  • Loading branch information
perexg committed Dec 1, 2015
1 parent 2c47ef2 commit b4ce047
Showing 1 changed file with 61 additions and 46 deletions.
107 changes: 61 additions & 46 deletions src/webui/static/app/idnode.js
Expand Up @@ -934,27 +934,7 @@ tvheadend.idnode_editor = function(item, conf)
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({
Expand All @@ -963,8 +943,36 @@ tvheadend.idnode_editor = function(item, conf)
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);
Expand Down Expand Up @@ -1023,19 +1031,23 @@ tvheadend.idnode_create = function(conf, onlyDefault)
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({
Expand All @@ -1044,18 +1056,21 @@ tvheadend.idnode_create = function(conf, onlyDefault)
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({
Expand Down

0 comments on commit b4ce047

Please sign in to comment.