From 4741948fce834078e46c88c24c1435f7efb933d7 Mon Sep 17 00:00:00 2001 From: Xavier Guimard Date: Mon, 6 Feb 2017 18:04:07 +0000 Subject: [PATCH] Combination in manager: auto display (#1151) --- .../site/coffee/manager.coffee | 1 + .../site/static/js/filterFunctions.js | 23 ++++++++++--------- .../site/static/js/filterFunctions.min.js | 2 +- .../site/static/js/manager.js | 3 ++- .../site/static/js/manager.min.js | 2 +- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/lemonldap-ng-manager/site/coffee/manager.coffee b/lemonldap-ng-manager/site/coffee/manager.coffee index 6fd377cb2..7e2c2b644 100644 --- a/lemonldap-ng-manager/site/coffee/manager.coffee +++ b/lemonldap-ng-manager/site/coffee/manager.coffee @@ -309,6 +309,7 @@ llapp.controller 'TreeCtrl', [ type: 'LDAP' for: 0 over: [] + $scope.execFilters $scope._findScopeByKey 'authParams' $scope.newCmbOver = -> d = $scope.currentNode.data diff --git a/lemonldap-ng-manager/site/static/js/filterFunctions.js b/lemonldap-ng-manager/site/static/js/filterFunctions.js index ad7c372ac..cee26a460 100644 --- a/lemonldap-ng-manager/site/static/js/filterFunctions.js +++ b/lemonldap-ng-manager/site/static/js/filterFunctions.js @@ -7,6 +7,7 @@ var filterFunctions = { /* 1. be sure to have all datas in main nodes */ var wait = []; + console.log('filterFunctions called'); node.nodes.forEach(function(n) { wait.push(scope.getKey(n)); }); @@ -34,11 +35,12 @@ var filterFunctions = { }); /* Get choice or multi sub modules */ node.nodes_cond.forEach(function(n) { - var restart = 0; + var restart = 0; var nd = n._nodes ? n._nodes : n.nodes; if (node.nodes[0].data == 'Choice' && n.id == 'choiceParams') { + console.log('Choice is selected'); if (nd[1].cnodes) { - restart++; + restart++; } else { nd = nd[1]._nodes ? nd[1]._nodes : nd[1].nodes; @@ -50,19 +52,18 @@ var filterFunctions = { }; } else if (node.nodes[0].data == 'Combination' && n.id == 'combinationParams') { + console.log('Combination is selected'); if (nd[1].cnodes) { - restart++; + restart++; } else { nd = nd[1]._nodes ? nd[1]._nodes : nd[1].nodes; - nd.forEach(function(m) { - m.data.over.forEach(function(s) { - p(s.type); - }); - }); - } + nd.forEach(function(m) { + p(m.data.type); + }); + } } - if(restart==1) { + if(restart==1) { scope.waiting = true; scope.download({ '$modelValue': nd[1] @@ -70,7 +71,7 @@ var filterFunctions = { filterFunctions.authParams(scope, $q, node) }); return; - } + } }); /* 2.2 Display modules */ node.nodes_cond.forEach(function(n) { diff --git a/lemonldap-ng-manager/site/static/js/filterFunctions.min.js b/lemonldap-ng-manager/site/static/js/filterFunctions.min.js index fe360b3ae..d18660cfe 100644 --- a/lemonldap-ng-manager/site/static/js/filterFunctions.min.js +++ b/lemonldap-ng-manager/site/static/js/filterFunctions.min.js @@ -1 +1 @@ -var filterFunctions={authParams:function(b,a,c){var d=[];c.nodes.forEach(function(e){d.push(b.getKey(e))});a.all(d).then(function(){var f=false;var e=[];var g=function(i){var h=i.toLowerCase();if(h=="ad"){h="ldap"}if(h=="openidconnect"){h="oidc"}e.push(h+"Params")};if(c.nodes[0].data.match(/^Choice/)){c.nodes[2].data="Choice"}c.nodes.forEach(function(h){g(h.data)});c.nodes_cond.forEach(function(j){var h=0;var i=j._nodes?j._nodes:j.nodes;if(c.nodes[0].data=="Choice"&&j.id=="choiceParams"){if(i[1].cnodes){h++}else{i=i[1]._nodes?i[1]._nodes:i[1].nodes;i.forEach(function(k){k.data.forEach(function(l){g(l)})})}}else{if(c.nodes[0].data=="Combination"&&j.id=="combinationParams"){if(i[1].cnodes){h++}else{i=i[1]._nodes?i[1]._nodes:i[1].nodes;i.forEach(function(k){k.data.over.forEach(function(l){g(l.type)})})}}}if(h==1){b.waiting=true;b.download({"$modelValue":i[1]}).then(function(){filterFunctions.authParams(b,a,c)});return}});c.nodes_cond.forEach(function(h){if(!f&&e.indexOf(h.id)==-1){h.show=false}else{h.show=true}})})}}; \ No newline at end of file +var filterFunctions={authParams:function(b,a,c){var d=[];console.log("filterFunctions called");c.nodes.forEach(function(e){d.push(b.getKey(e))});a.all(d).then(function(){var f=false;var e=[];var g=function(i){var h=i.toLowerCase();if(h=="ad"){h="ldap"}if(h=="openidconnect"){h="oidc"}e.push(h+"Params")};if(c.nodes[0].data.match(/^Choice/)){c.nodes[2].data="Choice"}c.nodes.forEach(function(h){g(h.data)});c.nodes_cond.forEach(function(j){var h=0;var i=j._nodes?j._nodes:j.nodes;if(c.nodes[0].data=="Choice"&&j.id=="choiceParams"){console.log("Choice is selected");if(i[1].cnodes){h++}else{i=i[1]._nodes?i[1]._nodes:i[1].nodes;i.forEach(function(k){k.data.forEach(function(l){g(l)})})}}else{if(c.nodes[0].data=="Combination"&&j.id=="combinationParams"){console.log("Combination is selected");if(i[1].cnodes){h++}else{i=i[1]._nodes?i[1]._nodes:i[1].nodes;i.forEach(function(k){g(k.data.type)})}}}if(h==1){b.waiting=true;b.download({"$modelValue":i[1]}).then(function(){filterFunctions.authParams(b,a,c)});return}});c.nodes_cond.forEach(function(h){if(!f&&e.indexOf(h.id)==-1){h.show=false}else{h.show=true}})})}}; \ No newline at end of file diff --git a/lemonldap-ng-manager/site/static/js/manager.js b/lemonldap-ng-manager/site/static/js/manager.js index 98347e547..f43458bca 100644 --- a/lemonldap-ng-manager/site/static/js/manager.js +++ b/lemonldap-ng-manager/site/static/js/manager.js @@ -351,7 +351,7 @@ This file contains: $scope.newCmbMod = function() { var node; node = $scope._findContainer(); - return node.nodes.push({ + node.nodes.push({ id: node.id + "/n" + (id++), title: 'new', type: 'cmbModule', @@ -361,6 +361,7 @@ This file contains: over: [] } }); + return $scope.execFilters($scope._findScopeByKey('authParams')); }; $scope.newCmbOver = function() { var d; diff --git a/lemonldap-ng-manager/site/static/js/manager.min.js b/lemonldap-ng-manager/site/static/js/manager.min.js index b2dc2234d..0d5522a57 100644 --- a/lemonldap-ng-manager/site/static/js/manager.min.js +++ b/lemonldap-ng-manager/site/static/js/manager.min.js @@ -1 +1 @@ -(function(){var a;a=angular.module("llngManager",["ui.tree","ui.bootstrap","llApp","ngCookies"]);a.controller("TreeCtrl",["$scope","$http","$location","$q","$uibModal","$translator","$cookies","$htmlParams",function(q,m,i,j,f,e,g,r){var h,d,p,o,l,b,k,s,n;q.links=window.links;q.menu=r.menu;q.menulinks=window.menulinks;q.staticPrefix=window.staticPrefix;q.formPrefix=window.formPrefix;q.availableLanguages=window.availableLanguages;q.waiting=true;q.showM=false;q.showT=false;q.form="home";q.currentCfg={};q.confPrefix=window.confPrefix;q.message={};q.result="";q.translateTitle=function(c){return e.translateField(c,"title")};q.translateP=e.translateP;q.translate=e.translate;q.helpUrl="start.html#configuration";q.setShowHelp=function(t){var c;if(t==null){t=!q.showH}q.showH=t;c=new Date(Date.now());c.setFullYear(c.getFullYear()+1);return g.put("showhelp",(t?"true":"false"),{expires:c})};q.showH=g.get("showhelp")==="false"?false:true;if(q.showH==null){q.setShowHelp(true)}s=function(c){var u,t;u=c.status;t=c.statusLine;q.waiting=false;if(u===403){q.message={title:"forbidden",message:"",items:[]}}else{if(u===401){console.log("Authentication needed");q.message={title:"authenticationNeeded",message:"__waitOrF5__",items:[]}}else{if(u===400){q.message={title:"badRequest",message:t,items:[]}}else{if(u>0){q.message={title:"badRequest",message:t,items:[]}}else{q.message={title:"networkProblem",message:"",items:[]}}}}}return q.showModal("message.html")};q.showModal=function(t,v){var u,c;c=f.open({templateUrl:t,controller:"ModalInstanceCtrl",size:"lg",resolve:{elem:function(){return function(w){return q[w]}},set:function(){return function(x,w){return q[x]=w}},init:function(){return v}}});u=j.defer();c.result.then(function(w){q.message={title:"",message:"",items:[]};return u.resolve(w)},function(w){q.message={title:"",message:"",items:[]};return u.reject(w)});return u.promise};q.menuClick=function(c){if(c.popup){window.open(c.popup)}else{if(!c.action){c.action=c.title}switch(typeof c.action){case"function":c.action(q.currentNode,q);break;case"string":q[c.action]();break;default:console.log(typeof c.action)}}return q.showM=false};q.home=function(){q.form="home";return q.showM=false};h=function(t){var c;q.message={title:"",message:"",items:[]};if(t.message==="__needConfirmation__"){q.confirmNeeded=true}if(t.message){q.message.message=t.message}if(t.details){for(c in t.details){if(c!=="__changes__"){q.message.items.push({message:c,items:t.details[c]})}}}q.waiting=false;if(t.result===1){i.path("/confs/");q.message.title="successfullySaved"}else{q.message.title="saveReport"}return q.showModal("message.html")};q.downlaodConf=function(u,t){return window.open(t.confPrefix+t.currentCfg.cfgNum+"?full")};q.save=function(){q.showModal("save.html").then(function(){q.waiting=true;q.data.push({id:"cfgLog",title:"cfgLog",data:q.result?q.result:""});return m.post(window.confPrefix+"?cfgNum="+q.currentCfg.cfgNum+(q.forceSave?"&force=1":""),q.data).then(function(c){q.data.pop();return h(c.data)},function(c){s(c);return q.data.pop()})},function(){return console.log("Saving canceled")});return q.showM=false};q.saveRawConf=function(c){q.waiting=true;return m.post(window.confPrefix+"/raw",c).then(function(t){return h(t.data)},s)};q.restore=function(){q.currentNode=null;return q.form="restore"};q.cancel=function(){q.currentNode.data=null;return q.getKey(q.currentNode)};b=1;q._findContainer=function(){return q._findScopeContainer().$modelValue};q._findScopeContainer=function(){var c;c=q.currentScope;while(!c.$modelValue.type.match(/Container$/)){c=c.$parentNodeScope}return c};q._findScopeByKey=function(c){var t;t=q.currentScope;while(!(t.$modelValue.title===c)){t=t.$parentNodeScope}return t};q.newGrantRule=function(){var c,u,t;t=q._findContainer();c=t.nodes.length;u=c>0?c-1:0;return t.nodes.splice(u,0,{id:t.id+"/n"+(b++),title:"New rule",re:"1",comment:"New rule",data:"Message",type:"grant"})};q.newRule=function(){var c,u,t;t=q._findContainer();c=t.nodes.length;u=c>0?c-1:0;return t.nodes.splice(u,0,{id:t.id+"/n"+(b++),title:"New rule",re:"^/new",comment:"New rule",data:"accept",type:"rule"})};q.newPost=function(){var c;c=q._findContainer();return c.nodes.push({id:c.id+"/n"+(b++),title:"/absolute/path/to/form",data:{},type:"post"})};q.newPostVar=function(){if(q.currentNode.data.vars==null){q.currentNode.data.vars=[]}return q.currentNode.data.vars.push(["var1","$uid"])};q.newAuthChoice=function(){var c;c=q._findContainer();c.nodes.push({id:c.id+"/n"+(b++),title:"1_Key",data:["Null","Null","Null"],type:"authChoice"});return q.execFilters(q._findScopeByKey("authParams"))};q.newHashEntry=function(){var c;c=q._findContainer();return c.nodes.push({id:c.id+"/n"+(b++),title:"new",data:"",type:"keyText"})};q.newCat=function(){var c;c=q.currentScope;if(c.$modelValue.type==="menuApp"){c=c.$parentNodeScope}return c.$modelValue.nodes.push({id:c.$modelValue.id+"/n"+(b++),title:"New category",type:"menuCat",nodes:[]})};q.newApp=function(){var c;c=q.currentScope;if(c.$modelValue.type==="menuApp"){c=c.$parentNodeScope}return c.$modelValue.nodes.push({id:c.$modelValue.id+"/n"+(b++),title:"New application",type:"menuApp",data:{description:"New app description",uri:"https://test.example.com/",logo:"network.png",display:"auto"}})};q.newCmbMod=function(){var c;c=q._findContainer();return c.nodes.push({id:c.id+"/n"+(b++),title:"new",type:"cmbModule",data:{type:"LDAP","for":0,over:[]}})};q.newCmbOver=function(){var c;c=q.currentNode.data;if(!c.over){c.over=[]}return c.over.push(["new"+(b++),""])};q.addHost=function(t,c){if(!t.data){t.data=[]}return t.data.push({k:"newHost",h:[{k:"key",v:"uid"}]})};q.addSamlAttribute=function(){var c;c=q._findContainer();return c.nodes.push({id:c.id+"/n"+(b++),title:"new",type:"samlAttribute",data:[0,"New","",""]})};q.addVhost=function(){var c;c=q.domain?"."+q.domain.data:".example.com";q.message={title:"virtualHostName",field:"hostname"};return q.showModal("prompt.html",c).then(function(){var u,t;u=q.result;if(u){t=q.addTemplateNode(u,"virtualHost");delete t.nodes[0].cnodes;return t.nodes[0].nodes=[{id:"virtualHosts/new__"+u+"/locationRules/default",type:"rule",title:"default",comment:"",re:"default",data:"deny"}]}})};q.duplicateVhost=function(){var c;c=q.domain?"."+q.domain.data:".example.com";q.message={title:"virtualHostName",field:"hostname"};return q.showModal("prompt.html",c).then(function(){var t;t=q.result;return q.duplicateNode(t,"virtualHost",q.currentNode.title)})};q.addSamlIDP=function(){return q.newTemplateNode("samlIDPMetaDataNode","samlPartnerName","idp-example")};q.addSamlSP=function(){return q.newTemplateNode("samlSPMetaDataNode","samlPartnerName","sp-example")};q.addOidcOp=function(){return q.newTemplateNode("oidcOPMetaDataNode","oidcOPName","op-example")};q.addOidcRp=function(){return q.newTemplateNode("oidcRPMetaDataNode","oidcRPName","rp-example")};q.newTemplateNode=function(c,u,t){q.message={title:u,field:"name"};return q.showModal("prompt.html",t).then(function(){var v;v=q.result;if(v){return q.addTemplateNode(v,c)}})};q.addTemplateNode=function(c,w){var v,u;v=q.currentScope;while(v.$modelValue.title!==(w+"s")){v=v.$parentNodeScope}u={id:w+"s/new__"+c,title:c,type:w,nodes:templates(w,"new__"+c)};v.$modelValue.nodes.push(u);v.expand();return u};p=function(t){var u,c;u=j.defer();c=j.defer();if(t._nodes){o(t);u.resolve()}else{if(t.cnodes){d(t).then(function(){return u.resolve()})}else{if(t.nodes||t.data){u.resolve()}else{q.getKey(t).then(function(){return u.resolve()})}}}u.promise.then(function(){var v,z,y,x,w;w=[];if(t.nodes){x=t.nodes;for(y=0,v=x.length;y0){t=x.nodes[w];x.nodes[w]=x.nodes[w-1];x.nodes[w-1]=t}return w};q.inSelect=function(u){var c,w,v,t;t=q.currentNode.select;for(v=0,c=t.length;v0?c.comment:c.re};q.filters={};q.execFilters=function(t){var c,v,u;t=t?t:q;u=q.filters;for(c in u){v=u[c];if(q.filters.hasOwnProperty(c)){return filterFunctions[c](t,j,v)}}return false};q.stoggle=function(c){var t;t=c.$modelValue;o(t);return c.toggle()};o=function(x){var D,B,z,y,w,u,t,c,v,C,A;v=["nodes","nodes_cond"];for(u=0,B=v.length;u0){q.message={title:"badRequest",message:t,items:[]}}else{q.message={title:"networkProblem",message:"",items:[]}}}}}return q.showModal("message.html")};q.showModal=function(t,v){var u,c;c=f.open({templateUrl:t,controller:"ModalInstanceCtrl",size:"lg",resolve:{elem:function(){return function(w){return q[w]}},set:function(){return function(x,w){return q[x]=w}},init:function(){return v}}});u=j.defer();c.result.then(function(w){q.message={title:"",message:"",items:[]};return u.resolve(w)},function(w){q.message={title:"",message:"",items:[]};return u.reject(w)});return u.promise};q.menuClick=function(c){if(c.popup){window.open(c.popup)}else{if(!c.action){c.action=c.title}switch(typeof c.action){case"function":c.action(q.currentNode,q);break;case"string":q[c.action]();break;default:console.log(typeof c.action)}}return q.showM=false};q.home=function(){q.form="home";return q.showM=false};h=function(t){var c;q.message={title:"",message:"",items:[]};if(t.message==="__needConfirmation__"){q.confirmNeeded=true}if(t.message){q.message.message=t.message}if(t.details){for(c in t.details){if(c!=="__changes__"){q.message.items.push({message:c,items:t.details[c]})}}}q.waiting=false;if(t.result===1){i.path("/confs/");q.message.title="successfullySaved"}else{q.message.title="saveReport"}return q.showModal("message.html")};q.downlaodConf=function(u,t){return window.open(t.confPrefix+t.currentCfg.cfgNum+"?full")};q.save=function(){q.showModal("save.html").then(function(){q.waiting=true;q.data.push({id:"cfgLog",title:"cfgLog",data:q.result?q.result:""});return m.post(window.confPrefix+"?cfgNum="+q.currentCfg.cfgNum+(q.forceSave?"&force=1":""),q.data).then(function(c){q.data.pop();return h(c.data)},function(c){s(c);return q.data.pop()})},function(){return console.log("Saving canceled")});return q.showM=false};q.saveRawConf=function(c){q.waiting=true;return m.post(window.confPrefix+"/raw",c).then(function(t){return h(t.data)},s)};q.restore=function(){q.currentNode=null;return q.form="restore"};q.cancel=function(){q.currentNode.data=null;return q.getKey(q.currentNode)};b=1;q._findContainer=function(){return q._findScopeContainer().$modelValue};q._findScopeContainer=function(){var c;c=q.currentScope;while(!c.$modelValue.type.match(/Container$/)){c=c.$parentNodeScope}return c};q._findScopeByKey=function(c){var t;t=q.currentScope;while(!(t.$modelValue.title===c)){t=t.$parentNodeScope}return t};q.newGrantRule=function(){var c,u,t;t=q._findContainer();c=t.nodes.length;u=c>0?c-1:0;return t.nodes.splice(u,0,{id:t.id+"/n"+(b++),title:"New rule",re:"1",comment:"New rule",data:"Message",type:"grant"})};q.newRule=function(){var c,u,t;t=q._findContainer();c=t.nodes.length;u=c>0?c-1:0;return t.nodes.splice(u,0,{id:t.id+"/n"+(b++),title:"New rule",re:"^/new",comment:"New rule",data:"accept",type:"rule"})};q.newPost=function(){var c;c=q._findContainer();return c.nodes.push({id:c.id+"/n"+(b++),title:"/absolute/path/to/form",data:{},type:"post"})};q.newPostVar=function(){if(q.currentNode.data.vars==null){q.currentNode.data.vars=[]}return q.currentNode.data.vars.push(["var1","$uid"])};q.newAuthChoice=function(){var c;c=q._findContainer();c.nodes.push({id:c.id+"/n"+(b++),title:"1_Key",data:["Null","Null","Null"],type:"authChoice"});return q.execFilters(q._findScopeByKey("authParams"))};q.newHashEntry=function(){var c;c=q._findContainer();return c.nodes.push({id:c.id+"/n"+(b++),title:"new",data:"",type:"keyText"})};q.newCat=function(){var c;c=q.currentScope;if(c.$modelValue.type==="menuApp"){c=c.$parentNodeScope}return c.$modelValue.nodes.push({id:c.$modelValue.id+"/n"+(b++),title:"New category",type:"menuCat",nodes:[]})};q.newApp=function(){var c;c=q.currentScope;if(c.$modelValue.type==="menuApp"){c=c.$parentNodeScope}return c.$modelValue.nodes.push({id:c.$modelValue.id+"/n"+(b++),title:"New application",type:"menuApp",data:{description:"New app description",uri:"https://test.example.com/",logo:"network.png",display:"auto"}})};q.newCmbMod=function(){var c;c=q._findContainer();c.nodes.push({id:c.id+"/n"+(b++),title:"new",type:"cmbModule",data:{type:"LDAP","for":0,over:[]}});return q.execFilters(q._findScopeByKey("authParams"))};q.newCmbOver=function(){var c;c=q.currentNode.data;if(!c.over){c.over=[]}return c.over.push(["new"+(b++),""])};q.addHost=function(t,c){if(!t.data){t.data=[]}return t.data.push({k:"newHost",h:[{k:"key",v:"uid"}]})};q.addSamlAttribute=function(){var c;c=q._findContainer();return c.nodes.push({id:c.id+"/n"+(b++),title:"new",type:"samlAttribute",data:[0,"New","",""]})};q.addVhost=function(){var c;c=q.domain?"."+q.domain.data:".example.com";q.message={title:"virtualHostName",field:"hostname"};return q.showModal("prompt.html",c).then(function(){var u,t;u=q.result;if(u){t=q.addTemplateNode(u,"virtualHost");delete t.nodes[0].cnodes;return t.nodes[0].nodes=[{id:"virtualHosts/new__"+u+"/locationRules/default",type:"rule",title:"default",comment:"",re:"default",data:"deny"}]}})};q.duplicateVhost=function(){var c;c=q.domain?"."+q.domain.data:".example.com";q.message={title:"virtualHostName",field:"hostname"};return q.showModal("prompt.html",c).then(function(){var t;t=q.result;return q.duplicateNode(t,"virtualHost",q.currentNode.title)})};q.addSamlIDP=function(){return q.newTemplateNode("samlIDPMetaDataNode","samlPartnerName","idp-example")};q.addSamlSP=function(){return q.newTemplateNode("samlSPMetaDataNode","samlPartnerName","sp-example")};q.addOidcOp=function(){return q.newTemplateNode("oidcOPMetaDataNode","oidcOPName","op-example")};q.addOidcRp=function(){return q.newTemplateNode("oidcRPMetaDataNode","oidcRPName","rp-example")};q.newTemplateNode=function(c,u,t){q.message={title:u,field:"name"};return q.showModal("prompt.html",t).then(function(){var v;v=q.result;if(v){return q.addTemplateNode(v,c)}})};q.addTemplateNode=function(c,w){var v,u;v=q.currentScope;while(v.$modelValue.title!==(w+"s")){v=v.$parentNodeScope}u={id:w+"s/new__"+c,title:c,type:w,nodes:templates(w,"new__"+c)};v.$modelValue.nodes.push(u);v.expand();return u};p=function(t){var u,c;u=j.defer();c=j.defer();if(t._nodes){o(t);u.resolve()}else{if(t.cnodes){d(t).then(function(){return u.resolve()})}else{if(t.nodes||t.data){u.resolve()}else{q.getKey(t).then(function(){return u.resolve()})}}}u.promise.then(function(){var v,z,y,x,w;w=[];if(t.nodes){x=t.nodes;for(y=0,v=x.length;y0){t=x.nodes[w];x.nodes[w]=x.nodes[w-1];x.nodes[w-1]=t}return w};q.inSelect=function(u){var c,w,v,t;t=q.currentNode.select;for(v=0,c=t.length;v0?c.comment:c.re};q.filters={};q.execFilters=function(t){var c,v,u;t=t?t:q;u=q.filters;for(c in u){v=u[c];if(q.filters.hasOwnProperty(c)){return filterFunctions[c](t,j,v)}}return false};q.stoggle=function(c){var t;t=c.$modelValue;o(t);return c.toggle()};o=function(x){var D,B,z,y,w,u,t,c,v,C,A;v=["nodes","nodes_cond"];for(u=0,B=v.length;u