-
Carla Duarte authored5868e3ae
message_banner.js 1.94 KiB
(function(define) {
'use strict';
define([
'gettext',
'jquery',
'underscore',
'backbone',
'text!templates/fields/message_banner.underscore',
'edx-ui-toolkit/js/utils/html-utils'
], function(gettext, $, _, Backbone, messageBannerTemplate, HtmlUtils) {
var MessageBannerView = Backbone.View.extend({
events: {
'click .close-btn': 'closeBanner'
},
closeBanner: function(event) {
sessionStorage.setItem("isBannerClosed", true);
this.hideMessage();
},
initialize: function(options) {
if (_.isUndefined(options)) {
options = {};
}
this.options = _.defaults(options, {
urgency: 'high',
type: '',
hideCloseBtn: true,
isRecoveryEmailMsg: false,
isLearnerPortalEnabled: false
});
},
render: function() {
if (_.isUndefined(this.message) || _.isNull(this.message)) {
this.$el.html('');
} else {
this.$el.html(_.template(messageBannerTemplate)(_.extend(this.options, { // xss-lint: disable=javascript-jquery-html
message: this.message,
HtmlUtils: HtmlUtils
})));
}
return this;
},
showMessage: function(message) {
this.message = message;
if (sessionStorage.getItem("isBannerClosed") == null) {
this.render();
}
},
hideMessage: function() {
this.message = null;
this.render();
}
});
return MessageBannerView;
});
}).call(this, define || RequireJS.define);