41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
;(function (define, undefined) {
|
|
'use strict';
|
|
define([
|
|
'gettext', 'jquery', 'underscore', 'backbone', 'text!templates/fields/message_banner.underscore'
|
|
], function (gettext, $, _, Backbone, messageBannerTemplate) {
|
|
|
|
var MessageBannerView = Backbone.View.extend({
|
|
|
|
initialize: function (options) {
|
|
if (_.isUndefined(options)) {
|
|
options = {};
|
|
}
|
|
this.options = _.defaults(options, {urgency: 'high', type: ''});
|
|
},
|
|
|
|
render: function () {
|
|
if (_.isUndefined(this.message) || _.isNull(this.message)) {
|
|
this.$el.html('');
|
|
} else {
|
|
this.$el.html(_.template(messageBannerTemplate, _.extend(this.options, {
|
|
message: this.message
|
|
})));
|
|
}
|
|
return this;
|
|
},
|
|
|
|
showMessage: function (message) {
|
|
this.message = message;
|
|
this.render();
|
|
},
|
|
|
|
hideMessage: function () {
|
|
this.message = null;
|
|
this.render();
|
|
}
|
|
});
|
|
|
|
return MessageBannerView;
|
|
});
|
|
}).call(this, define || RequireJS.define);
|