Commit f5f7cf70 by David Baumgold

Subclass CMS.Models.SystemFeedback

To create handy WarningMessage, ErrorMessage, and ConfirmationMessage classes
parent 4e41c806
CMS.Models.SystemFeedback = Backbone.Model.extend({ CMS.Models.SystemFeedback = Backbone.Model.extend({
defaults: { defaults: {
"type": null, // "warning", "confirmation", "error", "announcement", "step-required" "type": null, // "warning", "confirmation", "error", "announcement", "step-required", etc
"title": null, "title": null,
"message": null, "message": null,
"shown": true, "shown": true,
...@@ -38,3 +38,21 @@ CMS.Models.SystemFeedback = Backbone.Model.extend({ ...@@ -38,3 +38,21 @@ CMS.Models.SystemFeedback = Backbone.Model.extend({
this.set("shown", false); this.set("shown", false);
} }
}); });
CMS.Models.WarningMessage = CMS.Models.SystemFeedback.extend({
defaults: $.extend({}, CMS.Models.SystemFeedback.prototype.defaults, {
"type": "warning"
})
});
CMS.Models.ErrorMessage = CMS.Models.SystemFeedback.extend({
defaults: $.extend({}, CMS.Models.SystemFeedback.prototype.defaults, {
"type": "error"
})
});
CMS.Models.ConfirmationMessage = CMS.Models.SystemFeedback.extend({
defaults: $.extend({}, CMS.Models.SystemFeedback.prototype.defaults, {
"type": "confirmation"
})
});
...@@ -111,8 +111,7 @@ ...@@ -111,8 +111,7 @@
<script src="${static.url('js/views/feedback.js')}"></script> <script src="${static.url('js/views/feedback.js')}"></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) { $(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
var m = new CMS.Models.SystemFeedback({ var msg = new CMS.Models.ErrorMessage({
"type": "error",
"title": "Server Error", "title": "Server Error",
"message": jqXHR.responseText, "message": jqXHR.responseText,
"actions": { "actions": {
...@@ -124,8 +123,8 @@ $(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) { ...@@ -124,8 +123,8 @@ $(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
} }
} }
}); });
new CMS.Views.Notification({model: m}); new CMS.Views.Notification({model: msg});
return m; return msg;
}) })
</script> </script>
......
...@@ -240,8 +240,7 @@ CMS.Views.SectionEdit = Backbone.View.extend({ ...@@ -240,8 +240,7 @@ CMS.Views.SectionEdit = Backbone.View.extend({
this.showView.render(); this.showView.render();
}, },
showErrorMessage: function(model, error, options) { showErrorMessage: function(model, error, options) {
var msg = new CMS.Models.SystemFeedback({ var msg = new CMS.Models.ErrorMessage({
type: "error",
title: "Validation Error", title: "Validation Error",
message: error, message: error,
close: false, close: false,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment