lemonldap-ng/lemonldap-ng-manager/site/htdocs/static/js/llApp.min.js
2020-05-06 15:31:10 +02:00

1 line
4.1 KiB
JavaScript

(function(){var e;(e=angular.module("llApp",["ngAria"])).provider("$translator",function(){var e,t,r,n,a,i,o,s,l,u,c,g;if(g={},decodeURIComponent(document.cookie).match(/llnglanguage=(\w+)/))g.lang=RegExp.$1;else if(navigator){for(n=[],a=[],l=[navigator.language],navigator.languages&&(l=navigator.languages),t=0,i=l.length;t<i;t++)for(s=l[t],console.log("Navigator lang",s),r=0,o=(c=window.availableLanguages).length;r<o;r++)e=c[r],console.log(" Available lang",e),u=new RegExp("^"+e+"-?"),s.match(u)?(console.log(" Matching lang =",e),n.push(e)):e.substring(0,1)===s.substring(0,1)&&a.push(e);g.lang=n[0]?n[0]:a[0]?a[0]:"en"}else g.lang="en";return console.log("Selected lang ->",g.lang),g.deferredTr=[],g.translationFields={},g.translate=function(e){return g.translationFields[e]&&(e=g.translationFields[e]),e},g.translateField=function(e,t){return g.translate(e[t])},g.translateP=function(e){return e&&g.translationFields.portal&&(e=e.replace(/__(\w+)__/g,function(e,t){return g.translate(t)})),e},this.$get=["$q","$http",function(t,r){return g.last="",g.init=function(e){var i;return e=e||g.lang,(i=new Date).setTime(i.getTime()+2592e6),document.cookie="llnglanguage="+e+"; expires="+i.toUTCString()+"; path=/",i=t.defer(),g.last!==e?(g.last=e,r.get(window.staticPrefix+"languages/"+e+".json").then(function(e){var t,r,n,a;for(g.translationFields=e.data,r=0,n=(a=g.deferredTr).length;r<n;r++)(t=a[r]).e[t.f](g.translationFields[t.m]);return g.deferredTr=[],i.resolve("Translation files loaded")},function(e){return i.reject("")})):i.resolve("No change"),i.promise},g}],this}),e.directive("trspan",["$translator",function(n){return{restrict:"A",replace:!1,transclude:!0,scope:{trspan:"@"},link:function(e,t,r){return n.translationFields.portal?r.trspan=n.translate(r.trspan):n.deferredTr.push({e:t,f:"text",m:r.trspan}),t.text(r.trspan)},template:""}}]),e.provider("$htmlParams",function(){return this.$get=function(){var r;return r={},{set:function(e,t){return r[e]=t},menu:function(){return r.menu},params:function(){return r.params}}},this}),e.directive("script",["$htmlParams",function(n){return{restrict:"E",terminal:!0,compile:function(e,t){var r;if(t.type&&(r=t.type.match(/text\/(menu|parameters)/)))try{return n.set(r[1],JSON.parse(e[0].text))}catch(e){console.log("Parsing error:",e)}}}}]),e.controller("ModalInstanceCtrl",["$scope","$uibModalInstance","elem","set","init",function(a,e,t,r,n){var i,o;return a.elem=t,a.set=r,a.result=n,a.staticPrefix=window.staticPrefix,i=t("currentNode"),a.translateP=t("translateP"),i&&(o=i.data,a.currentNode=i),a.ok=function(){return r("result",a.result),e.close(!0)},a.cancel=function(){return i&&(a.currentNode.data=o),e.dismiss("cancel")},a.inSelect=function(e){var t,r,n;for(t=0,r=(n=a.currentNode.select).length;t<r;t++)if(n[t].k===e)return!0;return!1}}]),e.directive("onReadFile",["$parse",function(a){return{restrict:"A",scope:!1,link:function(r,e,t){var n;return n=a(t.onReadFile),e.on("change",function(e){var t;return(t=new FileReader).onload=function(e){return r.$apply(function(){return n(r,{$fileContent:e.target.result})})},t.readAsText((e.srcElement||e.target).files[0])})}}}]),e.directive("resizer",["$document",function(i){var o,s;return s=o=null,function(e,t,n){var r,a;return t.on("mousedown",function(e){return"vertical"===n.resizer?s=$(n.resizerRight).width()+$(n.resizerLeft).width():o=$(n.resizerTop).height()+$(n.resizerBottom).height(),e.preventDefault(),i.on("mousemove",r),i.on("mouseup",a)}),r=function(e){var t,r;return"vertical"===n.resizer?(t=e.pageX,n.resizerMax&&t>n.resizerMax&&(t=parseInt(n.resizerMax)),$(n.resizerLeft).css({width:t+"px"}),$(n.resizerRight).css({width:s-t+"px"})):(r=e.pageY-$("#navbar").height(),$(n.resizerTop).css({height:r+"px"}),$(n.resizerBottom).css({height:o-r+"px"}))},a=function(){return i.unbind("mousemove",r),i.unbind("mouseup",a)}}}]),e.factory("$lmhttp",["$q","$location",function(t,e){return{responseError:function(e){return 401===e.status&&window.portal?window.location=window.portal+"?url="+window.btoa(window.location).replace(/\//,"_"):t.reject(e)}}}]),e.config(["$httpProvider",function(e){return e.interceptors.push("$lmhttp")}])}).call(this);