44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
CMS.Models.Section = Backbone.Model.extend({
|
|
defaults: {
|
|
"name": ""
|
|
},
|
|
validate: function(attrs, options) {
|
|
if (!attrs.name) {
|
|
return gettext("You must specify a name");
|
|
}
|
|
},
|
|
url: "/save_item",
|
|
toJSON: function() {
|
|
return {
|
|
id: this.get("id"),
|
|
metadata: {
|
|
display_name: this.get("name")
|
|
}
|
|
};
|
|
},
|
|
initialize: function() {
|
|
this.listenTo(this, "request", this.showNotification);
|
|
this.listenTo(this, "sync", this.hideNotification);
|
|
},
|
|
showNotification: function() {
|
|
if(!this.msg) {
|
|
this.msg = new CMS.Models.SystemFeedback({
|
|
type: "saving",
|
|
title: gettext("Saving…")
|
|
});
|
|
}
|
|
if(!this.msgView) {
|
|
this.msgView = new CMS.Views.Notification({
|
|
model: this.msg,
|
|
closeIcon: false,
|
|
minShown: 1250
|
|
});
|
|
}
|
|
this.msgView.show();
|
|
},
|
|
hideNotification: function() {
|
|
if(!this.msgView) { return; }
|
|
this.msgView.hide();
|
|
}
|
|
});
|