lemonldap-ng/lemonldap-ng-manager/site/htdocs/static/js/notifications.min.js
2019-08-13 11:28:19 +02:00

1 line
5.3 KiB
JavaScript

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