UNPKG

angularjs-toast

Version:

A Simple toast notification service for AngularJS pages

9 lines 2.6 kB
/*! * @module angularjs-toast * @description A Simple toast notification service for AngularJS pages * @version v4.0.1 * @link https://github.com/sibiraj-s/angularjs-toast#readme * @licence MIT License, https://opensource.org/licenses/MIT */ "use strict";(function(){var o=function(){var t=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};return"".concat((new Date).getTime(),"-").concat(t(),"-").concat(t(),"-").concat(t())},t=function(t){t.put("angularjs-toast/container.html",'<div class="angularjs-toast"> <ul class="toast-container" ng-class="::[position, containerClass]"> <toast-message ng-repeat="data in toastMessages track by data.id" data="data"></toast-message> </ul></div>'),t.put("angularjs-toast/message.html",'<li class="animate-repeat"> <div class="alert alert-dismissible" ng-class="::data.toastClass"> <span ng-bind-html="::data.message"></span> <span class="close" aria-label="close" title="close" ng-click="close($index)" ng-if="::data.dismissible" >×</span> </div></li>')},s=function(){var s={containerClass:"",defaultToastClass:"alert-success",timeout:5e3,dismissible:!0,maxToast:7,position:"right",insertFromTop:!0},n=s,i=[],t=function(t){i.splice(t,1)},a=function(t){var s="string"==typeof t?t:t.message,a=t.timeout||n.timeout,e=(void 0!==t.dismissible?t:n).dismissible,t=t.className||n.defaultToastClass;if(!s)throw new Error("Toast message is required...");a={message:s,id:o(),toastClass:t,dismissible:e,timeout:a},i.length===n.maxToast&&(n.insertFromTop?i.pop():i.shift()),n.insertFromTop?i.unshift(a):i.push(a)};return{configure:function(t){n=angular.extend({},s,t)},$get:function(){return{options:n,toastMessages:i,create:a,destroy:t}}}},a=function(a){return{replace:!0,restrict:"EA",templateUrl:"angularjs-toast/container.html",scope:{},compile:function(){var s=a.options;return function(t){t.toastMessages=a.toastMessages,t.position=s.position,t.containerClass=s.containerClass}}}},e=function(o,r){return{replace:!0,restrict:"E",templateUrl:"angularjs-toast/message.html",scope:{data:"="},link:function(t){var s,a=t.data,e=r.options,e=a.timeout||e.timeout,n=r.toastMessages,i=function(){var t=n.indexOf(a);r.destroy(t)};t.close=i,s=o(function(){i()},e),t.$on("$destroy",function(){o.cancel(s)})}}};t.$inject=["$templateCache"],s.$inject=[],a.$inject=["toast"],e.$inject=["$timeout","toast"],angular.module("angularjsToast",["ngSanitize","ngAnimate"]).run(t).provider("toast",s).directive("toast",a).directive("toastMessage",e)}).call(void 0); //# sourceMappingURL=angularjs-toast.min.js.map