This repository has been archived by the owner on Jun 29, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathangular-ra-flash.min.js
1 lines (1 loc) · 2.01 KB
/
angular-ra-flash.min.js
1
!function(){"use strict";angular.module("ra.flash",["ra.flash.directives","ra.flash.services"]),angular.module("ra.flash.directives",["ra.flash.services"]).directive("flash",["$timeout","$interpolate","Flash",function(a,b,c){var d=function(){this.show=!1,this.data={},this.classes=""};return d.prototype.init=function(a){this.data=a,this.setClasses(),a.auto_hide&&this.delay(),this.show=!0},d.prototype.setClasses=function(){var a=[];this.data.type&&0!==this.data.type.indexOf("alert-")&&(this.data.type="alert-"+this.data.type),a.push(this.data.type),this.data.close&&a.push("alert-dismissable"),this.classes=a.join(" ")},d.prototype.delay=function(){var b=10,d=parseInt(this.data.auto_hide,10),e=this;isNaN(d)===!1&&(b=d),a(function(){c.hide(),e.show=!1},1e3*b)},{restrict:"EA",replace:!0,scope:!0,controllerAs:"flash",controller:d,template:'<div class="alert" ng-show="flash.show" ng-class="flash.classes"> <button ng-show="flash.data.close" type="button" class="close" ng-click="flash.show = false">×</button> <span ng-bind-html="flash.data.message"></span></div>',link:function(a){a.service=c,a.$watch("service.active",function(c){c&&c.message&&(angular.isString(c.message)&&(c.message=b(c.message)(a)),a.flash.init(c))})}}}]),angular.module("ra.flash.services",[]).run(["$rootScope","Flash",function(a,b){a.$on("$routeChangeSuccess",function(){b.showOnNextPage()})}]).factory("Flash",function(){function a(a){return function(c,e){"error"===a&&(a="danger");var f={type:a,message:c};return f.show=function(){b.show(this)},f.hide=function(){b.hide()},f.nextPage=function(){b.show(this,{next_page:!0})},angular.extend({},d,f,e)}}var b={},c=["generic","success","info","warning","danger","error"],d={close:!0,auto_hide:!1,next_page:!1};return angular.forEach(c,function(c){b[c]=a(c)}),b.show=function(a,b){a=angular.extend({},a,b),a.next_page===!0?this.next_page=a:this.active=a},b.hide=function(){this.active=null},b.showOnNextPage=function(){this.next_page?(this.active=this.next_page,this.active.next_page=!1,this.next_page=!1):this.hide()},b})}();