lemonldap-ng/lemonldap-ng-manager/site/static/js/notifications.min.js
2016-02-05 11:02:52 +00:00

1 line
4.6 KiB
JavaScript

(function(){var a=[function(d){return"groupBy=substr(uid,1)"},function(d){return"uid="+d+"*&groupBy=uid"},function(d){return"uid="+d}];var c={actives:[{title:"markAsDone",icon:"eye-close"}],done:[{title:"deleteNotification",icon:"trash"}],"new":[{title:"save",icon:"save"}],home:[]};var b=angular.module("llngNotificationsExplorer",["ui.tree","ui.bootstrap","llApp"]);b.controller("NotificationsExplorerCtrl",["$scope","$translator","$location","$q","$http","$uibModal",function(l,d,f,g,j,e){l.links=links;l.menulinks=menulinks;l.staticPrefix=staticPrefix;l.scriptname=scriptname;l.formPrefix=formPrefix;l.availableLanguages=availableLanguages;l.waiting=true;l.showM=false;l.showT=true;l.showForm=false;l.data=[];l.form={};l.currentScope=null;l.currentNotification=null;l.menu=c;l.translateP=d.translateP;l.translate=d.translate;l.translateTitle=function(m){return d.translateField(m,"title")};l.menuClick=function(m){if(m.popup){window.open(m.popup)}else{if(!m.action){m.action=m.title}switch(typeof m.action){case"function":m.action(l.currentNode,l);break;case"string":l[m.action]();break;default:console.log(typeof m.action)}}l.showM=false};l.markAsDone=function(){l.waiting=true;j.put(scriptname+"notifications/"+l.type+"/"+l.currentNotification.uid+"_"+l.currentNotification.reference,{done:1}).success(function(m){l.currentNotification=null;l.currentScope.remove();l.waiting=false}).error(function(m,n){l.currentNotification=null;l.currentScope.remove();l.waiting=false})};l.deleteNotification=function(){l.waiting=true;j["delete"](scriptname+"notifications/"+l.type+"/"+l.currentNotification.done).success(function(m){l.currentNotification=null;l.currentScope.remove();l.waiting=false}).error(function(m,n){l.currentNotification=null;l.currentScope.remove();l.waiting=false})};l.stoggle=function(m){var n=m.$modelValue;if(n.nodes.length==0){l.updateTree(n.value,n.nodes,n.level,n.query)}m.toggle()};l.notifDate=function(m){if(m!==null){var n=new Date(m.substr(0,4),m.substr(4,2)-1,m.substr(6,2));return n.toLocaleDateString()}return""};l.getLanguage=function(m){l.lang=m;l.form="white";l.init();l.showM=false};var h=function(o,m,p){var q=m.match(/#\/(\w+)/);if(q===null){l.type="actives"}else{l.type=q[1]}if(l.type=="new"){l.displayCreateForm()}else{l.showForm=false;l.init()}};l.$on("$locationChangeSuccess",h);var k=0;l.updateTree=function(p,n,q,m){l.waiting=true;var o=a[q](p,m);j.get(scriptname+"notifications/"+l.type+"?"+o).success(function(r){if(r.result){r.values.forEach(function(s){k++;s.id="node"+k;if(q<a.length-1){s.nodes=[];s.level=q+1;s.query=o}n.push(s)})}l.waiting=false}).error(function(r,s){l.waiting=false})};l.displayNotification=function(m){l.waiting=true;l.currentScope=m;var n=m.$modelValue;var o=n.notification;if(l.type=="actives"){o=n.uid+"_"+n.reference}j.get(scriptname+"notifications/"+l.type+"/"+o).success(function(p){l.currentNotification={uid:n.uid,reference:n.reference,condition:n.condition};if(l.type=="actives"){l.currentNotification.notifications=p.notifications}else{l.currentNotification.done=p.done}l.waiting=false}).error(function(p,q){l.waiting=false});l.showT=false};l.showModal=function(n,p){var m=e.open({templateUrl:n,controller:"ModalInstanceCtrl",size:"lg",resolve:{elem:function(){return function(q){return l[q]}},set:function(){return function(r,q){l[r]=q}},init:function(){return p}}});var o=g.defer();m.result.then(function(q){l.message={title:"",message:"",};o.resolve(q)},function(q){l.message={title:"",message:"",};o.reject(q)});return m.result};l.save=function(){if(l.form.uid&&l.form.reference&&l.form.xml&&l.form.date){l.waiting=true;var n=l.form.date.getFullYear();var o=l.form.date.getMonth()+1;if(o<10){o="0"+o}var m=l.form.date.getDate();if(m<10){m="0"+m}l.form.date=n+"-"+o+"-"+m;j.post("notifications/actives",l.form).success(function(p){l.form={};if(p.result==1){l.message={title:"notificationCreated"};l.showModal("alert.html")}else{l.message={title:"notificationNotCreated",message:p.error};l.showModal("alert.html")}l.waiting=false}).error(function(p,q){l.message={title:"notificationNotCreated",message:p.error};l.showModal("alert.html");l.waiting=false})}else{l.message={title:"incompleteForm"};l.showModal("alert.html")}};l.init=function(){var m;l.waiting=true;l.data=[];g.all([d.init(l.lang),l.updateTree("",l.data,0)]).then(function(){l.waiting=false},function(n,o){l.waiting=false})};l.displayCreateForm=function(){l.waiting=true;d.init(l.lang).then(function(){l.currentNotification=null;l.showForm=true;l.data=[];l.waiting=false;l.form.date=new Date()})};var i=f.path().match(/^\/(\w+)/);l.type=i?i[1]:"actives";l.popupopen=function(){l.popup.opened=true};l.popup={opened:false}}])})();