summaryrefslogtreecommitdiffstats
path: root/base/server/share/webapps
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2014-02-08 00:20:22 -0500
committerEndi S. Dewata <edewata@redhat.com>2014-02-13 14:20:18 -0500
commit437c82e85e8a824b268e29492861b92bc09883e3 (patch)
treed3e6dd340cb6b64754e36d425623f28d26d38491 /base/server/share/webapps
parent0d8d764fb330bb81f75ddd40cb6e1429d118eec8 (diff)
downloadpki-437c82e85e8a824b268e29492861b92bc09883e3.tar.gz
pki-437c82e85e8a824b268e29492861b92bc09883e3.tar.xz
pki-437c82e85e8a824b268e29492861b92bc09883e3.zip
Fixed problem refreshing table after add.
Previously the tables in TPS UI did not refresh properly after adding a new entry. The code has been fixed to reset the collection object to store the newly fetched entries and close the dialog after the add operation is done. The success and error handlers for add and save operations have been reorganized. Ticket #654
Diffstat (limited to 'base/server/share/webapps')
-rw-r--r--base/server/share/webapps/pki/js/pki-ui.js71
1 files changed, 40 insertions, 31 deletions
diff --git a/base/server/share/webapps/pki/js/pki-ui.js b/base/server/share/webapps/pki/js/pki-ui.js
index c257d28ca..7626d5082 100644
--- a/base/server/share/webapps/pki/js/pki-ui.js
+++ b/base/server/share/webapps/pki/js/pki-ui.js
@@ -227,32 +227,10 @@ var Dialog = Backbone.View.extend({
var self = this;
if (action == "add") {
- self.add({
- success: function(model, response, options) {
- self.close();
- },
- error: function(model, response, options) {
- if (response.status == 201) {
- self.close();
- return;
- }
- alert("ERROR: " + response.responseText);
- }
- });
+ self.add();
} else if (action == "save") {
- self.save({
- success: function(model, response, options) {
- self.close();
- },
- error: function(model, response, options) {
- if (response.status == 200) {
- self.close();
- return;
- }
- alert("ERROR: " + response.responseText);
- }
- });
+ self.save();
} else {
self.close();
@@ -306,7 +284,7 @@ var Dialog = Backbone.View.extend({
if (!value) value = "";
input.val(value);
},
- add: function(options) {
+ add: function() {
var self = this;
self.saveFields();
@@ -317,11 +295,22 @@ var Dialog = Backbone.View.extend({
// save non-empty attributes with POST
self.model.save(changedAttributes, {
wait: true,
- success: options.success,
- error: options.error
+ success: function(model, response, options) {
+ if (self.success) self.success.call();
+ self.close();
+ },
+ error: function(model, response, options) {
+ if (response.status == 201) {
+ if (self.success) self.success.call();
+ self.close();
+ return;
+ }
+ alert("ERROR: " + response.responseText);
+ if (self.error) self.error.call();
+ }
});
},
- save: function(options) {
+ save: function() {
var self = this;
self.saveFields();
@@ -333,8 +322,19 @@ var Dialog = Backbone.View.extend({
self.model.save(changedAttributes, {
patch: true,
wait: true,
- success: options.success,
- error: options.error
+ success: function(model, response, options) {
+ if (self.success) self.success.call();
+ self.close();
+ },
+ error: function(model, response, options) {
+ if (response.status == 200) {
+ if (self.success) self.success.call();
+ self.close();
+ return;
+ }
+ alert("ERROR: " + response.responseText);
+ if (self.error) self.error.call();
+ }
});
},
saveFields: function() {
@@ -352,6 +352,14 @@ var Dialog = Backbone.View.extend({
var name = input.attr("name");
var value = input.val();
attributes[name] = value;
+ },
+ done: function(success) {
+ var self = this;
+ self.success = success;
+ },
+ fail: function(error) {
+ var self = this;
+ self.error = error;
}
});
@@ -427,7 +435,7 @@ var Table = Backbone.View.extend({
$("button[name='add']", self.thead).click(function(e) {
var dialog = self.addDialog;
dialog.model = new self.collection.model();
- dialog.once("close", function(event) {
+ dialog.done(function() {
self.render();
});
dialog.open();
@@ -461,6 +469,7 @@ var Table = Backbone.View.extend({
render: function() {
var self = this;
self.collection.fetch({
+ reset: true,
success: function() {
self.tbody.empty();