Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | 1183x 1183x 651x 1162x 651x 651x 651x 651x 651x 651x 651x 651x 5113x 5113x 5113x 1039x 5113x 749x 5113x 229x 229x 651x 651x | 'use strict';
define(
[
'jquery',
'underscore',
'pim/template/flash-message'
],
function ($, _, flashMessageTemplate) {
return {
queue: [],
defaults: {
container: '#flash-messages .flash-messages-holder',
delay: false,
template: _.template(flashMessageTemplate),
flash: true
},
/**
* Shows notification message
*
* @param {(string|boolean)} type 'error'|'success'|'warning'|false
* @param {string} message text of message
* @param {Object} options
*
* @param {(string|jQuery)} options.container selector of jQuery with container element
* @param {(number|boolean)} options.delay time in ms to auto close message
* or false - means to not close automatically
* @param {Function} options.template template function
* @param {boolean} options.flash flag to turn on default delay close call, it's 5s
*/
notify: function (type, message, options) {
this.showMessage(type, message, options);
},
enqueueMessage: function () {
this.queue.push(arguments);
},
showQueuedMessages: function () {
while (this.queue.length) {
var args = this.queue.shift();
this.showMessage.apply(this, args);
}
},
showMessage: function (type, message, options) {
var opt = _.extend({}, this.defaults, options || {});
var delay = opt.delay || (opt.flash && 5000);
var $el = $(opt.template({
type: type,
message: message,
messageTitle: '',
delay: delay,
icon: this.getIcon(type),
closeIcon: this.getCloseIcon(type)
})).appendTo(opt.container);
// Used to force the browser to visually render the element's styles to be able to use CSS transitions
$el.offset();
$el.addClass('AknFlash--visible');
Eif (delay) {
var timeLeft = delay;
var interval = setInterval(function () {
$el.find('.flash-timer:first').html(Math.max(Math.floor(timeLeft / 1000), 0));
timeLeft -= 500;
if (timeLeft <= 0) {
$el.removeClass('AknFlash--visible');
}
if (timeLeft <= -500) {
$el.addClass('AknFlash--crushed');
}
if (timeLeft <= -1500) {
$el.remove();
clearInterval(interval);
}
}, 500);
}
},
getIcon: function(type) {
return _.result(
{
'info': 'icon-infos.svg',
'success': 'icon-check.svg',
'error': 'icon-warning-redlight.svg',
'warning': 'icon-warning-orangelight.svg'
},
type,
'icon-infos.svg'
);
},
getCloseIcon: function(type) {
return _.result(
{
'info': 'icon-delete-bluedark.svg',
'success': 'icon-delete-greendark.svg',
'error': 'icon-delete-reddark.svg',
'warning': 'icon-delete-orangedark.svg'
},
type,
'icon-delete-bluedark.svg'
);
}
};
}
);
|