2018-07-07 00:48:14 +00:00
|
|
|
/* global Whisper, Mustache, _ */
|
|
|
|
|
|
|
|
// eslint-disable-next-line func-names
|
2018-04-27 21:25:04 +00:00
|
|
|
(function() {
|
|
|
|
'use strict';
|
2018-07-07 00:48:14 +00:00
|
|
|
|
2018-04-27 21:25:04 +00:00
|
|
|
window.Whisper = window.Whisper || {};
|
2015-03-05 23:44:53 +00:00
|
|
|
|
2018-04-27 21:25:04 +00:00
|
|
|
Whisper.ToastView = Whisper.View.extend({
|
|
|
|
className: 'toast',
|
|
|
|
templateName: 'toast',
|
2018-07-07 00:48:14 +00:00
|
|
|
initialize() {
|
2018-04-27 21:25:04 +00:00
|
|
|
this.$el.hide();
|
2020-01-09 19:57:43 +00:00
|
|
|
this.timeout = 2000;
|
2018-04-27 21:25:04 +00:00
|
|
|
},
|
2015-01-16 02:17:54 +00:00
|
|
|
|
2018-07-07 00:48:14 +00:00
|
|
|
close() {
|
2018-04-27 21:25:04 +00:00
|
|
|
this.$el.fadeOut(this.remove.bind(this));
|
|
|
|
},
|
2015-01-16 02:17:54 +00:00
|
|
|
|
2018-07-07 00:48:14 +00:00
|
|
|
render() {
|
2018-04-27 21:25:04 +00:00
|
|
|
this.$el.html(
|
|
|
|
Mustache.render(
|
|
|
|
_.result(this, 'template', ''),
|
|
|
|
_.result(this, 'render_attributes', '')
|
|
|
|
)
|
|
|
|
);
|
2020-01-09 19:57:43 +00:00
|
|
|
this.$el.attr('tabIndex', 0);
|
2018-04-27 21:25:04 +00:00
|
|
|
this.$el.show();
|
2020-01-09 19:57:43 +00:00
|
|
|
setTimeout(this.close.bind(this), this.timeout);
|
2018-04-27 21:25:04 +00:00
|
|
|
},
|
|
|
|
});
|
2019-11-07 21:36:16 +00:00
|
|
|
|
|
|
|
Whisper.ToastView.show = (View, el) => {
|
|
|
|
const toast = new View();
|
|
|
|
toast.$el.appendTo(el);
|
|
|
|
toast.render();
|
|
|
|
};
|
2015-01-16 02:17:54 +00:00
|
|
|
})();
|