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

1 line
7.8 KiB
JavaScript

!function(){angular.module("llngViewer",["ui.tree","ui.bootstrap","llApp","ngCookies"]).controller("TreeCtrl",["$scope","$http","$location","$q","$uibModal","$translator","$cookies","$htmlParams",function(f,s,o,c,i,n,r,e){var t,a,l,d,u;if(f.links=window.links,f.menu=e.menu,f.menulinks=window.menulinks,f.staticPrefix=window.staticPrefix,f.formPrefix=window.formPrefix,f.availableLanguages=window.availableLanguages,f.waiting=!0,f.showM=!1,f.showT=!1,f.form="homeViewer",f.currentCfg={},f.viewPrefix=window.viewPrefix,f.allowDiff=window.allowDiff,f.message={},f.result="",f.translateTitle=function(e){return n.translateField(e,"title")},f.translateP=n.translateP,f.translate=n.translate,f.helpUrl="start.html#configuration",f.setShowHelp=function(e){var t;return null==e&&(e=!f.showH),f.showH=e,(t=new Date(Date.now())).setFullYear(t.getFullYear()+1),r.put("showhelp",e?"true":"false",{expires:t})},f.showH="false"!==r.get("showhelp"),null==f.showH&&f.setShowHelp(!0),d=function(e){var t=e.status,e=e.statusLine;return f.waiting=!1,403===t?f.message={title:"forbidden",message:"",items:[]}:401===t?(console.log("Authentication needed"),f.message={title:"authenticationNeeded",message:"__waitOrF5__",items:[]}):f.message=400===t||0<t?{title:"badRequest",message:e,items:[]}:{title:"networkProblem",message:"",items:[]},f.showModal("message.html")},f.showModal=function(e,t){var e=i.open({templateUrl:e,controller:"ModalInstanceCtrl",size:"lg",resolve:{elem:function(){return function(e){return f[e]}},set:function(){return function(e,t){return f[e]=t}},init:function(){return t}}}),n=c.defer();return e.result.then(function(e){return f.message={title:"",message:"",items:[]},n.resolve(e)},function(e){return f.message={title:"",message:"",items:[]},n.reject(e)}),n.promise},f.menuClick=function(e){if(e.popup)window.open(e.popup);else switch(e.action||(e.action=e.title),typeof e.action){case"function":e.action(f.currentNode,f);break;case"string":f[e.action]();break;default:console.log(typeof e.action)}return f.showM=!1},f.home=function(){return f.form="homeViewer",f.showM=!1},f.downloadConf=function(){return window.open(f.viewPrefix+f.currentCfg.cfgNum+"?full=1")},l=1,f._findContainer=function(){return f._findScopeContainer().$modelValue},f._findScopeContainer=function(){for(var e=f.currentScope;!e.$modelValue.type.match(/Container$/);)e=e.$parentNodeScope;return e},f._findScopeByKey=function(e){for(var t=f.currentScope;t.$modelValue.title!==e;)t=t.$parentNodeScope;return t},f.down=function(){var e,t,n,o,r,a,i;for(l=f.currentNode.id,t=(r=f.currentScope.$parentNodeScope.$modelValue).nodes.length,e=n=0,o=(a=r.nodes).length;n<o;e=++n)a[e].id===l&&(t=e);return t<r.nodes.length-1&&(i=r.nodes[t],r.nodes[t]=r.nodes[t+1],r.nodes[t+1]=i),t},f.up=function(){var e,t,n,o,r,a,i;for(l=f.currentNode.id,t=-1,e=n=0,o=(a=(r=f.currentScope.$parentNodeScope.$modelValue).nodes).length;n<o;e=++n)a[e].id===l&&(t=e);return 0<t&&(i=r.nodes[t],r.nodes[t]=r.nodes[t-1],r.nodes[t-1]=i),t},f.inSelect=function(e){for(var t=f.currentNode.select,n=0,o=t.length;n<o;n++)if(t[n].k===e)return!0;return!1},f.changeRuleTitle=function(e){return e.title=0<e.comment.length?e.comment:e.re},f.filters={},f.execFilters=function(e){var t,n,o;for(t in e=e||f,o=f.filters)if(n=o[t],f.filters.hasOwnProperty(t))return window.filterFunctions[t](e,c,n);return!1},f.stoggle=function(e){var t=e.$modelValue;return a(t),e.toggle()},a=function(e){for(var t,n,o,r,a,i,l,u,c=["nodes","nodes_cond"],s=0,d=c.length;s<d;s++)if(e["_"+(a=c[s])]){for(e[a]=[],r=0,n=(l=e["_"+a]).length;r<n;r++)t=l[r],e[a].push(t);delete e["_"+a]}if(e._nodes_filter){if(e.nodes)for(i=0,o=(u=e.nodes).length;i<o;i++)(a=u[i]).onChange=f.execFilters;return f.filters[e._nodes_filter]=e,f.execFilters()}},f.toggle=function(e){return e.toggle()},f.download=function(e){e=e.$modelValue;return t(e)},t=function(a){var e,i=c.defer();return i.notify("Trying to get datas"),f.waiting=!0,console.log("Trying to get key "+a.cnodes),e=encodeURI(a.cnodes),s.get(""+window.confPrefix+f.currentCfg.cfgNum+"/"+e).then(function(e){var t,n,o,r=e.data;if(r)if(r.error)r.error.match(/setDefault$/)?(a.default?a.nodes=a.default.slice(0):a.nodes=[],delete a.cnodes,i.resolve("Set data to default value")):i.reject("Server return an error: "+r.error);else{for(delete a.cnodes,a.type||(a.type="keyTextContainer"),a.nodes=[],n=0,o=r.length;n<o;n++)(t=r[n]).template&&(t._nodes=templates(t.template,t.title)),a.nodes.push(t);i.resolve("OK")}else i.reject("Empty response from server");return f.waiting=!1},function(e){return d(e),i.reject("")}),i.promise},f.openCnode=function(e){return f.download(e).then(function(){return e.toggle()})},u=function(e){for(;!e.$modelValue.help&&e.$parentNodeScope;)e=e.$parentNodeScope;return f.helpUrl=e.$modelValue.help||"start.html#configuration"},f.displayForm=function(e){var t,n,o,r,a,i=e.$modelValue;if(i.cnodes&&f.download(e),i._nodes&&f.stoggle(e),f.currentNode=i,f.currentScope=e,t=i.type||"text",i.nodes||i._nodes||i.cnodes?f.form="text"!==t?t:"mini":(f.form=t,f.getKey(i)),i.type&&"simpleInputContainer"===i.type)for(n=0,o=(a=i.nodes).length;n<o;n++)r=a[n],f.getKey(r);return f.showT=!1,u(e)},f.keyWritable=function(e){e=e.$modelValue;return!(!e.type||!e.type.match(/^(?:s(?:aml(?:(?:ID|S)PMetaDataNod|Attribut)e|fExtra)|(?:(?:cmbMod|r)ul|authChoic)e|(?:virtualHos|keyTex)t|menu(?:App|Cat))$/))},f.getKey=function(t){var e,n,o,r,a,i,l,u=c.defer();if(t.data)t.data.toString().match(/_Hidden_$/)&&(t.type="text",t.data="######"),u.resolve(t.data);else if(f.waiting=!0,t.get&&"object"==typeof t.get){for(t.data=[],i=[],e=n=0,o=(a=t.get).length;n<o;e=++n)r=a[e],t.data[e]={title:r,id:r},i.push(f.getKey(t.data[e]));c.all(i).then(function(){return u.resolve(t.data)},function(e){return u.reject(e.statusLine),f.waiting=!1})}else l="",t.get?(console.log("Trying to get key "+t.get),l=encodeURI(t.get)):console.log("Trying to get title "+t.title),s.get(""+window.confPrefix+f.currentCfg.cfgNum+"/"+(t.get?l:t.title)).then(function(e){e=e.data;return(null===e.value||e.error&&e.error.match(/setDefault$/))&&null!==t.default?t.data=t.default:t.data=e.value,t.data&&t.data.toString().match(/_Hidden_$/)&&(t.type="text",t.data="######"),t.type&&t.type.match(/^(bool|trool|boolOrExpr)$/)&&"string"==typeof t.data&&t.data.match(/^(?:-1|0|1)$/)&&(t.data=parseInt(t.data,10)),t.type&&t.type.match(/^int$/)?t.data=parseInt(t.data,10):t.type&&t.type.match(/^(saml(Service|Assertion)|blackWhiteList)$/)&&"object"!=typeof t.data&&(t.data=t.data.split(";")),f.waiting=!1,u.resolve(t.data)},function(e){return d(e),u.reject(e.status)});return u.promise},f.$on("$locationChangeSuccess",function(e,t,n){t=t.match(new RegExp("#!?/view/(latest|[0-9]+)"));return null===t?o.path("/view/latest"):(console.log("Trying to get cfg number "+t[1]),f.getCfg(t[1]))}),f.getCfg=function(t){return f.currentCfg.cfgNum!==t?s.get(""+window.viewPrefix+t).then(function(e){return f.currentCfg=e.data,e=new Date(1e3*f.currentCfg.cfgDate),f.currentCfg.date=e.toLocaleString(),console.log("Metadatas of cfg "+t+" loaded"),o.path("/view/"+t),f.init()},function(e){return d(e).then(function(){return f.currentCfg.cfgNum=0,f.init()})}):f.waiting=!1},f.getLanguage=function(e){return f.lang=e,f.form="white",f.init(),f.showM=!1},f.init=function(){var t=null;return f.waiting=!0,f.data=[],f.confirmNeeded=!1,f.forceSave=!1,c.all([n.init(f.lang),s.get(window.staticPrefix+"struct.json").then(function(e){return t=e.data,console.log("Structure loaded")})]).then(function(){return console.log("Starting structure binding"),f.data=t,t=null,0!==f.currentCfg.cfgNum?setScopeVars(f):(f.message={title:"emptyConf",message:"__zeroConfExplanations__"},f.showModal("message.html")),f.form="homeViewer",f.waiting=!1},d),f.activeModule="viewer",f.myStyle={color:"#ffb84d"},f.bannerStyle={"background-color":""+window.bannerColor}},!o.path().match(new RegExp("^/view/(latest|[0-9]+)")))return console.log("Redirecting to /view/latest"),o.path("/view/latest")}])}.call(this);