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

1 line
6.3 KiB
JavaScript
Raw Normal View History

!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