lemonldap-ng/lemonldap-ng-manager/site/htdocs/static/js/notifications.min.js

1 line
6.3 KiB
JavaScript

!function(){var d=[function(t){return"groupBy=substr(uid,1)"},function(t){return"uid="+t+"*&groupBy=uid"},function(t){return"uid="+t}],m=function(t,e,n){return console.log("overScheme => level",e,"over",n),1===e&&t.length>n?"uid="+t+"*&groupBy=substr(uid,"+(e+n+1)+")":null},a={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 f,n;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=a,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=t.$modelValue;return 0===e.nodes.length&&s.updateTree(e.value,e.nodes,e.level,e.over,e.query,e.count),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.date?s.form.date=new Date:s.form="white",s.init(),s.showM=!1},s.$on("$locationChangeSuccess",function(t,e,n){e=e.match(/#!?\/(\w+)/);return s.type=null!=e?e[1]:"actives","new"===s.type?s.displayCreateForm():(s.showForm=!1,s.init())}),f=0,s.updateTree=function(r,a,c,u,t,e){var l,n;if(s.waiting=!0,l=d[c](r,t),25<e&&(n=m(r,c,u))?(u++,l=n,c-=1):u=0,"done"!==s.type&&"actives"!==s.type||i.get(scriptname+"notifications/"+s.type+"?"+l).then(function(t){var e,n,o,i,t=t.data;if(t.result){for(e=0,n=(i=t.values).length;e<n;e++)o=i[e],f++,o.id="node"+f,c<d.length-1&&(o.nodes=[],o.level=c+1,o.query=l,o.over=u),a.push(o);""===r&&(s.total=t.total)}return s.waiting=!1},function(t){return s.waiting=!1}),console.log("Selection",s.type),s.activesStyle={color:"#777"},s.doneStyle={color:"#777"},s.newStyle={color:"#777"},"actives"===s.type&&(s.activesStyle={color:"#333"}),"done"===s.type)return s.doneStyle={color:"#333"}},s.displayNotification=function(t){var n;return s.waiting=!0,s.currentScope=t,t=(n=t.$modelValue).notification.replace(/#/g,"_"),"actives"===s.type&&(t=n.uid+"_"+n.reference),i.get(scriptname+"notifications/"+s.type+"/"+t).then(function(e){var t;s.currentNotification={uid:n.uid,reference:n.reference,condition:n.condition},"done"===s.type&&(s.currentNotification.done=e.data.done);try{console.log("Try to parse a JSON formated notification..."),t=JSON.parse(e.data.notifications),s.currentNotification.date=s.notifDate(t.date),s.currentNotification.text=t.text,s.currentNotification.title=t.title,s.currentNotification.subtitle=t.subtitle,s.currentNotification.check=t.check}catch(t){console.log("Unable to parse JSON"),s.currentNotification.notifications=e.data.notifications}return s.waiting=!1},function(t){return s.waiting=!1}),s.showT=!1},s.showModal=function(t,e){var t=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();return t.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=n(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){t=t.data;return s.form={},1===t.result?s.message={title:"notificationCreated"}:s.message={title:"notificationNotCreated",message:t.error},s.showModal("alert.html"),s.waiting=!1,s.form.date=new Date},function(t){return s.message={title:"notificationNotCreated",message:t.statusText},s.showModal("alert.html"),s.waiting=!1,s.form.date=new Date})):(s.message={title:"incompleteForm"},s.showModal("alert.html")),s.form.date=new Date},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,0)]).then(function(){return s.waiting=!1},function(t){return s.waiting=!1}),s.activeModule="notifications",s.myStyle={color:"#ffb84d"},s.bannerStyle={"background-color":""+window.bannerColor}},s.displayCreateForm=function(){return s.activesStyle={color:"#777"},s.doneStyle={color:"#777"},s.newStyle={color:"#333"},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})},t=t.path().match(/^\/(\w+)/),s.type=t?t[1]:"actives",s.popupopen=function(){return s.popup.opened=!0},s.dateOptions={startingDay:1,minDate:new Date},s.popup={opened:!1},n=function(t){var e=t.getFullYear(),n=t.getMonth()+1;return e+"-"+(n=n<10?"0"+n:n)+"-"+(e=(e=t.getDate())<10?"0"+e:e)}}])}.call(this);