lemonldap-ng/lemonldap-ng-manager/site/static/js/llApp.min.js
2016-01-18 20:26:30 +00:00

1 line
2.7 KiB
JavaScript

(function(){var a=angular.module("llApp",[]);a.provider("$translator",b);function b(){var d={};if(navigator){var f=[navigator.language];if(navigator.languages){f=navigator.languages}var e=[],c=[];f.forEach(function(g){availableLanguages.forEach(function(h){if(h==g){e.push(h)}else{if(h.substring(0,1)==g.substring(0,1)){c.push(h)}}})});d.lang=e[0]?e[0]:c[0]?c[0]:"en"}else{d.lang="en"}d.deferredTr=[];d.translationFields={};d.translate=function(g){if(d.translationFields[g]){g=d.translationFields[g]}return g};d.translateField=function(g,h){return d.translate(g[h])};d.translateP=function(g){if(g&&d.translationFields.portal){g=g.replace(/__(\w+)__/g,function(i,h){return d.translate(h)})}return g};this.$get=["$q","$http",function(g,h){d.last="";d.init=function(j){if(!j){j=d.lang}var i=g.defer();if(d.last!=j){d.last=j;h.get(staticPrefix+"languages/"+j+".json").success(function(k){d.translationFields=k;d.deferredTr.forEach(function(l){l.e[l.f](d.translationFields[l.m])});d.deferredTr=[];i.resolve("Translation files loaded")}).error(function(k,l){serrors(k,l);i.reject("")})}else{i.resolve("No change")}return i.promise};return d}]}a.directive("trspan",["$translator",function(c){return{restrict:"A",replace:false,transclude:true,scope:{trspan:"@"},link:function(e,f,d){if(c.translationFields.portal){d.trspan=c.translate(d.trspan)}else{c.deferredTr.push({e:f,f:"text",m:d.trspan})}f.text(d.trspan)},template:""}}]);a.directive("onReadFile",["$parse",function(c){return{restrict:"A",scope:false,link:function(g,e,d){var f=c(d.onReadFile);e.on("change",function(i){var h=new FileReader();h.onload=function(j){g.$apply(function(){f(g,{$fileContent:j.target.result})})};h.readAsText((i.srcElement||i.target).files[0])})}}}]);a.directive("resizer",["$document",function(e){var d,c;return function(h,g,f){g.on("mousedown",function(k){if(f.resizer=="vertical"){d=$(f.resizerRight).width()+$(f.resizerLeft).width()}else{c=$(f.resizerTop).height()+$(f.resizerBottom).height()}k.preventDefault();e.on("mousemove",i);e.on("mouseup",j)});function i(l){if(f.resizer=="vertical"){var k=l.pageX;if(f.resizerMax&&k>f.resizerMax){k=parseInt(f.resizerMax)}$(f.resizerLeft).css({width:k+"px"});$(f.resizerRight).css({width:(d-k)+"px"})}else{var m=l.pageY-$("#navbar").height();$(f.resizerTop).css({height:m+"px"});$(f.resizerBottom).css({height:(c-m)+"px"})}}function j(){e.unbind("mousemove",i);e.unbind("mouseup",j)}}}]);a.factory("$lmhttp",["$q","$location",function(c,d){return{responseError:function(e){var g=e.headers();if(e.status==401&&g.authorization&&g.authorization.match(/^http/)){var f=g.authorization.replace(/url=.*$/g,"");f+="url="+window.btoa(window.location).replace(/\//,"_");window.location=f}return c.reject(e)}}}]);a.config(["$httpProvider",function(c){c.interceptors.push("$lmhttp")}])})();