/
page_top_alert.js
41 lines (36 loc) 路 989 Bytes
/
page_top_alert.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
define([
'marionette',
'hbs!js/widgets/alerts/templates/page_top_alert',
], function(Marionette, BannerTemplate) {
var AlertView = Marionette.ItemView.extend({
tagName: 'span',
className: 'alert-banner',
template: BannerTemplate,
modelEvents: {
change: 'render',
},
events: {
'click #page-top-alert button.close': 'close',
},
close: function() {
this.$('.alert').css('display', 'none');
},
render: function() {
if (this.model.get('modal')) return this;
if (!this.model.get('msg') && !this.model.get('title')) {
this.$el.html('');
return this;
}
return Marionette.ItemView.prototype.render.apply(this, arguments);
// log the error to console as well
if (this.model.get('type') === 'danger') {
console.error(
'error feedback: ',
this.model.get('title'),
this.model.get('msg')
);
}
},
});
return AlertView;
});