Better handling for list view header actions

This commit is contained in:
bfederle 2012-02-07 12:36:15 -08:00
parent 093d37ddf9
commit e30c346017

View File

@ -162,12 +162,17 @@
message: messages.complete(args.data) message: messages.complete(args.data)
}); });
} }
if (options.complete) {
options.complete(args);
}
}, },
{}, {},
// Error // Error
function(args) { function(args) {
if (!isHeader) {
if ($instanceRow.data('list-view-new-item')) { if ($instanceRow.data('list-view-new-item')) {
// For create forms // For create forms
$instanceRow.remove(); $instanceRow.remove();
@ -182,13 +187,22 @@
); );
} }
} }
if (options.error) {
options.error(args);
}
}
); );
}, },
error: function(message) { error: function(message) {
if (!isHeader) {
if (($.isPlainObject(args.action.createForm) && args.action.addRow != 'false') || if (($.isPlainObject(args.action.createForm) && args.action.addRow != 'false') ||
(!args.action.createForm && args.action.addRow == 'true')) { (!args.action.createForm && args.action.addRow == 'true')) {
$instanceRow.remove(); $instanceRow.remove();
} }
}
if (options.error) options.error(message);
if (message) cloudStack.dialog.notice({ message: message }); if (message) cloudStack.dialog.notice({ message: message });
} }
@ -262,11 +276,21 @@
$form: args.$form $form: args.$form
}); });
} else { } else {
var $loading = $('<div>').addClass('loading-overlay');
$loading.appendTo($listView);
performAction(args.data, { performAction(args.data, {
ref: args.ref, ref: args.ref,
context: createFormContext, context: createFormContext,
$form: args.$form, $form: args.$form,
isHeader: isHeader isHeader: isHeader,
complete: function(args) {
$loading.remove();
$listView.listView('refresh');
},
error: function(args) {
$loading.remove();
}
}); });
} }
}, },