JSFiddle - React, Tailwind, and code Playground
by chikunova_nata
JavaScript
function alertsService($document) {
var alertsContainer = angular.element($document[0].createElement('einv-alerts-container'));
angular.element($document.find('body').eq(0)).append(alertsContainer);
var _warnings = [],
_errors = [],
_confirms = [],
_counter = 0;
function get(type) {
switch (type) {
case 'error':
return _errors;
case 'confirm':
return _confirms;
case 'info':
default:
return _warnings;
}
}
function info(messages) {
construct('info', messages);
}
function error(messages) {
construct('error', messages);
}
function confirm(messages) {
construct('confirm', messages);
}
function close() {
Array.prototype.slice.call(arguments).forEach(function (type) {
var alerts = get(type);
if (alerts) {
alerts.splice(0);
}
});
}
function transform(message) {
var obj = {};
obj.value = message.message ? message.message : message;
obj.correlationId = message.correlationId;
obj.id = _counter;
_counter++;
return obj;
}
function construct(type, messages) {
var alerts = get(type);
if (Array.isArray(messages)) {
messages.forEach(function (message) {
alerts.unshift(transform(message));
});
} else {
if (alerts.some(function (alert) {
return alert.value === messages;
})) {
return;
}
alerts.unshift(transform(messages));
}
}
return {
...