From c79f3b740ecc07c75452f996ecfbea1e678fb4a5 Mon Sep 17 00:00:00 2001 From: hkernbach Date: Tue, 14 Jun 2016 19:27:55 +0200 Subject: [PATCH] grunt --- .../aardvark/APP/frontend/build/app.min.js | 18 +++++++++--------- .../aardvark/APP/frontend/build/app.min.js.gz | Bin 120960 -> 120867 bytes .../APP/frontend/build/index-min.html | 2 +- .../APP/frontend/build/index-min.html.gz | Bin 32437 -> 32443 bytes 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js b/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js index 37694ab8f3..993f7cf1ff 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js @@ -1,13 +1,13 @@ function JSONAdapter(a,b,c,d,e,f){"use strict";var g=this,h={},i={},j=new AbstractAdapter(b,c,this,d);h.range=e/2,h.start=e/4,h.getStart=function(){return this.start+Math.random()*this.range},i.range=f/2,i.start=f/4,i.getStart=function(){return this.start+Math.random()*this.range},g.loadNode=function(a,b){g.loadNodeFromTreeById(a,b)},g.loadInitialNode=function(b,c){var d=a+b+".json";j.cleanUp(),d3.json(d,function(a,d){void 0!==a&&null!==a&&console.log(a);var e=j.insertInitialNode(d);g.requestCentralityChildren(b,function(a){e._centrality=a}),_.each(d.children,function(a){var b=j.insertNode(a),c={_from:e._id,_to:b._id,_id:e._id+"-"+b._id};j.insertEdge(c),g.requestCentralityChildren(b._id,function(a){b._centrality=a}),delete b._data.children}),delete e._data.children,c&&c(e)})},g.loadNodeFromTreeById=function(b,c){var d=a+b+".json";d3.json(d,function(a,d){void 0!==a&&null!==a&&console.log(a);var e=j.insertNode(d);g.requestCentralityChildren(b,function(a){e._centrality=a}),_.each(d.children,function(a){var b=j.insertNode(a),c={_from:e._id,_to:b._id,_id:e._id+"-"+b._id};j.insertEdge(c),g.requestCentralityChildren(b._id,function(a){e._centrality=a}),delete b._data.children}),delete e._data.children,c&&c(e)})},g.requestCentralityChildren=function(b,c){var d=a+b+".json";d3.json(d,function(a,b){void 0!==a&&null!==a&&console.log(a),void 0!==c&&c(void 0!==b.children?b.children.length:0)})},g.loadNodeFromTreeByAttributeValue=function(a,b,c){throw"Sorry this adapter is read-only"},g.loadInitialNodeByAttributeValue=function(a,b,c){throw"Sorry this adapter is read-only"},g.createEdge=function(a,b){throw"Sorry this adapter is read-only"},g.deleteEdge=function(a,b){throw"Sorry this adapter is read-only"},g.patchEdge=function(a,b,c){throw"Sorry this adapter is read-only"},g.createNode=function(a,b){throw"Sorry this adapter is read-only"},g.deleteNode=function(a,b){throw"Sorry this adapter is read-only"},g.patchNode=function(a,b,c){throw"Sorry this adapter is read-only"},g.setNodeLimit=function(a,b){},g.setChildLimit=function(a){},g.expandCommunity=function(a,b){},g.setWidth=function(){},g.explore=j.explore}function AbstractAdapter(a,b,c,d,e){"use strict";if(void 0===a)throw"The nodes have to be given.";if(void 0===b)throw"The edges have to be given.";if(void 0===c)throw"An inheriting class has to be given.";if(void 0===d)throw"A reference to the graph viewer has to be given.";e=e||{};var f,g,h,i,j,k=this,l=!1,m={},n={},o={},p={},q=0,r={},s={},t=function(a){void 0!==a.prioList&&g.changePrioList(a.prioList||[])},u=function(a){m.range=a/2,m.start=a/4,m.getStart=function(){return this.start+Math.random()*this.range}},v=function(a){n.range=a/2,n.start=a/4,n.getStart=function(){return this.start+Math.random()*this.range}},w=function(b){var c=p[b]||b,d=$.grep(a,function(a){return a._id===c});if(0===d.length)return!1;if(1===d.length)return d[0];throw"Too many nodes with the same ID, should never happen"},x=function(a){var c=$.grep(b,function(b){return b._id===a});if(0===c.length)return!1;if(1===c.length)return c[0];throw"Too many edges with the same ID, should never happen"},y=function(b,c,d){var e={_data:b,_id:b._id},f=w(e._id);return f?f:(e.x=c||m.getStart(),e.y=d||n.getStart(),e.weight=1,a.push(e),e._outboundCounter=0,e._inboundCounter=0,e)},z=function(a){var b=y(a);return b.x=2*m.start,b.y=2*n.start,b.fixed=!0,b},A=function(){a.length=0,b.length=0,p={},o={},d.cleanUp()},B=function(a){var c,d,e,f=!0,g={_data:a,_id:a._id},i=x(g._id);if(i)return i;if(c=w(a._from),d=w(a._to),!c)throw"Unable to insert Edge, source node not existing "+a._from;if(!d)throw"Unable to insert Edge, target node not existing "+a._to;return g.source=c,g.source._isCommunity?(e=o[g.source._id],g.source=e.getNode(a._from),g.source._outboundCounter++,e.insertOutboundEdge(g),f=!1):c._outboundCounter++,g.target=d,g.target._isCommunity?(e=o[g.target._id],g.target=e.getNode(a._to),g.target._inboundCounter++,e.insertInboundEdge(g),f=!1):d._inboundCounter++,b.push(g),f&&h.call("insertEdge",c._id,d._id),g},C=function(b){var c;for(c=0;c0){var c,d=[];for(c=0;cf&&(c?c.collapse():K(b))},M=function(c){var d=c.getDissolveInfo(),e=d.nodes,g=d.edges.both,i=d.edges.inbound,j=d.edges.outbound;C(c),fi){var b=g.bucketNodes(_.values(a),i);_.each(b,function(a){if(a.nodes.length>1){var b=_.map(a.nodes,function(a){return a._id});I(b,a.reason)}})}},P=function(a,b){f=a,L(),void 0!==b&&b()},Q=function(a){i=a},R=function(a,b){a._expanded=!1;var c=b.removeOutboundEdgesFromNode(a);_.each(c,function(a){j(a),E(a,!0)})},S=function(a){a._expanded=!1,p[a._id]&&o[p[a._id]].collapseNode(a);var b=H(a),c=[];_.each(b,function(b){0===q?(r=b,s=a,c.push(b)):void 0!==a&&(a._id===r.target._id?b.target._id===s._id&&c.push(r):c.push(b),r=b,s=a),q++}),_.each(c,j),q=0},T=function(a){var b=a.getDissolveInfo();C(a),_.each(b.nodes,function(a){delete p[a._id]}),_.each(b.edges.outbound,function(a){j(a),E(a,!0)}),delete o[a._id]},U=function(a,b){a._isCommunity?k.expandCommunity(a,b):(a._expanded=!0,c.loadNode(a._id,b))},V=function(a,b){a._expanded?S(a):U(a,b)};j=function(a){var b,c=a.target;return c._isCommunity?(b=a._target,c.removeInboundEdge(a),b._inboundCounter--,0===b._inboundCounter&&(R(b,c),c.removeNode(b),delete p[b._id]),void(0===c._inboundCounter&&T(c))):(c._inboundCounter--,void(0===c._inboundCounter&&(S(c),C(c))))},i=Number.POSITIVE_INFINITY,g=e.prioList?new NodeReducer(e.prioList):new NodeReducer,h=new WebWorkerWrapper(ModularityJoiner,J),m.getStart=function(){return 0},n.getStart=function(){return 0},this.cleanUp=A,this.setWidth=u,this.setHeight=v,this.insertNode=y,this.insertInitialNode=z,this.insertEdge=B,this.removeNode=C,this.removeEdge=E,this.removeEdgesForNode=F,this.expandCommunity=N,this.setNodeLimit=P,this.setChildLimit=Q,this.checkSizeOfInserted=O,this.checkNodeLimit=L,this.explore=V,this.changeTo=t,this.getPrioList=g.getPrioList,this.dissolveCommunity=M}function ArangoAdapter(a,b,c,d){"use strict";if(void 0===a)throw"The nodes have to be given.";if(void 0===b)throw"The edges have to be given.";if(void 0===c)throw"A reference to the graph viewer has to be given.";if(void 0===d)throw"A configuration with node- and edgeCollection has to be given.";if(void 0===d.graph){if(void 0===d.nodeCollection)throw"The nodeCollection or a graphname has to be given.";if(void 0===d.edgeCollection)throw"The edgeCollection or a graphname has to be given."}var e,f,g,h,i,j=this,k={},l={},m={},n=function(a){h=a},o=function(a){f=a,l.node=l.base+"document?collection="+f},p=function(a){g=a,l.edge=l.base+"edge?collection="+g},q=function(a){$.ajax({cache:!1,type:"GET",async:!1,url:l.graph+"/"+a,contentType:"application/json",success:function(a){o(a.graph.vertices),p(a.graph.edges)}})},r=function(a){console.log(a.baseUrl);var b=a.baseUrl||"";void 0!==a.width&&e.setWidth(a.width),void 0!==a.height&&e.setHeight(a.height),i=void 0!==a.undirected&&a.undirected===!0?"any":"outbound",l.base=b+"_api/",l.cursor=l.base+"cursor",l.graph=l.base+"graph",l.collection=l.base+"collection/",l.document=l.base+"document/",l.any=l.base+"simple/any",a.graph?(q(a.graph),n(a.graph)):(o(a.nodeCollection),p(a.edgeCollection),n(void 0))},s=function(a,b,c){a!==m.getAllGraphs&&(a!==m.connectedEdges&&(b["@nodes"]=f,a!==m.childrenCentrality&&(b.dir=i)),b["@edges"]=g);var d={query:a,bindVars:b};$.ajax({type:"POST",url:l.cursor,data:JSON.stringify(d),contentType:"application/json",dataType:"json",processData:!1,success:function(a){c(a.result)},error:function(a){try{throw console.log(a.statusText),"["+a.errorNum+"] "+a.errorMessage}catch(b){throw"Undefined ERROR"}}})},t=function(a,b){var c=[],d=0,e=function(d){c.push(d.document||{}),c.length===a&&b(c)};for(d=0;a>d;d++)$.ajax({cache:!1,type:"PUT",url:l.any,data:JSON.stringify({collection:f}),contentType:"application/json",success:e})},u=function(b,c){if(0===b.length)return void(c&&c({errorCode:404}));b=b[0];var d={},f=e.insertNode(b[0].vertex),g=a.length;_.each(b,function(b){var c=e.insertNode(b.vertex),f=b.path;g=2&&$.ajax({cache:!1,type:"GET",url:l.collection,contentType:"application/json",dataType:"json",processData:!1,success:function(b){var c=b.collections,d=[],e=[];_.each(c,function(a){a.name.match(/^_/)||(3===a.type?e.push(a.name):2===a.type&&d.push(a.name))}),a(d,e)},error:function(a){throw a.statusText}})},j.getGraphs=function(a){a&&a.length>=1&&s(m.getAllGraphs,{},a)},j.getAttributeExamples=function(a){a&&a.length>=1&&t(10,function(b){var c=_.sortBy(_.uniq(_.flatten(_.map(b,function(a){return _.keys(a)}))),function(a){return a.toLowerCase()});a(c)})},j.getNodeCollection=function(){return f},j.getEdgeCollection=function(){return g},j.getDirection=function(){return i},j.getGraphName=function(){return h},j.setWidth=e.setWidth,j.changeTo=e.changeTo,j.getPrioList=e.getPrioList}function ColourMapper(){"use strict";var a,b={},c={},d=[],e=this,f=0;d.push({back:"#C8E6C9",front:"black"}),d.push({back:"#8aa249",front:"white"}),d.push({back:"#8BC34A",front:"black"}),d.push({back:"#388E3C",front:"white"}),d.push({back:"#4CAF50",front:"white"}),d.push({back:"#212121",front:"white"}),d.push({back:"#727272",front:"white"}),d.push({back:"#B6B6B6",front:"black"}),d.push({back:"#e5f0a3",front:"black"}),d.push({back:"#6c4313",front:"white"}),d.push({back:"#9d8564",front:"white"}),this.getColour=function(g){return void 0===b[g]&&(b[g]=d[f],void 0===c[d[f].back]&&(c[d[f].back]={front:d[f].front,list:[]}),c[d[f].back].list.push(g),f++,f===d.length&&(f=0)),void 0!==a&&a(e.getList()),b[g].back},this.getCommunityColour=function(){return"#333333"},this.getForegroundColour=function(g){return void 0===b[g]&&(b[g]=d[f],void 0===c[d[f].back]&&(c[d[f].back]={front:d[f].front,list:[]}),c[d[f].back].list.push(g),f++,f===d.length&&(f=0)),void 0!==a&&a(e.getList()),b[g].front},this.getForegroundCommunityColour=function(){return"white"},this.reset=function(){b={},c={},f=0,void 0!==a&&a(e.getList())},this.getList=function(){return c},this.setChangeListener=function(b){a=b},this.reset()}function CommunityNode(a,b){"use strict";if(_.isUndefined(a)||!_.isFunction(a.dissolveCommunity)||!_.isFunction(a.checkNodeLimit))throw"A parent element has to be given.";b=b||[];var c,d,e,f,g,h=this,i={},j=[],k=[],l={},m={},n={},o={},p=function(a){return h._expanded?2*a*Math.sqrt(j.length):a},q=function(a){return h._expanded?4*a*Math.sqrt(j.length):a},r=function(a){var b=h.position,c=a.x*b.z+b.x,d=a.y*b.z+b.y,e=a.z*b.z;return{x:c,y:d,z:e}},s=function(a){return h._expanded?r(a._source.position):h.position},t=function(a){return h._expanded?r(a._target.position):h.position},u=function(){var a=document.getElementById(h._id).getBBox();c.attr("transform","translate("+(a.x-5)+","+(a.y-25)+")"),d.attr("width",a.width+10).attr("height",a.height+30),e.attr("width",a.width+10)},v=function(){if(!f){var a=new DomObserverFactory;f=a.createObserver(function(a){_.any(a,function(a){return"transform"===a.attributeName})&&(u(),f.disconnect())})}return f},w=function(){g.stop(),j.length=0,_.each(i,function(a){j.push(a)}),g.start()},x=function(){g.stop(),k.length=0,_.each(l,function(a){k.push(a)}),g.start()},y=function(a){var b=[];return _.each(a,function(a){b.push(a)}),b},z=function(a){return!!i[a]},A=function(){return j},B=function(a){return i[a]},C=function(a){i[a._id]=a,w(),h._size++},D=function(a){_.each(a,function(a){i[a._id]=a,h._size++}),w()},E=function(a){var b=a._id||a;delete i[b],w(),h._size--},F=function(a){var b;return _.has(a,"_id")?b=a._id:(b=a,a=l[b]||m[b]),a.target=a._target,delete a._target,l[b]?(delete l[b],h._outboundCounter++,n[b]=a,void x()):(delete m[b],void h._inboundCounter--)},G=function(a){var b;return _.has(a,"_id")?b=a._id:(b=a,a=l[b]||n[b]),a.source=a._source,delete a._source,delete o[a.source._id][b],l[b]?(delete l[b],h._inboundCounter++,m[b]=a,void x()):(delete n[b],void h._outboundCounter--)},H=function(a){var b=a._id||a,c=[];return _.each(o[b],function(a){G(a),c.push(a)}),delete o[b],c},I=function(a){return a._target=a.target,a.target=h,n[a._id]?(delete n[a._id],h._outboundCounter--,l[a._id]=a,x(),!0):(m[a._id]=a,h._inboundCounter++,!1)},J=function(a){var b=a.source._id;return a._source=a.source,a.source=h,o[b]=o[b]||{},o[b][a._id]=a,m[a._id]?(delete m[a._id],h._inboundCounter--,l[a._id]=a,x(),!0):(h._outboundCounter++,n[a._id]=a,!1)},K=function(){return{nodes:j,edges:{both:k,inbound:y(m),outbound:y(n)}}},L=function(){this._expanded=!0},M=function(){a.dissolveCommunity(h)},N=function(){this._expanded=!1},O=function(a,b){var c=a.select("rect").attr("width"),d=a.append("text").attr("text-anchor","middle").attr("fill",b.getForegroundCommunityColour()).attr("stroke","none");c*=2,c/=3,h._reason&&h._reason.key&&(d.append("tspan").attr("x","0").attr("dy","-4").text(h._reason.key+":"),d.append("tspan").attr("x","0").attr("dy","16").text(h._reason.value)),d.append("tspan").attr("x",c).attr("y","0").attr("fill",b.getCommunityColour()).text(h._size)},P=function(b,c,d,e){var f=b.append("g").attr("stroke",e.getForegroundCommunityColour()).attr("fill",e.getCommunityColour());c(f,9),c(f,6),c(f,3),c(f),f.on("click",function(){h.expand(),a.checkNodeLimit(h),d()}),O(f,e)},Q=function(a,b){var c=a.selectAll(".node").data(j,function(a){return a._id});c.enter().append("g").attr("class","node").attr("id",function(a){return a._id}),c.exit().remove(),c.selectAll("* > *").remove(),b(c)},R=function(a,b){c=a.append("g"),d=c.append("rect").attr("rx","8").attr("ry","8").attr("fill","none").attr("stroke","black"),e=c.append("rect").attr("rx","8").attr("ry","8").attr("height","20").attr("fill","#686766").attr("stroke","none"),c.append("image").attr("id",h._id+"_dissolve").attr("xlink:href","img/icon_delete.png").attr("width","16").attr("height","16").attr("x","5").attr("y","2").attr("style","cursor:pointer").on("click",function(){h.dissolve(),b()}),c.append("image").attr("id",h._id+"_collapse").attr("xlink:href","img/gv_collapse.png").attr("width","16").attr("height","16").attr("x","25").attr("y","2").attr("style","cursor:pointer").on("click",function(){h.collapse(),b()});var f=c.append("text").attr("x","45").attr("y","15").attr("fill","white").attr("stroke","none").attr("text-anchor","left");h._reason&&f.text(h._reason.text),v().observe(document.getElementById(h._id),{subtree:!0,attributes:!0})},S=function(a){if(h._expanded){var b=a.focus(),c=[b[0]-h.position.x,b[1]-h.position.y];a.focus(c),_.each(j,function(b){b.position=a(b),b.position.x/=h.position.z,b.position.y/=h.position.z,b.position.z/=h.position.z}),a.focus(b)}},T=function(a,b,c,d,e){return a.on("click",null),h._expanded?(R(a,d),void Q(a,c,d,e)):void P(a,b,d,e)},U=function(a,b,c){if(h._expanded){var d=a.selectAll(".link"),e=d.select("line");b(e,d),c(d)}},V=function(a,b){var c,d,e=function(a){return a._id};h._expanded&&(d=a.selectAll(".link").data(k,e),d.enter().append("g").attr("class","link").attr("id",e),d.exit().remove(),d.selectAll("* > *").remove(),c=d.append("line"),b(c,d))},W=function(a){H(a)};g=new ForceLayouter({distance:100,gravity:.1,charge:-500,width:1,height:1,nodes:j,links:k}),this._id="*community_"+Math.floor(1e6*Math.random()),b.length>0?(this.x=b[0].x,this.y=b[0].y):(this.x=0,this.y=0),this._size=0,this._inboundCounter=0,this._outboundCounter=0,this._expanded=!1,this._isCommunity=!0,D(b),this.hasNode=z,this.getNodes=A,this.getNode=B,this.getDistance=p,this.getCharge=q,this.insertNode=C,this.insertInboundEdge=I,this.insertOutboundEdge=J,this.removeNode=E,this.removeInboundEdge=F,this.removeOutboundEdge=G,this.removeOutboundEdgesFromNode=H,this.collapseNode=W,this.dissolve=M,this.getDissolveInfo=K,this.collapse=N,this.expand=L,this.shapeNodes=T,this.shapeInnerEdges=V,this.updateInnerEdges=U,this.addDistortion=S,this.getSourcePosition=s,this.getTargetPosition=t}function DomObserverFactory(){"use strict";var a=window.WebKitMutationObserver||window.MutationObserver;this.createObserver=function(b){if(!a)throw"Observer not supported";return new a(b)}}function EdgeShaper(a,b,c){"use strict";var d,e,f,g=this,h=[],i={},j=new ContextMenu("gv_edge_cm"),k=function(a,b){return _.isArray(a)?b[_.find(a,function(a){return b[a]})]:b[a]},l=function(a){if(void 0===a)return[""];"string"!=typeof a&&(a=String(a));var b=a.match(/[\w\W]{1,10}(\s|$)|\S+?(\s|$)/g);return b[0]=$.trim(b[0]),b[1]=$.trim(b[1]),b[0].length>12&&(b[0]=$.trim(a.substring(0,10))+"-",b[1]=$.trim(a.substring(10)),b[1].length>12&&(b[1]=b[1].split(/\W/)[0],b[1].length>12&&(b[1]=b[1].substring(0,10)+"...")),b.length=2),b.length>2&&(b.length=2,b[1]+="..."),b},m=!0,n={},o=function(a){return a._id},p=function(a,b){},q=new ColourMapper,r=function(){q.reset()},s=p,t=p,u=p,v=p,w=function(){f={click:p,dblclick:p,mousedown:p,mouseup:p,mousemove:p,mouseout:p,mouseover:p}},x=function(a,b){return 180*Math.atan2(b.y-a.y,b.x-a.x)/Math.PI},y=function(a,b){var c,d=Math.sqrt((b.y-a.y)*(b.y-a.y)+(b.x-a.x)*(b.x-a.x));return a.x===b.x?d-=18*b.z:(c=Math.abs((b.y-a.y)/(b.x-a.x)),d-=.4>c?Math.abs(d*b.z*45/(b.x-a.x)):Math.abs(d*b.z*18/(b.y-a.y))),d},z=function(a,b){_.each(f,function(a,c){b.on(c,a)})},A=function(a,b){if("update"===a)s=b;else{if(void 0===f[a])throw"Sorry Unknown Event "+a+" cannot be bound.";f[a]=b}},B=function(a){var b,c,d,e;return d=a.source,e=a.target,d._isCommunity?(i[d._id]=d,b=d.getSourcePosition(a)):b=d.position,e._isCommunity?(i[e._id]=e,c=e.getTargetPosition(a)):c=e.position,{s:b,t:c}},C=function(a,b){i={},b.attr("transform",function(a){var b=B(a);return"translate("+b.s.x+", "+b.s.y+")rotate("+x(b.s,b.t)+")"}),a.attr("x2",function(a){var b=B(a);return y(b.s,b.t)})},D=function(a,b){t(a,b),m&&u(a,b),v(a,b),z(a,b),C(a,b)},E=function(a){void 0!==a&&(h=a);var b,c=g.parent.selectAll(".link").data(h,o);c.enter().append("g").attr("class","link").attr("id",o),c.exit().remove(),c.selectAll("* > *").remove(),b=c.append("line"),D(b,c),_.each(i,function(a){a.shapeInnerEdges(d3.select(this),D)}),j.bindMenu($(".link"))},F=function(){var a=g.parent.selectAll(".link"),b=a.select("line");C(b,a),s(a),_.each(i,function(a){a.updateInnerEdges(d3.select(this),C,s)})},G=function(a){switch($("svg defs marker#arrow").remove(),a.type){case EdgeShaper.shapes.NONE:t=p;break;case EdgeShaper.shapes.ARROW:t=function(a,b){a.attr("marker-end","url(#arrow)")},0===d.selectAll("defs")[0].length&&d.append("defs"),d.select("defs").append("marker").attr("id","arrow").attr("refX","10").attr("refY","5").attr("markerUnits","strokeWidth").attr("markerHeight","10").attr("markerWidth","10").attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z");break;default:throw"Sorry given Shape not known!"}},H=function(a){u=_.isFunction(a)?function(b,c){c.append("text").attr("text-anchor","middle").text(a)}:function(b,c){c.append("text").attr("text-anchor","middle").text(function(b){var c=l(k(a,b._data));return c[0]||""})},s=function(a){a.select("text").attr("transform",function(a){var b=B(a);return"translate("+y(b.s,b.t)/2+", -3)"})}},I=function(a){void 0!==a.reset&&a.reset&&w(),_.each(a,function(a,b){"reset"!==b&&A(b,a)})},J=function(a){switch($("svg defs #gradientEdgeColor").remove(),r(),a.type){case"single":v=function(b,c){b.attr("stroke",a.stroke)};break;case"gradient":0===d.selectAll("defs")[0].length&&d.append("defs");var b=d.select("defs").append("linearGradient").attr("id","gradientEdgeColor");b.append("stop").attr("offset","0").attr("stop-color",a.source),b.append("stop").attr("offset","0.4").attr("stop-color",a.source),b.append("stop").attr("offset","0.6").attr("stop-color",a.target),b.append("stop").attr("offset","1").attr("stop-color",a.target),v=function(a,b){a.attr("stroke","url(#gradientEdgeColor)"),a.attr("y2","0.0000000000000001")};break;case"attribute":v=function(b,c){c.attr("stroke",function(b){return q.getColour(b._data[a.key])})};break;default:throw"Sorry given colour-scheme not known"}},K=function(a){void 0!==a.shape&&G(a.shape),void 0!==a.label&&(H(a.label),g.label=a.label),void 0!==a.actions&&I(a.actions),void 0!==a.color&&J(a.color)};for(g.parent=a,w(),d=a;d[0][0]&&d[0][0].ownerSVGElement;)d=d3.select(d[0][0].ownerSVGElement);void 0===b&&(b={color:{type:"single",stroke:"#686766"}}),void 0===b.color&&(b.color={type:"single",stroke:"#686766"}),K(b),_.isFunction(c)&&(o=c),e=d.append("g"),g.changeTo=function(a){K(a),E(),F()},g.drawEdges=function(a){E(a),F()},g.updateEdges=function(){F()},g.reshapeEdges=function(){E()},g.activateLabel=function(a){m=a?!0:!1,E()},g.addAnEdgeFollowingTheCursor=function(a,b){return n=e.append("line"),n.attr("stroke","black").attr("id","connectionLine").attr("x1",a).attr("y1",b).attr("x2",a).attr("y2",b),function(a,b){n.attr("x2",a).attr("y2",b)}},g.removeCursorFollowingEdge=function(){n.remove&&(n.remove(),n={})},g.addMenuEntry=function(a,b){j.addEntry(a,b)},g.getLabel=function(){return g.label||""},g.resetColourMap=r}function EventDispatcher(a,b,c){"use strict";var d,e,f,g,h=this,i=function(b){if(void 0===b.shaper&&(b.shaper=a),d.checkNodeEditorConfig(b)){var c=new d.InsertNode(b),e=new d.PatchNode(b),f=new d.DeleteNode(b);h.events.CREATENODE=function(a,b,d,e){var f;return f=_.isFunction(a)?a():a,function(){c(f,b,d,e)}},h.events.PATCHNODE=function(a,b,c){if(!_.isFunction(b))throw"Please give a function to extract the new node data";return function(){e(a,b(),c)}},h.events.DELETENODE=function(a){return function(b){f(b,a)}}}},j=function(a){if(void 0===a.shaper&&(a.shaper=b),d.checkEdgeEditorConfig(a)){var c=new d.InsertEdge(a),e=new d.PatchEdge(a),f=new d.DeleteEdge(a),g=null,i=!1;h.events.STARTCREATEEDGE=function(a){return function(b){var c=d3.event||window.event;g=b,i=!1,void 0!==a&&a(b,c),c.stopPropagation()}},h.events.CANCELCREATEEDGE=function(a){return function(){g=null,void 0===a||i||a()}},h.events.FINISHCREATEEDGE=function(a){return function(b){null!==g&&b!==g&&(c(g,b,a),i=!0)}},h.events.PATCHEDGE=function(a,b,c){if(!_.isFunction(b))throw"Please give a function to extract the new node data";return function(){e(a,b(),c)}},h.events.DELETEEDGE=function(a){return function(b){f(b,a)}}}},k=function(){g=g||$("svg"),g.unbind(),_.each(e,function(a,b){g.bind(b,function(c){_.each(a,function(a){a(c)}),f[b]&&f[b](c)})})};if(void 0===a)throw"NodeShaper has to be given.";if(void 0===b)throw"EdgeShaper has to be given.";d=new EventLibrary,e={click:[],dblclick:[],mousedown:[],mouseup:[],mousemove:[],mouseout:[],mouseover:[]},f={},h.events={},void 0!==c&&(void 0!==c.expand&&d.checkExpandConfig(c.expand)&&(h.events.EXPAND=new d.Expand(c.expand),a.setGVStartFunction(function(){c.expand.reshapeNodes(),c.expand.startCallback()})),void 0!==c.drag&&d.checkDragConfig(c.drag)&&(h.events.DRAG=d.Drag(c.drag)),void 0!==c.nodeEditor&&i(c.nodeEditor),void 0!==c.edgeEditor&&j(c.edgeEditor)),Object.freeze(h.events),h.bind=function(c,d,e){if(void 0===e||!_.isFunction(e))throw"You have to give a function that should be bound as a third argument";var g={};switch(c){case"nodes":g[d]=e,a.changeTo({actions:g});break;case"edges":g[d]=e,b.changeTo({actions:g});break;case"svg":f[d]=e,k();break;default:if(void 0===c.bind)throw'Sorry cannot bind to object. Please give either "nodes", "edges" or a jQuery-selected DOM-Element';c.unbind(d),c.bind(d,e)}},h.rebind=function(c,d){switch(d=d||{},d.reset=!0,c){case"nodes":a.changeTo({actions:d});break;case"edges":b.changeTo({actions:d});break;case"svg":f={},_.each(d,function(a,b){"reset"!==b&&(f[b]=a)}),k();break;default:throw'Sorry cannot rebind to object. Please give either "nodes", "edges" or "svg"'}},h.fixSVG=function(a,b){if(void 0===e[a])throw"Sorry unkown event";e[a].push(b),k()},Object.freeze(h.events)}function EventLibrary(){"use strict";var a=this;this.checkExpandConfig=function(a){if(void 0===a.startCallback)throw"A callback to the Start-method has to be defined";if(void 0===a.adapter||void 0===a.adapter.explore)throw"An adapter to load data has to be defined";if(void 0===a.reshapeNodes)throw"A callback to reshape nodes has to be defined";return!0},this.Expand=function(b){a.checkExpandConfig(b);var c=b.startCallback,d=b.adapter.explore,e=b.reshapeNodes;return function(a){d(a,c),e(),c()}},this.checkDragConfig=function(a){if(void 0===a.layouter)throw"A layouter has to be defined";if(void 0===a.layouter.drag||!_.isFunction(a.layouter.drag))throw"The layouter has to offer a drag function";return!0},this.Drag=function(b){return a.checkDragConfig(b),b.layouter.drag},this.checkNodeEditorConfig=function(a){if(void 0===a.adapter)throw"An adapter has to be defined";if(void 0===a.shaper)throw"A node shaper has to be defined";return!0},this.checkEdgeEditorConfig=function(a){if(void 0===a.adapter)throw"An adapter has to be defined";if(void 0===a.shaper)throw"An edge Shaper has to be defined";return!0},this.InsertNode=function(b){a.checkNodeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b,e,f){var g,h;_.isFunction(a)&&!b?(g=a,h={}):(g=b,h=a),c.createNode(h,function(a){d.reshapeNodes(),g(a)},e,f)}},this.PatchNode=function(b){a.checkNodeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b,e){c.patchNode(a,b,function(a){d.reshapeNodes(),e(a)})}},this.DeleteNode=function(b){a.checkNodeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b){c.deleteNode(a,function(){d.reshapeNodes(),b()})}},this.SelectNodeCollection=function(b){a.checkNodeEditorConfig(b);var c=b.adapter;if(!_.isFunction(c.useNodeCollection))throw"The adapter has to support collection changes";return function(a,b){c.useNodeCollection(a),b()}},this.InsertEdge=function(b){a.checkEdgeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b,e){c.createEdge({source:a,target:b},function(a){d.reshapeEdges(),e(a)})}},this.PatchEdge=function(b){a.checkEdgeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b,e){c.patchEdge(a,b,function(a){d.reshapeEdges(),e(a)})}},this.DeleteEdge=function(b){a.checkEdgeEditorConfig(b);var c=b.adapter,d=b.shaper;return function(a,b){c.deleteEdge(a,function(){d.reshapeEdges(),b()})}}}function ForceLayouter(a){"use strict";var b=this,c=d3.layout.force(),d=a.charge||-600,e=a.distance||80,f=a.gravity||.01,g=function(a){ var b=0;return b+=a.source._isCommunity?a.source.getDistance(e):e,b+=a.target._isCommunity?a.target.getDistance(e):e},h=function(a){return a._isCommunity?a.getCharge(d):d},i=a.onUpdate||function(){},j=a.width||880,k=a.height||680,l=function(a){a.distance&&(e=a.distance),a.gravity&&c.gravity(a.gravity),a.charge&&(d=a.charge)};if(void 0===a.nodes)throw"No nodes defined";if(void 0===a.links)throw"No links defined";c.nodes(a.nodes),c.links(a.links),c.size([j,k]),c.linkDistance(g),c.gravity(f),c.charge(h),c.on("tick",function(){}),b.start=function(){c.start()},b.stop=function(){c.stop()},b.drag=c.drag,b.setCombinedUpdateFunction=function(a,d,e){void 0!==e?(i=function(){c.alpha()<.1&&(a.updateNodes(),d.updateEdges(),e(),c.alpha()<.05&&b.stop())},c.on("tick",i)):(i=function(){c.alpha()<.1&&(a.updateNodes(),d.updateEdges(),c.alpha()<.05&&b.stop())},c.on("tick",i))},b.changeTo=function(a){l(a)},b.changeWidth=function(a){j=a,c.size([j,k])}}function FoxxAdapter(a,b,c,d,e){"use strict";if(void 0===a)throw"The nodes have to be given.";if(void 0===b)throw"The edges have to be given.";if(void 0===c)throw"The route has to be given.";if(void 0===d)throw"A reference to the graph viewer has to be given.";e=e||{};var f,g=this,h={},i={},j=c,k={cache:!1,contentType:"application/json",dataType:"json",processData:!1,error:function(a){try{throw console.log(a.statusText),"["+a.errorNum+"] "+a.errorMessage}catch(b){throw console.log(b),"Undefined ERROR"}}},l=function(){i.query={get:function(a,b){var c=$.extend(k,{type:"GET",url:j+"/query/"+a,success:b});$.ajax(c)}},i.nodes={post:function(a,b){var c=$.extend(k,{type:"POST",url:j+"/nodes",data:JSON.stringify(a),success:b});$.ajax(c)},put:function(a,b,c){var d=$.extend(k,{type:"PUT",url:j+"/nodes/"+a,data:JSON.stringify(b),success:c});$.ajax(d)},del:function(a,b){var c=$.extend(k,{type:"DELETE",url:j+"/nodes/"+a,success:b});$.ajax(c)}},i.edges={post:function(a,b){var c=$.extend(k,{type:"POST",url:j+"/edges",data:JSON.stringify(a),success:b});$.ajax(c)},put:function(a,b,c){var d=$.extend(k,{type:"PUT",url:j+"/edges/"+a,data:JSON.stringify(b),success:c});$.ajax(d)},del:function(a,b){var c=$.extend(k,{type:"DELETE",url:j+"/edges/"+a,success:b});$.ajax(c)}},i.forNode={del:function(a,b){var c=$.extend(k,{type:"DELETE",url:j+"/edges/forNode/"+a,success:b});$.ajax(c)}}},m=function(a,b,c){i[a].get(b,c)},n=function(a,b,c){i[a].post(b,c)},o=function(a,b,c){i[a].del(b,c)},p=function(a,b,c,d){i[a].put(b,c,d)},q=function(a){void 0!==a.width&&f.setWidth(a.width),void 0!==a.height&&f.setHeight(a.height)},r=function(b,c){var d={},e=b.first,g=a.length;e=f.insertNode(e),_.each(b.nodes,function(b){b=f.insertNode(b),g=l.TOTAL_NODES?$(".infoField").hide():$(".infoField").show());var e=t(l.NODES_TO_DISPLAY,d[c]);if(e.length>0)return _.each(e,function(a){l.randomNodes.push(a)}),void l.loadInitialNode(e[0]._id,a)}a({errorCode:404})},l.loadInitialNode=function(a,b){e.cleanUp(),l.loadNode(a,v(b))},l.getRandomNodes=function(){var a=[],b=[];l.definedNodes.length>0&&_.each(l.definedNodes,function(a){b.push(a)}),l.randomNodes.length>0&&_.each(l.randomNodes,function(a){b.push(a)});var c=0;return _.each(b,function(b){c0?_.each(d,function(a){s(o.traversal(k),{example:a.vertex._id},function(a){_.each(a,function(a){c.push(a)}),u(c,b)})}):s(o.traversal(k),{example:a},function(a){u(a,b)})})},l.loadNodeFromTreeByAttributeValue=function(a,b,c){var d={},e=o.traversalAttributeValue(k,d,f,a,b);s(e,d,function(a){u(a,c)})},l.getNodeExampleFromTreeByAttributeValue=function(a,b,c){var d,g=o.travesalAttributeValue(k,d,f,a,b);s(g,d,function(d){if(0===d.length)throw arangoHelper.arangoError("Graph error","no nodes found"),"No suitable nodes have been found.";_.each(d,function(d){if(d.vertex[a]===b){var f={};f._key=d.vertex._key,f._id=d.vertex._id,f._rev=d.vertex._rev,e.insertNode(f),c(f)}})})},l.loadAdditionalNodeByAttributeValue=function(a,b,c){l.getNodeExampleFromTreeByAttributeValue(a,b,c)},l.loadInitialNodeByAttributeValue=function(a,b,c){e.cleanUp(),l.loadNodeFromTreeByAttributeValue(a,b,v(c))},l.requestCentralityChildren=function(a,b){s(o.childrenCentrality,{id:a},function(a){b(a[0])})},l.createEdge=function(a,b){var c={};c._from=a.source._id,c._to=a.target._id,$.ajax({cache:!1,type:"POST",url:n.edges+i,data:JSON.stringify(c),dataType:"json",contentType:"application/json",processData:!1,success:function(a){if(a.error===!1){var d,f=a.edge;f._from=c._from,f._to=c._to,d=e.insertEdge(f),b(d)}},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.deleteEdge=function(a,b){$.ajax({cache:!1,type:"DELETE",url:n.edges+a._id,contentType:"application/json",dataType:"json",processData:!1,success:function(){e.removeEdge(a),void 0!==b&&_.isFunction(b)&&b()},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.patchEdge=function(a,b,c){$.ajax({cache:!1,type:"PUT",url:n.edges+a._id,data:JSON.stringify(b),dataType:"json",contentType:"application/json",processData:!1,success:function(){a._data=$.extend(a._data,b),c()},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.createNode=function(a,b){$.ajax({cache:!1,type:"POST",url:n.vertices+g,data:JSON.stringify(a),dataType:"json",contentType:"application/json",processData:!1,success:function(c){c.error===!1&&(a._key=c.vertex._key,a._id=c.vertex._id,a._rev=c.vertex._rev,e.insertNode(a),b(a))},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.deleteNode=function(a,b){$.ajax({cache:!1,type:"DELETE",url:n.vertices+a._id,dataType:"json",contentType:"application/json",processData:!1,success:function(){e.removeEdgesForNode(a),e.removeNode(a),void 0!==b&&_.isFunction(b)&&b()},error:function(a){var b="";try{b=JSON.parse(a.responseText).errorMessage+" ("+JSON.parse(a.responseText).errorNum+")",arangoHelper.arangoError(a.statusText,b)}catch(c){throw a.statusText}}})},l.patchNode=function(a,b,c){$.ajax({cache:!1,type:"PUT",url:n.vertices+a._id,data:JSON.stringify(b),dataType:"json",contentType:"application/json",processData:!1,success:function(){a._data=$.extend(a._data,b),c(a)},error:function(a){throw a.statusText}})},l.changeToGraph=function(a,b){e.cleanUp(),q(a),void 0!==b&&(k=b===!0?"any":"outbound")},l.setNodeLimit=function(a,b){e.setNodeLimit(a,b)},l.setChildLimit=function(a){e.setChildLimit(a)},l.expandCommunity=function(a,b){e.expandCommunity(a),void 0!==b&&b()},l.getGraphs=function(a){a&&a.length>=1&&s(o.getAllGraphs,{},a)},l.getAttributeExamples=function(a){if(a&&a.length>=1){var b,c=[],d=_.shuffle(l.getNodeCollections());for(b=0;b0&&(c=c.concat(_.flatten(_.map(e,function(a){return _.keys(a)}))))}c=_.sortBy(_.uniq(c),function(a){return a.toLowerCase()}),a(c)}},l.getEdgeCollections=function(){return h},l.getSelectedEdgeCollection=function(){return i},l.useEdgeCollection=function(a){if(!_.contains(h,a))throw"Collection "+a+" is not available in the graph.";i=a},l.getNodeCollections=function(){return f},l.getSelectedNodeCollection=function(){return g},l.useNodeCollection=function(a){if(!_.contains(f,a))throw"Collection "+a+" is not available in the graph.";g=a},l.getDirection=function(){return k},l.getGraphName=function(){return j},l.setWidth=e.setWidth,l.changeTo=e.changeTo,l.getPrioList=e.getPrioList}function ModularityJoiner(){"use strict";var a={},b=Array.prototype.forEach,c=Object.keys,d=Array.isArray,e=Object.prototype.toString,f=Array.prototype.indexOf,g=Array.prototype.map,h=Array.prototype.some,i={isArray:d||function(a){return"[object Array]"===e.call(a)},isFunction:function(a){return"function"==typeof a},isString:function(a){return"[object String]"===e.call(a)},each:function(c,d,e){if(null!==c&&void 0!==c){var f,g,h;if(b&&c.forEach===b)c.forEach(d,e);else if(c.length===+c.length){for(f=0,g=c.length;g>f;f++)if(d.call(e,c[f],f,c)===a)return}else for(h in c)if(c.hasOwnProperty(h)&&d.call(e,c[h],h,c)===a)return}},keys:c||function(a){if("object"!=typeof a||Array.isArray(a))throw new TypeError("Invalid object");var b,c=[];for(b in a)a.hasOwnProperty(b)&&(c[c.length]=b);return c},min:function(a,b,c){if(!b&&i.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);if(!b&&i.isEmpty(a))return 1/0;var d={computed:1/0,value:1/0};return i.each(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;gc&&(c=a,b=d)}),0>c?void delete q[a]:void(q[a]=b)},t=function(a,b){s(b)},u=function(a,b){return b>a?p[a]&&p[a][b]:p[b]&&p[b][a]},v=function(a,b){return b>a?p[a][b]:p[b][a]},w=function(a,b,c){return b>a?(p[a]=p[a]||{},void(p[a][b]=c)):(p[b]=p[b]||{},void(p[b][a]=c))},x=function(a,b){if(b>a){if(!p[a])return;return delete p[a][b],void(i.isEmpty(p[a])&&delete p[a])}a!==b&&x(b,a)},y=function(a,b){var c,d;return b>a?u(a,b)?(d=v(a,b),q[a]===b?void s(a):u(a,q[a])?(c=v(a,q[a]),void(d>c&&(q[a]=b))):void s(a)):void s(a):void(a!==b&&y(b,a))},z=function(a,b){o[a]._in+=o[b]._in,o[a]._out+=o[b]._out,delete o[b]},A=function(a,b){j[a]=j[a]||{},j[a][b]=(j[a][b]||0)+1,k[b]=k[b]||{},k[b][a]=(k[b][a]||0)+1,l[a]=l[a]||{_in:0,_out:0},l[b]=l[b]||{_in:0,_out:0},l[a]._out++,l[b]._in++,m++,n=Math.pow(m,-1)},B=function(a,b){j[a]&&(j[a][b]--,0===j[a][b]&&delete j[a][b],k[b][a]--,0===k[b][a]&&delete k[b][a],l[a]._out--,l[b]._in--,m--,n=m>0?Math.pow(m,-1):0,i.isEmpty(j[a])&&delete j[a],i.isEmpty(k[b])&&delete k[b],0===l[a]._in&&0===l[a]._out&&delete l[a],0===l[b]._in&&0===l[b]._out&&delete l[b])},C=function(){return o={},i.each(l,function(a,b){o[b]={_in:a._in/m,_out:a._out/m}}),o},D=function(a,b){return o[a]._out*o[b]._in+o[a]._in*o[b]._out},E=function(a){var b=i.keys(j[a]||{}),c=i.keys(k[a]||{});return i.union(b,c)},F=function(){p={},i.each(j,function(a,b){var c=k[b]||{},d=E(b);i.each(d,function(d){var e,f=a[d]||0;f+=c[d]||0,e=f*n-D(b,d),e>0&&w(b,d,e)})})},G=function(){return q={},i.each(p,t),q},H=function(a,b,c){var d;return u(c,a)?(d=v(c,a),u(c,b)?(d+=v(c,b),w(c,a,d),x(c,b),y(c,a),void y(c,b)):(d-=D(c,b),0>d&&x(c,a),void y(c,a))):void(u(c,b)&&(d=v(c,b),d-=D(c,a),d>0&&w(c,a,d),y(c,a),x(c,b),y(c,b)))},I=function(a,b){i.each(p,function(c,d){return d===a||d===b?void i.each(c,function(c,d){return d===b?(x(a,b),void y(a,b)):void H(a,b,d)}):void H(a,b,d)})},J=function(){return j},K=function(){return q},L=function(){return p},M=function(){return o},N=function(){return r},O=function(){var a,b,c=Number.NEGATIVE_INFINITY;return i.each(q,function(d,e){c=c?null:{sID:b,lID:a,val:c}},P=function(a){var b,c=Number.NEGATIVE_INFINITY;return i.each(a,function(a){a.q>c&&(c=a.q,b=a.nodes)}),b},Q=function(){C(),F(),G(),r={}},R=function(a){var b=a.sID,c=a.lID,d=a.val;r[b]=r[b]||{nodes:[b],q:0},r[c]?(r[b].nodes=r[b].nodes.concat(r[c].nodes),r[b].q+=r[c].q,delete r[c]):r[b].nodes.push(c),r[b].q+=d,I(b,c),z(b,c)},S=function(a,b,c){if(0===c.length)return!0;var d=[];return i.each(c,function(c){a[c]===Number.POSITIVE_INFINITY&&(a[c]=b,d=d.concat(E(c)))}),S(a,b+1,d)},T=function(a){var b={};if(i.each(j,function(a,c){b[c]=Number.POSITIVE_INFINITY}),b[a]=0,S(b,1,E(a)))return b;throw"FAIL!"},U=function(a){return function(b){return a[b]}},V=function(a,b){var c,d={},e=[],f={},g=function(a,b){var c=f[i.min(a,U(f))],e=f[i.min(b,U(f))],g=e-c;return 0===g&&(g=d[b[b.length-1]].q-d[a[a.length-1]].q),g};for(Q(),c=O();null!==c;)R(c),c=O();return d=N(),void 0!==b?(i.each(d,function(a,c){i.contains(a.nodes,b)&&delete d[c]}),e=i.pluck(i.values(d),"nodes"),f=T(b),e.sort(g),e[0]):P(d)};this.insertEdge=A,this.deleteEdge=B,this.getAdjacencyMatrix=J,this.getHeap=K,this.getDQ=L,this.getDegrees=M,this.getCommunities=N,this.getBest=O,this.setup=Q,this.joinCommunity=R,this.getCommunity=V}function NodeReducer(a){"use strict";a=a||[];var b=function(a,b){a.push(b)},c=function(a,b){if(!a.reason.example)return a.reason.example=b,1;var c=b._data||{},d=a.reason.example._data||{},e=_.union(_.keys(d),_.keys(c)),f=0,g=0;return _.each(e,function(a){void 0!==d[a]&&void 0!==c[a]&&(f++,d[a]===c[a]&&(f+=4))}),g=5*e.length,g++,f++,f/g},d=function(){return a},e=function(b){a=b},f=function(b,c){var d={},e=[];return _.each(b,function(b){var c,e,f=b._data,g=0;for(g=0;gd;d++){if(g[d]=g[d]||{reason:{type:"similar",text:"Similar Nodes"},nodes:[]},c(g[d],a)>h)return void b(g[d].nodes,a);i>g[d].nodes.length&&(f=d,i=g[d].nodes.length)}b(g[f].nodes,a)}),g):f(d,e)};this.bucketNodes=g,this.changePrioList=e,this.getPrioList=d}function NodeShaper(a,b,c){"use strict";var d,e,f=this,g=[],h=!0,i=new ContextMenu("gv_node_cm"),j=function(a,b){return _.isArray(a)?b[_.find(a,function(a){return b[a]})]:b[a]},k=function(a){if(void 0===a)return[""];"string"!=typeof a&&(a=String(a));var b=a.match(/[\w\W]{1,10}(\s|$)|\S+?(\s|$)/g);return b[0]=$.trim(b[0]),b[1]=$.trim(b[1]),b[0].length>12&&(b[0]=$.trim(a.substring(0,10)),b[1]=$.trim(a.substring(10)),b[1].length>12&&(b[1]=b[1].split(/\W/)[0],b[1].length>2&&(b[1]=b[1].substring(0,5)+"...")),b.length=2),b.length>2&&(b.length=2,b[1]+="..."),b},l=function(a){},m=l,n=function(a){return{x:a.x,y:a.y,z:1}},o=n,p=function(){_.each(g,function(a){a.position=o(a),a._isCommunity&&a.addDistortion(o)})},q=new ColourMapper,r=function(){q.reset()},s=function(a){return a._id},t=l,u=l,v=l,w=function(){return"black"},x=function(){f.parent.selectAll(".node").on("mousedown.drag",null),d={click:l,dblclick:l,drag:l,mousedown:l,mouseup:l,mousemove:l,mouseout:l,mouseover:l},e=l},y=function(a){_.each(d,function(b,c){"drag"===c?a.call(b):a.on(c,b)})},z=function(a){var b=a.filter(function(a){return a._isCommunity}),c=a.filter(function(a){return!a._isCommunity});u(c),b.each(function(a){a.shapeNodes(d3.select(this),u,z,m,q)}),h&&v(c),t(c),y(c),p()},A=function(a,b){if("update"===a)e=b;else{if(void 0===d[a])throw"Sorry Unknown Event "+a+" cannot be bound.";d[a]=b}},B=function(){var a=f.parent.selectAll(".node");p(),a.attr("transform",function(a){return"translate("+a.position.x+","+a.position.y+")scale("+a.position.z+")"}),e(a)},C=function(a){void 0!==a&&(g=a);var b=f.parent.selectAll(".node").data(g,s);b.enter().append("g").attr("class",function(a){return a._isCommunity?"node communitynode":"node"}).attr("id",s),b.exit().remove(),b.selectAll("* > *").remove(),z(b),B(),i.bindMenu($(".node"))},D=function(a){var b,c,d,e,f,g,h;switch(a.type){case NodeShaper.shapes.NONE:u=l;break;case NodeShaper.shapes.CIRCLE:b=a.radius||25,u=function(a,c){a.append("circle").attr("r",b),c&&a.attr("cx",-c).attr("cy",-c)};break;case NodeShaper.shapes.RECT:c=a.width||90,d=a.height||36,e=_.isFunction(c)?function(a){return-(c(a)/2)}:function(a){return-(c/2)},f=_.isFunction(d)?function(a){return-(d(a)/2)}:function(){return-(d/2)},u=function(a,b){b=b||0,a.append("rect").attr("width",c).attr("height",d).attr("x",function(a){return e(a)-b}).attr("y",function(a){return f(a)-b}).attr("rx","8").attr("ry","8")};break;case NodeShaper.shapes.IMAGE:c=a.width||32,d=a.height||32,g=a.fallback||"",h=a.source||g,e=_.isFunction(c)?function(a){return-(c(a)/2)}:-(c/2),f=_.isFunction(d)?function(a){return-(d(a)/2)}:-(d/2),u=function(a){var b=a.append("image").attr("width",c).attr("height",d).attr("x",e).attr("y",f);_.isFunction(h)?b.attr("xlink:href",h):b.attr("xlink:href",function(a){return a._data[h]?a._data[h]:g})};break;case void 0:break;default:throw"Sorry given Shape not known!"}},E=function(a){var b=[];_.each(a,function(a){b=$(a).find("text"),$(a).css("width","90px"),$(a).css("height","36px"),$(a).textfill({innerTag:"text",maxFontPixels:16,minFontPixels:10,explicitWidth:90,explicitHeight:36})})},F=function(a){v=_.isFunction(a)?function(b){var c=b.append("text").attr("text-anchor","middle").attr("fill",w).attr("stroke","none");c.each(function(b){var c=k(a(b)),d=c[0];2===c.length&&(d+=c[1]),d.length>15&&(d=d.substring(0,13)+"..."),(void 0===d||""===d)&&(d="ATTR NOT SET"),d3.select(this).append("tspan").attr("x","0").attr("dy","5").text(d)}),E(b)}:function(b){var c=b.append("text").attr("text-anchor","middle").attr("fill",w).attr("stroke","none");c.each(function(b){var c=k(j(a,b._data)),d=c[0];2===c.length&&(d+=c[1]),d.length>15&&(d=d.substring(0,13)+"..."),(void 0===d||""===d)&&(d="ATTR NOT SET"),d3.select(this).append("tspan").attr("x","0").attr("dy","5").text(d)}),E(b)}},G=function(a){void 0!==a.reset&&a.reset&&x(),_.each(a,function(a,b){"reset"!==b&&A(b,a)})},H=function(a){switch(r(),a.type){case"single":t=function(b){b.attr("fill",a.fill)},w=function(b){return a.stroke};break;case"expand":t=function(b){b.attr("fill",function(b){return b._expanded?a.expanded:a.collapsed})},w=function(a){return"white"};break;case"attribute":t=function(b){b.attr("fill",function(b){return void 0===b._data?q.getCommunityColour():q.getColour(j(a.key,b._data))}).attr("stroke",function(a){return a._expanded?"#fff":"transparent"}).attr("fill-opacity",function(a){return a._expanded?"1":"0.3"})},w=function(b){return void 0===b._data?q.getForegroundCommunityColour():q.getForegroundColour(j(a.key,b._data))};break;default:throw"Sorry given colour-scheme not known"}},I=function(a){if("reset"===a)o=n;else{if(!_.isFunction(a))throw"Sorry distortion cannot be parsed.";o=a}},J=function(a){void 0!==a.shape&&D(a.shape),void 0!==a.label&&(F(a.label),f.label=a.label),void 0!==a.actions&&G(a.actions),void 0!==a.color&&(H(a.color),f.color=a.color),void 0!==a.distortion&&I(a.distortion)};f.parent=a,x(),void 0===b&&(b={}),void 0===b.shape&&(b.shape={type:NodeShaper.shapes.RECT}),void 0===b.color&&(b.color={type:"single",fill:"#333333",stroke:"white"}),void 0===b.distortion&&(b.distortion="reset"),J(b),_.isFunction(c)&&(s=c),f.changeTo=function(a){J(a),C()},f.drawNodes=function(a){C(a)},f.updateNodes=function(){B()},f.reshapeNodes=function(){C()},f.activateLabel=function(a){h=a?!0:!1,C()},f.getColourMapping=function(){return q.getList()},f.setColourMappingListener=function(a){q.setChangeListener(a)},f.setGVStartFunction=function(a){m=a},f.getLabel=function(){return f.label||""},f.getColor=function(){return f.color.key||""},f.addMenuEntry=function(a,b){i.addEntry(a,b)},f.resetColourMap=r}function PreviewAdapter(a,b,c,d){"use strict";if(void 0===a)throw"The nodes have to be given.";if(void 0===b)throw"The edges have to be given.";if(void 0===c)throw"A reference to the graph viewer has to be given.";var e=this,f=new AbstractAdapter(a,b,this,c),g=function(a){void 0!==a.width&&f.setWidth(a.width),void 0!==a.height&&f.setHeight(a.height)},h=function(a,b){var c={},d=a.first;d=f.insertNode(d),_.each(a.nodes,function(a){a=f.insertNode(a),c[a._id]=a}),_.each(a.edges,function(a){f.insertEdge(a)}),delete c[d._id],void 0!==b&&_.isFunction(b)&&b(d)};d=d||{},g(d),e.loadInitialNode=function(a,b){f.cleanUp();var c=function(a){b(f.insertInitialNode(a))};e.loadNode(a,c)},e.loadNode=function(a,b){var c=[],d=[],e={},f={_id:1,label:"Node 1",image:"img/stored.png"},g={_id:2,label:"Node 2"},i={_id:3,label:"Node 3"},j={_id:4,label:"Node 4"},k={_id:5,label:"Node 5"},l={_id:"1-2",_from:1,_to:2,label:"Edge 1"},m={_id:"1-3",_from:1,_to:3,label:"Edge 2"},n={_id:"1-4",_from:1,_to:4,label:"Edge 3"},o={_id:"1-5",_from:1,_to:5,label:"Edge 4"},p={_id:"2-3",_from:2,_to:3,label:"Edge 5"};c.push(f),c.push(g),c.push(i),c.push(j),c.push(k),d.push(l),d.push(m),d.push(n),d.push(o),d.push(p),e.first=f,e.nodes=c,e.edges=d,h(e,b)},e.explore=f.explore,e.requestCentralityChildren=function(a,b){},e.createEdge=function(a,b){arangoHelper.arangoError("Server-side","createEdge was triggered.")},e.deleteEdge=function(a,b){arangoHelper.arangoError("Server-side","deleteEdge was triggered.")},e.patchEdge=function(a,b,c){arangoHelper.arangoError("Server-side","patchEdge was triggered.")},e.createNode=function(a,b){arangoHelper.arangoError("Server-side","createNode was triggered.")},e.deleteNode=function(a,b){arangoHelper.arangoError("Server-side","deleteNode was triggered."),arangoHelper.arangoError("Server-side","onNodeDelete was triggered.")},e.patchNode=function(a,b,c){arangoHelper.arangoError("Server-side","patchNode was triggered.")},e.setNodeLimit=function(a,b){f.setNodeLimit(a,b)},e.setChildLimit=function(a){f.setChildLimit(a)},e.setWidth=f.setWidth,e.expandCommunity=function(a,b){f.expandCommunity(a),void 0!==b&&b()}}function WebWorkerWrapper(a,b){"use strict";if(void 0===a)throw"A class has to be given.";if(void 0===b)throw"A callback has to be given.";var c,d=Array.prototype.slice.call(arguments),e={},f=function(){var c,d=function(a){switch(a.data.cmd){case"construct":try{w=new(Function.prototype.bind.apply(Construct,[null].concat(a.data.args))),w?self.postMessage({cmd:"construct",result:!0}):self.postMessage({cmd:"construct",result:!1})}catch(b){self.postMessage({cmd:"construct",result:!1,error:b.message||b})}break;default:var c,d={cmd:a.data.cmd};if(w&&"function"==typeof w[a.data.cmd])try{c=w[a.data.cmd].apply(w,a.data.args),c&&(d.result=c),self.postMessage(d)}catch(e){d.error=e.message||e,self.postMessage(d)}else d.error="Method not known",self.postMessage(d)}},e=function(a){var b="var w, Construct = "+a.toString()+";self.onmessage = "+d.toString();return new window.Blob(b.split())},f=window.URL,g=new e(a);return c=new window.Worker(f.createObjectURL(g)),c.onmessage=b,c},g=function(){return a.apply(this,d)};try{return c=f(),e.call=function(a){var b=Array.prototype.slice.call(arguments);b.shift(),c.postMessage({cmd:a,args:b})},d.shift(),d.shift(),d.unshift("construct"),e.call.apply(this,d),e}catch(h){d.shift(),d.shift(),g.prototype=a.prototype;try{c=new g}catch(i){return void b({data:{cmd:"construct",error:i}})}return e.call=function(a){var d=Array.prototype.slice.call(arguments),e={data:{cmd:a}};if(!_.isFunction(c[a]))return e.data.error="Method not known",void b(e);d.shift();try{e.data.result=c[a].apply(c,d),b(e)}catch(f){e.data.error=f,b(e)}},b({data:{cmd:"construct",result:!0}}),e}}function ZoomManager(a,b,c,d,e,f,g,h){"use strict";if(void 0===a||0>a)throw"A width has to be given.";if(void 0===b||0>b)throw"A height has to be given.";if(void 0===c||void 0===c.node||"svg"!==c.node().tagName.toLowerCase())throw"A svg has to be given.";if(void 0===d||void 0===d.node||"g"!==d.node().tagName.toLowerCase())throw"A group has to be given.";if(void 0===e||void 0===e.activateLabel||void 0===e.changeTo||void 0===e.updateNodes)throw"The Node shaper has to be given.";if(void 0===f||void 0===f.activateLabel||void 0===f.updateEdges)throw"The Edge shaper has to be given.";var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x=this,y=a*b,z=h||function(){},A=function(){var a,b;return l>=k?(b=i*l,b*=b,a=60*b):(b=j*l,b*=b,a=4*Math.PI*b),Math.floor(y/a)},B=function(){q=s/l-.99999999,r=t/l,p.distortion(q),p.radius(r)},C=function(a,b,c,g){g?null!==a&&(l=a):l=a,null!==b&&(m[0]+=b),null!==c&&(m[1]+=c),o=A(),z(o),e.activateLabel(l>=k),f.activateLabel(l>=k),B();var h="translate("+m+")",i=" scale("+l+")";d._isCommunity?d.attr("transform",h):d.attr("transform",h+i),v&&v.slider("option","value",l)},D=function(a){var b=[];return b[0]=a[0]-n[0],b[1]=a[1]-n[1],n[0]=a[0],n[1]=a[1],b},E=function(a){void 0===a&&(a={});var b=a.maxFont||16,c=a.minFont||6,d=a.maxRadius||25,e=a.minRadius||4;s=a.focusZoom||1,t=a.focusRadius||100,w=e/d,i=b,j=d,k=c/b,l=1,m=[0,0],n=[0,0],B(),o=A(),u=d3.behavior.zoom().scaleExtent([w,1]).on("zoom",function(){var a,b=d3.event.sourceEvent,c=l;"mousewheel"===b.type||"DOMMouseScroll"===b.type?(b.wheelDelta?b.wheelDelta>0?(c+=.01,c>1&&(c=1)):(c-=.01,w>c&&(c=w)):b.detail>0?(c+=.01,c>1&&(c=1)):(c-=.01,w>c&&(c=w)),a=[0,0]):a=D(d3.event.translate),C(c,a[0],a[1])})},F=function(){};p=d3.fisheye.circular(),E(g),c.call(u),e.changeTo({distortion:p}),c.on("mousemove",F),x.translation=function(){return null},x.scaleFactor=function(){return l},x.scaledMouse=function(){return null},x.getDistortion=function(){return q},x.getDistortionRadius=function(){return r},x.getNodeLimit=function(){return o},x.getMinimalZoomFactor=function(){return w},x.registerSlider=function(a){v=a},x.triggerScale=function(a){C(a,null,null,!0)},x.triggerTranslation=function(a,b){C(null,a,b,!0)},x.changeWidth=function(c){y=a*b}}function ArangoAdapterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The ArangoAdapter has to be given.";this.addControlChangeCollections=function(c){var d="control_adapter_collections",e=d+"_";b.getCollections(function(f,g){b.getGraphs(function(h){uiComponentsHelper.createButton(a,"Collections",d,function(){modalDialogHelper.createModalDialog("Switch Collections",e,[{type:"decission",id:"collections", -group:"loadtype",text:"Select existing collections",isDefault:void 0===b.getGraphName(),interior:[{type:"list",id:"node_collection",text:"Vertex collection",objects:f,selected:b.getNodeCollection()},{type:"list",id:"edge_collection",text:"Edge collection",objects:g,selected:b.getEdgeCollection()}]},{type:"decission",id:"graphs",group:"loadtype",text:"Select existing graph",isDefault:void 0!==b.getGraphName(),interior:[{type:"list",id:"graph",objects:h,selected:b.getGraphName()}]},{type:"checkbox",text:"Start with random vertex",id:"random",selected:!0},{type:"checkbox",id:"undirected",selected:"any"===b.getDirection()}],function(){var a=$("#"+e+"node_collection").children("option").filter(":selected").text(),d=$("#"+e+"edge_collection").children("option").filter(":selected").text(),f=$("#"+e+"graph").children("option").filter(":selected").text(),g=!!$("#"+e+"undirected").prop("checked"),h=!!$("#"+e+"random").prop("checked"),i=$("input[type='radio'][name='loadtype']:checked").prop("id");return i===e+"collections"?b.changeToCollections(a,d,g):b.changeToGraph(f,g),h?void b.loadRandomNode(c):void(_.isFunction(c)&&c())})})})})},this.addControlChangePriority=function(){var c="control_adapter_priority",d=c+"_",e=(b.getPrioList(),"Group vertices");uiComponentsHelper.createButton(a,e,c,function(){modalDialogHelper.createModalChangeDialog(e,d,[{type:"extendable",id:"attribute",objects:b.getPrioList()}],function(){var a=$("input[id^="+d+"attribute_]"),c=[];a.each(function(a,b){var d=$(b).val();""!==d&&c.push(d)}),b.changeTo({prioList:c})})})},this.addAll=function(){this.addControlChangeCollections(),this.addControlChangePriority()}}function ContextMenu(a){"use strict";if(void 0===a)throw"An id has to be given.";var b,c,d="#"+a,e=function(a,d){var e,f;e=document.createElement("div"),e.className="context-menu-item",f=document.createElement("div"),f.className="context-menu-item-inner",f.appendChild(document.createTextNode(a)),f.onclick=function(){d(d3.select(c.target).data()[0])},e.appendChild(f),b.appendChild(e)},f=function(a){c=$.contextMenu.create(d,{shadow:!1}),a.each(function(){$(this).bind("contextmenu",function(a){return c.show(this,a),!1})})},g=function(){return b=document.getElementById(a),b&&b.parentElement.removeChild(b),b=document.createElement("div"),b.className="context-menu context-menu-theme-osx",b.id=a,document.body.appendChild(b),b};g(),this.addEntry=e,this.bindMenu=f}function EdgeShaperControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The EdgeShaper has to be given.";var c=this;this.addControlOpticShapeNone=function(){var c="control_edge_none";uiComponentsHelper.createButton(a,"None",c,function(){b.changeTo({shape:{type:EdgeShaper.shapes.NONE}})})},this.addControlOpticShapeArrow=function(){var c="control_edge_arrow";uiComponentsHelper.createButton(a,"Arrow",c,function(){b.changeTo({shape:{type:EdgeShaper.shapes.ARROW}})})},this.addControlOpticLabel=function(){var c="control_edge_label",d=c+"_";uiComponentsHelper.createButton(a,"Configure Label",c,function(){modalDialogHelper.createModalDialog("Switch Label Attribute",d,[{type:"text",id:"key",text:"Edge label attribute",value:b.getLabel()}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({label:a})})})},this.addControlOpticLabelList=function(){var d="control_edge_label",e=d+"_";uiComponentsHelper.createButton(a,"Configure Label",d,function(){modalDialogHelper.createModalDialog("Change Label Attribute",e,[{type:"extendable",id:"label",text:"Edge label attribute",objects:b.getLabel()}],function(){var a=$("input[id^="+e+"label_]"),d=[];a.each(function(a,b){var c=$(b).val();""!==c&&d.push(c)});var f={label:d};c.applyLocalStorage(f),b.changeTo(f)})})},this.applyLocalStorage=function(a){if("undefined"!==Storage)try{var b=JSON.parse(localStorage.getItem("graphSettings")),c=window.location.hash.split("/")[1],d=window.location.pathname.split("/")[2],e=c+d;_.each(a,function(a,c){void 0!==c&&(b[e].viewer.hasOwnProperty("edgeShaper")||(b[e].viewer.edgeShaper={}),b[e].viewer.edgeShaper[c]=a)}),localStorage.setItem("graphSettings",JSON.stringify(b))}catch(f){console.log(f)}},this.addControlOpticSingleColour=function(){var c="control_edge_singlecolour",d=c+"_";uiComponentsHelper.createButton(a,"Single Colour",c,function(){modalDialogHelper.createModalDialog("Switch to Colour",d,[{type:"text",id:"stroke"}],function(){var a=$("#"+d+"stroke").attr("value");b.changeTo({color:{type:"single",stroke:a}})})})},this.addControlOpticAttributeColour=function(){var c="control_edge_attributecolour",d=c+"_";uiComponentsHelper.createButton(a,"Colour by Attribute",c,function(){modalDialogHelper.createModalDialog("Display colour by attribute",d,[{type:"text",id:"key"}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({color:{type:"attribute",key:a}})})})},this.addControlOpticGradientColour=function(){var c="control_edge_gradientcolour",d=c+"_";uiComponentsHelper.createButton(a,"Gradient Colour",c,function(){modalDialogHelper.createModalDialog("Change colours for gradient",d,[{type:"text",id:"source"},{type:"text",id:"target"}],function(){var a=$("#"+d+"source").attr("value"),c=$("#"+d+"target").attr("value");b.changeTo({color:{type:"gradient",source:a,target:c}})})})},this.addAllOptics=function(){c.addControlOpticShapeNone(),c.addControlOpticShapeArrow(),c.addControlOpticLabel(),c.addControlOpticSingleColour(),c.addControlOpticAttributeColour(),c.addControlOpticGradientColour()},this.addAllActions=function(){},this.addAll=function(){c.addAllOptics(),c.addAllActions()}}function EventDispatcherControls(a,b,c,d,e){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The NodeShaper has to be given.";if(void 0===c)throw"The EdgeShaper has to be given.";if(void 0===d)throw"The Start callback has to be given.";var f=this,g={expand:{icon:"hand-pointer-o",title:"Expand a node."},add:{icon:"plus-square",title:"Add a node."},trash:{icon:"minus-square",title:"Remove a node/edge."},drag:{icon:"hand-rock-o",title:"Drag a node."},edge:{icon:"external-link-square",title:"Create an edge between two nodes."},edit:{icon:"pencil-square",title:"Edit attributes of a node."},view:{icon:"search",title:"View attributes of a node."}},h=new EventDispatcher(b,c,e),i=e.edgeEditor.adapter,j=!!i&&_.isFunction(i.useNodeCollection)&&_.isFunction(i.useEdgeCollection),k=function(b){a.appendChild(b)},l=function(a,b,c){var d=uiComponentsHelper.createIconButton(a,"control_event_"+b,c);k(d)},m=function(a){h.rebind("nodes",a)},n=function(a){h.rebind("edges",a)},o=function(a){h.rebind("svg",a)},p=function(a){var b=a||window.event,c={};return c.x=b.clientX,c.y=b.clientY,c.x+=document.body.scrollLeft,c.y+=document.body.scrollTop,c},q=function(a){var b,c,d,e=p(a),f=$("svg#graphViewerSVG").offset();return b=d3.select("svg#graphViewerSVG").node(),d=b.getBoundingClientRect(),$("svg#graphViewerSVG").height()<=d.height?{x:e.x-f.left,y:e.y-f.top}:(c=b.getBBox(),{x:e.x-(d.left-c.x),y:e.y-(d.top-c.y)})},r={nodes:{},edges:{},svg:{}},s=function(){var a="control_event_new_node",c=a+"_",e=function(a){var e=q(a);modalDialogHelper.createModalCreateDialog("Create New Node",c,{},function(a){h.events.CREATENODE(a,function(a){$("#"+c+"modal").modal("hide"),b.reshapeNodes(),d()},e.x,e.y)()})};r.nodes.newNode=e},t=function(){var a=function(a){modalDialogHelper.createModalViewDialog("View Node "+a._id,"control_event_node_view_",a._data,function(){modalDialogHelper.createModalEditDialog("Edit Node "+a._id,"control_event_node_edit_",a._data,function(b){h.events.PATCHNODE(a,b,function(){$("#control_event_node_edit_modal").modal("hide")})()})})},b=function(a){modalDialogHelper.createModalViewDialog("View Edge "+a._id,"control_event_edge_view_",a._data,function(){modalDialogHelper.createModalEditDialog("Edit Edge "+a._id,"control_event_edge_edit_",a._data,function(b){h.events.PATCHEDGE(a,b,function(){$("#control_event_edge_edit_modal").modal("hide")})()})})};r.nodes.view=a,r.edges.view=b},u=function(){var a=h.events.STARTCREATEEDGE(function(a,b){var d=q(b),e=c.addAnEdgeFollowingTheCursor(d.x,d.y);h.bind("svg","mousemove",function(a){var b=q(a);e(b.x,b.y)})}),b=h.events.FINISHCREATEEDGE(function(a){c.removeCursorFollowingEdge(),h.bind("svg","mousemove",function(){return void 0}),d()}),e=function(){h.events.CANCELCREATEEDGE(),c.removeCursorFollowingEdge(),h.bind("svg","mousemove",function(){return void 0})};r.nodes.startEdge=a,r.nodes.endEdge=b,r.svg.cancelEdge=e},v=function(){var a=function(a){arangoHelper.openDocEditor(a._id,"document")},b=function(a){arangoHelper.openDocEditor(a._id,"edge")};r.nodes.edit=a,r.edges.edit=b},w=function(){var a=function(a){modalDialogHelper.createModalDeleteDialog("Delete Node "+a._id,"control_event_node_delete_",a,function(a){h.events.DELETENODE(function(){$("#control_event_node_delete_modal").modal("hide"),b.reshapeNodes(),c.reshapeEdges(),d()})(a)})},e=function(a){modalDialogHelper.createModalDeleteDialog("Delete Edge "+a._id,"control_event_edge_delete_",a,function(a){h.events.DELETEEDGE(function(){$("#control_event_edge_delete_modal").modal("hide"),b.reshapeNodes(),c.reshapeEdges(),d()})(a)})};r.nodes.del=a,r.edges.del=e},x=function(){r.nodes.spot=h.events.EXPAND};s(),t(),u(),v(),w(),x(),this.dragRebinds=function(){return{nodes:{drag:h.events.DRAG}}},this.newNodeRebinds=function(){return{svg:{click:r.nodes.newNode}}},this.viewRebinds=function(){return{nodes:{click:r.nodes.view},edges:{click:r.edges.view}}},this.connectNodesRebinds=function(){return{nodes:{mousedown:r.nodes.startEdge,mouseup:r.nodes.endEdge},svg:{mouseup:r.svg.cancelEdge}}},this.editRebinds=function(){return{nodes:{click:r.nodes.edit},edges:{click:r.edges.edit}}},this.expandRebinds=function(){return{nodes:{click:r.nodes.spot}}},this.deleteRebinds=function(){return{nodes:{click:r.nodes.del},edges:{click:r.edges.del}}},this.rebindAll=function(a){m(a.nodes),n(a.edges),o(a.svg)},b.addMenuEntry("Edit",r.nodes.edit),b.addMenuEntry("Spot",r.nodes.spot),b.addMenuEntry("Trash",r.nodes.del),c.addMenuEntry("Edit",r.edges.edit),c.addMenuEntry("Trash",r.edges.del),this.addControlNewNode=function(){var a=g.add,b="select_node_collection",c=function(){j&&i.getNodeCollections().length>1&&modalDialogHelper.createModalDialog("Select Vertex Collection",b,[{type:"list",id:"vertex",objects:i.getNodeCollections(),text:"Select collection",selected:i.getSelectedNodeCollection()}],function(){var a=$("#"+b+"vertex").children("option").filter(":selected").text();i.useNodeCollection(a)},"Select"),f.rebindAll(f.newNodeRebinds())};l(a,"new_node",c)},this.addControlView=function(){var a=g.view,b=function(){f.rebindAll(f.viewRebinds())};l(a,"view",b)},this.addControlDrag=function(){var a=g.drag,b=function(){f.rebindAll(f.dragRebinds())};l(a,"drag",b)},this.addControlEdit=function(){var a=g.edit,b=function(){f.rebindAll(f.editRebinds())};l(a,"edit",b)},this.addControlExpand=function(){var a=g.expand,b=function(){f.rebindAll(f.expandRebinds())};l(a,"expand",b)},this.addControlDelete=function(){var a=g.trash,b=function(){f.rebindAll(f.deleteRebinds())};l(a,"delete",b)},this.addControlConnect=function(){var a=g.edge,b="select_edge_collection",c=function(){j&&i.getEdgeCollections().length>1&&modalDialogHelper.createModalDialog("Select Edge Collection",b,[{type:"list",id:"edge",objects:i.getEdgeCollections(),text:"Select collection",selected:i.getSelectedEdgeCollection()}],function(){var a=$("#"+b+"edge").children("option").filter(":selected").text();i.useEdgeCollection(a)},"Select"),f.rebindAll(f.connectNodesRebinds())};l(a,"connect",c)},this.addAll=function(){f.addControlExpand(),f.addControlDrag(),f.addControlEdit(),f.addControlConnect(),f.addControlNewNode(),f.addControlDelete()}}function GharialAdapterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The GharialAdapter has to be given.";this.addControlChangeGraph=function(c){var d="control_adapter_graph",e=d+"_";b.getGraphs(function(f){uiComponentsHelper.createButton(a,"Switch Graph",d,function(){modalDialogHelper.createModalDialog("Switch Graph",e,[{type:"list",id:"graph",objects:f,text:"Select graph",selected:b.getGraphName()},{type:"checkbox",text:"Start with random vertex",id:"random",selected:!0}],function(){var a=$("#"+e+"graph").children("option").filter(":selected").text(),d=!!$("#"+e+"undirected").prop("checked"),f=!!$("#"+e+"random").prop("checked");return b.changeToGraph(a,d),f?void b.loadRandomNode(c):void(_.isFunction(c)&&c())})})})},this.addControlChangePriority=function(){var c="control_adapter_priority",d=c+"_",e="Group vertices";uiComponentsHelper.createButton(a,e,c,function(){modalDialogHelper.createModalChangeDialog(e+" by attribute",d,[{type:"extendable",id:"attribute",objects:b.getPrioList()}],function(){var a=$("input[id^="+d+"attribute_]"),c=[];_.each(a,function(a){var b=$(a).val();""!==b&&c.push(b)}),b.changeTo({prioList:c})})})},this.addAll=function(){this.addControlChangeGraph(),this.addControlChangePriority()}}function GraphViewerPreview(a,b){"use strict";var c,d,e,f,g,h,i,j=function(){return d3.select(a).append("svg").attr("id","graphViewerSVG").attr("width",d).attr("height",e).attr("class","graph-viewer").attr("style","width:"+d+"px;height:"+e+";")},k=function(a){var b=0;return _.each(a,function(c,d){c===!1?delete a[d]:b++}),b>0},l=function(a,b){_.each(b,function(b,c){a[c]=a[c]||{},_.each(b,function(b,d){a[c][d]=b})})},m=function(a){if(a){var b={};a.drag&&l(b,i.dragRebinds()),a.create&&(l(b,i.newNodeRebinds()),l(b,i.connectNodesRebinds())),a.remove&&l(b,i.deleteRebinds()),a.expand&&l(b,i.expandRebinds()),a.edit&&l(b,i.editRebinds()),i.rebindAll(b)}},n=function(b){var c=document.createElement("div");i=new EventDispatcherControls(c,f.nodeShaper,f.edgeShaper,f.start,f.dispatcherConfig),c.id="toolbox",c.className="btn-group btn-group-vertical pull-left toolbox",a.appendChild(c),_.each(b,function(a,b){switch(b){case"expand":i.addControlExpand();break;case"create":i.addControlNewNode(),i.addControlConnect();break;case"drag":i.addControlDrag();break;case"edit":i.addControlEdit();break;case"remove":i.addControlDelete()}})},o=function(a){var b=document.createElement("div");i=new EventDispatcherControls(b,f.nodeShaper,f.edgeShaper,f.start,f.dispatcherConfig)},p=function(){b&&(b.nodeShaper&&(b.nodeShaper.label&&(b.nodeShaper.label="label"),b.nodeShaper.shape&&b.nodeShaper.shape.type===NodeShaper.shapes.IMAGE&&b.nodeShaper.shape.source&&(b.nodeShaper.shape.source="image")),b.edgeShaper&&b.edgeShaper.label&&(b.edgeShaper.label="label"))},q=function(){return p(),new GraphViewer(c,d,e,h,b)};d=a.getBoundingClientRect().width,e=a.getBoundingClientRect().height,h={type:"preview"},b=b||{},g=k(b.toolbox),g&&(d-=43),c=j(),f=q(),g?n(b.toolbox):o(),f.loadGraph("1"),m(b.actions)}function GraphViewerUI(a,b,c,d,e,f){"use strict";if(void 0===a)throw"A parent element has to be given.";if(!a.id)throw"The parent element needs an unique id.";if(void 0===b)throw"An adapter configuration has to be given";var g,h,i,j,k,l,m,n,o,p=c+20||a.getBoundingClientRect().width-81+20,q=d||a.getBoundingClientRect().height,r=document.createElement("ul"),s=document.createElement("div"),t=function(){g.adapter.NODES_TO_DISPLAYGraph too big. A random section is rendered.
'),$(".infoField .fa-info-circle").attr("title","You can display additional/other vertices by using the toolbar buttons.").tooltip())},u=function(){var a,b=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f=document.createElement("button"),h=document.createElement("span"),i=document.createElement("input"),j=document.createElement("i"),k=document.createElement("span"),l=function(){$(s).css("cursor","progress")},n=function(){$(s).css("cursor","")},o=function(a){return n(),a&&a.errorCode&&404===a.errorCode?void arangoHelper.arangoError("Graph error","could not find a matching node."):void 0},p=function(){l(),""===a.value||void 0===a.value?g.loadGraph(i.value,o):g.loadGraphWithAttributeValue(a.value,i.value,o)};b.id="filterDropdown",b.className="headerDropdown smallDropdown",c.className="dropdownInner",d.className="queryline",a=document.createElement("input"),m=document.createElement("ul"),e.className="pull-left input-append searchByAttribute",a.id="attribute",a.type="text",a.placeholder="Attribute name",f.id="attribute_example_toggle",f.className="button-neutral gv_example_toggle",h.className="caret gv_caret",m.className="gv-dropdown-menu",i.id="value",i.className="searchInput gv_searchInput",i.type="text",i.placeholder="Attribute value",j.id="loadnode",j.className="fa fa-search",k.className="searchEqualsLabel",k.appendChild(document.createTextNode("==")),c.appendChild(d),d.appendChild(e),e.appendChild(a),e.appendChild(f),e.appendChild(m),f.appendChild(h),d.appendChild(k),d.appendChild(i),d.appendChild(j),j.onclick=p,$(i).keypress(function(a){return 13===a.keyCode||13===a.which?(p(),!1):void 0}),f.onclick=function(){$(m).slideToggle(200)};var q=document.createElement("p");return q.className="dropdown-title",q.innerHTML="Filter graph by attribute:",b.appendChild(q),b.appendChild(c),b},v=function(){var a,b=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f=document.createElement("button"),h=document.createElement("span"),i=document.createElement("input"),j=document.createElement("i"),k=document.createElement("span"),l=function(){$(s).css("cursor","progress")},m=function(){$(s).css("cursor","")},o=function(a){return m(),a&&a.errorCode&&404===a.errorCode?void arangoHelper.arangoError("Graph error","could not find a matching node."):void 0},p=function(){l(),""!==a.value&&g.loadGraphWithAdditionalNode(a.value,i.value,o)};b.id="nodeDropdown",b.className="headerDropdown smallDropdown",c.className="dropdownInner",d.className="queryline",a=document.createElement("input"),n=document.createElement("ul"),e.className="pull-left input-append searchByAttribute",a.id="attribute",a.type="text",a.placeholder="Attribute name",f.id="attribute_example_toggle2",f.className="button-neutral gv_example_toggle",h.className="caret gv_caret",n.className="gv-dropdown-menu",i.id="value",i.className="searchInput gv_searchInput",i.type="text",i.placeholder="Attribute value",j.id="loadnode",j.className="fa fa-search",k.className="searchEqualsLabel",k.appendChild(document.createTextNode("==")),c.appendChild(d),d.appendChild(e),e.appendChild(a),e.appendChild(f),e.appendChild(n),f.appendChild(h),d.appendChild(k),d.appendChild(i),d.appendChild(j),C(n),j.onclick=p,$(i).keypress(function(a){return 13===a.keyCode||13===a.which?(p(),!1):void 0}),f.onclick=function(){$(n).slideToggle(200)};var q=document.createElement("p");return q.className="dropdown-title",q.innerHTML="Add specific node by attribute:",b.appendChild(q),b.appendChild(c),b},w=function(){var a,b,c,d,e,f,g,h;return a=document.createElement("div"),a.id="configureDropdown",a.className="headerDropdown",b=document.createElement("div"),b.className="dropdownInner",c=document.createElement("ul"),d=document.createElement("li"),d.className="nav-header",d.appendChild(document.createTextNode("Vertices")),g=document.createElement("ul"),h=document.createElement("li"),h.className="nav-header",h.appendChild(document.createTextNode("Edges")),e=document.createElement("ul"),f=document.createElement("li"),f.className="nav-header",f.appendChild(document.createTextNode("Connection")),c.appendChild(d),g.appendChild(h),e.appendChild(f),b.appendChild(c),b.appendChild(g),b.appendChild(e),a.appendChild(b),{configure:a,nodes:c,edges:g,col:e}},x=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;return a.className="headerButtonBar",e=document.createElement("ul"),e.className="headerButtonList",a.appendChild(e),g=document.createElement("li"),g.className="enabled",h=document.createElement("a"),h.id=b,h.className="headerButton",i=document.createElement("span"),i.className="icon_arangodb_settings2",$(i).attr("title","Configure"),e.appendChild(g),g.appendChild(h),h.appendChild(i),j=document.createElement("li"),j.className="enabled",k=document.createElement("a"),k.id=d,k.className="headerButton",l=document.createElement("span"),l.className="fa fa-search-plus",$(l).attr("title","Show additional vertices"),e.appendChild(j),j.appendChild(k),k.appendChild(l),m=document.createElement("li"),m.className="enabled",n=document.createElement("a"),n.id=c,n.className="headerButton",o=document.createElement("span"),o.className="icon_arangodb_filter",$(o).attr("title","Filter"),e.appendChild(m),m.appendChild(n),n.appendChild(o),f=w(),f.filter=u(),f.node=v(),h.onclick=function(){$("#filterdropdown").removeClass("activated"),$("#nodedropdown").removeClass("activated"),$("#configuredropdown").toggleClass("activated"),$(f.configure).slideToggle(200),$(f.filter).hide(),$(f.node).hide()},k.onclick=function(){$("#filterdropdown").removeClass("activated"),$("#configuredropdown").removeClass("activated"),$("#nodedropdown").toggleClass("activated"),$(f.node).slideToggle(200),$(f.filter).hide(),$(f.configure).hide()},n.onclick=function(){$("#configuredropdown").removeClass("activated"),$("#nodedropdown").removeClass("activated"),$("#filterdropdown").toggleClass("activated"),$(f.filter).slideToggle(200),$(f.node).hide(),$(f.configure).hide()},f},y=function(){return d3.select("#"+a.id+" #background").append("svg").attr("id","graphViewerSVG").attr("width",p).attr("height",q).attr("class","graph-viewer").style("width",p+"px").style("height",q+"px")},z=function(){var a=document.createElement("div"),b=document.createElement("div"),c=document.createElement("button"),d=document.createElement("button"),e=document.createElement("button"),f=document.createElement("button");a.className="gv_zoom_widget",b.className="gv_zoom_buttons_bg",c.className="btn btn-icon btn-zoom btn-zoom-top gv-zoom-btn pan-top",d.className="btn btn-icon btn-zoom btn-zoom-left gv-zoom-btn pan-left",e.className="btn btn-icon btn-zoom btn-zoom-right gv-zoom-btn pan-right",f.className="btn btn-icon btn-zoom btn-zoom-bottom gv-zoom-btn pan-bottom",c.onclick=function(){g.zoomManager.triggerTranslation(0,-10)},d.onclick=function(){g.zoomManager.triggerTranslation(-10,0)},e.onclick=function(){g.zoomManager.triggerTranslation(10,0)},f.onclick=function(){g.zoomManager.triggerTranslation(0,10)},b.appendChild(c),b.appendChild(d),b.appendChild(e),b.appendChild(f),l=document.createElement("div"),l.id="gv_zoom_slider",l.className="gv_zoom_slider",s.appendChild(a),s.insertBefore(a,o[0][0]),a.appendChild(b),a.appendChild(l),$("#gv_zoom_slider").slider({orientation:"vertical",min:g.zoomManager.getMinimalZoomFactor(),max:1,value:1,step:.01,slide:function(a,b){g.zoomManager.triggerScale(b.value)}}),g.zoomManager.registerSlider($("#gv_zoom_slider"))},A=function(){var a=document.createElement("div"),b=new EventDispatcherControls(a,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig);a.id="toolbox",a.className="btn-group btn-group-vertical toolbox",s.insertBefore(a,o[0][0]),b.addAll(),$("#control_event_expand").click()},B=function(){var a='
  • ';$(".headerBar .headerButtonList").prepend(a)},C=function(a){var b;b=a?$(a):$(m),b.innerHTML="";var c=document.createElement("li"),d=document.createElement("img");$(c).append(d),d.className="gv-throbber",b.append(c),g.adapter.getAttributeExamples(function(a){$(b).html(""),_.each(a,function(a){var c=document.createElement("li"),d=document.createElement("a"),e=document.createElement("label");$(c).append(d),$(d).append(e),$(e).append(document.createTextNode(a)),e.className="gv_dropdown_label",b.append(c),c.onclick=function(){b.value=a,$(b).parent().find("input").val(a),$(b).slideToggle(200)}})})},D=function(){var a=document.createElement("div"),b=document.createElement("div"),c=(document.createElement("a"),x(b,"configuredropdown","filterdropdown","nodedropdown"));i=new NodeShaperControls(c.nodes,g.nodeShaper),j=new EdgeShaperControls(c.edges,g.edgeShaper),k=new GharialAdapterControls(c.col,g.adapter),r.id="menubar",a.className="headerBar",b.id="modifiers",r.appendChild(a),r.appendChild(c.configure),r.appendChild(c.filter),r.appendChild(c.node),a.appendChild(b),k.addControlChangeGraph(function(){C(),g.start(!0)}),k.addControlChangePriority(),i.addControlOpticLabelAndColourList(g.adapter),j.addControlOpticLabelList(),C()},E=function(){h=i.createColourMappingList(),h.className="gv-colour-list",s.insertBefore(h,o[0][0])};a.appendChild(r),a.appendChild(s),s.className="contentDiv gv-background ",s.id="background",e=e||{},e.zoom=!0,o=y(),"undefined"!==Storage&&(this.graphSettings={},this.loadLocalStorage=function(){var a=b.baseUrl.split("/")[2],c=b.graphName+a;if(null===localStorage.getItem("graphSettings")||"null"===localStorage.getItem("graphSettings")){var d={};d[c]={viewer:e,adapter:b},localStorage.setItem("graphSettings",JSON.stringify(d))}else try{var f=JSON.parse(localStorage.getItem("graphSettings"));this.graphSettings=f,void 0!==f[c].viewer&&(e=f[c].viewer),void 0!==f[c].adapter&&(b=f[c].adapter)}catch(g){console.log("Could not load graph settings, resetting graph settings."),this.graphSettings[c]={viewer:e,adapter:b},localStorage.setItem("graphSettings",JSON.stringify(this.graphSettings))}},this.loadLocalStorage(),this.writeLocalStorage=function(){}),g=new GraphViewer(o,p,q,b,e),A(),z(),D(),E(),t(),B(),$("#graphSize").on("change",function(){var a=$("#graphSize").find(":selected").val();g.loadGraphWithRandomStart(function(a){a&&a.errorCode&&arangoHelper.arangoError("Graph","Sorry your graph seems to be empty")},a)}),f&&("string"==typeof f?g.loadGraph(f):g.loadGraphWithRandomStart(function(a){a&&a.errorCode&&arangoHelper.arangoError("Graph","Sorry your graph seems to be empty")})),this.changeWidth=function(a){g.changeWidth(a);var b=a-55;o.attr("width",b).style("width",b+"px")}}function GraphViewerWidget(a,b){"use strict";var c,d,e,f,g,h,i,j,k=function(){return d3.select(d).append("svg").attr("id","graphViewerSVG").attr("width",e).attr("height",f).attr("class","graph-viewer").attr("style","width:"+e+"px;height:"+f+"px;")},l=function(a){var b=0;return _.each(a,function(c,d){c===!1?delete a[d]:b++}),b>0},m=function(a,b){_.each(b,function(b,c){a[c]=a[c]||{},_.each(b,function(b,d){a[c][d]=b})})},n=function(a){if(a){var b={};a.drag&&m(b,j.dragRebinds()),a.create&&(m(b,j.newNodeRebinds()),m(b,j.connectNodesRebinds())),a.remove&&m(b,j.deleteRebinds()),a.expand&&m(b,j.expandRebinds()),a.edit&&m(b,j.editRebinds()),j.rebindAll(b)}},o=function(a){var b=document.createElement("div");j=new EventDispatcherControls(b,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig),b.id="toolbox",b.className="btn-group btn-group-vertical pull-left toolbox",d.appendChild(b),_.each(a,function(a,b){switch(b){case"expand":j.addControlExpand();break;case"create":j.addControlNewNode(),j.addControlConnect();break;case"drag":j.addControlDrag();break;case"edit":j.addControlEdit();break;case"remove":j.addControlDelete()}})},p=function(a){var b=document.createElement("div");j=new EventDispatcherControls(b,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig)},q=function(){return new GraphViewer(c,e,f,i,a)};d=document.body,e=d.getBoundingClientRect().width,f=d.getBoundingClientRect().height,i={type:"foxx",route:"."},a=a||{},h=l(a.toolbox),h&&(e-=43),c=k(),g=q(),h?o(a.toolbox):p(),b&&g.loadGraph(b),n(a.actions)}function LayouterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The Layouter has to be given.";var c=this;this.addControlGravity=function(){var c="control_layout_gravity",d=c+"_";uiComponentsHelper.createButton(a,"Gravity",c,function(){modalDialogHelper.createModalDialog("Switch Gravity Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({gravity:a})})})},this.addControlCharge=function(){var c="control_layout_charge",d=c+"_";uiComponentsHelper.createButton(a,"Charge",c,function(){modalDialogHelper.createModalDialog("Switch Charge Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({charge:a})})})},this.addControlDistance=function(){var c="control_layout_distance",d=c+"_";uiComponentsHelper.createButton(a,"Distance",c,function(){modalDialogHelper.createModalDialog("Switch Distance Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({distance:a})})})},this.addAll=function(){c.addControlDistance(),c.addControlGravity(),c.addControlCharge()}}function NodeShaperControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The NodeShaper has to be given.";var c,d=this,e=function(a){for(;c.hasChildNodes();)c.removeChild(c.lastChild);var b=document.createElement("ul");c.appendChild(b),_.each(a,function(a,c){var d=document.createElement("ul"),e=a.list,f=a.front;d.style.backgroundColor=c,d.style.color=f,_.each(e,function(a){var b=document.createElement("li");b.appendChild(document.createTextNode(a)),d.appendChild(b)}),b.appendChild(d)})};this.addControlOpticShapeNone=function(){uiComponentsHelper.createButton(a,"None","control_node_none",function(){b.changeTo({shape:{type:NodeShaper.shapes.NONE}})})},this.applyLocalStorage=function(a){if("undefined"!==Storage)try{var b=JSON.parse(localStorage.getItem("graphSettings")),c=window.location.hash.split("/")[1],d=window.location.pathname.split("/")[2],e=c+d;_.each(a,function(a,c){void 0!==c&&(b[e].viewer.nodeShaper[c]=a)}),localStorage.setItem("graphSettings",JSON.stringify(b))}catch(f){console.log(f)}},this.addControlOpticShapeCircle=function(){var c="control_node_circle",d=c+"_";uiComponentsHelper.createButton(a,"Circle",c,function(){modalDialogHelper.createModalDialog("Switch to Circle",d,[{type:"text",id:"radius"}],function(){var a=$("#"+d+"radius").attr("value");b.changeTo({shape:{type:NodeShaper.shapes.CIRCLE,radius:a}})})})},this.addControlOpticShapeRect=function(){var c="control_node_rect",d=c+"_";uiComponentsHelper.createButton(a,"Rectangle",c,function(){modalDialogHelper.createModalDialog("Switch to Rectangle","control_node_rect_",[{type:"text",id:"width"},{type:"text",id:"height"}],function(){var a=$("#"+d+"width").attr("value"),c=$("#"+d+"height").attr("value");b.changeTo({shape:{type:NodeShaper.shapes.RECT,width:a,height:c}})})})},this.addControlOpticLabel=function(){var c="control_node_label",e=c+"_";uiComponentsHelper.createButton(a,"Configure Label",c,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",e,[{type:"text",id:"key"}],function(){var a=$("#"+e+"key").attr("value"),c={label:a};d.applyLocalStorage(c),b.changeTo(c)})})},this.addControlOpticSingleColour=function(){var c="control_node_singlecolour",d=c+"_";uiComponentsHelper.createButton(a,"Single Colour",c,function(){modalDialogHelper.createModalDialog("Switch to Colour",d,[{type:"text",id:"fill"},{type:"text",id:"stroke"}],function(){var a=$("#"+d+"fill").attr("value"),c=$("#"+d+"stroke").attr("value");b.changeTo({color:{type:"single",fill:a,stroke:c}})})})},this.addControlOpticAttributeColour=function(){var c="control_node_attributecolour",d=c+"_";uiComponentsHelper.createButton(a,"Colour by Attribute",c,function(){modalDialogHelper.createModalDialog("Display colour by attribute",d,[{type:"text",id:"key"}],function(){var a=$("#"+d+"key").attr("value"); -b.changeTo({color:{type:"attribute",key:a}})})})},this.addControlOpticExpandColour=function(){var c="control_node_expandcolour",d=c+"_";uiComponentsHelper.createButton(a,"Expansion Colour",c,function(){modalDialogHelper.createModalDialog("Display colours for expansion",d,[{type:"text",id:"expanded"},{type:"text",id:"collapsed"}],function(){var a=$("#"+d+"expanded").attr("value"),c=$("#"+d+"collapsed").attr("value");b.changeTo({color:{type:"expand",expanded:a,collapsed:c}})})})},this.addControlOpticLabelAndColour=function(e){var f="control_node_labelandcolour",g=f+"_";uiComponentsHelper.createButton(a,"Configure Label",f,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",g,[{type:"text",id:"label-attribute",text:"Vertex label attribute",value:b.getLabel()||""},{type:"decission",id:"samecolour",group:"colour",text:"Use this attribute for coloring, too",isDefault:b.getLabel()===b.getColor()},{type:"decission",id:"othercolour",group:"colour",text:"Use different attribute for coloring",isDefault:b.getLabel()!==b.getColor(),interior:[{type:"text",id:"colour-attribute",text:"Color attribute",value:b.getColor()||""}]}],function(){var a=$("#"+g+"label-attribute").attr("value"),e=$("#"+g+"colour-attribute").attr("value"),f=$("input[type='radio'][name='colour']:checked").attr("id");f===g+"samecolour"&&(e=a);var h={label:a,color:{type:"attribute",key:e}};d.applyLocalStorage(h),b.changeTo(h),void 0===c&&(c=d.createColourMappingList())})})},this.addControlOpticLabelAndColourList=function(e){var f="control_node_labelandcolourlist",g=f+"_";uiComponentsHelper.createButton(a,"Configure Label",f,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",g,[{type:"extendable",id:"label",text:"Vertex label attribute",objects:b.getLabel()},{type:"decission",id:"samecolour",group:"colour",text:"Use this attribute for coloring, too",isDefault:b.getLabel()===b.getColor()},{type:"decission",id:"othercolour",group:"colour",text:"Use different attribute for coloring",isDefault:b.getLabel()!==b.getColor(),interior:[{type:"extendable",id:"colour",text:"Color attribute",objects:b.getColor()||""}]}],function(){var a=$("input[id^="+g+"label_]"),e=$("input[id^="+g+"colour_]"),f=$("input[type='radio'][name='colour']:checked").attr("id"),h=[],i=[];a.each(function(a,b){var c=$(b).val();""!==c&&h.push(c)}),e.each(function(a,b){var c=$(b).val();""!==c&&i.push(c)}),f===g+"samecolour"&&(i=h);var j={label:h,color:{type:"attribute",key:i}};d.applyLocalStorage(j),b.changeTo(j),void 0===c&&(c=d.createColourMappingList())})})},this.addAllOptics=function(){d.addControlOpticShapeNone(),d.addControlOpticShapeCircle(),d.addControlOpticShapeRect(),d.addControlOpticLabel(),d.addControlOpticSingleColour(),d.addControlOpticAttributeColour(),d.addControlOpticExpandColour()},this.addAllActions=function(){},this.addAll=function(){d.addAllOptics(),d.addAllActions()},this.createColourMappingList=function(){return void 0!==c?c:(c=document.createElement("div"),c.id="node_colour_list",e(b.getColourMapping()),b.setColourMappingListener(e),c)}}function GraphViewer(a,b,c,d,e){"use strict";if($("html").attr("xmlns:xlink","http://www.w3.org/1999/xlink"),void 0===a||void 0===a.append)throw"SVG has to be given and has to be selected using d3.select";if(void 0===b||0>=b)throw"A width greater 0 has to be given";if(void 0===c||0>=c)throw"A height greater 0 has to be given";if(void 0===d||void 0===d.type)throw"An adapter configuration has to be given";var f,g,h,i,j,k,l,m,n=this,o=[],p=[],q=function(a){if(!a)return a={},a.nodes=p,a.links=o,a.width=b,a.height=c,void(i=new ForceLayouter(a));switch(a.type.toLowerCase()){case"force":a.nodes=p,a.links=o,a.width=b,a.height=c,i=new ForceLayouter(a);break;default:throw"Sorry unknown layout type."}},r=function(a){f.setNodeLimit(a,n.start)},s=function(d){d&&(j=new ZoomManager(b,c,a,k,g,h,{},r))},t=function(a){var b=a.edgeShaper||{},c=a.nodeShaper||{},d=c.idfunc||void 0,e=a.zoom||!1;b.shape=b.shape||{type:EdgeShaper.shapes.ARROW},q(a.layouter),m=k.append("g"),h=new EdgeShaper(m,b),l=k.append("g"),g=new NodeShaper(l,c,d),i.setCombinedUpdateFunction(g,h),s(e)};switch(d.type.toLowerCase()){case"arango":d.width=b,d.height=c,f=new ArangoAdapter(p,o,this,d),f.setChildLimit(10);break;case"gharial":d.width=b,d.height=c,f=new GharialAdapter(p,o,this,d),f.setChildLimit(10);break;case"foxx":d.width=b,d.height=c,f=new FoxxAdapter(p,o,d.route,this,d);break;case"json":f=new JSONAdapter(d.path,p,o,this,b,c);break;case"preview":d.width=b,d.height=c,f=new PreviewAdapter(p,o,this,d);break;default:throw"Sorry unknown adapter type."}k=a.append("g"),t(e||{}),this.start=function(a){i.stop(),a&&(""!==$(".infoField").text()?_.each(p,function(a){_.each(f.randomNodes,function(b){a._id===b._id&&(a._expanded=!0)})}):_.each(p,function(a){a._expanded=!0})),g.drawNodes(p),h.drawEdges(o),i.start()},this.loadGraph=function(a,b){f.loadInitialNode(a,function(a){return a.errorCode?void b(a):(a._expanded=!0,n.start(),void(_.isFunction(b)&&b()))})},this.loadGraphWithRandomStart=function(a,b){f.loadRandomNode(function(b){return b.errorCode&&404===b.errorCode?void a(b):(b._expanded=!0,n.start(!0),void(_.isFunction(a)&&a()))},b)},this.loadGraphWithAdditionalNode=function(a,b,c){f.loadAdditionalNodeByAttributeValue(a,b,function(a){return a.errorCode?void c(a):(a._expanded=!0,n.start(),void(_.isFunction(c)&&c()))})},this.loadGraphWithAttributeValue=function(a,b,c){f.randomNodes=[],f.definedNodes=[],f.loadInitialNodeByAttributeValue(a,b,function(a){return a.errorCode?void c(a):(a._expanded=!0,n.start(),void(_.isFunction(c)&&c()))})},this.cleanUp=function(){g.resetColourMap(),h.resetColourMap()},this.changeWidth=function(a){i.changeWidth(a),j.changeWidth(a),f.setWidth(a)},this.dispatcherConfig={expand:{edges:o,nodes:p,startCallback:n.start,adapter:f,reshapeNodes:g.reshapeNodes},drag:{layouter:i},nodeEditor:{nodes:p,adapter:f},edgeEditor:{edges:o,adapter:f}},this.adapter=f,this.nodeShaper=g,this.edgeShaper=h,this.layouter=i,this.zoomManager=j}EdgeShaper.shapes=Object.freeze({NONE:0,ARROW:1}),NodeShaper.shapes=Object.freeze({NONE:0,CIRCLE:1,RECT:2,IMAGE:3});var modalDialogHelper=modalDialogHelper||{};!function(){"use strict";var a,b=function(a){$(document).bind("keypress.key13",function(b){b.which&&13===b.which&&$(a).click()})},c=function(){$(document).unbind("keypress.key13")},d=function(a,b,c,d,e){var f,g,h=function(){e(f)},i=modalDialogHelper.modalDivTemplate(a,b,c,h),j=document.createElement("tr"),k=document.createElement("th"),l=document.createElement("th"),m=document.createElement("th"),n=document.createElement("button"),o=1;f=function(){var a={};return _.each($("#"+c+"table tr:not(#first_row)"),function(b){var c=$(".keyCell input",b).val(),d=$(".valueCell input",b).val();a[c]=d}),a},i.appendChild(j),j.id="first_row",j.appendChild(k),k.className="keyCell",j.appendChild(l),l.className="valueCell",j.appendChild(m),m.className="actionCell",m.appendChild(n),n.id=c+"new",n.className="graphViewer-icon-button gv-icon-small add",g=function(a,b){var d,e,f,g=/^_(id|rev|key|from|to)/,h=document.createElement("tr"),j=document.createElement("th"),k=document.createElement("th"),l=document.createElement("th");g.test(b)||(i.appendChild(h),h.appendChild(k),k.className="keyCell",e=document.createElement("input"),e.type="text",e.id=c+b+"_key",e.value=b,k.appendChild(e),h.appendChild(l),l.className="valueCell",f=document.createElement("input"),f.type="text",f.id=c+b+"_value","object"==typeof a?f.value=JSON.stringify(a):f.value=a,l.appendChild(f),h.appendChild(j),j.className="actionCell",d=document.createElement("button"),d.id=c+b+"_delete",d.className="graphViewer-icon-button gv-icon-small delete",j.appendChild(d),d.onclick=function(){i.removeChild(h)})},n.onclick=function(){g("","new_"+o),o++},_.each(d,g),$("#"+c+"modal").modal("show")},e=function(a,b,c,d,e){var f=modalDialogHelper.modalDivTemplate(a,b,c,e),g=document.createElement("tr"),h=document.createElement("th"),i=document.createElement("pre");f.appendChild(g),g.appendChild(h),h.appendChild(i),i.className="gv-object-view",i.innerHTML=JSON.stringify(d,null,2),$("#"+c+"modal").modal("show")},f=function(a,b){var c=document.createElement("input");return c.type="text",c.id=a,c.value=b,c},g=function(a,b){var c=document.createElement("input");return c.type="checkbox",c.id=a,c.checked=b,c},h=function(a,b,c){var d=document.createElement("select");return d.id=a,_.each(_.sortBy(b,function(a){return a.toLowerCase()}),function(a){var b=document.createElement("option");b.value=a,b.selected=a===c,b.appendChild(document.createTextNode(a)),d.appendChild(b)}),d},i=function(a){var b=$(".decission_"+a),c=$("input[type='radio'][name='"+a+"']:checked").attr("id");b.each(function(){$(this).attr("decider")===c?$(this).css("display",""):$(this).css("display","none")})},j=function(b,c,d,e,f,g,h,j){var k=document.createElement("input"),l=b+c,m=document.createElement("label"),n=document.createElement("tbody");k.id=l,k.type="radio",k.name=d,k.className="gv-radio-button",m.className="radio",h.appendChild(m),m.appendChild(k),m.appendChild(document.createTextNode(e)),j.appendChild(n),$(n).toggleClass("decission_"+d,!0),$(n).attr("decider",l),_.each(g,function(c){a(n,b,c)}),f?k.checked=!0:k.checked=!1,m.onclick=function(a){i(d),a.stopPropagation()},i(d)},k=function(a,b,c,d,e,f){var g,h=[],i=a+b,j=1,k=document.createElement("th"),l=document.createElement("button"),m=document.createElement("input"),n=function(a){j++;var c,d=document.createElement("tr"),g=document.createElement("th"),k=document.createElement("th"),l=document.createElement("th"),m=document.createElement("input"),n=document.createElement("button");m.type="text",m.id=i+"_"+j,m.value=a||"",c=0===h.length?$(f):$(h[h.length-1]),c.after(d),d.appendChild(g),g.className="collectionTh capitalize",g.appendChild(document.createTextNode(b+" "+j+":")),d.appendChild(k),k.className="collectionTh",k.appendChild(m),n.id=i+"_"+j+"_remove",n.className="graphViewer-icon-button gv-icon-small delete",n.onclick=function(){e.removeChild(d),h.splice(h.indexOf(d),1)},l.appendChild(n),d.appendChild(l),h.push(d)};for(m.type="text",m.id=i+"_1",d.appendChild(m),k.appendChild(l),f.appendChild(k),l.onclick=function(){n()},l.id=i+"_addLine",l.className="graphViewer-icon-button gv-icon-small add","string"==typeof c&&c.length>0&&(c=[c]),c.length>0&&(m.value=c[0]),g=1;g'+c+""),a.disabled||$("#subNavigationBar .bottom").children().last().bind("click",function(){window.App.navigate(a.route,{trigger:!0})})})},buildUserSubNav:function(a,b){var c={General:{route:"#user/"+encodeURIComponent(a)},Permissions:{route:"#user/"+encodeURIComponent(a)+"/permission"}};c[b].active=!0,this.buildSubNavBar(c)},buildNodeSubNav:function(a,b,c){var d={Dashboard:{route:"#node/"+encodeURIComponent(a)}};d[b].active=!0,d[c].disabled=!0,this.buildSubNavBar(d)},buildNodesSubNav:function(a,b){var c={Overview:{route:"#nodes"},Shards:{route:"#shards"}};c[a].active=!0,b&&(c[b].disabled=!0),this.buildSubNavBar(c)},scaleability:void 0,buildCollectionSubNav:function(a,b){var c="#collection/"+encodeURIComponent(a),d={Content:{route:c+"/documents/1"},Indices:{route:"#cIndices/"+encodeURIComponent(a)},Info:{route:"#cInfo/"+encodeURIComponent(a)},Settings:{route:"#cSettings/"+encodeURIComponent(a)}};d[b].active=!0,this.buildSubNavBar(d)},enableKeyboardHotkeys:function(a){var b=window.arangoHelper.hotkeysFunctions;a===!0&&($(document).on("keydown",null,"j",b.scrollDown),$(document).on("keydown",null,"k",b.scrollUp))},databaseAllowed:function(a){var b=function(b,c){b?arangoHelper.arangoError("",""):$.ajax({type:"GET",cache:!1,url:this.databaseUrl("/_api/database/",c),contentType:"application/json",processData:!1,success:function(){a(!1,!0)},error:function(){a(!0,!1)}})}.bind(this);this.currentDatabase(b)},arangoNotification:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"success"})},arangoError:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"error"})},arangoWarning:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"warning"})},hideArangoNotifications:function(){$.noty.clearQueue(),$.noty.closeAll()},openDocEditor:function(a,b,c){var d=a.split("/"),e=this,f=new window.DocumentView({collection:window.App.arangoDocumentStore});f.breadcrumb=function(){},f.colid=d[0],f.docid=d[1],f.el=".arangoFrame .innerDiv",f.render(),f.setType(b),$(".arangoFrame .headerBar").remove(),$(".arangoFrame .outerDiv").prepend(''),$(".arangoFrame .outerDiv").click(function(){e.closeDocEditor()}),$(".arangoFrame .innerDiv").click(function(a){a.stopPropagation()}),$(".fa-times").click(function(){e.closeDocEditor()}),$(".arangoFrame").show(),f.customView=!0,f.customDeleteFunction=function(){window.modalView.hide(),$(".arangoFrame").hide()},$(".arangoFrame #deleteDocumentButton").click(function(){f.deleteDocumentModal()}),$(".arangoFrame #saveDocumentButton").click(function(){f.saveDocument()}),$(".arangoFrame #deleteDocumentButton").css("display","none")},closeDocEditor:function(){$(".arangoFrame .outerDiv .fa-times").remove(),$(".arangoFrame").hide()},addAardvarkJob:function(a,b){$.ajax({cache:!1,type:"POST",url:this.databaseUrl("/_admin/aardvark/job"),data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){b&&b(!1,a)},error:function(a){b&&b(!0,a)}})},deleteAardvarkJob:function(a,b){$.ajax({cache:!1,type:"DELETE",url:this.databaseUrl("/_admin/aardvark/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a){b&&b(!1,a)},error:function(a){b&&b(!0,a)}})},deleteAllAardvarkJobs:function(a){$.ajax({cache:!1,type:"DELETE",url:this.databaseUrl("/_admin/aardvark/job"),contentType:"application/json",processData:!1,success:function(b){a&&a(!1,b)},error:function(b){a&&a(!0,b)}})},getAardvarkJobs:function(a){$.ajax({cache:!1,type:"GET",url:this.databaseUrl("/_admin/aardvark/job"),contentType:"application/json",processData:!1,success:function(b){a&&a(!1,b)},error:function(b){a&&a(!0,b)}})},getPendingJobs:function(a){$.ajax({cache:!1,type:"GET",url:this.databaseUrl("/_api/job/pending"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},syncAndReturnUninishedAardvarkJobs:function(a,b){var c=function(c,d){if(c)b(!0);else{var e=function(c,e){if(c)arangoHelper.arangoError("","");else{var f=[];e.length>0?_.each(d,function(b){if(b.type===a||void 0===b.type){var c=!1;_.each(e,function(a){b.id===a&&(c=!0)}),c?f.push({collection:b.collection,id:b.id,type:b.type,desc:b.desc}):window.arangoHelper.deleteAardvarkJob(b.id)}}):d.length>0&&this.deleteAllAardvarkJobs(),b(!1,f)}}.bind(this);this.getPendingJobs(e)}}.bind(this);this.getAardvarkJobs(c)},getRandomToken:function(){return Math.round((new Date).getTime())},isSystemAttribute:function(a){var b=this.systemAttributes();return b[a]},isSystemCollection:function(a){return"_"===a.name.substr(0,1)},setDocumentStore:function(a){this.arangoDocumentStore=a},collectionApiType:function(a,b,c){if(b||void 0===this.CollectionTypes[a]){var d=function(b,c,d){b?arangoHelper.arangoError("Error","Could not detect collection type"):(this.CollectionTypes[a]=c.type,3===this.CollectionTypes[a]?d(!1,"edge"):d(!1,"document"))}.bind(this);this.arangoDocumentStore.getCollectionInfo(a,d,c)}else c(!1,this.CollectionTypes[a])},collectionType:function(a){if(!a||""===a.name)return"-";var b;return b=2===a.type?"document":3===a.type?"edge":"unknown",this.isSystemCollection(a)&&(b+=" (system)"),b},formatDT:function(a){var b=function(a){return 10>a?"0"+a:a};return a.getUTCFullYear()+"-"+b(a.getUTCMonth()+1)+"-"+b(a.getUTCDate())+" "+b(a.getUTCHours())+":"+b(a.getUTCMinutes())+":"+b(a.getUTCSeconds())},escapeHtml:function(a){return String(a).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},backendUrl:function(a){return frontendConfig.basePath+a},databaseUrl:function(a,b){if("/_db/"===a.substr(0,5))throw new Error("Calling databaseUrl with a databased url ("+a+") doesn't make any sense");return b||(b="_system",frontendConfig.db&&(b=frontendConfig.db)),this.backendUrl("/_db/"+encodeURIComponent(b)+a)},download:function(a){$.ajax(a).success(function(a,b,c){var d=new Blob([JSON.stringify(a)],{type:c.getResponseHeader("Content-Type")||"application/octet-stream"}),e=window.URL.createObjectURL(d),f=document.createElement("a");document.body.appendChild(f),f.style="display: none",f.href=e,f.download=c.getResponseHeader("Content-Disposition").replace(/.* filename="([^")]*)"/,"$1"),f.click(),window.URL.revokeObjectURL(e),document.body.removeChild(f)})}}}(),function(){"use strict";if(!window.hasOwnProperty("TEST_BUILD")){var a=function(){var a={};return a.createTemplate=function(a){var b=$("#"+a.replace(".","\\.")).html();return{render:function(a){var c=_.template(b);return c=c(a)}}},a};window.templateEngine=new a}}(),function(){"use strict";window.dygraphConfig={defaultFrame:12e5,zeropad:function(a){return 10>a?"0"+a:a},xAxisFormat:function(a){if(-1===a)return"";var b=new Date(a);return this.zeropad(b.getHours())+":"+this.zeropad(b.getMinutes())+":"+this.zeropad(b.getSeconds())},mergeObjects:function(a,b,c){c||(c=[]);var d,e={};return c.forEach(function(c){var d=a[c],f=b[c];void 0===d&&(d={}),void 0===f&&(f={}),e[c]=_.extend(d,f)}),d=_.extend(a,b),Object.keys(e).forEach(function(a){d[a]=e[a]}),d},mapStatToFigure:{pageFaults:["times","majorPageFaultsPerSecond","minorPageFaultsPerSecond"],systemUserTime:["times","systemTimePerSecond","userTimePerSecond"],totalTime:["times","avgQueueTime","avgRequestTime","avgIoTime"],dataTransfer:["times","bytesSentPerSecond","bytesReceivedPerSecond"],requests:["times","getsPerSecond","putsPerSecond","postsPerSecond","deletesPerSecond","patchesPerSecond","headsPerSecond","optionsPerSecond","othersPerSecond"]},colors:["rgb(95, 194, 135)","rgb(238, 190, 77)","#81ccd8","#7ca530","#3c3c3c","#aa90bd","#e1811d","#c7d4b2","#d0b2d4"],figureDependedOptions:{clusterRequestsPerSecond:{showLabelsOnHighlight:!0,title:"",header:"Cluster Requests per Second",stackedGraph:!0,div:"lineGraphLegend",labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},pageFaults:{header:"Page Faults",visibility:[!0,!1],labels:["datetime","Major Page","Minor Page"],div:"pageFaultsChart",labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},systemUserTime:{div:"systemUserTimeChart",header:"System and User Time",labels:["datetime","System Time","User Time"],stackedGraph:!0,labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},totalTime:{div:"totalTimeChart",header:"Total Time",labels:["datetime","Queue","Computation","I/O"],labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}},stackedGraph:!0},dataTransfer:{header:"Data Transfer",labels:["datetime","Bytes sent","Bytes received"],stackedGraph:!0,div:"dataTransferChart"},requests:{header:"Requests",labels:["datetime","Reads","Writes"],stackedGraph:!0,div:"requestsChart",axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}}},getDashBoardFigures:function(a){var b=[],c=this;return Object.keys(this.figureDependedOptions).forEach(function(d){"clusterRequestsPerSecond"!==d&&(c.figureDependedOptions[d].div||a)&&b.push(d)}),b},getDefaultConfig:function(a){var b=this,c={digitsAfterDecimal:1,drawGapPoints:!0,fillGraph:!0,fillAlpha:.85,showLabelsOnHighlight:!1,strokeWidth:0,lineWidth:0,strokeBorderWidth:0,includeZero:!0,highlightCircleSize:2.5,labelsSeparateLines:!0,strokeBorderColor:"rgba(0,0,0,0)",interactionModel:{},maxNumberWidth:10,colors:[this.colors[0]],xAxisLabelWidth:"50",rightGap:15,showRangeSelector:!1,rangeSelectorHeight:50,rangeSelectorPlotStrokeColor:"#365300",rangeSelectorPlotFillColor:"",pixelsPerLabel:50,labelsKMG2:!0,dateWindow:[(new Date).getTime()-this.defaultFrame,(new Date).getTime()],axes:{x:{valueFormatter:function(a){return b.xAxisFormat(a)}},y:{ticker:Dygraph.numericLinearTicks}}};return this.figureDependedOptions[a]&&(c=this.mergeObjects(c,this.figureDependedOptions[a],["axes"]),c.div&&c.labels&&(c.colors=this.getColors(c.labels),c.labelsDiv=document.getElementById(c.div+"Legend"),c.legend="always",c.showLabelsOnHighlight=!0)),c},getDetailChartConfig:function(a){var b=_.extend(this.getDefaultConfig(a),{showRangeSelector:!0,interactionModel:null,showLabelsOnHighlight:!0,highlightCircleSize:2.5,legend:"always",labelsDiv:"div#detailLegend.dashboard-legend-inner"});return"pageFaults"===a&&(b.visibility=[!0,!0]),b.labels||(b.labels=["datetime",b.header],b.colors=this.getColors(b.labels)),b},getColors:function(a){var b;return b=this.colors.concat([]),b.slice(0,a.length-1)}}}(),function(){"use strict";window.arangoCollectionModel=Backbone.Model.extend({idAttribute:"name",urlRoot:arangoHelper.databaseUrl("/_api/collection"),defaults:{id:"",name:"",status:"",type:"",isSystem:!1,picture:"",locked:!1,desc:void 0},getProperties:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+encodeURIComponent(this.get("id"))+"/properties"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},getFigures:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/figures"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(){a(!0)}})},getRevision:function(a,b){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/revision"),contentType:"application/json",processData:!1,success:function(c){a(!1,c,b)},error:function(){a(!0)}})},getIndex:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/index/?collection="+this.get("id")),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},createIndex:function(a,b){var c=this;$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/index?collection="+c.get("id")),headers:{"x-arango-async":"store"},data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a,d,e){e.getResponseHeader("x-arango-async-id")?(window.arangoHelper.addAardvarkJob({id:e.getResponseHeader("x-arango-async-id"),type:"index",desc:"Creating Index",collection:c.get("id")}),b(!1,a)):b(!0,a)},error:function(a){b(!0,a)}})},deleteIndex:function(a,b){var c=this;$.ajax({cache:!1,type:"DELETE",url:arangoHelper.databaseUrl("/_api/index/"+this.get("name")+"/"+encodeURIComponent(a)),headers:{"x-arango-async":"store"},success:function(a,d,e){e.getResponseHeader("x-arango-async-id")?(window.arangoHelper.addAardvarkJob({id:e.getResponseHeader("x-arango-async-id"),type:"index",desc:"Removing Index",collection:c.get("id")}),b(!1,a)):b(!0,a)},error:function(a){b(!0,a)}}),b()},truncateCollection:function(){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/truncate"),success:function(){arangoHelper.arangoNotification("Collection truncated.")},error:function(){arangoHelper.arangoError("Collection error."); -}})},loadCollection:function(a){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/load"),success:function(){a(!1)},error:function(){a(!0)}}),a()},unloadCollection:function(a){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/unload?flush=true"),success:function(){a(!1)},error:function(){a(!0)}}),a()},renameCollection:function(a,b){var c=this;$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/rename"),data:JSON.stringify({name:a}),contentType:"application/json",processData:!1,success:function(){c.set("name",a),b(!1)},error:function(a){b(!0,a)}})},changeCollection:function(a,b,c,d){var e=!1;"true"===a?a=!0:"false"===a&&(a=!1);var f={waitForSync:a,journalSize:parseInt(b),indexBuckets:parseInt(c)};return $.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/properties"),data:JSON.stringify(f),contentType:"application/json",processData:!1,success:function(){d(!1)},error:function(a){d(!1,a)}}),e}})}(),window.DatabaseModel=Backbone.Model.extend({idAttribute:"name",initialize:function(){"use strict"},isNew:function(){"use strict";return!1},sync:function(a,b,c){"use strict";return"update"===a&&(a="create"),Backbone.sync(a,b,c)},url:arangoHelper.databaseUrl("/_api/database"),defaults:{}}),window.arangoDocumentModel=Backbone.Model.extend({initialize:function(){"use strict"},urlRoot:arangoHelper.databaseUrl("/_api/document"),defaults:{_id:"",_rev:"",_key:""},getSorted:function(){"use strict";var a=this,b=Object.keys(a.attributes).sort(function(a,b){var c=arangoHelper.isSystemAttribute(a),d=arangoHelper.isSystemAttribute(b);return c!==d?c?-1:1:b>a?-1:1}),c={};return _.each(b,function(b){c[b]=a.attributes[b]}),c}}),function(){"use strict";window.ArangoQuery=Backbone.Model.extend({urlRoot:arangoHelper.databaseUrl("/_api/user"),defaults:{name:"",type:"custom",value:""}})}(),window.Replication=Backbone.Model.extend({defaults:{state:{},server:{}},initialize:function(){}}),window.Statistics=Backbone.Model.extend({defaults:{},url:function(){"use strict";return"/_admin/statistics"}}),window.StatisticsDescription=Backbone.Model.extend({defaults:{figures:"",groups:""},url:function(){"use strict";return"/_admin/statistics-description"}}),window.Users=Backbone.Model.extend({defaults:{user:"",active:!1,extra:{}},idAttribute:"user",parse:function(a){return this.isNotNew=!0,a},isNew:function(){return!this.isNotNew},url:function(){return this.isNew()?arangoHelper.databaseUrl("/_api/user"):""!==this.get("user")?arangoHelper.databaseUrl("/_api/user/"+this.get("user")):arangoHelper.databaseUrl("/_api/user")},checkPassword:function(a,b){$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({passwd:a}),contentType:"application/json",processData:!1,success:function(a){b(!1,a)},error:function(a){b(!0,a)}})},setPassword:function(a){$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({passwd:a}),contentType:"application/json",processData:!1})},setExtras:function(a,b,c){$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({extra:{name:a,img:b}}),contentType:"application/json",processData:!1,success:function(){c(!1)},error:function(){c(!0)}})}}),function(){"use strict";window.ClusterCoordinator=Backbone.Model.extend({defaults:{name:"",status:"ok",address:"",protocol:""},idAttribute:"name",forList:function(){return{name:this.get("name"),status:this.get("status"),url:this.get("url")}}})}(),function(){"use strict";window.ClusterServer=Backbone.Model.extend({defaults:{name:"",address:"",role:"",status:"ok"},idAttribute:"name",forList:function(){return{name:this.get("name"),address:this.get("address"),status:this.get("status")}}})}(),function(){"use strict";window.Coordinator=Backbone.Model.extend({defaults:{address:"",protocol:"",name:"",status:""}})}(),function(){"use strict";window.CurrentDatabase=Backbone.Model.extend({url:arangoHelper.databaseUrl("/_api/database/current",frontendConfig.db),parse:function(a){return a.result}})}(),function(){"use strict";var a=function(a,b,c,d,e,f){var g={contentType:"application/json",processData:!1,type:c};b=b||function(){},f=_.extend({mount:a.encodedMount()},f);var h=_.reduce(f,function(a,b,c){return a+encodeURIComponent(c)+"="+encodeURIComponent(b)+"&"},"?");g.url=arangoHelper.databaseUrl("/_admin/aardvark/foxxes"+(d?"/"+d:"")+h.slice(0,h.length-1)),void 0!==e&&(g.data=JSON.stringify(e)),$.ajax(g).then(function(a){b(null,a)},function(a){window.xhr=a,b(_.extend(a.status?new Error(a.responseJSON?a.responseJSON.errorMessage:a.responseText):new Error("Network Error"),{statusCode:a.status}))})};window.Foxx=Backbone.Model.extend({idAttribute:"mount",defaults:{author:"Unknown Author",name:"",version:"Unknown Version",description:"No description",license:"Unknown License",contributors:[],scripts:{},config:{},deps:{},git:"",system:!1,development:!1},isNew:function(){return!1},encodedMount:function(){return encodeURIComponent(this.get("mount"))},destroy:function(b,c){a(this,c,"DELETE",void 0,void 0,b)},isBroken:function(){return!1},needsAttention:function(){return this.isBroken()||this.needsConfiguration()||this.hasUnconfiguredDependencies()},needsConfiguration:function(){return _.any(this.get("config"),function(a){return void 0===a.current&&a.required!==!1})},hasUnconfiguredDependencies:function(){return _.any(this.get("deps"),function(a){return void 0===a.current&&a.definition.required!==!1})},getConfiguration:function(b){a(this,function(a,c){a||this.set("config",c),"function"==typeof b&&b(a,c)}.bind(this),"GET","config")},setConfiguration:function(b,c){a(this,c,"PATCH","config",b)},getDependencies:function(b){a(this,function(a,c){a||this.set("deps",c),"function"==typeof b&&b(a,c)}.bind(this),"GET","deps")},setDependencies:function(b,c){a(this,c,"PATCH","deps",b)},toggleDevelopment:function(b,c){a(this,function(a,d){a||this.set("development",b),"function"==typeof c&&c(a,d)}.bind(this),"PATCH","devel",b)},runScript:function(b,c,d){a(this,d,"POST","scripts/"+b,c)},runTests:function(b,c){a(this,function(a,b){"function"==typeof c&&c(a?a.responseJSON:a,b)}.bind(this),"POST","tests",b)},isSystem:function(){return this.get("system")},isDevelopment:function(){return this.get("development")},download:function(){arangoHelper.download(arangoHelper.databaseUrl("/_admin/aardvark/foxxes/download/zip?mount="+this.encodedMount()))},fetchThumbnail:function(a){var b=new XMLHttpRequest;b.responseType="blob",b.onload=function(){this.thumbnailUrl=URL.createObjectURL(b.response),a()}.bind(this),b.onerror=a,b.open("GET","foxxes/thumbnail?mount="+this.encodedMount()),b.setRequestHeader("Authorization","bearer "+window.arangoHelper.getCurrentJwt()),b.send()}})}(),function(){"use strict";window.Graph=Backbone.Model.extend({idAttribute:"_key",urlRoot:arangoHelper.databaseUrl("/_api/gharial"),isNew:function(){return!this.get("_id")},parse:function(a){return a.graph||a},addEdgeDefinition:function(a){$.ajax({async:!1,type:"POST",url:this.urlRoot+"/"+this.get("_key")+"/edge",data:JSON.stringify(a)})},deleteEdgeDefinition:function(a){$.ajax({async:!1,type:"DELETE",url:this.urlRoot+"/"+this.get("_key")+"/edge/"+a})},modifyEdgeDefinition:function(a){$.ajax({async:!1,type:"PUT",url:this.urlRoot+"/"+this.get("_key")+"/edge/"+a.collection,data:JSON.stringify(a)})},addVertexCollection:function(a){$.ajax({async:!1,type:"POST",url:this.urlRoot+"/"+this.get("_key")+"/vertex",data:JSON.stringify({collection:a})})},deleteVertexCollection:function(a){$.ajax({async:!1,type:"DELETE",url:this.urlRoot+"/"+this.get("_key")+"/vertex/"+a})},defaults:{name:"",edgeDefinitions:[],orphanCollections:[]}})}(),function(){"use strict";window.newArangoLog=Backbone.Model.extend({defaults:{lid:"",level:"",timestamp:"",text:"",totalAmount:""},getLogStatus:function(){switch(this.get("level")){case 1:return"Error";case 2:return"Warning";case 3:return"Info";case 4:return"Debug";default:return"Unknown"}}})}(),function(){"use strict";window.Notification=Backbone.Model.extend({defaults:{title:"",date:0,content:"",priority:"",tags:"",seen:!1}})}(),function(){"use strict";window.queryManagementModel=Backbone.Model.extend({defaults:{id:"",query:"",started:"",runTime:""}})}(),function(){"use strict";window.workMonitorModel=Backbone.Model.extend({defaults:{name:"",number:"",status:"",type:""}})}(),function(){"use strict";window.AutomaticRetryCollection=Backbone.Collection.extend({_retryCount:0,checkRetries:function(){var a=this;return this.updateUrl(),this._retryCount>10?(window.setTimeout(function(){a._retryCount=0},1e4),window.App.clusterUnreachable(),!1):!0},successFullTry:function(){this._retryCount=0},failureTry:function(a,b,c){401===c.status?window.App.requestAuth():(window.App.clusterPlan.rotateCoordinator(),this._retryCount++,a())}})}(),function(){"use strict";window.PaginatedCollection=Backbone.Collection.extend({page:0,pagesize:10,totalAmount:0,getPage:function(){return this.page+1},setPage:function(a){return a>=this.getLastPageNumber()?void(this.page=this.getLastPageNumber()-1):1>a?void(this.page=0):void(this.page=a-1)},getLastPageNumber:function(){return Math.max(Math.ceil(this.totalAmount/this.pagesize),1)},getOffset:function(){return this.page*this.pagesize},getPageSize:function(){return this.pagesize},setPageSize:function(a){if("all"===a)this.pagesize="all";else try{a=parseInt(a,10),this.pagesize=a}catch(b){}},setToFirst:function(){this.page=0},setToLast:function(){this.setPage(this.getLastPageNumber())},setToPrev:function(){this.setPage(this.getPage()-1)},setToNext:function(){this.setPage(this.getPage()+1)},setTotal:function(a){this.totalAmount=a},getTotal:function(){return this.totalAmount},setTotalMinusOne:function(){this.totalAmount--}})}(),window.ClusterStatisticsCollection=Backbone.Collection.extend({model:window.Statistics,url:"/_admin/statistics",updateUrl:function(){this.url=window.App.getNewRoute(this.host)+this.url},initialize:function(a,b){this.host=b.host,window.App.registerForUpdate(this)}}),function(){"use strict";window.arangoCollections=Backbone.Collection.extend({url:arangoHelper.databaseUrl("/_api/collection"),model:arangoCollectionModel,searchOptions:{searchPhrase:null,includeSystem:!1,includeDocument:!0,includeEdge:!0,includeLoaded:!0,includeUnloaded:!0,sortBy:"name",sortOrder:1},translateStatus:function(a){switch(a){case 0:return"corrupted";case 1:return"new born collection";case 2:return"unloaded";case 3:return"loaded";case 4:return"unloading";case 5:return"deleted";case 6:return"loading";default:return}},translateTypePicture:function(a){var b="";switch(a){case"document":b+="fa-file-text-o";break;case"edge":b+="fa-share-alt";break;case"unknown":b+="fa-question";break;default:b+="fa-cogs"}return b},parse:function(a){var b=this;return _.each(a.result,function(a){a.isSystem=arangoHelper.isSystemCollection(a),a.type=arangoHelper.collectionType(a),a.status=b.translateStatus(a.status),a.picture=b.translateTypePicture(a.type)}),a.result},getPosition:function(a){var b,c=this.getFiltered(this.searchOptions),d=null,e=null;for(b=0;b0&&(d=c[b-1]),b0){var e,f=d.get("name").toLowerCase();for(e=0;ed?-1:1):0}),b},newCollection:function(a,b){var c={};c.name=a.collName,c.waitForSync=a.wfs,a.journalSize>0&&(c.journalSize=a.journalSize),c.isSystem=a.isSystem,c.type=parseInt(a.collType,10),a.shards&&(c.numberOfShards=a.shards,c.shardKeys=a.keys),a.replicationFactor&&(c.replicationFactor=JSON.parse(a.replicationFactor)),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/collection"),data:JSON.stringify(c),contentType:"application/json",processData:!1,success:function(a){b(!1,a)},error:function(a){b(!0,a)}})}})}(),function(){"use strict";window.ArangoDatabase=Backbone.Collection.extend({model:window.DatabaseModel,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_api/database"),comparator:function(a,b){var c=a.get("name").toLowerCase(),d=b.get("name").toLowerCase();return this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},parse:function(a){return a?_.map(a.result,function(a){return{name:a}}):void 0},initialize:function(){var a=this;this.fetch().done(function(){a.sort()})},setSortingDesc:function(a){this.sortOptions.desc=a},getDatabases:function(){var a=this;return this.fetch().done(function(){a.sort()}),this.models},getDatabasesForUser:function(a){$.ajax({type:"GET",cache:!1,url:this.url+"/user",contentType:"application/json",processData:!1,success:function(b){a(!1,b.result.sort())},error:function(){a(!0,[])}})},createDatabaseURL:function(a,b,c){var d=window.location,e=window.location.hash;b=b?"SSL"===b||"https:"===b?"https:":"http:":d.protocol,c=c||d.port;var f=b+"//"+window.location.hostname+":"+c+"/_db/"+encodeURIComponent(a)+"/_admin/aardvark/standalone.html";if(e){var g=e.split("/")[0];0===g.indexOf("#collection")&&(g="#collections"),0===g.indexOf("#service")&&(g="#services"),f+=g}return f},getCurrentDatabase:function(a){$.ajax({type:"GET",cache:!1,url:this.url+"/current",contentType:"application/json",processData:!1,success:function(b){200===b.code?a(!1,b.result.name):a(!1,b)},error:function(b){a(!0,b)}})},hasSystemAccess:function(a){var b=function(b,c){b?arangoHelper.arangoError("DB","Could not fetch databases"):a(!1,_.contains(c,"_system"))}.bind(this);this.getDatabasesForUser(b)}})}(),window.arangoDocument=Backbone.Collection.extend({url:"/_api/document/",model:arangoDocumentModel,collectionInfo:{},deleteEdge:function(a,b,c){this.deleteDocument(a,b,c)},deleteDocument:function(a,b,c){$.ajax({cache:!1,type:"DELETE",contentType:"application/json",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),success:function(){c(!1)},error:function(){c(!0)}})},addDocument:function(a,b){var c=this;c.createTypeDocument(a,b)},createTypeEdge:function(a,b,c,d,e){var f;f=d?JSON.stringify({_key:d,_from:b,_to:c}):JSON.stringify({_from:b,_to:c}),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/document?collection="+encodeURIComponent(a)),data:f,contentType:"application/json",processData:!1,success:function(a){e(!1,a)},error:function(a){e(!0,a)}})},createTypeDocument:function(a,b,c){var d;d=b?JSON.stringify({_key:b}):JSON.stringify({}),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/document?collection="+encodeURIComponent(a)),data:d,contentType:"application/json",processData:!1,success:function(a){c(!1,a._id)},error:function(a){c(!0,a._id)}})},getCollectionInfo:function(a,b,c){var d=this;$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/collection/"+a+"?"+arangoHelper.getRandomToken()),contentType:"application/json",processData:!1,success:function(a){d.collectionInfo=a,b(!1,a,c)},error:function(a){b(!0,a,c)}})},getEdge:function(a,b,c){this.getDocument(a,b,c)},getDocument:function(a,b,c){var d=this;this.clearDocument(),$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),contentType:"application/json",processData:!1,success:function(a){d.add(a),c(!1,a,"document")},error:function(a){d.add(!0,a)}})},saveEdge:function(a,b,c,d,e,f){var g;try{g=JSON.parse(e),g._to=d,g._from=c}catch(h){arangoHelper.arangoError("Edge","Could not parsed document.")}$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b))+"#replaceEdge",data:JSON.stringify(g),contentType:"application/json",processData:!1,success:function(a){f(!1,a)},error:function(a){f(!0,a)}})},saveDocument:function(a,b,c,d){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),data:c,contentType:"application/json",processData:!1,success:function(a){d(!1,a)},error:function(a){d(!0,a)}})},updateLocalDocument:function(a){this.clearDocument(),this.add(a)},clearDocument:function(){this.reset()}}),function(){"use strict";window.arangoDocuments=window.PaginatedCollection.extend({collectionID:1,filters:[],checkCursorTimer:void 0,MAX_SORT:12e3,lastQuery:{},sortAttribute:"",url:arangoHelper.databaseUrl("/_api/documents"),model:window.arangoDocumentModel,loadTotal:function(a){var b=this;$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/collection/"+this.collectionID+"/count"),contentType:"application/json",processData:!1,success:function(c){b.setTotal(c.count),a(!1)},error:function(){a(!0)}})},setCollection:function(a){var b=function(a){a&&arangoHelper.arangoError("Documents","Could not fetch documents count")}.bind(this);this.resetFilter(),this.collectionID=a,this.setPage(1),this.loadTotal(b)},setSort:function(a){this.sortAttribute=a},getSort:function(){return this.sortAttribute},addFilter:function(a,b,c){this.filters.push({attr:a,op:b,val:c})},setFiltersForQuery:function(a){if(0===this.filters.length)return"";var b=" FILTER",c="",d=_.map(this.filters,function(b,d){return"LIKE"===b.op?(c=" "+b.op+"(x.`"+b.attr+"`, @param",c+=d,c+=")"):(c="IN"===b.op||"NOT IN"===b.op?" ":" x.`",c+=b.attr,c+="IN"===b.op||"NOT IN"===b.op?" ":"` ",c+=b.op,c+="IN"===b.op||"NOT IN"===b.op?" x.@param":" @param",c+=d),a["param"+d]=b.val,c});return b+d.join(" &&")},setPagesize:function(a){this.setPageSize(a)},resetFilter:function(){this.filters=[]},moveDocument:function(a,b,c,d){var e,f,g,h,i={"@collection":b,filterid:a};e="FOR x IN @@collection",e+=" FILTER x._key == @filterid",e+=" INSERT x IN ",e+=c,f="FOR x in @@collection",f+=" FILTER x._key == @filterid",f+=" REMOVE x IN @@collection",g={query:e,bindVars:i},h={query:f,bindVars:i},window.progressView.show(),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),data:JSON.stringify(g),contentType:"application/json",success:function(){$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),data:JSON.stringify(h),contentType:"application/json",success:function(){d&&d(),window.progressView.hide()},error:function(){window.progressView.hide(),arangoHelper.arangoError("Document error","Documents inserted, but could not be removed.")}})},error:function(){window.progressView.hide(),arangoHelper.arangoError("Document error","Could not move selected documents.")}})},getDocuments:function(a){var b,c,d,e,f=this;c={"@collection":this.collectionID,offset:this.getOffset(),count:this.getPageSize()},b="FOR x IN @@collection LET att = SLICE(ATTRIBUTES(x), 0, 25)",b+=this.setFiltersForQuery(c),this.getTotal()0&&(a+=" SORT x."+this.getSort()),a+=" RETURN x",b={query:a,bindVars:c}},uploadDocuments:function(a,b){$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/import?type=auto&collection="+encodeURIComponent(this.collectionID)+"&createCollection=false"),data:a,processData:!1,contentType:"json",dataType:"json",complete:function(a){if(4===a.readyState&&201===a.status)b(!1);else try{var c=JSON.parse(a.responseText);if(c.errors>0){var d="At least one error occurred during upload";b(!1,d)}}catch(e){console.log(e)}}})}})}(),function(){"use strict";window.ArangoLogs=window.PaginatedCollection.extend({upto:!1,loglevel:0,totalPages:0,parse:function(a){var b=[];return _.each(a.lid,function(c,d){b.push({level:a.level[d],lid:c,text:a.text[d],timestamp:a.timestamp[d],totalAmount:a.totalAmount})}),this.totalAmount=a.totalAmount,this.totalPages=Math.ceil(this.totalAmount/this.pagesize),b},initialize:function(a){a.upto===!0&&(this.upto=!0),this.loglevel=a.loglevel},model:window.newArangoLog,url:function(){var a,b,c,d;c=this.page*this.pagesize;var e=this.totalAmount-(this.page+1)*this.pagesize;return 0>e&&this.page===this.totalPages-1?(e=0,d=this.totalAmount%this.pagesize):d=this.pagesize,0===this.totalAmount&&(d=1),a=this.upto?"upto":"level",b="/_admin/log?"+a+"="+this.loglevel+"&size="+d+"&offset="+e,arangoHelper.databaseUrl(b)}})}(),function(){"use strict";window.ArangoQueries=Backbone.Collection.extend({initialize:function(a,b){var c=this;$.ajax("whoAmI?_="+Date.now(),{async:!0}).done(function(a){this.activeUser===!1||null===this.activeUser?c.activeUser="root":c.activeUser=a.user})},url:arangoHelper.databaseUrl("/_api/user/"),model:ArangoQuery,activeUser:null,parse:function(a){var b,c=this;return(this.activeUser===!1||null===this.activeUser)&&(this.activeUser="root"),_.each(a.result,function(a){if(a.user===c.activeUser)try{a.extra.queries&&(b=a.extra.queries)}catch(d){}}),b},saveCollectionQueries:function(a){if(this.activeUser===!1||null===this.activeUser)return!1;(this.activeUser===!1||null===this.activeUser)&&(this.activeUser="root");var b=[];this.each(function(a){b.push({value:a.attributes.value,parameter:a.attributes.parameter,name:a.attributes.name})}),$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(this.activeUser)),data:JSON.stringify({extra:{queries:b}}),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(){a(!0)}})},saveImportQueries:function(a,b){return 0===this.activeUser?!1:(window.progressView.show("Fetching documents..."),void $.ajax({cache:!1,type:"POST",url:"query/upload/"+encodeURIComponent(this.activeUser),data:a,contentType:"application/json",processData:!1,success:function(){window.progressView.hide(),arangoHelper.arangoNotification("Queries successfully imported."),b()},error:function(){window.progressView.hide(),arangoHelper.arangoError("Query error","queries could not be imported")}}))}})}(),window.ArangoReplication=Backbone.Collection.extend({model:window.Replication,url:"../api/user",getLogState:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/replication/logger-state"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},getApplyState:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/replication/applier-state"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})}}),window.StatisticsCollection=Backbone.Collection.extend({model:window.Statistics,url:"/_admin/statistics"}),window.StatisticsDescriptionCollection=Backbone.Collection.extend({model:window.StatisticsDescription,url:"/_admin/statistics-description",parse:function(a){return a}}),window.ArangoUsers=Backbone.Collection.extend({model:window.Users,activeUser:null,activeUserSettings:{query:{},shell:{},testing:!0},sortOptions:{desc:!1},fetch:function(a){return window.App.currentUser&&(this.url=frontendConfig.basePath+"/_api/user/"+encodeURIComponent(window.App.currentUser)),Backbone.Collection.prototype.fetch.call(this,a)},url:frontendConfig.basePath+"/_api/user",comparator:function(a,b){var c=a.get("user").toLowerCase(),d=b.get("user").toLowerCase();return this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},login:function(a,b,c){var d=this;$.ajax({url:arangoHelper.databaseUrl("/_open/auth"),method:"POST",data:JSON.stringify({username:a,password:b}),dataType:"json"}).success(function(a){arangoHelper.setCurrentJwt(a.jwt);var b=a.jwt.split(".");if(!b[1])throw new Error("Invalid JWT");if(!window.atob)throw new Error("base64 support missing in browser");var e=JSON.parse(atob(b[1]));d.activeUser=e.preferred_username,c(!1,d.activeUser)}).error(function(){arangoHelper.setCurrentJwt(null),d.activeUser=null,c(!0,null)})},setSortingDesc:function(a){this.sortOptions.desc=a},logout:function(){arangoHelper.setCurrentJwt(null),this.activeUser=null,this.reset(),window.App.navigate(""),window.location.reload()},setUserSettings:function(a,b){this.activeUserSettings.identifier=b},loadUserSettings:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(b.activeUser)),contentType:"application/json",processData:!1,success:function(c){b.activeUserSettings=c.extra,a(!1,c)},error:function(b){a(!0,b)}})},saveUserSettings:function(a){var b=this;$.ajax({cache:!1,type:"PUT",url:frontendConfig.basePath+"/_api/user/"+encodeURIComponent(b.activeUser),data:JSON.stringify({extra:b.activeUserSettings}),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},parse:function(a){var b=[];return a.result?_.each(a.result,function(a){b.push(a)}):b.push({user:a.user,active:a.active,extra:a.extra,changePassword:a.changePassword}),b},whoAmI:function(a){return this.activeUser?void a(!1,this.activeUser):void $.ajax("whoAmI?_="+Date.now()).success(function(b){a(!1,b.user)}).error(function(){a(!0,null)})}}),function(){"use strict";window.ClusterCoordinators=window.AutomaticRetryCollection.extend({model:window.ClusterCoordinator,url:arangoHelper.databaseUrl("/_admin/aardvark/cluster/Coordinators"),updateUrl:function(){this.url=window.App.getNewRoute("Coordinators")},initialize:function(){},statusClass:function(a){switch(a){case"ok":return"success";case"warning":return"warning";case"critical":return"danger";case"missing":return"inactive";default:return"danger"}},getStatuses:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.getStatuses.bind(c,a,b))}).done(function(){c.successFullTry(),c.forEach(function(b){a(c.statusClass(b.get("status")),b.get("address"))}),b()})}},byAddress:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.byAddress.bind(c,a,b))}).done(function(){c.successFullTry(),a=a||{},c.forEach(function(b){var c=b.get("address");c=c.split(":")[0],a[c]=a[c]||{},a[c].coords=a[c].coords||[],a[c].coords.push(b)}),b(a)})}},checkConnection:function(a){var b=this;this.checkRetries()&&this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:b.failureTry.bind(b,b.checkConnection.bind(b,a))}).done(function(){b.successFullTry(),a()})}})}(),function(){"use strict";window.ClusterServers=window.AutomaticRetryCollection.extend({model:window.ClusterServer,host:"",url:arangoHelper.databaseUrl("/_admin/aardvark/cluster/DBServers"),updateUrl:function(){this.url=window.App.getNewRoute(this.host)+this.url},initialize:function(a,b){this.host=b.host},statusClass:function(a){switch(a){case"ok":return"success";case"warning":return"warning";case"critical":return"danger";case"missing":return"inactive";default:return"danger"}},getStatuses:function(a){if(this.checkRetries()){var b=this,c=function(){b.successFullTry(),b._retryCount=0,b.forEach(function(c){a(b.statusClass(c.get("status")),c.get("address"))})};this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:b.failureTry.bind(b,b.getStatuses.bind(b,a))}).done(c)}},byAddress:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.byAddress.bind(c,a,b))}).done(function(){c.successFullTry(),a=a||{},c.forEach(function(b){var c=b.get("address");c=c.split(":")[0],a[c]=a[c]||{},a[c].dbs=a[c].dbs||[],a[c].dbs.push(b)}),b(a)}).error(function(a){console.log("error"),console.log(a)})}},getList:function(){throw"Do not use"},getOverview:function(){throw"Do not use DbServer.getOverview"}})}(),function(){"use strict";window.CoordinatorCollection=Backbone.Collection.extend({model:window.Coordinator,url:arangoHelper.databaseUrl("/_admin/aardvark/cluster/Coordinators")})}(),function(){"use strict";window.FoxxCollection=Backbone.Collection.extend({model:window.Foxx,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_admin/aardvark/foxxes"),comparator:function(a,b){var c,d;return this.sortOptions.desc===!0?(c=a.get("mount"),d=b.get("mount"),d>c?1:c>d?-1:0):(c=a.get("mount"),d=b.get("mount"),c>d?1:d>c?-1:0)},setSortingDesc:function(a){this.sortOptions.desc=a},installFromGithub:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/git?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromStore:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/store?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromZip:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/zip?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify({zipFile:a}),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},generate:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/generate?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})}})}(),function(){"use strict";window.GraphCollection=Backbone.Collection.extend({model:window.Graph,sortOptions:{desc:!1},url:frontendConfig.basePath+"/_api/gharial",dropAndDeleteGraph:function(a,b){$.ajax({type:"DELETE",url:frontendConfig.basePath+"/_api/gharial/"+encodeURIComponent(a)+"?dropCollections=true", +group:"loadtype",text:"Select existing collections",isDefault:void 0===b.getGraphName(),interior:[{type:"list",id:"node_collection",text:"Vertex collection",objects:f,selected:b.getNodeCollection()},{type:"list",id:"edge_collection",text:"Edge collection",objects:g,selected:b.getEdgeCollection()}]},{type:"decission",id:"graphs",group:"loadtype",text:"Select existing graph",isDefault:void 0!==b.getGraphName(),interior:[{type:"list",id:"graph",objects:h,selected:b.getGraphName()}]},{type:"checkbox",text:"Start with random vertex",id:"random",selected:!0},{type:"checkbox",id:"undirected",selected:"any"===b.getDirection()}],function(){var a=$("#"+e+"node_collection").children("option").filter(":selected").text(),d=$("#"+e+"edge_collection").children("option").filter(":selected").text(),f=$("#"+e+"graph").children("option").filter(":selected").text(),g=!!$("#"+e+"undirected").prop("checked"),h=!!$("#"+e+"random").prop("checked"),i=$("input[type='radio'][name='loadtype']:checked").prop("id");return i===e+"collections"?b.changeToCollections(a,d,g):b.changeToGraph(f,g),h?void b.loadRandomNode(c):void(_.isFunction(c)&&c())})})})})},this.addControlChangePriority=function(){var c="control_adapter_priority",d=c+"_",e=(b.getPrioList(),"Group vertices");uiComponentsHelper.createButton(a,e,c,function(){modalDialogHelper.createModalChangeDialog(e,d,[{type:"extendable",id:"attribute",objects:b.getPrioList()}],function(){var a=$("input[id^="+d+"attribute_]"),c=[];a.each(function(a,b){var d=$(b).val();""!==d&&c.push(d)}),b.changeTo({prioList:c})})})},this.addAll=function(){this.addControlChangeCollections(),this.addControlChangePriority()}}function ContextMenu(a){"use strict";if(void 0===a)throw"An id has to be given.";var b,c,d="#"+a,e=function(a,d){var e,f;e=document.createElement("div"),e.className="context-menu-item",f=document.createElement("div"),f.className="context-menu-item-inner",f.appendChild(document.createTextNode(a)),f.onclick=function(){d(d3.select(c.target).data()[0])},e.appendChild(f),b.appendChild(e)},f=function(a){c=$.contextMenu.create(d,{shadow:!1}),a.each(function(){$(this).bind("contextmenu",function(a){return c.show(this,a),!1})})},g=function(){return b=document.getElementById(a),b&&b.parentElement.removeChild(b),b=document.createElement("div"),b.className="context-menu context-menu-theme-osx",b.id=a,document.body.appendChild(b),b};g(),this.addEntry=e,this.bindMenu=f}function EdgeShaperControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The EdgeShaper has to be given.";var c=this;this.addControlOpticShapeNone=function(){var c="control_edge_none";uiComponentsHelper.createButton(a,"None",c,function(){b.changeTo({shape:{type:EdgeShaper.shapes.NONE}})})},this.addControlOpticShapeArrow=function(){var c="control_edge_arrow";uiComponentsHelper.createButton(a,"Arrow",c,function(){b.changeTo({shape:{type:EdgeShaper.shapes.ARROW}})})},this.addControlOpticLabel=function(){var c="control_edge_label",d=c+"_";uiComponentsHelper.createButton(a,"Configure Label",c,function(){modalDialogHelper.createModalDialog("Switch Label Attribute",d,[{type:"text",id:"key",text:"Edge label attribute",value:b.getLabel()}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({label:a})})})},this.addControlOpticLabelList=function(){var d="control_edge_label",e=d+"_";uiComponentsHelper.createButton(a,"Configure Label",d,function(){modalDialogHelper.createModalDialog("Change Label Attribute",e,[{type:"extendable",id:"label",text:"Edge label attribute",objects:b.getLabel()}],function(){var a=$("input[id^="+e+"label_]"),d=[];a.each(function(a,b){var c=$(b).val();""!==c&&d.push(c)});var f={label:d};c.applyLocalStorage(f),b.changeTo(f)})})},this.applyLocalStorage=function(a){if("undefined"!==Storage)try{var b=JSON.parse(localStorage.getItem("graphSettings")),c=window.location.hash.split("/")[1],d=window.location.pathname.split("/")[2],e=c+d;_.each(a,function(a,c){void 0!==c&&(b[e].viewer.hasOwnProperty("edgeShaper")||(b[e].viewer.edgeShaper={}),b[e].viewer.edgeShaper[c]=a)}),localStorage.setItem("graphSettings",JSON.stringify(b))}catch(f){console.log(f)}},this.addControlOpticSingleColour=function(){var c="control_edge_singlecolour",d=c+"_";uiComponentsHelper.createButton(a,"Single Colour",c,function(){modalDialogHelper.createModalDialog("Switch to Colour",d,[{type:"text",id:"stroke"}],function(){var a=$("#"+d+"stroke").attr("value");b.changeTo({color:{type:"single",stroke:a}})})})},this.addControlOpticAttributeColour=function(){var c="control_edge_attributecolour",d=c+"_";uiComponentsHelper.createButton(a,"Colour by Attribute",c,function(){modalDialogHelper.createModalDialog("Display colour by attribute",d,[{type:"text",id:"key"}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({color:{type:"attribute",key:a}})})})},this.addControlOpticGradientColour=function(){var c="control_edge_gradientcolour",d=c+"_";uiComponentsHelper.createButton(a,"Gradient Colour",c,function(){modalDialogHelper.createModalDialog("Change colours for gradient",d,[{type:"text",id:"source"},{type:"text",id:"target"}],function(){var a=$("#"+d+"source").attr("value"),c=$("#"+d+"target").attr("value");b.changeTo({color:{type:"gradient",source:a,target:c}})})})},this.addAllOptics=function(){c.addControlOpticShapeNone(),c.addControlOpticShapeArrow(),c.addControlOpticLabel(),c.addControlOpticSingleColour(),c.addControlOpticAttributeColour(),c.addControlOpticGradientColour()},this.addAllActions=function(){},this.addAll=function(){c.addAllOptics(),c.addAllActions()}}function EventDispatcherControls(a,b,c,d,e){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The NodeShaper has to be given.";if(void 0===c)throw"The EdgeShaper has to be given.";if(void 0===d)throw"The Start callback has to be given.";var f=this,g={expand:{icon:"hand-pointer-o",title:"Expand a node."},add:{icon:"plus-square",title:"Add a node."},trash:{icon:"minus-square",title:"Remove a node/edge."},drag:{icon:"hand-rock-o",title:"Drag a node."},edge:{icon:"external-link-square",title:"Create an edge between two nodes."},edit:{icon:"pencil-square",title:"Edit attributes of a node."},view:{icon:"search",title:"View attributes of a node."}},h=new EventDispatcher(b,c,e),i=e.edgeEditor.adapter,j=!!i&&_.isFunction(i.useNodeCollection)&&_.isFunction(i.useEdgeCollection),k=function(b){a.appendChild(b)},l=function(a,b,c){var d=uiComponentsHelper.createIconButton(a,"control_event_"+b,c);k(d)},m=function(a){h.rebind("nodes",a)},n=function(a){h.rebind("edges",a)},o=function(a){h.rebind("svg",a)},p=function(a){var b=a||window.event,c={};return c.x=b.clientX,c.y=b.clientY,c.x+=document.body.scrollLeft,c.y+=document.body.scrollTop,c},q=function(a){var b,c,d,e=p(a),f=$("svg#graphViewerSVG").offset();return b=d3.select("svg#graphViewerSVG").node(),d=b.getBoundingClientRect(),$("svg#graphViewerSVG").height()<=d.height?{x:e.x-f.left,y:e.y-f.top}:(c=b.getBBox(),{x:e.x-(d.left-c.x),y:e.y-(d.top-c.y)})},r={nodes:{},edges:{},svg:{}},s=function(){var a="control_event_new_node",c=a+"_",e=function(a){var e=q(a);modalDialogHelper.createModalCreateDialog("Create New Node",c,{},function(a){h.events.CREATENODE(a,function(a){$("#"+c+"modal").modal("hide"),b.reshapeNodes(),d()},e.x,e.y)()})};r.nodes.newNode=e},t=function(){var a=function(a){modalDialogHelper.createModalViewDialog("View Node "+a._id,"control_event_node_view_",a._data,function(){modalDialogHelper.createModalEditDialog("Edit Node "+a._id,"control_event_node_edit_",a._data,function(b){h.events.PATCHNODE(a,b,function(){$("#control_event_node_edit_modal").modal("hide")})()})})},b=function(a){modalDialogHelper.createModalViewDialog("View Edge "+a._id,"control_event_edge_view_",a._data,function(){modalDialogHelper.createModalEditDialog("Edit Edge "+a._id,"control_event_edge_edit_",a._data,function(b){h.events.PATCHEDGE(a,b,function(){$("#control_event_edge_edit_modal").modal("hide")})()})})};r.nodes.view=a,r.edges.view=b},u=function(){var a=h.events.STARTCREATEEDGE(function(a,b){var d=q(b),e=c.addAnEdgeFollowingTheCursor(d.x,d.y);h.bind("svg","mousemove",function(a){var b=q(a);e(b.x,b.y)})}),b=h.events.FINISHCREATEEDGE(function(a){c.removeCursorFollowingEdge(),h.bind("svg","mousemove",function(){return void 0}),d()}),e=function(){h.events.CANCELCREATEEDGE(),c.removeCursorFollowingEdge(),h.bind("svg","mousemove",function(){return void 0})};r.nodes.startEdge=a,r.nodes.endEdge=b,r.svg.cancelEdge=e},v=function(){var a=function(a){arangoHelper.openDocEditor(a._id,"document")},b=function(a){arangoHelper.openDocEditor(a._id,"edge")};r.nodes.edit=a,r.edges.edit=b},w=function(){var a=function(a){modalDialogHelper.createModalDeleteDialog("Delete Node "+a._id,"control_event_node_delete_",a,function(a){h.events.DELETENODE(function(){$("#control_event_node_delete_modal").modal("hide"),b.reshapeNodes(),c.reshapeEdges(),d()})(a)})},e=function(a){modalDialogHelper.createModalDeleteDialog("Delete Edge "+a._id,"control_event_edge_delete_",a,function(a){h.events.DELETEEDGE(function(){$("#control_event_edge_delete_modal").modal("hide"),b.reshapeNodes(),c.reshapeEdges(),d()})(a)})};r.nodes.del=a,r.edges.del=e},x=function(){r.nodes.spot=h.events.EXPAND};s(),t(),u(),v(),w(),x(),this.dragRebinds=function(){return{nodes:{drag:h.events.DRAG}}},this.newNodeRebinds=function(){return{svg:{click:r.nodes.newNode}}},this.viewRebinds=function(){return{nodes:{click:r.nodes.view},edges:{click:r.edges.view}}},this.connectNodesRebinds=function(){return{nodes:{mousedown:r.nodes.startEdge,mouseup:r.nodes.endEdge},svg:{mouseup:r.svg.cancelEdge}}},this.editRebinds=function(){return{nodes:{click:r.nodes.edit},edges:{click:r.edges.edit}}},this.expandRebinds=function(){return{nodes:{click:r.nodes.spot}}},this.deleteRebinds=function(){return{nodes:{click:r.nodes.del},edges:{click:r.edges.del}}},this.rebindAll=function(a){m(a.nodes),n(a.edges),o(a.svg)},b.addMenuEntry("Edit",r.nodes.edit),b.addMenuEntry("Spot",r.nodes.spot),b.addMenuEntry("Trash",r.nodes.del),c.addMenuEntry("Edit",r.edges.edit),c.addMenuEntry("Trash",r.edges.del),this.addControlNewNode=function(){var a=g.add,b="select_node_collection",c=function(){j&&i.getNodeCollections().length>1&&modalDialogHelper.createModalDialog("Select Vertex Collection",b,[{type:"list",id:"vertex",objects:i.getNodeCollections(),text:"Select collection",selected:i.getSelectedNodeCollection()}],function(){var a=$("#"+b+"vertex").children("option").filter(":selected").text();i.useNodeCollection(a)},"Select"),f.rebindAll(f.newNodeRebinds())};l(a,"new_node",c)},this.addControlView=function(){var a=g.view,b=function(){f.rebindAll(f.viewRebinds())};l(a,"view",b)},this.addControlDrag=function(){var a=g.drag,b=function(){f.rebindAll(f.dragRebinds())};l(a,"drag",b)},this.addControlEdit=function(){var a=g.edit,b=function(){f.rebindAll(f.editRebinds())};l(a,"edit",b)},this.addControlExpand=function(){var a=g.expand,b=function(){f.rebindAll(f.expandRebinds())};l(a,"expand",b)},this.addControlDelete=function(){var a=g.trash,b=function(){f.rebindAll(f.deleteRebinds())};l(a,"delete",b)},this.addControlConnect=function(){var a=g.edge,b="select_edge_collection",c=function(){j&&i.getEdgeCollections().length>1&&modalDialogHelper.createModalDialog("Select Edge Collection",b,[{type:"list",id:"edge",objects:i.getEdgeCollections(),text:"Select collection",selected:i.getSelectedEdgeCollection()}],function(){var a=$("#"+b+"edge").children("option").filter(":selected").text();i.useEdgeCollection(a)},"Select"),f.rebindAll(f.connectNodesRebinds())};l(a,"connect",c)},this.addAll=function(){f.addControlExpand(),f.addControlDrag(),f.addControlEdit(),f.addControlConnect(),f.addControlNewNode(),f.addControlDelete()}}function GharialAdapterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The GharialAdapter has to be given.";this.addControlChangeGraph=function(c){var d="control_adapter_graph",e=d+"_";b.getGraphs(function(f){uiComponentsHelper.createButton(a,"Switch Graph",d,function(){modalDialogHelper.createModalDialog("Switch Graph",e,[{type:"list",id:"graph",objects:f,text:"Select graph",selected:b.getGraphName()},{type:"checkbox",text:"Start with random vertex",id:"random",selected:!0}],function(){var a=$("#"+e+"graph").children("option").filter(":selected").text(),d=!!$("#"+e+"undirected").prop("checked"),f=!!$("#"+e+"random").prop("checked");return b.changeToGraph(a,d),f?void b.loadRandomNode(c):void(_.isFunction(c)&&c())})})})},this.addControlChangePriority=function(){var c="control_adapter_priority",d=c+"_",e="Group vertices";uiComponentsHelper.createButton(a,e,c,function(){modalDialogHelper.createModalChangeDialog(e+" by attribute",d,[{type:"extendable",id:"attribute",objects:b.getPrioList()}],function(){var a=$("input[id^="+d+"attribute_]"),c=[];_.each(a,function(a){var b=$(a).val();""!==b&&c.push(b)}),b.changeTo({prioList:c})})})},this.addAll=function(){this.addControlChangeGraph(),this.addControlChangePriority()}}function GraphViewerPreview(a,b){"use strict";var c,d,e,f,g,h,i,j=function(){return d3.select(a).append("svg").attr("id","graphViewerSVG").attr("width",d).attr("height",e).attr("class","graph-viewer").attr("style","width:"+d+"px;height:"+e+";")},k=function(a){var b=0;return _.each(a,function(c,d){c===!1?delete a[d]:b++}),b>0},l=function(a,b){_.each(b,function(b,c){a[c]=a[c]||{},_.each(b,function(b,d){a[c][d]=b})})},m=function(a){if(a){var b={};a.drag&&l(b,i.dragRebinds()),a.create&&(l(b,i.newNodeRebinds()),l(b,i.connectNodesRebinds())),a.remove&&l(b,i.deleteRebinds()),a.expand&&l(b,i.expandRebinds()),a.edit&&l(b,i.editRebinds()),i.rebindAll(b)}},n=function(b){var c=document.createElement("div");i=new EventDispatcherControls(c,f.nodeShaper,f.edgeShaper,f.start,f.dispatcherConfig),c.id="toolbox",c.className="btn-group btn-group-vertical pull-left toolbox",a.appendChild(c),_.each(b,function(a,b){switch(b){case"expand":i.addControlExpand();break;case"create":i.addControlNewNode(),i.addControlConnect();break;case"drag":i.addControlDrag();break;case"edit":i.addControlEdit();break;case"remove":i.addControlDelete()}})},o=function(a){var b=document.createElement("div");i=new EventDispatcherControls(b,f.nodeShaper,f.edgeShaper,f.start,f.dispatcherConfig)},p=function(){b&&(b.nodeShaper&&(b.nodeShaper.label&&(b.nodeShaper.label="label"),b.nodeShaper.shape&&b.nodeShaper.shape.type===NodeShaper.shapes.IMAGE&&b.nodeShaper.shape.source&&(b.nodeShaper.shape.source="image")),b.edgeShaper&&b.edgeShaper.label&&(b.edgeShaper.label="label"))},q=function(){return p(),new GraphViewer(c,d,e,h,b)};d=a.getBoundingClientRect().width,e=a.getBoundingClientRect().height,h={type:"preview"},b=b||{},g=k(b.toolbox),g&&(d-=43),c=j(),f=q(),g?n(b.toolbox):o(),f.loadGraph("1"),m(b.actions)}function GraphViewerUI(a,b,c,d,e,f){"use strict";if(void 0===a)throw"A parent element has to be given.";if(!a.id)throw"The parent element needs an unique id.";if(void 0===b)throw"An adapter configuration has to be given";var g,h,i,j,k,l,m,n,o,p=c+20||a.getBoundingClientRect().width-81+20,q=d||a.getBoundingClientRect().height,r=document.createElement("ul"),s=document.createElement("div"),t=function(){g.adapter.NODES_TO_DISPLAYGraph too big. A random section is rendered.
    '),$(".infoField .fa-info-circle").attr("title","You can display additional/other vertices by using the toolbar buttons.").tooltip())},u=function(){var a,b=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f=document.createElement("button"),h=document.createElement("span"),i=document.createElement("input"),j=document.createElement("i"),k=document.createElement("span"),l=function(){$(s).css("cursor","progress")},n=function(){$(s).css("cursor","")},o=function(a){return n(),a&&a.errorCode&&404===a.errorCode?void arangoHelper.arangoError("Graph error","could not find a matching node."):void 0},p=function(){l(),""===a.value||void 0===a.value?g.loadGraph(i.value,o):g.loadGraphWithAttributeValue(a.value,i.value,o)};b.id="filterDropdown",b.className="headerDropdown smallDropdown",c.className="dropdownInner",d.className="queryline",a=document.createElement("input"),m=document.createElement("ul"),e.className="pull-left input-append searchByAttribute",a.id="attribute",a.type="text",a.placeholder="Attribute name",f.id="attribute_example_toggle",f.className="button-neutral gv_example_toggle",h.className="caret gv_caret",m.className="gv-dropdown-menu",i.id="value",i.className="searchInput gv_searchInput",i.type="text",i.placeholder="Attribute value",j.id="loadnode",j.className="fa fa-search",k.className="searchEqualsLabel",k.appendChild(document.createTextNode("==")),c.appendChild(d),d.appendChild(e),e.appendChild(a),e.appendChild(f),e.appendChild(m),f.appendChild(h),d.appendChild(k),d.appendChild(i),d.appendChild(j),j.onclick=p,$(i).keypress(function(a){return 13===a.keyCode||13===a.which?(p(),!1):void 0}),f.onclick=function(){$(m).slideToggle(200)};var q=document.createElement("p");return q.className="dropdown-title",q.innerHTML="Filter graph by attribute:",b.appendChild(q),b.appendChild(c),b},v=function(){var a,b=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("div"),f=document.createElement("button"),h=document.createElement("span"),i=document.createElement("input"),j=document.createElement("i"),k=document.createElement("span"),l=function(){$(s).css("cursor","progress")},m=function(){$(s).css("cursor","")},o=function(a){return m(),a&&a.errorCode&&404===a.errorCode?void arangoHelper.arangoError("Graph error","could not find a matching node."):void 0},p=function(){l(),""!==a.value&&g.loadGraphWithAdditionalNode(a.value,i.value,o)};b.id="nodeDropdown",b.className="headerDropdown smallDropdown",c.className="dropdownInner",d.className="queryline",a=document.createElement("input"),n=document.createElement("ul"),e.className="pull-left input-append searchByAttribute",a.id="attribute",a.type="text",a.placeholder="Attribute name",f.id="attribute_example_toggle2",f.className="button-neutral gv_example_toggle",h.className="caret gv_caret",n.className="gv-dropdown-menu",i.id="value",i.className="searchInput gv_searchInput",i.type="text",i.placeholder="Attribute value",j.id="loadnode",j.className="fa fa-search",k.className="searchEqualsLabel",k.appendChild(document.createTextNode("==")),c.appendChild(d),d.appendChild(e),e.appendChild(a),e.appendChild(f),e.appendChild(n),f.appendChild(h),d.appendChild(k),d.appendChild(i),d.appendChild(j),C(n),j.onclick=p,$(i).keypress(function(a){return 13===a.keyCode||13===a.which?(p(),!1):void 0}),f.onclick=function(){$(n).slideToggle(200)};var q=document.createElement("p");return q.className="dropdown-title",q.innerHTML="Add specific node by attribute:",b.appendChild(q),b.appendChild(c),b},w=function(){var a,b,c,d,e,f,g,h;return a=document.createElement("div"),a.id="configureDropdown",a.className="headerDropdown",b=document.createElement("div"),b.className="dropdownInner",c=document.createElement("ul"),d=document.createElement("li"),d.className="nav-header",d.appendChild(document.createTextNode("Vertices")),g=document.createElement("ul"),h=document.createElement("li"),h.className="nav-header",h.appendChild(document.createTextNode("Edges")),e=document.createElement("ul"),f=document.createElement("li"),f.className="nav-header",f.appendChild(document.createTextNode("Connection")),c.appendChild(d),g.appendChild(h),e.appendChild(f),b.appendChild(c),b.appendChild(g),b.appendChild(e),a.appendChild(b),{configure:a,nodes:c,edges:g,col:e}},x=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;return a.className="headerButtonBar",e=document.createElement("ul"),e.className="headerButtonList",a.appendChild(e),g=document.createElement("li"),g.className="enabled",h=document.createElement("a"),h.id=b,h.className="headerButton",i=document.createElement("span"),i.className="icon_arangodb_settings2",$(i).attr("title","Configure"),e.appendChild(g),g.appendChild(h),h.appendChild(i),j=document.createElement("li"),j.className="enabled",k=document.createElement("a"),k.id=d,k.className="headerButton",l=document.createElement("span"),l.className="fa fa-search-plus",$(l).attr("title","Show additional vertices"),e.appendChild(j),j.appendChild(k),k.appendChild(l),m=document.createElement("li"),m.className="enabled",n=document.createElement("a"),n.id=c,n.className="headerButton",o=document.createElement("span"),o.className="icon_arangodb_filter",$(o).attr("title","Filter"),e.appendChild(m),m.appendChild(n),n.appendChild(o),f=w(),f.filter=u(),f.node=v(),h.onclick=function(){$("#filterdropdown").removeClass("activated"),$("#nodedropdown").removeClass("activated"),$("#configuredropdown").toggleClass("activated"),$(f.configure).slideToggle(200),$(f.filter).hide(),$(f.node).hide()},k.onclick=function(){$("#filterdropdown").removeClass("activated"),$("#configuredropdown").removeClass("activated"),$("#nodedropdown").toggleClass("activated"),$(f.node).slideToggle(200),$(f.filter).hide(),$(f.configure).hide()},n.onclick=function(){$("#configuredropdown").removeClass("activated"),$("#nodedropdown").removeClass("activated"),$("#filterdropdown").toggleClass("activated"),$(f.filter).slideToggle(200),$(f.node).hide(),$(f.configure).hide()},f},y=function(){return d3.select("#"+a.id+" #background").append("svg").attr("id","graphViewerSVG").attr("width",p).attr("height",q).attr("class","graph-viewer").style("width",p+"px").style("height",q+"px")},z=function(){var a=document.createElement("div"),b=document.createElement("div"),c=document.createElement("button"),d=document.createElement("button"),e=document.createElement("button"),f=document.createElement("button");a.className="gv_zoom_widget",b.className="gv_zoom_buttons_bg",c.className="btn btn-icon btn-zoom btn-zoom-top gv-zoom-btn pan-top",d.className="btn btn-icon btn-zoom btn-zoom-left gv-zoom-btn pan-left",e.className="btn btn-icon btn-zoom btn-zoom-right gv-zoom-btn pan-right",f.className="btn btn-icon btn-zoom btn-zoom-bottom gv-zoom-btn pan-bottom",c.onclick=function(){g.zoomManager.triggerTranslation(0,-10)},d.onclick=function(){g.zoomManager.triggerTranslation(-10,0)},e.onclick=function(){g.zoomManager.triggerTranslation(10,0)},f.onclick=function(){g.zoomManager.triggerTranslation(0,10)},b.appendChild(c),b.appendChild(d),b.appendChild(e),b.appendChild(f),l=document.createElement("div"),l.id="gv_zoom_slider",l.className="gv_zoom_slider",s.appendChild(a),s.insertBefore(a,o[0][0]),a.appendChild(b),a.appendChild(l),$("#gv_zoom_slider").slider({orientation:"vertical",min:g.zoomManager.getMinimalZoomFactor(),max:1,value:1,step:.01,slide:function(a,b){g.zoomManager.triggerScale(b.value)}}),g.zoomManager.registerSlider($("#gv_zoom_slider"))},A=function(){var a=document.createElement("div"),b=new EventDispatcherControls(a,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig);a.id="toolbox",a.className="btn-group btn-group-vertical toolbox",s.insertBefore(a,o[0][0]),b.addAll(),$("#control_event_expand").click()},B=function(){var a='
  • ';$(".headerBar .headerButtonList").prepend(a)},C=function(a){var b;b=a?$(a):$(m),b.innerHTML="";var c=document.createElement("li"),d=document.createElement("img");$(c).append(d),d.className="gv-throbber",b.append(c),g.adapter.getAttributeExamples(function(a){$(b).html(""),_.each(a,function(a){var c=document.createElement("li"),d=document.createElement("a"),e=document.createElement("label");$(c).append(d),$(d).append(e),$(e).append(document.createTextNode(a)),e.className="gv_dropdown_label",b.append(c),c.onclick=function(){b.value=a,$(b).parent().find("input").val(a),$(b).slideToggle(200)}})})},D=function(){var a=document.createElement("div"),b=document.createElement("div"),c=(document.createElement("a"),x(b,"configuredropdown","filterdropdown","nodedropdown"));i=new NodeShaperControls(c.nodes,g.nodeShaper),j=new EdgeShaperControls(c.edges,g.edgeShaper),k=new GharialAdapterControls(c.col,g.adapter),r.id="menubar",a.className="headerBar",b.id="modifiers",r.appendChild(a),r.appendChild(c.configure),r.appendChild(c.filter),r.appendChild(c.node),a.appendChild(b),k.addControlChangeGraph(function(){C(),g.start(!0)}),k.addControlChangePriority(),i.addControlOpticLabelAndColourList(g.adapter),j.addControlOpticLabelList(),C()},E=function(){h=i.createColourMappingList(),h.className="gv-colour-list",s.insertBefore(h,o[0][0])};a.appendChild(r),a.appendChild(s),s.className="contentDiv gv-background ",s.id="background",e=e||{},e.zoom=!0,$("#subNavigationBar .breadcrumb").html("Graph: "+b.graphName),o=y(),"undefined"!==Storage&&(this.graphSettings={},this.loadLocalStorage=function(){var a=b.baseUrl.split("/")[2],c=b.graphName+a;if(null===localStorage.getItem("graphSettings")||"null"===localStorage.getItem("graphSettings")){var d={};d[c]={viewer:e,adapter:b},localStorage.setItem("graphSettings",JSON.stringify(d))}else try{var f=JSON.parse(localStorage.getItem("graphSettings"));this.graphSettings=f,void 0!==f[c].viewer&&(e=f[c].viewer),void 0!==f[c].adapter&&(b=f[c].adapter)}catch(g){console.log("Could not load graph settings, resetting graph settings."),this.graphSettings[c]={viewer:e,adapter:b},localStorage.setItem("graphSettings",JSON.stringify(this.graphSettings))}},this.loadLocalStorage(),this.writeLocalStorage=function(){}),g=new GraphViewer(o,p,q,b,e),A(),z(),D(),E(),t(),B(),$("#graphSize").on("change",function(){var a=$("#graphSize").find(":selected").val();g.loadGraphWithRandomStart(function(a){a&&a.errorCode&&arangoHelper.arangoError("Graph","Sorry your graph seems to be empty")},a)}),f&&("string"==typeof f?g.loadGraph(f):g.loadGraphWithRandomStart(function(a){a&&a.errorCode&&arangoHelper.arangoError("Graph","Sorry your graph seems to be empty")})),this.changeWidth=function(a){g.changeWidth(a);var b=a-55;o.attr("width",b).style("width",b+"px")}}function GraphViewerWidget(a,b){"use strict";var c,d,e,f,g,h,i,j,k=function(){return d3.select(d).append("svg").attr("id","graphViewerSVG").attr("width",e).attr("height",f).attr("class","graph-viewer").attr("style","width:"+e+"px;height:"+f+"px;")},l=function(a){var b=0;return _.each(a,function(c,d){c===!1?delete a[d]:b++}),b>0},m=function(a,b){_.each(b,function(b,c){a[c]=a[c]||{},_.each(b,function(b,d){a[c][d]=b})})},n=function(a){if(a){var b={};a.drag&&m(b,j.dragRebinds()),a.create&&(m(b,j.newNodeRebinds()),m(b,j.connectNodesRebinds())),a.remove&&m(b,j.deleteRebinds()),a.expand&&m(b,j.expandRebinds()),a.edit&&m(b,j.editRebinds()),j.rebindAll(b)}},o=function(a){var b=document.createElement("div");j=new EventDispatcherControls(b,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig),b.id="toolbox",b.className="btn-group btn-group-vertical pull-left toolbox",d.appendChild(b),_.each(a,function(a,b){switch(b){case"expand":j.addControlExpand();break;case"create":j.addControlNewNode(),j.addControlConnect();break;case"drag":j.addControlDrag();break;case"edit":j.addControlEdit();break;case"remove":j.addControlDelete()}})},p=function(a){var b=document.createElement("div");j=new EventDispatcherControls(b,g.nodeShaper,g.edgeShaper,g.start,g.dispatcherConfig)},q=function(){return new GraphViewer(c,e,f,i,a)};d=document.body,e=d.getBoundingClientRect().width,f=d.getBoundingClientRect().height,i={type:"foxx",route:"."},a=a||{},h=l(a.toolbox),h&&(e-=43),c=k(),g=q(),h?o(a.toolbox):p(),b&&g.loadGraph(b),n(a.actions)}function LayouterControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The Layouter has to be given.";var c=this;this.addControlGravity=function(){var c="control_layout_gravity",d=c+"_";uiComponentsHelper.createButton(a,"Gravity",c,function(){modalDialogHelper.createModalDialog("Switch Gravity Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({gravity:a})})})},this.addControlCharge=function(){var c="control_layout_charge",d=c+"_";uiComponentsHelper.createButton(a,"Charge",c,function(){modalDialogHelper.createModalDialog("Switch Charge Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({charge:a})})})},this.addControlDistance=function(){var c="control_layout_distance",d=c+"_";uiComponentsHelper.createButton(a,"Distance",c,function(){modalDialogHelper.createModalDialog("Switch Distance Strength",d,[{type:"text",id:"value"}],function(){var a=$("#"+d+"value").attr("value");b.changeTo({distance:a})})})},this.addAll=function(){c.addControlDistance(),c.addControlGravity(),c.addControlCharge()}}function NodeShaperControls(a,b){"use strict";if(void 0===a)throw"A list element has to be given.";if(void 0===b)throw"The NodeShaper has to be given.";var c,d=this,e=function(a){for(;c.hasChildNodes();)c.removeChild(c.lastChild);var b=document.createElement("ul");c.appendChild(b),_.each(a,function(a,c){var d=document.createElement("ul"),e=a.list,f=a.front;d.style.backgroundColor=c,d.style.color=f,_.each(e,function(a){var b=document.createElement("li");b.appendChild(document.createTextNode(a)),d.appendChild(b)}),b.appendChild(d)})};this.addControlOpticShapeNone=function(){uiComponentsHelper.createButton(a,"None","control_node_none",function(){b.changeTo({shape:{type:NodeShaper.shapes.NONE}})})},this.applyLocalStorage=function(a){if("undefined"!==Storage)try{var b=JSON.parse(localStorage.getItem("graphSettings")),c=window.location.hash.split("/")[1],d=window.location.pathname.split("/")[2],e=c+d;_.each(a,function(a,c){void 0!==c&&(b[e].viewer.nodeShaper[c]=a)}),localStorage.setItem("graphSettings",JSON.stringify(b))}catch(f){console.log(f)}},this.addControlOpticShapeCircle=function(){var c="control_node_circle",d=c+"_";uiComponentsHelper.createButton(a,"Circle",c,function(){modalDialogHelper.createModalDialog("Switch to Circle",d,[{type:"text",id:"radius"}],function(){var a=$("#"+d+"radius").attr("value");b.changeTo({shape:{type:NodeShaper.shapes.CIRCLE,radius:a}})})})},this.addControlOpticShapeRect=function(){var c="control_node_rect",d=c+"_";uiComponentsHelper.createButton(a,"Rectangle",c,function(){modalDialogHelper.createModalDialog("Switch to Rectangle","control_node_rect_",[{type:"text",id:"width"},{type:"text",id:"height"}],function(){var a=$("#"+d+"width").attr("value"),c=$("#"+d+"height").attr("value");b.changeTo({shape:{type:NodeShaper.shapes.RECT,width:a,height:c}})})})},this.addControlOpticLabel=function(){var c="control_node_label",e=c+"_";uiComponentsHelper.createButton(a,"Configure Label",c,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",e,[{type:"text",id:"key"}],function(){var a=$("#"+e+"key").attr("value"),c={label:a};d.applyLocalStorage(c),b.changeTo(c)})})},this.addControlOpticSingleColour=function(){var c="control_node_singlecolour",d=c+"_";uiComponentsHelper.createButton(a,"Single Colour",c,function(){modalDialogHelper.createModalDialog("Switch to Colour",d,[{type:"text",id:"fill"},{type:"text",id:"stroke"}],function(){var a=$("#"+d+"fill").attr("value"),c=$("#"+d+"stroke").attr("value");b.changeTo({color:{type:"single",fill:a,stroke:c}})})})},this.addControlOpticAttributeColour=function(){var c="control_node_attributecolour",d=c+"_";uiComponentsHelper.createButton(a,"Colour by Attribute",c,function(){modalDialogHelper.createModalDialog("Display colour by attribute",d,[{type:"text", +id:"key"}],function(){var a=$("#"+d+"key").attr("value");b.changeTo({color:{type:"attribute",key:a}})})})},this.addControlOpticExpandColour=function(){var c="control_node_expandcolour",d=c+"_";uiComponentsHelper.createButton(a,"Expansion Colour",c,function(){modalDialogHelper.createModalDialog("Display colours for expansion",d,[{type:"text",id:"expanded"},{type:"text",id:"collapsed"}],function(){var a=$("#"+d+"expanded").attr("value"),c=$("#"+d+"collapsed").attr("value");b.changeTo({color:{type:"expand",expanded:a,collapsed:c}})})})},this.addControlOpticLabelAndColour=function(e){var f="control_node_labelandcolour",g=f+"_";uiComponentsHelper.createButton(a,"Configure Label",f,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",g,[{type:"text",id:"label-attribute",text:"Vertex label attribute",value:b.getLabel()||""},{type:"decission",id:"samecolour",group:"colour",text:"Use this attribute for coloring, too",isDefault:b.getLabel()===b.getColor()},{type:"decission",id:"othercolour",group:"colour",text:"Use different attribute for coloring",isDefault:b.getLabel()!==b.getColor(),interior:[{type:"text",id:"colour-attribute",text:"Color attribute",value:b.getColor()||""}]}],function(){var a=$("#"+g+"label-attribute").attr("value"),e=$("#"+g+"colour-attribute").attr("value"),f=$("input[type='radio'][name='colour']:checked").attr("id");f===g+"samecolour"&&(e=a);var h={label:a,color:{type:"attribute",key:e}};d.applyLocalStorage(h),b.changeTo(h),void 0===c&&(c=d.createColourMappingList())})})},this.addControlOpticLabelAndColourList=function(e){var f="control_node_labelandcolourlist",g=f+"_";uiComponentsHelper.createButton(a,"Configure Label",f,function(){modalDialogHelper.createModalChangeDialog("Change label attribute",g,[{type:"extendable",id:"label",text:"Vertex label attribute",objects:b.getLabel()},{type:"decission",id:"samecolour",group:"colour",text:"Use this attribute for coloring, too",isDefault:b.getLabel()===b.getColor()},{type:"decission",id:"othercolour",group:"colour",text:"Use different attribute for coloring",isDefault:b.getLabel()!==b.getColor(),interior:[{type:"extendable",id:"colour",text:"Color attribute",objects:b.getColor()||""}]}],function(){var a=$("input[id^="+g+"label_]"),e=$("input[id^="+g+"colour_]"),f=$("input[type='radio'][name='colour']:checked").attr("id"),h=[],i=[];a.each(function(a,b){var c=$(b).val();""!==c&&h.push(c)}),e.each(function(a,b){var c=$(b).val();""!==c&&i.push(c)}),f===g+"samecolour"&&(i=h);var j={label:h,color:{type:"attribute",key:i}};d.applyLocalStorage(j),b.changeTo(j),void 0===c&&(c=d.createColourMappingList())})})},this.addAllOptics=function(){d.addControlOpticShapeNone(),d.addControlOpticShapeCircle(),d.addControlOpticShapeRect(),d.addControlOpticLabel(),d.addControlOpticSingleColour(),d.addControlOpticAttributeColour(),d.addControlOpticExpandColour()},this.addAllActions=function(){},this.addAll=function(){d.addAllOptics(),d.addAllActions()},this.createColourMappingList=function(){return void 0!==c?c:(c=document.createElement("div"),c.id="node_colour_list",e(b.getColourMapping()),b.setColourMappingListener(e),c)}}function GraphViewer(a,b,c,d,e){"use strict";if($("html").attr("xmlns:xlink","http://www.w3.org/1999/xlink"),void 0===a||void 0===a.append)throw"SVG has to be given and has to be selected using d3.select";if(void 0===b||0>=b)throw"A width greater 0 has to be given";if(void 0===c||0>=c)throw"A height greater 0 has to be given";if(void 0===d||void 0===d.type)throw"An adapter configuration has to be given";var f,g,h,i,j,k,l,m,n=this,o=[],p=[],q=function(a){if(!a)return a={},a.nodes=p,a.links=o,a.width=b,a.height=c,void(i=new ForceLayouter(a));switch(a.type.toLowerCase()){case"force":a.nodes=p,a.links=o,a.width=b,a.height=c,i=new ForceLayouter(a);break;default:throw"Sorry unknown layout type."}},r=function(a){f.setNodeLimit(a,n.start)},s=function(d){d&&(j=new ZoomManager(b,c,a,k,g,h,{},r))},t=function(a){var b=a.edgeShaper||{},c=a.nodeShaper||{},d=c.idfunc||void 0,e=a.zoom||!1;b.shape=b.shape||{type:EdgeShaper.shapes.ARROW},q(a.layouter),m=k.append("g"),h=new EdgeShaper(m,b),l=k.append("g"),g=new NodeShaper(l,c,d),i.setCombinedUpdateFunction(g,h),s(e)};switch(d.type.toLowerCase()){case"arango":d.width=b,d.height=c,f=new ArangoAdapter(p,o,this,d),f.setChildLimit(10);break;case"gharial":d.width=b,d.height=c,f=new GharialAdapter(p,o,this,d),f.setChildLimit(10);break;case"foxx":d.width=b,d.height=c,f=new FoxxAdapter(p,o,d.route,this,d);break;case"json":f=new JSONAdapter(d.path,p,o,this,b,c);break;case"preview":d.width=b,d.height=c,f=new PreviewAdapter(p,o,this,d);break;default:throw"Sorry unknown adapter type."}k=a.append("g"),t(e||{}),this.start=function(a){i.stop(),a&&(""!==$(".infoField").text()?_.each(p,function(a){_.each(f.randomNodes,function(b){a._id===b._id&&(a._expanded=!0)})}):_.each(p,function(a){a._expanded=!0})),g.drawNodes(p),h.drawEdges(o),i.start()},this.loadGraph=function(a,b){f.loadInitialNode(a,function(a){return a.errorCode?void b(a):(a._expanded=!0,n.start(),void(_.isFunction(b)&&b()))})},this.loadGraphWithRandomStart=function(a,b){f.loadRandomNode(function(b){return b.errorCode&&404===b.errorCode?void a(b):(b._expanded=!0,n.start(!0),void(_.isFunction(a)&&a()))},b)},this.loadGraphWithAdditionalNode=function(a,b,c){f.loadAdditionalNodeByAttributeValue(a,b,function(a){return a.errorCode?void c(a):(a._expanded=!0,n.start(),void(_.isFunction(c)&&c()))})},this.loadGraphWithAttributeValue=function(a,b,c){f.randomNodes=[],f.definedNodes=[],f.loadInitialNodeByAttributeValue(a,b,function(a){return a.errorCode?void c(a):(a._expanded=!0,n.start(),void(_.isFunction(c)&&c()))})},this.cleanUp=function(){g.resetColourMap(),h.resetColourMap()},this.changeWidth=function(a){i.changeWidth(a),j.changeWidth(a),f.setWidth(a)},this.dispatcherConfig={expand:{edges:o,nodes:p,startCallback:n.start,adapter:f,reshapeNodes:g.reshapeNodes},drag:{layouter:i},nodeEditor:{nodes:p,adapter:f},edgeEditor:{edges:o,adapter:f}},this.adapter=f,this.nodeShaper=g,this.edgeShaper=h,this.layouter=i,this.zoomManager=j}EdgeShaper.shapes=Object.freeze({NONE:0,ARROW:1}),NodeShaper.shapes=Object.freeze({NONE:0,CIRCLE:1,RECT:2,IMAGE:3});var modalDialogHelper=modalDialogHelper||{};!function(){"use strict";var a,b=function(a){$(document).bind("keypress.key13",function(b){b.which&&13===b.which&&$(a).click()})},c=function(){$(document).unbind("keypress.key13")},d=function(a,b,c,d,e){var f,g,h=function(){e(f)},i=modalDialogHelper.modalDivTemplate(a,b,c,h),j=document.createElement("tr"),k=document.createElement("th"),l=document.createElement("th"),m=document.createElement("th"),n=document.createElement("button"),o=1;f=function(){var a={};return _.each($("#"+c+"table tr:not(#first_row)"),function(b){var c=$(".keyCell input",b).val(),d=$(".valueCell input",b).val();a[c]=d}),a},i.appendChild(j),j.id="first_row",j.appendChild(k),k.className="keyCell",j.appendChild(l),l.className="valueCell",j.appendChild(m),m.className="actionCell",m.appendChild(n),n.id=c+"new",n.className="graphViewer-icon-button gv-icon-small add",g=function(a,b){var d,e,f,g=/^_(id|rev|key|from|to)/,h=document.createElement("tr"),j=document.createElement("th"),k=document.createElement("th"),l=document.createElement("th");g.test(b)||(i.appendChild(h),h.appendChild(k),k.className="keyCell",e=document.createElement("input"),e.type="text",e.id=c+b+"_key",e.value=b,k.appendChild(e),h.appendChild(l),l.className="valueCell",f=document.createElement("input"),f.type="text",f.id=c+b+"_value","object"==typeof a?f.value=JSON.stringify(a):f.value=a,l.appendChild(f),h.appendChild(j),j.className="actionCell",d=document.createElement("button"),d.id=c+b+"_delete",d.className="graphViewer-icon-button gv-icon-small delete",j.appendChild(d),d.onclick=function(){i.removeChild(h)})},n.onclick=function(){g("","new_"+o),o++},_.each(d,g),$("#"+c+"modal").modal("show")},e=function(a,b,c,d,e){var f=modalDialogHelper.modalDivTemplate(a,b,c,e),g=document.createElement("tr"),h=document.createElement("th"),i=document.createElement("pre");f.appendChild(g),g.appendChild(h),h.appendChild(i),i.className="gv-object-view",i.innerHTML=JSON.stringify(d,null,2),$("#"+c+"modal").modal("show")},f=function(a,b){var c=document.createElement("input");return c.type="text",c.id=a,c.value=b,c},g=function(a,b){var c=document.createElement("input");return c.type="checkbox",c.id=a,c.checked=b,c},h=function(a,b,c){var d=document.createElement("select");return d.id=a,_.each(_.sortBy(b,function(a){return a.toLowerCase()}),function(a){var b=document.createElement("option");b.value=a,b.selected=a===c,b.appendChild(document.createTextNode(a)),d.appendChild(b)}),d},i=function(a){var b=$(".decission_"+a),c=$("input[type='radio'][name='"+a+"']:checked").attr("id");b.each(function(){$(this).attr("decider")===c?$(this).css("display",""):$(this).css("display","none")})},j=function(b,c,d,e,f,g,h,j){var k=document.createElement("input"),l=b+c,m=document.createElement("label"),n=document.createElement("tbody");k.id=l,k.type="radio",k.name=d,k.className="gv-radio-button",m.className="radio",h.appendChild(m),m.appendChild(k),m.appendChild(document.createTextNode(e)),j.appendChild(n),$(n).toggleClass("decission_"+d,!0),$(n).attr("decider",l),_.each(g,function(c){a(n,b,c)}),f?k.checked=!0:k.checked=!1,m.onclick=function(a){i(d),a.stopPropagation()},i(d)},k=function(a,b,c,d,e,f){var g,h=[],i=a+b,j=1,k=document.createElement("th"),l=document.createElement("button"),m=document.createElement("input"),n=function(a){j++;var c,d=document.createElement("tr"),g=document.createElement("th"),k=document.createElement("th"),l=document.createElement("th"),m=document.createElement("input"),n=document.createElement("button");m.type="text",m.id=i+"_"+j,m.value=a||"",c=0===h.length?$(f):$(h[h.length-1]),c.after(d),d.appendChild(g),g.className="collectionTh capitalize",g.appendChild(document.createTextNode(b+" "+j+":")),d.appendChild(k),k.className="collectionTh",k.appendChild(m),n.id=i+"_"+j+"_remove",n.className="graphViewer-icon-button gv-icon-small delete",n.onclick=function(){e.removeChild(d),h.splice(h.indexOf(d),1)},l.appendChild(n),d.appendChild(l),h.push(d)};for(m.type="text",m.id=i+"_1",d.appendChild(m),k.appendChild(l),f.appendChild(k),l.onclick=function(){n()},l.id=i+"_addLine",l.className="graphViewer-icon-button gv-icon-small add","string"==typeof c&&c.length>0&&(c=[c]),c.length>0&&(m.value=c[0]),g=1;g'+c+""),a.disabled||$("#subNavigationBar .bottom").children().last().bind("click",function(){window.App.navigate(a.route,{trigger:!0})})})},buildUserSubNav:function(a,b){var c={General:{route:"#user/"+encodeURIComponent(a)},Permissions:{route:"#user/"+encodeURIComponent(a)+"/permission"}};c[b].active=!0,this.buildSubNavBar(c)},buildNodeSubNav:function(a,b,c){var d={Dashboard:{route:"#node/"+encodeURIComponent(a)}};d[b].active=!0,d[c].disabled=!0,this.buildSubNavBar(d)},buildNodesSubNav:function(a,b){var c={Overview:{route:"#nodes"},Shards:{route:"#shards"}};c[a].active=!0,b&&(c[b].disabled=!0),this.buildSubNavBar(c)},scaleability:void 0,buildCollectionSubNav:function(a,b){var c="#collection/"+encodeURIComponent(a),d={Content:{route:c+"/documents/1"},Indices:{route:"#cIndices/"+encodeURIComponent(a)},Info:{route:"#cInfo/"+encodeURIComponent(a)},Settings:{route:"#cSettings/"+encodeURIComponent(a)}};d[b].active=!0,this.buildSubNavBar(d)},enableKeyboardHotkeys:function(a){var b=window.arangoHelper.hotkeysFunctions;a===!0&&($(document).on("keydown",null,"j",b.scrollDown),$(document).on("keydown",null,"k",b.scrollUp))},databaseAllowed:function(a){var b=function(b,c){b?arangoHelper.arangoError("",""):$.ajax({type:"GET",cache:!1,url:this.databaseUrl("/_api/database/",c),contentType:"application/json",processData:!1,success:function(){a(!1,!0)},error:function(){a(!0,!1)}})}.bind(this);this.currentDatabase(b)},arangoNotification:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"success"})},arangoError:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"error"})},arangoWarning:function(a,b,c){window.App.notificationList.add({title:a,content:b,info:c,type:"warning"})},hideArangoNotifications:function(){$.noty.clearQueue(),$.noty.closeAll()},openDocEditor:function(a,b,c){var d=a.split("/"),e=this,f=new window.DocumentView({collection:window.App.arangoDocumentStore});f.breadcrumb=function(){},f.colid=d[0],f.docid=d[1],f.el=".arangoFrame .innerDiv",f.render(),f.setType(b),$(".arangoFrame .headerBar").remove(),$(".arangoFrame .outerDiv").prepend(''),$(".arangoFrame .outerDiv").click(function(){e.closeDocEditor()}),$(".arangoFrame .innerDiv").click(function(a){a.stopPropagation()}),$(".fa-times").click(function(){e.closeDocEditor()}),$(".arangoFrame").show(),f.customView=!0,f.customDeleteFunction=function(){window.modalView.hide(),$(".arangoFrame").hide()},$(".arangoFrame #deleteDocumentButton").click(function(){f.deleteDocumentModal()}),$(".arangoFrame #saveDocumentButton").click(function(){f.saveDocument()}),$(".arangoFrame #deleteDocumentButton").css("display","none")},closeDocEditor:function(){$(".arangoFrame .outerDiv .fa-times").remove(),$(".arangoFrame").hide()},addAardvarkJob:function(a,b){$.ajax({cache:!1,type:"POST",url:this.databaseUrl("/_admin/aardvark/job"),data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){b&&b(!1,a)},error:function(a){b&&b(!0,a)}})},deleteAardvarkJob:function(a,b){$.ajax({cache:!1,type:"DELETE",url:this.databaseUrl("/_admin/aardvark/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a){b&&b(!1,a)},error:function(a){b&&b(!0,a)}})},deleteAllAardvarkJobs:function(a){$.ajax({cache:!1,type:"DELETE",url:this.databaseUrl("/_admin/aardvark/job"),contentType:"application/json",processData:!1,success:function(b){a&&a(!1,b)},error:function(b){a&&a(!0,b)}})},getAardvarkJobs:function(a){$.ajax({cache:!1,type:"GET",url:this.databaseUrl("/_admin/aardvark/job"),contentType:"application/json",processData:!1,success:function(b){a&&a(!1,b)},error:function(b){a&&a(!0,b)}})},getPendingJobs:function(a){$.ajax({cache:!1,type:"GET",url:this.databaseUrl("/_api/job/pending"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},syncAndReturnUninishedAardvarkJobs:function(a,b){var c=function(c,d){if(c)b(!0);else{var e=function(c,e){if(c)arangoHelper.arangoError("","");else{var f=[];e.length>0?_.each(d,function(b){if(b.type===a||void 0===b.type){var c=!1;_.each(e,function(a){b.id===a&&(c=!0)}),c?f.push({collection:b.collection,id:b.id,type:b.type,desc:b.desc}):window.arangoHelper.deleteAardvarkJob(b.id)}}):d.length>0&&this.deleteAllAardvarkJobs(),b(!1,f)}}.bind(this);this.getPendingJobs(e)}}.bind(this);this.getAardvarkJobs(c)},getRandomToken:function(){return Math.round((new Date).getTime())},isSystemAttribute:function(a){var b=this.systemAttributes();return b[a]},isSystemCollection:function(a){return"_"===a.name.substr(0,1)},setDocumentStore:function(a){this.arangoDocumentStore=a},collectionApiType:function(a,b,c){if(b||void 0===this.CollectionTypes[a]){var d=function(b,c,d){b?arangoHelper.arangoError("Error","Could not detect collection type"):(this.CollectionTypes[a]=c.type,3===this.CollectionTypes[a]?d(!1,"edge"):d(!1,"document"))}.bind(this);this.arangoDocumentStore.getCollectionInfo(a,d,c)}else c(!1,this.CollectionTypes[a])},collectionType:function(a){if(!a||""===a.name)return"-";var b;return b=2===a.type?"document":3===a.type?"edge":"unknown",this.isSystemCollection(a)&&(b+=" (system)"),b},formatDT:function(a){var b=function(a){return 10>a?"0"+a:a};return a.getUTCFullYear()+"-"+b(a.getUTCMonth()+1)+"-"+b(a.getUTCDate())+" "+b(a.getUTCHours())+":"+b(a.getUTCMinutes())+":"+b(a.getUTCSeconds())},escapeHtml:function(a){return String(a).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},backendUrl:function(a){return frontendConfig.basePath+a},databaseUrl:function(a,b){if("/_db/"===a.substr(0,5))throw new Error("Calling databaseUrl with a databased url ("+a+") doesn't make any sense");return b||(b="_system",frontendConfig.db&&(b=frontendConfig.db)),this.backendUrl("/_db/"+encodeURIComponent(b)+a)},download:function(a){$.ajax(a).success(function(a,b,c){var d=new Blob([JSON.stringify(a)],{type:c.getResponseHeader("Content-Type")||"application/octet-stream"}),e=window.URL.createObjectURL(d),f=document.createElement("a");document.body.appendChild(f),f.style="display: none",f.href=e,f.download=c.getResponseHeader("Content-Disposition").replace(/.* filename="([^")]*)"/,"$1"),f.click(),window.URL.revokeObjectURL(e),document.body.removeChild(f)})}}}(),function(){"use strict";if(!window.hasOwnProperty("TEST_BUILD")){var a=function(){var a={};return a.createTemplate=function(a){var b=$("#"+a.replace(".","\\.")).html();return{render:function(a){var c=_.template(b);return c=c(a)}}},a};window.templateEngine=new a}}(),function(){"use strict";window.dygraphConfig={defaultFrame:12e5,zeropad:function(a){return 10>a?"0"+a:a},xAxisFormat:function(a){if(-1===a)return"";var b=new Date(a);return this.zeropad(b.getHours())+":"+this.zeropad(b.getMinutes())+":"+this.zeropad(b.getSeconds())},mergeObjects:function(a,b,c){c||(c=[]);var d,e={};return c.forEach(function(c){var d=a[c],f=b[c];void 0===d&&(d={}),void 0===f&&(f={}),e[c]=_.extend(d,f)}),d=_.extend(a,b),Object.keys(e).forEach(function(a){d[a]=e[a]}),d},mapStatToFigure:{pageFaults:["times","majorPageFaultsPerSecond","minorPageFaultsPerSecond"],systemUserTime:["times","systemTimePerSecond","userTimePerSecond"],totalTime:["times","avgQueueTime","avgRequestTime","avgIoTime"],dataTransfer:["times","bytesSentPerSecond","bytesReceivedPerSecond"],requests:["times","getsPerSecond","putsPerSecond","postsPerSecond","deletesPerSecond","patchesPerSecond","headsPerSecond","optionsPerSecond","othersPerSecond"]},colors:["rgb(95, 194, 135)","rgb(238, 190, 77)","#81ccd8","#7ca530","#3c3c3c","#aa90bd","#e1811d","#c7d4b2","#d0b2d4"],figureDependedOptions:{clusterRequestsPerSecond:{showLabelsOnHighlight:!0,title:"",header:"Cluster Requests per Second",stackedGraph:!0,div:"lineGraphLegend",labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},pageFaults:{header:"Page Faults",visibility:[!0,!1],labels:["datetime","Major Page","Minor Page"],div:"pageFaultsChart",labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},systemUserTime:{div:"systemUserTimeChart",header:"System and User Time",labels:["datetime","System Time","User Time"],stackedGraph:!0,labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}},totalTime:{div:"totalTimeChart",header:"Total Time",labels:["datetime","Queue","Computation","I/O"],labelsKMG2:!1,axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}},stackedGraph:!0},dataTransfer:{header:"Data Transfer",labels:["datetime","Bytes sent","Bytes received"],stackedGraph:!0,div:"dataTransferChart"},requests:{header:"Requests",labels:["datetime","Reads","Writes"],stackedGraph:!0,div:"requestsChart",axes:{y:{valueFormatter:function(a){return parseFloat(a.toPrecision(3))},axisLabelFormatter:function(a){return 0===a?0:parseFloat(a.toPrecision(3))}}}}},getDashBoardFigures:function(a){var b=[],c=this;return Object.keys(this.figureDependedOptions).forEach(function(d){"clusterRequestsPerSecond"!==d&&(c.figureDependedOptions[d].div||a)&&b.push(d)}),b},getDefaultConfig:function(a){var b=this,c={digitsAfterDecimal:1,drawGapPoints:!0,fillGraph:!0,fillAlpha:.85,showLabelsOnHighlight:!1,strokeWidth:0,lineWidth:0,strokeBorderWidth:0,includeZero:!0,highlightCircleSize:2.5,labelsSeparateLines:!0,strokeBorderColor:"rgba(0,0,0,0)",interactionModel:{},maxNumberWidth:10,colors:[this.colors[0]],xAxisLabelWidth:"50",rightGap:15,showRangeSelector:!1,rangeSelectorHeight:50,rangeSelectorPlotStrokeColor:"#365300",rangeSelectorPlotFillColor:"",pixelsPerLabel:50,labelsKMG2:!0,dateWindow:[(new Date).getTime()-this.defaultFrame,(new Date).getTime()],axes:{x:{valueFormatter:function(a){return b.xAxisFormat(a)}},y:{ticker:Dygraph.numericLinearTicks}}};return this.figureDependedOptions[a]&&(c=this.mergeObjects(c,this.figureDependedOptions[a],["axes"]),c.div&&c.labels&&(c.colors=this.getColors(c.labels),c.labelsDiv=document.getElementById(c.div+"Legend"),c.legend="always",c.showLabelsOnHighlight=!0)),c},getDetailChartConfig:function(a){var b=_.extend(this.getDefaultConfig(a),{showRangeSelector:!0,interactionModel:null,showLabelsOnHighlight:!0,highlightCircleSize:2.5,legend:"always",labelsDiv:"div#detailLegend.dashboard-legend-inner"});return"pageFaults"===a&&(b.visibility=[!0,!0]),b.labels||(b.labels=["datetime",b.header],b.colors=this.getColors(b.labels)),b},getColors:function(a){var b;return b=this.colors.concat([]),b.slice(0,a.length-1)}}}(),function(){"use strict";window.arangoCollectionModel=Backbone.Model.extend({idAttribute:"name",urlRoot:arangoHelper.databaseUrl("/_api/collection"),defaults:{id:"",name:"",status:"",type:"",isSystem:!1,picture:"",locked:!1,desc:void 0},getProperties:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+encodeURIComponent(this.get("id"))+"/properties"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},getFigures:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/figures"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(){a(!0)}})},getRevision:function(a,b){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/revision"),contentType:"application/json",processData:!1,success:function(c){a(!1,c,b)},error:function(){a(!0)}})},getIndex:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/index/?collection="+this.get("id")),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},createIndex:function(a,b){var c=this;$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/index?collection="+c.get("id")),headers:{"x-arango-async":"store"},data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a,d,e){e.getResponseHeader("x-arango-async-id")?(window.arangoHelper.addAardvarkJob({id:e.getResponseHeader("x-arango-async-id"),type:"index",desc:"Creating Index",collection:c.get("id")}),b(!1,a)):b(!0,a)},error:function(a){b(!0,a)}})},deleteIndex:function(a,b){var c=this;$.ajax({cache:!1,type:"DELETE",url:arangoHelper.databaseUrl("/_api/index/"+this.get("name")+"/"+encodeURIComponent(a)),headers:{"x-arango-async":"store"},success:function(a,d,e){e.getResponseHeader("x-arango-async-id")?(window.arangoHelper.addAardvarkJob({id:e.getResponseHeader("x-arango-async-id"),type:"index",desc:"Removing Index",collection:c.get("id")}),b(!1,a)):b(!0,a)},error:function(a){b(!0,a)}}),b()},truncateCollection:function(){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/truncate"),success:function(){arangoHelper.arangoNotification("Collection truncated."); +},error:function(){arangoHelper.arangoError("Collection error.")}})},loadCollection:function(a){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/load"),success:function(){a(!1)},error:function(){a(!0)}}),a()},unloadCollection:function(a){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/unload?flush=true"),success:function(){a(!1)},error:function(){a(!0)}}),a()},renameCollection:function(a,b){var c=this;$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/rename"),data:JSON.stringify({name:a}),contentType:"application/json",processData:!1,success:function(){c.set("name",a),b(!1)},error:function(a){b(!0,a)}})},changeCollection:function(a,b,c,d){var e=!1;"true"===a?a=!0:"false"===a&&(a=!1);var f={waitForSync:a,journalSize:parseInt(b),indexBuckets:parseInt(c)};return $.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/collection/"+this.get("id")+"/properties"),data:JSON.stringify(f),contentType:"application/json",processData:!1,success:function(){d(!1)},error:function(a){d(!1,a)}}),e}})}(),window.DatabaseModel=Backbone.Model.extend({idAttribute:"name",initialize:function(){"use strict"},isNew:function(){"use strict";return!1},sync:function(a,b,c){"use strict";return"update"===a&&(a="create"),Backbone.sync(a,b,c)},url:arangoHelper.databaseUrl("/_api/database"),defaults:{}}),window.arangoDocumentModel=Backbone.Model.extend({initialize:function(){"use strict"},urlRoot:arangoHelper.databaseUrl("/_api/document"),defaults:{_id:"",_rev:"",_key:""},getSorted:function(){"use strict";var a=this,b=Object.keys(a.attributes).sort(function(a,b){var c=arangoHelper.isSystemAttribute(a),d=arangoHelper.isSystemAttribute(b);return c!==d?c?-1:1:b>a?-1:1}),c={};return _.each(b,function(b){c[b]=a.attributes[b]}),c}}),function(){"use strict";window.ArangoQuery=Backbone.Model.extend({urlRoot:arangoHelper.databaseUrl("/_api/user"),defaults:{name:"",type:"custom",value:""}})}(),window.Replication=Backbone.Model.extend({defaults:{state:{},server:{}},initialize:function(){}}),window.Statistics=Backbone.Model.extend({defaults:{},url:function(){"use strict";return"/_admin/statistics"}}),window.StatisticsDescription=Backbone.Model.extend({defaults:{figures:"",groups:""},url:function(){"use strict";return"/_admin/statistics-description"}}),window.Users=Backbone.Model.extend({defaults:{user:"",active:!1,extra:{}},idAttribute:"user",parse:function(a){return this.isNotNew=!0,a},isNew:function(){return!this.isNotNew},url:function(){return this.isNew()?arangoHelper.databaseUrl("/_api/user"):""!==this.get("user")?arangoHelper.databaseUrl("/_api/user/"+this.get("user")):arangoHelper.databaseUrl("/_api/user")},checkPassword:function(a,b){$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({passwd:a}),contentType:"application/json",processData:!1,success:function(a){b(!1,a)},error:function(a){b(!0,a)}})},setPassword:function(a){$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({passwd:a}),contentType:"application/json",processData:!1})},setExtras:function(a,b,c){$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+this.get("user")),data:JSON.stringify({extra:{name:a,img:b}}),contentType:"application/json",processData:!1,success:function(){c(!1)},error:function(){c(!0)}})}}),function(){"use strict";window.ClusterCoordinator=Backbone.Model.extend({defaults:{name:"",status:"ok",address:"",protocol:""},idAttribute:"name",forList:function(){return{name:this.get("name"),status:this.get("status"),url:this.get("url")}}})}(),function(){"use strict";window.ClusterServer=Backbone.Model.extend({defaults:{name:"",address:"",role:"",status:"ok"},idAttribute:"name",forList:function(){return{name:this.get("name"),address:this.get("address"),status:this.get("status")}}})}(),function(){"use strict";window.Coordinator=Backbone.Model.extend({defaults:{address:"",protocol:"",name:"",status:""}})}(),function(){"use strict";window.CurrentDatabase=Backbone.Model.extend({url:arangoHelper.databaseUrl("/_api/database/current",frontendConfig.db),parse:function(a){return a.result}})}(),function(){"use strict";var a=function(a,b,c,d,e,f){var g={contentType:"application/json",processData:!1,type:c};b=b||function(){},f=_.extend({mount:a.encodedMount()},f);var h=_.reduce(f,function(a,b,c){return a+encodeURIComponent(c)+"="+encodeURIComponent(b)+"&"},"?");g.url=arangoHelper.databaseUrl("/_admin/aardvark/foxxes"+(d?"/"+d:"")+h.slice(0,h.length-1)),void 0!==e&&(g.data=JSON.stringify(e)),$.ajax(g).then(function(a){b(null,a)},function(a){window.xhr=a,b(_.extend(a.status?new Error(a.responseJSON?a.responseJSON.errorMessage:a.responseText):new Error("Network Error"),{statusCode:a.status}))})};window.Foxx=Backbone.Model.extend({idAttribute:"mount",defaults:{author:"Unknown Author",name:"",version:"Unknown Version",description:"No description",license:"Unknown License",contributors:[],scripts:{},config:{},deps:{},git:"",system:!1,development:!1},isNew:function(){return!1},encodedMount:function(){return encodeURIComponent(this.get("mount"))},destroy:function(b,c){a(this,c,"DELETE",void 0,void 0,b)},isBroken:function(){return!1},needsAttention:function(){return this.isBroken()||this.needsConfiguration()||this.hasUnconfiguredDependencies()},needsConfiguration:function(){return _.any(this.get("config"),function(a){return void 0===a.current&&a.required!==!1})},hasUnconfiguredDependencies:function(){return _.any(this.get("deps"),function(a){return void 0===a.current&&a.definition.required!==!1})},getConfiguration:function(b){a(this,function(a,c){a||this.set("config",c),"function"==typeof b&&b(a,c)}.bind(this),"GET","config")},setConfiguration:function(b,c){a(this,c,"PATCH","config",b)},getDependencies:function(b){a(this,function(a,c){a||this.set("deps",c),"function"==typeof b&&b(a,c)}.bind(this),"GET","deps")},setDependencies:function(b,c){a(this,c,"PATCH","deps",b)},toggleDevelopment:function(b,c){a(this,function(a,d){a||this.set("development",b),"function"==typeof c&&c(a,d)}.bind(this),"PATCH","devel",b)},runScript:function(b,c,d){a(this,d,"POST","scripts/"+b,c)},runTests:function(b,c){a(this,function(a,b){"function"==typeof c&&c(a?a.responseJSON:a,b)}.bind(this),"POST","tests",b)},isSystem:function(){return this.get("system")},isDevelopment:function(){return this.get("development")},download:function(){arangoHelper.download(arangoHelper.databaseUrl("/_admin/aardvark/foxxes/download/zip?mount="+this.encodedMount()))},fetchThumbnail:function(a){var b=new XMLHttpRequest;b.responseType="blob",b.onload=function(){this.thumbnailUrl=URL.createObjectURL(b.response),a()}.bind(this),b.onerror=a,b.open("GET","foxxes/thumbnail?mount="+this.encodedMount()),b.setRequestHeader("Authorization","bearer "+window.arangoHelper.getCurrentJwt()),b.send()}})}(),function(){"use strict";window.Graph=Backbone.Model.extend({idAttribute:"_key",urlRoot:arangoHelper.databaseUrl("/_api/gharial"),isNew:function(){return!this.get("_id")},parse:function(a){return a.graph||a},addEdgeDefinition:function(a){$.ajax({async:!1,type:"POST",url:this.urlRoot+"/"+this.get("_key")+"/edge",data:JSON.stringify(a)})},deleteEdgeDefinition:function(a){$.ajax({async:!1,type:"DELETE",url:this.urlRoot+"/"+this.get("_key")+"/edge/"+a})},modifyEdgeDefinition:function(a){$.ajax({async:!1,type:"PUT",url:this.urlRoot+"/"+this.get("_key")+"/edge/"+a.collection,data:JSON.stringify(a)})},addVertexCollection:function(a){$.ajax({async:!1,type:"POST",url:this.urlRoot+"/"+this.get("_key")+"/vertex",data:JSON.stringify({collection:a})})},deleteVertexCollection:function(a){$.ajax({async:!1,type:"DELETE",url:this.urlRoot+"/"+this.get("_key")+"/vertex/"+a})},defaults:{name:"",edgeDefinitions:[],orphanCollections:[]}})}(),function(){"use strict";window.newArangoLog=Backbone.Model.extend({defaults:{lid:"",level:"",timestamp:"",text:"",totalAmount:""},getLogStatus:function(){switch(this.get("level")){case 1:return"Error";case 2:return"Warning";case 3:return"Info";case 4:return"Debug";default:return"Unknown"}}})}(),function(){"use strict";window.Notification=Backbone.Model.extend({defaults:{title:"",date:0,content:"",priority:"",tags:"",seen:!1}})}(),function(){"use strict";window.queryManagementModel=Backbone.Model.extend({defaults:{id:"",query:"",started:"",runTime:""}})}(),function(){"use strict";window.workMonitorModel=Backbone.Model.extend({defaults:{name:"",number:"",status:"",type:""}})}(),function(){"use strict";window.AutomaticRetryCollection=Backbone.Collection.extend({_retryCount:0,checkRetries:function(){var a=this;return this.updateUrl(),this._retryCount>10?(window.setTimeout(function(){a._retryCount=0},1e4),window.App.clusterUnreachable(),!1):!0},successFullTry:function(){this._retryCount=0},failureTry:function(a,b,c){401===c.status?window.App.requestAuth():(window.App.clusterPlan.rotateCoordinator(),this._retryCount++,a())}})}(),function(){"use strict";window.PaginatedCollection=Backbone.Collection.extend({page:0,pagesize:10,totalAmount:0,getPage:function(){return this.page+1},setPage:function(a){return a>=this.getLastPageNumber()?void(this.page=this.getLastPageNumber()-1):1>a?void(this.page=0):void(this.page=a-1)},getLastPageNumber:function(){return Math.max(Math.ceil(this.totalAmount/this.pagesize),1)},getOffset:function(){return this.page*this.pagesize},getPageSize:function(){return this.pagesize},setPageSize:function(a){if("all"===a)this.pagesize="all";else try{a=parseInt(a,10),this.pagesize=a}catch(b){}},setToFirst:function(){this.page=0},setToLast:function(){this.setPage(this.getLastPageNumber())},setToPrev:function(){this.setPage(this.getPage()-1)},setToNext:function(){this.setPage(this.getPage()+1)},setTotal:function(a){this.totalAmount=a},getTotal:function(){return this.totalAmount},setTotalMinusOne:function(){this.totalAmount--}})}(),window.ClusterStatisticsCollection=Backbone.Collection.extend({model:window.Statistics,url:"/_admin/statistics",updateUrl:function(){this.url=window.App.getNewRoute(this.host)+this.url},initialize:function(a,b){this.host=b.host,window.App.registerForUpdate(this)}}),function(){"use strict";window.arangoCollections=Backbone.Collection.extend({url:arangoHelper.databaseUrl("/_api/collection"),model:arangoCollectionModel,searchOptions:{searchPhrase:null,includeSystem:!1,includeDocument:!0,includeEdge:!0,includeLoaded:!0,includeUnloaded:!0,sortBy:"name",sortOrder:1},translateStatus:function(a){switch(a){case 0:return"corrupted";case 1:return"new born collection";case 2:return"unloaded";case 3:return"loaded";case 4:return"unloading";case 5:return"deleted";case 6:return"loading";default:return}},translateTypePicture:function(a){var b="";switch(a){case"document":b+="fa-file-text-o";break;case"edge":b+="fa-share-alt";break;case"unknown":b+="fa-question";break;default:b+="fa-cogs"}return b},parse:function(a){var b=this;return _.each(a.result,function(a){a.isSystem=arangoHelper.isSystemCollection(a),a.type=arangoHelper.collectionType(a),a.status=b.translateStatus(a.status),a.picture=b.translateTypePicture(a.type)}),a.result},getPosition:function(a){var b,c=this.getFiltered(this.searchOptions),d=null,e=null;for(b=0;b0&&(d=c[b-1]),b0){var e,f=d.get("name").toLowerCase();for(e=0;ed?-1:1):0}),b},newCollection:function(a,b){var c={};c.name=a.collName,c.waitForSync=a.wfs,a.journalSize>0&&(c.journalSize=a.journalSize),c.isSystem=a.isSystem,c.type=parseInt(a.collType,10),a.shards&&(c.numberOfShards=a.shards,c.shardKeys=a.keys),a.replicationFactor&&(c.replicationFactor=JSON.parse(a.replicationFactor)),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/collection"),data:JSON.stringify(c),contentType:"application/json",processData:!1,success:function(a){b(!1,a)},error:function(a){b(!0,a)}})}})}(),function(){"use strict";window.ArangoDatabase=Backbone.Collection.extend({model:window.DatabaseModel,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_api/database"),comparator:function(a,b){var c=a.get("name").toLowerCase(),d=b.get("name").toLowerCase();return this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},parse:function(a){return a?_.map(a.result,function(a){return{name:a}}):void 0},initialize:function(){var a=this;this.fetch().done(function(){a.sort()})},setSortingDesc:function(a){this.sortOptions.desc=a},getDatabases:function(){var a=this;return this.fetch().done(function(){a.sort()}),this.models},getDatabasesForUser:function(a){$.ajax({type:"GET",cache:!1,url:this.url+"/user",contentType:"application/json",processData:!1,success:function(b){a(!1,b.result.sort())},error:function(){a(!0,[])}})},createDatabaseURL:function(a,b,c){var d=window.location,e=window.location.hash;b=b?"SSL"===b||"https:"===b?"https:":"http:":d.protocol,c=c||d.port;var f=b+"//"+window.location.hostname+":"+c+"/_db/"+encodeURIComponent(a)+"/_admin/aardvark/standalone.html";if(e){var g=e.split("/")[0];0===g.indexOf("#collection")&&(g="#collections"),0===g.indexOf("#service")&&(g="#services"),f+=g}return f},getCurrentDatabase:function(a){$.ajax({type:"GET",cache:!1,url:this.url+"/current",contentType:"application/json",processData:!1,success:function(b){200===b.code?a(!1,b.result.name):a(!1,b)},error:function(b){a(!0,b)}})},hasSystemAccess:function(a){var b=function(b,c){b?arangoHelper.arangoError("DB","Could not fetch databases"):a(!1,_.contains(c,"_system"))}.bind(this);this.getDatabasesForUser(b)}})}(),window.arangoDocument=Backbone.Collection.extend({url:"/_api/document/",model:arangoDocumentModel,collectionInfo:{},deleteEdge:function(a,b,c){this.deleteDocument(a,b,c)},deleteDocument:function(a,b,c){$.ajax({cache:!1,type:"DELETE",contentType:"application/json",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),success:function(){c(!1)},error:function(){c(!0)}})},addDocument:function(a,b){var c=this;c.createTypeDocument(a,b)},createTypeEdge:function(a,b,c,d,e){var f;f=d?JSON.stringify({_key:d,_from:b,_to:c}):JSON.stringify({_from:b,_to:c}),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/document?collection="+encodeURIComponent(a)),data:f,contentType:"application/json",processData:!1,success:function(a){e(!1,a)},error:function(a){e(!0,a)}})},createTypeDocument:function(a,b,c){var d;d=b?JSON.stringify({_key:b}):JSON.stringify({}),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/document?collection="+encodeURIComponent(a)),data:d,contentType:"application/json",processData:!1,success:function(a){c(!1,a._id)},error:function(a){c(!0,a._id)}})},getCollectionInfo:function(a,b,c){var d=this;$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/collection/"+a+"?"+arangoHelper.getRandomToken()),contentType:"application/json",processData:!1,success:function(a){d.collectionInfo=a,b(!1,a,c)},error:function(a){b(!0,a,c)}})},getEdge:function(a,b,c){this.getDocument(a,b,c)},getDocument:function(a,b,c){var d=this;this.clearDocument(),$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),contentType:"application/json",processData:!1,success:function(a){d.add(a),c(!1,a,"document")},error:function(a){d.add(!0,a)}})},saveEdge:function(a,b,c,d,e,f){var g;try{g=JSON.parse(e),g._to=d,g._from=c}catch(h){arangoHelper.arangoError("Edge","Could not parsed document.")}$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b))+"#replaceEdge",data:JSON.stringify(g),contentType:"application/json",processData:!1,success:function(a){f(!1,a)},error:function(a){f(!0,a)}})},saveDocument:function(a,b,c,d){$.ajax({cache:!1,type:"PUT",url:arangoHelper.databaseUrl("/_api/document/"+encodeURIComponent(a)+"/"+encodeURIComponent(b)),data:c,contentType:"application/json",processData:!1,success:function(a){d(!1,a)},error:function(a){d(!0,a)}})},updateLocalDocument:function(a){this.clearDocument(),this.add(a)},clearDocument:function(){this.reset()}}),function(){"use strict";window.arangoDocuments=window.PaginatedCollection.extend({collectionID:1,filters:[],checkCursorTimer:void 0,MAX_SORT:12e3,lastQuery:{},sortAttribute:"",url:arangoHelper.databaseUrl("/_api/documents"),model:window.arangoDocumentModel,loadTotal:function(a){var b=this;$.ajax({cache:!1,type:"GET",url:arangoHelper.databaseUrl("/_api/collection/"+this.collectionID+"/count"),contentType:"application/json",processData:!1,success:function(c){b.setTotal(c.count),a(!1)},error:function(){a(!0)}})},setCollection:function(a){var b=function(a){a&&arangoHelper.arangoError("Documents","Could not fetch documents count")}.bind(this);this.resetFilter(),this.collectionID=a,this.setPage(1),this.loadTotal(b)},setSort:function(a){this.sortAttribute=a},getSort:function(){return this.sortAttribute},addFilter:function(a,b,c){this.filters.push({attr:a,op:b,val:c})},setFiltersForQuery:function(a){if(0===this.filters.length)return"";var b=" FILTER",c="",d=_.map(this.filters,function(b,d){return"LIKE"===b.op?(c=" "+b.op+"(x.`"+b.attr+"`, @param",c+=d,c+=")"):(c="IN"===b.op||"NOT IN"===b.op?" ":" x.`",c+=b.attr,c+="IN"===b.op||"NOT IN"===b.op?" ":"` ",c+=b.op,c+="IN"===b.op||"NOT IN"===b.op?" x.@param":" @param",c+=d),a["param"+d]=b.val,c});return b+d.join(" &&")},setPagesize:function(a){this.setPageSize(a)},resetFilter:function(){this.filters=[]},moveDocument:function(a,b,c,d){var e,f,g,h,i={"@collection":b,filterid:a};e="FOR x IN @@collection",e+=" FILTER x._key == @filterid",e+=" INSERT x IN ",e+=c,f="FOR x in @@collection",f+=" FILTER x._key == @filterid",f+=" REMOVE x IN @@collection",g={query:e,bindVars:i},h={query:f,bindVars:i},window.progressView.show(),$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),data:JSON.stringify(g),contentType:"application/json",success:function(){$.ajax({cache:!1,type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),data:JSON.stringify(h),contentType:"application/json",success:function(){d&&d(),window.progressView.hide()},error:function(){window.progressView.hide(),arangoHelper.arangoError("Document error","Documents inserted, but could not be removed.")}})},error:function(){window.progressView.hide(),arangoHelper.arangoError("Document error","Could not move selected documents.")}})},getDocuments:function(a){var b,c,d,e,f=this;c={"@collection":this.collectionID,offset:this.getOffset(),count:this.getPageSize()},b="FOR x IN @@collection LET att = SLICE(ATTRIBUTES(x), 0, 25)",b+=this.setFiltersForQuery(c),this.getTotal()0&&(a+=" SORT x."+this.getSort()),a+=" RETURN x",b={query:a,bindVars:c}},uploadDocuments:function(a,b){$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/import?type=auto&collection="+encodeURIComponent(this.collectionID)+"&createCollection=false"),data:a,processData:!1,contentType:"json",dataType:"json",complete:function(a){if(4===a.readyState&&201===a.status)b(!1);else try{var c=JSON.parse(a.responseText);if(c.errors>0){var d="At least one error occurred during upload";b(!1,d)}}catch(e){console.log(e)}}})}})}(),function(){"use strict";window.ArangoLogs=window.PaginatedCollection.extend({upto:!1,loglevel:0,totalPages:0,parse:function(a){var b=[];return _.each(a.lid,function(c,d){b.push({level:a.level[d],lid:c,text:a.text[d],timestamp:a.timestamp[d],totalAmount:a.totalAmount})}),this.totalAmount=a.totalAmount,this.totalPages=Math.ceil(this.totalAmount/this.pagesize),b},initialize:function(a){a.upto===!0&&(this.upto=!0),this.loglevel=a.loglevel},model:window.newArangoLog,url:function(){var a,b,c,d;c=this.page*this.pagesize;var e=this.totalAmount-(this.page+1)*this.pagesize;return 0>e&&this.page===this.totalPages-1?(e=0,d=this.totalAmount%this.pagesize):d=this.pagesize,0===this.totalAmount&&(d=1),a=this.upto?"upto":"level",b="/_admin/log?"+a+"="+this.loglevel+"&size="+d+"&offset="+e,arangoHelper.databaseUrl(b)}})}(),function(){"use strict";window.ArangoQueries=Backbone.Collection.extend({initialize:function(a,b){var c=this;$.ajax("whoAmI?_="+Date.now(),{async:!0}).done(function(a){this.activeUser===!1||null===this.activeUser?c.activeUser="root":c.activeUser=a.user})},url:arangoHelper.databaseUrl("/_api/user/"),model:ArangoQuery,activeUser:null,parse:function(a){var b,c=this;return(this.activeUser===!1||null===this.activeUser)&&(this.activeUser="root"),_.each(a.result,function(a){if(a.user===c.activeUser)try{a.extra.queries&&(b=a.extra.queries)}catch(d){}}),b},saveCollectionQueries:function(a){if(this.activeUser===!1||null===this.activeUser)return!1;(this.activeUser===!1||null===this.activeUser)&&(this.activeUser="root");var b=[];this.each(function(a){b.push({value:a.attributes.value,parameter:a.attributes.parameter,name:a.attributes.name})}),$.ajax({cache:!1,type:"PATCH",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(this.activeUser)),data:JSON.stringify({extra:{queries:b}}),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(){a(!0)}})},saveImportQueries:function(a,b){return 0===this.activeUser?!1:(window.progressView.show("Fetching documents..."),void $.ajax({cache:!1,type:"POST",url:"query/upload/"+encodeURIComponent(this.activeUser),data:a,contentType:"application/json",processData:!1,success:function(){window.progressView.hide(),arangoHelper.arangoNotification("Queries successfully imported."),b()},error:function(){window.progressView.hide(),arangoHelper.arangoError("Query error","queries could not be imported")}}))}})}(),window.ArangoReplication=Backbone.Collection.extend({model:window.Replication,url:"../api/user",getLogState:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/replication/logger-state"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},getApplyState:function(a){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/replication/applier-state"),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})}}),window.StatisticsCollection=Backbone.Collection.extend({model:window.Statistics,url:"/_admin/statistics"}),window.StatisticsDescriptionCollection=Backbone.Collection.extend({model:window.StatisticsDescription,url:"/_admin/statistics-description",parse:function(a){return a}}),window.ArangoUsers=Backbone.Collection.extend({model:window.Users,activeUser:null,activeUserSettings:{query:{},shell:{},testing:!0},sortOptions:{desc:!1},fetch:function(a){return window.App.currentUser&&(this.url=frontendConfig.basePath+"/_api/user/"+encodeURIComponent(window.App.currentUser)),Backbone.Collection.prototype.fetch.call(this,a)},url:frontendConfig.basePath+"/_api/user",comparator:function(a,b){var c=a.get("user").toLowerCase(),d=b.get("user").toLowerCase();return this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},login:function(a,b,c){var d=this;$.ajax({url:arangoHelper.databaseUrl("/_open/auth"),method:"POST",data:JSON.stringify({username:a,password:b}),dataType:"json"}).success(function(a){arangoHelper.setCurrentJwt(a.jwt);var b=a.jwt.split(".");if(!b[1])throw new Error("Invalid JWT");if(!window.atob)throw new Error("base64 support missing in browser");var e=JSON.parse(atob(b[1]));d.activeUser=e.preferred_username,c(!1,d.activeUser)}).error(function(){arangoHelper.setCurrentJwt(null),d.activeUser=null,c(!0,null)})},setSortingDesc:function(a){this.sortOptions.desc=a},logout:function(){arangoHelper.setCurrentJwt(null),this.activeUser=null,this.reset(),window.App.navigate(""),window.location.reload()},setUserSettings:function(a,b){this.activeUserSettings.identifier=b},loadUserSettings:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(b.activeUser)),contentType:"application/json",processData:!1,success:function(c){b.activeUserSettings=c.extra,a(!1,c)},error:function(b){a(!0,b)}})},saveUserSettings:function(a){var b=this;$.ajax({cache:!1,type:"PUT",url:frontendConfig.basePath+"/_api/user/"+encodeURIComponent(b.activeUser),data:JSON.stringify({extra:b.activeUserSettings}),contentType:"application/json",processData:!1,success:function(b){a(!1,b)},error:function(b){a(!0,b)}})},parse:function(a){var b=[];return a.result?_.each(a.result,function(a){b.push(a)}):b.push({user:a.user,active:a.active,extra:a.extra,changePassword:a.changePassword}),b},whoAmI:function(a){return this.activeUser?void a(!1,this.activeUser):void $.ajax("whoAmI?_="+Date.now()).success(function(b){a(!1,b.user)}).error(function(){a(!0,null)})}}),function(){"use strict";window.ClusterCoordinators=window.AutomaticRetryCollection.extend({model:window.ClusterCoordinator,url:arangoHelper.databaseUrl("/_admin/aardvark/cluster/Coordinators"),updateUrl:function(){this.url=window.App.getNewRoute("Coordinators")},initialize:function(){},statusClass:function(a){switch(a){case"ok":return"success";case"warning":return"warning";case"critical":return"danger";case"missing":return"inactive";default:return"danger"}},getStatuses:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.getStatuses.bind(c,a,b))}).done(function(){c.successFullTry(),c.forEach(function(b){a(c.statusClass(b.get("status")),b.get("address"))}),b()})}},byAddress:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.byAddress.bind(c,a,b))}).done(function(){c.successFullTry(),a=a||{},c.forEach(function(b){var c=b.get("address");c=c.split(":")[0],a[c]=a[c]||{},a[c].coords=a[c].coords||[],a[c].coords.push(b)}),b(a)})}},checkConnection:function(a){var b=this;this.checkRetries()&&this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:b.failureTry.bind(b,b.checkConnection.bind(b,a))}).done(function(){b.successFullTry(),a()})}})}(),function(){"use strict";window.ClusterServers=window.AutomaticRetryCollection.extend({model:window.ClusterServer,host:"",url:arangoHelper.databaseUrl("/_admin/aardvark/cluster/DBServers"),updateUrl:function(){this.url=window.App.getNewRoute(this.host)+this.url},initialize:function(a,b){this.host=b.host},statusClass:function(a){switch(a){case"ok":return"success";case"warning":return"warning";case"critical":return"danger";case"missing":return"inactive";default:return"danger"}},getStatuses:function(a){if(this.checkRetries()){var b=this,c=function(){b.successFullTry(),b._retryCount=0,b.forEach(function(c){a(b.statusClass(c.get("status")),c.get("address"))})};this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:b.failureTry.bind(b,b.getStatuses.bind(b,a))}).done(c)}},byAddress:function(a,b){if(this.checkRetries()){var c=this;this.fetch({beforeSend:window.App.addAuth.bind(window.App),error:c.failureTry.bind(c,c.byAddress.bind(c,a,b))}).done(function(){c.successFullTry(),a=a||{},c.forEach(function(b){var c=b.get("address");c=c.split(":")[0],a[c]=a[c]||{},a[c].dbs=a[c].dbs||[],a[c].dbs.push(b)}),b(a)}).error(function(a){console.log("error"),console.log(a)})}},getList:function(){throw"Do not use"},getOverview:function(){throw"Do not use DbServer.getOverview"}})}(),function(){"use strict";window.CoordinatorCollection=Backbone.Collection.extend({model:window.Coordinator,url:arangoHelper.databaseUrl("/_admin/aardvark/cluster/Coordinators")})}(),function(){"use strict";window.FoxxCollection=Backbone.Collection.extend({model:window.Foxx,sortOptions:{desc:!1},url:arangoHelper.databaseUrl("/_admin/aardvark/foxxes"),comparator:function(a,b){var c,d;return this.sortOptions.desc===!0?(c=a.get("mount"),d=b.get("mount"),d>c?1:c>d?-1:0):(c=a.get("mount"),d=b.get("mount"),c>d?1:d>c?-1:0)},setSortingDesc:function(a){this.sortOptions.desc=a},installFromGithub:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/git?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromStore:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/store?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},installFromZip:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/zip?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify({zipFile:a}),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})},generate:function(a,b,c,d){var e=arangoHelper.databaseUrl("/_admin/aardvark/foxxes/generate?mount="+encodeURIComponent(b));void 0!==d&&(e+=d?"&replace=true":"&upgrade=true"),$.ajax({cache:!1,type:"PUT",url:e,data:JSON.stringify(a),contentType:"application/json",processData:!1,success:function(a){c(a)},error:function(a){c(a)}})}})}(),function(){"use strict";window.GraphCollection=Backbone.Collection.extend({model:window.Graph,sortOptions:{desc:!1},url:frontendConfig.basePath+"/_api/gharial",dropAndDeleteGraph:function(a,b){$.ajax({type:"DELETE",url:frontendConfig.basePath+"/_api/gharial/"+encodeURIComponent(a)+"?dropCollections=true", contentType:"application/json",processData:!0,success:function(){b(!0)},error:function(){b(!1)}})},comparator:function(a,b){var c=a.get("_key")||"",d=b.get("_key")||"";return c=c.toLowerCase(),d=d.toLowerCase(),this.sortOptions.desc===!0?d>c?1:c>d?-1:0:c>d?1:d>c?-1:0},setSortingDesc:function(a){this.sortOptions.desc=a},parse:function(a){return a.error?void 0:a.graphs}})}(),function(){"use strict";window.NotificationCollection=Backbone.Collection.extend({model:window.Notification,url:""})}(),function(){"use strict";window.QueryManagementActive=Backbone.Collection.extend({model:window.queryManagementModel,url:function(){return frontendConfig.basePath+"/_api/query/current"},killRunningQuery:function(a,b){$.ajax({url:frontendConfig.basePath+"/_api/query/"+encodeURIComponent(a),type:"DELETE",success:function(a){b()}})}})}(),function(){"use strict";window.QueryManagementSlow=Backbone.Collection.extend({model:window.queryManagementModel,url:"/_api/query/slow",deleteSlowQueryHistory:function(a){var b=this;$.ajax({url:b.url,type:"DELETE",success:function(b){a()}})}})}(),function(){"use strict";window.WorkMonitorCollection=Backbone.Collection.extend({model:window.workMonitorModel,url:"/_admin/work-monitor",parse:function(a){return a.work}})}(),function(){"use strict";window.PaginationView=Backbone.View.extend({collection:null,paginationDiv:"",idPrefix:"",rerender:function(){},jumpTo:function(a){this.collection.setPage(a),this.rerender()},firstPage:function(){this.jumpTo(1)},lastPage:function(){this.jumpTo(this.collection.getLastPageNumber())},firstDocuments:function(){this.jumpTo(1)},lastDocuments:function(){this.jumpTo(this.collection.getLastPageNumber())},prevDocuments:function(){this.jumpTo(this.collection.getPage()-1)},nextDocuments:function(){this.jumpTo(this.collection.getPage()+1)},renderPagination:function(){$(this.paginationDiv).html("");var a=this,b=this.collection.getPage(),c=this.collection.getLastPageNumber(),d=$(this.paginationDiv),e={page:b,lastPage:c,click:function(b){var c=window.location.hash.split("/");"documents"===c[2]?(e.page=b,window.location.hash=c[0]+"/"+c[1]+"/"+c[2]+"/"+b):(a.jumpTo(b),e.page=b)}};d.html(""),d.pagination(e),$(this.paginationDiv).prepend('
    '),$(this.paginationDiv).append('
    ')}})}(),function(){"use strict";window.ApplicationDetailView=Backbone.View.extend({el:"#content",divs:["#readme","#swagger","#app-info","#sideinformation","#information","#settings"],navs:["#service-info","#service-api","#service-readme","#service-settings"],template:templateEngine.createTemplate("applicationDetailView.ejs"),events:{"click .open":"openApp","click .delete":"deleteApp","click #app-deps":"showDepsDialog","click #app-switch-mode":"toggleDevelopment","click #app-scripts [data-script]":"runScript","click #app-tests":"runTests","click #app-replace":"replaceApp","click #download-app":"downloadApp","click .subMenuEntries li":"changeSubview","mouseenter #app-scripts":"showDropdown","mouseleave #app-scripts":"hideDropdown"},changeSubview:function(a){_.each(this.navs,function(a){$(a).removeClass("active")}),$(a.currentTarget).addClass("active"),_.each(this.divs,function(a){$(".headerButtonBar").hide(),$(a).hide()}),"service-readme"===a.currentTarget.id?$("#readme").show():"service-api"===a.currentTarget.id?$("#swagger").show():"service-info"===a.currentTarget.id?(this.render(),$("#information").show(),$("#sideinformation").show()):"service-settings"===a.currentTarget.id&&(this.showConfigDialog(),$(".headerButtonBar").show(),$("#settings").show())},downloadApp:function(){this.model.isSystem()||this.model.download()},replaceApp:function(){var a=this.model.get("mount");window.foxxInstallView.upgrade(a,function(){window.App.applicationDetail(encodeURIComponent(a))}),$(".createModalDialog .arangoHeader").html("Replace Service"),$("#infoTab").click()},updateConfig:function(){this.model.getConfiguration(function(){$("#app-warning")[this.model.needsAttention()?"show":"hide"](),$("#app-warning-config")[this.model.needsConfiguration()?"show":"hide"](),this.model.needsConfiguration()?$("#app-config").addClass("error"):$("#app-config").removeClass("error")}.bind(this))},updateDeps:function(){this.model.getDependencies(function(){$("#app-warning")[this.model.needsAttention()?"show":"hide"](),$("#app-warning-deps")[this.model.hasUnconfiguredDependencies()?"show":"hide"](),this.model.hasUnconfiguredDependencies()?$("#app-deps").addClass("error"):$("#app-deps").removeClass("error")}.bind(this))},toggleDevelopment:function(){this.model.toggleDevelopment(!this.model.isDevelopment(),function(){this.model.isDevelopment()?($(".app-switch-mode").text("Set Production"),$("#app-development-indicator").css("display","inline"),$("#app-development-path").css("display","inline")):($(".app-switch-mode").text("Set Development"),$("#app-development-indicator").css("display","none"),$("#app-development-path").css("display","none"))}.bind(this))},runScript:function(a){a.preventDefault();var b=$(a.currentTarget).attr("data-script"),c=[window.modalView.createBlobEntry("app_script_arguments","Script arguments","",null,"optional",!1,[{rule:function(a){return a&&JSON.parse(a)},msg:"Must be well-formed JSON or empty"}])],d=[window.modalView.createSuccessButton("Run script",function(){var a=$("#app_script_arguments").val();a=a&&JSON.parse(a),window.modalView.hide(),this.model.runScript(b,a,function(a,c){var d;d=a?"

    The script failed with an error"+(a.statusCode?" (HTTP "+a.statusCode+")":"")+":

    "+a.message+"
    ":c?"

    Script results:

    "+JSON.stringify(c,null,2)+"
    ":"

    The script ran successfully.

    ",window.modalView.show("modalTable.ejs",'Result of script "'+b+'"',void 0,void 0,void 0,d)})}.bind(this))];window.modalView.show("modalTable.ejs",'Run script "'+b+'" on "'+this.model.get("mount")+'"',d,c)},showSwagger:function(a){a.preventDefault(),this.render("swagger")},showReadme:function(a){a.preventDefault(),this.render("readme")},runTests:function(a){a.preventDefault();var b="

    WARNING: Running tests may result in destructive side-effects including data loss. Please make sure not to run tests on a production database.

    ";this.model.isDevelopment()&&(b+="

    WARNING: This app is running in development mode. If any of the tests access the app's HTTP API they may become non-deterministic.

    ");var c=[window.modalView.createSuccessButton("Run tests",function(){window.modalView.hide(),this.model.runTests({reporter:"suite"},function(a,b){window.modalView.show("modalTestResults.ejs","Test results",void 0,void 0,void 0,a||b)})}.bind(this))];window.modalView.show("modalTable.ejs",'Run tests for app "'+this.model.get("mount")+'"',c,void 0,void 0,b)},render:function(a){return this.model.fetchThumbnail(function(){var b=function(b,c){var d=this;b?arangoHelper.arangoError("DB","Could not get current database"):($(this.el).html(this.template.render({app:this.model,db:c,mode:a})),$.get(this.appUrl(c)).success(function(){$(".open",this.el).prop("disabled",!1)}.bind(this)),this.updateConfig(),this.updateDeps(),"swagger"===a&&$.get("./foxxes/docs/swagger.json?mount="+encodeURIComponent(this.model.get("mount")),function(a){Object.keys(a.paths).length<1&&(d.render("readme"),$("#app-show-swagger").attr("disabled","true"))})),this.breadcrumb()}.bind(this);arangoHelper.currentDatabase(b),_.isEmpty(this.model.get("config"))&&$("#service-settings").attr("disabled",!0)}.bind(this)),$(this.el)},breadcrumb:function(){var a="Service: "+this.model.get("name")+'',b='

    Contributors:';this.model.get("contributors")&&this.model.get("contributors").length>0?_.each(this.model.get("contributors"),function(a){b+=''+a.name+""}):b+="No contributors",b+="

    ",$(".information").append(b),this.model.get("author")&&$(".information").append('

    Author:'+this.model.get("author")+"

    "),this.model.get("mount")&&$(".information").append('

    Mount:'+this.model.get("mount")+"

    "),this.model.get("development")&&this.model.get("path")&&$(".information").append('

    Path:'+this.model.get("path")+"

    "),$("#subNavigationBar .breadcrumb").html(a)},openApp:function(){var a=function(a,b){a?arangoHelper.arangoError("DB","Could not get current database"):window.open(this.appUrl(b),this.model.get("title")).focus()}.bind(this);arangoHelper.currentDatabase(a)},deleteApp:function(){var a=[window.modalView.createDeleteButton("Delete",function(){var a={teardown:$("#app_delete_run_teardown").is(":checked")};this.model.destroy(a,function(a,b){a||b.error!==!1||(window.modalView.hide(),window.App.navigate("services",{trigger:!0}))})}.bind(this))],b=[window.modalView.createCheckboxEntry("app_delete_run_teardown","Run teardown?",!0,"Should this app's teardown script be executed before removing the app?",!0)];window.modalView.show("modalTable.ejs",'Delete Foxx App mounted at "'+this.model.get("mount")+'"',a,b,void 0,"

    Are you sure? There is no way back...

    ",!0)},appUrl:function(a){return window.location.origin+"/_db/"+encodeURIComponent(a)+this.model.get("mount")},applyConfig:function(){var a={};_.each(this.model.get("config"),function(b,c){var d=$("#app_config_"+c),e=d.val();if("boolean"===b.type||"bool"===b.type)return void(a[c]=d.is(":checked"));if(""===e&&b.hasOwnProperty("default"))return a[c]=b["default"],void("json"===b.type&&(a[c]=JSON.stringify(b["default"])));if("number"===b.type)a[c]=parseFloat(e);else if("integer"===b.type||"int"===b.type)a[c]=parseInt(e,10);else{if("json"!==b.type)return void(a[c]=window.arangoHelper.escapeHtml(e));a[c]=e&&JSON.stringify(JSON.parse(e))}}),this.model.setConfiguration(a,function(){this.updateConfig(),arangoHelper.arangoNotification(this.model.get("name"),"Settings applied.")}.bind(this))},showConfigDialog:function(){if(_.isEmpty(this.model.get("config")))return void $("#settings .buttons").html($("#hidden_buttons").html());var a=_.map(this.model.get("config"),function(a,b){var c=void 0===a["default"]?"":String(a["default"]),d=void 0===a.current?"":String(a.current),e="createTextEntry",f=!1,g=[];return"boolean"===a.type||"bool"===a.type?(e="createCheckboxEntry",a["default"]=a["default"]||!1,c=a["default"]||!1,d=a.current||!1):"json"===a.type?(e="createBlobEntry",c=void 0===a["default"]?"":JSON.stringify(a["default"]),d=void 0===a.current?"":a.current,g.push({rule:function(a){return a&&JSON.parse(a)},msg:"Must be well-formed JSON or empty."})):"integer"===a.type||"int"===a.type?g.push({rule:Joi.number().integer().optional().allow(""),msg:"Has to be an integer."}):"number"===a.type?g.push({rule:Joi.number().optional().allow(""),msg:"Has to be a number."}):("password"===a.type&&(e="createPasswordEntry"),g.push({rule:Joi.string().optional().allow(""),msg:"Has to be a string."})),void 0===a["default"]&&a.required!==!1&&(f=!0,g.unshift({rule:Joi.any().required(),msg:"This field is required."})),window.modalView[e]("app_config_"+b,b,d,a.description,c,f,g)}),b=[window.modalView.createSuccessButton("Apply",this.applyConfig.bind(this))];window.modalView.show("modalTable.ejs","Configuration",b,a,null,null,null,null,null,"settings"),$(".modal-footer").prepend($("#hidden_buttons").html())},applyDeps:function(){var a={};_.each(this.model.get("deps"),function(b,c){var d=$("#app_deps_"+c);a[c]=window.arangoHelper.escapeHtml(d.val())}),this.model.setDependencies(a,function(){window.modalView.hide(),this.updateDeps()}.bind(this))},showDepsDialog:function(){if(!_.isEmpty(this.model.get("deps"))){var a=_.map(this.model.get("deps"),function(a,b){var c=void 0===a.current?"":String(a.current),d="",e=a.definition.name;"*"!==a.definition.version&&(e+="@"+a.definition.version);var f=[{rule:Joi.string().optional().allow(""),msg:"Has to be a string."}];return a.definition.required&&f.push({rule:Joi.string().required(),msg:"This value is required."}),window.modalView.createTextEntry("app_deps_"+b,a.title,c,e,d,a.definition.required,f)}),b=[window.modalView.createSuccessButton("Apply",this.applyDeps.bind(this))];window.modalView.show("modalTable.ejs","Dependencies",b,a)}},showDropdown:function(){_.isEmpty(this.model.get("scripts"))||$("#scripts_dropdown").show(200)},hideDropdown:function(){$("#scripts_dropdown").hide()}})}(),function(){"use strict";window.ApplicationsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("applicationsView.ejs"),events:{"click #addApp":"createInstallModal","click #foxxToggle":"slideToggle","click #checkDevel":"toggleDevel","click #checkProduction":"toggleProduction","click #checkSystem":"toggleSystem"},fixCheckboxes:function(){this._showDevel?$("#checkDevel").attr("checked","checked"):$("#checkDevel").removeAttr("checked"),this._showSystem?$("#checkSystem").attr("checked","checked"):$("#checkSystem").removeAttr("checked"),this._showProd?$("#checkProduction").attr("checked","checked"):$("#checkProduction").removeAttr("checked"),$("#checkDevel").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),$("#checkSystem").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),$("#checkProduction").next().removeClass("fa fa-check-square-o fa-square-o").addClass("fa"),arangoHelper.setCheckboxStatus("#foxxDropdown")},toggleDevel:function(){var a=this;this._showDevel=!this._showDevel,_.each(this._installedSubViews,function(b){b.toggle("devel",a._showDevel)}),this.fixCheckboxes()},toggleProduction:function(){var a=this;this._showProd=!this._showProd,_.each(this._installedSubViews,function(b){b.toggle("production",a._showProd)}),this.fixCheckboxes()},toggleSystem:function(){this._showSystem=!this._showSystem;var a=this;_.each(this._installedSubViews,function(b){b.toggle("system",a._showSystem)}),this.fixCheckboxes()},reload:function(){var a=this;_.each(this._installedSubViews,function(a){a.undelegateEvents()}),this.collection.fetch({success:function(){a.createSubViews(),a.render()}})},createSubViews:function(){var a=this;this._installedSubViews={},a.collection.each(function(b){var c=new window.FoxxActiveView({model:b,appsView:a});a._installedSubViews[b.get("mount")]=c})},initialize:function(){this._installedSubViews={},this._showDevel=!0,this._showProd=!0,this._showSystem=!1},slideToggle:function(){$("#foxxToggle").toggleClass("activated"),$("#foxxDropdownOut").slideToggle(200)},createInstallModal:function(a){a.preventDefault(),window.foxxInstallView.install(this.reload.bind(this))},render:function(){this.collection.sort(),$(this.el).html(this.template.render({})),_.each(this._installedSubViews,function(a){$("#installedList").append(a.render())}),this.delegateEvents(),$("#checkDevel").attr("checked",this._showDevel),$("#checkProduction").attr("checked",this._showProd),$("#checkSystem").attr("checked",this._showSystem),arangoHelper.setCheckboxStatus("#foxxDropdown");var a=this;return _.each(this._installedSubViews,function(b){b.toggle("devel",a._showDevel),b.toggle("system",a._showSystem)}),arangoHelper.fixTooltips("icon_arangodb","left"),this}})}(),function(){"use strict";window.ClusterView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("clusterView.ejs"),events:{},statsEnabled:!1,historyInit:!1,initDone:!1,interval:5e3,maxValues:100,knownServers:[],chartData:{},charts:{},nvcharts:[],startHistory:{},startHistoryAccumulated:{},initialize:function(a){var b=this;window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),window.setInterval(function(){if("#cluster"===window.location.hash||""===window.location.hash||"#"===window.location.hash){var a=function(a){b.rerenderValues(a),b.rerenderGraphs(a)};b.getCoordStatHistory(a)}},this.interval))},render:function(){this.$el.html(this.template.render({})),this.initDone||(void 0!==this.coordinators.first()?this.getServerStatistics():this.waitForCoordinators(),this.initDone=!0),this.initGraphs()},waitForCoordinators:function(){var a=this;window.setTimeout(function(){a.coordinators?a.getServerStatistics():a.waitForCoordinators()},500)},updateServerTime:function(){this.serverTime=(new Date).getTime()},getServerStatistics:function(){var a=this;this.data=void 0;var b=this.coordinators.first();this.statCollectCoord=new window.ClusterStatisticsCollection([],{host:b.get("address")}),this.statCollectDBS=new window.ClusterStatisticsCollection([],{host:b.get("address")});var c=[];_.each(this.dbServers,function(a){a.each(function(a){c.push(a)})}),_.each(c,function(c){if("ok"===c.get("status")){-1===a.knownServers.indexOf(c.id)&&a.knownServers.push(c.id);var d=new window.Statistics({name:c.id});d.url=b.get("protocol")+"://"+b.get("address")+"/_admin/clusterStatistics?DBserver="+c.get("name"),a.statCollectDBS.add(d)}}),this.coordinators.forEach(function(b){if("ok"===b.get("status")){-1===a.knownServers.indexOf(b.id)&&a.knownServers.push(b.id);var c=new window.Statistics({name:b.id});c.url=b.get("protocol")+"://"+b.get("address")+"/_admin/statistics",a.statCollectCoord.add(c)}});var d=function(b){a.rerenderValues(b),a.rerenderGraphs(b)}.bind(this);a.getCoordStatHistory(d),a.renderNodes()},rerenderValues:function(a){var b=this;b.renderNodes(),this.renderValue("#clusterConnections",Math.round(a.clientConnectionsCurrent)),this.renderValue("#clusterConnectionsAvg",Math.round(a.clientConnections15M));var c=a.physicalMemory,d=a.residentSizeCurrent;this.renderValue("#clusterRam",[d,c])},renderValue:function(a,b,c){if("number"==typeof b)$(a).html(b);else if($.isArray(b)){var d=b[0],e=b[1],f=1/(e/d)*100;$(a).html(f.toFixed(1)+" %")}else"string"==typeof b&&$(a).html(b);c?($(a).addClass("negative"),$(a).removeClass("positive")):($(a).addClass("positive"),$(a).removeClass("negative"))},renderNodes:function(){var a=this,b=function(a){var b=0,c=0,d=0,e=0;_.each(a,function(a){"Coordinator"===a.Role?(b++,"GOOD"!==a.Status&&c++):"DBServer"===a.Role&&(d++,"GOOD"!==a.Status&&e++)}),c>0?this.renderValue("#clusterCoordinators",b-c+"/"+b,!0):this.renderValue("#clusterCoordinators",b),e>0?this.renderValue("#clusterDBServers",d-e+"/"+d,!0):this.renderValue("#clusterDBServers",d)}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){b(a.Health)},error:function(){a.renderValue("#clusterCoordinators","N/A",!0),a.renderValue("#clusterDBServers","N/A",!0)}})},initValues:function(){var a=["#clusterNodes","#clusterRam","#clusterConnections","#clusterConnectionsAvg"];_.each(a,function(a){$(a).html('')})},graphData:{data:{sent:[],received:[]},http:[],average:[]},checkArraySizes:function(){var a=this;_.each(a.chartsOptions,function(b,c){_.each(b.options,function(b,d){b.values.length>a.maxValues-1&&a.chartsOptions[c].options[d].values.shift()})})},formatDataForGraph:function(a){var b=this;b.historyInit?(b.checkArraySizes(),b.chartsOptions[0].options[0].values.push({x:a.times[a.times.length-1],y:a.bytesSentPerSecond[a.bytesSentPerSecond.length-1]}),b.chartsOptions[0].options[1].values.push({x:a.times[a.times.length-1],y:a.bytesReceivedPerSecond[a.bytesReceivedPerSecond.length-1]}),b.chartsOptions[1].options[0].values.push({x:a.times[a.times.length-1],y:b.calcTotalHttp(a.http,a.bytesSentPerSecond.length-1)}),b.chartsOptions[2].options[0].values.push({x:a.times[a.times.length-1],y:a.avgRequestTime[a.bytesSentPerSecond.length-1]/b.coordinators.length})):(_.each(a.times,function(c,d){b.chartsOptions[0].options[0].values.push({x:c,y:a.bytesSentPerSecond[d]}),b.chartsOptions[0].options[1].values.push({x:c,y:a.bytesReceivedPerSecond[d]}),b.chartsOptions[1].options[0].values.push({x:c,y:b.calcTotalHttp(a.http,d)}),b.chartsOptions[2].options[0].values.push({x:c,y:a.avgRequestTime[d]/b.coordinators.length})}),b.historyInit=!0)},chartsOptions:[{id:"#clusterData",type:"bytes",count:2,options:[{area:!0,values:[],key:"Bytes out",color:"rgb(23,190,207)",strokeWidth:2,fillOpacity:.1},{area:!0,values:[],key:"Bytes in",color:"rgb(188, 189, 34)",strokeWidth:2,fillOpacity:.1}]},{id:"#clusterHttp",type:"bytes",options:[{area:!0,values:[],key:"Bytes",color:"rgb(0, 166, 90)",fillOpacity:.1}]},{id:"#clusterAverage",data:[],type:"seconds",options:[{area:!0,values:[],key:"Seconds",color:"rgb(243, 156, 18)",fillOpacity:.1}]}],initGraphs:function(){var a=this,b="No data...";_.each(a.chartsOptions,function(c){nv.addGraph(function(){a.charts[c.id]=nv.models.stackedAreaChart().options({useInteractiveGuideline:!0,showControls:!1,noData:b,duration:0}),a.charts[c.id].xAxis.axisLabel("").tickFormat(function(a){var b=new Date(1e3*a);return(b.getHours()<10?"0":"")+b.getHours()+":"+(b.getMinutes()<10?"0":"")+b.getMinutes()+":"+(b.getSeconds()<10?"0":"")+b.getSeconds()}).staggerLabels(!1),a.charts[c.id].yAxis.axisLabel("").tickFormat(function(a){var b;return"bytes"===c.type?null===a?"N/A":(b=parseFloat(d3.format(".2f")(a)),prettyBytes(b)):"seconds"===c.type?null===a?"N/A":b=parseFloat(d3.format(".3f")(a)):void 0});var d,e=a.returnGraphOptions(c.id);return e.length>0?_.each(e,function(a,b){c.options[b].values=a}):c.options[0].values=[],d=c.options,a.chartData[c.id]=d3.select(c.id).append("svg").datum(d).transition().duration(300).call(a.charts[c.id]).each("start",function(){window.setTimeout(function(){d3.selectAll(c.id+" *").each(function(){this.__transition__&&(this.__transition__.duration=0)})},0)}),nv.utils.windowResize(a.charts[c.id].update),a.nvcharts.push(a.charts[c.id]),a.charts[c.id]})})},returnGraphOptions:function(a){var b=[];return b="#clusterData"===a?[this.chartsOptions[0].options[0].values,this.chartsOptions[0].options[1].values]:"#clusterHttp"===a?[this.chartsOptions[1].options[0].values]:"#clusterAverage"===a?[this.chartsOptions[2].options[0].values]:[]},rerenderGraphs:function(a){if(this.statsEnabled){var b,c,d=this;this.formatDataForGraph(a),_.each(d.chartsOptions,function(a){c=d.returnGraphOptions(a.id),c.length>0?_.each(c,function(b,c){a.options[c].values=b}):a.options[0].values=[],b=a.options,b[0].values.length>0&&d.historyInit&&d.charts[a.id]&&d.charts[a.id].update()})}},calcTotalHttp:function(a,b){var c=0;return _.each(a,function(a){c+=a[b]}),c},getCoordStatHistory:function(a){$.ajax({url:"statistics/coordshort",json:!0}).success(function(b){this.statsEnabled=b.enabled,a(b.data)}.bind(this))}})}(),function(){"use strict";window.CollectionListItemView=Backbone.View.extend({tagName:"div",className:"tile pure-u-1-1 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 pure-u-xl-1-6",template:templateEngine.createTemplate("collectionsItemView.ejs"),initialize:function(a){this.collectionsView=a.collectionsView},events:{"click .iconSet.icon_arangodb_settings2":"createEditPropertiesModal","click .pull-left":"noop","click .icon_arangodb_settings2":"editProperties","click .spanInfo":"showProperties",click:"selectCollection"},render:function(){return this.model.get("locked")?($(this.el).addClass("locked"),$(this.el).addClass(this.model.get("lockType"))):$(this.el).removeClass("locked"),("loading"===this.model.get("status")||"unloading"===this.model.get("status"))&&$(this.el).addClass("locked"),$(this.el).html(this.template.render({model:this.model})),$(this.el).attr("id","collection_"+this.model.get("name")),this},editProperties:function(a){return this.model.get("locked")?0:(a.stopPropagation(),void this.createEditPropertiesModal())},showProperties:function(a){return this.model.get("locked")?0:(a.stopPropagation(),void this.createInfoModal())},selectCollection:function(a){return $(a.target).hasClass("disabled")?0:this.model.get("locked")?0:"loading"===this.model.get("status")?0:void("unloaded"===this.model.get("status")?this.loadCollection():window.App.navigate("collection/"+encodeURIComponent(this.model.get("name"))+"/documents/1",{trigger:!0}))},noop:function(a){a.stopPropagation()},unloadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be unloaded."):void 0===a?(this.model.set("status","unloading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","unloaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" unloaded.")}.bind(this);this.model.unloadCollection(a),window.modalView.hide()},loadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be loaded."):void 0===a?(this.model.set("status","loading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","loaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" loaded.")}.bind(this);this.model.loadCollection(a),window.modalView.hide()},truncateCollection:function(){this.model.truncateCollection(),window.modalView.hide()},deleteCollection:function(){this.model.destroy({error:function(){arangoHelper.arangoError("Could not delete collection.")},success:function(){window.modalView.hide()}}),this.collectionsView.render()},saveModifiedCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c;c=b?this.model.get("name"):$("#change-collection-name").val();var d=this.model.get("status");if("loaded"===d){var e;try{e=JSON.parse(1024*$("#change-collection-size").val()*1024)}catch(f){return arangoHelper.arangoError("Please enter a valid number"),0}var g;try{if(g=JSON.parse($("#change-index-buckets").val()),1>g||parseInt(g)!==Math.pow(2,Math.log2(g)))throw"invalid indexBuckets value"}catch(f){return arangoHelper.arangoError("Please enter a valid number of index buckets"),0}var h=function(a){a?arangoHelper.arangoError("Collection error: "+a.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this),i=function(a){if(a)arangoHelper.arangoError("Collection error: "+a.responseText);else{var b=$("#change-collection-sync").val();this.model.changeCollection(b,e,g,h)}}.bind(this);this.model.renameCollection(c,i)}else if("unloaded"===d)if(this.model.get("name")!==c){var j=function(a,b){a?arangoHelper.arangoError("Collection error: "+b.responseText):(this.collectionsView.render(),window.modalView.hide())}.bind(this);this.model.renameCollection(c,j)}else window.modalView.hide()}}.bind(this);window.isCoordinator(a)},createEditPropertiesModal:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c=!1;"loaded"===this.model.get("status")&&(c=!0);var d=[],e=[];b||e.push(window.modalView.createTextEntry("change-collection-name","Name",this.model.get("name"),!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}]));var f=function(){e.push(window.modalView.createReadOnlyEntry("change-collection-id","ID",this.model.get("id"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-type","Type",this.model.get("type"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-status","Status",this.model.get("status"),"")),d.push(window.modalView.createDeleteButton("Delete",this.deleteCollection.bind(this))),d.push(window.modalView.createDeleteButton("Truncate",this.truncateCollection.bind(this))),c?d.push(window.modalView.createNotificationButton("Unload",this.unloadCollection.bind(this))):d.push(window.modalView.createNotificationButton("Load",this.loadCollection.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.saveModifiedCollection.bind(this)));var a=["General","Indices"],b=["modalTable.ejs","indicesView.ejs"];window.modalView.show(b,"Modify Collection",d,e,null,null,this.events,null,a),"loaded"===this.model.get("status")?this.getIndex():$($("#infoTab").children()[1]).remove()}.bind(this);if(c){var g=function(a,b){if(a)arangoHelper.arangoError("Collection","Could not fetch properties");else{var c=b.journalSize/1048576,d=b.indexBuckets,g=b.waitForSync;e.push(window.modalView.createTextEntry("change-collection-size","Journal size",c,"The maximal size of a journal or datafile (in MB). Must be at least 1.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),e.push(window.modalView.createTextEntry("change-index-buckets","Index buckets",d,"The number of index buckets for this collection. Must be at least 1 and a power of 2.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[1-9][0-9]*$/),msg:"Must be a number greater than 1 and a power of 2."}])),e.push(window.modalView.createSelectEntry("change-collection-sync","Wait for sync",g,"Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}]))}f()}.bind(this);this.model.getProperties(g)}else f()}}.bind(this);window.isCoordinator(a)},bindIndexEvents:function(){this.unbindIndexEvents();var a=this;$("#indexEditView #addIndex").bind("click",function(){a.toggleNewIndexView(),$("#cancelIndex").unbind("click"),$("#cancelIndex").bind("click",function(){a.toggleNewIndexView()}),$("#createIndex").unbind("click"),$("#createIndex").bind("click",function(){a.createIndex()})}),$("#newIndexType").bind("change",function(){a.selectIndexType()}),$(".deleteIndex").bind("click",function(b){a.prepDeleteIndex(b)}),$("#infoTab a").bind("click",function(a){if($("#indexDeleteModal").remove(),"Indices"!==$(a.currentTarget).html()||$(a.currentTarget).parent().hasClass("active")||($("#newIndexView").hide(),$("#indexEditView").show(),$("#modal-dialog .modal-footer .button-danger").hide(),$("#modal-dialog .modal-footer .button-success").hide(),$("#modal-dialog .modal-footer .button-notification").hide()),"General"===$(a.currentTarget).html()&&!$(a.currentTarget).parent().hasClass("active")){$("#modal-dialog .modal-footer .button-danger").show(),$("#modal-dialog .modal-footer .button-success").show(),$("#modal-dialog .modal-footer .button-notification").show();var b=($(".index-button-bar")[0],$(".index-button-bar2")[0]);$("#cancelIndex").is(":visible")&&($("#cancelIndex").detach().appendTo(b),$("#createIndex").detach().appendTo(b))}})},unbindIndexEvents:function(){$("#indexEditView #addIndex").unbind("click"),$("#newIndexType").unbind("change"),$("#infoTab a").unbind("click"),$(".deleteIndex").unbind("click")},createInfoModal:function(){var a=function(a,b,c){if(a)arangoHelper.arangoError("Figures","Could not get revision.");else{var d=[],e={figures:c,revision:b,model:this.model};window.modalView.show("modalCollectionInfo.ejs","Collection: "+this.model.get("name"),d,e)}}.bind(this),b=function(b,c){if(b)arangoHelper.arangoError("Figures","Could not get figures.");else{var d=c;this.model.getRevision(a,d)}}.bind(this);this.model.getFigures(b)},resetIndexForms:function(){$("#indexHeader input").val("").prop("checked",!1),$("#newIndexType").val("Geo").prop("selected",!0),this.selectIndexType()},createIndex:function(){var a,b,c,d=this,e=$("#newIndexType").val(),f={};switch(e){case"Geo":a=$("#newGeoFields").val();var g=d.checkboxToValue("#newGeoJson"),h=d.checkboxToValue("#newGeoConstraint"),i=d.checkboxToValue("#newGeoIgnoreNull");f={type:"geo",fields:d.stringToArray(a),geoJson:g,constraint:h,ignoreNull:i};break;case"Hash":a=$("#newHashFields").val(),b=d.checkboxToValue("#newHashUnique"),c=d.checkboxToValue("#newHashSparse"),f={type:"hash",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Fulltext":a=$("#newFulltextFields").val();var j=parseInt($("#newFulltextMinLength").val(),10)||0;f={type:"fulltext",fields:d.stringToArray(a),minLength:j };break;case"Skiplist":a=$("#newSkiplistFields").val(),b=d.checkboxToValue("#newSkiplistUnique"),c=d.checkboxToValue("#newSkiplistSparse"),f={type:"skiplist",fields:d.stringToArray(a),unique:b,sparse:c}}var k=function(a,b){if(a)if(b){var c=JSON.parse(b.responseText);arangoHelper.arangoError("Document error",c.errorMessage)}else arangoHelper.arangoError("Document error","Could not create index.");d.refreshCollectionsView()};window.modalView.hide(),d.model.createIndex(f,k)},lastTarget:null,prepDeleteIndex:function(a){var b=this;this.lastTarget=a,this.lastId=$(this.lastTarget.currentTarget).parent().parent().first().children().first().text(),$("#modal-dialog .modal-footer").after(''),$("#indexConfirmDelete").unbind("click"),$("#indexConfirmDelete").bind("click",function(){$("#indexDeleteModal").remove(),b.deleteIndex()}),$("#indexAbortDelete").unbind("click"),$("#indexAbortDelete").bind("click",function(){$("#indexDeleteModal").remove()})},refreshCollectionsView:function(){window.App.arangoCollectionsStore.fetch({success:function(){window.App.collectionsView.render()}})},deleteIndex:function(){var a=function(a){a?(arangoHelper.arangoError("Could not delete index"),$("tr th:contains('"+this.lastId+"')").parent().children().last().html(''),this.model.set("locked",!1),this.refreshCollectionsView()):a||void 0===a||($("tr th:contains('"+this.lastId+"')").parent().remove(),this.model.set("locked",!1),this.refreshCollectionsView()),this.refreshCollectionsView()}.bind(this);this.model.set("locked",!0),this.model.deleteIndex(this.lastId,a),$("tr th:contains('"+this.lastId+"')").parent().children().last().html('')},selectIndexType:function(){$(".newIndexClass").hide();var a=$("#newIndexType").val();$("#newIndexType"+a).show()},getIndex:function(){var a=function(a,b){a?window.arangoHelper.arangoError("Index",b.errorMessage):this.renderIndex(b)}.bind(this);this.model.getIndex(a)},renderIndex:function(a){this.index=a;var b="collectionInfoTh modal-text";if(this.index){var c="",d="";_.each(this.index.indexes,function(a){d="primary"===a.type||"edge"===a.type?'':'',void 0!==a.fields&&(c=a.fields.join(", "));var e=a.id.indexOf("/"),f=a.id.substr(e+1,a.id.length),g=a.hasOwnProperty("selectivityEstimate")?(100*a.selectivityEstimate).toFixed(2)+"%":"n/a",h=a.hasOwnProperty("sparse")?a.sparse:"n/a";$("#collectionEditIndexTable").append(""+f+""+a.type+""+a.unique+""+h+""+g+""+c+""+d+"")})}this.bindIndexEvents()},toggleNewIndexView:function(){var a=$(".index-button-bar2")[0];$("#indexEditView").is(":visible")?($("#indexEditView").hide(),$("#newIndexView").show(),$("#cancelIndex").detach().appendTo("#modal-dialog .modal-footer"),$("#createIndex").detach().appendTo("#modal-dialog .modal-footer")):($("#indexEditView").show(),$("#newIndexView").hide(),$("#cancelIndex").detach().appendTo(a),$("#createIndex").detach().appendTo(a)),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","right"),this.resetIndexForms()},stringToArray:function(a){var b=[];return a.split(",").forEach(function(a){a=a.replace(/(^\s+|\s+$)/g,""),""!==a&&b.push(a)}),b},checkboxToValue:function(a){return $(a).prop("checked")}})}(),function(){"use strict";window.CollectionsView=Backbone.View.extend({el:"#content",el2:"#collectionsThumbnailsIn",searchTimeout:null,refreshRate:1e4,template:templateEngine.createTemplate("collectionsView.ejs"),refetchCollections:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.checkLockedCollections()}})},checkLockedCollections:function(){var a=function(a,b){var c=this;a?console.log("Could not check locked collections"):(this.collection.each(function(a){a.set("locked",!1)}),_.each(b,function(a){var b=c.collection.findWhere({id:a.collection});b.set("locked",!0),b.set("lockType",a.type),b.set("desc",a.desc)}),this.collection.each(function(a){a.get("locked")||($("#collection_"+a.get("name")).find(".corneredBadge").removeClass("loaded unloaded"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").addClass(a.get("status"))),a.get("locked")||"loading"===a.get("status")?($("#collection_"+a.get("name")).addClass("locked"),a.get("locked")?($("#collection_"+a.get("name")).find(".corneredBadge").removeClass("loaded unloaded"),$("#collection_"+a.get("name")).find(".corneredBadge").addClass("inProgress"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("desc"))):$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status"))):($("#collection_"+a.get("name")).removeClass("locked"),$("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").hasClass("inProgress")&&($("#collection_"+a.get("name")+" .corneredBadge").text(a.get("status")),$("#collection_"+a.get("name")+" .corneredBadge").removeClass("inProgress"),$("#collection_"+a.get("name")+" .corneredBadge").addClass("loaded")),"unloaded"===a.get("status")&&$("#collection_"+a.get("name")+" .icon_arangodb_info").addClass("disabled"))}))}.bind(this);window.arangoHelper.syncAndReturnUninishedAardvarkJobs("index",a)},initialize:function(){var a=this;window.setInterval(function(){"#collections"===window.location.hash&&window.VISIBLE&&a.refetchCollections()},a.refreshRate)},render:function(){this.checkLockedCollections();var a=!1;$("#collectionsDropdown").is(":visible")&&(a=!0),$(this.el).html(this.template.render({})),this.setFilterValues(),a===!0&&$("#collectionsDropdown2").show();var b=this.collection.searchOptions;this.collection.getFiltered(b).forEach(function(a){$("#collectionsThumbnailsIn",this.el).append(new window.CollectionListItemView({model:a,collectionsView:this}).render().el)},this),"none"===$("#collectionsDropdown2").css("display")?$("#collectionsToggle").removeClass("activated"):$("#collectionsToggle").addClass("activated");var c;arangoHelper.setCheckboxStatus("#collectionsDropdown");try{c=b.searchPhrase.length}catch(d){}return $("#searchInput").val(b.searchPhrase),$("#searchInput").focus(),$("#searchInput")[0].setSelectionRange(c,c),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","left"),this},events:{"click #createCollection":"createCollection","keydown #searchInput":"restrictToSearchPhraseKey","change #searchInput":"restrictToSearchPhrase","click #searchSubmit":"restrictToSearchPhrase","click .checkSystemCollections":"checkSystem","click #checkLoaded":"checkLoaded","click #checkUnloaded":"checkUnloaded","click #checkDocument":"checkDocument","click #checkEdge":"checkEdge","click #sortName":"sortName","click #sortType":"sortType","click #sortOrder":"sortOrder","click #collectionsToggle":"toggleView","click .css-label":"checkBoxes"},updateCollectionsView:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render()}})},toggleView:function(){$("#collectionsToggle").toggleClass("activated"),$("#collectionsDropdown2").slideToggle(200)},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},checkSystem:function(){var a=this.collection.searchOptions,b=a.includeSystem;a.includeSystem=$(".checkSystemCollections").is(":checked")===!0,b!==a.includeSystem&&this.render()},checkEdge:function(){var a=this.collection.searchOptions,b=a.includeEdge;a.includeEdge=$("#checkEdge").is(":checked")===!0,b!==a.includeEdge&&this.render()},checkDocument:function(){var a=this.collection.searchOptions,b=a.includeDocument;a.includeDocument=$("#checkDocument").is(":checked")===!0,b!==a.includeDocument&&this.render()},checkLoaded:function(){var a=this.collection.searchOptions,b=a.includeLoaded;a.includeLoaded=$("#checkLoaded").is(":checked")===!0,b!==a.includeLoaded&&this.render()},checkUnloaded:function(){var a=this.collection.searchOptions,b=a.includeUnloaded;a.includeUnloaded=$("#checkUnloaded").is(":checked")===!0,b!==a.includeUnloaded&&this.render()},sortName:function(){var a=this.collection.searchOptions,b=a.sortBy;a.sortBy=$("#sortName").is(":checked")===!0?"name":"type",b!==a.sortBy&&this.render()},sortType:function(){var a=this.collection.searchOptions,b=a.sortBy;a.sortBy=$("#sortType").is(":checked")===!0?"type":"name",b!==a.sortBy&&this.render()},sortOrder:function(){var a=this.collection.searchOptions,b=a.sortOrder;a.sortOrder=$("#sortOrder").is(":checked")===!0?-1:1,b!==a.sortOrder&&this.render()},setFilterValues:function(){var a=this.collection.searchOptions;$("#checkLoaded").attr("checked",a.includeLoaded),$("#checkUnloaded").attr("checked",a.includeUnloaded),$(".checkSystemCollections").attr("checked",a.includeSystem),$("#checkEdge").attr("checked",a.includeEdge),$("#checkDocument").attr("checked",a.includeDocument),$("#sortName").attr("checked","type"!==a.sortBy),$("#sortType").attr("checked","type"===a.sortBy),$("#sortOrder").attr("checked",1!==a.sortOrder)},search:function(){var a=this.collection.searchOptions,b=$("#searchInput").val();b!==a.searchPhrase&&(a.searchPhrase=b,this.render())},resetSearch:function(){this.searchTimeout&&(clearTimeout(this.searchTimeout),this.searchTimeout=null);var a=this.collection.searchOptions;a.searchPhrase=null},restrictToSearchPhraseKey:function(){var a=this;this.resetSearch(),a.searchTimeout=setTimeout(function(){a.search()},200)},restrictToSearchPhrase:function(){this.resetSearch(),this.search()},createCollection:function(a){a.preventDefault(),this.createNewCollectionModal()},submitCreateCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("DB","Could not check coordinator state");else{var c=$("#new-collection-name").val(),d=$("#new-collection-size").val(),e=$("#new-replication-factor").val(),f=$("#new-collection-type").val(),g=$("#new-collection-sync").val(),h=1,i=[];if(""===e&&(e=1),b){if(h=$("#new-collection-shards").val(),""===h&&(h=1),h=parseInt(h,10),1>h)return arangoHelper.arangoError("Number of shards has to be an integer value greater or equal 1"),0;i=_.pluck($("#new-collection-shardBy").select2("data"),"text"),0===i.length&&i.push("_key")}if("_"===c.substr(0,1))return arangoHelper.arangoError('No "_" allowed as first character!'),0;var j=!1,k="true"===g;if(d>0)try{d=1024*JSON.parse(d)*1024}catch(l){return arangoHelper.arangoError("Please enter a valid number"),0}if(""===c)return arangoHelper.arangoError("No collection name entered!"),0;var m=function(a,b){if(a)try{b=JSON.parse(b.responseText),arangoHelper.arangoError("Error",b.errorMessage)}catch(c){}else this.updateCollectionsView();window.modalView.hide()}.bind(this);this.collection.newCollection({collName:c,wfs:k,isSystem:j,collSize:d,replicationFactor:e,collType:f,shards:h,shardBy:i},m)}}.bind(this);window.isCoordinator(a)},createNewCollectionModal:function(){var a=function(a,b){if(a)arangoHelper.arangoError("DB","Could not check coordinator state");else{var c=[],d=[],e={},f=[];d.push(window.modalView.createTextEntry("new-collection-name","Name","",!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only symbols, "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}])),d.push(window.modalView.createSelectEntry("new-collection-type","Type","","The type of the collection to create.",[{value:2,label:"Document"},{value:3,label:"Edge"}])),b&&(d.push(window.modalView.createTextEntry("new-collection-shards","Shards","","The number of shards to create. You cannot change this afterwards. Recommended: DBServers squared","",!0)),d.push(window.modalView.createSelect2Entry("new-collection-shardBy","shardBy","","The keys used to distribute documents on shards. Type the key and press return to add it.","_key",!1))),c.push(window.modalView.createSuccessButton("Save",this.submitCreateCollection.bind(this))),f.push(window.modalView.createTextEntry("new-collection-size","Journal size","","The maximal size of a journal or datafile (in MB). Must be at least 1.","",!1,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),window.App.isCluster&&f.push(window.modalView.createTextEntry("new-replication-factor","Replication factor","","Numeric value. Must be at least 1. Description: TODO","",!1,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),f.push(window.modalView.createSelectEntry("new-collection-sync","Wait for sync","","Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}])),e.header="Advanced",e.content=f,window.modalView.show("modalTable.ejs","New Collection",c,d,e)}}.bind(this);window.isCoordinator(a)}})}(),function(){"use strict";function a(a,b){return(void 0===a||null===a)&&(a=0),a.toFixed(b)}window.DashboardView=Backbone.View.extend({el:"#content",interval:1e4,defaultTimeFrame:12e5,defaultDetailFrame:1728e5,history:{},graphs:{},events:{"click .subViewNavbar .subMenuEntry":"toggleViews"},tendencies:{asyncPerSecondCurrent:["asyncPerSecondCurrent","asyncPerSecondPercentChange"],syncPerSecondCurrent:["syncPerSecondCurrent","syncPerSecondPercentChange"],clientConnectionsCurrent:["clientConnectionsCurrent","clientConnectionsPercentChange"],clientConnectionsAverage:["clientConnections15M","clientConnections15MPercentChange"],numberOfThreadsCurrent:["numberOfThreadsCurrent","numberOfThreadsPercentChange"],numberOfThreadsAverage:["numberOfThreads15M","numberOfThreads15MPercentChange"],virtualSizeCurrent:["virtualSizeCurrent","virtualSizePercentChange"],virtualSizeAverage:["virtualSize15M","virtualSize15MPercentChange"]},barCharts:{totalTimeDistribution:["queueTimeDistributionPercent","requestTimeDistributionPercent"],dataTransferDistribution:["bytesSentDistributionPercent","bytesReceivedDistributionPercent"]},barChartsElementNames:{queueTimeDistributionPercent:"Queue",requestTimeDistributionPercent:"Computation",bytesSentDistributionPercent:"Bytes sent",bytesReceivedDistributionPercent:"Bytes received"},getDetailFigure:function(a){var b=$(a.currentTarget).attr("id").replace(/ChartButton/g,"");return b},showDetail:function(a){var b,c=this,d=this.getDetailFigure(a);b=this.dygraphConfig.getDetailChartConfig(d),this.getHistoryStatistics(d),this.detailGraphFigure=d,window.modalView.hideFooter=!0,window.modalView.hide(),window.modalView.show("modalGraph.ejs",b.header,void 0,void 0,void 0,void 0,this.events),window.modalView.hideFooter=!1,$("#modal-dialog").on("hidden",function(){c.hidden()}),$("#modal-dialog").toggleClass("modal-chart-detail",!0),b.height=.7*$(window).height(),b.width=$(".modal-inner-detail").width(),b.labelsDiv=$(b.labelsDiv)[0],this.detailGraph=new Dygraph(document.getElementById("lineChartDetail"),this.history[this.server][d],b)},hidden:function(){this.detailGraph.destroy(),delete this.detailGraph,delete this.detailGraphFigure},getCurrentSize:function(a){"#"!==a.substr(0,1)&&(a="#"+a);var b,c;return $(a).attr("style",""),b=$(a).height(),c=$(a).width(),{height:b,width:c}},prepareDygraphs:function(){var a,b=this;this.dygraphConfig.getDashBoardFigures().forEach(function(c){a=b.dygraphConfig.getDefaultConfig(c);var d=b.getCurrentSize(a.div);a.height=d.height,a.width=d.width,b.graphs[c]=new Dygraph(document.getElementById(a.div),b.history[b.server][c]||[],a)})},initialize:function(a){this.options=a,this.dygraphConfig=a.dygraphConfig,this.d3NotInitialized=!0,this.events["click .dashboard-sub-bar-menu-sign"]=this.showDetail.bind(this),this.events["mousedown .dygraph-rangesel-zoomhandle"]=this.stopUpdating.bind(this),this.events["mouseup .dygraph-rangesel-zoomhandle"]=this.startUpdating.bind(this),this.serverInfo=a.serverToShow,this.serverInfo?this.server=this.serverInfo.target:this.server="-local-",this.history[this.server]={}},toggleViews:function(a){var b=a.currentTarget.id.split("-")[0],c=this,d=["replication","requests","system"];_.each(d,function(a){b!==a?$("#"+a).hide():($("#"+a).show(),c.resize(),$(window).resize())}),$(".subMenuEntries").children().removeClass("active"),$("#"+b+"-statistics").addClass("active"),window.setTimeout(function(){c.resize(),$(window).resize()},200)},updateCharts:function(){var a=this;return this.detailGraph?void this.updateLineChart(this.detailGraphFigure,!0):(this.prepareD3Charts(this.isUpdating),this.prepareResidentSize(this.isUpdating),this.updateTendencies(),void Object.keys(this.graphs).forEach(function(b){a.updateLineChart(b,!1)}))},updateTendencies:function(){var a=this,b=this.tendencies,c="";Object.keys(b).forEach(function(b){var d="",e=0;a.history.hasOwnProperty(a.server)&&a.history[a.server].hasOwnProperty(b)&&(e=a.history[a.server][b][1]),0>e?c="#d05448":(c="#7da817",d="+"),a.history.hasOwnProperty(a.server)&&a.history[a.server].hasOwnProperty(b)?$("#"+b).html(a.history[a.server][b][0]+'
    '+d+e+"%"):$("#"+b).html('

    data not ready yet

    ')})},updateDateWindow:function(a,b){var c,d,e=(new Date).getTime();return b&&a.dateWindow_?(c=a.dateWindow_[0],d=e-a.dateWindow_[1]-5*this.interval>0?a.dateWindow_[1]:e,[c,d]):[e-this.defaultTimeFrame,e]},updateLineChart:function(a,b){var c=b?this.detailGraph:this.graphs[a],d={file:this.history[this.server][a],dateWindow:this.updateDateWindow(c,b)},e=0,f=[];_.each(d.file,function(a){var b=a[0].getSeconds()-a[0].getSeconds()%10;d.file[e][0].setSeconds(b),f.push(d.file[e][0]),e++});for(var g=new Date(Math.max.apply(null,f)),h=new Date(Math.min.apply(null,f)),i=new Date(h.getTime()),j=[],k=[];g>i;)i=new Date(i.setSeconds(i.getSeconds()+10)),k.push(i);_.each(k,function(a){var b=!1;_.each(d.file,function(c){Math.floor(a.getTime()/1e3)===Math.floor(c[0].getTime()/1e3)&&(b=!0)}),b===!1&&a1)){var f=0,g=0;9===c.length&&(f+=c[1],f+=c[6],f+=c[7],f+=c[8],g+=c[2],g+=c[3],g+=c[4],g+=c[5],c=[c[0],f,g]),d.history[d.server][e].unshift(c)}})},cutOffHistory:function(a,b){for(var c=this,d=c.history[c.server][a];0!==d.length&&!(d[d.length-1][0]>=b);)d.pop()},cutOffDygraphHistory:function(a){var b=this,c=new Date(a);this.dygraphConfig.getDashBoardFigures(!0).forEach(function(a){b.dygraphConfig.mapStatToFigure[a]&&b.history[b.server][a]&&b.cutOffHistory(a,c)})},mergeHistory:function(b){var c,d=this;for(c=0;c=0;--c)d.values.push({label:this.getLabel(b[a[0]].cuts,c),value:b[a[0]].values[c]}),e.values.push({label:this.getLabel(b[a[1]].cuts,c),value:b[a[1]].values[c]});return[d,e]},getLabel:function(a,b){return a[b]?0===b?"0 - "+a[b]:a[b-1]+" - "+a[b]:">"+a[b-1]},renderReplicationStatistics:function(a){$("#repl-numbers table tr:nth-child(1) > td:nth-child(2)").html(a.state.totalEvents),$("#repl-numbers table tr:nth-child(2) > td:nth-child(2)").html(a.state.totalRequests),$("#repl-numbers table tr:nth-child(3) > td:nth-child(2)").html(a.state.totalFailedConnects),a.state.lastAppliedContinuousTick?$("#repl-ticks table tr:nth-child(1) > td:nth-child(2)").html(a.state.lastAppliedContinuousTick):$("#repl-ticks table tr:nth-child(1) > td:nth-child(2)").html("no data available").addClass("no-data"),a.state.lastProcessedContinuousTick?$("#repl-ticks table tr:nth-child(2) > td:nth-child(2)").html(a.state.lastProcessedContinuousTick):$("#repl-ticks table tr:nth-child(2) > td:nth-child(2)").html("no data available").addClass("no-data"),a.state.lastAvailableContinuousTick?$("#repl-ticks table tr:nth-child(3) > td:nth-child(2)").html(a.state.lastAvailableContinuousTick):$("#repl-ticks table tr:nth-child(3) > td:nth-child(2)").html("no data available").addClass("no-data"),$("#repl-progress table tr:nth-child(1) > td:nth-child(2)").html(a.state.progress.message),$("#repl-progress table tr:nth-child(2) > td:nth-child(2)").html(a.state.progress.time),$("#repl-progress table tr:nth-child(3) > td:nth-child(2)").html(a.state.progress.failedConnects)},getReplicationStatistics:function(){var a=this;$.ajax(arangoHelper.databaseUrl("/_api/replication/applier-state"),{async:!0}).done(function(b){if(b.hasOwnProperty("state")){var c;c=b.state.running?"active":"inactive",c=''+c+"",$("#replication-chart .dashboard-sub-bar").html("Replication "+c),a.renderReplicationStatistics(b)}})},getStatistics:function(a,b){var c=this,d=arangoHelper.databaseUrl("/_admin/aardvark/statistics/short","_system"),e="?start=";e+=c.nextStart?c.nextStart:((new Date).getTime()-c.defaultTimeFrame)/1e3,"-local-"!==c.server&&(e+="&type=short&DBserver="+c.serverInfo.target,c.history.hasOwnProperty(c.server)||(c.history[c.server]={})),$.ajax(d+e,{async:!0,xhrFields:{withCredentials:!0},crossDomain:!0}).done(function(d){d.times.length>0&&(c.isUpdating=!0,c.mergeHistory(d)),c.isUpdating!==!1&&(a&&a(d.enabled,b),c.updateCharts())}).error(function(a){console.log("stat fetch req error:"+a)}),this.getReplicationStatistics()},getHistoryStatistics:function(a){var b=this,c="statistics/long",d="?filter="+this.dygraphConfig.mapStatToFigure[a].join();"-local-"!==b.server&&(c=b.server.endpoint+arangoHelper.databaseUrl("/_admin/aardvark/statistics/cluster"),d+="&type=long&DBserver="+b.server.target,b.history.hasOwnProperty(b.server)||(b.history[b.server]={}));var e=window.location.href.split("/"),f=e[0]+"//"+e[2]+"/"+e[3]+"/_system/"+e[5]+"/"+e[6]+"/";$.ajax(f+c+d,{async:!0}).done(function(c){var d;for(b.history[b.server][a]=[],d=0;d data not ready yet

    '),$("#totalTimeDistribution").prepend('

    data not ready yet

    '),$(".dashboard-bar-chart-title").append('

    data not ready yet

    '))},removeEmptyDataLabels:function(){$(".dataNotReadyYet").remove()},prepareResidentSize:function(b){var c=this,d=this.getCurrentSize("#residentSizeChartContainer"),e=c.history[c.server].residentSizeCurrent/1024/1024,f="";f=1025>e?a(e,2)+" MB":a(e/1024,2)+" GB";var g=a(100*c.history[c.server].residentSizePercent,2),h=[a(c.history[c.server].physicalMemory/1024/1024/1024,0)+" GB"];return void 0===c.history[c.server].residentSizeChart?void this.addEmptyDataLabels():(this.removeEmptyDataLabels(),void nv.addGraph(function(){var a=nv.models.multiBarHorizontalChart().x(function(a){return a.label}).y(function(a){return a.value}).width(d.width).height(d.height).margin({top:($("residentSizeChartContainer").outerHeight()-$("residentSizeChartContainer").height())/2,right:1,bottom:($("residentSizeChartContainer").outerHeight()-$("residentSizeChartContainer").height())/2,left:1}).showValues(!1).showYAxis(!1).showXAxis(!1).showLegend(!1).showControls(!1).stacked(!0);return a.yAxis.tickFormat(function(a){return a+"%"}).showMaxMin(!1),a.xAxis.showMaxMin(!1),d3.select("#residentSizeChart svg").datum(c.history[c.server].residentSizeChart).call(a),d3.select("#residentSizeChart svg").select(".nv-zeroLine").remove(),b&&(d3.select("#residentSizeChart svg").select("#total").remove(),d3.select("#residentSizeChart svg").select("#percentage").remove()),d3.select(".dashboard-bar-chart-title .percentage").html(f+" ("+g+" %)"),d3.select(".dashboard-bar-chart-title .absolut").html(h[0]),nv.utils.windowResize(a.update),a},function(){d3.selectAll("#residentSizeChart .nv-bar").on("click",function(){})}))},prepareD3Charts:function(b){var c=this,d={totalTimeDistribution:["queueTimeDistributionPercent","requestTimeDistributionPercent"],dataTransferDistribution:["bytesSentDistributionPercent","bytesReceivedDistributionPercent"]};this.d3NotInitialized&&(b=!1,this.d3NotInitialized=!1),_.each(Object.keys(d),function(b){var d=c.getCurrentSize("#"+b+"Container .dashboard-interior-chart"),e="#"+b+"Container svg";return void 0===c.history[c.server].residentSizeChart?void c.addEmptyDataLabels():(c.removeEmptyDataLabels(),void nv.addGraph(function(){var f=[0,.25,.5,.75,1],g=75,h=23,i=6;d.width<219?(f=[0,.5,1],g=72,h=21,i=5):d.width<299?(f=[0,.3334,.6667,1],g=77):d.width<379?g=87:d.width<459?g=95:d.width<539?g=100:d.width<619&&(g=105);var j=nv.models.multiBarHorizontalChart().x(function(a){return a.label}).y(function(a){return a.value}).width(d.width).height(d.height).margin({top:5,right:20,bottom:h,left:g}).showValues(!1).showYAxis(!0).showXAxis(!0).showLegend(!1).showControls(!1).forceY([0,1]);j.yAxis.showMaxMin(!1);d3.select(".nv-y.nv-axis").selectAll("text").attr("transform","translate (0, "+i+")");return j.yAxis.tickValues(f).tickFormat(function(b){return a(100*b*100/100,0)+"%"}),d3.select(e).datum(c.history[c.server][b]).call(j),nv.utils.windowResize(j.update),j},function(){d3.selectAll(e+" .nv-bar").on("click",function(){})}))})},stopUpdating:function(){this.isUpdating=!1},startUpdating:function(){var a=this;a.timer||(a.timer=window.setInterval(function(){window.App.isCluster?window.location.hash.indexOf(a.serverInfo.target)>-1&&a.getStatistics():a.getStatistics()},a.interval))},resize:function(){if(this.isUpdating){var a,b=this;_.each(this.graphs,function(c){a=b.getCurrentSize(c.maindiv_.id),c.resize(a.width,a.height)}),this.detailGraph&&(a=this.getCurrentSize(this.detailGraph.maindiv_.id),this.detailGraph.resize(a.width,a.height)),this.prepareD3Charts(!0),this.prepareResidentSize(!0)}},template:templateEngine.createTemplate("dashboardView.ejs"),render:function(a){var b=function(a,b){return b||$(this.el).html(this.template.render()),a&&"_system"===frontendConfig.db?(this.prepareDygraphs(),this.isUpdating&&(this.prepareD3Charts(),this.prepareResidentSize(),this.updateTendencies(),$(window).trigger("resize")),this.startUpdating(),void $(window).resize()):($(this.el).html(""),void(this.server?$(this.el).append('
    Server statistics ('+this.server+") are disabled.
    "):$(this.el).append('
    Server statistics are disabled.
    ')))}.bind(this),c=function(){$(this.el).html(""),$(".contentDiv").remove(),$(".headerBar").remove(),$(".dashboard-headerbar").remove(),$(".dashboard-row").remove(),$(this.el).append('
    You do not have permission to view this page.
    '),$(this.el).append("
    You can switch to '_system' to see the dashboard.
    ")}.bind(this);if("_system"!==frontendConfig.db)return void c();var d=function(d,e){d||(e?this.getStatistics(b,a):c())}.bind(this);void 0===window.App.currentDB.get("name")?window.setTimeout(function(){return"_system"!==window.App.currentDB.get("name")?void c():void this.options.database.hasSystemAccess(d)}.bind(this),300):this.options.database.hasSystemAccess(d)}})}(),function(){"use strict";window.databaseView=Backbone.View.extend({users:null,el:"#content",template:templateEngine.createTemplate("databaseView.ejs"),dropdownVisible:!1,currentDB:"",events:{"click #createDatabase":"createDatabase","click #submitCreateDatabase":"submitCreateDatabase","click .editDatabase":"editDatabase","click #userManagementView .icon":"editDatabase","click #selectDatabase":"updateDatabase","click #submitDeleteDatabase":"submitDeleteDatabase","click .contentRowInactive a":"changeDatabase","keyup #databaseSearchInput":"search","click #databaseSearchSubmit":"search","click #databaseToggle":"toggleSettingsDropdown","click .css-label":"checkBoxes","click #dbSortDesc":"sorting"},sorting:function(){$("#dbSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#databaseDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},initialize:function(){this.collection.fetch({async:!0,cache:!1})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},render:function(){var a=function(a,b){a?arangoHelper.arangoError("DB","Could not get current db properties"):(this.currentDB=b,this.collection.sort(),$(this.el).html(this.template.render({collection:this.collection,searchString:"",currentDB:this.currentDB})),this.dropdownVisible===!0&&($("#dbSortDesc").attr("checked",this.collection.sortOptions.desc),$("#databaseToggle").toggleClass("activated"),$("#databaseDropdown2").show()),arangoHelper.setCheckboxStatus("#databaseDropdown"),this.replaceSVGs())}.bind(this);return this.collection.getCurrentDatabase(a),this},toggleSettingsDropdown:function(){$("#dbSortDesc").attr("checked",this.collection.sortOptions.desc),$("#databaseToggle").toggleClass("activated"),$("#databaseDropdown2").slideToggle(200)},selectedDatabase:function(){return $("#selectDatabases").val()},handleError:function(a,b,c){return 409===a?void arangoHelper.arangoError("DB","Database "+c+" already exists."):400===a?void arangoHelper.arangoError("DB","Invalid Parameters"):403===a?void arangoHelper.arangoError("DB","Insufficent rights. Execute this from _system database"):void 0},validateDatabaseInfo:function(a,b){return""===b?(arangoHelper.arangoError("DB","You have to define an owner for the new database"),!1):""===a?(arangoHelper.arangoError("DB","You have to define a name for the new database"),!1):0===a.indexOf("_")?(arangoHelper.arangoError("DB ","Databasename should not start with _"),!1):a.match(/^[a-zA-Z][a-zA-Z0-9_\-]*$/)?!0:(arangoHelper.arangoError("DB","Databasename may only contain numbers, letters, _ and -"), -!1)},createDatabase:function(a){a.preventDefault(),this.createAddDatabaseModal()},switchDatabase:function(a){if(!$(a.target).parent().hasClass("iconSet")){var b=$(a.currentTarget).find("h5").text();if(""!==b){var c=this.collection.createDatabaseURL(b);window.location.replace(c)}}},submitCreateDatabase:function(){var a=this,b=$("#newDatabaseName").val(),c=$("#newUser").val(),d={name:b};this.collection.create(d,{wait:!1,error:function(c,d){console.log("ERROR"),a.handleError(d.status,d.statusText,b)},success:function(){"root"!==c&&$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(c)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})}),$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/root/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})}),a.updateDatabases(),arangoHelper.arangoNotification("Database created."),window.modalView.hide(),window.App.naviView.dbSelectionView.render($("#dbSelect"))}})},submitDeleteDatabase:function(a){var b=this.collection.where({name:a});b[0].destroy({wait:!0,url:arangoHelper.databaseUrl("/_api/database/"+a)}),this.updateDatabases(),window.App.naviView.dbSelectionView.render($("#dbSelect")),window.modalView.hide()},changeDatabase:function(a){var b=$(a.currentTarget).attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},updateDatabases:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render(),window.App.handleSelectDatabase()}})},editDatabase:function(a){var b=this.evaluateDatabaseName($(a.currentTarget).attr("id"),"_edit-database"),c=!0;b===this.currentDB&&(c=!1),this.createEditDatabaseModal(b,c)},search:function(){var a,b,c,d;a=$("#databaseSearchInput"),b=$("#databaseSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("name").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b,currentDB:this.currentDB})),this.replaceSVGs(),a=$("#databaseSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","tile-icon-svg").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},evaluateDatabaseName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},createEditDatabaseModal:function(a,b){var c=[],d=[];d.push(window.modalView.createReadOnlyEntry("id_name","Name",a,"")),b?c.push(window.modalView.createDeleteButton("Delete",this.submitDeleteDatabase.bind(this,a))):c.push(window.modalView.createDisabledButton("Delete")),window.modalView.show("modalTable.ejs","Delete database",c,d)},createAddDatabaseModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newDatabaseName","Name","",!1,"Database Name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Database name must start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No database name given."}]));var c=[];window.App.userCollection.each(function(a){c.push({value:a.get("user"),label:a.get("user")})}),b.push(window.modalView.createSelectEntry("newUser","Username",null!==this.users?this.users.whoAmI():"root","Please define the owner of this database. This will be the only user having initial access to this database if authentication is turned on. Please note that if you specify a username different to your account you will not be able to access the database with your account after having creating it. Specifying a username is mandatory even with authentication turned off. If there is a failure you will be informed.",c)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateDatabase.bind(this))),window.modalView.show("modalTable.ejs","Create Database",a,b),$("#useDefaultPassword").change(function(){"true"===$("#useDefaultPassword").val()?$("#row_newPassword").hide():$("#row_newPassword").show()}),$("#row_newPassword").hide()}})}(),function(){"use strict";window.DBSelectionView=Backbone.View.extend({template:templateEngine.createTemplate("dbSelectionView.ejs"),events:{"click .dbSelectionLink":"changeDatabase"},initialize:function(a){this.current=a.current},changeDatabase:function(a){var b=$(a.currentTarget).closest(".dbSelectionLink.tab").attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},render:function(a){var b=function(b,c){b?arangoHelper.arangoError("DB","Could not fetch databases"):(this.$el=a,this.$el.html(this.template.render({list:c,current:this.current.get("name")})),this.delegateEvents())}.bind(this);return this.collection.getDatabasesForUser(b),this.el}})}(),function(){"use strict";var a=function(a){var b=a.split("/");return"collection/"+encodeURIComponent(b[0])+"/"+encodeURIComponent(b[1])};window.DocumentView=Backbone.View.extend({el:"#content",colid:0,docid:0,customView:!1,defaultMode:"tree",template:templateEngine.createTemplate("documentView.ejs"),events:{"click #saveDocumentButton":"saveDocument","click #deleteDocumentButton":"deleteDocumentModal","click #confirmDeleteDocument":"deleteDocument","click #document-from":"navigateToDocument","click #document-to":"navigateToDocument","keydown #documentEditor .ace_editor":"keyPress","keyup .jsoneditor .search input":"checkSearchBox","click .jsoneditor .modes":"storeMode","click #addDocument":"addDocument"},checkSearchBox:function(a){""===$(a.currentTarget).val()&&this.editor.expandAll()},addDocument:function(){window.App.documentsView.addDocumentModal()},storeMode:function(){var a=this;$(".type-modes").on("click",function(b){a.defaultMode=$(b.currentTarget).text().toLowerCase()})},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.saveDocument()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.saveDocument())},editor:0,setType:function(a){a=2===a?"document":"edge";var b=function(a,b){if(a)arangoHelper.arangoError("Error","Could not fetch data.");else{var c=b+": ";this.type=b,this.fillInfo(c),this.fillEditor()}}.bind(this);"edge"===a?this.collection.getEdge(this.colid,this.docid,b):"document"===a&&this.collection.getDocument(this.colid,this.docid,b)},deleteDocumentModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-delete-button","Delete","Delete this "+this.type+"?",void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createDeleteButton("Delete",this.deleteDocument.bind(this))),window.modalView.show("modalTable.ejs","Delete Document",a,b)},deleteDocument:function(){var a=function(){if(this.customView)this.customDeleteFunction();else{var a="collection/"+encodeURIComponent(this.colid)+"/documents/1";window.modalView.hide(),window.App.navigate(a,{trigger:!0})}}.bind(this);if("document"===this.type){var b=function(b){b?arangoHelper.arangoError("Error","Could not delete document"):a()}.bind(this);this.collection.deleteDocument(this.colid,this.docid,b)}else if("edge"===this.type){var c=function(b){b?arangoHelper.arangoError("Edge error","Could not delete edge"):a()}.bind(this);this.collection.deleteEdge(this.colid,this.docid,c)}},navigateToDocument:function(a){var b=$(a.target).attr("documentLink");b&&window.App.navigate(b,{trigger:!0})},fillInfo:function(){var b=this.collection.first(),c=b.get("_id"),d=b.get("_key"),e=b.get("_rev"),f=b.get("_from"),g=b.get("_to");if($("#document-type").css("margin-left","10px"),$("#document-type").text("_id:"),$("#document-id").css("margin-left","0"),$("#document-id").text(c),$("#document-key").text(d),$("#document-rev").text(e),f&&g){var h=a(f),i=a(g);$("#document-from").text(f),$("#document-from").attr("documentLink",h),$("#document-to").text(g),$("#document-to").attr("documentLink",i)}else $(".edge-info-container").hide()},fillEditor:function(){var a=this.removeReadonlyKeys(this.collection.first().attributes);$(".disabledBread").last().text(this.collection.first().get("_key")),this.editor.set(a),$(".ace_content").attr("font-size","11pt")},jsonContentChanged:function(){this.enableSaveButton()},resize:function(){$("#documentEditor").height($(".centralRow").height()-300)},render:function(){$(this.el).html(this.template.render({})),$("#documentEditor").height($(".centralRow").height()-300),this.disableSaveButton(),this.breadcrumb();var a=this,b=document.getElementById("documentEditor"),c={change:function(){a.jsonContentChanged()},search:!0,mode:"tree",modes:["tree","code"],iconlib:"fontawesome4"};return this.editor=new JSONEditor(b,c),this.editor.setMode(this.defaultMode),this},removeReadonlyKeys:function(a){return _.omit(a,["_key","_id","_from","_to","_rev"])},saveDocument:function(){if(void 0===$("#saveDocumentButton").attr("disabled"))if("_"===this.collection.first().attributes._id.substr(0,1)){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-save-system-button","Caution","You are modifying a system collection. Really continue?",void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createSuccessButton("Save",this.confirmSaveDocument.bind(this))),window.modalView.show("modalTable.ejs","Modify System Collection",a,b)}else this.confirmSaveDocument()},confirmSaveDocument:function(){window.modalView.hide();var a;try{a=this.editor.get()}catch(b){return this.errorConfirmation(b),void this.disableSaveButton()}if(a=JSON.stringify(a),this.type._from&&this.type._to){var c=function(a){a?arangoHelper.arangoError("Error","Could not save edge."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveEdge(this.colid,this.docid,this.type._from,this.type._to,a,c)}else{var d=function(a){a?arangoHelper.arangoError("Error","Could not save document."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveDocument(this.colid,this.docid,a,d)}},successConfirmation:function(){arangoHelper.arangoNotification("Document saved."),$("#documentEditor .tree").animate({backgroundColor:"#C6FFB0"},500),$("#documentEditor .tree").animate({backgroundColor:"#FFFFF"},500),$("#documentEditor .ace_content").animate({backgroundColor:"#C6FFB0"},500),$("#documentEditor .ace_content").animate({backgroundColor:"#FFFFF"},500)},errorConfirmation:function(a){arangoHelper.arangoError("Document editor: ",a),$("#documentEditor .tree").animate({backgroundColor:"#FFB0B0"},500),$("#documentEditor .tree").animate({backgroundColor:"#FFFFF"},500),$("#documentEditor .ace_content").animate({backgroundColor:"#FFB0B0"},500),$("#documentEditor .ace_content").animate({backgroundColor:"#FFFFF"},500)},enableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!1),$("#saveDocumentButton").addClass("button-success"),$("#saveDocumentButton").removeClass("button-close")},disableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!0),$("#saveDocumentButton").addClass("button-close"),$("#saveDocumentButton").removeClass("button-success")},breadcrumb:function(){var a=window.location.hash.split("/");$("#subNavigationBar .breadcrumb").html('Collection: '+a[1]+'Document: '+a[2])},escaped:function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}})}(),function(){"use strict";window.DocumentsView=window.PaginationView.extend({filters:{0:!0},filterId:0,paginationDiv:"#documentsToolbarF",idPrefix:"documents",addDocumentSwitch:!0,activeFilter:!1,lastCollectionName:void 0,restoredFilters:[],editMode:!1,allowUpload:!1,el:"#content",table:"#documentsTableID",template:templateEngine.createTemplate("documentsView.ejs"),collectionContext:{prev:null,next:null},editButtons:["#deleteSelected","#moveSelected"],initialize:function(a){this.documentStore=a.documentStore,this.collectionsStore=a.collectionsStore,this.tableView=new window.TableView({el:this.table,collection:this.collection}),this.tableView.setRowClick(this.clicked.bind(this)),this.tableView.setRemoveClick(this.remove.bind(this))},resize:function(){$("#docPureTable").height($(".centralRow").height()-210),$("#docPureTable .pure-table-body").css("max-height",$("#docPureTable").height()-47)},setCollectionId:function(a,b){this.collection.setCollection(a),this.collection.setPage(b),this.page=b;var c=function(b,c){b?arangoHelper.arangoError("Error","Could not get collection properties."):(this.type=c,this.collection.getDocuments(this.getDocsCallback.bind(this)),this.collectionModel=this.collectionsStore.get(a))}.bind(this);arangoHelper.collectionApiType(a,null,c)},getDocsCallback:function(a){$("#documents_last").css("visibility","hidden"),$("#documents_first").css("visibility","hidden"),a?(window.progressView.hide(),arangoHelper.arangoError("Document error","Could not fetch requested documents.")):a&&void 0===a||(window.progressView.hide(),this.drawTable(),this.renderPaginationElements())},events:{"click #collectionPrev":"prevCollection","click #collectionNext":"nextCollection","click #filterCollection":"filterCollection","click #markDocuments":"editDocuments","click #importCollection":"importCollection","click #exportCollection":"exportCollection","click #filterSend":"sendFilter","click #addFilterItem":"addFilterItem","click .removeFilterItem":"removeFilterItem","click #deleteSelected":"deleteSelectedDocs","click #moveSelected":"moveSelectedDocs","click #addDocumentButton":"addDocumentModal","click #documents_first":"firstDocuments","click #documents_last":"lastDocuments","click #documents_prev":"prevDocuments","click #documents_next":"nextDocuments","click #confirmDeleteBtn":"confirmDelete","click .key":"nop",keyup:"returnPressedHandler","keydown .queryline input":"filterValueKeydown","click #importModal":"showImportModal","click #resetView":"resetView","click #confirmDocImport":"startUpload","click #exportDocuments":"startDownload","change #documentSize":"setPagesize","change #docsSort":"setSorting"},showSpinner:function(){$("#uploadIndicator").show()},hideSpinner:function(){$("#uploadIndicator").hide()},showImportModal:function(){$("#docImportModal").modal("show")},hideImportModal:function(){$("#docImportModal").modal("hide")},setPagesize:function(){var a=$("#documentSize").find(":selected").val();this.collection.setPagesize(a),this.collection.getDocuments(this.getDocsCallback.bind(this))},setSorting:function(){var a=$("#docsSort").val();(""===a||void 0===a||null===a)&&(a="_key"),this.collection.setSort(a)},returnPressedHandler:function(a){13===a.keyCode&&$(a.target).is($("#docsSort"))&&this.collection.getDocuments(this.getDocsCallback.bind(this)),13===a.keyCode&&$("#confirmDeleteBtn").attr("disabled")===!1&&this.confirmDelete()},nop:function(a){a.stopPropagation()},resetView:function(){var a=function(a){a&&arangoHelper.arangoError("Document","Could not fetch documents count")}.bind(this);$("input").val(""),$("select").val("=="),this.removeAllFilterItems(),$("#documentSize").val(this.collection.getPageSize()),$("#documents_last").css("visibility","visible"),$("#documents_first").css("visibility","visible"),this.addDocumentSwitch=!0,this.collection.resetFilter(),this.collection.loadTotal(a),this.restoredFilters=[],this.allowUpload=!1,this.files=void 0,this.file=void 0,$("#confirmDocImport").attr("disabled",!0),this.markFilterToggle(),this.collection.getDocuments(this.getDocsCallback.bind(this))},startDownload:function(){var a=this.collection.buildDownloadDocumentQuery();""!==a||void 0!==a||null!==a?window.open(encodeURI("query/result/download/"+btoa(JSON.stringify(a)))):arangoHelper.arangoError("Document error","could not download documents")},startUpload:function(){var a=function(a,b){a?(arangoHelper.arangoError("Upload",b),this.hideSpinner()):(this.hideSpinner(),this.hideImportModal(),this.resetView())}.bind(this);this.allowUpload===!0&&(this.showSpinner(),this.collection.uploadDocuments(this.file,a))},uploadSetup:function(){var a=this;$("#importDocuments").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],$("#confirmDocImport").attr("disabled",!1),a.allowUpload=!0})},buildCollectionLink:function(a){return"collection/"+encodeURIComponent(a.get("name"))+"/documents/1"},markFilterToggle:function(){this.restoredFilters.length>0?$("#filterCollection").addClass("activated"):$("#filterCollection").removeClass("activated")},editDocuments:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),this.markFilterToggle(),$("#markDocuments").toggleClass("activated"),this.changeEditMode(),$("#filterHeader").hide(),$("#importHeader").hide(),$("#editHeader").slideToggle(200),$("#exportHeader").hide()},filterCollection:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),this.markFilterToggle(),this.activeFilter=!0,$("#importHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide(),$("#filterHeader").slideToggle(200);var a;for(a in this.filters)if(this.filters.hasOwnProperty(a))return void $("#attribute_name"+a).focus()},exportCollection:function(){$("#importCollection").removeClass("activated"),$("#filterHeader").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#exportCollection").toggleClass("activated"),this.markFilterToggle(),$("#exportHeader").slideToggle(200),$("#importHeader").hide(),$("#filterHeader").hide(),$("#editHeader").hide()},importCollection:function(){this.markFilterToggle(),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#importCollection").toggleClass("activated"),$("#exportCollection").removeClass("activated"),$("#importHeader").slideToggle(200),$("#filterHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide()},changeEditMode:function(a){a===!1||this.editMode===!0?($("#docPureTable .pure-table-body .pure-table-row").css("cursor","default"),$(".deleteButton").fadeIn(),$(".addButton").fadeIn(),$(".selected-row").removeClass("selected-row"),this.editMode=!1,this.tableView.setRowClick(this.clicked.bind(this))):($("#docPureTable .pure-table-body .pure-table-row").css("cursor","copy"),$(".deleteButton").fadeOut(),$(".addButton").fadeOut(),$(".selectedCount").text(0),this.editMode=!0,this.tableView.setRowClick(this.editModeClick.bind(this)))},getFilterContent:function(){var a,b,c=[];for(a in this.filters)if(this.filters.hasOwnProperty(a)){b=$("#attribute_value"+a).val();try{b=JSON.parse(b)}catch(d){b=String(b)}""!==$("#attribute_name"+a).val()&&c.push({attribute:$("#attribute_name"+a).val(),operator:$("#operator"+a).val(),value:b})}return c},sendFilter:function(){this.restoredFilters=this.getFilterContent();var a=this;this.collection.resetFilter(),this.addDocumentSwitch=!1,_.each(this.restoredFilters,function(b){void 0!==b.operator&&a.collection.addFilter(b.attribute,b.operator,b.value)}),this.collection.setToFirst(),this.collection.getDocuments(this.getDocsCallback.bind(this)),this.markFilterToggle()},restoreFilter:function(){var a=this,b=0;this.filterId=0,$("#docsSort").val(this.collection.getSort()),_.each(this.restoredFilters,function(c){0!==b&&a.addFilterItem(),void 0!==c.operator&&($("#attribute_name"+b).val(c.attribute),$("#operator"+b).val(c.operator),$("#attribute_value"+b).val(c.value)),b++,a.collection.addFilter(c.attribute,c.operator,c.value)})},addFilterItem:function(){var a=++this.filterId;$("#filterHeader").append('
    '),this.filters[a]=!0},filterValueKeydown:function(a){13===a.keyCode&&this.sendFilter()},removeFilterItem:function(a){var b=a.currentTarget,c=b.id.replace(/^removeFilter/,"");delete this.filters[c],delete this.restoredFilters[c],$(b.parentElement).remove()},removeAllFilterItems:function(){var a,b=$("#filterHeader").children().length;for(a=1;b>=a;a++)$("#removeFilter"+a).parent().remove();this.filters={0:!0},this.filterId=0},addDocumentModal:function(){var a=window.location.hash.split("/")[1],b=[],c=[],d=function(a,d){a?arangoHelper.arangoError("Error","Could not fetch collection type"):"edge"===d?(c.push(window.modalView.createTextEntry("new-edge-from-attr","_from","","document _id: document handle of the linked vertex (incoming relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _from attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-to","_to","","document _id: document handle of the linked vertex (outgoing relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _to attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-key-attr","_key",void 0,"the edges unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addEdge.bind(this))),window.modalView.show("modalTable.ejs","Create edge",b,c)):(c.push(window.modalView.createTextEntry("new-document-key-attr","_key",void 0,"the documents unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addDocument.bind(this))),window.modalView.show("modalTable.ejs","Create document",b,c))}.bind(this);arangoHelper.collectionApiType(a,!0,d)},addEdge:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-edge-from-attr").last().val(),d=$(".modal-body #new-edge-to").last().val(),e=$(".modal-body #new-edge-key-attr").last().val(),f=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create edge");else{window.modalView.hide(),c=c._id.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}}.bind(this);""!==e||void 0!==e?this.documentStore.createTypeEdge(b,c,d,e,f):this.documentStore.createTypeEdge(b,c,d,null,f)},addDocument:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-document-key-attr").last().val(),d=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create document");else{window.modalView.hide(),c=c.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}}.bind(this);""!==c||void 0!==c?this.documentStore.createTypeDocument(b,c,d):this.documentStore.createTypeDocument(b,null,d)},moveSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createTextEntry("move-documents-to","Move to","",!1,"collection-name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}])),a.push(window.modalView.createSuccessButton("Move",this.confirmMoveSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Move documents",a,b))},confirmMoveSelectedDocs:function(){var a=this.getSelectedDocs(),b=this,c=$(".modal-body").last().find("#move-documents-to").val(),d=function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide()}.bind(this);_.each(a,function(a){b.collection.moveDocument(a,b.collection.collectionID,c,d)})},deleteSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createReadOnlyEntry(void 0,c.length+" documents selected","Do you want to delete all selected documents?",void 0,void 0,!1,void 0)),a.push(window.modalView.createDeleteButton("Delete",this.confirmDeleteSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Delete documents",a,b))},confirmDeleteSelectedDocs:function(){var a=this.getSelectedDocs(),b=[],c=this;_.each(a,function(a){if("document"===c.type){var d=function(a){a?(b.push(!1),arangoHelper.arangoError("Document error","Could not delete document.")):(b.push(!0),c.collection.setTotalMinusOne(),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteDocument(c.collection.collectionID,a,d)}else if("edge"===c.type){var e=function(a){a?(b.push(!1),arangoHelper.arangoError("Edge error","Could not delete edge")):(c.collection.setTotalMinusOne(),b.push(!0),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteEdge(c.collection.collectionID,a,e)}})},getSelectedDocs:function(){var a=[];return _.each($("#docPureTable .pure-table-body .pure-table-row"),function(b){$(b).hasClass("selected-row")&&a.push($($(b).children()[1]).find(".key").text())}),a},remove:function(a){this.docid=$(a.currentTarget).parent().parent().prev().find(".key").text(),$("#confirmDeleteBtn").attr("disabled",!1),$("#docDeleteModal").modal("show")},confirmDelete:function(){$("#confirmDeleteBtn").attr("disabled",!0);var a=window.location.hash.split("/"),b=a[3];"source"!==b&&this.reallyDelete()},reallyDelete:function(){if("document"===this.type){var a=function(a){a?arangoHelper.arangoError("Error","Could not delete document"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteDocument(this.collection.collectionID,this.docid,a)}else if("edge"===this.type){var b=function(a){a?arangoHelper.arangoError("Edge error","Could not delete edge"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteEdge(this.collection.collectionID,this.docid,b)}},editModeClick:function(a){var b=$(a.currentTarget);b.hasClass("selected-row")?b.removeClass("selected-row"):b.addClass("selected-row");var c=this.getSelectedDocs();$(".selectedCount").text(c.length),_.each(this.editButtons,function(a){c.length>0?($(a).prop("disabled",!1),$(a).removeClass("button-neutral"),$(a).removeClass("disabled"),"#moveSelected"===a?$(a).addClass("button-success"):$(a).addClass("button-danger")):($(a).prop("disabled",!0),$(a).addClass("disabled"),$(a).addClass("button-neutral"),"#moveSelected"===a?$(a).removeClass("button-success"):$(a).removeClass("button-danger"))})},clicked:function(a){var b,c=a.currentTarget,d=$(c).attr("id").substr(4);try{b="collection/"+this.collection.collectionID+"/"+d,decodeURI(d)}catch(e){b="collection/"+this.collection.collectionID+"/"+encodeURIComponent(d)}window.location.hash=b},drawTable:function(){this.tableView.setElement($("#docPureTable")).render(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),$(".prettify").snippet("javascript",{style:"nedit",menu:!1,startText:!1,transparent:!0,showNum:!1}),this.resize()},checkCollectionState:function(){this.lastCollectionName===this.collectionName?this.activeFilter&&(this.filterCollection(),this.restoreFilter()):void 0!==this.lastCollectionName&&(this.collection.resetFilter(),this.collection.setSort(""),this.restoredFilters=[],this.activeFilter=!1)},render:function(){return $(this.el).html(this.template.render({})),2===this.type?this.type="document":3===this.type&&(this.type="edge"),this.tableView.setElement($(this.table)).drawLoading(),this.collectionContext=this.collectionsStore.getPosition(this.collection.collectionID),this.collectionName=window.location.hash.split("/")[1],this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Content"),this.checkCollectionState(),this.lastCollectionName=this.collectionName,this.uploadSetup(),$("[data-toggle=tooltip]").tooltip(),$(".upload-info").tooltip(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),this.renderPaginationElements(),this.selectActivePagesize(),this.markFilterToggle(),this.resize(),this},rerender:function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),this.resize()},selectActivePagesize:function(){$("#documentSize").val(this.collection.getPageSize())},renderPaginationElements:function(){this.renderPagination();var a=$("#totalDocuments");0===a.length&&($("#documentsToolbarFL").append(''),a=$("#totalDocuments")),"document"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" doc(s)"),"edge"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" edge(s)")},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)}})}(),function(){"use strict";window.EditListEntryView=Backbone.View.extend({template:templateEngine.createTemplate("editListEntryView.ejs"),initialize:function(a){this.key=a.key,this.value=a.value,this.render()},events:{"click .deleteAttribute":"removeRow"},render:function(){$(this.el).html(this.template.render({key:this.key,value:JSON.stringify(this.value),isReadOnly:this.isReadOnly()}))},isReadOnly:function(){return 0===this.key.indexOf("_")},getKey:function(){return $(".key").val()},getValue:function(){var val=$(".val").val();try{val=JSON.parse(val)}catch(e){try{return eval("val = "+val),val}catch(e2){return $(".val").val()}}return val},removeRow:function(){this.remove()}})}(),function(){"use strict";window.FooterView=Backbone.View.extend({el:"#footerBar",system:{},isOffline:!0,isOfflineCounter:0,firstLogin:!0,timer:15e3,lap:0,timerFunction:null,events:{"click .footer-center p":"showShortcutModal"},initialize:function(){var a=this;window.setInterval(function(){a.getVersion()},a.timer),a.getVersion(),window.VISIBLE=!0,document.addEventListener("visibilitychange",function(){window.VISIBLE=!window.VISIBLE}),$("#offlinePlaceholder button").on("click",function(){a.getVersion()}),window.setTimeout(function(){window.frontendConfig.isCluster===!0&&($(".health-state").css("cursor","pointer"),$(".health-state").on("click",function(){window.App.navigate("#nodes",{trigger:!0})}))},1e3)},template:templateEngine.createTemplate("footerView.ejs"),showServerStatus:function(a){window.App.isCluster?this.renderClusterState(a):a===!0?($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"),$(".health-state").html("GOOD"),$(".health-icon").html(''),$("#offlinePlaceholder").hide()):($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html("UNKNOWN"),$(".health-icon").html(''),$("#offlinePlaceholder").show(),this.reconnectAnimation(0))},reconnectAnimation:function(a){var b=this;0===a&&(b.lap=a,$("#offlineSeconds").text(b.timer/1e3),clearTimeout(b.timerFunction)),b.lap0?($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),1===c?$(".health-state").html(c+" NODE ERROR"):$(".health-state").html(c+" NODES ERROR"),$(".health-icon").html('')):($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"), -$(".health-state").html("NODES OK"),$(".health-icon").html(''))}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){b(a)}})}else $("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html(window.location.host+" OFFLINE"),$(".health-icon").html(''),$("#offlinePlaceholder").show(),this.reconnectAnimation(0)},showShortcutModal:function(){window.arangoHelper.hotkeysFunctions.showHotkeysModal()},getVersion:function(){var a=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){a.showServerStatus(!0),a.isOffline===!0&&(a.isOffline=!1,a.isOfflineCounter=0,a.firstLogin?a.firstLogin=!1:window.setTimeout(function(){a.showServerStatus(!0)},1e3),a.system.name=b.server,a.system.version=b.version,a.render())},error:function(){a.isOffline=!0,a.isOfflineCounter++,a.isOfflineCounter>=1&&a.showServerStatus(!1)}}),a.system.hasOwnProperty("database")||$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/database/current"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=b.result.name;a.system.database=c;var d=window.setInterval(function(){var b=$("#databaseNavi");b&&(window.clearTimeout(d),d=null,a.render())},50)}})},renderVersion:function(){this.system.hasOwnProperty("database")&&this.system.hasOwnProperty("name")&&$(this.el).html(this.template.render({name:this.system.name,version:this.system.version,database:this.system.database}))},render:function(){return this.system.version||this.getVersion(),$(this.el).html(this.template.render({name:this.system.name,version:this.system.version})),this}})}(),function(){"use strict";window.FoxxActiveView=Backbone.View.extend({tagName:"div",className:"tile pure-u-1-1 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 pure-u-xl-1-6",template:templateEngine.createTemplate("foxxActiveView.ejs"),_show:!0,events:{click:"openAppDetailView"},openAppDetailView:function(){window.App.navigate("service/"+encodeURIComponent(this.model.get("mount")),{trigger:!0})},toggle:function(a,b){switch(a){case"devel":this.model.isDevelopment()&&(this._show=b);break;case"production":this.model.isDevelopment()||this.model.isSystem()||(this._show=b);break;case"system":this.model.isSystem()&&(this._show=b)}this._show?$(this.el).show():$(this.el).hide()},render:function(){return this.model.fetchThumbnail(function(){$(this.el).html(this.template.render({model:this.model}));var a=function(){this.model.needsConfiguration()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this),b=function(){this.model.hasUnconfiguredDependencies()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this);this.model.getConfiguration(a),this.model.getDependencies(b)}.bind(this)),$(this.el)}})}(),function(){"use strict";var a={ERROR_APPLICATION_DOWNLOAD_FAILED:{code:1752,message:"application download failed"}},b=templateEngine.createTemplate("applicationListView.ejs"),c=function(a){this.collection=a.collection},d=function(b){var c=this;if(b.error===!1)this.collection.fetch({success:function(){window.modalView.hide(),c.reload()}});else{var d=b;switch(b.hasOwnProperty("responseJSON")&&(d=b.responseJSON),d.errorNum){case a.ERROR_APPLICATION_DOWNLOAD_FAILED.code:arangoHelper.arangoError("Services","Unable to download application from the given repository.");break;default:arangoHelper.arangoError("Services",d.errorNum+". "+d.errorMessage)}}},e=function(){window.modalView.modalBindValidation({id:"new-app-mount",validateInput:function(){return[{rule:Joi.string().regex(/^(\/(APP[^\/]+|(?!APP)[a-zA-Z0-9_\-%]+))+$/i),msg:"May not contain /APP"},{rule:Joi.string().regex(/^(\/[a-zA-Z0-9_\-%]+)+$/),msg:"Can only contain [a-zA-Z0-9_-%]"},{rule:Joi.string().regex(/^\/([^_]|_open\/)/),msg:"Mountpoints with _ are reserved for internal use"},{rule:Joi.string().regex(/[^\/]$/),msg:"May not end with /"},{rule:Joi.string().regex(/^\//),msg:"Has to start with /"},{rule:Joi.string().required().min(2),msg:"Has to be non-empty"}]}})},f=function(){window.modalView.modalBindValidation({id:"repository",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/),msg:"No valid Github account and repository."}]}})},g=function(){window.modalView.modalBindValidation({id:"new-app-author",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-name",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z\-_][a-zA-Z0-9\-_]*$/),msg:"Can only contain a to z, A to Z, 0-9, '-' and '_'."}]}}),window.modalView.modalBindValidation({id:"new-app-description",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-license",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9 \.,;\-]+$/),msg:"Has to be non empty."}]}}),window.modalView.modalTestAll()},h=function(a){window.modalView.clearValidators();var b=$("#modalButton1");switch(this._upgrade||e(),a){case"newApp":b.html("Generate"),b.prop("disabled",!1),g();break;case"appstore":b.html("Install"),b.prop("disabled",!0);break;case"github":f(),b.html("Install"),b.prop("disabled",!1);break;case"zip":b.html("Install"),b.prop("disabled",!1)}b.prop("disabled")||window.modalView.modalTestAll()||b.prop("disabled",!0)},i=function(a){var b=$(a.currentTarget).attr("href").substr(1);h.call(this,b)},j=function(a){if(h.call(this,"appstore"),window.modalView.modalTestAll()){var b,c;this._upgrade?(b=this.mount,c=$("#new-app-teardown").prop("checked")):b=window.arangoHelper.escapeHtml($("#new-app-mount").val());var e=$(a.currentTarget).attr("appId"),f=$(a.currentTarget).attr("appVersion");void 0!==c?this.collection.installFromStore({name:e,version:f},b,d.bind(this),c):this.collection.installFromStore({name:e,version:f},b,d.bind(this))}},k=function(a,b){if(void 0===b?b=this._uploadData:this._uploadData=b,b&&window.modalView.modalTestAll()){var c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),void 0!==e?this.collection.installFromZip(b.filename,c,d.bind(this),e):this.collection.installFromZip(b.filename,c,d.bind(this))}},l=function(){if(window.modalView.modalTestAll()){var a,b,c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),a=window.arangoHelper.escapeHtml($("#repository").val()),b=window.arangoHelper.escapeHtml($("#tag").val()),""===b&&(b="master");var f={url:window.arangoHelper.escapeHtml($("#repository").val()),version:window.arangoHelper.escapeHtml($("#tag").val())};try{Joi.assert(a,Joi.string().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/))}catch(g){return}void 0!==e?this.collection.installFromGithub(f,c,d.bind(this),e):this.collection.installFromGithub(f,c,d.bind(this))}},m=function(){if(window.modalView.modalTestAll()){var a,b;this._upgrade?(a=this.mount,b=$("#new-app-teardown").prop("checked")):a=window.arangoHelper.escapeHtml($("#new-app-mount").val());var c={name:window.arangoHelper.escapeHtml($("#new-app-name").val()),documentCollections:_.map($("#new-app-document-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),edgeCollections:_.map($("#new-app-edge-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),author:window.arangoHelper.escapeHtml($("#new-app-author").val()),license:window.arangoHelper.escapeHtml($("#new-app-license").val()),description:window.arangoHelper.escapeHtml($("#new-app-description").val())};void 0!==b?this.collection.generate(c,a,d.bind(this),b):this.collection.generate(c,a,d.bind(this))}},n=function(){var a=$(".modal-body .tab-pane.active").attr("id");switch(a){case"newApp":m.apply(this);break;case"github":l.apply(this);break;case"zip":k.apply(this)}},o=function(a,c){var d=[],e={"click #infoTab a":i.bind(a),"click .install-app":j.bind(a)};d.push(window.modalView.createSuccessButton("Generate",n.bind(a))),window.modalView.show("modalApplicationMount.ejs","Install Service",d,c,void 0,void 0,e),$("#new-app-document-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"}),$("#new-app-edge-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"});var f=function(){var a=$("#modalButton1");a.prop("disabled")||window.modalView.modalTestAll()?a.prop("disabled",!1):a.prop("disabled",!0)};$(".select2-search-field input").focusout(function(){f(),window.setTimeout(function(){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||($("#s2id_new-app-document-collections").select2("close"),$("#s2id_new-app-edge-collections").select2("close"),f()))},80)}),$(".select2-search-field input").focusin(function(){if($(".select2-drop").is(":visible")){var a=$("#modalButton1");a.prop("disabled",!0)}}),$("#upload-foxx-zip").uploadFile({url:arangoHelper.databaseUrl("/_api/upload?multipart=true"),allowedTypes:"zip",multiple:!1,onSuccess:k.bind(a)}),$.get("foxxes/fishbowl",function(a){var c=$("#appstore-content");c.html(""),_.each(_.sortBy(a,"name"),function(a){c.append(b.render(a))})}).fail(function(){var a=$("#appstore-content");a.append("Store is not available. ArangoDB is not able to connect to github.com")})};c.prototype.install=function(a){this.reload=a,this._upgrade=!1,this._uploadData=void 0,delete this.mount,o(this,!1),window.modalView.clearValidators(),e(),g()},c.prototype.upgrade=function(a,b){this.reload=b,this._upgrade=!0,this._uploadData=void 0,this.mount=a,o(this,!0),window.modalView.clearValidators(),g()},window.FoxxInstallView=c}(),function(){"use strict";window.GraphManagementView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("graphManagementView.ejs"),edgeDefintionTemplate:templateEngine.createTemplate("edgeDefinitionTable.ejs"),eCollList:[],removedECollList:[],dropdownVisible:!1,initialize:function(a){this.options=a},events:{"click #deleteGraph":"deleteGraph","click .icon_arangodb_settings2.editGraph":"editGraph","click #createGraph":"addNewGraph","keyup #graphManagementSearchInput":"search","click #graphManagementSearchSubmit":"search","click .tile-graph":"redirectToGraphViewer","click #graphManagementToggle":"toggleGraphDropdown","click .css-label":"checkBoxes","change #graphSortDesc":"sorting"},toggleTab:function(a){var b=a.currentTarget.id;b=b.replace("tab-",""),$("#tab-content-create-graph .tab-pane").removeClass("active"),$("#tab-content-create-graph #"+b).addClass("active"),"exampleGraphs"===b?$("#modal-dialog .modal-footer .button-success").css("display","none"):$("#modal-dialog .modal-footer .button-success").css("display","initial")},redirectToGraphViewer:function(a){var b=$(a.currentTarget).attr("id");b=b.substr(0,b.length-5),window.location=window.location+"/"+encodeURIComponent(b)},loadGraphViewer:function(a,b){var c=function(b){if(b)arangoHelper.arangoError("","");else{var c=this.collection.get(a).get("edgeDefinitions");if(!c||0===c.length)return;var d={type:"gharial",graphName:a,baseUrl:arangoHelper.databaseUrl("/")},e=$("#content").width()-75;$("#content").html("");var f=arangoHelper.calculateCenterDivHeight();this.ui=new GraphViewerUI($("#content")[0],d,e,$(".centralRow").height()-135,{nodeShaper:{label:"_key",color:{type:"attribute",key:"_key"}}},!0),$(".contentDiv").height(f)}}.bind(this);b?this.collection.fetch({success:function(){c()}}):c()},handleResize:function(a){this.width&&this.width===a||(this.width=a,this.ui&&this.ui.changeWidth(a))},addNewGraph:function(a){a.preventDefault(),this.createEditGraphModal()},deleteGraph:function(){var a=this,b=$("#editGraphName")[0].value;if($("#dropGraphCollections").is(":checked")){var c=function(c){c?(a.collection.remove(a.collection.get(b)),a.updateGraphManagementView(),window.modalView.hide()):(window.modalView.hide(),arangoHelper.arangoError("Graph","Could not delete Graph."))}.bind(this);this.collection.dropAndDeleteGraph(b,c)}else this.collection.get(b).destroy({success:function(){a.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;arangoHelper.arangoError(d),window.modalView.hide()}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},toggleGraphDropdown:function(){$("#graphSortDesc").attr("checked",this.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown2").slideToggle(200)},sorting:function(){$("#graphSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#graphManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},createExampleGraphs:function(a){var b=$(a.currentTarget).attr("graph-id"),c=this;$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_admin/aardvark/graph-examples/create/"+encodeURIComponent(b)),success:function(){window.modalView.hide(),c.updateGraphManagementView(),arangoHelper.arangoNotification("Example Graphs","Graph: "+b+" created.")},error:function(a){if(window.modalView.hide(),a.responseText)try{var c=JSON.parse(a.responseText);arangoHelper.arangoError("Example Graphs",c.errorMessage)}catch(d){arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}else arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}})},render:function(a,b){var c=this;return this.collection.fetch({success:function(){c.collection.sort(),$(c.el).html(c.template.render({graphs:c.collection,searchString:""})),c.dropdownVisible===!0&&($("#graphManagementDropdown2").show(),$("#graphSortDesc").attr("checked",c.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown").show()),c.events["click .tableRow"]=c.showHideDefinition.bind(c),c.events['change tr[id*="newEdgeDefinitions"]']=c.setFromAndTo.bind(c),c.events["click .graphViewer-icon-button"]=c.addRemoveDefinition.bind(c),c.events["click #graphTab a"]=c.toggleTab.bind(c),c.events["click .createExampleGraphs"]=c.createExampleGraphs.bind(c),c.events["focusout .select2-search-field input"]=function(a){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||window.setTimeout(function(){$(a.currentTarget).parent().parent().parent().select2("close")},80))}.bind(c),arangoHelper.setCheckboxStatus("#graphManagementDropdown")}}),a&&this.loadGraphViewer(a,b),this},setFromAndTo:function(a){a.stopPropagation();var b,c=this.calculateEdgeDefinitionMap();if(a.added){if(-1===this.eCollList.indexOf(a.added.id)&&-1!==this.removedECollList.indexOf(a.added.id))return b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$('input[id*="newEdgeDefinitions'+b+'"]').select2("val",null),void $('input[id*="newEdgeDefinitions'+b+'"]').attr("placeholder","The collection "+a.added.id+" is already used.");this.removedECollList.push(a.added.id),this.eCollList.splice(this.eCollList.indexOf(a.added.id),1)}else this.eCollList.push(a.removed.id),this.removedECollList.splice(this.removedECollList.indexOf(a.removed.id),1);c[a.val]?(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",c[a.val].from),$("#fromCollections"+b).attr("disabled",!0),$("#s2id_toCollections"+b).select2("val",c[a.val].to),$("#toCollections"+b).attr("disabled",!0)):(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",null),$("#fromCollections"+b).attr("disabled",!1),$("#s2id_toCollections"+b).select2("val",null),$("#toCollections"+b).attr("disabled",!1))},editGraph:function(a){a.stopPropagation(),this.collection.fetch(),this.graphToEdit=this.evaluateGraphName($(a.currentTarget).attr("id"),"_settings");var b=this.collection.findWhere({_key:this.graphToEdit});this.createEditGraphModal(b)},saveEditedGraph:function(){var a,b,c,d,e,f=$("#editGraphName")[0].value,g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i={};if(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){if(d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),0!==b.length&&0!==c.length)){var f={collection:a,from:b,to:c};h.push(f),i[a]=f}}),0===h.length)return $("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red");var j=this.collection.findWhere({_key:f}),k=j.get("edgeDefinitions"),l=j.get("orphanCollections"),m=[];l.forEach(function(a){-1===g.indexOf(a)&&j.deleteVertexCollection(a)}),g.forEach(function(a){-1===l.indexOf(a)&&j.addVertexCollection(a)});var n=[],o=[],p=[];k.forEach(function(a){var b=a.collection;m.push(b);var c=i[b];void 0===c?p.push(b):JSON.stringify(c)!==JSON.stringify(a)&&o.push(b)}),h.forEach(function(a){var b=a.collection;-1===m.indexOf(b)&&n.push(b)}),n.forEach(function(a){j.addEdgeDefinition(i[a])}),o.forEach(function(a){j.modifyEdgeDefinition(i[a])}),p.forEach(function(a){j.deleteEdgeDefinition(a)}),this.updateGraphManagementView(),window.modalView.hide()},evaluateGraphName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},search:function(){var a,b,c,d;a=$("#graphManagementSearchInput"),b=$("#graphManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("_key").indexOf(b)}),$(this.el).html(this.template.render({graphs:d,searchString:b})),a=$("#graphManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},updateGraphManagementView:function(){var a=this;this.collection.fetch({success:function(){a.render()}})},createNewGraph:function(){var a,b,c,d,e,f=$("#createNewGraphName").val(),g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i=this;return f?this.collection.findWhere({_key:f})?(arangoHelper.arangoError("The graph '"+f+"' already exists."),0):(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),1!==b&&1!==c&&h.push({collection:a,from:b,to:c}))}),0===h.length?($("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red")):void this.collection.create({name:f,edgeDefinitions:h,orphanCollections:g},{success:function(){i.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;d=d.replace("<",""),d=d.replace(">",""),arangoHelper.arangoError(d)}})):(arangoHelper.arangoError("A name for the graph has to be provided."),0)},createEditGraphModal:function(a){var b,c=[],d=[],e=[],f=this.options.collectionCollection.models,g=this,h="",i=[{collection:"",from:"",to:""}],j="",k=function(a,b){return a=a.toLowerCase(),b=b.toLowerCase(),b>a?-1:a>b?1:0};if(this.eCollList=[],this.removedECollList=[],f.forEach(function(a){a.get("isSystem")||("edge"===a.get("type")?g.eCollList.push(a.id):d.push(a.id))}),window.modalView.enableHotKeys=!1,this.counter=0,a?(b="Edit Graph",h=a.get("_key"),i=a.get("edgeDefinitions"),i&&0!==i.length||(i=[{collection:"",from:"",to:""}]),j=a.get("orphanCollections"),e.push(window.modalView.createReadOnlyEntry("editGraphName","Name",h,"The name to identify the graph. Has to be unique")),c.push(window.modalView.createDeleteButton("Delete",this.deleteGraph.bind(this))),c.push(window.modalView.createSuccessButton("Save",this.saveEditedGraph.bind(this)))):(b="Create Graph",e.push(window.modalView.createTextEntry("createNewGraphName","Name","","The name to identify the graph. Has to be unique.","graphName",!0)),c.push(window.modalView.createSuccessButton("Create",this.createNewGraph.bind(this)))),i.forEach(function(a){0===g.counter?(a.collection&&(g.removedECollList.push(a.collection),g.eCollList.splice(g.eCollList.indexOf(a.collection),1)),e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!0,!1,!0,1,g.eCollList.sort(k)))):e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!1,!0,!1,1,g.eCollList.sort(k))),e.push(window.modalView.createSelect2Entry("fromCollections"+g.counter,"fromCollections",a.from,"The collections that contain the start vertices of the relation.","fromCollections",!0,!1,!1,10,d.sort(k))),e.push(window.modalView.createSelect2Entry("toCollections"+g.counter,"toCollections",a.to,"The collections that contain the end vertices of the relation.","toCollections",!0,!1,!1,10,d.sort(k))),g.counter++}),e.push(window.modalView.createSelect2Entry("newVertexCollections","Vertex collections",j,"Collections that are part of a graph but not used in an edge definition","Vertex Collections",!1,!1,!1,10,d.sort(k))),window.modalView.show("modalGraphTable.ejs",b,c,e,void 0,void 0,this.events),a){$(".modal-body table").css("border-collapse","separate");var l;for($(".modal-body .spacer").remove(),l=0;l<=this.counter;l++)$("#row_fromCollections"+l).show(),$("#row_toCollections"+l).show(),$("#row_newEdgeDefinitions"+l).addClass("first"),$("#row_fromCollections"+l).addClass("middle"),$("#row_toCollections"+l).addClass("last"),$("#row_toCollections"+l).after('');$("#graphTab").hide(),$("#modal-dialog .modal-delete-confirmation").append('
    ')}},showHideDefinition:function(a){},addRemoveDefinition:function(a){var b=[],c=this.options.collectionCollection.models;c.forEach(function(a){a.get("isSystem")||b.push(a.id)}),a.stopPropagation();var d,e=$(a.currentTarget).attr("id");if(-1===e.indexOf("addAfter_newEdgeDefinitions"))-1!==e.indexOf("remove_newEdgeDefinitions")&&(d=e.split("remove_newEdgeDefinitions")[1],$("#row_newEdgeDefinitions"+d).remove(),$("#row_fromCollections"+d).remove(),$("#row_toCollections"+d).remove(),$("#spacer"+d).remove());else{this.counter++,$("#row_newVertexCollections").before(this.edgeDefintionTemplate.render({number:this.counter})),$("#newEdgeDefinitions"+this.counter).select2({tags:this.eCollList,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:1}),$("#fromCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),$("#toCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),window.modalView.undelegateEvents(),window.modalView.delegateEvents(this.events);var f;for($(".modal-body .spacer").remove(),f=0;f<=this.counter;f++)$("#row_fromCollections"+f).show(),$("#row_toCollections"+f).show(),$("#row_newEdgeDefinitions"+f).addClass("first"),$("#row_fromCollections"+f).addClass("middle"),$("#row_toCollections"+f).addClass("last"),$("#row_toCollections"+f).after('')}},calculateEdgeDefinitionMap:function(){var a={};return this.collection.models.forEach(function(b){b.get("edgeDefinitions").forEach(function(b){a[b.collection]={from:b.from,to:b.to}})}),a}})}(),function(){"use strict";window.HelpUsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("helpUsView.ejs"),render:function(){this.$el.html(this.template.render({}))}})}(),function(){"use strict";window.IndicesView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},template:templateEngine.createTemplate("indicesView.ejs"),events:{},render:function(){$(this.el).html(this.template.render({model:this.model})),this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Indices"),this.getIndex()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},getIndex:function(){var a=function(a,b){a?window.arangoHelper.arangoError("Index",b.errorMessage):this.renderIndex(b)}.bind(this);this.model.getIndex(a)},createIndex:function(){var a,b,c,d=this,e=$("#newIndexType").val(),f={};switch(e){case"Geo":a=$("#newGeoFields").val();var g=d.checkboxToValue("#newGeoJson");f={type:"geo",fields:d.stringToArray(a),geoJson:g};break;case"Persistent":a=$("#newPersistentFields").val(),b=d.checkboxToValue("#newPersistentUnique"),c=d.checkboxToValue("#newPersistentSparse"),f={type:"persistent",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Hash":a=$("#newHashFields").val(),b=d.checkboxToValue("#newHashUnique"),c=d.checkboxToValue("#newHashSparse"),f={type:"hash",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Fulltext":a=$("#newFulltextFields").val();var h=parseInt($("#newFulltextMinLength").val(),10)||0;f={type:"fulltext",fields:d.stringToArray(a),minLength:h};break;case"Skiplist":a=$("#newSkiplistFields").val(),b=d.checkboxToValue("#newSkiplistUnique"),c=d.checkboxToValue("#newSkiplistSparse"),f={type:"skiplist",fields:d.stringToArray(a),unique:b,sparse:c}}var i=function(a,b){if(a)if(b){var c=JSON.parse(b.responseText);arangoHelper.arangoError("Document error",c.errorMessage)}else arangoHelper.arangoError("Document error","Could not create index.");d.toggleNewIndexView(),d.render()};this.model.createIndex(f,i)},bindIndexEvents:function(){this.unbindIndexEvents();var a=this;$("#indexEditView #addIndex").bind("click",function(){a.toggleNewIndexView(),$("#cancelIndex").unbind("click"),$("#cancelIndex").bind("click",function(){a.toggleNewIndexView(),a.render()}),$("#createIndex").unbind("click"),$("#createIndex").bind("click",function(){a.createIndex()})}),$("#newIndexType").bind("change",function(){a.selectIndexType()}),$(".deleteIndex").bind("click",function(b){a.prepDeleteIndex(b)}),$("#infoTab a").bind("click",function(a){if($("#indexDeleteModal").remove(),"Indices"!==$(a.currentTarget).html()||$(a.currentTarget).parent().hasClass("active")||($("#newIndexView").hide(),$("#indexEditView").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").hide()),"General"===$(a.currentTarget).html()&&!$(a.currentTarget).parent().hasClass("active")){$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").show();var b=$(".index-button-bar2")[0];$("#cancelIndex").is(":visible")&&($("#cancelIndex").detach().appendTo(b),$("#createIndex").detach().appendTo(b))}})},prepDeleteIndex:function(a){var b=this;this.lastTarget=a,this.lastId=$(this.lastTarget.currentTarget).parent().parent().first().children().first().text(),$("#modal-dialog .modal-footer").after(''),$("#indexConfirmDelete").unbind("click"),$("#indexConfirmDelete").bind("click",function(){$("#indexDeleteModal").remove(),b.deleteIndex()}),$("#indexAbortDelete").unbind("click"),$("#indexAbortDelete").bind("click",function(){$("#indexDeleteModal").remove()})},unbindIndexEvents:function(){$("#indexEditView #addIndex").unbind("click"),$("#newIndexType").unbind("change"),$("#infoTab a").unbind("click"),$(".deleteIndex").unbind("click")},deleteIndex:function(){var a=function(a){a?(arangoHelper.arangoError("Could not delete index"),$("tr th:contains('"+this.lastId+"')").parent().children().last().html(''),this.model.set("locked",!1)):a||void 0===a||($("tr th:contains('"+this.lastId+"')").parent().remove(),this.model.set("locked",!1))}.bind(this);this.model.set("locked",!0),this.model.deleteIndex(this.lastId,a),$("tr th:contains('"+this.lastId+"')").parent().children().last().html('')},renderIndex:function(a){this.index=a;var b="collectionInfoTh modal-text";if(this.index){var c="",d="";_.each(this.index.indexes,function(a){d="primary"===a.type||"edge"===a.type?'':'',void 0!==a.fields&&(c=a.fields.join(", "));var e=a.id.indexOf("/"),f=a.id.substr(e+1,a.id.length),g=a.hasOwnProperty("selectivityEstimate")?(100*a.selectivityEstimate).toFixed(2)+"%":"n/a",h=a.hasOwnProperty("sparse")?a.sparse:"n/a";$("#collectionEditIndexTable").append(""+f+""+a.type+""+a.unique+""+h+""+g+""+c+""+d+"")})}this.bindIndexEvents()},selectIndexType:function(){$(".newIndexClass").hide();var a=$("#newIndexType").val();$("#newIndexType"+a).show()},resetIndexForms:function(){$("#indexHeader input").val("").prop("checked",!1),$("#newIndexType").val("Geo").prop("selected",!0),this.selectIndexType()},toggleNewIndexView:function(){var a=$(".index-button-bar2")[0];$("#indexEditView").is(":visible")?($("#indexEditView").hide(),$("#newIndexView").show(),$("#cancelIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer"),$("#createIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer")):($("#indexEditView").show(),$("#newIndexView").hide(),$("#cancelIndex").detach().appendTo(a),$("#createIndex").detach().appendTo(a)),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","right"),this.resetIndexForms()},stringToArray:function(a){var b=[];return a.split(",").forEach(function(a){a=a.replace(/(^\s+|\s+$)/g,""),""!==a&&b.push(a)}),b},checkboxToValue:function(a){return $(a).prop("checked")}})}(),function(){"use strict";window.InfoView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(), -window.arangoHelper.buildCollectionSubNav(this.collectionName,"Info"),this.renderInfoView()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},renderInfoView:function(){if(this.model.get("locked"))return 0;var a=function(a,b,c){if(a)arangoHelper.arangoError("Figures","Could not get revision.");else{var d=[],e={figures:c,revision:b,model:this.model};window.modalView.show("modalCollectionInfo.ejs","Collection: "+this.model.get("name"),d,e,null,null,null,null,null,"content")}}.bind(this),b=function(b,c){if(b)arangoHelper.arangoError("Figures","Could not get figures.");else{var d=c;this.model.getRevision(a,d)}}.bind(this);this.model.getFigures(b)}})}(),function(){"use strict";window.loginView=Backbone.View.extend({el:"#content",el2:".header",el3:".footer",loggedIn:!1,events:{"keyPress #loginForm input":"keyPress","click #submitLogin":"validate","submit #dbForm":"goTo","click #logout":"logout","change #loginDatabase":"renderDBS"},template:templateEngine.createTemplate("loginView.ejs"),render:function(a){var b=this;if($(this.el).html(this.template.render({})),$(this.el2).hide(),$(this.el3).hide(),frontendConfig.authenticationEnabled&&a!==!0)window.setTimeout(function(){$("#loginUsername").focus()},300);else{var c=arangoHelper.databaseUrl("/_api/database/user");frontendConfig.authenticationEnabled===!1&&($("#logout").hide(),$(".login-window #databases").css("height","90px")),$("#loginForm").hide(),$(".login-window #databases").show(),$.ajax(c).success(function(a){$("#loginDatabase").html(""),_.each(a.result,function(a){$("#loginDatabase").append("")}),b.renderDBS()}).error(function(a){console.log("could not fetch user db data")})}return $(".bodyWrapper").show(),this},clear:function(){$("#loginForm input").removeClass("form-error"),$(".wrong-credentials").hide()},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.validate()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.validate())},validate:function(a){a.preventDefault(),this.clear();var b=$("#loginUsername").val(),c=$("#loginPassword").val();if(b){var d=function(a){var c=this;if(a)$(".wrong-credentials").show(),$("#loginDatabase").html(""),$("#loginDatabase").append("");else{var d=arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(b)+"/database","_system");frontendConfig.authenticationEnabled===!1&&(d=arangoHelper.databaseUrl("/_api/database/user")),$(".wrong-credentials").hide(),c.loggedIn=!0,$.ajax(d).success(function(a){$("#loginForm").hide(),$("#databases").show(),$("#loginDatabase").html(""),_.each(a.result,function(a,b){$("#loginDatabase").append("")}),c.renderDBS()}).error(function(a){$(".wrong-credentials").show()})}}.bind(this);this.collection.login(b,c,d)}},renderDBS:function(){var a=$("#loginDatabase").val();$("#goToDatabase").html("Select: "+a),window.setTimeout(function(){$("#goToDatabase").focus()},300)},logout:function(){this.collection.logout()},goTo:function(a){a.preventDefault();var b=$("#loginUsername").val(),c=$("#loginDatabase").val();window.App.dbSet=c;var d=function(a){a&&arangoHelper.arangoError("User","Could not fetch user settings")},e=window.location.protocol+"//"+window.location.host+frontendConfig.basePath+"/_db/"+c+"/_admin/aardvark/index.html";window.location.href=e,$(this.el2).show(),$(this.el3).show(),$(".bodyWrapper").show(),$(".navbar").show(),$("#currentUser").text(b),this.collection.loadUserSettings(d)}})}(),function(){"use strict";window.LogsView=window.PaginationView.extend({el:"#content",id:"#logContent",paginationDiv:"#logPaginationDiv",idPrefix:"logTable",fetchedAmount:!1,initialize:function(a){this.options=a,this.convertModelToJSON()},currentLoglevel:"logall",events:{"click #arangoLogTabbar button":"setActiveLoglevel","click #logTable_first":"firstPage","click #logTable_last":"lastPage"},template:templateEngine.createTemplate("logsView.ejs"),tabbar:templateEngine.createTemplate("arangoTabbar.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),tabbarElements:{id:"arangoLogTabbar",titles:[["All","logall"],["Info","loginfo"],["Error","logerror"],["Warning","logwarning"],["Debug","logdebug"]]},tableDescription:{id:"arangoLogTable",titles:["Loglevel","Date","Message"],rows:[]},convertedRows:null,setActiveLoglevel:function(a){$(".arangodb-tabbar").removeClass("arango-active-tab"),this.currentLoglevel!==a.currentTarget.id&&(this.currentLoglevel=a.currentTarget.id,this.convertModelToJSON())},initTotalAmount:function(){var a=this;this.collection=this.options[this.currentLoglevel],this.collection.fetch({data:$.param({test:!0}),success:function(){a.convertModelToJSON()}}),this.fetchedAmount=!0},invertArray:function(a){var b,c=[],d=0;for(b=a.length-1;b>=0;b--)c[d]=a[b],d++;return c},convertModelToJSON:function(){if(!this.fetchedAmount)return void this.initTotalAmount();var a,b=this,c=[];this.collection=this.options[this.currentLoglevel],this.collection.fetch({success:function(){b.collection.each(function(b){a=new Date(1e3*b.get("timestamp")),c.push([b.getLogStatus(),arangoHelper.formatDT(a),b.get("text")])}),b.tableDescription.rows=b.invertArray(c),b.render()}})},render:function(){return $(this.el).html(this.template.render({})),$(this.id).html(this.tabbar.render({content:this.tabbarElements})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#"+this.currentLoglevel).addClass("arango-active-tab"),$("#logContent").append('
    '),this.renderPagination(),this},rerender:function(){this.convertModelToJSON()}})}(),function(){"use strict";var a=function(a,b,c,d){return{type:a,title:b,callback:c,confirm:d}},b=function(a,b,c,d,e,f,g,h,i,j,k){var l={type:a,label:b};return void 0!==c&&(l.value=c),void 0!==d&&(l.info=d),void 0!==e&&(l.placeholder=e),void 0!==f&&(l.mandatory=f),void 0!==h&&(l.addDelete=h),void 0!==i&&(l.addAdd=i),void 0!==j&&(l.maxEntrySize=j),void 0!==k&&(l.tags=k),g&&(l.validateInput=function(){return g}),l};window.ModalView=Backbone.View.extend({_validators:[],_validateWatchers:[],baseTemplate:templateEngine.createTemplate("modalBase.ejs"),tableTemplate:templateEngine.createTemplate("modalTable.ejs"),el:"#modalPlaceholder",contentEl:"#modalContent",hideFooter:!1,confirm:{list:"#modal-delete-confirmation",yes:"#modal-confirm-delete",no:"#modal-abort-delete"},enabledHotkey:!1,enableHotKeys:!0,buttons:{SUCCESS:"success",NOTIFICATION:"notification",DELETE:"danger",NEUTRAL:"neutral",CLOSE:"close"},tables:{READONLY:"readonly",TEXT:"text",BLOB:"blob",PASSWORD:"password",SELECT:"select",SELECT2:"select2",CHECKBOX:"checkbox"},initialize:function(){Object.freeze(this.buttons),Object.freeze(this.tables)},createModalHotkeys:function(){$(this.el).unbind("keydown"),$(this.el).unbind("return"),$(this.el).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body input").unbind("keydown"),$(".modal-body input").unbind("return"),$(".modal-body input",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body select").unbind("keydown"),$(".modal-body select").unbind("return"),$(".modal-body select",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()})},createInitModalHotkeys:function(){var a=this;$(this.el).bind("keydown","left",function(){a.navigateThroughButtons("left")}),$(this.el).bind("keydown","right",function(){a.navigateThroughButtons("right")})},navigateThroughButtons:function(a){var b=$(".createModalDialog .modal-footer button").is(":focus");b===!1?"left"===a?$(".createModalDialog .modal-footer button").first().focus():"right"===a&&$(".createModalDialog .modal-footer button").last().focus():b===!0&&("left"===a?$(":focus").prev().focus():"right"===a&&$(":focus").next().focus())},createCloseButton:function(b,c){var d=this;return a(this.buttons.CLOSE,b,function(){d.hide(),c&&c()})},createSuccessButton:function(b,c){return a(this.buttons.SUCCESS,b,c)},createNotificationButton:function(b,c){return a(this.buttons.NOTIFICATION,b,c)},createDeleteButton:function(b,c,d){return a(this.buttons.DELETE,b,c,d)},createNeutralButton:function(b,c){return a(this.buttons.NEUTRAL,b,c)},createDisabledButton:function(b){var c=a(this.buttons.NEUTRAL,b);return c.disabled=!0,c},createReadOnlyEntry:function(a,c,d,e,f,g){var h=b(this.tables.READONLY,c,d,e,void 0,void 0,void 0,f,g);return h.id=a,h},createTextEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.TEXT,c,d,e,f,g,h);return i.id=a,i},createBlobEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.BLOB,c,d,e,f,g,h);return i.id=a,i},createSelect2Entry:function(a,c,d,e,f,g,h,i,j,k){var l=b(this.tables.SELECT2,c,d,e,f,g,void 0,h,i,j,k);return l.id=a,l},createPasswordEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.PASSWORD,c,d,e,f,g,h);return i.id=a,i},createCheckboxEntry:function(a,c,d,e,f){var g=b(this.tables.CHECKBOX,c,d,e);return g.id=a,f&&(g.checked=f),g},createSelectEntry:function(a,c,d,e,f){var g=b(this.tables.SELECT,c,null,e);return g.id=a,d&&(g.selected=d),g.options=f,g},createOptionEntry:function(a,b){return{label:a,value:b||a}},show:function(a,b,c,d,e,f,g,h,i,j){var k,l,m=this,n=!1;c=c||[],h=Boolean(h),this.clearValidators(),c.length>0?(c.forEach(function(a){a.type===m.buttons.CLOSE&&(n=!0),a.type===m.buttons.DELETE&&(l=l||a.confirm)}),n||(k=c.pop(),c.push(m.createCloseButton("Cancel")),c.push(k))):c.push(m.createCloseButton("Close")),j?($("#"+j).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),$("#"+j+" #modal-dialog").removeClass("fade hide modal"),$("#"+j+" .modal-header").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .button-close").remove(),0===$("#"+j+" .modal-footer").children().length&&$("#"+j+" .modal-footer").remove()):$(this.el).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),_.each(c,function(a,b){return!a.disabled&&a.callback?a.type!==m.buttons.DELETE||h?void $("#modalButton"+b).bind("click",a.callback):void $("#modalButton"+b).bind("click",function(){$(m.confirm.yes).unbind("click"),$(m.confirm.yes).bind("click",a.callback),$(m.confirm.list).css("display","block")}):void 0}),$(this.confirm.no).bind("click",function(){$(m.confirm.list).css("display","none")});var o;if("string"==typeof a)o=templateEngine.createTemplate(a),j?$("#"+j+" .createModalDialog .modal-body").html(o.render({content:d,advancedContent:e,info:f})):$("#modalPlaceholder .createModalDialog .modal-body").html(o.render({content:d,advancedContent:e,info:f}));else{var p=0;_.each(a,function(a){o=templateEngine.createTemplate(a),$(".createModalDialog .modal-body .tab-content #"+i[p]).html(o.render({content:d,advancedContent:e,info:f})),p++})}$(".createModalDialog .modalTooltips").tooltip({position:{my:"left top",at:"right+55 top-1"}});var q=d||[];e&&e.content&&(q=q.concat(e.content)),_.each(q,function(a){m.modalBindValidation(a),a.type===m.tables.SELECT2&&$("#"+a.id).select2({tags:a.tags||[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:a.maxEntrySize||8})}),g&&(this.events=g,this.delegateEvents()),$("#accordion2")&&($("#accordion2 .accordion-toggle").bind("click",function(){$("#collapseOne").is(":visible")?($("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)):($("#collapseOne").show(),setTimeout(function(){$(".accordion-toggle").removeClass("collapsed")},100))}),$("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)),j||$("#modal-dialog").modal("show"),this.enabledHotkey===!1&&(this.createInitModalHotkeys(),this.enabledHotkey=!0),this.enableHotKeys&&this.createModalHotkeys();var r=$("#modal-dialog").find("input");r&&setTimeout(function(){var a=$("#modal-dialog");a.length>0&&(a=a.find("input"),a.length>0&&$(a[0]).focus())},400)},modalBindValidation:function(a){var b=this;if(a.hasOwnProperty("id")&&a.hasOwnProperty("validateInput")){var c=function(){var b=$("#"+a.id),c=a.validateInput(b),d=!1;return _.each(c,function(a){var c=b.val();if(a.rule||(a={rule:a}),"function"==typeof a.rule)try{a.rule(c)}catch(e){d=a.msg||e.message}else{var f=Joi.validate(c,a.rule);f.error&&(d=a.msg||f.error.message)}return d?!1:void 0}),d?d:void 0},d=$("#"+a.id);d.on("keyup focusout",function(){var a=c(),e=d.next()[0];a?(d.addClass("invalid-input"),e?$(e).text(a):d.after('

    '+a+"

    "),$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled")):(d.removeClass("invalid-input"),e&&$(e).remove(),b.modalTestAll())}),this._validators.push(c),this._validateWatchers.push(d)}},modalTestAll:function(){var a=_.map(this._validators,function(a){return a()}),b=_.any(a);return b?$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled"):$(".createModalDialog .modal-footer .button-success").prop("disabled",!1).removeClass("disabled"),!b},clearValidators:function(){this._validators=[],_.each(this._validateWatchers,function(a){a.unbind("keyup focusout")}),this._validateWatchers=[]},hide:function(){this.clearValidators(),$("#modal-dialog").modal("hide")}})}(),function(){"use strict";window.NavigationView=Backbone.View.extend({el:"#navigationBar",subEl:"#subNavigationBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab","click li":"switchTab","click .arangodbLogo":"selectMenuItem","mouseenter .dropdown > *":"showDropdown","click .shortcut-icons p":"showShortcutModal","mouseleave .dropdown":"hideDropdown"},renderFirst:!0,activeSubMenu:void 0,changeDB:function(){window.location.hash="#login"},initialize:function(a){var b=this;this.userCollection=a.userCollection,this.currentDB=a.currentDB,this.dbSelectionView=new window.DBSelectionView({collection:a.database,current:this.currentDB}),this.userBarView=new window.UserBarView({userCollection:this.userCollection}),this.notificationView=new window.NotificationView({collection:a.notificationCollection}),this.statisticBarView=new window.StatisticBarView({currentDB:this.currentDB}),this.isCluster=a.isCluster,this.handleKeyboardHotkeys(),Backbone.history.on("all",function(){b.selectMenuItem()})},showShortcutModal:function(){arangoHelper.hotkeysFunctions.showHotkeysModal()},handleSelectDatabase:function(){this.dbSelectionView.render($("#dbSelect"))},template:templateEngine.createTemplate("navigationView.ejs"),templateSub:templateEngine.createTemplate("subNavigationView.ejs"),render:function(){var a=this;$(this.el).html(this.template.render({currentDB:this.currentDB,isCluster:this.isCluster})),"_system"!==this.currentDB.get("name")&&$("#dashboard").parent().remove(),$(this.subEl).html(this.templateSub.render({currentDB:this.currentDB.toJSON()})),this.dbSelectionView.render($("#dbSelect"));var b=function(a){a||this.userBarView.render()}.bind(this);return this.userCollection.whoAmI(b),this.renderFirst&&(this.renderFirst=!1,this.selectMenuItem(),$(".arangodbLogo").on("click",function(){a.selectMenuItem()}),$("#dbStatus").on("click",function(){a.changeDB()})),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},handleKeyboardHotkeys:function(){arangoHelper.enableKeyboardHotkeys(!0)},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id,d=!1;$(b).hasClass("fa")||(""===c&&(c=$(b).attr("class")),"links"===c?(d=!0,$("#link_dropdown").slideToggle(1),a.preventDefault()):"tools"===c?(d=!0,$("#tools_dropdown").slideToggle(1),a.preventDefault()):"dbselection"===c&&(d=!0,$("#dbs_dropdown").slideToggle(1),a.preventDefault()),d||(window.App.navigate(c,{trigger:!0}),a.preventDefault()))},handleSelectNavigation:function(){var a=this;$("#arangoCollectionSelect").change(function(){a.navigateBySelect()})},subViewConfig:{documents:"collections",collection:"collections"},subMenuConfig:{cluster:[{name:"Dashboard",view:void 0,active:!0},{name:"Logs",view:void 0,disabled:!0}],collections:[{name:"",view:void 0,active:!1}],queries:[{name:"Editor",route:"query",active:!0},{name:"Running Queries",route:"queryManagement",params:{active:!0},active:void 0},{name:"Slow Query History",route:"queryManagement",params:{active:!1},active:void 0}]},renderSubMenu:function(a){var b=this;if(void 0===a&&(a=window.isCluster?"cluster":"dashboard"),this.subMenuConfig[a]){$(this.subEl+" .bottom").html("");var c="";_.each(this.subMenuConfig[a],function(a){c=a.active?"active":"",a.disabled&&(c="disabled"),$(b.subEl+" .bottom").append('"),a.disabled||$(b.subEl+" .bottom").children().last().bind("click",function(c){b.activeSubMenu=a,b.renderSubView(a,c)})})}},renderSubView:function(a,b){window.App[a.route]&&(window.App[a.route].resetState&&window.App[a.route].resetState(),window.App[a.route]()),$(this.subEl+" .bottom").children().removeClass("active"),$(b.currentTarget).addClass("active")},switchTab:function(a){var b=$(a.currentTarget).children().first().attr("id");b&&this.selectMenuItem(b+"-menu")},selectMenuItem:function(a,b){void 0===a&&(a=window.location.hash.split("/")[0],a=a.substr(1,a.length-1)),""===a?a=window.App.isCluster?"cluster":"dashboard":("cNodes"===a||"dNodes"===a)&&(a="nodes");try{this.renderSubMenu(a.split("-")[0])}catch(c){this.renderSubMenu(a)}$(".navlist li").removeClass("active"),"string"==typeof a&&(b?$("."+this.subViewConfig[a]+"-menu").addClass("active"):a&&($("."+a).addClass("active"),$("."+a+"-menu").addClass("active"))),arangoHelper.hideArangoNotifications()},showSubDropdown:function(a){$(a.currentTarget).find(".subBarDropdown").toggle()},showDropdown:function(a){var b=a.target||a.srcElement,c=b.id;"links"===c||"link_dropdown"===c||"links"===a.currentTarget.id?$("#link_dropdown").fadeIn(1):"tools"===c||"tools_dropdown"===c||"tools"===a.currentTarget.id?$("#tools_dropdown").fadeIn(1):("dbselection"===c||"dbs_dropdown"===c||"dbselection"===a.currentTarget.id)&&$("#dbs_dropdown").fadeIn(1)},hideDropdown:function(a){var b=a.target||a.srcElement;b=$(b).parent(),$("#link_dropdown").fadeOut(1),$("#tools_dropdown").fadeOut(1),$("#dbs_dropdown").fadeOut(1)}})}(),function(){"use strict";window.NodeView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodeView.ejs"),interval:5e3,dashboards:[],events:{},initialize:function(a){window.App.isCluster&&(this.coordinators=a.coordinators,this.dbServers=a.dbServers,this.coordname=a.coordname,this.updateServerTime(),window.setInterval(function(){if(0===window.location.hash.indexOf("#node/"));},this.interval))},breadcrumb:function(a){$("#subNavigationBar .breadcrumb").html("Node: "+a)},render:function(){this.$el.html(this.template.render({coords:[]}));var a=function(){this.continueRender(),this.breadcrumb(this.coordname),$(window).trigger("resize")}.bind(this);this.initCoordDone||this.waitForCoordinators(),this.initDBDone?(this.coordname=window.location.hash.split("/")[1],this.coordinator=this.coordinators.findWhere({name:this.coordname}),a()):this.waitForDBServers(a)},continueRender:function(){var a=this;this.dashboards[this.coordinator.get("name")]=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:window.App.arangoDatabase,serverToShow:{raw:this.coordinator.get("address"),isDBServer:!1,endpoint:this.coordinator.get("protocol")+"://"+this.coordinator.get("address"),target:this.coordinator.get("name")}}),this.dashboards[this.coordinator.get("name")].render(),window.setTimeout(function(){a.dashboards[a.coordinator.get("name")].resize()},500)},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(b.coordinator=b.coordinators.findWhere({name:b.coordname}),b.initCoordDone=!0,a&&a())},200)},waitForDBServers:function(a){var b=this;window.setTimeout(function(){0===b.dbServers[0].length?b.waitForDBServers(a):(b.initDBDone=!0,b.dbServer=b.dbServers[0],b.dbServer.each(function(a){"DBServer001"===a.get("name")&&(b.dbServer=a)}),a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NodesView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodesView.ejs"),interval:5e3,knownServers:[],events:{"click #nodesContent .pure-table-body .pure-table-row":"navigateToNode"},initialize:function(a){var b=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),this.toRender=a.toRender,this.intervalFunction=window.setInterval(function(){("#cNodes"===window.location.hash||"#dNodes"===window.location.hash||"#nodes"===window.location.hash)&&b.checkNodesState()},this.interval))},checkNodesState:function(){var a=function(a){_.each(a,function(a,b){_.each($(".pure-table-row"),function(c){$(c).attr("node")===b&&("GOOD"===a.Status?($(c).removeClass("noHover"),$(c).find(".state").html('')):($(c).addClass("noHover"),$(c).find(".state").html('')))})})}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(b){a(b.Health)}})},navigateToNode:function(a){if("#dNodes"!==window.location.hash&&!$(a.currentTarget).hasClass("noHover")){var b=$(a.currentTarget).attr("node");window.App.navigate("#node/"+encodeURIComponent(b),{trigger:!0})}},render:function(){var a=function(){this.continueRender()}.bind(this);this.initDoneCoords?a():this.waitForCoordinators(a)},continueRender:function(){var a;a="coordinator"===this.toRender?this.coordinators.toJSON():this.dbServers.toJSON(),this.$el.html(this.template.render({coords:a,type:this.toRender})),window.arangoHelper.buildNodesSubNav(this.toRender),this.checkNodesState()},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(this.initDoneCoords=!0,a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NodesView2=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodesView2.ejs"),interval:1e4,knownServers:[],events:{"click #nodesContent .coords-nodes .pure-table-row":"navigateToNode","click #addCoord":"addCoord","click #removeCoord":"removeCoord","click #addDBs":"addDBs","click #removeDBs":"removeDBs"},initialize:function(){var a=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#nodes"===window.location.hash&&a.render(!1)},this.interval))},navigateToNode:function(a){if(!$(a.currentTarget).hasClass("noHover")){var b=$(a.currentTarget).attr("node").slice(0,-5);window.App.navigate("#node/"+encodeURIComponent(b),{trigger:!0})}},render:function(a){var b=this,c=function(a){$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",success:function(c){b.continueRender(a,c)}})}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){c(a.Health)},error:function(){arangoHelper.arangoError("Cluster","Could not fetch cluster information")}}),a!==!1&&arangoHelper.buildNodesSubNav("Overview")},continueRender:function(a,b){var c={},d={},e=!1;_.each(a,function(a,b){"Coordinator"===a.Role?c[b]=a:"DBServer"===a.Role&&(d[b]=a)}),null!==b.numberOfDBServers&&null!==b.numberOfCoordinators&&(e=!0);var f=function(a){this.$el.html(this.template.render({coords:c,dbs:d,scaling:e,scaleProperties:a,plannedDBs:b.numberOfDBServers,plannedCoords:b.numberOfCoordinators})),e||($(".title").css("position","relative"),$(".title").css("top","-4px"))}.bind(this);this.renderCounts(e,f)},updatePlanned:function(a){a.numberOfCoordinators&&($("#plannedCoords").val(a.numberOfCoordinators),this.renderCounts(!0)),a.numberOfDBServers&&($("#plannedDBs").val(a.numberOfDBServers),this.renderCounts(!0))},setCoordSize:function(a){var b=this,c={numberOfCoordinators:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updatePlanned(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},setDBsSize:function(a){var b=this,c={numberOfDBServers:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updatePlanned(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},renderCounts:function(a,b){var c=function(b,c,d,e){var f=''+c+'';d&&a===!0&&(f=f+''+d+''),e&&(f=f+''+e+''),$(b).html(f),a||($(".title").css("position","relative"),$(".title").css("top","-4px"))}.bind(this),d=function(a){var d=0,e=0,f=0,g=0,h=0,i=0;_.each(a,function(a){"Coordinator"===a.Role?"GOOD"===a.Status?e++:d++:"DBServer"===a.Role&&("GOOD"===a.Status?g++:h++)}),$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",processData:!1,success:function(a){f=Math.abs(e+d-a.numberOfCoordinators),i=Math.abs(g+h-a.numberOfDBServers),b?b({coordsPending:f,coordsOk:e,coordsErrors:d,dbsPending:i,dbsOk:g,dbsErrors:h}):(c("#infoDBs",g,i,h),c("#infoCoords",e,f,d))}})}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,success:function(a){d(a.Health)}})},addCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!0))},removeCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!1,!0))},addDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!0))},removeDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!1,!0))},readNumberFromID:function(a,b,c){var d=$(a).val(),e=!1;try{e=JSON.parse(d)}catch(f){}return b&&e++,c&&1!==e&&e--,e},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NotificationView=Backbone.View.extend({events:{"click .navlogo #stat_hd":"toggleNotification","click .notificationItem .fa":"removeNotification","click #removeAllNotifications":"removeAllNotifications"},initialize:function(){this.collection.bind("add",this.renderNotifications.bind(this)),this.collection.bind("remove",this.renderNotifications.bind(this)),this.collection.bind("reset",this.renderNotifications.bind(this)),window.setTimeout(function(){frontendConfig.authenticationEnabled===!1&&window.arangoHelper.arangoWarning("Warning","Authentication is disabled. Do not use this setup in production mode.")},2e3)},notificationItem:templateEngine.createTemplate("notificationItem.ejs"),el:"#notificationBar",template:templateEngine.createTemplate("notificationView.ejs"),toggleNotification:function(){var a=this.collection.length;0!==a&&$("#notification_menu").toggle()},removeAllNotifications:function(){$.noty.clearQueue(),$.noty.closeAll(),this.collection.reset(),$("#notification_menu").hide()},removeNotification:function(a){var b=a.target.id;this.collection.get(b).destroy()},renderNotifications:function(a,b,c){if(c&&c.add){var d,e=this.collection.at(this.collection.length-1),f=e.get("title"),g=3e3,h=["click"];if(e.get("content")&&(f=f+": "+e.get("content")),"error"===e.get("type")?(g=!1,h=["button"],d=[{addClass:"button-danger",text:"Close",onClick:function(a){a.close()}}]):"warning"===e.get("type")&&(g=2e4),$.noty.clearQueue(),$.noty.closeAll(),noty({theme:"relax",text:f,template:'
    ',maxVisible:1,closeWith:["click"],type:e.get("type"),layout:"bottom",timeout:g,buttons:d,animation:{open:{height:"show"},close:{height:"hide"},easing:"swing",speed:200,closeWith:h}}),"success"===e.get("type"))return void e.destroy()}$("#stat_hd_counter").text(this.collection.length),0===this.collection.length?($("#stat_hd").removeClass("fullNotification"),$("#notification_menu").hide()):$("#stat_hd").addClass("fullNotification"),$(".innerDropdownInnerUL").html(this.notificationItem.render({notifications:this.collection})),$(".notificationInfoIcon").tooltip({position:{my:"left top",at:"right+55 top-1"}})},render:function(){return $(this.el).html(this.template.render({notifications:this.collection})),this.renderNotifications(),this.delegateEvents(),this.el}})}(),function(){"use strict";window.ProgressView=Backbone.View.extend({template:templateEngine.createTemplate("progressBase.ejs"),el:"#progressPlaceholder",el2:"#progressPlaceholderIcon",toShow:!1,lastDelay:0,action:function(){},events:{"click .progress-action button":"performAction"},performAction:function(){"function"==typeof this.action&&this.action(),window.progressView.hide()},initialize:function(){},showWithDelay:function(a,b,c,d){var e=this;e.toShow=!0,e.lastDelay=a,setTimeout(function(){e.toShow===!0&&e.show(b,c,d)},e.lastDelay)},show:function(a,b,c){$(this.el).html(this.template.render({})),$(".progress-text").text(a),c?$(".progress-action").html('"):$(".progress-action").html(''),b?this.action=b:this.action=this.hide(),$(this.el).show()},hide:function(){var a=this;a.toShow=!1,$(this.el).hide(),this.action=function(){}}})}(),function(){"use strict";window.queryManagementView=Backbone.View.extend({el:"#content",id:"#queryManagementContent",templateActive:templateEngine.createTemplate("queryManagementViewActive.ejs"),templateSlow:templateEngine.createTemplate("queryManagementViewSlow.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),active:!0,shouldRender:!0,timer:0,refreshRate:2e3,initialize:function(){var a=this;this.activeCollection=new window.QueryManagementActive,this.slowCollection=new window.QueryManagementSlow,this.convertModelToJSON(!0),window.setInterval(function(){"#queries"===window.location.hash&&window.VISIBLE&&a.shouldRender&&"queryManagement"===arangoHelper.getCurrentSub().route&&(a.active?$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!0):$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!1))},a.refreshRate)},events:{"click #deleteSlowQueryHistory":"deleteSlowQueryHistoryModal","click #arangoQueryManagementTable .fa-minus-circle":"deleteRunningQueryModal"},tableDescription:{id:"arangoQueryManagementTable",titles:["ID","Query String","Runtime","Started",""],rows:[],unescaped:[!1,!1,!1,!1,!0]},deleteRunningQueryModal:function(a){this.killQueryId=$(a.currentTarget).attr("data-id");var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,"Running Query","Do you want to kill the running query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Kill",this.killRunningQuery.bind(this))),window.modalView.show("modalTable.ejs","Kill Running Query",b,c),$(".modal-delete-confirmation strong").html("Really kill?")},killRunningQuery:function(){this.collection.killRunningQuery(this.killQueryId,this.killRunningQueryCallback.bind(this)),window.modalView.hide()},killRunningQueryCallback:function(){this.convertModelToJSON(!0),this.renderActive()},deleteSlowQueryHistoryModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry(void 0,"Slow Query Log","Do you want to delete the slow query log entries?",void 0,void 0,!1,void 0)),a.push(window.modalView.createDeleteButton("Delete",this.deleteSlowQueryHistory.bind(this))), -window.modalView.show("modalTable.ejs","Delete Slow Query Log",a,b)},deleteSlowQueryHistory:function(){this.collection.deleteSlowQueryHistory(this.slowQueryCallback.bind(this)),window.modalView.hide()},slowQueryCallback:function(){this.convertModelToJSON(!1),this.renderSlow()},render:function(){var a=arangoHelper.getCurrentSub();a.params.active?(this.active=!0,this.convertModelToJSON(!0)):(this.active=!1,this.convertModelToJSON(!1))},addEvents:function(){var a=this;$("#queryManagementContent tbody").on("mousedown",function(){clearTimeout(a.timer),a.shouldRender=!1}),$("#queryManagementContent tbody").on("mouseup",function(){a.timer=window.setTimeout(function(){a.shouldRender=!0},3e3)})},renderActive:function(){this.$el.html(this.templateActive.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#activequeries").addClass("arango-active-tab"),this.addEvents()},renderSlow:function(){this.$el.html(this.templateSlow.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#slowqueries").addClass("arango-active-tab"),this.addEvents()},convertModelToJSON:function(a){var b=this,c=[];a===!0?this.collection=this.activeCollection:this.collection=this.slowCollection,this.collection.fetch({success:function(){b.collection.each(function(b){var d="";a&&(d=''),c.push([b.get("id"),b.get("query"),b.get("runTime").toFixed(2)+" s",b.get("started"),d])});var d="No running queries.";a||(d="No slow queries."),0===c.length&&c.push([d,"","","",""]),b.tableDescription.rows=c,a?b.renderActive():b.renderSlow()}})}})}(),function(){"use strict";window.queryView2=Backbone.View.extend({el:"#content",bindParamId:"#bindParamEditor",myQueriesId:"#queryTable",template:templateEngine.createTemplate("queryView2.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),outputDiv:"#outputEditors",outputTemplate:templateEngine.createTemplate("queryViewOutput.ejs"),outputCounter:0,allowUpload:!1,customQueries:[],queries:[],state:{lastQuery:{query:void 0,bindParam:void 0}},settings:{aqlWidth:void 0},currentQuery:{},initDone:!1,bindParamRegExp:/@(@?\w+\d*)/,bindParamTableObj:{},bindParamTableDesc:{id:"arangoBindParamTable",titles:["Key","Value"],rows:[]},myQueriesTableDesc:{id:"arangoMyQueriesTable",titles:["Name","Actions"],rows:[]},execPending:!1,aqlEditor:null,queryPreview:null,initialize:function(){this.refreshAQL()},allowParamToggle:!0,events:{"click #executeQuery":"executeQuery","click #explainQuery":"explainQuery","click #clearQuery":"clearQuery","click .outputEditorWrapper #downloadQueryResult":"downloadQueryResult","click .outputEditorWrapper .switchAce":"switchAce","click .outputEditorWrapper .fa-close":"closeResult","click #toggleQueries1":"toggleQueries","click #toggleQueries2":"toggleQueries","click #saveCurrentQuery":"addAQL","click #exportQuery":"exportCustomQueries","click #importQuery":"openImportDialog","click #removeResults":"removeResults","click #querySpotlight":"showSpotlight","click #deleteQuery":"selectAndDeleteQueryFromTable","click #explQuery":"selectAndExplainQueryFromTable","keydown #arangoBindParamTable input":"updateBindParams","change #arangoBindParamTable input":"updateBindParams","click #arangoMyQueriesTable tbody tr":"showQueryPreview","dblclick #arangoMyQueriesTable tbody tr":"selectQueryFromTable","click #arangoMyQueriesTable #copyQuery":"selectQueryFromTable","click #closeQueryModal":"closeExportDialog","click #confirmQueryImport":"importCustomQueries","click #switchTypes":"toggleBindParams","click #arangoMyQueriesTable #runQuery":"selectAndRunQueryFromTable"},clearQuery:function(){this.aqlEditor.setValue("",1)},toggleBindParams:function(){this.allowParamToggle?($("#bindParamEditor").toggle(),$("#bindParamAceEditor").toggle(),"JSON"===$("#switchTypes").text()?($("#switchTypes").text("Table"),this.updateQueryTable(),this.bindParamAceEditor.setValue(JSON.stringify(this.bindParamTableObj,null," "),1),this.deselect(this.bindParamAceEditor)):($("#switchTypes").text("JSON"),this.renderBindParamTable())):arangoHelper.arangoError("Bind parameter","Could not parse bind parameter"),this.resize()},openExportDialog:function(){$("#queryImportDialog").modal("show")},closeExportDialog:function(){$("#queryImportDialog").modal("hide")},initQueryImport:function(){var a=this;a.allowUpload=!1,$("#importQueries").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],a.allowUpload=!0,$("#confirmQueryImport").removeClass("disabled")})},importCustomQueries:function(){var a=this;if(this.allowUpload===!0){var b=function(){this.collection.fetch({success:function(){a.updateLocalQueries(),a.updateQueryTable(),a.resize(),a.allowUpload=!1,$("#confirmQueryImport").addClass("disabled"),$("#queryImportDialog").modal("hide")},error:function(a){arangoHelper.arangoError("Custom Queries",a.responseText)}})}.bind(this);a.collection.saveImportQueries(a.file,b.bind(this))}},removeResults:function(){$(".outputEditorWrapper").hide("fast",function(){$(".outputEditorWrapper").remove()}),$("#removeResults").hide()},getCustomQueryParameterByName:function(a){return this.collection.findWhere({name:a}).get("parameter")},getCustomQueryValueByName:function(a){var b;return a&&(b=this.collection.findWhere({name:a})),b?b=b.get("value"):_.each(this.queries,function(c){c.name===a&&(b=c.value)}),b},openImportDialog:function(){$("#queryImportDialog").modal("show")},closeImportDialog:function(){$("#queryImportDialog").modal("hide")},exportCustomQueries:function(){var a;$.ajax("whoAmI?_="+Date.now()).success(function(b){a=b.user,(null===a||a===!1)&&(a="root");var c="query/download/"+encodeURIComponent(a);arangoHelper.download(c)})},toggleQueries:function(a){a&&"toggleQueries1"===a.currentTarget.id?(this.updateQueryTable(),$("#bindParamAceEditor").hide(),$("#bindParamEditor").show(),$("#switchTypes").text("JSON"),$(".aqlEditorWrapper").first().width(.33*$(window).width()),this.queryPreview.setValue("No query selected.",1),this.deselect(this.queryPreview)):void 0===this.settings.aqlWidth?$(".aqlEditorWrapper").first().width(.33*$(window).width()):$(".aqlEditorWrapper").first().width(this.settings.aqlWidth),this.resize();var b=["aqlEditor","queryTable","previewWrapper","querySpotlight","bindParamEditor","toggleQueries1","toggleQueries2","saveCurrentQuery","querySize","executeQuery","switchTypes","explainQuery","importQuery","exportQuery"];_.each(b,function(a){$("#"+a).toggle()}),this.resize()},showQueryPreview:function(a){$("#arangoMyQueriesTable tr").removeClass("selected"),$(a.currentTarget).addClass("selected");var b=this.getQueryNameFromTable(a);this.queryPreview.setValue(this.getCustomQueryValueByName(b),1),this.deselect(this.queryPreview)},getQueryNameFromTable:function(a){var b;return $(a.currentTarget).is("tr")?b=$(a.currentTarget).children().first().text():$(a.currentTarget).is("span")&&(b=$(a.currentTarget).parent().parent().prev().text()),b},deleteQueryModal:function(a){var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,a,"Do you want to delete the query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Delete",this.deleteAQL.bind(this,a))),window.modalView.show("modalTable.ejs","Delete Query",b,c)},selectAndDeleteQueryFromTable:function(a){var b=this.getQueryNameFromTable(a);this.deleteQueryModal(b)},selectAndExplainQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.explainQuery()},selectAndRunQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.executeQuery()},selectQueryFromTable:function(a,b){var c=this.getQueryNameFromTable(a),d=this;void 0===b&&this.toggleQueries(),this.state.lastQuery.query=this.aqlEditor.getValue(),this.state.lastQuery.bindParam=this.bindParamTableObj,this.aqlEditor.setValue(this.getCustomQueryValueByName(c),1),this.fillBindParamTable(this.getCustomQueryParameterByName(c)),this.updateBindParams(),$("#lastQuery").remove(),$("#queryContent .arangoToolbarTop .pull-left").append('Previous Query'),$("#lastQuery").hide().fadeIn(500).on("click",function(){d.aqlEditor.setValue(d.state.lastQuery.query,1),d.fillBindParamTable(d.state.lastQuery.bindParam),d.updateBindParams(),$("#lastQuery").fadeOut(500,function(){$(this).remove()})})},deleteAQL:function(a){var b=function(a){a?arangoHelper.arangoError("Query","Could not delete query."):(this.updateLocalQueries(),this.updateQueryTable(),this.resize(),window.modalView.hide())}.bind(this),c=this.collection.findWhere({name:a});this.collection.remove(c),this.collection.saveCollectionQueries(b)},switchAce:function(a){var b=$(a.currentTarget).attr("counter");"Result"===$(a.currentTarget).text()?$(a.currentTarget).text("AQL"):$(a.currentTarget).text("Result"),$("#outputEditor"+b).toggle(),$("#sentWrapper"+b).toggle(),this.deselect(ace.edit("outputEditor"+b)),this.deselect(ace.edit("sentQueryEditor"+b)),this.deselect(ace.edit("sentBindParamEditor"+b))},downloadQueryResult:function(a){var b=$(a.currentTarget).attr("counter"),c=ace.edit("sentQueryEditor"+b),d=c.getValue();if(""!==d||void 0!==d||null!==d){var e;e=0===Object.keys(this.bindParamTableObj).length?"query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d}))):"query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d,bindVars:this.bindParamTableObj}))),arangoHelper.download(e)}else arangoHelper.arangoError("Query error","could not query result.")},explainQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Explain"}));var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setReadOnly(!0),b.getSession().setMode("ace/mode/json"),b.setOption("vScrollBarAlwaysVisible",!0),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillExplain(b,c,a),this.outputCounter++}},fillExplain:function(a,b,c){b.setValue(this.aqlEditor.getValue(),1);var d=this,e=this.readQueryData();if($("#outputEditorWrapper"+c+" .queryExecutionTime").text(""),this.execPending=!1,e){var f=function(){$("#outputEditorWrapper"+c+" #spinner").remove(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditorWrapper"+c+" .switchAce").show()};$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_admin/aardvark/query/explain/"),data:e,contentType:"application/json",processData:!1,success:function(b){b.msg.includes("errorMessage")?(d.removeOutputEditor(c),arangoHelper.arangoError("Explain",b.msg)):(a.setValue(b.msg,1),d.deselect(a),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)),f()},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("Explain",b.errorMessage)}catch(e){arangoHelper.arangoError("Explain","ERROR")}d.handleResult(c),d.removeOutputEditor(c),f()}})}},removeOutputEditor:function(a){$("#outputEditorWrapper"+a).hide(),$("#outputEditorWrapper"+a).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()},getCachedQueryAfterRender:function(){var a=this.getCachedQuery(),b=this;if(null!==a&&void 0!==a&&""!==a&&(this.aqlEditor.setValue(a.query,1),this.aqlEditor.getSession().setUndoManager(new ace.UndoManager),""!==a.parameter||void 0!==a))try{b.bindParamTableObj=JSON.parse(a.parameter);var c;_.each($("#arangoBindParamTable input"),function(a){c=$(a).attr("name"),$(a).val(b.bindParamTableObj[c])}),b.setCachedQuery(b.aqlEditor.getValue(),JSON.stringify(b.bindParamTableObj))}catch(d){}},getCachedQuery:function(){if("undefined"!==Storage){var a=localStorage.getItem("cachedQuery");if(void 0!==a){var b=JSON.parse(a);this.currentQuery=b;try{this.bindParamTableObj=JSON.parse(b.parameter)}catch(c){}return b}}},setCachedQuery:function(a,b){if("undefined"!==Storage){var c={query:a,parameter:b};this.currentQuery=c,localStorage.setItem("cachedQuery",JSON.stringify(c))}},closeResult:function(a){var b=$("#"+$(a.currentTarget).attr("element")).parent();$(b).hide("fast",function(){$(b).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()})},fillSelectBoxes:function(){var a=1e3,b=$("#querySize");b.empty(),[100,250,500,1e3,2500,5e3,1e4,"all"].forEach(function(c){b.append('")})},render:function(){this.$el.html(this.template.render({})),this.afterRender(),this.initDone||(this.settings.aqlWidth=$(".aqlEditorWrapper").width()),this.initDone=!0,this.renderBindParamTable(!0)},afterRender:function(){var a=this;this.initAce(),this.initTables(),this.fillSelectBoxes(),this.makeResizeable(),this.initQueryImport(),this.getCachedQueryAfterRender(),$(".inputEditorWrapper").height($(window).height()/10*5+25),window.setTimeout(function(){a.resize()},10),a.deselect(a.aqlEditor)},showSpotlight:function(a){var b,c;if((void 0===a||"click"===a.type)&&(a="aql"),"aql"===a)b=function(a){this.aqlEditor.insert(a),$("#aqlEditor .ace_text-input").focus()}.bind(this),c=function(){$("#aqlEditor .ace_text-input").focus()};else{var d=$(":focus");b=function(a){var b=$(d).val();$(d).val(b+a),$(d).focus()}.bind(this),c=function(){$(d).focus()}}window.spotlightView.show(b,c,a)},resize:function(){this.resizeFunction()},resizeFunction:function(){$("#toggleQueries1").is(":visible")?(this.aqlEditor.resize(),$("#arangoBindParamTable thead").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable thead th").css("width",$("#bindParamEditor").width()/2),$("#arangoBindParamTable tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody").css("height",$("#aqlEditor").height()-35),$("#arangoBindParamTable tbody").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody td").css("width",$("#bindParamEditor").width()/2)):(this.queryPreview.resize(),$("#arangoMyQueriesTable thead").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable thead th").css("width",$("#queryTable").width()/2),$("#arangoMyQueriesTable tr").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody").css("height",$("#queryTable").height()-35),$("#arangoMyQueriesTable tbody").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody td").css("width",$("#queryTable").width()/2))},makeResizeable:function(){var a=this;$(".aqlEditorWrapper").resizable({resize:function(){a.resizeFunction(),a.settings.aqlWidth=$(".aqlEditorWrapper").width()},handles:"e"}),$(".inputEditorWrapper").resizable({resize:function(){a.resizeFunction()},handles:"s"}),this.resizeFunction()},initTables:function(){this.$(this.bindParamId).html(this.table.render({content:this.bindParamTableDesc})),this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},checkType:function(a){var b="stringtype";try{a=JSON.parse(a),b=a instanceof Array?"arraytype":typeof a+"type"}catch(c){}return b},updateBindParams:function(a){var b,c=this;if(a){b=$(a.currentTarget).attr("name"),this.bindParamTableObj[b]=arangoHelper.parseInput(a.currentTarget);var d=["arraytype","objecttype","booleantype","numbertype","stringtype"];_.each(d,function(b){$(a.currentTarget).removeClass(b)}),$(a.currentTarget).addClass(c.checkType($(a.currentTarget).val()))}else _.each($("#arangoBindParamTable input"),function(a){b=$(a).attr("name"),c.bindParamTableObj[b]=arangoHelper.parseInput(a)});this.setCachedQuery(this.aqlEditor.getValue(),JSON.stringify(this.bindParamTableObj)),a&&((a.ctrlKey||a.metaKey)&&13===a.keyCode&&(a.preventDefault(),this.executeQuery()),(a.ctrlKey||a.metaKey)&&32===a.keyCode&&(a.preventDefault(),this.showSpotlight("bind")))},parseQuery:function(a){var b=0,c=1,d=2,e=3,f=4,g=5,h=6,i=7;a+=" ";var j,k,l,m=this,n=b,o=a.length,p=[];for(k=0;o>k;++k)switch(l=a.charAt(k),n){case b:"@"===l?(n=h,j=k):"'"===l?n=c:'"'===l?n=d:"`"===l?n=e:"´"===l?n=i:"/"===l&&o>k+1&&("/"===a.charAt(k+1)?(n=f,++k):"*"===a.charAt(k+1)&&(n=g,++k));break;case f:("\r"===l||"\n"===l)&&(n=b);break;case g:"*"===l&&o>=k+1&&"/"===a.charAt(k+1)&&(n=b,++k);break;case c:"\\"===l?++k:"'"===l&&(n=b);break;case d:"\\"===l?++k:'"'===l&&(n=b);break;case e:"`"===l&&(n=b);break;case i:"´"===l&&(n=b);break;case h:/^[@a-zA-Z0-9_]+$/.test(l)||(p.push(a.substring(j,k)),n=b,j=void 0)}var q;return _.each(p,function(a,b){q=a.match(m.bindParamRegExp),q&&(p[b]=q[1])}),{query:a,bindParams:p}},checkForNewBindParams:function(){var a=this,b=this.parseQuery(this.aqlEditor.getValue()).bindParams,c={};_.each(b,function(b){a.bindParamTableObj[b]?c[b]=a.bindParamTableObj[b]:c[b]=""}),Object.keys(b).forEach(function(b){Object.keys(a.bindParamTableObj).forEach(function(d){b===d&&(c[b]=a.bindParamTableObj[d])})}),a.bindParamTableObj=c},renderBindParamTable:function(a){$("#arangoBindParamTable tbody").html(""),a&&this.getCachedQuery();var b=0;_.each(this.bindParamTableObj,function(a,c){$("#arangoBindParamTable tbody").append(""+c+"'),b++,_.each($("#arangoBindParamTable input"),function(b){$(b).attr("name")===c&&(a instanceof Array?$(b).val(JSON.stringify(a)).addClass("arraytype"):"object"==typeof a?$(b).val(JSON.stringify(a)).addClass(typeof a+"type"):$(b).val(a).addClass(typeof a+"type"))})}),0===b&&$("#arangoBindParamTable tbody").append('No bind parameters defined.')},fillBindParamTable:function(a){_.each(a,function(a,b){_.each($("#arangoBindParamTable input"),function(c){$(c).attr("name")===b&&$(c).val(a)})})},initAce:function(){var a=this;this.aqlEditor=ace.edit("aqlEditor"),this.aqlEditor.getSession().setMode("ace/mode/aql"),this.aqlEditor.setFontSize("10pt"),this.aqlEditor.setShowPrintMargin(!1),this.bindParamAceEditor=ace.edit("bindParamAceEditor"),this.bindParamAceEditor.getSession().setMode("ace/mode/json"),this.bindParamAceEditor.setFontSize("10pt"),this.bindParamAceEditor.setShowPrintMargin(!1),this.bindParamAceEditor.getSession().on("change",function(){try{a.bindParamTableObj=JSON.parse(a.bindParamAceEditor.getValue()),a.allowParamToggle=!0,a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj))}catch(b){""===a.bindParamAceEditor.getValue()?(_.each(a.bindParamTableObj,function(b,c){a.bindParamTableObj[c]=""}),a.allowParamToggle=!0):a.allowParamToggle=!1}}),this.aqlEditor.getSession().on("change",function(){a.checkForNewBindParams(),a.renderBindParamTable(),a.initDone&&a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj)),a.bindParamAceEditor.setValue(JSON.stringify(a.bindParamTableObj,null," "),1),$("#aqlEditor .ace_text-input").focus(),a.resize()}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"executeQuery",bindKey:{win:"Ctrl-Return",mac:"Command-Return",linux:"Ctrl-Return"},exec:function(){a.executeQuery()}}),this.aqlEditor.commands.addCommand({name:"saveQuery",bindKey:{win:"Ctrl-Shift-S",mac:"Command-Shift-S",linux:"Ctrl-Shift-S"},exec:function(){a.addAQL()}}),this.aqlEditor.commands.addCommand({name:"explainQuery",bindKey:{win:"Ctrl-Shift-Return",mac:"Command-Shift-Return",linux:"Ctrl-Shift-Return"},exec:function(){a.explainQuery()}}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"showSpotlight",bindKey:{win:"Ctrl-Space",mac:"Ctrl-Space",linux:"Ctrl-Space"},exec:function(){a.showSpotlight()}}),this.queryPreview=ace.edit("queryPreview"),this.queryPreview.getSession().setMode("ace/mode/aql"),this.queryPreview.setReadOnly(!0),this.queryPreview.setFontSize("13px"),$("#aqlEditor .ace_text-input").focus()},updateQueryTable:function(){function a(a,b){var c;return c=a.nameb.name?1:0}var b=this;this.updateLocalQueries(),this.myQueriesTableDesc.rows=this.customQueries,_.each(this.myQueriesTableDesc.rows,function(a){a.secondRow='
    ',a.hasOwnProperty("parameter")&&delete a.parameter,delete a.value}),this.myQueriesTableDesc.rows.sort(a),_.each(this.queries,function(a){a.hasOwnProperty("parameter")&&delete a.parameter,b.myQueriesTableDesc.rows.push({name:a.name,thirdRow:''})}),this.myQueriesTableDesc.unescaped=[!1,!0,!0],this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},listenKey:function(a){13===a.keyCode&&this.saveAQL(a),this.checkSaveName()},addAQL:function(){this.refreshAQL(!0),this.createCustomQueryModal(),setTimeout(function(){$("#new-query-name").focus()},500)},createCustomQueryModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("new-query-name","Name","",void 0,void 0,!1,[{rule:Joi.string().required(),msg:"No query name given."}])),a.push(window.modalView.createSuccessButton("Save",this.saveAQL.bind(this))),window.modalView.show("modalTable.ejs","Save Query",a,b,void 0,void 0,{"keyup #new-query-name":this.listenKey.bind(this)})},checkSaveName:function(){var a=$("#new-query-name").val();if("Insert Query"===a)return void $("#new-query-name").val("");var b=this.customQueries.some(function(b){return b.name===a});b?($("#modalButton1").removeClass("button-success"),$("#modalButton1").addClass("button-warning"),$("#modalButton1").text("Update")):($("#modalButton1").removeClass("button-warning"),$("#modalButton1").addClass("button-success"),$("#modalButton1").text("Save"))},saveAQL:function(a){a.stopPropagation(),this.refreshAQL();var b=$("#new-query-name").val(),c=this.bindParamTableObj;if(!$("#new-query-name").hasClass("invalid-input")&&""!==b.trim()){var d=this.aqlEditor.getValue(),e=!1;if(_.each(this.customQueries,function(a){return a.name===b?(a.value=d,void(e=!0)):void 0}),e===!0)this.collection.findWhere({name:b}).set("value",d);else{if((""===c||void 0===c)&&(c="{}"),"string"==typeof c)try{c=JSON.parse(c)}catch(f){arangoHelper.arangoError("Query","Could not parse bind parameter")}this.collection.add({name:b,parameter:c,value:d})}var g=function(a){if(a)arangoHelper.arangoError("Query","Could not save query");else{var b=this;this.collection.fetch({success:function(){b.updateLocalQueries()}})}}.bind(this);this.collection.saveCollectionQueries(g),window.modalView.hide()}},verifyQueryAndParams:function(){var a=!1;0===this.aqlEditor.getValue().length&&(arangoHelper.arangoError("Query","Your query is empty"),a=!0);var b=[];return _.each(this.bindParamTableObj,function(c,d){""===c&&(a=!0,b.push(d))}),b.length>0&&arangoHelper.arangoError("Bind Parameter",JSON.stringify(b)+" not defined."),a},executeQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Query"})),$("#outputEditorWrapper"+this.outputCounter).hide(),$("#outputEditorWrapper"+this.outputCounter).show("fast");var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setFontSize("13px"),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setFontSize("13px"),b.getSession().setMode("ace/mode/json"),b.setReadOnly(!0),b.setOption("vScrollBarAlwaysVisible",!0),b.setShowPrintMargin(!1),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillResult(b,c,a),this.outputCounter++}},readQueryData:function(){var a=$("#querySize"),b={query:this.aqlEditor.getValue(),id:"currentFrontendQuery"};return"all"===a.val()?b.batchSize=1e6:b.batchSize=parseInt(a.val(),10),Object.keys(this.bindParamTableObj).length>0&&(b.bindVars=this.bindParamTableObj),JSON.stringify(b)},fillResult:function(a,b,c){var d=this,e=this.readQueryData();e&&(b.setValue(d.aqlEditor.getValue(),1),$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),headers:{"x-arango-async":"store"},data:e,contentType:"application/json",processData:!1,success:function(b,e,f){f.getResponseHeader("x-arango-async-id")&&d.queryCallbackFunction(f.getResponseHeader("x-arango-async-id"),a,c),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("["+b.errorNum+"]",b.errorMessage)}catch(e){arangoHelper.arangoError("Query error","ERROR")}d.handleResult(c)}}))},handleResult:function(){var a=this;window.progressView.hide(),$("#removeResults").show(),window.setTimeout(function(){a.aqlEditor.focus()},300),$(".centralRow").animate({scrollTop:$("#queryContent").height()},"fast")},setEditorAutoHeight:function(a){var b=$(".centralRow").height(),c=(b-250)/17;a.setOptions({maxLines:c,minLines:10})},deselect:function(a){var b=a.getSelection(),c=b.lead.row,d=b.lead.column;b.setSelectionRange({start:{row:c,column:d},end:{row:c,column:d}}),a.focus()},queryCallbackFunction:function(a,b,c){var d=this,e=function(a,b){$.ajax({url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)+"/cancel"),type:"PUT",success:function(){window.clearTimeout(d.checkQueryTimer),$("#outputEditorWrapper"+b).remove(),arangoHelper.arangoNotification("Query","Query canceled.")}})};$("#outputEditorWrapper"+c+" #cancelCurrentQuery").bind("click",function(){e(a,c)}),$("#outputEditorWrapper"+c+" #copy2aqlEditor").bind("click",function(){$("#toggleQueries1").is(":visible")||d.toggleQueries();var a=ace.edit("sentQueryEditor"+c).getValue(),b=JSON.parse(ace.edit("sentBindParamEditor"+c).getValue());d.aqlEditor.setValue(a,1),d.deselect(d.aqlEditor),Object.keys(b).length>0&&(d.bindParamTableObj=b,d.setCachedQuery(d.aqlEditor.getValue(),JSON.stringify(d.bindParamTableObj)),$("#bindParamEditor").is(":visible")?d.renderBindParamTable():(d.bindParamAceEditor.setValue(JSON.stringify(b),1),d.deselect(d.bindParamAceEditor))),$(".centralRow").animate({scrollTop:0},"fast"),d.resize()}),this.execPending=!1;var f=function(a){var c="";a.extra&&a.extra.warnings&&a.extra.warnings.length>0&&(c+="Warnings:\r\n\r\n",a.extra.warnings.forEach(function(a){c+="["+a.code+"], '"+a.message+"'\r\n"})),""!==c&&(c+="\r\nResult:\r\n\r\n"),b.setValue(c+JSON.stringify(a.result,void 0,2),1),b.getSession().setScrollTop(0)},g=function(a){f(a),window.progressView.hide();var e=function(a,b,d){d||(d=""),$("#outputEditorWrapper"+c+" .arangoToolbarTop .pull-left").append(''+a+"")};$("#outputEditorWrapper"+c+" .pull-left #spinner").remove();var g="-";a&&a.extra&&a.extra.stats&&(g=a.extra.stats.executionTime.toFixed(3)+" s"),e(a.result.length+" elements","fa-calculator"),e(g,"fa-clock-o"),a.extra&&a.extra.stats&&((a.extra.stats.writesExecuted>0||a.extra.stats.writesIgnored>0)&&(e(a.extra.stats.writesExecuted+" writes","fa-check-circle positive"),0===a.extra.stats.writesIgnored?e(a.extra.stats.writesIgnored+" writes ignored","fa-check-circle positive","additional"):e(a.extra.stats.writesIgnored+" writes ignored","fa-exclamation-circle warning","additional")),a.extra.stats.scannedFull>0?e("full collection scan","fa-exclamation-circle warning","additional"):e("no full collection scan","fa-check-circle positive","additional")),$("#outputEditorWrapper"+c+" .switchAce").show(),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" #downloadQueryResult").show(),$("#outputEditorWrapper"+c+" #copy2aqlEditor").show(),$("#outputEditorWrapper"+c+" #cancelCurrentQuery").remove(),d.setEditorAutoHeight(b),d.deselect(b),a.id&&$.ajax({url:"/_api/cursor/"+encodeURIComponent(a.id),type:"DELETE",error:function(a){console.log(a)}})},h=function(){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a,b,c){201===c.status?g(a):204===c.status&&(d.checkQueryTimer=window.setTimeout(function(){h()},500))},error:function(a){var b;try{if("Gone"===a.statusText)return arangoHelper.arangoNotification("Query","Query execution aborted."),void d.removeOutputEditor(c);b=JSON.parse(a.responseText),arangoHelper.arangoError("Query",b.errorMessage),b.errorMessage&&(null!==b.errorMessage.match(/\d+:\d+/g)?d.markPositionError(b.errorMessage.match(/'.*'/g)[0],b.errorMessage.match(/\d+:\d+/g)[0]):d.markPositionError(b.errorMessage.match(/\(\w+\)/g)[0]),d.removeOutputEditor(c))}catch(e){console.log(b),400!==b.code&&arangoHelper.arangoError("Query","Successfully aborted."),d.removeOutputEditor(c)}window.progressView.hide()}})};h()},markPositionError:function(a,b){var c;b&&(c=b.split(":")[0],a=a.substr(1,a.length-2));var d=this.aqlEditor.find(a);!d&&b&&(this.aqlEditor.selection.moveCursorToPosition({row:c,column:0}),this.aqlEditor.selection.selectLine()),window.setTimeout(function(){$(".ace_start").first().css("background","rgba(255, 129, 129, 0.7)")},100)},refreshAQL:function(){var a=this,b=function(b){b?arangoHelper.arangoError("Query","Could not reload Queries"):(a.updateLocalQueries(),a.updateQueryTable())}.bind(a),c=function(){a.getSystemQueries(b)}.bind(a);this.getAQL(c)},getSystemQueries:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:"js/arango/aqltemplates.json",contentType:"application/json",processData:!1,success:function(c){a&&a(!1),b.queries=c},error:function(){a&&a(!0),arangoHelper.arangoNotification("Query","Error while loading system templates")}})},updateLocalQueries:function(){var a=this;this.customQueries=[],this.collection.each(function(b){a.customQueries.push({name:b.get("name"),value:b.get("value"),parameter:b.get("parameter")})})},getAQL:function(a){var b=this;this.collection.fetch({success:function(){var c=localStorage.getItem("customQueries");if(c){var d=JSON.parse(c);_.each(d,function(a){b.collection.add({value:a.value,name:a.name})});var e=function(a){a?arangoHelper.arangoError("Custom Queries","Could not import old local storage queries"):localStorage.removeItem("customQueries")}.bind(b);b.collection.saveCollectionQueries(e)}b.updateLocalQueries(),a&&a()}})}})}(),function(){"use strict";window.ScaleView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("scaleView.ejs"),interval:1e4,knownServers:[],events:{"click #addCoord":"addCoord","click #removeCoord":"removeCoord","click #addDBs":"addDBs","click #removeDBs":"removeDBs"},setCoordSize:function(a){var b=this,c={numberOfCoordinators:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updateTable(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},setDBsSize:function(a){var b=this,c={numberOfDBServers:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updateTable(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},addCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!0)); -},removeCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!1,!0))},addDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!0))},removeDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!1,!0))},readNumberFromID:function(a,b,c){var d=$(a).html(),e=!1;try{e=JSON.parse(d)}catch(f){}return b&&e++,c&&1!==e&&e--,e},initialize:function(a){var b=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#sNodes"===window.location.hash&&b.coordinators.fetch({success:function(){b.dbServers.fetch({success:function(){b.continueRender(!0)}})}})},this.interval))},render:function(){var a=this,b=function(){var b=function(){a.continueRender()}.bind(this);this.waitForDBServers(b)}.bind(this);this.initDoneCoords?b():this.waitForCoordinators(b),window.arangoHelper.buildNodesSubNav("scale")},continueRender:function(a){var b,c,d=this;b=this.coordinators.toJSON(),c=this.dbServers.toJSON(),this.$el.html(this.template.render({runningCoords:b.length,runningDBs:c.length,plannedCoords:void 0,plannedDBs:void 0,initialized:a})),$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",processData:!1,success:function(a){d.updateTable(a)}})},updateTable:function(a){var b='scaling in progress ',c='no scaling process active';a.numberOfCoordinators&&($("#plannedCoords").html(a.numberOfCoordinators),this.coordinators.toJSON().length===a.numberOfCoordinators?$("#statusCoords").html(c):$("#statusCoords").html(b)),a.numberOfDBServers&&($("#plannedDBs").html(a.numberOfDBServers),this.dbServers.toJSON().length===a.numberOfDBServers?$("#statusDBs").html(c):$("#statusDBs").html(b))},waitForDBServers:function(a){var b=this;0===this.dbServers.length?window.setInterval(function(){b.waitForDBServers(a)},300):a()},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(b.initDoneCoords=!0,a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.SettingsView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Settings"),this.renderSettings()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},unloadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be unloaded."):void 0===a?(this.model.set("status","unloading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","unloaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" unloaded.")}.bind(this);this.model.unloadCollection(a),window.modalView.hide()},loadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be loaded."):void 0===a?(this.model.set("status","loading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","loaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" loaded.")}.bind(this);this.model.loadCollection(a),window.modalView.hide()},truncateCollection:function(){this.model.truncateCollection(),window.modalView.hide()},deleteCollection:function(){this.model.destroy({error:function(){arangoHelper.arangoError("Could not delete collection.")},success:function(){window.App.navigate("#collections",{trigger:!0})}})},saveModifiedCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c;c=b?this.model.get("name"):$("#change-collection-name").val();var d=this.model.get("status");if("loaded"===d){var e;try{e=JSON.parse(1024*$("#change-collection-size").val()*1024)}catch(f){return arangoHelper.arangoError("Please enter a valid number"),0}var g;try{if(g=JSON.parse($("#change-index-buckets").val()),1>g||parseInt(g)!==Math.pow(2,Math.log2(g)))throw"invalid indexBuckets value"}catch(f){return arangoHelper.arangoError("Please enter a valid number of index buckets"),0}var h=function(a){a?arangoHelper.arangoError("Collection error: "+a.responseText):(arangoHelper.arangoNotification("Collection: Successfully changed."),window.App.navigate("#cSettings/"+c,{trigger:!0}))}.bind(this),i=function(a){if(a)arangoHelper.arangoError("Collection error: "+a.responseText);else{var b=$("#change-collection-sync").val();this.model.changeCollection(b,e,g,h)}}.bind(this);this.model.renameCollection(c,i)}else if("unloaded"===d)if(this.model.get("name")!==c){var j=function(a,b){a?arangoHelper.arangoError("Collection"+b.responseText):(arangoHelper.arangoNotification("CollectionSuccessfully changed."),window.App.navigate("#cSettings/"+c,{trigger:!0}))}.bind(this);this.model.renameCollection(c,j)}else window.modalView.hide()}}.bind(this);window.isCoordinator(a)},renderSettings:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c=!1;"loaded"===this.model.get("status")&&(c=!0);var d=[],e=[];b||e.push(window.modalView.createTextEntry("change-collection-name","Name",this.model.get("name"),!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}]));var f=function(){e.push(window.modalView.createReadOnlyEntry("change-collection-id","ID",this.model.get("id"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-type","Type",this.model.get("type"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-status","Status",this.model.get("status"),"")),d.push(window.modalView.createDeleteButton("Delete",this.deleteCollection.bind(this))),d.push(window.modalView.createDeleteButton("Truncate",this.truncateCollection.bind(this))),c?d.push(window.modalView.createNotificationButton("Unload",this.unloadCollection.bind(this))):d.push(window.modalView.createNotificationButton("Load",this.loadCollection.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.saveModifiedCollection.bind(this)));var a=["General","Indices"],b=["modalTable.ejs","indicesView.ejs"];window.modalView.show(b,"Modify Collection",d,e,null,null,this.events,null,a,"content"),$($("#infoTab").children()[1]).remove()}.bind(this);if(c){var g=function(a,b){if(a)arangoHelper.arangoError("Collection","Could not fetch properties");else{var c=b.journalSize/1048576,d=b.indexBuckets,g=b.waitForSync;e.push(window.modalView.createTextEntry("change-collection-size","Journal size",c,"The maximal size of a journal or datafile (in MB). Must be at least 1.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),e.push(window.modalView.createTextEntry("change-index-buckets","Index buckets",d,"The number of index buckets for this collection. Must be at least 1 and a power of 2.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[1-9][0-9]*$/),msg:"Must be a number greater than 1 and a power of 2."}])),e.push(window.modalView.createSelectEntry("change-collection-sync","Wait for sync",g,"Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}]))}f()}.bind(this);this.model.getProperties(g)}else f()}}.bind(this);window.isCoordinator(a)}})}(),function(){"use strict";window.ShardsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("shardsView.ejs"),interval:1e4,knownServers:[],events:{"click #shardsContent .pure-table-row":"moveShard","click #rebalanceShards":"rebalanceShards"},initialize:function(a){var b=this;b.dbServers=a.dbServers,clearInterval(this.intervalFunction),window.App.isCluster&&(this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#shards"===window.location.hash&&b.render(!1)},this.interval))},render:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/shardDistribution"),contentType:"application/json",processData:!1,async:!0,success:function(a){b.continueRender(a)},error:function(){arangoHelper.arangoError("Cluster","Could not fetch sharding information.")}}),a!==!1&&arangoHelper.buildNodesSubNav("Shards")},moveShard:function(a){var b=window.App.currentDB.get("name"),c=$(a.currentTarget).attr("collection"),d=$(a.currentTarget).attr("shard"),e=$(a.currentTarget).attr("leader"),f=[],g=[],h=[];this.dbServers[0].each(function(a){a.get("name")!==e&&h.push({value:a.get("name"),label:a.get("name")})}),h=h.reverse(),g.push(window.modalView.createSelectEntry("toDBServer","Destination",void 0,"Please select the target databse server. The selected database server will be the new leader of the shard.",h)),f.push(window.modalView.createSuccessButton("Move",this.confirmMoveShards.bind(this,b,c,d,e))),window.modalView.show("modalTable.ejs","Move shard: "+d,f,g)},confirmMoveShards:function(a,b,c,d){var e=this,f=$("#toDBServer").val(),g={database:a,collection:b,shard:c,fromServer:d,toServer:f};$.ajax({type:"POST",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/moveShard"),contentType:"application/json",processData:!1,data:JSON.stringify(g),async:!0,success:function(a){a===!0&&(window.setTimeout(function(){e.render(!1)},1500),arangoHelper.arangoNotification("Shard "+c+" will be moved to "+f+"."))},error:function(){arangoHelper.arangoNotification("Shard "+c+" could not be moved to "+f+".")}}),window.modalView.hide()},rebalanceShards:function(){var a=this;$.ajax({type:"POST",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/rebalanceShards"),contentType:"application/json",processData:!1,data:JSON.stringify({}),async:!0,success:function(b){b===!0&&(window.setTimeout(function(){a.render(!1)},1500),arangoHelper.arangoNotification("Started rebalance process."))},error:function(){arangoHelper.arangoNotification("Could not start rebalance process.")}}),window.modalView.hide()},continueRender:function(a){delete a.code,delete a.error,this.$el.html(this.template.render({collections:a}))},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.ShowClusterView=Backbone.View.extend({detailEl:"#modalPlaceholder",el:"#content",defaultFrame:12e5,template:templateEngine.createTemplate("showCluster.ejs"),modal:templateEngine.createTemplate("waitModal.ejs"),detailTemplate:templateEngine.createTemplate("detailView.ejs"),events:{"change #selectDB":"updateCollections","change #selectCol":"updateShards","click .dbserver.success":"dashboard","click .coordinator.success":"dashboard"},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","icon").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},updateServerTime:function(){this.serverTime=(new Date).getTime()},setShowAll:function(){this.graphShowAll=!0},resetShowAll:function(){this.graphShowAll=!1,this.renderLineChart()},initialize:function(a){this.options=a,this.interval=1e4,this.isUpdating=!1,this.timer=null,this.knownServers=[],this.graph=void 0,this.graphShowAll=!1,this.updateServerTime(),this.dygraphConfig=this.options.dygraphConfig,this.dbservers=new window.ClusterServers([],{interval:this.interval}),this.coordinators=new window.ClusterCoordinators([],{interval:this.interval}),this.documentStore=new window.arangoDocuments,this.statisticsDescription=new window.StatisticsDescription,this.statisticsDescription.fetch({async:!1}),this.dbs=new window.ClusterDatabases([],{interval:this.interval}),this.cols=new window.ClusterCollections,this.shards=new window.ClusterShards,this.startUpdating()},listByAddress:function(a){var b={},c=this;this.dbservers.byAddress(b,function(b){c.coordinators.byAddress(b,a)})},updateCollections:function(){var a=this,b=$("#selectCol"),c=$("#selectDB").find(":selected").attr("id");if(c){var d=b.find(":selected").attr("id");b.html(""),this.cols.getList(c,function(c){_.each(_.pluck(c,"name"),function(a){b.append('")});var e=$("#"+d,b);1===e.length&&e.prop("selected",!0),a.updateShards()})}},updateShards:function(){var a=$("#selectDB").find(":selected").attr("id"),b=$("#selectCol").find(":selected").attr("id");this.shards.getList(a,b,function(a){$(".shardCounter").html("0"),_.each(a,function(a){$("#"+a.server+"Shards").html(a.shards.length)})})},updateServerStatus:function(a){var b=this,c=function(a,b,c){var d,e,f=c;f=f.replace(/\./g,"-"),f=f.replace(/\:/g,"_"),e=$("#id"+f),e.length<1||(d=e.attr("class").split(/\s+/)[1],e.attr("class",a+" "+d+" "+b),"coordinator"===a&&("success"===b?$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!1):$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!0)))};this.coordinators.getStatuses(c.bind(this,"coordinator"),function(){b.dbservers.getStatuses(c.bind(b,"dbserver")),a()})},updateDBDetailList:function(){var a=this,b=$("#selectDB"),c=b.find(":selected").attr("id");b.html(""),this.dbs.getList(function(d){_.each(_.pluck(d,"name"),function(a){b.append('")});var e=$("#"+c,b);1===e.length&&e.prop("selected",!0),a.updateCollections()})},rerender:function(){var a=this;this.updateServerStatus(function(){a.getServerStatistics(function(){a.updateServerTime(),a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList()})})},render:function(){this.knownServers=[],delete this.hist;var a=this;this.listByAddress(function(b){1===Object.keys(b).length?a.type="testPlan":a.type="other",a.updateDBDetailList(),a.dbs.getList(function(c){$(a.el).html(a.template.render({dbs:_.pluck(c,"name"),byAddress:b,type:a.type})),$(a.el).append(a.modal.render({})),a.replaceSVGs(),a.getServerStatistics(function(){a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList(),a.startUpdating()})})})},generatePieData:function(){var a=[],b=this;return this.data.forEach(function(c){a.push({key:c.get("name"),value:c.get("system").virtualSize,time:b.serverTime})}),a},addStatisticsItem:function(a,b,c,d){var e=this;e.hasOwnProperty("hist")||(e.hist={}),e.hist.hasOwnProperty(a)||(e.hist[a]=[]);var f=e.hist[a],g=f.length;if(0===g)f.push({time:b,snap:d,requests:c,requestsPerSecond:0});else{var h=f[g-1].time,i=f[g-1].requests;if(c>i){var j=b-h,k=0;j>0&&(k=(c-i)/j),f.push({time:b,snap:d,requests:c,requestsPerSecond:k})}}},getServerStatistics:function(a){var b=this,c=Math.round(b.serverTime/1e3);this.data=void 0;var d=new window.ClusterStatisticsCollection,e=this.coordinators.first();this.dbservers.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=e.get("protocol")+"://"+e.get("address")+"/_admin/clusterStatistics?DBserver="+a.get("name"),d.add(c)}}),this.coordinators.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=a.get("protocol")+"://"+a.get("address")+"/_admin/statistics",d.add(c)}});var f=d.size();this.data=[];var g=function(d){f--;var e=d.get("time"),g=d.get("name"),h=d.get("http").requestsTotal;b.addStatisticsItem(g,e,h,c),b.data.push(d),0===f&&a()},h=function(){f--,0===f&&a()};d.fetch(g,h)},renderPieChart:function(a){var b=$("#clusterGraphs svg").width(),c=$("#clusterGraphs svg").height(),d=Math.min(b,c)/2,e=this.dygraphConfig.colors,f=d3.svg.arc().outerRadius(d-20).innerRadius(0),g=d3.layout.pie().sort(function(a){return a.value}).value(function(a){return a.value});d3.select("#clusterGraphs").select("svg").remove();var h=d3.select("#clusterGraphs").append("svg").attr("class","clusterChart").append("g").attr("transform","translate("+b/2+","+(c/2-10)+")"),i=d3.svg.arc().outerRadius(d-2).innerRadius(d-2),j=h.selectAll(".arc").data(g(a)).enter().append("g").attr("class","slice");j.append("path").attr("d",f).style("fill",function(a,b){return e[b%e.length]}).style("stroke",function(a,b){return e[b%e.length]}),j.append("text").attr("transform",function(a){return"translate("+f.centroid(a)+")"}).style("text-anchor","middle").text(function(a){var b=a.data.value/1024/1024/1024;return b.toFixed(2)}),j.append("text").attr("transform",function(a){return"translate("+i.centroid(a)+")"}).style("text-anchor","middle").text(function(a){return a.data.key})},renderLineChart:function(){var a,b,c,d,e,f,g=this,h=1200,i=[],j=[],k=Math.round((new Date).getTime()/1e3)-h,l=g.knownServers,m=function(){return null};for(c=0;cf||(j.hasOwnProperty(f)?a=j[f]:(e=new Date(1e3*f),a=j[f]=[e].concat(l.map(m))),a[c+1]=b[d].requestsPerSecond);i=[],Object.keys(j).sort().forEach(function(a){i.push(j[a])});var n=this.dygraphConfig.getDefaultConfig("clusterRequestsPerSecond");n.labelsDiv=$("#lineGraphLegend")[0],n.labels=["datetime"].concat(l),g.graph=new Dygraph(document.getElementById("lineGraph"),i,n)},stopUpdating:function(){window.clearTimeout(this.timer),delete this.graph,this.isUpdating=!1},startUpdating:function(){if(!this.isUpdating){this.isUpdating=!0;var a=this;this.timer=window.setInterval(function(){a.rerender()},this.interval)}},dashboard:function(a){this.stopUpdating();var b,c,d=$(a.currentTarget),e={},f=d.attr("id");f=f.replace(/\-/g,"."),f=f.replace(/\_/g,":"),f=f.substr(2),e.raw=f,e.isDBServer=d.hasClass("dbserver"),e.isDBServer?(b=this.dbservers.findWhere({address:e.raw}),c=this.coordinators.findWhere({status:"ok"}),e.endpoint=c.get("protocol")+"://"+c.get("address")):(b=this.coordinators.findWhere({address:e.raw}),e.endpoint=b.get("protocol")+"://"+b.get("address")),e.target=encodeURIComponent(b.get("name")),window.App.serverToShow=e,window.App.dashboard()},getCurrentSize:function(a){"#"!==a.substr(0,1)&&(a="#"+a);var b,c;return $(a).attr("style",""),b=$(a).height(),c=$(a).width(),{height:b,width:c}},resize:function(){var a;this.graph&&(a=this.getCurrentSize(this.graph.maindiv_.id),this.graph.resize(a.width,a.height))}})}(),function(){"use strict";window.SpotlightView=Backbone.View.extend({template:templateEngine.createTemplate("spotlightView.ejs"),el:"#spotlightPlaceholder",displayLimit:8,typeahead:null,callbackSuccess:null,callbackCancel:null,collections:{system:[],doc:[],edge:[]},events:{"focusout #spotlight .tt-input":"hide","keyup #spotlight .typeahead":"listenKey"},aqlKeywordsArray:[],aqlBuiltinFunctionsArray:[],aqlKeywords:"for|return|filter|sort|limit|let|collect|asc|desc|in|into|insert|update|remove|replace|upsert|options|with|and|or|not|distinct|graph|outbound|inbound|any|all|none|aggregate|like|count|shortest_path",hide:function(){this.typeahead=$("#spotlight .typeahead").typeahead("destroy"),$(this.el).hide()},listenKey:function(a){27===a.keyCode?(this.hide(),this.callbackSuccess&&this.callbackCancel()):13===a.keyCode&&this.callbackSuccess&&(this.hide(),this.callbackSuccess($(this.typeahead).val()))},substringMatcher:function(a){return function(b,c){var d,e;d=[],e=new RegExp(b,"i"),_.each(a,function(a){e.test(a)&&d.push(a)}),c(d)}},updateDatasets:function(){var a=this;this.collections={system:[],doc:[],edge:[]},window.App.arangoCollectionsStore.each(function(b){b.get("isSystem")?a.collections.system.push(b.get("name")):"document"===b.get("type")?a.collections.doc.push(b.get("name")):a.collections.edge.push(b.get("name"))})},stringToArray:function(){var a=this;_.each(this.aqlKeywords.split("|"),function(b){a.aqlKeywordsArray.push(b.toUpperCase())}),a.aqlKeywordsArray.push(!0),a.aqlKeywordsArray.push(!1),a.aqlKeywordsArray.push(null)},fetchKeywords:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/aql-builtin"),contentType:"application/json",success:function(c){b.stringToArray(),b.updateDatasets(),_.each(c.functions,function(a){b.aqlBuiltinFunctionsArray.push(a.name)}),a&&a()},error:function(){a&&a(),arangoHelper.arangoError("AQL","Could not fetch AQL function definition.")}})},show:function(a,b,c){var d=this;this.callbackSuccess=a,this.callbackCancel=b;var e=function(){var a=function(a,b,c){var d='

    '+a+"

    ";return b&&(d+=''),c&&(d+=''+c.toUpperCase()+""),d+="
    "};$(this.el).html(this.template.render({})),$(this.el).show(),"aql"===c?this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Functions",source:this.substringMatcher(this.aqlBuiltinFunctionsArray),limit:this.displayLimit,templates:{header:a("Functions","fa-code","aql")}},{name:"Keywords",source:this.substringMatcher(this.aqlKeywordsArray),limit:this.displayLimit,templates:{header:a("Keywords","fa-code","aql")}},{name:"Documents",source:this.substringMatcher(this.collections.doc),limit:this.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:this.substringMatcher(this.collections.edge),limit:this.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:this.displayLimit,source:this.substringMatcher(this.collections.system),templates:{header:a("System","fa-cogs","Collection")}}):this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Documents",source:this.substringMatcher(this.collections.doc),limit:this.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:this.substringMatcher(this.collections.edge),limit:this.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:this.displayLimit,source:this.substringMatcher(this.collections.system),templates:{header:a("System","fa-cogs","Collection")}}),$("#spotlight .typeahead").focus()}.bind(this);0===d.aqlBuiltinFunctionsArray.length?this.fetchKeywords(e):e()}})}(),function(){"use strict";window.StatisticBarView=Backbone.View.extend({el:"#statisticBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab"},template:templateEngine.createTemplate("statisticBarView.ejs"),initialize:function(a){this.currentDB=a.currentDB},replaceSVG:function(a){var b=a.attr("id"),c=a.attr("class"),d=a.attr("src");$.get(d,function(d){var e=$(d).find("svg");void 0===b&&(e=e.attr("id",b)),void 0===c&&(e=e.attr("class",c+" replaced-svg")),e=e.removeAttr("xmlns:a"),a.replaceWith(e)},"xml")},render:function(){var a=this;return $(this.el).html(this.template.render({isSystem:this.currentDB.get("isSystem")})),$("img.svg").each(function(){a.replaceSVG($(this))}),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id;return"links"===c?($("#link_dropdown").slideToggle(200),void a.preventDefault()):"tools"===c?($("#tools_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},handleSelectNavigation:function(){$("#arangoCollectionSelect").change(function(){var a=$(this).find("option:selected").val();window.App.navigate(a,{trigger:!0})})},selectMenuItem:function(a){$(".navlist li").removeClass("active"),a&&$("."+a).addClass("active")}})}(),function(){"use strict";window.SupportView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("supportView.ejs"),events:{"click .subViewNavbar .subMenuEntry":"toggleViews"},render:function(){this.$el.html(this.template.render({}))},resize:function(){$(".innerContent").height($(".centralRow").height()-170)},renderSwagger:function(){var a=window.location.pathname.split("/"),b=window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/"+a[1]+"/"+a[2]+"/_admin/aardvark/api/index.html";$("#swagger").html(""),$("#swagger").append('')},toggleViews:function(a){var b=this,c=a.currentTarget.id.split("-")[0],d=["community","documentation","swagger"];_.each(d,function(a){c!==a?$("#"+a).hide():("swagger"===c&&(b.renderSwagger(),$("#swagger iframe").css("height","100%"),$("#swagger iframe").css("width","100%"),$("#swagger iframe").css("margin-top","-13px"),b.resize()),$("#"+a).show())}),$(".subMenuEntries").children().removeClass("active"),$("#"+c+"-support").addClass("active")}})}(),function(){"use strict";window.TableView=Backbone.View.extend({template:templateEngine.createTemplate("tableView.ejs"),loading:templateEngine.createTemplate("loadingTableView.ejs"),initialize:function(a){this.rowClickCallback=a.rowClick},events:{"click .pure-table-body .pure-table-row":"rowClick","click .deleteButton":"removeClick"},rowClick:function(a){this.hasOwnProperty("rowClickCallback")&&this.rowClickCallback(a)},removeClick:function(a){this.hasOwnProperty("removeClickCallback")&&(this.removeClickCallback(a),a.stopPropagation())},setRowClick:function(a){this.rowClickCallback=a},setRemoveClick:function(a){this.removeClickCallback=a},render:function(){$(this.el).html(this.template.render({docs:this.collection}))},drawLoading:function(){$(this.el).html(this.loading.render({}))}})}(),function(){"use strict";window.UserBarView=Backbone.View.extend({events:{"change #userBarSelect":"navigateBySelect","click .tab":"navigateByTab","mouseenter .dropdown":"showDropdown","mouseleave .dropdown":"hideDropdown","click #userLogoutIcon":"userLogout","click #userLogout":"userLogout"},initialize:function(a){this.userCollection=a.userCollection,this.userCollection.fetch({cache:!1,async:!0}),this.userCollection.bind("change:extra",this.render.bind(this))},template:templateEngine.createTemplate("userBarView.ejs"),navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement;b=$(b).closest("a");var c=b.attr("id");return"user"===c?($("#user_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},toggleUserMenu:function(){$("#userBar .subBarDropdown").toggle()},showDropdown:function(){$("#user_dropdown").fadeIn(1)},hideDropdown:function(){$("#user_dropdown").fadeOut(1)},render:function(){if(frontendConfig.authenticationEnabled!==!1){var a=this,b=function(a,b){if(a)arangoHelper.arangoErro("User","Could not fetch user.");else{var c=null,d=null,e=!1,f=null;if(b!==!1)return f=this.userCollection.findWhere({user:b}),f.set({loggedIn:!0}),d=f.get("extra").name,c=f.get("extra").img,e=f.get("active"),c=c?"https://s.gravatar.com/avatar/"+c+"?s=80":"img/default_user.png",d||(d=""),this.$el=$("#userBar"),this.$el.html(this.template.render({img:c,name:d,username:b,active:e})),this.delegateEvents(),this.$el}}.bind(this);$("#userBar").on("click",function(){a.toggleUserMenu()}),this.userCollection.whoAmI(b)}},userLogout:function(){var a=function(a){a?arangoHelper.arangoError("User","Logout error"):this.userCollection.logout()}.bind(this);this.userCollection.whoAmI(a)}})}(),function(){"use strict";window.userManagementView=Backbone.View.extend({el:"#content",el2:"#userManagementThumbnailsIn",template:templateEngine.createTemplate("userManagementView.ejs"),events:{"click #createUser":"createUser","click #submitCreateUser":"submitCreateUser","click #userManagementThumbnailsIn .tile":"editUser","click #submitEditUser":"submitEditUser","click #userManagementToggle":"toggleView","keyup #userManagementSearchInput":"search","click #userManagementSearchSubmit":"search","click #callEditUserPassword":"editUserPassword","click #submitEditUserPassword":"submitEditUserPassword","click #submitEditCurrentUserProfile":"submitEditCurrentUserProfile","click .css-label":"checkBoxes","change #userSortDesc":"sorting"},dropdownVisible:!1,initialize:function(){var a=this,b=function(a,b){frontendConfig.authenticationEnabled===!0&&(a||null===b?arangoHelper.arangoError("User","Could not fetch user data"):this.currentUser=this.collection.findWhere({user:b}))}.bind(this);this.collection.fetch({success:function(){a.collection.whoAmI(b)}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},sorting:function(){$("#userSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#userManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},render:function(a){var b=!1;$("#userManagementDropdown").is(":visible")&&(b=!0);var c=function(){this.collection.sort(),$(this.el).html(this.template.render({collection:this.collection,searchString:""})),b===!0&&($("#userManagementDropdown2").show(),$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown").show()),a&&this.editCurrentUser(),arangoHelper.setCheckboxStatus("#userManagementDropdown")}.bind(this);return this.collection.fetch({success:function(){c()}}),this},search:function(){var a,b,c,d;a=$("#userManagementSearchInput"),b=$("#userManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("user").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b})),a=$("#userManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},createUser:function(a){a.preventDefault(),this.createCreateUserModal()},submitCreateUser:function(){var a=this,b=$("#newUsername").val(),c=$("#newName").val(),d=$("#newPassword").val(),e=$("#newStatus").is(":checked");if(this.validateUserInfo(c,b,d,e)){var f={user:b,passwd:d,active:e,extra:{name:c}};this.collection.create(f,{wait:!0,error:function(a,b){arangoHelper.parseError("User",b,a)},success:function(){a.updateUserManagement(),window.modalView.hide()}})}},validateUserInfo:function(a,b,c,d){return""===b?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):!0},updateUserManagement:function(){var a=this;this.collection.fetch({success:function(){a.render()}})},editUser:function(a){if("createUser"!==$(a.currentTarget).find("a").attr("id")){$(a.currentTarget).hasClass("tile")&&(a.currentTarget=$(a.currentTarget).find("img")),this.collection.fetch();var b=this.evaluateUserName($(a.currentTarget).attr("id"),"_edit-user");""===b&&(b=$(a.currentTarget).attr("id")),window.App.navigate("user/"+encodeURIComponent(b),{trigger:!0})}},toggleView:function(){$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown2").slideToggle(200)},createCreateUserModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newUsername","Username","",!1,"Username",!0,[{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only symbols, "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No username given."}])),b.push(window.modalView.createTextEntry("newName","Name","",!1,"Name",!1)),b.push(window.modalView.createPasswordEntry("newPassword","Password","",!1,"",!1)),b.push(window.modalView.createCheckboxEntry("newStatus","Active","active",!1,!0)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateUser.bind(this))),window.modalView.show("modalTable.ejs","Create New User",a,b)},evaluateUserName:function(a,b){if(a){var c=a.lastIndexOf(b);return a.substring(0,c)}},updateUserProfile:function(){var a=this;this.collection.fetch({success:function(){a.render()}})}})}(),function(){"use strict";window.UserPermissionView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("userPermissionView.ejs"), -initialize:function(a){this.username=a.username},events:{'click #userPermissionView [type="checkbox"]':"setPermission"},render:function(){var a=this;this.collection.fetch({success:function(){a.continueRender()}})},setPermission:function(a){var b=$(a.currentTarget).is(":checked"),c=$(a.currentTarget).attr("name");b?this.grantPermission(this.currentUser.get("user"),c):this.revokePermission(this.currentUser.get("user"),c)},grantPermission:function(a,b){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})})},revokePermission:function(a,b){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:""})})},continueRender:function(){var a=this;this.currentUser=this.collection.findWhere({user:this.username}),this.breadcrumb(),arangoHelper.buildUserSubNav(this.currentUser.get("user"),"Permissions"),$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_api/database/user"),contentType:"application/json",success:function(b){var c=b.result;$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a.currentUser.get("user"))+"/database"),contentType:"application/json",success:function(b){var d=b.result;a.finishRender(c,d)}})}})},finishRender:function(a,b){$(this.el).html(this.template.render({allDBs:a,permissions:b}))},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("User: "+this.currentUser.get("user"))}})}(),function(){"use strict";window.UserView=Backbone.View.extend({el:"#content",initialize:function(a){this.username=a.username},render:function(){var a=this;this.collection.fetch({success:function(){a.continueRender()}})},editCurrentUser:function(){this.createEditCurrentUserModal(this.currentUser.get("user"),this.currentUser.get("extra").name,this.currentUser.get("extra").img)},continueRender:function(){this.breadcrumb(),this.currentUser=this.collection.findWhere({user:this.username}),arangoHelper.buildUserSubNav(this.currentUser.get("user"),"General"),this.currentUser.get("loggedIn")?this.editCurrentUser():this.createEditUserModal(this.currentUser.get("user"),this.currentUser.get("extra").name,this.currentUser.get("active"))},createEditUserPasswordModal:function(){var a=[],b=[];b.push(window.modalView.createPasswordEntry("newCurrentPassword","New Password","",!1,"new password",!1)),b.push(window.modalView.createPasswordEntry("confirmCurrentPassword","Confirm New Password","",!1,"confirm new password",!1)),a.push(window.modalView.createSuccessButton("Save",this.submitEditUserPassword.bind(this))),window.modalView.show("modalTable.ejs","Edit User Password",a,b)},createEditCurrentUserModal:function(a,b,c){var d=[],e=[];e.push(window.modalView.createReadOnlyEntry("id_username","Username",a)),e.push(window.modalView.createTextEntry("editCurrentName","Name",b,!1,"Name",!1)),e.push(window.modalView.createTextEntry("editCurrentUserProfileImg","Gravatar account (Mail)",c,"Mailaddress or its md5 representation of your gravatar account. The address will be converted into a md5 string. Only the md5 string will be stored, not the mailaddress.","myAccount(at)gravatar.com")),d.push(window.modalView.createNotificationButton("Change Password",this.editUserPassword.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.submitEditCurrentUserProfile.bind(this))),window.modalView.show("modalTable.ejs","Edit User Profile",d,e,null,null,this.events,null,null,"content")},parseImgString:function(a){return-1===a.indexOf("@")?a:CryptoJS.MD5(a).toString()},createEditUserModal:function(a,b,c){var d,e;e=[{type:window.modalView.tables.READONLY,label:"Username",value:_.escape(a)},{type:window.modalView.tables.TEXT,label:"Name",value:b,id:"editName",placeholder:"Name"},{type:window.modalView.tables.CHECKBOX,label:"Active",value:"active",checked:c,id:"editStatus"}],d=[{title:"Delete",type:window.modalView.buttons.DELETE,callback:this.submitDeleteUser.bind(this,a)},{title:"Change Password",type:window.modalView.buttons.NOTIFICATION,callback:this.createEditUserPasswordModal.bind(this,a)},{title:"Save",type:window.modalView.buttons.SUCCESS,callback:this.submitEditUser.bind(this,a)}],window.modalView.show("modalTable.ejs","Edit User",d,e,null,null,this.events,null,null,"content")},validateStatus:function(a){return""===a?!1:!0},submitDeleteUser:function(a){var b=this.collection.findWhere({user:a});b.destroy({wait:!0}),window.App.navigate("#users",{trigger:!0})},submitEditCurrentUserProfile:function(){var a=$("#editCurrentName").val(),b=$("#editCurrentUserProfileImg").val();b=this.parseImgString(b);var c=function(a){a?arangoHelper.arangoError("User","Could not edit user settings"):(arangoHelper.arangoNotification("User","Changes confirmed."),this.updateUserProfile())}.bind(this);this.currentUser.setExtras(a,b,c),window.modalView.hide()},submitEditUserPassword:function(){var a=$("#newCurrentPassword").val(),b=$("#confirmCurrentPassword").val();$("#newCurrentPassword").val(""),$("#confirmCurrentPassword").val(""),$("#newCurrentPassword").closest("th").css("backgroundColor","white"),$("#confirmCurrentPassword").closest("th").css("backgroundColor","white");var c=!1;a!==b&&(arangoHelper.arangoError("User","New passwords do not match."),c=!0),c||(this.currentUser.setPassword(a),arangoHelper.arangoNotification("User","Password changed."),window.modalView.hide())},validateUsername:function(a){return""===a?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):a.match(/^[a-zA-Z][a-zA-Z0-9_\-]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},editUserPassword:function(){window.modalView.hide(),this.createEditUserPasswordModal()},validateName:function(a){return""===a?!0:a.match(/^[a-zA-Z][a-zA-Z0-9_\-\ ]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},submitEditUser:function(a){var b=$("#editName").val(),c=$("#editStatus").is(":checked");if(!this.validateStatus(c))return void $("#editStatus").closest("th").css("backgroundColor","red");if(!this.validateName(b))return void $("#editName").closest("th").css("backgroundColor","red");var d=this.collection.findWhere({user:a});console.log(d),d.save({extra:{name:b},active:c},{type:"PATCH",success:function(){arangoHelper.arangoNotification("User",d.get("user")+" updated.")},error:function(){arangoHelper.arangoError("User","Could not update "+d.get("user")+".")}})},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("User: "+this.username)}})}(),function(){"use strict";window.workMonitorView=Backbone.View.extend({el:"#content",id:"#workMonitorContent",template:templateEngine.createTemplate("workMonitorView.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),initialize:function(){},events:{},tableDescription:{id:"workMonitorTable",titles:["Type","Database","Task ID","Started","Url","User","Description","Method"],rows:[],unescaped:[!1,!1,!1,!1,!1,!1,!1,!1]},render:function(){var a=this;this.$el.html(this.template.render({})),this.collection.fetch({success:function(){a.parseTableData(),$(a.id).append(a.table.render({content:a.tableDescription}))}})},parseTableData:function(){var a=this;this.collection.each(function(b){if("AQL query"===b.get("type")){var c=b.get("parent");if(c)try{a.tableDescription.rows.push([b.get("type"),"(p) "+c.database,"(p) "+c.taskId,"(p) "+c.startTime,"(p) "+c.url,"(p) "+c.user,b.get("description"),"(p) "+c.method])}catch(d){console.log("some parse error")}}else"thread"!==b.get("type")&&a.tableDescription.rows.push([b.get("type"),b.get("database"),b.get("taskId"),b.get("startTime"),b.get("url"),b.get("user"),b.get("description"),b.get("method")])})}})}(),function(){"use strict";window.Router=Backbone.Router.extend({toUpdate:[],dbServers:[],isCluster:void 0,routes:{"":"cluster",dashboard:"dashboard",collections:"collections","new":"newCollection",login:"login","collection/:colid/documents/:pageid":"documents","cIndices/:colname":"cIndices","cSettings/:colname":"cSettings","cInfo/:colname":"cInfo","collection/:colid/:docid":"document",shell:"shell",queries:"query",workMonitor:"workMonitor",databases:"databases",settings:"databases",services:"applications","service/:mount":"applicationDetail",graphs:"graphManagement","graphs/:name":"showGraph",users:"userManagement","user/:name":"userView","user/:name/permission":"userPermissionView",userProfile:"userProfile",cluster:"cluster",nodes:"nodes",shards:"shards","node/:name":"node",logs:"logs",helpus:"helpUs",support:"support"},execute:function(a,b){$("#subNavigationBar .breadcrumb").html(""),$("#subNavigationBar .bottom").html(""),$("#loadingScreen").hide(),$("#content").show(),a&&a.apply(this,b)},checkUser:function(){var a=this;if("#login"!==window.location.hash){var b=function(){this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show()}.bind(this),c=function(c,d){frontendConfig.authenticationEnabled?(a.currentUser=d,c||null===d?"#login"!==window.location.hash&&this.navigate("login",{trigger:!0}):b()):b()}.bind(this);frontendConfig.authenticationEnabled?this.userCollection.whoAmI(c):(this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show())}},waitForInit:function(a,b,c){this.initFinished?(b||a(!0),b&&!c&&a(b,!0),b&&c&&a(b,c,!0)):setTimeout(function(){b||a(!1),b&&!c&&a(b,!1),b&&c&&a(b,c,!1)},350)},initFinished:!1,initialize:function(){frontendConfig.isCluster===!0&&(this.isCluster=!0),window.modalView=new window.ModalView,this.foxxList=new window.FoxxCollection,window.foxxInstallView=new window.FoxxInstallView({collection:this.foxxList}),window.progressView=new window.ProgressView;var a=this;this.userCollection=new window.ArangoUsers,this.initOnce=function(){this.initOnce=function(){};var b=function(b,c){a=this,c===!0&&a.coordinatorCollection.fetch({success:function(){a.fetchDBS()}})}.bind(this);window.isCoordinator(b),frontendConfig.isCluster===!1&&(this.initFinished=!0),this.arangoDatabase=new window.ArangoDatabase,this.currentDB=new window.CurrentDatabase,this.arangoCollectionsStore=new window.arangoCollections,this.arangoDocumentStore=new window.arangoDocument,this.coordinatorCollection=new window.ClusterCoordinators,arangoHelper.setDocumentStore(this.arangoDocumentStore),this.arangoCollectionsStore.fetch({cache:!1}),window.spotlightView=new window.SpotlightView({collection:this.arangoCollectionsStore}),this.footerView=new window.FooterView({collection:a.coordinatorCollection}),this.notificationList=new window.NotificationCollection,this.currentDB.fetch({cache:!1,success:function(){a.naviView=new window.NavigationView({database:a.arangoDatabase,currentDB:a.currentDB,notificationCollection:a.notificationList,userCollection:a.userCollection,isCluster:a.isCluster}),a.naviView.render()}}),this.queryCollection=new window.ArangoQueries,this.footerView.render(),window.checkVersion(),this.documentsView=new window.DocumentsView({collection:new window.arangoDocuments,documentStore:this.arangoDocumentStore,collectionsStore:this.arangoCollectionsStore})}.bind(this),$(window).resize(function(){a.handleResize()}),$(window).scroll(function(){})},handleScroll:function(){$(window).scrollTop()>50?($(".navbar > .secondary").css("top",$(window).scrollTop()),$(".navbar > .secondary").css("position","absolute"),$(".navbar > .secondary").css("z-index","10"),$(".navbar > .secondary").css("width",$(window).width())):($(".navbar > .secondary").css("top","0"),$(".navbar > .secondary").css("position","relative"),$(".navbar > .secondary").css("width",""))},cluster:function(a){return this.checkUser(),a?this.isCluster===!1||void 0===this.isCluster?void("_system"===this.currentDB.get("name")?(this.routes[""]="dashboard",this.navigate("#dashboard",{trigger:!0})):(this.routes[""]="collections",this.navigate("#collections",{trigger:!0}))):(this.clusterView||(this.clusterView=new window.ClusterView({coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.clusterView.render()):void this.waitForInit(this.cluster.bind(this))},node:function(a,b){return this.checkUser(),b&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodeView||(this.nodeView=new window.NodeView({coordname:a,coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.nodeView.render()):void this.waitForInit(this.node.bind(this),a)},shards:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.shardsView=new window.ShardsView({dbServers:this.dbServers}),void this.shardsView.render()):void this.waitForInit(this.shards.bind(this))},nodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView2({}),void this.nodesView.render()):void this.waitForInit(this.nodes.bind(this))},cNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"coordinator"}),void this.nodesView.render()):void this.waitForInit(this.cNodes.bind(this))},dNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):0===this.dbServers.length?void this.navigate("#cNodes",{trigger:!0}):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"dbserver"}),void this.nodesView.render()):void this.waitForInit(this.dNodes.bind(this))},sNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.scaleView=new window.ScaleView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0]}),void this.scaleView.render()):void this.waitForInit(this.sNodes.bind(this))},addAuth:function(a){var b=this.clusterPlan.get("user");if(!b)return a.abort(),void(this.isCheckingUser||this.requestAuth());var c=b.name,d=b.passwd,e=c.concat(":",d);a.setRequestHeader("Authorization","Basic "+btoa(e))},logs:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.logs.bind(this),a);if(!this.logsView){var c=new window.ArangoLogs({upto:!0,loglevel:4}),d=new window.ArangoLogs({loglevel:4}),e=new window.ArangoLogs({loglevel:3}),f=new window.ArangoLogs({loglevel:2}),g=new window.ArangoLogs({loglevel:1});this.logsView=new window.LogsView({logall:c,logdebug:d,loginfo:e,logwarning:f,logerror:g})}this.logsView.render()},applicationDetail:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.applicationDetail.bind(this),a);var c=function(){this.hasOwnProperty("applicationDetailView")||(this.applicationDetailView=new window.ApplicationDetailView({model:this.foxxList.get(decodeURIComponent(a))})),this.applicationDetailView.model=this.foxxList.get(decodeURIComponent(a)),this.applicationDetailView.render("swagger")}.bind(this);0===this.foxxList.length?this.foxxList.fetch({cache:!1,success:function(){c()}}):c()},login:function(){var a=function(a,b){this.loginView||(this.loginView=new window.loginView({collection:this.userCollection})),a||null===b?this.loginView.render():this.loginView.render(!0)}.bind(this);this.userCollection.whoAmI(a)},collections:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.collections.bind(this));var b=this;this.collectionsView||(this.collectionsView=new window.CollectionsView({collection:this.arangoCollectionsStore})),this.arangoCollectionsStore.fetch({cache:!1,success:function(){b.collectionsView.render()}})},cIndices:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.indicesView=new window.IndicesView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.indicesView.render()}}):void this.waitForInit(this.cIndices.bind(this),a)},cSettings:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.settingsView=new window.SettingsView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.settingsView.render()}}):void this.waitForInit(this.cSettings.bind(this),a)},cInfo:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.infoView=new window.InfoView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.infoView.render()}}):void this.waitForInit(this.cInfo.bind(this),a)},documents:function(a,b,c){return this.checkUser(),c?(this.documentsView||(this.documentsView=new window.DocumentsView({collection:new window.arangoDocuments,documentStore:this.arangoDocumentStore,collectionsStore:this.arangoCollectionsStore})),this.documentsView.setCollectionId(a,b),void this.documentsView.render()):void this.waitForInit(this.documents.bind(this),a,b)},document:function(a,b,c){if(this.checkUser(),!c)return void this.waitForInit(this.document.bind(this),a,b);this.documentView||(this.documentView=new window.DocumentView({collection:this.arangoDocumentStore})),this.documentView.colid=a;var d=window.location.hash.split("/")[2],e=(d.split("%").length-1)%3;decodeURI(d)!==d&&0!==e&&(d=decodeURIComponent(d)),this.documentView.docid=d,this.documentView.render();var f=function(a,b){a?console.log("Error","Could not fetch collection type"):this.documentView.setType(b)}.bind(this);arangoHelper.collectionApiType(a,null,f)},shell:function(a){return this.checkUser(),a?(this.shellView||(this.shellView=new window.shellView),void this.shellView.render()):void this.waitForInit(this.shell.bind(this))},query:function(a){return this.checkUser(),a?(this.queryView2||(this.queryView2=new window.queryView2({collection:this.queryCollection})),void this.queryView2.render()):void this.waitForInit(this.query.bind(this))},helpUs:function(a){return this.checkUser(),a?(this.testView||(this.helpUsView=new window.HelpUsView({})),void this.helpUsView.render()):void this.waitForInit(this.helpUs.bind(this))},support:function(a){return this.checkUser(),a?(this.testView||(this.supportView=new window.SupportView({})),void this.supportView.render()):void this.waitForInit(this.support.bind(this))},workMonitor:function(a){return this.checkUser(),a?(this.workMonitorCollection||(this.workMonitorCollection=new window.WorkMonitorCollection),this.workMonitorView||(this.workMonitorView=new window.workMonitorView({collection:this.workMonitorCollection})),void this.workMonitorView.render()):void this.waitForInit(this.workMonitor.bind(this))},queryManagement:function(a){return this.checkUser(),a?(this.queryManagementView||(this.queryManagementView=new window.queryManagementView({collection:void 0})),void this.queryManagementView.render()):void this.waitForInit(this.queryManagement.bind(this))},databases:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.databases.bind(this));var b=function(a){a?(arangoHelper.arangoError("DB","Could not get list of allowed databases"),this.navigate("#",{trigger:!0}),$("#databaseNavi").css("display","none"),$("#databaseNaviSelect").css("display","none")):(this.databaseView||(this.databaseView=new window.databaseView({users:this.userCollection,collection:this.arangoDatabase})),this.databaseView.render())}.bind(this);arangoHelper.databaseAllowed(b)},dashboard:function(a){return this.checkUser(),a?(void 0===this.dashboardView&&(this.dashboardView=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:this.arangoDatabase})),void this.dashboardView.render()):void this.waitForInit(this.dashboard.bind(this))},graphManagement:function(a){return this.checkUser(),a?(this.graphManagementView||(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore})),void this.graphManagementView.render()):void this.waitForInit(this.graphManagement.bind(this))},showGraph:function(a,b){return this.checkUser(),b?void(this.graphManagementView?this.graphManagementView.loadGraphViewer(a):(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore}),this.graphManagementView.render(a,!0))):void this.waitForInit(this.showGraph.bind(this),a)},applications:function(a){return this.checkUser(),a?(void 0===this.applicationsView&&(this.applicationsView=new window.ApplicationsView({collection:this.foxxList})),void this.applicationsView.reload()):void this.waitForInit(this.applications.bind(this))},handleSelectDatabase:function(a){return this.checkUser(),a?void this.naviView.handleSelectDatabase():void this.waitForInit(this.handleSelectDatabase.bind(this))},handleResize:function(){this.dashboardView&&this.dashboardView.resize(),this.graphManagementView&&this.graphManagementView.handleResize($("#content").width()),this.queryView&&this.queryView.resize(),this.queryView2&&this.queryView2.resize(),this.documentsView&&this.documentsView.resize(),this.documentView&&this.documentView.resize()},userPermissionView:function(a,b){if(this.checkUser(),b||null===b)this.userPermissionView=new window.UserPermissionView({collection:this.userCollection,databases:this.arangoDatabase,username:a}),this.userPermissionView.render();else if(b===!1)return void this.waitForInit(this.userPermissionView.bind(this),a)},userView:function(a,b){this.checkUser(),b||null===b?(this.userView=new window.UserView({collection:this.userCollection,username:a}),this.userView.render()):b===!1&&this.waitForInit(this.userView.bind(this),a)},userManagement:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.userManagementView({collection:this.userCollection})),void this.userManagementView.render()):void this.waitForInit(this.userManagement.bind(this))},userProfile:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.userManagementView({collection:this.userCollection})),void this.userManagementView.render(!0)):void this.waitForInit(this.userProfile.bind(this))},fetchDBS:function(a){var b=this,c=!1;this.coordinatorCollection.each(function(a){b.dbServers.push(new window.ClusterServers([],{host:a.get("address")}))}),this.initFinished=!0,_.each(this.dbServers,function(b){b.fetch({success:function(){c===!1&&a&&(a(),c=!0)}})})},getNewRoute:function(a){return"http://"+a},registerForUpdate:function(a){this.toUpdate.push(a),a.updateUrl()}})}(),function(){"use strict";var a=function(a,b){var c=[];c.push(window.modalView.createSuccessButton("Download Page",function(){window.open("https://www.arangodb.com/download","_blank"),window.modalView.hide()}));var d=[],e=window.modalView.createReadOnlyEntry.bind(window.modalView);d.push(e("current","Current",a.toString())),b.major&&d.push(e("major","Major",b.major.version)),b.minor&&d.push(e("minor","Minor",b.minor.version)),b.bugfix&&d.push(e("bugfix","Bugfix",b.bugfix.version)),window.modalView.show("modalTable.ejs","New Version Available",c,d)};window.checkVersion=function(){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=window.versionHelper.fromString(b.version);$(".navbar #currentVersion").text(" "+b.version.substr(0,3)),window.parseVersions=function(b){return _.isEmpty(b)?void $("#currentVersion").addClass("up-to-date"):($("#currentVersion").addClass("out-of-date"),void $("#currentVersion").click(function(){a(c,b)}))},$.ajax({type:"GET",async:!0,crossDomain:!0,timeout:3e3,dataType:"jsonp",url:"https://www.arangodb.com/repositories/versions.php?jsonp=parseVersions&version="+encodeURIComponent(c.toString())})}})}}(),function(){"use strict";window.hasOwnProperty("TEST_BUILD")||($(document).ajaxSend(function(a,b,c){var d=window.arangoHelper.getCurrentJwt();d&&b.setRequestHeader("Authorization","bearer "+d)}),$(document).ready(function(){window.App=new window.Router,Backbone.history.start(),window.App.handleResize()}),$(document).click(function(a){a.stopPropagation(),$(a.target).hasClass("subBarDropdown")||$(a.target).hasClass("dropdown-header")||$(a.target).hasClass("dropdown-footer")||$(a.target).hasClass("toggle")||$("#userInfo").is(":visible")&&$(".subBarDropdown").hide()}))}(); \ No newline at end of file +!1)},createDatabase:function(a){a.preventDefault(),this.createAddDatabaseModal()},switchDatabase:function(a){if(!$(a.target).parent().hasClass("iconSet")){var b=$(a.currentTarget).find("h5").text();if(""!==b){var c=this.collection.createDatabaseURL(b);window.location.replace(c)}}},submitCreateDatabase:function(){var a=this,b=$("#newDatabaseName").val(),c=$("#newUser").val(),d={name:b};this.collection.create(d,{wait:!1,error:function(c,d){console.log("ERROR"),a.handleError(d.status,d.statusText,b)},success:function(){"root"!==c&&$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(c)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})}),$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/root/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})}),a.updateDatabases(),arangoHelper.arangoNotification("Database created."),window.modalView.hide(),window.App.naviView.dbSelectionView.render($("#dbSelect"))}})},submitDeleteDatabase:function(a){var b=this.collection.where({name:a});b[0].destroy({wait:!0,url:arangoHelper.databaseUrl("/_api/database/"+a)}),this.updateDatabases(),window.App.naviView.dbSelectionView.render($("#dbSelect")),window.modalView.hide()},changeDatabase:function(a){var b=$(a.currentTarget).attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},updateDatabases:function(){var a=this;this.collection.fetch({cache:!1,success:function(){a.render(),window.App.handleSelectDatabase()}})},editDatabase:function(a){var b=this.evaluateDatabaseName($(a.currentTarget).attr("id"),"_edit-database"),c=!0;b===this.currentDB&&(c=!1),this.createEditDatabaseModal(b,c)},search:function(){var a,b,c,d;a=$("#databaseSearchInput"),b=$("#databaseSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("name").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b,currentDB:this.currentDB})),this.replaceSVGs(),a=$("#databaseSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","tile-icon-svg").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},evaluateDatabaseName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},createEditDatabaseModal:function(a,b){var c=[],d=[];d.push(window.modalView.createReadOnlyEntry("id_name","Name",a,"")),b?c.push(window.modalView.createDeleteButton("Delete",this.submitDeleteDatabase.bind(this,a))):c.push(window.modalView.createDisabledButton("Delete")),window.modalView.show("modalTable.ejs","Delete database",c,d)},createAddDatabaseModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newDatabaseName","Name","",!1,"Database Name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Database name must start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No database name given."}]));var c=[];window.App.userCollection.each(function(a){c.push({value:a.get("user"),label:a.get("user")})}),b.push(window.modalView.createSelectEntry("newUser","Username",null!==this.users?this.users.whoAmI():"root","Please define the owner of this database. This will be the only user having initial access to this database if authentication is turned on. Please note that if you specify a username different to your account you will not be able to access the database with your account after having creating it. Specifying a username is mandatory even with authentication turned off. If there is a failure you will be informed.",c)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateDatabase.bind(this))),window.modalView.show("modalTable.ejs","Create Database",a,b),$("#useDefaultPassword").change(function(){"true"===$("#useDefaultPassword").val()?$("#row_newPassword").hide():$("#row_newPassword").show()}),$("#row_newPassword").hide()}})}(),function(){"use strict";window.DBSelectionView=Backbone.View.extend({template:templateEngine.createTemplate("dbSelectionView.ejs"),events:{"click .dbSelectionLink":"changeDatabase"},initialize:function(a){this.current=a.current},changeDatabase:function(a){var b=$(a.currentTarget).closest(".dbSelectionLink.tab").attr("id"),c=this.collection.createDatabaseURL(b);window.location.replace(c)},render:function(a){var b=function(b,c){b?arangoHelper.arangoError("DB","Could not fetch databases"):(this.$el=a,this.$el.html(this.template.render({list:c,current:this.current.get("name")})),this.delegateEvents())}.bind(this);return this.collection.getDatabasesForUser(b),this.el}})}(),function(){"use strict";var a=function(a){var b=a.split("/");return"collection/"+encodeURIComponent(b[0])+"/"+encodeURIComponent(b[1])};window.DocumentView=Backbone.View.extend({el:"#content",colid:0,docid:0,customView:!1,defaultMode:"tree",template:templateEngine.createTemplate("documentView.ejs"),events:{"click #saveDocumentButton":"saveDocument","click #deleteDocumentButton":"deleteDocumentModal","click #confirmDeleteDocument":"deleteDocument","click #document-from":"navigateToDocument","click #document-to":"navigateToDocument","keydown #documentEditor .ace_editor":"keyPress","keyup .jsoneditor .search input":"checkSearchBox","click .jsoneditor .modes":"storeMode","click #addDocument":"addDocument"},checkSearchBox:function(a){""===$(a.currentTarget).val()&&this.editor.expandAll()},addDocument:function(){window.App.documentsView.addDocumentModal()},storeMode:function(){var a=this;$(".type-modes").on("click",function(b){a.defaultMode=$(b.currentTarget).text().toLowerCase()})},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.saveDocument()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.saveDocument())},editor:0,setType:function(a){a=2===a?"document":"edge";var b=function(a,b){if(a)arangoHelper.arangoError("Error","Could not fetch data.");else{var c=b+": ";this.type=b,this.fillInfo(c),this.fillEditor()}}.bind(this);"edge"===a?this.collection.getEdge(this.colid,this.docid,b):"document"===a&&this.collection.getDocument(this.colid,this.docid,b)},deleteDocumentModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-delete-button","Delete","Delete this "+this.type+"?",void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createDeleteButton("Delete",this.deleteDocument.bind(this))),window.modalView.show("modalTable.ejs","Delete Document",a,b)},deleteDocument:function(){var a=function(){if(this.customView)this.customDeleteFunction();else{var a="collection/"+encodeURIComponent(this.colid)+"/documents/1";window.modalView.hide(),window.App.navigate(a,{trigger:!0})}}.bind(this);if("document"===this.type){var b=function(b){b?arangoHelper.arangoError("Error","Could not delete document"):a()}.bind(this);this.collection.deleteDocument(this.colid,this.docid,b)}else if("edge"===this.type){var c=function(b){b?arangoHelper.arangoError("Edge error","Could not delete edge"):a()}.bind(this);this.collection.deleteEdge(this.colid,this.docid,c)}},navigateToDocument:function(a){var b=$(a.target).attr("documentLink");b&&window.App.navigate(b,{trigger:!0})},fillInfo:function(){var b=this.collection.first(),c=b.get("_id"),d=b.get("_key"),e=b.get("_rev"),f=b.get("_from"),g=b.get("_to");if($("#document-type").css("margin-left","10px"),$("#document-type").text("_id:"),$("#document-id").css("margin-left","0"),$("#document-id").text(c),$("#document-key").text(d),$("#document-rev").text(e),f&&g){var h=a(f),i=a(g);$("#document-from").text(f),$("#document-from").attr("documentLink",h),$("#document-to").text(g),$("#document-to").attr("documentLink",i)}else $(".edge-info-container").hide()},fillEditor:function(){var a=this.removeReadonlyKeys(this.collection.first().attributes);$(".disabledBread").last().text(this.collection.first().get("_key")),this.editor.set(a),$(".ace_content").attr("font-size","11pt")},jsonContentChanged:function(){this.enableSaveButton()},resize:function(){$("#documentEditor").height($(".centralRow").height()-300)},render:function(){$(this.el).html(this.template.render({})),$("#documentEditor").height($(".centralRow").height()-300),this.disableSaveButton(),this.breadcrumb();var a=this,b=document.getElementById("documentEditor"),c={change:function(){a.jsonContentChanged()},search:!0,mode:"tree",modes:["tree","code"],iconlib:"fontawesome4"};return this.editor=new JSONEditor(b,c),this.editor.setMode(this.defaultMode),this},removeReadonlyKeys:function(a){return _.omit(a,["_key","_id","_from","_to","_rev"])},saveDocument:function(){if(void 0===$("#saveDocumentButton").attr("disabled"))if("_"===this.collection.first().attributes._id.substr(0,1)){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry("doc-save-system-button","Caution","You are modifying a system collection. Really continue?",void 0,void 0,!1,/[<>&'"]/)),a.push(window.modalView.createSuccessButton("Save",this.confirmSaveDocument.bind(this))),window.modalView.show("modalTable.ejs","Modify System Collection",a,b)}else this.confirmSaveDocument()},confirmSaveDocument:function(){window.modalView.hide();var a;try{a=this.editor.get()}catch(b){return this.errorConfirmation(b),void this.disableSaveButton()}if(a=JSON.stringify(a),this.type._from&&this.type._to){var c=function(a){a?arangoHelper.arangoError("Error","Could not save edge."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveEdge(this.colid,this.docid,this.type._from,this.type._to,a,c)}else{var d=function(a){a?arangoHelper.arangoError("Error","Could not save document."):(this.successConfirmation(),this.disableSaveButton())}.bind(this);this.collection.saveDocument(this.colid,this.docid,a,d)}},successConfirmation:function(){arangoHelper.arangoNotification("Document saved.")},errorConfirmation:function(a){arangoHelper.arangoError("Document editor: ",a)},enableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!1),$("#saveDocumentButton").addClass("button-success"),$("#saveDocumentButton").removeClass("button-close")},disableSaveButton:function(){$("#saveDocumentButton").prop("disabled",!0),$("#saveDocumentButton").addClass("button-close"),$("#saveDocumentButton").removeClass("button-success")},breadcrumb:function(){var a=window.location.hash.split("/");$("#subNavigationBar .breadcrumb").html('Collection: '+a[1]+'Document: '+a[2])},escaped:function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}})}(),function(){"use strict";window.DocumentsView=window.PaginationView.extend({filters:{0:!0},filterId:0,paginationDiv:"#documentsToolbarF",idPrefix:"documents",addDocumentSwitch:!0,activeFilter:!1,lastCollectionName:void 0,restoredFilters:[],editMode:!1,allowUpload:!1,el:"#content",table:"#documentsTableID",template:templateEngine.createTemplate("documentsView.ejs"),collectionContext:{prev:null,next:null},editButtons:["#deleteSelected","#moveSelected"],initialize:function(a){this.documentStore=a.documentStore,this.collectionsStore=a.collectionsStore,this.tableView=new window.TableView({el:this.table,collection:this.collection}),this.tableView.setRowClick(this.clicked.bind(this)),this.tableView.setRemoveClick(this.remove.bind(this))},resize:function(){$("#docPureTable").height($(".centralRow").height()-210),$("#docPureTable .pure-table-body").css("max-height",$("#docPureTable").height()-47)},setCollectionId:function(a,b){this.collection.setCollection(a),this.collection.setPage(b),this.page=b;var c=function(b,c){b?arangoHelper.arangoError("Error","Could not get collection properties."):(this.type=c,this.collection.getDocuments(this.getDocsCallback.bind(this)),this.collectionModel=this.collectionsStore.get(a))}.bind(this);arangoHelper.collectionApiType(a,null,c)},getDocsCallback:function(a){$("#documents_last").css("visibility","hidden"),$("#documents_first").css("visibility","hidden"),a?(window.progressView.hide(),arangoHelper.arangoError("Document error","Could not fetch requested documents.")):a&&void 0===a||(window.progressView.hide(),this.drawTable(),this.renderPaginationElements())},events:{"click #collectionPrev":"prevCollection","click #collectionNext":"nextCollection","click #filterCollection":"filterCollection","click #markDocuments":"editDocuments","click #importCollection":"importCollection","click #exportCollection":"exportCollection","click #filterSend":"sendFilter","click #addFilterItem":"addFilterItem","click .removeFilterItem":"removeFilterItem","click #deleteSelected":"deleteSelectedDocs","click #moveSelected":"moveSelectedDocs","click #addDocumentButton":"addDocumentModal","click #documents_first":"firstDocuments","click #documents_last":"lastDocuments","click #documents_prev":"prevDocuments","click #documents_next":"nextDocuments","click #confirmDeleteBtn":"confirmDelete","click .key":"nop",keyup:"returnPressedHandler","keydown .queryline input":"filterValueKeydown","click #importModal":"showImportModal","click #resetView":"resetView","click #confirmDocImport":"startUpload","click #exportDocuments":"startDownload","change #documentSize":"setPagesize","change #docsSort":"setSorting"},showSpinner:function(){$("#uploadIndicator").show()},hideSpinner:function(){$("#uploadIndicator").hide()},showImportModal:function(){$("#docImportModal").modal("show")},hideImportModal:function(){$("#docImportModal").modal("hide")},setPagesize:function(){var a=$("#documentSize").find(":selected").val();this.collection.setPagesize(a),this.collection.getDocuments(this.getDocsCallback.bind(this))},setSorting:function(){var a=$("#docsSort").val();(""===a||void 0===a||null===a)&&(a="_key"),this.collection.setSort(a)},returnPressedHandler:function(a){13===a.keyCode&&$(a.target).is($("#docsSort"))&&this.collection.getDocuments(this.getDocsCallback.bind(this)),13===a.keyCode&&$("#confirmDeleteBtn").attr("disabled")===!1&&this.confirmDelete()},nop:function(a){a.stopPropagation()},resetView:function(){var a=function(a){a&&arangoHelper.arangoError("Document","Could not fetch documents count")}.bind(this);$("input").val(""),$("select").val("=="),this.removeAllFilterItems(),$("#documentSize").val(this.collection.getPageSize()),$("#documents_last").css("visibility","visible"),$("#documents_first").css("visibility","visible"),this.addDocumentSwitch=!0,this.collection.resetFilter(),this.collection.loadTotal(a),this.restoredFilters=[],this.allowUpload=!1,this.files=void 0,this.file=void 0,$("#confirmDocImport").attr("disabled",!0),this.markFilterToggle(),this.collection.getDocuments(this.getDocsCallback.bind(this))},startDownload:function(){var a=this.collection.buildDownloadDocumentQuery();""!==a||void 0!==a||null!==a?window.open(encodeURI("query/result/download/"+btoa(JSON.stringify(a)))):arangoHelper.arangoError("Document error","could not download documents")},startUpload:function(){var a=function(a,b){a?(arangoHelper.arangoError("Upload",b),this.hideSpinner()):(this.hideSpinner(),this.hideImportModal(),this.resetView())}.bind(this);this.allowUpload===!0&&(this.showSpinner(),this.collection.uploadDocuments(this.file,a))},uploadSetup:function(){var a=this;$("#importDocuments").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],$("#confirmDocImport").attr("disabled",!1),a.allowUpload=!0})},buildCollectionLink:function(a){return"collection/"+encodeURIComponent(a.get("name"))+"/documents/1"},markFilterToggle:function(){this.restoredFilters.length>0?$("#filterCollection").addClass("activated"):$("#filterCollection").removeClass("activated")},editDocuments:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),this.markFilterToggle(),$("#markDocuments").toggleClass("activated"),this.changeEditMode(),$("#filterHeader").hide(),$("#importHeader").hide(),$("#editHeader").slideToggle(200),$("#exportHeader").hide()},filterCollection:function(){$("#importCollection").removeClass("activated"),$("#exportCollection").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),this.markFilterToggle(),this.activeFilter=!0,$("#importHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide(),$("#filterHeader").slideToggle(200);var a;for(a in this.filters)if(this.filters.hasOwnProperty(a))return void $("#attribute_name"+a).focus()},exportCollection:function(){$("#importCollection").removeClass("activated"),$("#filterHeader").removeClass("activated"),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#exportCollection").toggleClass("activated"),this.markFilterToggle(),$("#exportHeader").slideToggle(200),$("#importHeader").hide(),$("#filterHeader").hide(),$("#editHeader").hide()},importCollection:function(){this.markFilterToggle(),$("#markDocuments").removeClass("activated"),this.changeEditMode(!1),$("#importCollection").toggleClass("activated"),$("#exportCollection").removeClass("activated"),$("#importHeader").slideToggle(200),$("#filterHeader").hide(),$("#editHeader").hide(),$("#exportHeader").hide()},changeEditMode:function(a){a===!1||this.editMode===!0?($("#docPureTable .pure-table-body .pure-table-row").css("cursor","default"),$(".deleteButton").fadeIn(),$(".addButton").fadeIn(),$(".selected-row").removeClass("selected-row"),this.editMode=!1,this.tableView.setRowClick(this.clicked.bind(this))):($("#docPureTable .pure-table-body .pure-table-row").css("cursor","copy"),$(".deleteButton").fadeOut(),$(".addButton").fadeOut(),$(".selectedCount").text(0),this.editMode=!0,this.tableView.setRowClick(this.editModeClick.bind(this)))},getFilterContent:function(){var a,b,c=[];for(a in this.filters)if(this.filters.hasOwnProperty(a)){b=$("#attribute_value"+a).val();try{b=JSON.parse(b)}catch(d){b=String(b)}""!==$("#attribute_name"+a).val()&&c.push({attribute:$("#attribute_name"+a).val(),operator:$("#operator"+a).val(),value:b})}return c},sendFilter:function(){this.restoredFilters=this.getFilterContent();var a=this;this.collection.resetFilter(),this.addDocumentSwitch=!1,_.each(this.restoredFilters,function(b){void 0!==b.operator&&a.collection.addFilter(b.attribute,b.operator,b.value)}),this.collection.setToFirst(),this.collection.getDocuments(this.getDocsCallback.bind(this)),this.markFilterToggle()},restoreFilter:function(){var a=this,b=0;this.filterId=0,$("#docsSort").val(this.collection.getSort()),_.each(this.restoredFilters,function(c){0!==b&&a.addFilterItem(),void 0!==c.operator&&($("#attribute_name"+b).val(c.attribute),$("#operator"+b).val(c.operator),$("#attribute_value"+b).val(c.value)),b++,a.collection.addFilter(c.attribute,c.operator,c.value)})},addFilterItem:function(){var a=++this.filterId;$("#filterHeader").append('
    '),this.filters[a]=!0},filterValueKeydown:function(a){13===a.keyCode&&this.sendFilter()},removeFilterItem:function(a){var b=a.currentTarget,c=b.id.replace(/^removeFilter/,"");delete this.filters[c],delete this.restoredFilters[c],$(b.parentElement).remove()},removeAllFilterItems:function(){var a,b=$("#filterHeader").children().length;for(a=1;b>=a;a++)$("#removeFilter"+a).parent().remove();this.filters={0:!0},this.filterId=0},addDocumentModal:function(){var a=window.location.hash.split("/")[1],b=[],c=[],d=function(a,d){a?arangoHelper.arangoError("Error","Could not fetch collection type"):"edge"===d?(c.push(window.modalView.createTextEntry("new-edge-from-attr","_from","","document _id: document handle of the linked vertex (incoming relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _from attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-to","_to","","document _id: document handle of the linked vertex (outgoing relation)",void 0,!1,[{rule:Joi.string().required(),msg:"No _to attribute given."}])),c.push(window.modalView.createTextEntry("new-edge-key-attr","_key",void 0,"the edges unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addEdge.bind(this))),window.modalView.show("modalTable.ejs","Create edge",b,c)):(c.push(window.modalView.createTextEntry("new-document-key-attr","_key",void 0,"the documents unique key(optional attribute, leave empty for autogenerated key","is optional: leave empty for autogenerated key",!1,[{rule:Joi.string().allow("").optional(),msg:""}])),b.push(window.modalView.createSuccessButton("Create",this.addDocument.bind(this))),window.modalView.show("modalTable.ejs","Create document",b,c))}.bind(this);arangoHelper.collectionApiType(a,!0,d)},addEdge:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-edge-from-attr").last().val(),d=$(".modal-body #new-edge-to").last().val(),e=$(".modal-body #new-edge-key-attr").last().val(),f=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create edge");else{window.modalView.hide(),c=c._id.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}}.bind(this);""!==e||void 0!==e?this.documentStore.createTypeEdge(b,c,d,e,f):this.documentStore.createTypeEdge(b,c,d,null,f)},addDocument:function(){var a,b=window.location.hash.split("/")[1],c=$(".modal-body #new-document-key-attr").last().val(),d=function(b,c){if(b)arangoHelper.arangoError("Error","Could not create document");else{window.modalView.hide(),c=c.split("/");try{a="collection/"+c[0]+"/"+c[1],decodeURI(a)}catch(d){a="collection/"+c[0]+"/"+encodeURIComponent(c[1])}window.location.hash=a}}.bind(this);""!==c||void 0!==c?this.documentStore.createTypeDocument(b,c,d):this.documentStore.createTypeDocument(b,null,d)},moveSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createTextEntry("move-documents-to","Move to","",!1,"collection-name",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}])),a.push(window.modalView.createSuccessButton("Move",this.confirmMoveSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Move documents",a,b))},confirmMoveSelectedDocs:function(){var a=this.getSelectedDocs(),b=this,c=$(".modal-body").last().find("#move-documents-to").val(),d=function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide()}.bind(this);_.each(a,function(a){b.collection.moveDocument(a,b.collection.collectionID,c,d)})},deleteSelectedDocs:function(){var a=[],b=[],c=this.getSelectedDocs();0!==c.length&&(b.push(window.modalView.createReadOnlyEntry(void 0,c.length+" documents selected","Do you want to delete all selected documents?",void 0,void 0,!1,void 0)),a.push(window.modalView.createDeleteButton("Delete",this.confirmDeleteSelectedDocs.bind(this))),window.modalView.show("modalTable.ejs","Delete documents",a,b))},confirmDeleteSelectedDocs:function(){var a=this.getSelectedDocs(),b=[],c=this;_.each(a,function(a){if("document"===c.type){var d=function(a){a?(b.push(!1),arangoHelper.arangoError("Document error","Could not delete document.")):(b.push(!0),c.collection.setTotalMinusOne(),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteDocument(c.collection.collectionID,a,d)}else if("edge"===c.type){var e=function(a){a?(b.push(!1),arangoHelper.arangoError("Edge error","Could not delete edge")):(c.collection.setTotalMinusOne(),b.push(!0),c.collection.getDocuments(this.getDocsCallback.bind(this)),$("#markDocuments").click(),window.modalView.hide())}.bind(c);c.documentStore.deleteEdge(c.collection.collectionID,a,e)}})},getSelectedDocs:function(){var a=[];return _.each($("#docPureTable .pure-table-body .pure-table-row"),function(b){$(b).hasClass("selected-row")&&a.push($($(b).children()[1]).find(".key").text())}),a},remove:function(a){this.docid=$(a.currentTarget).parent().parent().prev().find(".key").text(),$("#confirmDeleteBtn").attr("disabled",!1),$("#docDeleteModal").modal("show")},confirmDelete:function(){$("#confirmDeleteBtn").attr("disabled",!0);var a=window.location.hash.split("/"),b=a[3];"source"!==b&&this.reallyDelete()},reallyDelete:function(){if("document"===this.type){var a=function(a){a?arangoHelper.arangoError("Error","Could not delete document"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteDocument(this.collection.collectionID,this.docid,a)}else if("edge"===this.type){var b=function(a){a?arangoHelper.arangoError("Edge error","Could not delete edge"):(this.collection.setTotalMinusOne(),this.collection.getDocuments(this.getDocsCallback.bind(this)),$("#docDeleteModal").modal("hide"))}.bind(this);this.documentStore.deleteEdge(this.collection.collectionID,this.docid,b)}},editModeClick:function(a){var b=$(a.currentTarget);b.hasClass("selected-row")?b.removeClass("selected-row"):b.addClass("selected-row");var c=this.getSelectedDocs();$(".selectedCount").text(c.length),_.each(this.editButtons,function(a){c.length>0?($(a).prop("disabled",!1),$(a).removeClass("button-neutral"),$(a).removeClass("disabled"),"#moveSelected"===a?$(a).addClass("button-success"):$(a).addClass("button-danger")):($(a).prop("disabled",!0),$(a).addClass("disabled"),$(a).addClass("button-neutral"),"#moveSelected"===a?$(a).removeClass("button-success"):$(a).removeClass("button-danger"))})},clicked:function(a){var b,c=a.currentTarget,d=$(c).attr("id").substr(4);try{b="collection/"+this.collection.collectionID+"/"+d,decodeURI(d)}catch(e){b="collection/"+this.collection.collectionID+"/"+encodeURIComponent(d)}window.location.hash=b},drawTable:function(){this.tableView.setElement($("#docPureTable")).render(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),$(".prettify").snippet("javascript",{style:"nedit",menu:!1,startText:!1,transparent:!0,showNum:!1}),this.resize()},checkCollectionState:function(){this.lastCollectionName===this.collectionName?this.activeFilter&&(this.filterCollection(),this.restoreFilter()):void 0!==this.lastCollectionName&&(this.collection.resetFilter(),this.collection.setSort(""),this.restoredFilters=[],this.activeFilter=!1)},render:function(){return $(this.el).html(this.template.render({})),2===this.type?this.type="document":3===this.type&&(this.type="edge"),this.tableView.setElement($(this.table)).drawLoading(),this.collectionContext=this.collectionsStore.getPosition(this.collection.collectionID),this.collectionName=window.location.hash.split("/")[1],this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Content"),this.checkCollectionState(),this.lastCollectionName=this.collectionName,this.uploadSetup(),$("[data-toggle=tooltip]").tooltip(),$(".upload-info").tooltip(),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","top"),this.renderPaginationElements(),this.selectActivePagesize(),this.markFilterToggle(),this.resize(),this},rerender:function(){this.collection.getDocuments(this.getDocsCallback.bind(this)),this.resize()},selectActivePagesize:function(){$("#documentSize").val(this.collection.getPageSize())},renderPaginationElements:function(){this.renderPagination();var a=$("#totalDocuments");0===a.length&&($("#documentsToolbarFL").append(''),a=$("#totalDocuments")),"document"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" doc(s)"),"edge"===this.type&&a.html(numeral(this.collection.getTotal()).format("0,0")+" edge(s)")},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)}})}(),function(){"use strict";window.EditListEntryView=Backbone.View.extend({template:templateEngine.createTemplate("editListEntryView.ejs"),initialize:function(a){this.key=a.key,this.value=a.value,this.render()},events:{"click .deleteAttribute":"removeRow"},render:function(){$(this.el).html(this.template.render({key:this.key,value:JSON.stringify(this.value),isReadOnly:this.isReadOnly()}))},isReadOnly:function(){return 0===this.key.indexOf("_")},getKey:function(){return $(".key").val()},getValue:function(){var val=$(".val").val();try{val=JSON.parse(val)}catch(e){try{return eval("val = "+val),val}catch(e2){return $(".val").val()}}return val},removeRow:function(){this.remove()}})}(),function(){"use strict";window.FooterView=Backbone.View.extend({el:"#footerBar",system:{},isOffline:!0,isOfflineCounter:0,firstLogin:!0,timer:15e3,lap:0,timerFunction:null,events:{"click .footer-center p":"showShortcutModal"},initialize:function(){var a=this;window.setInterval(function(){a.getVersion()},a.timer),a.getVersion(),window.VISIBLE=!0,document.addEventListener("visibilitychange",function(){window.VISIBLE=!window.VISIBLE}),$("#offlinePlaceholder button").on("click",function(){a.getVersion()}),window.setTimeout(function(){window.frontendConfig.isCluster===!0&&($(".health-state").css("cursor","pointer"),$(".health-state").on("click",function(){window.App.navigate("#nodes",{trigger:!0})}))},1e3)},template:templateEngine.createTemplate("footerView.ejs"),showServerStatus:function(a){window.App.isCluster?this.renderClusterState(a):a===!0?($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"),$(".health-state").html("GOOD"),$(".health-icon").html(''),$("#offlinePlaceholder").hide()):($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html("UNKNOWN"),$(".health-icon").html(''),$("#offlinePlaceholder").show(),this.reconnectAnimation(0))},reconnectAnimation:function(a){var b=this;0===a&&(b.lap=a,$("#offlineSeconds").text(b.timer/1e3),clearTimeout(b.timerFunction)),b.lap0?($("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),1===c?$(".health-state").html(c+" NODE ERROR"):$(".health-state").html(c+" NODES ERROR"),$(".health-icon").html('')):($("#healthStatus").removeClass("negative"),$("#healthStatus").addClass("positive"),$(".health-state").html("NODES OK"),$(".health-icon").html(''))}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){b(a)}})}else $("#healthStatus").removeClass("positive"),$("#healthStatus").addClass("negative"),$(".health-state").html(window.location.host+" OFFLINE"),$(".health-icon").html(''),$("#offlinePlaceholder").show(),this.reconnectAnimation(0)}, +showShortcutModal:function(){window.arangoHelper.hotkeysFunctions.showHotkeysModal()},getVersion:function(){var a=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){a.showServerStatus(!0),a.isOffline===!0&&(a.isOffline=!1,a.isOfflineCounter=0,a.firstLogin?a.firstLogin=!1:window.setTimeout(function(){a.showServerStatus(!0)},1e3),a.system.name=b.server,a.system.version=b.version,a.render())},error:function(){a.isOffline=!0,a.isOfflineCounter++,a.isOfflineCounter>=1&&a.showServerStatus(!1)}}),a.system.hasOwnProperty("database")||$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/database/current"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=b.result.name;a.system.database=c;var d=window.setInterval(function(){var b=$("#databaseNavi");b&&(window.clearTimeout(d),d=null,a.render())},50)}})},renderVersion:function(){this.system.hasOwnProperty("database")&&this.system.hasOwnProperty("name")&&$(this.el).html(this.template.render({name:this.system.name,version:this.system.version,database:this.system.database}))},render:function(){return this.system.version||this.getVersion(),$(this.el).html(this.template.render({name:this.system.name,version:this.system.version})),this}})}(),function(){"use strict";window.FoxxActiveView=Backbone.View.extend({tagName:"div",className:"tile pure-u-1-1 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 pure-u-xl-1-6",template:templateEngine.createTemplate("foxxActiveView.ejs"),_show:!0,events:{click:"openAppDetailView"},openAppDetailView:function(){window.App.navigate("service/"+encodeURIComponent(this.model.get("mount")),{trigger:!0})},toggle:function(a,b){switch(a){case"devel":this.model.isDevelopment()&&(this._show=b);break;case"production":this.model.isDevelopment()||this.model.isSystem()||(this._show=b);break;case"system":this.model.isSystem()&&(this._show=b)}this._show?$(this.el).show():$(this.el).hide()},render:function(){return this.model.fetchThumbnail(function(){$(this.el).html(this.template.render({model:this.model}));var a=function(){this.model.needsConfiguration()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this),b=function(){this.model.hasUnconfiguredDependencies()&&($(this.el).find(".warning-icons").length>0?$(this.el).find(".warning-icons").append(''):$(this.el).find("img").after(''))}.bind(this);this.model.getConfiguration(a),this.model.getDependencies(b)}.bind(this)),$(this.el)}})}(),function(){"use strict";var a={ERROR_APPLICATION_DOWNLOAD_FAILED:{code:1752,message:"application download failed"}},b=templateEngine.createTemplate("applicationListView.ejs"),c=function(a){this.collection=a.collection},d=function(b){var c=this;if(b.error===!1)this.collection.fetch({success:function(){window.modalView.hide(),c.reload()}});else{var d=b;switch(b.hasOwnProperty("responseJSON")&&(d=b.responseJSON),d.errorNum){case a.ERROR_APPLICATION_DOWNLOAD_FAILED.code:arangoHelper.arangoError("Services","Unable to download application from the given repository.");break;default:arangoHelper.arangoError("Services",d.errorNum+". "+d.errorMessage)}}},e=function(){window.modalView.modalBindValidation({id:"new-app-mount",validateInput:function(){return[{rule:Joi.string().regex(/^(\/(APP[^\/]+|(?!APP)[a-zA-Z0-9_\-%]+))+$/i),msg:"May not contain /APP"},{rule:Joi.string().regex(/^(\/[a-zA-Z0-9_\-%]+)+$/),msg:"Can only contain [a-zA-Z0-9_-%]"},{rule:Joi.string().regex(/^\/([^_]|_open\/)/),msg:"Mountpoints with _ are reserved for internal use"},{rule:Joi.string().regex(/[^\/]$/),msg:"May not end with /"},{rule:Joi.string().regex(/^\//),msg:"Has to start with /"},{rule:Joi.string().required().min(2),msg:"Has to be non-empty"}]}})},f=function(){window.modalView.modalBindValidation({id:"repository",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/),msg:"No valid Github account and repository."}]}})},g=function(){window.modalView.modalBindValidation({id:"new-app-author",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-name",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z\-_][a-zA-Z0-9\-_]*$/),msg:"Can only contain a to z, A to Z, 0-9, '-' and '_'."}]}}),window.modalView.modalBindValidation({id:"new-app-description",validateInput:function(){return[{rule:Joi.string().required().min(1),msg:"Has to be non empty."}]}}),window.modalView.modalBindValidation({id:"new-app-license",validateInput:function(){return[{rule:Joi.string().required().regex(/^[a-zA-Z0-9 \.,;\-]+$/),msg:"Has to be non empty."}]}}),window.modalView.modalTestAll()},h=function(a){window.modalView.clearValidators();var b=$("#modalButton1");switch(this._upgrade||e(),a){case"newApp":b.html("Generate"),b.prop("disabled",!1),g();break;case"appstore":b.html("Install"),b.prop("disabled",!0);break;case"github":f(),b.html("Install"),b.prop("disabled",!1);break;case"zip":b.html("Install"),b.prop("disabled",!1)}b.prop("disabled")||window.modalView.modalTestAll()||b.prop("disabled",!0)},i=function(a){var b=$(a.currentTarget).attr("href").substr(1);h.call(this,b)},j=function(a){if(h.call(this,"appstore"),window.modalView.modalTestAll()){var b,c;this._upgrade?(b=this.mount,c=$("#new-app-teardown").prop("checked")):b=window.arangoHelper.escapeHtml($("#new-app-mount").val());var e=$(a.currentTarget).attr("appId"),f=$(a.currentTarget).attr("appVersion");void 0!==c?this.collection.installFromStore({name:e,version:f},b,d.bind(this),c):this.collection.installFromStore({name:e,version:f},b,d.bind(this))}},k=function(a,b){if(void 0===b?b=this._uploadData:this._uploadData=b,b&&window.modalView.modalTestAll()){var c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),void 0!==e?this.collection.installFromZip(b.filename,c,d.bind(this),e):this.collection.installFromZip(b.filename,c,d.bind(this))}},l=function(){if(window.modalView.modalTestAll()){var a,b,c,e;this._upgrade?(c=this.mount,e=$("#new-app-teardown").prop("checked")):c=window.arangoHelper.escapeHtml($("#new-app-mount").val()),a=window.arangoHelper.escapeHtml($("#repository").val()),b=window.arangoHelper.escapeHtml($("#tag").val()),""===b&&(b="master");var f={url:window.arangoHelper.escapeHtml($("#repository").val()),version:window.arangoHelper.escapeHtml($("#tag").val())};try{Joi.assert(a,Joi.string().regex(/^[a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+$/))}catch(g){return}void 0!==e?this.collection.installFromGithub(f,c,d.bind(this),e):this.collection.installFromGithub(f,c,d.bind(this))}},m=function(){if(window.modalView.modalTestAll()){var a,b;this._upgrade?(a=this.mount,b=$("#new-app-teardown").prop("checked")):a=window.arangoHelper.escapeHtml($("#new-app-mount").val());var c={name:window.arangoHelper.escapeHtml($("#new-app-name").val()),documentCollections:_.map($("#new-app-document-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),edgeCollections:_.map($("#new-app-edge-collections").select2("data"),function(a){return window.arangoHelper.escapeHtml(a.text)}),author:window.arangoHelper.escapeHtml($("#new-app-author").val()),license:window.arangoHelper.escapeHtml($("#new-app-license").val()),description:window.arangoHelper.escapeHtml($("#new-app-description").val())};void 0!==b?this.collection.generate(c,a,d.bind(this),b):this.collection.generate(c,a,d.bind(this))}},n=function(){var a=$(".modal-body .tab-pane.active").attr("id");switch(a){case"newApp":m.apply(this);break;case"github":l.apply(this);break;case"zip":k.apply(this)}},o=function(a,c){var d=[],e={"click #infoTab a":i.bind(a),"click .install-app":j.bind(a)};d.push(window.modalView.createSuccessButton("Generate",n.bind(a))),window.modalView.show("modalApplicationMount.ejs","Install Service",d,c,void 0,void 0,e),$("#new-app-document-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"}),$("#new-app-edge-collections").select2({tags:[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px"});var f=function(){var a=$("#modalButton1");a.prop("disabled")||window.modalView.modalTestAll()?a.prop("disabled",!1):a.prop("disabled",!0)};$(".select2-search-field input").focusout(function(){f(),window.setTimeout(function(){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||($("#s2id_new-app-document-collections").select2("close"),$("#s2id_new-app-edge-collections").select2("close"),f()))},80)}),$(".select2-search-field input").focusin(function(){if($(".select2-drop").is(":visible")){var a=$("#modalButton1");a.prop("disabled",!0)}}),$("#upload-foxx-zip").uploadFile({url:arangoHelper.databaseUrl("/_api/upload?multipart=true"),allowedTypes:"zip",multiple:!1,onSuccess:k.bind(a)}),$.get("foxxes/fishbowl",function(a){var c=$("#appstore-content");c.html(""),_.each(_.sortBy(a,"name"),function(a){c.append(b.render(a))})}).fail(function(){var a=$("#appstore-content");a.append("Store is not available. ArangoDB is not able to connect to github.com")})};c.prototype.install=function(a){this.reload=a,this._upgrade=!1,this._uploadData=void 0,delete this.mount,o(this,!1),window.modalView.clearValidators(),e(),g()},c.prototype.upgrade=function(a,b){this.reload=b,this._upgrade=!0,this._uploadData=void 0,this.mount=a,o(this,!0),window.modalView.clearValidators(),g()},window.FoxxInstallView=c}(),function(){"use strict";window.GraphManagementView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("graphManagementView.ejs"),edgeDefintionTemplate:templateEngine.createTemplate("edgeDefinitionTable.ejs"),eCollList:[],removedECollList:[],dropdownVisible:!1,initialize:function(a){this.options=a},events:{"click #deleteGraph":"deleteGraph","click .icon_arangodb_settings2.editGraph":"editGraph","click #createGraph":"addNewGraph","keyup #graphManagementSearchInput":"search","click #graphManagementSearchSubmit":"search","click .tile-graph":"redirectToGraphViewer","click #graphManagementToggle":"toggleGraphDropdown","click .css-label":"checkBoxes","change #graphSortDesc":"sorting"},toggleTab:function(a){var b=a.currentTarget.id;b=b.replace("tab-",""),$("#tab-content-create-graph .tab-pane").removeClass("active"),$("#tab-content-create-graph #"+b).addClass("active"),"exampleGraphs"===b?$("#modal-dialog .modal-footer .button-success").css("display","none"):$("#modal-dialog .modal-footer .button-success").css("display","initial")},redirectToGraphViewer:function(a){var b=$(a.currentTarget).attr("id");b=b.substr(0,b.length-5),window.location=window.location+"/"+encodeURIComponent(b)},loadGraphViewer:function(a,b){var c=function(b){if(b)arangoHelper.arangoError("","");else{var c=this.collection.get(a).get("edgeDefinitions");if(!c||0===c.length)return;var d={type:"gharial",graphName:a,baseUrl:arangoHelper.databaseUrl("/")},e=$("#content").width()-75;$("#content").html("");var f=arangoHelper.calculateCenterDivHeight();this.ui=new GraphViewerUI($("#content")[0],d,e,$(".centralRow").height()-135,{nodeShaper:{label:"_key",color:{type:"attribute",key:"_key"}}},!0),$(".contentDiv").height(f)}}.bind(this);b?this.collection.fetch({success:function(){c()}}):c()},handleResize:function(a){this.width&&this.width===a||(this.width=a,this.ui&&this.ui.changeWidth(a))},addNewGraph:function(a){a.preventDefault(),this.createEditGraphModal()},deleteGraph:function(){var a=this,b=$("#editGraphName")[0].value;if($("#dropGraphCollections").is(":checked")){var c=function(c){c?(a.collection.remove(a.collection.get(b)),a.updateGraphManagementView(),window.modalView.hide()):(window.modalView.hide(),arangoHelper.arangoError("Graph","Could not delete Graph."))}.bind(this);this.collection.dropAndDeleteGraph(b,c)}else this.collection.get(b).destroy({success:function(){a.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;arangoHelper.arangoError(d),window.modalView.hide()}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},toggleGraphDropdown:function(){$("#graphSortDesc").attr("checked",this.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown2").slideToggle(200)},sorting:function(){$("#graphSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#graphManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},createExampleGraphs:function(a){var b=$(a.currentTarget).attr("graph-id"),c=this;$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_admin/aardvark/graph-examples/create/"+encodeURIComponent(b)),success:function(){window.modalView.hide(),c.updateGraphManagementView(),arangoHelper.arangoNotification("Example Graphs","Graph: "+b+" created.")},error:function(a){if(window.modalView.hide(),a.responseText)try{var c=JSON.parse(a.responseText);arangoHelper.arangoError("Example Graphs",c.errorMessage)}catch(d){arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}else arangoHelper.arangoError("Example Graphs","Could not create example graph: "+b)}})},render:function(a,b){var c=this;return this.collection.fetch({success:function(){c.collection.sort(),$(c.el).html(c.template.render({graphs:c.collection,searchString:""})),c.dropdownVisible===!0&&($("#graphManagementDropdown2").show(),$("#graphSortDesc").attr("checked",c.collection.sortOptions.desc),$("#graphManagementToggle").toggleClass("activated"),$("#graphManagementDropdown").show()),c.events["click .tableRow"]=c.showHideDefinition.bind(c),c.events['change tr[id*="newEdgeDefinitions"]']=c.setFromAndTo.bind(c),c.events["click .graphViewer-icon-button"]=c.addRemoveDefinition.bind(c),c.events["click #graphTab a"]=c.toggleTab.bind(c),c.events["click .createExampleGraphs"]=c.createExampleGraphs.bind(c),c.events["focusout .select2-search-field input"]=function(a){$(".select2-drop").is(":visible")&&($("#select2-search-field input").is(":focus")||window.setTimeout(function(){$(a.currentTarget).parent().parent().parent().select2("close")},80))}.bind(c),arangoHelper.setCheckboxStatus("#graphManagementDropdown")}}),a&&this.loadGraphViewer(a,b),this},setFromAndTo:function(a){a.stopPropagation();var b,c=this.calculateEdgeDefinitionMap();if(a.added){if(-1===this.eCollList.indexOf(a.added.id)&&-1!==this.removedECollList.indexOf(a.added.id))return b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$('input[id*="newEdgeDefinitions'+b+'"]').select2("val",null),void $('input[id*="newEdgeDefinitions'+b+'"]').attr("placeholder","The collection "+a.added.id+" is already used.");this.removedECollList.push(a.added.id),this.eCollList.splice(this.eCollList.indexOf(a.added.id),1)}else this.eCollList.push(a.removed.id),this.removedECollList.splice(this.removedECollList.indexOf(a.removed.id),1);c[a.val]?(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",c[a.val].from),$("#fromCollections"+b).attr("disabled",!0),$("#s2id_toCollections"+b).select2("val",c[a.val].to),$("#toCollections"+b).attr("disabled",!0)):(b=a.currentTarget.id.split("row_newEdgeDefinitions")[1],$("#s2id_fromCollections"+b).select2("val",null),$("#fromCollections"+b).attr("disabled",!1),$("#s2id_toCollections"+b).select2("val",null),$("#toCollections"+b).attr("disabled",!1))},editGraph:function(a){a.stopPropagation(),this.collection.fetch(),this.graphToEdit=this.evaluateGraphName($(a.currentTarget).attr("id"),"_settings");var b=this.collection.findWhere({_key:this.graphToEdit});this.createEditGraphModal(b)},saveEditedGraph:function(){var a,b,c,d,e,f=$("#editGraphName")[0].value,g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i={};if(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){if(d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),0!==b.length&&0!==c.length)){var f={collection:a,from:b,to:c};h.push(f),i[a]=f}}),0===h.length)return $("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red");var j=this.collection.findWhere({_key:f}),k=j.get("edgeDefinitions"),l=j.get("orphanCollections"),m=[];l.forEach(function(a){-1===g.indexOf(a)&&j.deleteVertexCollection(a)}),g.forEach(function(a){-1===l.indexOf(a)&&j.addVertexCollection(a)});var n=[],o=[],p=[];k.forEach(function(a){var b=a.collection;m.push(b);var c=i[b];void 0===c?p.push(b):JSON.stringify(c)!==JSON.stringify(a)&&o.push(b)}),h.forEach(function(a){var b=a.collection;-1===m.indexOf(b)&&n.push(b)}),n.forEach(function(a){j.addEdgeDefinition(i[a])}),o.forEach(function(a){j.modifyEdgeDefinition(i[a])}),p.forEach(function(a){j.deleteEdgeDefinition(a)}),this.updateGraphManagementView(),window.modalView.hide()},evaluateGraphName:function(a,b){var c=a.lastIndexOf(b);return a.substring(0,c)},search:function(){var a,b,c,d;a=$("#graphManagementSearchInput"),b=$("#graphManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("_key").indexOf(b)}),$(this.el).html(this.template.render({graphs:d,searchString:b})),a=$("#graphManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},updateGraphManagementView:function(){var a=this;this.collection.fetch({success:function(){a.render()}})},createNewGraph:function(){var a,b,c,d,e,f=$("#createNewGraphName").val(),g=_.pluck($("#newVertexCollections").select2("data"),"text"),h=[],i=this;return f?this.collection.findWhere({_key:f})?(arangoHelper.arangoError("The graph '"+f+"' already exists."),0):(e=$("[id^=s2id_newEdgeDefinitions]").toArray(),e.forEach(function(e){d=$(e).attr("id"),d=d.replace("s2id_newEdgeDefinitions",""),a=_.pluck($("#s2id_newEdgeDefinitions"+d).select2("data"),"text")[0],a&&""!==a&&(b=_.pluck($("#s2id_fromCollections"+d).select2("data"),"text"),c=_.pluck($("#s2id_toCollections"+d).select2("data"),"text"),1!==b&&1!==c&&h.push({collection:a,from:b,to:c}))}),0===h.length?($("#s2id_newEdgeDefinitions0 .select2-choices").css("border-color","red"),$("#s2id_newEdgeDefinitions0").parent().parent().next().find(".select2-choices").css("border-color","red"),void $("#s2id_newEdgeDefinitions0").parent().parent().next().next().find(".select2-choices").css("border-color","red")):void this.collection.create({name:f,edgeDefinitions:h,orphanCollections:g},{success:function(){i.updateGraphManagementView(),window.modalView.hide()},error:function(a,b){var c=JSON.parse(b.responseText),d=c.errorMessage;d=d.replace("<",""),d=d.replace(">",""),arangoHelper.arangoError(d)}})):(arangoHelper.arangoError("A name for the graph has to be provided."),0)},createEditGraphModal:function(a){var b,c=[],d=[],e=[],f=this.options.collectionCollection.models,g=this,h="",i=[{collection:"",from:"",to:""}],j="",k=function(a,b){return a=a.toLowerCase(),b=b.toLowerCase(),b>a?-1:a>b?1:0};if(this.eCollList=[],this.removedECollList=[],f.forEach(function(a){a.get("isSystem")||("edge"===a.get("type")?g.eCollList.push(a.id):d.push(a.id))}),window.modalView.enableHotKeys=!1,this.counter=0,a?(b="Edit Graph",h=a.get("_key"),i=a.get("edgeDefinitions"),i&&0!==i.length||(i=[{collection:"",from:"",to:""}]),j=a.get("orphanCollections"),e.push(window.modalView.createReadOnlyEntry("editGraphName","Name",h,"The name to identify the graph. Has to be unique")),c.push(window.modalView.createDeleteButton("Delete",this.deleteGraph.bind(this))),c.push(window.modalView.createSuccessButton("Save",this.saveEditedGraph.bind(this)))):(b="Create Graph",e.push(window.modalView.createTextEntry("createNewGraphName","Name","","The name to identify the graph. Has to be unique.","graphName",!0)),c.push(window.modalView.createSuccessButton("Create",this.createNewGraph.bind(this)))),i.forEach(function(a){0===g.counter?(a.collection&&(g.removedECollList.push(a.collection),g.eCollList.splice(g.eCollList.indexOf(a.collection),1)),e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!0,!1,!0,1,g.eCollList.sort(k)))):e.push(window.modalView.createSelect2Entry("newEdgeDefinitions"+g.counter,"Edge definitions",a.collection,"An edge definition defines a relation of the graph","Edge definitions",!1,!0,!1,1,g.eCollList.sort(k))),e.push(window.modalView.createSelect2Entry("fromCollections"+g.counter,"fromCollections",a.from,"The collections that contain the start vertices of the relation.","fromCollections",!0,!1,!1,10,d.sort(k))),e.push(window.modalView.createSelect2Entry("toCollections"+g.counter,"toCollections",a.to,"The collections that contain the end vertices of the relation.","toCollections",!0,!1,!1,10,d.sort(k))),g.counter++}),e.push(window.modalView.createSelect2Entry("newVertexCollections","Vertex collections",j,"Collections that are part of a graph but not used in an edge definition","Vertex Collections",!1,!1,!1,10,d.sort(k))),window.modalView.show("modalGraphTable.ejs",b,c,e,void 0,void 0,this.events),a){$(".modal-body table").css("border-collapse","separate");var l;for($(".modal-body .spacer").remove(),l=0;l<=this.counter;l++)$("#row_fromCollections"+l).show(),$("#row_toCollections"+l).show(),$("#row_newEdgeDefinitions"+l).addClass("first"),$("#row_fromCollections"+l).addClass("middle"),$("#row_toCollections"+l).addClass("last"),$("#row_toCollections"+l).after('');$("#graphTab").hide(),$("#modal-dialog .modal-delete-confirmation").append('
    ')}},showHideDefinition:function(a){},addRemoveDefinition:function(a){var b=[],c=this.options.collectionCollection.models;c.forEach(function(a){a.get("isSystem")||b.push(a.id)}),a.stopPropagation();var d,e=$(a.currentTarget).attr("id");if(-1===e.indexOf("addAfter_newEdgeDefinitions"))-1!==e.indexOf("remove_newEdgeDefinitions")&&(d=e.split("remove_newEdgeDefinitions")[1],$("#row_newEdgeDefinitions"+d).remove(),$("#row_fromCollections"+d).remove(),$("#row_toCollections"+d).remove(),$("#spacer"+d).remove());else{this.counter++,$("#row_newVertexCollections").before(this.edgeDefintionTemplate.render({number:this.counter})),$("#newEdgeDefinitions"+this.counter).select2({tags:this.eCollList,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:1}),$("#fromCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),$("#toCollections"+this.counter).select2({tags:b,showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:10}),window.modalView.undelegateEvents(),window.modalView.delegateEvents(this.events);var f;for($(".modal-body .spacer").remove(),f=0;f<=this.counter;f++)$("#row_fromCollections"+f).show(),$("#row_toCollections"+f).show(),$("#row_newEdgeDefinitions"+f).addClass("first"),$("#row_fromCollections"+f).addClass("middle"),$("#row_toCollections"+f).addClass("last"),$("#row_toCollections"+f).after('')}},calculateEdgeDefinitionMap:function(){var a={};return this.collection.models.forEach(function(b){b.get("edgeDefinitions").forEach(function(b){a[b.collection]={from:b.from,to:b.to}})}),a}})}(),function(){"use strict";window.HelpUsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("helpUsView.ejs"),render:function(){this.$el.html(this.template.render({}))}})}(),function(){"use strict";window.IndicesView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},template:templateEngine.createTemplate("indicesView.ejs"),events:{},render:function(){$(this.el).html(this.template.render({model:this.model})),this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Indices"),this.getIndex()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},getIndex:function(){var a=function(a,b){a?window.arangoHelper.arangoError("Index",b.errorMessage):this.renderIndex(b)}.bind(this);this.model.getIndex(a)},createIndex:function(){var a,b,c,d=this,e=$("#newIndexType").val(),f={};switch(e){case"Geo":a=$("#newGeoFields").val();var g=d.checkboxToValue("#newGeoJson");f={type:"geo",fields:d.stringToArray(a),geoJson:g};break;case"Persistent":a=$("#newPersistentFields").val(),b=d.checkboxToValue("#newPersistentUnique"),c=d.checkboxToValue("#newPersistentSparse"),f={type:"persistent",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Hash":a=$("#newHashFields").val(),b=d.checkboxToValue("#newHashUnique"),c=d.checkboxToValue("#newHashSparse"),f={type:"hash",fields:d.stringToArray(a),unique:b,sparse:c};break;case"Fulltext":a=$("#newFulltextFields").val();var h=parseInt($("#newFulltextMinLength").val(),10)||0;f={type:"fulltext",fields:d.stringToArray(a),minLength:h};break;case"Skiplist":a=$("#newSkiplistFields").val(),b=d.checkboxToValue("#newSkiplistUnique"),c=d.checkboxToValue("#newSkiplistSparse"),f={type:"skiplist",fields:d.stringToArray(a),unique:b,sparse:c}}var i=function(a,b){if(a)if(b){var c=JSON.parse(b.responseText);arangoHelper.arangoError("Document error",c.errorMessage)}else arangoHelper.arangoError("Document error","Could not create index.");d.toggleNewIndexView(),d.render()};this.model.createIndex(f,i)},bindIndexEvents:function(){this.unbindIndexEvents();var a=this;$("#indexEditView #addIndex").bind("click",function(){a.toggleNewIndexView(),$("#cancelIndex").unbind("click"),$("#cancelIndex").bind("click",function(){a.toggleNewIndexView(),a.render()}),$("#createIndex").unbind("click"),$("#createIndex").bind("click",function(){a.createIndex()})}),$("#newIndexType").bind("change",function(){a.selectIndexType()}),$(".deleteIndex").bind("click",function(b){a.prepDeleteIndex(b)}),$("#infoTab a").bind("click",function(a){if($("#indexDeleteModal").remove(),"Indices"!==$(a.currentTarget).html()||$(a.currentTarget).parent().hasClass("active")||($("#newIndexView").hide(),$("#indexEditView").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").hide(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").hide()),"General"===$(a.currentTarget).html()&&!$(a.currentTarget).parent().hasClass("active")){$("#indexHeaderContent #modal-dialog .modal-footer .button-danger").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-success").show(),$("#indexHeaderContent #modal-dialog .modal-footer .button-notification").show();var b=$(".index-button-bar2")[0];$("#cancelIndex").is(":visible")&&($("#cancelIndex").detach().appendTo(b),$("#createIndex").detach().appendTo(b))}})},prepDeleteIndex:function(a){var b=this;this.lastTarget=a,this.lastId=$(this.lastTarget.currentTarget).parent().parent().first().children().first().text(),$("#modal-dialog .modal-footer").after(''),$("#indexConfirmDelete").unbind("click"),$("#indexConfirmDelete").bind("click",function(){$("#indexDeleteModal").remove(),b.deleteIndex()}),$("#indexAbortDelete").unbind("click"),$("#indexAbortDelete").bind("click",function(){$("#indexDeleteModal").remove()})},unbindIndexEvents:function(){$("#indexEditView #addIndex").unbind("click"),$("#newIndexType").unbind("change"),$("#infoTab a").unbind("click"),$(".deleteIndex").unbind("click")},deleteIndex:function(){var a=function(a){a?(arangoHelper.arangoError("Could not delete index"),$("tr th:contains('"+this.lastId+"')").parent().children().last().html(''),this.model.set("locked",!1)):a||void 0===a||($("tr th:contains('"+this.lastId+"')").parent().remove(),this.model.set("locked",!1))}.bind(this);this.model.set("locked",!0),this.model.deleteIndex(this.lastId,a),$("tr th:contains('"+this.lastId+"')").parent().children().last().html('')},renderIndex:function(a){this.index=a;var b="collectionInfoTh modal-text";if(this.index){var c="",d="";_.each(this.index.indexes,function(a){d="primary"===a.type||"edge"===a.type?'':'',void 0!==a.fields&&(c=a.fields.join(", "));var e=a.id.indexOf("/"),f=a.id.substr(e+1,a.id.length),g=a.hasOwnProperty("selectivityEstimate")?(100*a.selectivityEstimate).toFixed(2)+"%":"n/a",h=a.hasOwnProperty("sparse")?a.sparse:"n/a";$("#collectionEditIndexTable").append(""+f+""+a.type+""+a.unique+""+h+""+g+""+c+""+d+"")})}this.bindIndexEvents()},selectIndexType:function(){$(".newIndexClass").hide();var a=$("#newIndexType").val();$("#newIndexType"+a).show()},resetIndexForms:function(){$("#indexHeader input").val("").prop("checked",!1),$("#newIndexType").val("Geo").prop("selected",!0),this.selectIndexType()},toggleNewIndexView:function(){var a=$(".index-button-bar2")[0];$("#indexEditView").is(":visible")?($("#indexEditView").hide(),$("#newIndexView").show(),$("#cancelIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer"),$("#createIndex").detach().appendTo("#indexHeaderContent #modal-dialog .modal-footer")):($("#indexEditView").show(),$("#newIndexView").hide(),$("#cancelIndex").detach().appendTo(a),$("#createIndex").detach().appendTo(a)),arangoHelper.fixTooltips(".icon_arangodb, .arangoicon","right"),this.resetIndexForms()},stringToArray:function(a){var b=[];return a.split(",").forEach(function(a){a=a.replace(/(^\s+|\s+$)/g,""),""!==a&&b.push(a)}),b},checkboxToValue:function(a){return $(a).prop("checked")}})}(),function(){"use strict";window.InfoView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Info"),this.renderInfoView()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},renderInfoView:function(){if(this.model.get("locked"))return 0;var a=function(a,b,c){if(a)arangoHelper.arangoError("Figures","Could not get revision.");else{var d=[],e={figures:c,revision:b,model:this.model};window.modalView.show("modalCollectionInfo.ejs","Collection: "+this.model.get("name"),d,e,null,null,null,null,null,"content")}}.bind(this),b=function(b,c){ +if(b)arangoHelper.arangoError("Figures","Could not get figures.");else{var d=c;this.model.getRevision(a,d)}}.bind(this);this.model.getFigures(b)}})}(),function(){"use strict";window.loginView=Backbone.View.extend({el:"#content",el2:".header",el3:".footer",loggedIn:!1,events:{"keyPress #loginForm input":"keyPress","click #submitLogin":"validate","submit #dbForm":"goTo","click #logout":"logout","change #loginDatabase":"renderDBS"},template:templateEngine.createTemplate("loginView.ejs"),render:function(a){var b=this;if($(this.el).html(this.template.render({})),$(this.el2).hide(),$(this.el3).hide(),frontendConfig.authenticationEnabled&&a!==!0)window.setTimeout(function(){$("#loginUsername").focus()},300);else{var c=arangoHelper.databaseUrl("/_api/database/user");frontendConfig.authenticationEnabled===!1&&($("#logout").hide(),$(".login-window #databases").css("height","90px")),$("#loginForm").hide(),$(".login-window #databases").show(),$.ajax(c).success(function(a){$("#loginDatabase").html(""),_.each(a.result,function(a){$("#loginDatabase").append("")}),b.renderDBS()}).error(function(a){console.log("could not fetch user db data")})}return $(".bodyWrapper").show(),this},clear:function(){$("#loginForm input").removeClass("form-error"),$(".wrong-credentials").hide()},keyPress:function(a){a.ctrlKey&&13===a.keyCode?(a.preventDefault(),this.validate()):a.metaKey&&13===a.keyCode&&(a.preventDefault(),this.validate())},validate:function(a){a.preventDefault(),this.clear();var b=$("#loginUsername").val(),c=$("#loginPassword").val();if(b){var d=function(a){var c=this;if(a)$(".wrong-credentials").show(),$("#loginDatabase").html(""),$("#loginDatabase").append("");else{var d=arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(b)+"/database","_system");frontendConfig.authenticationEnabled===!1&&(d=arangoHelper.databaseUrl("/_api/database/user")),$(".wrong-credentials").hide(),c.loggedIn=!0,$.ajax(d).success(function(a){$("#loginForm").hide(),$("#databases").show(),$("#loginDatabase").html(""),_.each(a.result,function(a,b){$("#loginDatabase").append("")}),c.renderDBS()}).error(function(a){$(".wrong-credentials").show()})}}.bind(this);this.collection.login(b,c,d)}},renderDBS:function(){var a=$("#loginDatabase").val();$("#goToDatabase").html("Select: "+a),window.setTimeout(function(){$("#goToDatabase").focus()},300)},logout:function(){this.collection.logout()},goTo:function(a){a.preventDefault();var b=$("#loginUsername").val(),c=$("#loginDatabase").val();window.App.dbSet=c;var d=function(a){a&&arangoHelper.arangoError("User","Could not fetch user settings")},e=window.location.protocol+"//"+window.location.host+frontendConfig.basePath+"/_db/"+c+"/_admin/aardvark/index.html";window.location.href=e,$(this.el2).show(),$(this.el3).show(),$(".bodyWrapper").show(),$(".navbar").show(),$("#currentUser").text(b),this.collection.loadUserSettings(d)}})}(),function(){"use strict";window.LogsView=window.PaginationView.extend({el:"#content",id:"#logContent",paginationDiv:"#logPaginationDiv",idPrefix:"logTable",fetchedAmount:!1,initialize:function(a){this.options=a,this.convertModelToJSON()},currentLoglevel:"logall",events:{"click #arangoLogTabbar button":"setActiveLoglevel","click #logTable_first":"firstPage","click #logTable_last":"lastPage"},template:templateEngine.createTemplate("logsView.ejs"),tabbar:templateEngine.createTemplate("arangoTabbar.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),tabbarElements:{id:"arangoLogTabbar",titles:[["All","logall"],["Info","loginfo"],["Error","logerror"],["Warning","logwarning"],["Debug","logdebug"]]},tableDescription:{id:"arangoLogTable",titles:["Loglevel","Date","Message"],rows:[]},convertedRows:null,setActiveLoglevel:function(a){$(".arangodb-tabbar").removeClass("arango-active-tab"),this.currentLoglevel!==a.currentTarget.id&&(this.currentLoglevel=a.currentTarget.id,this.convertModelToJSON())},initTotalAmount:function(){var a=this;this.collection=this.options[this.currentLoglevel],this.collection.fetch({data:$.param({test:!0}),success:function(){a.convertModelToJSON()}}),this.fetchedAmount=!0},invertArray:function(a){var b,c=[],d=0;for(b=a.length-1;b>=0;b--)c[d]=a[b],d++;return c},convertModelToJSON:function(){if(!this.fetchedAmount)return void this.initTotalAmount();var a,b=this,c=[];this.collection=this.options[this.currentLoglevel],this.collection.fetch({success:function(){b.collection.each(function(b){a=new Date(1e3*b.get("timestamp")),c.push([b.getLogStatus(),arangoHelper.formatDT(a),b.get("text")])}),b.tableDescription.rows=b.invertArray(c),b.render()}})},render:function(){return $(this.el).html(this.template.render({})),$(this.id).html(this.tabbar.render({content:this.tabbarElements})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#"+this.currentLoglevel).addClass("arango-active-tab"),$("#logContent").append('
    '),this.renderPagination(),this},rerender:function(){this.convertModelToJSON()}})}(),function(){"use strict";var a=function(a,b,c,d){return{type:a,title:b,callback:c,confirm:d}},b=function(a,b,c,d,e,f,g,h,i,j,k){var l={type:a,label:b};return void 0!==c&&(l.value=c),void 0!==d&&(l.info=d),void 0!==e&&(l.placeholder=e),void 0!==f&&(l.mandatory=f),void 0!==h&&(l.addDelete=h),void 0!==i&&(l.addAdd=i),void 0!==j&&(l.maxEntrySize=j),void 0!==k&&(l.tags=k),g&&(l.validateInput=function(){return g}),l};window.ModalView=Backbone.View.extend({_validators:[],_validateWatchers:[],baseTemplate:templateEngine.createTemplate("modalBase.ejs"),tableTemplate:templateEngine.createTemplate("modalTable.ejs"),el:"#modalPlaceholder",contentEl:"#modalContent",hideFooter:!1,confirm:{list:"#modal-delete-confirmation",yes:"#modal-confirm-delete",no:"#modal-abort-delete"},enabledHotkey:!1,enableHotKeys:!0,buttons:{SUCCESS:"success",NOTIFICATION:"notification",DELETE:"danger",NEUTRAL:"neutral",CLOSE:"close"},tables:{READONLY:"readonly",TEXT:"text",BLOB:"blob",PASSWORD:"password",SELECT:"select",SELECT2:"select2",CHECKBOX:"checkbox"},initialize:function(){Object.freeze(this.buttons),Object.freeze(this.tables)},createModalHotkeys:function(){$(this.el).unbind("keydown"),$(this.el).unbind("return"),$(this.el).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body input").unbind("keydown"),$(".modal-body input").unbind("return"),$(".modal-body input",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()}),$(".modal-body select").unbind("keydown"),$(".modal-body select").unbind("return"),$(".modal-body select",$(this.el)).bind("keydown","return",function(){$(".createModalDialog .modal-footer .button-success").click()})},createInitModalHotkeys:function(){var a=this;$(this.el).bind("keydown","left",function(){a.navigateThroughButtons("left")}),$(this.el).bind("keydown","right",function(){a.navigateThroughButtons("right")})},navigateThroughButtons:function(a){var b=$(".createModalDialog .modal-footer button").is(":focus");b===!1?"left"===a?$(".createModalDialog .modal-footer button").first().focus():"right"===a&&$(".createModalDialog .modal-footer button").last().focus():b===!0&&("left"===a?$(":focus").prev().focus():"right"===a&&$(":focus").next().focus())},createCloseButton:function(b,c){var d=this;return a(this.buttons.CLOSE,b,function(){d.hide(),c&&c()})},createSuccessButton:function(b,c){return a(this.buttons.SUCCESS,b,c)},createNotificationButton:function(b,c){return a(this.buttons.NOTIFICATION,b,c)},createDeleteButton:function(b,c,d){return a(this.buttons.DELETE,b,c,d)},createNeutralButton:function(b,c){return a(this.buttons.NEUTRAL,b,c)},createDisabledButton:function(b){var c=a(this.buttons.NEUTRAL,b);return c.disabled=!0,c},createReadOnlyEntry:function(a,c,d,e,f,g){var h=b(this.tables.READONLY,c,d,e,void 0,void 0,void 0,f,g);return h.id=a,h},createTextEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.TEXT,c,d,e,f,g,h);return i.id=a,i},createBlobEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.BLOB,c,d,e,f,g,h);return i.id=a,i},createSelect2Entry:function(a,c,d,e,f,g,h,i,j,k){var l=b(this.tables.SELECT2,c,d,e,f,g,void 0,h,i,j,k);return l.id=a,l},createPasswordEntry:function(a,c,d,e,f,g,h){var i=b(this.tables.PASSWORD,c,d,e,f,g,h);return i.id=a,i},createCheckboxEntry:function(a,c,d,e,f){var g=b(this.tables.CHECKBOX,c,d,e);return g.id=a,f&&(g.checked=f),g},createSelectEntry:function(a,c,d,e,f){var g=b(this.tables.SELECT,c,null,e);return g.id=a,d&&(g.selected=d),g.options=f,g},createOptionEntry:function(a,b){return{label:a,value:b||a}},show:function(a,b,c,d,e,f,g,h,i,j){var k,l,m=this,n=!1;c=c||[],h=Boolean(h),this.clearValidators(),c.length>0?(c.forEach(function(a){a.type===m.buttons.CLOSE&&(n=!0),a.type===m.buttons.DELETE&&(l=l||a.confirm)}),n||(k=c.pop(),c.push(m.createCloseButton("Cancel")),c.push(k))):c.push(m.createCloseButton("Close")),j?($("#"+j).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),$("#"+j+" #modal-dialog").removeClass("fade hide modal"),$("#"+j+" .modal-header").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .modal-tabbar").remove(),$("#"+j+" .button-close").remove(),0===$("#"+j+" .modal-footer").children().length&&$("#"+j+" .modal-footer").remove()):$(this.el).html(this.baseTemplate.render({title:b,buttons:c,hideFooter:this.hideFooter,confirm:l,tabBar:i})),_.each(c,function(a,b){return!a.disabled&&a.callback?a.type!==m.buttons.DELETE||h?void $("#modalButton"+b).bind("click",a.callback):void $("#modalButton"+b).bind("click",function(){$(m.confirm.yes).unbind("click"),$(m.confirm.yes).bind("click",a.callback),$(m.confirm.list).css("display","block")}):void 0}),$(this.confirm.no).bind("click",function(){$(m.confirm.list).css("display","none")});var o;if("string"==typeof a)o=templateEngine.createTemplate(a),j?$("#"+j+" .createModalDialog .modal-body").html(o.render({content:d,advancedContent:e,info:f})):$("#modalPlaceholder .createModalDialog .modal-body").html(o.render({content:d,advancedContent:e,info:f}));else{var p=0;_.each(a,function(a){o=templateEngine.createTemplate(a),$(".createModalDialog .modal-body .tab-content #"+i[p]).html(o.render({content:d,advancedContent:e,info:f})),p++})}$(".createModalDialog .modalTooltips").tooltip({position:{my:"left top",at:"right+55 top-1"}});var q=d||[];e&&e.content&&(q=q.concat(e.content)),_.each(q,function(a){m.modalBindValidation(a),a.type===m.tables.SELECT2&&$("#"+a.id).select2({tags:a.tags||[],showSearchBox:!1,minimumResultsForSearch:-1,width:"336px",maximumSelectionSize:a.maxEntrySize||8})}),g&&(this.events=g,this.delegateEvents()),$("#accordion2")&&($("#accordion2 .accordion-toggle").bind("click",function(){$("#collapseOne").is(":visible")?($("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)):($("#collapseOne").show(),setTimeout(function(){$(".accordion-toggle").removeClass("collapsed")},100))}),$("#collapseOne").hide(),setTimeout(function(){$(".accordion-toggle").addClass("collapsed")},100)),j||$("#modal-dialog").modal("show"),this.enabledHotkey===!1&&(this.createInitModalHotkeys(),this.enabledHotkey=!0),this.enableHotKeys&&this.createModalHotkeys();var r=$("#modal-dialog").find("input");r&&setTimeout(function(){var a=$("#modal-dialog");a.length>0&&(a=a.find("input"),a.length>0&&$(a[0]).focus())},400)},modalBindValidation:function(a){var b=this;if(a.hasOwnProperty("id")&&a.hasOwnProperty("validateInput")){var c=function(){var b=$("#"+a.id),c=a.validateInput(b),d=!1;return _.each(c,function(a){var c=b.val();if(a.rule||(a={rule:a}),"function"==typeof a.rule)try{a.rule(c)}catch(e){d=a.msg||e.message}else{var f=Joi.validate(c,a.rule);f.error&&(d=a.msg||f.error.message)}return d?!1:void 0}),d?d:void 0},d=$("#"+a.id);d.on("keyup focusout",function(){var a=c(),e=d.next()[0];a?(d.addClass("invalid-input"),e?$(e).text(a):d.after('

    '+a+"

    "),$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled")):(d.removeClass("invalid-input"),e&&$(e).remove(),b.modalTestAll())}),this._validators.push(c),this._validateWatchers.push(d)}},modalTestAll:function(){var a=_.map(this._validators,function(a){return a()}),b=_.any(a);return b?$(".createModalDialog .modal-footer .button-success").prop("disabled",!0).addClass("disabled"):$(".createModalDialog .modal-footer .button-success").prop("disabled",!1).removeClass("disabled"),!b},clearValidators:function(){this._validators=[],_.each(this._validateWatchers,function(a){a.unbind("keyup focusout")}),this._validateWatchers=[]},hide:function(){this.clearValidators(),$("#modal-dialog").modal("hide")}})}(),function(){"use strict";window.NavigationView=Backbone.View.extend({el:"#navigationBar",subEl:"#subNavigationBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab","click li":"switchTab","click .arangodbLogo":"selectMenuItem","mouseenter .dropdown > *":"showDropdown","click .shortcut-icons p":"showShortcutModal","mouseleave .dropdown":"hideDropdown"},renderFirst:!0,activeSubMenu:void 0,changeDB:function(){window.location.hash="#login"},initialize:function(a){var b=this;this.userCollection=a.userCollection,this.currentDB=a.currentDB,this.dbSelectionView=new window.DBSelectionView({collection:a.database,current:this.currentDB}),this.userBarView=new window.UserBarView({userCollection:this.userCollection}),this.notificationView=new window.NotificationView({collection:a.notificationCollection}),this.statisticBarView=new window.StatisticBarView({currentDB:this.currentDB}),this.isCluster=a.isCluster,this.handleKeyboardHotkeys(),Backbone.history.on("all",function(){b.selectMenuItem()})},showShortcutModal:function(){arangoHelper.hotkeysFunctions.showHotkeysModal()},handleSelectDatabase:function(){this.dbSelectionView.render($("#dbSelect"))},template:templateEngine.createTemplate("navigationView.ejs"),templateSub:templateEngine.createTemplate("subNavigationView.ejs"),render:function(){var a=this;$(this.el).html(this.template.render({currentDB:this.currentDB,isCluster:this.isCluster})),"_system"!==this.currentDB.get("name")&&$("#dashboard").parent().remove(),$(this.subEl).html(this.templateSub.render({currentDB:this.currentDB.toJSON()})),this.dbSelectionView.render($("#dbSelect"));var b=function(a){a||this.userBarView.render()}.bind(this);return this.userCollection.whoAmI(b),this.renderFirst&&(this.renderFirst=!1,this.selectMenuItem(),$(".arangodbLogo").on("click",function(){a.selectMenuItem()}),$("#dbStatus").on("click",function(){a.changeDB()})),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},handleKeyboardHotkeys:function(){arangoHelper.enableKeyboardHotkeys(!0)},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id,d=!1;$(b).hasClass("fa")||(""===c&&(c=$(b).attr("class")),"links"===c?(d=!0,$("#link_dropdown").slideToggle(1),a.preventDefault()):"tools"===c?(d=!0,$("#tools_dropdown").slideToggle(1),a.preventDefault()):"dbselection"===c&&(d=!0,$("#dbs_dropdown").slideToggle(1),a.preventDefault()),d||(window.App.navigate(c,{trigger:!0}),a.preventDefault()))},handleSelectNavigation:function(){var a=this;$("#arangoCollectionSelect").change(function(){a.navigateBySelect()})},subViewConfig:{documents:"collections",collection:"collections"},subMenuConfig:{cluster:[{name:"Dashboard",view:void 0,active:!0},{name:"Logs",view:void 0,disabled:!0}],collections:[{name:"",view:void 0,active:!1}],queries:[{name:"Editor",route:"query",active:!0},{name:"Running Queries",route:"queryManagement",params:{active:!0},active:void 0},{name:"Slow Query History",route:"queryManagement",params:{active:!1},active:void 0}]},renderSubMenu:function(a){var b=this;if(void 0===a&&(a=window.isCluster?"cluster":"dashboard"),this.subMenuConfig[a]){$(this.subEl+" .bottom").html("");var c="";_.each(this.subMenuConfig[a],function(a){c=a.active?"active":"",a.disabled&&(c="disabled"),$(b.subEl+" .bottom").append('"),a.disabled||$(b.subEl+" .bottom").children().last().bind("click",function(c){b.activeSubMenu=a,b.renderSubView(a,c)})})}},renderSubView:function(a,b){window.App[a.route]&&(window.App[a.route].resetState&&window.App[a.route].resetState(),window.App[a.route]()),$(this.subEl+" .bottom").children().removeClass("active"),$(b.currentTarget).addClass("active")},switchTab:function(a){var b=$(a.currentTarget).children().first().attr("id");b&&this.selectMenuItem(b+"-menu")},selectMenuItem:function(a,b){void 0===a&&(a=window.location.hash.split("/")[0],a=a.substr(1,a.length-1)),""===a?a=window.App.isCluster?"cluster":"dashboard":("cNodes"===a||"dNodes"===a)&&(a="nodes");try{this.renderSubMenu(a.split("-")[0])}catch(c){this.renderSubMenu(a)}$(".navlist li").removeClass("active"),"string"==typeof a&&(b?$("."+this.subViewConfig[a]+"-menu").addClass("active"):a&&($("."+a).addClass("active"),$("."+a+"-menu").addClass("active"))),arangoHelper.hideArangoNotifications()},showSubDropdown:function(a){$(a.currentTarget).find(".subBarDropdown").toggle()},showDropdown:function(a){var b=a.target||a.srcElement,c=b.id;"links"===c||"link_dropdown"===c||"links"===a.currentTarget.id?$("#link_dropdown").fadeIn(1):"tools"===c||"tools_dropdown"===c||"tools"===a.currentTarget.id?$("#tools_dropdown").fadeIn(1):("dbselection"===c||"dbs_dropdown"===c||"dbselection"===a.currentTarget.id)&&$("#dbs_dropdown").fadeIn(1)},hideDropdown:function(a){var b=a.target||a.srcElement;b=$(b).parent(),$("#link_dropdown").fadeOut(1),$("#tools_dropdown").fadeOut(1),$("#dbs_dropdown").fadeOut(1)}})}(),function(){"use strict";window.NodeView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodeView.ejs"),interval:5e3,dashboards:[],events:{},initialize:function(a){window.App.isCluster&&(this.coordinators=a.coordinators,this.dbServers=a.dbServers,this.coordname=a.coordname,this.updateServerTime(),window.setInterval(function(){if(0===window.location.hash.indexOf("#node/"));},this.interval))},breadcrumb:function(a){$("#subNavigationBar .breadcrumb").html("Node: "+a)},render:function(){this.$el.html(this.template.render({coords:[]}));var a=function(){this.continueRender(),this.breadcrumb(this.coordname),$(window).trigger("resize")}.bind(this);this.initCoordDone||this.waitForCoordinators(),this.initDBDone?(this.coordname=window.location.hash.split("/")[1],this.coordinator=this.coordinators.findWhere({name:this.coordname}),a()):this.waitForDBServers(a)},continueRender:function(){var a=this;this.dashboards[this.coordinator.get("name")]=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:window.App.arangoDatabase,serverToShow:{raw:this.coordinator.get("address"),isDBServer:!1,endpoint:this.coordinator.get("protocol")+"://"+this.coordinator.get("address"),target:this.coordinator.get("name")}}),this.dashboards[this.coordinator.get("name")].render(),window.setTimeout(function(){a.dashboards[a.coordinator.get("name")].resize()},500)},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(b.coordinator=b.coordinators.findWhere({name:b.coordname}),b.initCoordDone=!0,a&&a())},200)},waitForDBServers:function(a){var b=this;window.setTimeout(function(){0===b.dbServers[0].length?b.waitForDBServers(a):(b.initDBDone=!0,b.dbServer=b.dbServers[0],b.dbServer.each(function(a){"DBServer001"===a.get("name")&&(b.dbServer=a)}),a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NodesView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodesView.ejs"),interval:5e3,knownServers:[],events:{"click #nodesContent .pure-table-body .pure-table-row":"navigateToNode"},initialize:function(a){var b=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.dbServers=a.dbServers,this.coordinators=a.coordinators,this.updateServerTime(),this.toRender=a.toRender,this.intervalFunction=window.setInterval(function(){("#cNodes"===window.location.hash||"#dNodes"===window.location.hash||"#nodes"===window.location.hash)&&b.checkNodesState()},this.interval))},checkNodesState:function(){var a=function(a){_.each(a,function(a,b){_.each($(".pure-table-row"),function(c){$(c).attr("node")===b&&("GOOD"===a.Status?($(c).removeClass("noHover"),$(c).find(".state").html('')):($(c).addClass("noHover"),$(c).find(".state").html('')))})})}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(b){a(b.Health)}})},navigateToNode:function(a){if("#dNodes"!==window.location.hash&&!$(a.currentTarget).hasClass("noHover")){var b=$(a.currentTarget).attr("node");window.App.navigate("#node/"+encodeURIComponent(b),{trigger:!0})}},render:function(){var a=function(){this.continueRender()}.bind(this);this.initDoneCoords?a():this.waitForCoordinators(a)},continueRender:function(){var a;a="coordinator"===this.toRender?this.coordinators.toJSON():this.dbServers.toJSON(),this.$el.html(this.template.render({coords:a,type:this.toRender})),window.arangoHelper.buildNodesSubNav(this.toRender),this.checkNodesState()},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(this.initDoneCoords=!0,a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NodesView2=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("nodesView2.ejs"),interval:1e4,knownServers:[],events:{"click #nodesContent .coords-nodes .pure-table-row":"navigateToNode","click #addCoord":"addCoord","click #removeCoord":"removeCoord","click #addDBs":"addDBs","click #removeDBs":"removeDBs"},initialize:function(){var a=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#nodes"===window.location.hash&&a.render(!1)},this.interval))},navigateToNode:function(a){if(!$(a.currentTarget).hasClass("noHover")){var b=$(a.currentTarget).attr("node").slice(0,-5);window.App.navigate("#node/"+encodeURIComponent(b),{trigger:!0})}},render:function(a){var b=this,c=function(a){$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",success:function(c){b.continueRender(a,c)}})}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,async:!0,success:function(a){c(a.Health)},error:function(){arangoHelper.arangoError("Cluster","Could not fetch cluster information")}}),a!==!1&&arangoHelper.buildNodesSubNav("Overview")},continueRender:function(a,b){var c={},d={},e=!1;_.each(a,function(a,b){"Coordinator"===a.Role?c[b]=a:"DBServer"===a.Role&&(d[b]=a)}),null!==b.numberOfDBServers&&null!==b.numberOfCoordinators&&(e=!0);var f=function(a){this.$el.html(this.template.render({coords:c,dbs:d,scaling:e,scaleProperties:a,plannedDBs:b.numberOfDBServers,plannedCoords:b.numberOfCoordinators})),e||($(".title").css("position","relative"),$(".title").css("top","-4px"))}.bind(this);this.renderCounts(e,f)},updatePlanned:function(a){a.numberOfCoordinators&&($("#plannedCoords").val(a.numberOfCoordinators),this.renderCounts(!0)),a.numberOfDBServers&&($("#plannedDBs").val(a.numberOfDBServers),this.renderCounts(!0))},setCoordSize:function(a){var b=this,c={numberOfCoordinators:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updatePlanned(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},setDBsSize:function(a){var b=this,c={numberOfDBServers:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updatePlanned(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},renderCounts:function(a,b){var c=function(b,c,d,e){var f=''+c+'';d&&a===!0&&(f=f+''+d+''),e&&(f=f+''+e+''),$(b).html(f),a||($(".title").css("position","relative"),$(".title").css("top","-4px"))}.bind(this),d=function(a){var d=0,e=0,f=0,g=0,h=0,i=0;_.each(a,function(a){"Coordinator"===a.Role?"GOOD"===a.Status?e++:d++:"DBServer"===a.Role&&("GOOD"===a.Status?g++:h++)}),$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",processData:!1,success:function(a){f=Math.abs(e+d-a.numberOfCoordinators),i=Math.abs(g+h-a.numberOfDBServers),b?b({coordsPending:f,coordsOk:e,coordsErrors:d,dbsPending:i,dbsOk:g,dbsErrors:h}):(c("#infoDBs",g,i,h),c("#infoCoords",e,f,d))}})}.bind(this);$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/health"),contentType:"application/json",processData:!1,success:function(a){d(a.Health)}})},addCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!0))},removeCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!1,!0))},addDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!0))},removeDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!1,!0))},readNumberFromID:function(a,b,c){var d=$(a).val(),e=!1;try{e=JSON.parse(d)}catch(f){}return b&&e++,c&&1!==e&&e--,e},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.NotificationView=Backbone.View.extend({events:{"click .navlogo #stat_hd":"toggleNotification","click .notificationItem .fa":"removeNotification","click #removeAllNotifications":"removeAllNotifications"},initialize:function(){this.collection.bind("add",this.renderNotifications.bind(this)),this.collection.bind("remove",this.renderNotifications.bind(this)),this.collection.bind("reset",this.renderNotifications.bind(this)),window.setTimeout(function(){frontendConfig.authenticationEnabled===!1&&window.arangoHelper.arangoWarning("Warning","Authentication is disabled. Do not use this setup in production mode.")},2e3)},notificationItem:templateEngine.createTemplate("notificationItem.ejs"),el:"#notificationBar",template:templateEngine.createTemplate("notificationView.ejs"),toggleNotification:function(){var a=this.collection.length;0!==a&&$("#notification_menu").toggle()},removeAllNotifications:function(){$.noty.clearQueue(),$.noty.closeAll(),this.collection.reset(),$("#notification_menu").hide()},removeNotification:function(a){var b=a.target.id;this.collection.get(b).destroy()},renderNotifications:function(a,b,c){if(c&&c.add){var d,e=this.collection.at(this.collection.length-1),f=e.get("title"),g=3e3,h=["click"];if(e.get("content")&&(f=f+": "+e.get("content")),"error"===e.get("type")?(g=!1,h=["button"],d=[{addClass:"button-danger",text:"Close",onClick:function(a){a.close()}}]):"warning"===e.get("type")&&(g=2e4),$.noty.clearQueue(),$.noty.closeAll(),noty({theme:"relax",text:f,template:'
    ',maxVisible:1,closeWith:["click"],type:e.get("type"),layout:"bottom",timeout:g,buttons:d,animation:{open:{height:"show"},close:{height:"hide"},easing:"swing",speed:200,closeWith:h}}),"success"===e.get("type"))return void e.destroy()}$("#stat_hd_counter").text(this.collection.length),0===this.collection.length?($("#stat_hd").removeClass("fullNotification"),$("#notification_menu").hide()):$("#stat_hd").addClass("fullNotification"),$(".innerDropdownInnerUL").html(this.notificationItem.render({notifications:this.collection})),$(".notificationInfoIcon").tooltip({position:{my:"left top",at:"right+55 top-1"}})},render:function(){return $(this.el).html(this.template.render({notifications:this.collection})),this.renderNotifications(),this.delegateEvents(),this.el}})}(),function(){"use strict";window.ProgressView=Backbone.View.extend({template:templateEngine.createTemplate("progressBase.ejs"),el:"#progressPlaceholder",el2:"#progressPlaceholderIcon",toShow:!1,lastDelay:0,action:function(){},events:{"click .progress-action button":"performAction"},performAction:function(){"function"==typeof this.action&&this.action(),window.progressView.hide()},initialize:function(){},showWithDelay:function(a,b,c,d){var e=this;e.toShow=!0,e.lastDelay=a,setTimeout(function(){e.toShow===!0&&e.show(b,c,d)},e.lastDelay)},show:function(a,b,c){$(this.el).html(this.template.render({})),$(".progress-text").text(a),c?$(".progress-action").html('"):$(".progress-action").html(''),b?this.action=b:this.action=this.hide(),$(this.el).show()},hide:function(){var a=this;a.toShow=!1,$(this.el).hide(),this.action=function(){}}})}(),function(){"use strict";window.queryManagementView=Backbone.View.extend({el:"#content",id:"#queryManagementContent",templateActive:templateEngine.createTemplate("queryManagementViewActive.ejs"),templateSlow:templateEngine.createTemplate("queryManagementViewSlow.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),active:!0,shouldRender:!0,timer:0,refreshRate:2e3,initialize:function(){var a=this;this.activeCollection=new window.QueryManagementActive,this.slowCollection=new window.QueryManagementSlow,this.convertModelToJSON(!0),window.setInterval(function(){"#queries"===window.location.hash&&window.VISIBLE&&a.shouldRender&&"queryManagement"===arangoHelper.getCurrentSub().route&&(a.active?$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!0):$("#arangoQueryManagementTable").is(":visible")&&a.convertModelToJSON(!1))},a.refreshRate)},events:{"click #deleteSlowQueryHistory":"deleteSlowQueryHistoryModal","click #arangoQueryManagementTable .fa-minus-circle":"deleteRunningQueryModal"},tableDescription:{id:"arangoQueryManagementTable",titles:["ID","Query String","Runtime","Started",""],rows:[],unescaped:[!1,!1,!1,!1,!0]},deleteRunningQueryModal:function(a){this.killQueryId=$(a.currentTarget).attr("data-id");var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,"Running Query","Do you want to kill the running query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Kill",this.killRunningQuery.bind(this))),window.modalView.show("modalTable.ejs","Kill Running Query",b,c),$(".modal-delete-confirmation strong").html("Really kill?")},killRunningQuery:function(){this.collection.killRunningQuery(this.killQueryId,this.killRunningQueryCallback.bind(this)),window.modalView.hide()},killRunningQueryCallback:function(){this.convertModelToJSON(!0),this.renderActive()},deleteSlowQueryHistoryModal:function(){var a=[],b=[];b.push(window.modalView.createReadOnlyEntry(void 0,"Slow Query Log","Do you want to delete the slow query log entries?",void 0,void 0,!1,void 0)),a.push(window.modalView.createDeleteButton("Delete",this.deleteSlowQueryHistory.bind(this))),window.modalView.show("modalTable.ejs","Delete Slow Query Log",a,b)},deleteSlowQueryHistory:function(){this.collection.deleteSlowQueryHistory(this.slowQueryCallback.bind(this)),window.modalView.hide()},slowQueryCallback:function(){this.convertModelToJSON(!1),this.renderSlow()},render:function(){var a=arangoHelper.getCurrentSub();a.params.active?(this.active=!0,this.convertModelToJSON(!0)):(this.active=!1,this.convertModelToJSON(!1))},addEvents:function(){var a=this;$("#queryManagementContent tbody").on("mousedown",function(){ +clearTimeout(a.timer),a.shouldRender=!1}),$("#queryManagementContent tbody").on("mouseup",function(){a.timer=window.setTimeout(function(){a.shouldRender=!0},3e3)})},renderActive:function(){this.$el.html(this.templateActive.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#activequeries").addClass("arango-active-tab"),this.addEvents()},renderSlow:function(){this.$el.html(this.templateSlow.render({})),$(this.id).append(this.table.render({content:this.tableDescription})),$("#slowqueries").addClass("arango-active-tab"),this.addEvents()},convertModelToJSON:function(a){var b=this,c=[];a===!0?this.collection=this.activeCollection:this.collection=this.slowCollection,this.collection.fetch({success:function(){b.collection.each(function(b){var d="";a&&(d=''),c.push([b.get("id"),b.get("query"),b.get("runTime").toFixed(2)+" s",b.get("started"),d])});var d="No running queries.";a||(d="No slow queries."),0===c.length&&c.push([d,"","","",""]),b.tableDescription.rows=c,a?b.renderActive():b.renderSlow()}})}})}(),function(){"use strict";window.queryView2=Backbone.View.extend({el:"#content",bindParamId:"#bindParamEditor",myQueriesId:"#queryTable",template:templateEngine.createTemplate("queryView2.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),outputDiv:"#outputEditors",outputTemplate:templateEngine.createTemplate("queryViewOutput.ejs"),outputCounter:0,allowUpload:!1,customQueries:[],queries:[],state:{lastQuery:{query:void 0,bindParam:void 0}},settings:{aqlWidth:void 0},currentQuery:{},initDone:!1,bindParamRegExp:/@(@?\w+\d*)/,bindParamTableObj:{},bindParamTableDesc:{id:"arangoBindParamTable",titles:["Key","Value"],rows:[]},myQueriesTableDesc:{id:"arangoMyQueriesTable",titles:["Name","Actions"],rows:[]},execPending:!1,aqlEditor:null,queryPreview:null,initialize:function(){this.refreshAQL()},allowParamToggle:!0,events:{"click #executeQuery":"executeQuery","click #explainQuery":"explainQuery","click #clearQuery":"clearQuery","click .outputEditorWrapper #downloadQueryResult":"downloadQueryResult","click .outputEditorWrapper .switchAce":"switchAce","click .outputEditorWrapper .fa-close":"closeResult","click #toggleQueries1":"toggleQueries","click #toggleQueries2":"toggleQueries","click #saveCurrentQuery":"addAQL","click #exportQuery":"exportCustomQueries","click #importQuery":"openImportDialog","click #removeResults":"removeResults","click #querySpotlight":"showSpotlight","click #deleteQuery":"selectAndDeleteQueryFromTable","click #explQuery":"selectAndExplainQueryFromTable","keydown #arangoBindParamTable input":"updateBindParams","change #arangoBindParamTable input":"updateBindParams","click #arangoMyQueriesTable tbody tr":"showQueryPreview","dblclick #arangoMyQueriesTable tbody tr":"selectQueryFromTable","click #arangoMyQueriesTable #copyQuery":"selectQueryFromTable","click #closeQueryModal":"closeExportDialog","click #confirmQueryImport":"importCustomQueries","click #switchTypes":"toggleBindParams","click #arangoMyQueriesTable #runQuery":"selectAndRunQueryFromTable"},clearQuery:function(){this.aqlEditor.setValue("",1)},toggleBindParams:function(){this.allowParamToggle?($("#bindParamEditor").toggle(),$("#bindParamAceEditor").toggle(),"JSON"===$("#switchTypes").text()?($("#switchTypes").text("Table"),this.updateQueryTable(),this.bindParamAceEditor.setValue(JSON.stringify(this.bindParamTableObj,null," "),1),this.deselect(this.bindParamAceEditor)):($("#switchTypes").text("JSON"),this.renderBindParamTable())):arangoHelper.arangoError("Bind parameter","Could not parse bind parameter"),this.resize()},openExportDialog:function(){$("#queryImportDialog").modal("show")},closeExportDialog:function(){$("#queryImportDialog").modal("hide")},initQueryImport:function(){var a=this;a.allowUpload=!1,$("#importQueries").change(function(b){a.files=b.target.files||b.dataTransfer.files,a.file=a.files[0],a.allowUpload=!0,$("#confirmQueryImport").removeClass("disabled")})},importCustomQueries:function(){var a=this;if(this.allowUpload===!0){var b=function(){this.collection.fetch({success:function(){a.updateLocalQueries(),a.updateQueryTable(),a.resize(),a.allowUpload=!1,$("#confirmQueryImport").addClass("disabled"),$("#queryImportDialog").modal("hide")},error:function(a){arangoHelper.arangoError("Custom Queries",a.responseText)}})}.bind(this);a.collection.saveImportQueries(a.file,b.bind(this))}},removeResults:function(){$(".outputEditorWrapper").hide("fast",function(){$(".outputEditorWrapper").remove()}),$("#removeResults").hide()},getCustomQueryParameterByName:function(a){return this.collection.findWhere({name:a}).get("parameter")},getCustomQueryValueByName:function(a){var b;return a&&(b=this.collection.findWhere({name:a})),b?b=b.get("value"):_.each(this.queries,function(c){c.name===a&&(b=c.value)}),b},openImportDialog:function(){$("#queryImportDialog").modal("show")},closeImportDialog:function(){$("#queryImportDialog").modal("hide")},exportCustomQueries:function(){var a;$.ajax("whoAmI?_="+Date.now()).success(function(b){a=b.user,(null===a||a===!1)&&(a="root");var c="query/download/"+encodeURIComponent(a);arangoHelper.download(c)})},toggleQueries:function(a){a&&"toggleQueries1"===a.currentTarget.id?(this.updateQueryTable(),$("#bindParamAceEditor").hide(),$("#bindParamEditor").show(),$("#switchTypes").text("JSON"),$(".aqlEditorWrapper").first().width(.33*$(window).width()),this.queryPreview.setValue("No query selected.",1),this.deselect(this.queryPreview)):void 0===this.settings.aqlWidth?$(".aqlEditorWrapper").first().width(.33*$(window).width()):$(".aqlEditorWrapper").first().width(this.settings.aqlWidth),this.resize();var b=["aqlEditor","queryTable","previewWrapper","querySpotlight","bindParamEditor","toggleQueries1","toggleQueries2","saveCurrentQuery","querySize","executeQuery","switchTypes","explainQuery","importQuery","exportQuery"];_.each(b,function(a){$("#"+a).toggle()}),this.resize()},showQueryPreview:function(a){$("#arangoMyQueriesTable tr").removeClass("selected"),$(a.currentTarget).addClass("selected");var b=this.getQueryNameFromTable(a);this.queryPreview.setValue(this.getCustomQueryValueByName(b),1),this.deselect(this.queryPreview)},getQueryNameFromTable:function(a){var b;return $(a.currentTarget).is("tr")?b=$(a.currentTarget).children().first().text():$(a.currentTarget).is("span")&&(b=$(a.currentTarget).parent().parent().prev().text()),b},deleteQueryModal:function(a){var b=[],c=[];c.push(window.modalView.createReadOnlyEntry(void 0,a,"Do you want to delete the query?",void 0,void 0,!1,void 0)),b.push(window.modalView.createDeleteButton("Delete",this.deleteAQL.bind(this,a))),window.modalView.show("modalTable.ejs","Delete Query",b,c)},selectAndDeleteQueryFromTable:function(a){var b=this.getQueryNameFromTable(a);this.deleteQueryModal(b)},selectAndExplainQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.explainQuery()},selectAndRunQueryFromTable:function(a){this.selectQueryFromTable(a,!1),this.executeQuery()},selectQueryFromTable:function(a,b){var c=this.getQueryNameFromTable(a),d=this;void 0===b&&this.toggleQueries(),this.state.lastQuery.query=this.aqlEditor.getValue(),this.state.lastQuery.bindParam=this.bindParamTableObj,this.aqlEditor.setValue(this.getCustomQueryValueByName(c),1),this.fillBindParamTable(this.getCustomQueryParameterByName(c)),this.updateBindParams(),$("#lastQuery").remove(),$("#queryContent .arangoToolbarTop .pull-left").append('Previous Query'),$("#lastQuery").hide().fadeIn(500).on("click",function(){d.aqlEditor.setValue(d.state.lastQuery.query,1),d.fillBindParamTable(d.state.lastQuery.bindParam),d.updateBindParams(),$("#lastQuery").fadeOut(500,function(){$(this).remove()})})},deleteAQL:function(a){var b=function(a){a?arangoHelper.arangoError("Query","Could not delete query."):(this.updateLocalQueries(),this.updateQueryTable(),this.resize(),window.modalView.hide())}.bind(this),c=this.collection.findWhere({name:a});this.collection.remove(c),this.collection.saveCollectionQueries(b)},switchAce:function(a){var b=$(a.currentTarget).attr("counter");"Result"===$(a.currentTarget).text()?$(a.currentTarget).text("AQL"):$(a.currentTarget).text("Result"),$("#outputEditor"+b).toggle(),$("#sentWrapper"+b).toggle(),this.deselect(ace.edit("outputEditor"+b)),this.deselect(ace.edit("sentQueryEditor"+b)),this.deselect(ace.edit("sentBindParamEditor"+b))},downloadQueryResult:function(a){var b=$(a.currentTarget).attr("counter"),c=ace.edit("sentQueryEditor"+b),d=c.getValue();if(""!==d||void 0!==d||null!==d){var e;e=0===Object.keys(this.bindParamTableObj).length?"query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d}))):"query/result/download/"+encodeURIComponent(btoa(JSON.stringify({query:d,bindVars:this.bindParamTableObj}))),arangoHelper.download(e)}else arangoHelper.arangoError("Query error","could not query result.")},explainQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Explain"}));var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setReadOnly(!0),b.getSession().setMode("ace/mode/json"),b.setOption("vScrollBarAlwaysVisible",!0),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillExplain(b,c,a),this.outputCounter++}},fillExplain:function(a,b,c){b.setValue(this.aqlEditor.getValue(),1);var d=this,e=this.readQueryData();if($("#outputEditorWrapper"+c+" .queryExecutionTime").text(""),this.execPending=!1,e){var f=function(){$("#outputEditorWrapper"+c+" #spinner").remove(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditorWrapper"+c+" .switchAce").show()};$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_admin/aardvark/query/explain/"),data:e,contentType:"application/json",processData:!1,success:function(b){b.msg.includes("errorMessage")?(d.removeOutputEditor(c),arangoHelper.arangoError("Explain",b.msg)):(a.setValue(b.msg,1),d.deselect(a),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)),f()},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("Explain",b.errorMessage)}catch(e){arangoHelper.arangoError("Explain","ERROR")}d.handleResult(c),d.removeOutputEditor(c),f()}})}},removeOutputEditor:function(a){$("#outputEditorWrapper"+a).hide(),$("#outputEditorWrapper"+a).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()},getCachedQueryAfterRender:function(){var a=this.getCachedQuery(),b=this;if(null!==a&&void 0!==a&&""!==a&&(this.aqlEditor.setValue(a.query,1),this.aqlEditor.getSession().setUndoManager(new ace.UndoManager),""!==a.parameter||void 0!==a))try{b.bindParamTableObj=JSON.parse(a.parameter);var c;_.each($("#arangoBindParamTable input"),function(a){c=$(a).attr("name"),$(a).val(b.bindParamTableObj[c])}),b.setCachedQuery(b.aqlEditor.getValue(),JSON.stringify(b.bindParamTableObj))}catch(d){}},getCachedQuery:function(){if("undefined"!==Storage){var a=localStorage.getItem("cachedQuery");if(void 0!==a){var b=JSON.parse(a);this.currentQuery=b;try{this.bindParamTableObj=JSON.parse(b.parameter)}catch(c){}return b}}},setCachedQuery:function(a,b){if("undefined"!==Storage){var c={query:a,parameter:b};this.currentQuery=c,localStorage.setItem("cachedQuery",JSON.stringify(c))}},closeResult:function(a){var b=$("#"+$(a.currentTarget).attr("element")).parent();$(b).hide("fast",function(){$(b).remove(),0===$(".outputEditorWrapper").length&&$("#removeResults").hide()})},fillSelectBoxes:function(){var a=1e3,b=$("#querySize");b.empty(),[100,250,500,1e3,2500,5e3,1e4,"all"].forEach(function(c){b.append('")})},render:function(){this.$el.html(this.template.render({})),this.afterRender(),this.initDone||(this.settings.aqlWidth=$(".aqlEditorWrapper").width()),this.initDone=!0,this.renderBindParamTable(!0)},afterRender:function(){var a=this;this.initAce(),this.initTables(),this.fillSelectBoxes(),this.makeResizeable(),this.initQueryImport(),this.getCachedQueryAfterRender(),$(".inputEditorWrapper").height($(window).height()/10*5+25),window.setTimeout(function(){a.resize()},10),a.deselect(a.aqlEditor)},showSpotlight:function(a){var b,c;if((void 0===a||"click"===a.type)&&(a="aql"),"aql"===a)b=function(a){this.aqlEditor.insert(a),$("#aqlEditor .ace_text-input").focus()}.bind(this),c=function(){$("#aqlEditor .ace_text-input").focus()};else{var d=$(":focus");b=function(a){var b=$(d).val();$(d).val(b+a),$(d).focus()}.bind(this),c=function(){$(d).focus()}}window.spotlightView.show(b,c,a)},resize:function(){this.resizeFunction()},resizeFunction:function(){$("#toggleQueries1").is(":visible")?(this.aqlEditor.resize(),$("#arangoBindParamTable thead").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable thead th").css("width",$("#bindParamEditor").width()/2),$("#arangoBindParamTable tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody").css("height",$("#aqlEditor").height()-35),$("#arangoBindParamTable tbody").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody tr").css("width",$("#bindParamEditor").width()),$("#arangoBindParamTable tbody td").css("width",$("#bindParamEditor").width()/2)):(this.queryPreview.resize(),$("#arangoMyQueriesTable thead").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable thead th").css("width",$("#queryTable").width()/2),$("#arangoMyQueriesTable tr").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody").css("height",$("#queryTable").height()-35),$("#arangoMyQueriesTable tbody").css("width",$("#queryTable").width()),$("#arangoMyQueriesTable tbody td").css("width",$("#queryTable").width()/2))},makeResizeable:function(){var a=this;$(".aqlEditorWrapper").resizable({resize:function(){a.resizeFunction(),a.settings.aqlWidth=$(".aqlEditorWrapper").width()},handles:"e"}),$(".inputEditorWrapper").resizable({resize:function(){a.resizeFunction()},handles:"s"}),this.resizeFunction()},initTables:function(){this.$(this.bindParamId).html(this.table.render({content:this.bindParamTableDesc})),this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},checkType:function(a){var b="stringtype";try{a=JSON.parse(a),b=a instanceof Array?"arraytype":typeof a+"type"}catch(c){}return b},updateBindParams:function(a){var b,c=this;if(a){b=$(a.currentTarget).attr("name"),this.bindParamTableObj[b]=arangoHelper.parseInput(a.currentTarget);var d=["arraytype","objecttype","booleantype","numbertype","stringtype"];_.each(d,function(b){$(a.currentTarget).removeClass(b)}),$(a.currentTarget).addClass(c.checkType($(a.currentTarget).val()))}else _.each($("#arangoBindParamTable input"),function(a){b=$(a).attr("name"),c.bindParamTableObj[b]=arangoHelper.parseInput(a)});this.setCachedQuery(this.aqlEditor.getValue(),JSON.stringify(this.bindParamTableObj)),a&&((a.ctrlKey||a.metaKey)&&13===a.keyCode&&(a.preventDefault(),this.executeQuery()),(a.ctrlKey||a.metaKey)&&32===a.keyCode&&(a.preventDefault(),this.showSpotlight("bind")))},parseQuery:function(a){var b=0,c=1,d=2,e=3,f=4,g=5,h=6,i=7;a+=" ";var j,k,l,m=this,n=b,o=a.length,p=[];for(k=0;o>k;++k)switch(l=a.charAt(k),n){case b:"@"===l?(n=h,j=k):"'"===l?n=c:'"'===l?n=d:"`"===l?n=e:"´"===l?n=i:"/"===l&&o>k+1&&("/"===a.charAt(k+1)?(n=f,++k):"*"===a.charAt(k+1)&&(n=g,++k));break;case f:("\r"===l||"\n"===l)&&(n=b);break;case g:"*"===l&&o>=k+1&&"/"===a.charAt(k+1)&&(n=b,++k);break;case c:"\\"===l?++k:"'"===l&&(n=b);break;case d:"\\"===l?++k:'"'===l&&(n=b);break;case e:"`"===l&&(n=b);break;case i:"´"===l&&(n=b);break;case h:/^[@a-zA-Z0-9_]+$/.test(l)||(p.push(a.substring(j,k)),n=b,j=void 0)}var q;return _.each(p,function(a,b){q=a.match(m.bindParamRegExp),q&&(p[b]=q[1])}),{query:a,bindParams:p}},checkForNewBindParams:function(){var a=this,b=this.parseQuery(this.aqlEditor.getValue()).bindParams,c={};_.each(b,function(b){a.bindParamTableObj[b]?c[b]=a.bindParamTableObj[b]:c[b]=""}),Object.keys(b).forEach(function(b){Object.keys(a.bindParamTableObj).forEach(function(d){b===d&&(c[b]=a.bindParamTableObj[d])})}),a.bindParamTableObj=c},renderBindParamTable:function(a){$("#arangoBindParamTable tbody").html(""),a&&this.getCachedQuery();var b=0;_.each(this.bindParamTableObj,function(a,c){$("#arangoBindParamTable tbody").append(""+c+"'),b++,_.each($("#arangoBindParamTable input"),function(b){$(b).attr("name")===c&&(a instanceof Array?$(b).val(JSON.stringify(a)).addClass("arraytype"):"object"==typeof a?$(b).val(JSON.stringify(a)).addClass(typeof a+"type"):$(b).val(a).addClass(typeof a+"type"))})}),0===b&&$("#arangoBindParamTable tbody").append('No bind parameters defined.')},fillBindParamTable:function(a){_.each(a,function(a,b){_.each($("#arangoBindParamTable input"),function(c){$(c).attr("name")===b&&$(c).val(a)})})},initAce:function(){var a=this;this.aqlEditor=ace.edit("aqlEditor"),this.aqlEditor.getSession().setMode("ace/mode/aql"),this.aqlEditor.setFontSize("10pt"),this.aqlEditor.setShowPrintMargin(!1),this.bindParamAceEditor=ace.edit("bindParamAceEditor"),this.bindParamAceEditor.getSession().setMode("ace/mode/json"),this.bindParamAceEditor.setFontSize("10pt"),this.bindParamAceEditor.setShowPrintMargin(!1),this.bindParamAceEditor.getSession().on("change",function(){try{a.bindParamTableObj=JSON.parse(a.bindParamAceEditor.getValue()),a.allowParamToggle=!0,a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj))}catch(b){""===a.bindParamAceEditor.getValue()?(_.each(a.bindParamTableObj,function(b,c){a.bindParamTableObj[c]=""}),a.allowParamToggle=!0):a.allowParamToggle=!1}}),this.aqlEditor.getSession().on("change",function(){a.checkForNewBindParams(),a.renderBindParamTable(),a.initDone&&a.setCachedQuery(a.aqlEditor.getValue(),JSON.stringify(a.bindParamTableObj)),a.bindParamAceEditor.setValue(JSON.stringify(a.bindParamTableObj,null," "),1),$("#aqlEditor .ace_text-input").focus(),a.resize()}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"executeQuery",bindKey:{win:"Ctrl-Return",mac:"Command-Return",linux:"Ctrl-Return"},exec:function(){a.executeQuery()}}),this.aqlEditor.commands.addCommand({name:"saveQuery",bindKey:{win:"Ctrl-Shift-S",mac:"Command-Shift-S",linux:"Ctrl-Shift-S"},exec:function(){a.addAQL()}}),this.aqlEditor.commands.addCommand({name:"explainQuery",bindKey:{win:"Ctrl-Shift-Return",mac:"Command-Shift-Return",linux:"Ctrl-Shift-Return"},exec:function(){a.explainQuery()}}),this.aqlEditor.commands.addCommand({name:"togglecomment",bindKey:{win:"Ctrl-Shift-C",linux:"Ctrl-Shift-C",mac:"Command-Shift-C"},exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"}),this.aqlEditor.commands.addCommand({name:"showSpotlight",bindKey:{win:"Ctrl-Space",mac:"Ctrl-Space",linux:"Ctrl-Space"},exec:function(){a.showSpotlight()}}),this.queryPreview=ace.edit("queryPreview"),this.queryPreview.getSession().setMode("ace/mode/aql"),this.queryPreview.setReadOnly(!0),this.queryPreview.setFontSize("13px"),$("#aqlEditor .ace_text-input").focus()},updateQueryTable:function(){function a(a,b){var c;return c=a.nameb.name?1:0}var b=this;this.updateLocalQueries(),this.myQueriesTableDesc.rows=this.customQueries,_.each(this.myQueriesTableDesc.rows,function(a){a.secondRow='',a.hasOwnProperty("parameter")&&delete a.parameter,delete a.value}),this.myQueriesTableDesc.rows.sort(a),_.each(this.queries,function(a){a.hasOwnProperty("parameter")&&delete a.parameter,b.myQueriesTableDesc.rows.push({name:a.name,thirdRow:''})}),this.myQueriesTableDesc.unescaped=[!1,!0,!0],this.$(this.myQueriesId).html(this.table.render({content:this.myQueriesTableDesc}))},listenKey:function(a){13===a.keyCode&&"Update"===$("#modalButton1").html()&&this.saveAQL(),this.checkSaveName()},addAQL:function(){this.refreshAQL(!0),this.createCustomQueryModal(),setTimeout(function(){$("#new-query-name").focus()},500)},createCustomQueryModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("new-query-name","Name","",void 0,void 0,!1,[{rule:Joi.string().required(),msg:"No query name given."}])),a.push(window.modalView.createSuccessButton("Save",this.saveAQL.bind(this))),window.modalView.show("modalTable.ejs","Save Query",a,b,void 0,void 0,{"keyup #new-query-name":this.listenKey.bind(this)})},checkSaveName:function(){var a=$("#new-query-name").val();if("Insert Query"===a)return void $("#new-query-name").val("");var b=this.customQueries.some(function(b){return b.name===a});b?($("#modalButton1").removeClass("button-success"),$("#modalButton1").addClass("button-warning"),$("#modalButton1").text("Update")):($("#modalButton1").removeClass("button-warning"),$("#modalButton1").addClass("button-success"),$("#modalButton1").text("Save"))},saveAQL:function(a){a&&a.stopPropagation(),this.refreshAQL();var b=$("#new-query-name").val(),c=this.bindParamTableObj;if(!$("#new-query-name").hasClass("invalid-input")&&""!==b.trim()){var d=this.aqlEditor.getValue(),e=!1;if(_.each(this.customQueries,function(a){return a.name===b?(a.value=d,void(e=!0)):void 0}),e===!0)this.collection.findWhere({name:b}).set("value",d);else{if((""===c||void 0===c)&&(c="{}"),"string"==typeof c)try{c=JSON.parse(c)}catch(f){arangoHelper.arangoError("Query","Could not parse bind parameter")}this.collection.add({name:b,parameter:c,value:d})}var g=function(a){if(a)arangoHelper.arangoError("Query","Could not save query");else{var b=this;this.collection.fetch({success:function(){b.updateLocalQueries()}})}}.bind(this);this.collection.saveCollectionQueries(g),window.modalView.hide()}},verifyQueryAndParams:function(){var a=!1;0===this.aqlEditor.getValue().length&&(arangoHelper.arangoError("Query","Your query is empty"),a=!0);var b=[];return _.each(this.bindParamTableObj,function(c,d){""===c&&(a=!0,b.push(d))}),b.length>0&&arangoHelper.arangoError("Bind Parameter",JSON.stringify(b)+" not defined."),a},executeQuery:function(){if(!this.verifyQueryAndParams()){this.$(this.outputDiv).prepend(this.outputTemplate.render({counter:this.outputCounter,type:"Query"})),$("#outputEditorWrapper"+this.outputCounter).hide(),$("#outputEditorWrapper"+this.outputCounter).show("fast");var a=this.outputCounter,b=ace.edit("outputEditor"+a),c=ace.edit("sentQueryEditor"+a),d=ace.edit("sentBindParamEditor"+a);c.getSession().setMode("ace/mode/aql"),c.setOption("vScrollBarAlwaysVisible",!0),c.setFontSize("13px"),c.setReadOnly(!0),this.setEditorAutoHeight(c),b.setFontSize("13px"),b.getSession().setMode("ace/mode/json"),b.setReadOnly(!0),b.setOption("vScrollBarAlwaysVisible",!0),b.setShowPrintMargin(!1),this.setEditorAutoHeight(b),d.setValue(JSON.stringify(this.bindParamTableObj),1),d.setOption("vScrollBarAlwaysVisible",!0),d.getSession().setMode("ace/mode/json"),d.setReadOnly(!0),this.setEditorAutoHeight(d),this.fillResult(b,c,a),this.outputCounter++}},readQueryData:function(){var a=$("#querySize"),b={query:this.aqlEditor.getValue(),id:"currentFrontendQuery"};return"all"===a.val()?b.batchSize=1e6:b.batchSize=parseInt(a.val(),10),Object.keys(this.bindParamTableObj).length>0&&(b.bindVars=this.bindParamTableObj),JSON.stringify(b)},fillResult:function(a,b,c){var d=this,e=this.readQueryData();e&&(b.setValue(d.aqlEditor.getValue(),1),$.ajax({type:"POST",url:arangoHelper.databaseUrl("/_api/cursor"),headers:{"x-arango-async":"store"},data:e,contentType:"application/json",processData:!1,success:function(b,e,f){f.getResponseHeader("x-arango-async-id")&&d.queryCallbackFunction(f.getResponseHeader("x-arango-async-id"),a,c),$.noty.clearQueue(),$.noty.closeAll(),d.handleResult(c)},error:function(a){try{var b=JSON.parse(a.responseText);arangoHelper.arangoError("["+b.errorNum+"]",b.errorMessage)}catch(e){arangoHelper.arangoError("Query error","ERROR")}d.handleResult(c)}}))},handleResult:function(){var a=this;window.progressView.hide(),$("#removeResults").show(),window.setTimeout(function(){a.aqlEditor.focus()},300),$(".centralRow").animate({scrollTop:$("#queryContent").height()},"fast")},setEditorAutoHeight:function(a){var b=$(".centralRow").height(),c=(b-250)/17;a.setOptions({maxLines:c,minLines:10})},deselect:function(a){var b=a.getSelection(),c=b.lead.row,d=b.lead.column;b.setSelectionRange({start:{row:c,column:d},end:{row:c,column:d}}),a.focus()},queryCallbackFunction:function(a,b,c){var d=this,e=function(a,b){$.ajax({url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)+"/cancel"),type:"PUT",success:function(){window.clearTimeout(d.checkQueryTimer),$("#outputEditorWrapper"+b).remove(),arangoHelper.arangoNotification("Query","Query canceled.")}})};$("#outputEditorWrapper"+c+" #cancelCurrentQuery").bind("click",function(){e(a,c)}),$("#outputEditorWrapper"+c+" #copy2aqlEditor").bind("click",function(){$("#toggleQueries1").is(":visible")||d.toggleQueries();var a=ace.edit("sentQueryEditor"+c).getValue(),b=JSON.parse(ace.edit("sentBindParamEditor"+c).getValue());d.aqlEditor.setValue(a,1),d.deselect(d.aqlEditor),Object.keys(b).length>0&&(d.bindParamTableObj=b,d.setCachedQuery(d.aqlEditor.getValue(),JSON.stringify(d.bindParamTableObj)),$("#bindParamEditor").is(":visible")?d.renderBindParamTable():(d.bindParamAceEditor.setValue(JSON.stringify(b),1),d.deselect(d.bindParamAceEditor))),$(".centralRow").animate({scrollTop:0},"fast"),d.resize()}),this.execPending=!1;var f=function(a){var c="";a.extra&&a.extra.warnings&&a.extra.warnings.length>0&&(c+="Warnings:\r\n\r\n",a.extra.warnings.forEach(function(a){c+="["+a.code+"], '"+a.message+"'\r\n"})),""!==c&&(c+="\r\nResult:\r\n\r\n"),b.setValue(c+JSON.stringify(a.result,void 0,2),1),b.getSession().setScrollTop(0)},g=function(a){f(a),window.progressView.hide();var e=function(a,b,d){d||(d=""),$("#outputEditorWrapper"+c+" .arangoToolbarTop .pull-left").append(''+a+"")};$("#outputEditorWrapper"+c+" .pull-left #spinner").remove();var g="-";a&&a.extra&&a.extra.stats&&(g=a.extra.stats.executionTime.toFixed(3)+" s"),e(a.result.length+" elements","fa-calculator"),e(g,"fa-clock-o"),a.extra&&a.extra.stats&&((a.extra.stats.writesExecuted>0||a.extra.stats.writesIgnored>0)&&(e(a.extra.stats.writesExecuted+" writes","fa-check-circle positive"),0===a.extra.stats.writesIgnored?e(a.extra.stats.writesIgnored+" writes ignored","fa-check-circle positive","additional"):e(a.extra.stats.writesIgnored+" writes ignored","fa-exclamation-circle warning","additional")),a.extra.stats.scannedFull>0?e("full collection scan","fa-exclamation-circle warning","additional"):e("no full collection scan","fa-check-circle positive","additional")),$("#outputEditorWrapper"+c+" .switchAce").show(),$("#outputEditorWrapper"+c+" .fa-close").show(),$("#outputEditor"+c).css("opacity","1"),$("#outputEditorWrapper"+c+" #downloadQueryResult").show(),$("#outputEditorWrapper"+c+" #copy2aqlEditor").show(),$("#outputEditorWrapper"+c+" #cancelCurrentQuery").remove(),d.setEditorAutoHeight(b),d.deselect(b),a.id&&$.ajax({url:"/_api/cursor/"+encodeURIComponent(a.id),type:"DELETE"})},h=function(){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/job/"+encodeURIComponent(a)),contentType:"application/json",processData:!1,success:function(a,b,c){201===c.status?g(a):204===c.status&&(d.checkQueryTimer=window.setTimeout(function(){h()},500))},error:function(a){var b;try{if("Gone"===a.statusText)return arangoHelper.arangoNotification("Query","Query execution aborted."),void d.removeOutputEditor(c);b=JSON.parse(a.responseText),arangoHelper.arangoError("Query",b.errorMessage),b.errorMessage&&(null!==b.errorMessage.match(/\d+:\d+/g)?d.markPositionError(b.errorMessage.match(/'.*'/g)[0],b.errorMessage.match(/\d+:\d+/g)[0]):d.markPositionError(b.errorMessage.match(/\(\w+\)/g)[0]),d.removeOutputEditor(c))}catch(e){if(d.removeOutputEditor(c),409===b.code)return;400!==b.code&&arangoHelper.arangoNotification("Query","Successfully aborted.")}window.progressView.hide()}})};h()},markPositionError:function(a,b){var c;b&&(c=b.split(":")[0],a=a.substr(1,a.length-2));var d=this.aqlEditor.find(a);!d&&b&&(this.aqlEditor.selection.moveCursorToPosition({row:c,column:0}),this.aqlEditor.selection.selectLine()),window.setTimeout(function(){$(".ace_start").first().css("background","rgba(255, 129, 129, 0.7)")},100)},refreshAQL:function(){var a=this,b=function(b){b?arangoHelper.arangoError("Query","Could not reload Queries"):(a.updateLocalQueries(),a.updateQueryTable())}.bind(a),c=function(){a.getSystemQueries(b)}.bind(a);this.getAQL(c)},getSystemQueries:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:"js/arango/aqltemplates.json",contentType:"application/json",processData:!1,success:function(c){a&&a(!1),b.queries=c},error:function(){a&&a(!0),arangoHelper.arangoNotification("Query","Error while loading system templates")}})},updateLocalQueries:function(){var a=this;this.customQueries=[],this.collection.each(function(b){a.customQueries.push({name:b.get("name"),value:b.get("value"),parameter:b.get("parameter")})})},getAQL:function(a){var b=this;this.collection.fetch({success:function(){var c=localStorage.getItem("customQueries");if(c){var d=JSON.parse(c);_.each(d,function(a){b.collection.add({value:a.value,name:a.name})});var e=function(a){a?arangoHelper.arangoError("Custom Queries","Could not import old local storage queries"):localStorage.removeItem("customQueries")}.bind(b);b.collection.saveCollectionQueries(e)}b.updateLocalQueries(),a&&a()}})}})}(),function(){"use strict";window.ScaleView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("scaleView.ejs"),interval:1e4,knownServers:[],events:{"click #addCoord":"addCoord","click #removeCoord":"removeCoord","click #addDBs":"addDBs","click #removeDBs":"removeDBs"},setCoordSize:function(a){var b=this,c={numberOfCoordinators:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updateTable(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},setDBsSize:function(a){var b=this,c={numberOfDBServers:a};$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",data:JSON.stringify(c),success:function(){b.updateTable(c)},error:function(){arangoHelper.arangoError("Scale","Could not set coordinator size.")}})},addCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!0))},removeCoord:function(){this.setCoordSize(this.readNumberFromID("#plannedCoords",!1,!0))},addDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!0))},removeDBs:function(){this.setDBsSize(this.readNumberFromID("#plannedDBs",!1,!0))},readNumberFromID:function(a,b,c){var d=$(a).html(),e=!1;try{e=JSON.parse(d)}catch(f){}return b&&e++,c&&1!==e&&e--,e},initialize:function(a){var b=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.dbServers=a.dbServers, +this.coordinators=a.coordinators,this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#sNodes"===window.location.hash&&b.coordinators.fetch({success:function(){b.dbServers.fetch({success:function(){b.continueRender(!0)}})}})},this.interval))},render:function(){var a=this,b=function(){var b=function(){a.continueRender()}.bind(this);this.waitForDBServers(b)}.bind(this);this.initDoneCoords?b():this.waitForCoordinators(b),window.arangoHelper.buildNodesSubNav("scale")},continueRender:function(a){var b,c,d=this;b=this.coordinators.toJSON(),c=this.dbServers.toJSON(),this.$el.html(this.template.render({runningCoords:b.length,runningDBs:c.length,plannedCoords:void 0,plannedDBs:void 0,initialized:a})),$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",processData:!1,success:function(a){d.updateTable(a)}})},updateTable:function(a){var b='scaling in progress ',c='no scaling process active';a.numberOfCoordinators&&($("#plannedCoords").html(a.numberOfCoordinators),this.coordinators.toJSON().length===a.numberOfCoordinators?$("#statusCoords").html(c):$("#statusCoords").html(b)),a.numberOfDBServers&&($("#plannedDBs").html(a.numberOfDBServers),this.dbServers.toJSON().length===a.numberOfDBServers?$("#statusDBs").html(c):$("#statusDBs").html(b))},waitForDBServers:function(a){var b=this;0===this.dbServers.length?window.setInterval(function(){b.waitForDBServers(a)},300):a()},waitForCoordinators:function(a){var b=this;window.setTimeout(function(){0===b.coordinators.length?b.waitForCoordinators(a):(b.initDoneCoords=!0,a())},200)},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.SettingsView=Backbone.View.extend({el:"#content",initialize:function(a){this.collectionName=a.collectionName,this.model=this.collection},events:{},render:function(){this.breadcrumb(),window.arangoHelper.buildCollectionSubNav(this.collectionName,"Settings"),this.renderSettings()},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("Collection: "+this.collectionName)},unloadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be unloaded."):void 0===a?(this.model.set("status","unloading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","unloaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" unloaded.")}.bind(this);this.model.unloadCollection(a),window.modalView.hide()},loadCollection:function(){var a=function(a){a?arangoHelper.arangoError("Collection error",this.model.get("name")+" could not be loaded."):void 0===a?(this.model.set("status","loading"),this.render()):"#collections"===window.location.hash?(this.model.set("status","loaded"),this.render()):arangoHelper.arangoNotification("Collection "+this.model.get("name")+" loaded.")}.bind(this);this.model.loadCollection(a),window.modalView.hide()},truncateCollection:function(){this.model.truncateCollection(),window.modalView.hide()},deleteCollection:function(){this.model.destroy({error:function(){arangoHelper.arangoError("Could not delete collection.")},success:function(){window.App.navigate("#collections",{trigger:!0})}})},saveModifiedCollection:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c;c=b?this.model.get("name"):$("#change-collection-name").val();var d=this.model.get("status");if("loaded"===d){var e;try{e=JSON.parse(1024*$("#change-collection-size").val()*1024)}catch(f){return arangoHelper.arangoError("Please enter a valid number"),0}var g;try{if(g=JSON.parse($("#change-index-buckets").val()),1>g||parseInt(g)!==Math.pow(2,Math.log2(g)))throw"invalid indexBuckets value"}catch(f){return arangoHelper.arangoError("Please enter a valid number of index buckets"),0}var h=function(a){a?arangoHelper.arangoError("Collection error: "+a.responseText):(arangoHelper.arangoNotification("Collection: Successfully changed."),window.App.navigate("#cSettings/"+c,{trigger:!0}))}.bind(this),i=function(a){if(a)arangoHelper.arangoError("Collection error: "+a.responseText);else{var b=$("#change-collection-sync").val();this.model.changeCollection(b,e,g,h)}}.bind(this);this.model.renameCollection(c,i)}else if("unloaded"===d)if(this.model.get("name")!==c){var j=function(a,b){a?arangoHelper.arangoError("Collection"+b.responseText):(arangoHelper.arangoNotification("CollectionSuccessfully changed."),window.App.navigate("#cSettings/"+c,{trigger:!0}))}.bind(this);this.model.renameCollection(c,j)}else window.modalView.hide()}}.bind(this);window.isCoordinator(a)},renderSettings:function(){var a=function(a,b){if(a)arangoHelper.arangoError("Error","Could not get coordinator info");else{var c=!1;"loaded"===this.model.get("status")&&(c=!0);var d=[],e=[];b||e.push(window.modalView.createTextEntry("change-collection-name","Name",this.model.get("name"),!1,"",!0,[{rule:Joi.string().regex(/^[a-zA-Z]/),msg:"Collection name must always start with a letter."},{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only Symbols "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No collection name given."}]));var f=function(){e.push(window.modalView.createReadOnlyEntry("change-collection-id","ID",this.model.get("id"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-type","Type",this.model.get("type"),"")),e.push(window.modalView.createReadOnlyEntry("change-collection-status","Status",this.model.get("status"),"")),d.push(window.modalView.createDeleteButton("Delete",this.deleteCollection.bind(this))),d.push(window.modalView.createDeleteButton("Truncate",this.truncateCollection.bind(this))),c?d.push(window.modalView.createNotificationButton("Unload",this.unloadCollection.bind(this))):d.push(window.modalView.createNotificationButton("Load",this.loadCollection.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.saveModifiedCollection.bind(this)));var a=["General","Indices"],b=["modalTable.ejs","indicesView.ejs"];window.modalView.show(b,"Modify Collection",d,e,null,null,this.events,null,a,"content"),$($("#infoTab").children()[1]).remove()}.bind(this);if(c){var g=function(a,b){if(a)arangoHelper.arangoError("Collection","Could not fetch properties");else{var c=b.journalSize/1048576,d=b.indexBuckets,g=b.waitForSync;e.push(window.modalView.createTextEntry("change-collection-size","Journal size",c,"The maximal size of a journal or datafile (in MB). Must be at least 1.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[0-9]*$/),msg:"Must be a number."}])),e.push(window.modalView.createTextEntry("change-index-buckets","Index buckets",d,"The number of index buckets for this collection. Must be at least 1 and a power of 2.","",!0,[{rule:Joi.string().allow("").optional().regex(/^[1-9][0-9]*$/),msg:"Must be a number greater than 1 and a power of 2."}])),e.push(window.modalView.createSelectEntry("change-collection-sync","Wait for sync",g,"Synchronize to disk before returning from a create or update of a document.",[{value:!1,label:"No"},{value:!0,label:"Yes"}]))}f()}.bind(this);this.model.getProperties(g)}else f()}}.bind(this);window.isCoordinator(a)}})}(),function(){"use strict";window.ShardsView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("shardsView.ejs"),interval:1e4,knownServers:[],events:{"click #shardsContent .pure-table-row":"moveShard","click #rebalanceShards":"rebalanceShards"},initialize:function(a){var b=this;b.dbServers=a.dbServers,clearInterval(this.intervalFunction),window.App.isCluster&&(this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#shards"===window.location.hash&&b.render(!1)},this.interval))},render:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/shardDistribution"),contentType:"application/json",processData:!1,async:!0,success:function(a){b.continueRender(a)},error:function(){arangoHelper.arangoError("Cluster","Could not fetch sharding information.")}}),a!==!1&&arangoHelper.buildNodesSubNav("Shards")},moveShard:function(a){var b=window.App.currentDB.get("name"),c=$(a.currentTarget).attr("collection"),d=$(a.currentTarget).attr("shard"),e=$(a.currentTarget).attr("leader"),f=[],g=[],h=[];this.dbServers[0].each(function(a){a.get("name")!==e&&h.push({value:a.get("name"),label:a.get("name")})}),h=h.reverse(),g.push(window.modalView.createSelectEntry("toDBServer","Destination",void 0,"Please select the target databse server. The selected database server will be the new leader of the shard.",h)),f.push(window.modalView.createSuccessButton("Move",this.confirmMoveShards.bind(this,b,c,d,e))),window.modalView.show("modalTable.ejs","Move shard: "+d,f,g)},confirmMoveShards:function(a,b,c,d){var e=this,f=$("#toDBServer").val(),g={database:a,collection:b,shard:c,fromServer:d,toServer:f};$.ajax({type:"POST",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/moveShard"),contentType:"application/json",processData:!1,data:JSON.stringify(g),async:!0,success:function(a){a===!0&&(window.setTimeout(function(){e.render(!1)},1500),arangoHelper.arangoNotification("Shard "+c+" will be moved to "+f+"."))},error:function(){arangoHelper.arangoNotification("Shard "+c+" could not be moved to "+f+".")}}),window.modalView.hide()},rebalanceShards:function(){var a=this;$.ajax({type:"POST",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/rebalanceShards"),contentType:"application/json",processData:!1,data:JSON.stringify({}),async:!0,success:function(b){b===!0&&(window.setTimeout(function(){a.render(!1)},1500),arangoHelper.arangoNotification("Started rebalance process."))},error:function(){arangoHelper.arangoNotification("Could not start rebalance process.")}}),window.modalView.hide()},continueRender:function(a){delete a.code,delete a.error,this.$el.html(this.template.render({collections:a}))},updateServerTime:function(){this.serverTime=(new Date).getTime()}})}(),function(){"use strict";window.ShowClusterView=Backbone.View.extend({detailEl:"#modalPlaceholder",el:"#content",defaultFrame:12e5,template:templateEngine.createTemplate("showCluster.ejs"),modal:templateEngine.createTemplate("waitModal.ejs"),detailTemplate:templateEngine.createTemplate("detailView.ejs"),events:{"change #selectDB":"updateCollections","change #selectCol":"updateShards","click .dbserver.success":"dashboard","click .coordinator.success":"dashboard"},replaceSVGs:function(){$(".svgToReplace").each(function(){var a=$(this),b=a.attr("id"),c=a.attr("src");$.get(c,function(c){var d=$(c).find("svg");d.attr("id",b).attr("class","icon").removeAttr("xmlns:a"),a.replaceWith(d)},"xml")})},updateServerTime:function(){this.serverTime=(new Date).getTime()},setShowAll:function(){this.graphShowAll=!0},resetShowAll:function(){this.graphShowAll=!1,this.renderLineChart()},initialize:function(a){this.options=a,this.interval=1e4,this.isUpdating=!1,this.timer=null,this.knownServers=[],this.graph=void 0,this.graphShowAll=!1,this.updateServerTime(),this.dygraphConfig=this.options.dygraphConfig,this.dbservers=new window.ClusterServers([],{interval:this.interval}),this.coordinators=new window.ClusterCoordinators([],{interval:this.interval}),this.documentStore=new window.arangoDocuments,this.statisticsDescription=new window.StatisticsDescription,this.statisticsDescription.fetch({async:!1}),this.dbs=new window.ClusterDatabases([],{interval:this.interval}),this.cols=new window.ClusterCollections,this.shards=new window.ClusterShards,this.startUpdating()},listByAddress:function(a){var b={},c=this;this.dbservers.byAddress(b,function(b){c.coordinators.byAddress(b,a)})},updateCollections:function(){var a=this,b=$("#selectCol"),c=$("#selectDB").find(":selected").attr("id");if(c){var d=b.find(":selected").attr("id");b.html(""),this.cols.getList(c,function(c){_.each(_.pluck(c,"name"),function(a){b.append('")});var e=$("#"+d,b);1===e.length&&e.prop("selected",!0),a.updateShards()})}},updateShards:function(){var a=$("#selectDB").find(":selected").attr("id"),b=$("#selectCol").find(":selected").attr("id");this.shards.getList(a,b,function(a){$(".shardCounter").html("0"),_.each(a,function(a){$("#"+a.server+"Shards").html(a.shards.length)})})},updateServerStatus:function(a){var b=this,c=function(a,b,c){var d,e,f=c;f=f.replace(/\./g,"-"),f=f.replace(/\:/g,"_"),e=$("#id"+f),e.length<1||(d=e.attr("class").split(/\s+/)[1],e.attr("class",a+" "+d+" "+b),"coordinator"===a&&("success"===b?$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!1):$(".button-gui",e.closest(".tile")).toggleClass("button-gui-disabled",!0)))};this.coordinators.getStatuses(c.bind(this,"coordinator"),function(){b.dbservers.getStatuses(c.bind(b,"dbserver")),a()})},updateDBDetailList:function(){var a=this,b=$("#selectDB"),c=b.find(":selected").attr("id");b.html(""),this.dbs.getList(function(d){_.each(_.pluck(d,"name"),function(a){b.append('")});var e=$("#"+c,b);1===e.length&&e.prop("selected",!0),a.updateCollections()})},rerender:function(){var a=this;this.updateServerStatus(function(){a.getServerStatistics(function(){a.updateServerTime(),a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList()})})},render:function(){this.knownServers=[],delete this.hist;var a=this;this.listByAddress(function(b){1===Object.keys(b).length?a.type="testPlan":a.type="other",a.updateDBDetailList(),a.dbs.getList(function(c){$(a.el).html(a.template.render({dbs:_.pluck(c,"name"),byAddress:b,type:a.type})),$(a.el).append(a.modal.render({})),a.replaceSVGs(),a.getServerStatistics(function(){a.data=a.generatePieData(),a.renderPieChart(a.data),a.renderLineChart(),a.updateDBDetailList(),a.startUpdating()})})})},generatePieData:function(){var a=[],b=this;return this.data.forEach(function(c){a.push({key:c.get("name"),value:c.get("system").virtualSize,time:b.serverTime})}),a},addStatisticsItem:function(a,b,c,d){var e=this;e.hasOwnProperty("hist")||(e.hist={}),e.hist.hasOwnProperty(a)||(e.hist[a]=[]);var f=e.hist[a],g=f.length;if(0===g)f.push({time:b,snap:d,requests:c,requestsPerSecond:0});else{var h=f[g-1].time,i=f[g-1].requests;if(c>i){var j=b-h,k=0;j>0&&(k=(c-i)/j),f.push({time:b,snap:d,requests:c,requestsPerSecond:k})}}},getServerStatistics:function(a){var b=this,c=Math.round(b.serverTime/1e3);this.data=void 0;var d=new window.ClusterStatisticsCollection,e=this.coordinators.first();this.dbservers.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=e.get("protocol")+"://"+e.get("address")+"/_admin/clusterStatistics?DBserver="+a.get("name"),d.add(c)}}),this.coordinators.forEach(function(a){if("ok"===a.get("status")){-1===b.knownServers.indexOf(a.id)&&b.knownServers.push(a.id);var c=new window.Statistics({name:a.id});c.url=a.get("protocol")+"://"+a.get("address")+"/_admin/statistics",d.add(c)}});var f=d.size();this.data=[];var g=function(d){f--;var e=d.get("time"),g=d.get("name"),h=d.get("http").requestsTotal;b.addStatisticsItem(g,e,h,c),b.data.push(d),0===f&&a()},h=function(){f--,0===f&&a()};d.fetch(g,h)},renderPieChart:function(a){var b=$("#clusterGraphs svg").width(),c=$("#clusterGraphs svg").height(),d=Math.min(b,c)/2,e=this.dygraphConfig.colors,f=d3.svg.arc().outerRadius(d-20).innerRadius(0),g=d3.layout.pie().sort(function(a){return a.value}).value(function(a){return a.value});d3.select("#clusterGraphs").select("svg").remove();var h=d3.select("#clusterGraphs").append("svg").attr("class","clusterChart").append("g").attr("transform","translate("+b/2+","+(c/2-10)+")"),i=d3.svg.arc().outerRadius(d-2).innerRadius(d-2),j=h.selectAll(".arc").data(g(a)).enter().append("g").attr("class","slice");j.append("path").attr("d",f).style("fill",function(a,b){return e[b%e.length]}).style("stroke",function(a,b){return e[b%e.length]}),j.append("text").attr("transform",function(a){return"translate("+f.centroid(a)+")"}).style("text-anchor","middle").text(function(a){var b=a.data.value/1024/1024/1024;return b.toFixed(2)}),j.append("text").attr("transform",function(a){return"translate("+i.centroid(a)+")"}).style("text-anchor","middle").text(function(a){return a.data.key})},renderLineChart:function(){var a,b,c,d,e,f,g=this,h=1200,i=[],j=[],k=Math.round((new Date).getTime()/1e3)-h,l=g.knownServers,m=function(){return null};for(c=0;cf||(j.hasOwnProperty(f)?a=j[f]:(e=new Date(1e3*f),a=j[f]=[e].concat(l.map(m))),a[c+1]=b[d].requestsPerSecond);i=[],Object.keys(j).sort().forEach(function(a){i.push(j[a])});var n=this.dygraphConfig.getDefaultConfig("clusterRequestsPerSecond");n.labelsDiv=$("#lineGraphLegend")[0],n.labels=["datetime"].concat(l),g.graph=new Dygraph(document.getElementById("lineGraph"),i,n)},stopUpdating:function(){window.clearTimeout(this.timer),delete this.graph,this.isUpdating=!1},startUpdating:function(){if(!this.isUpdating){this.isUpdating=!0;var a=this;this.timer=window.setInterval(function(){a.rerender()},this.interval)}},dashboard:function(a){this.stopUpdating();var b,c,d=$(a.currentTarget),e={},f=d.attr("id");f=f.replace(/\-/g,"."),f=f.replace(/\_/g,":"),f=f.substr(2),e.raw=f,e.isDBServer=d.hasClass("dbserver"),e.isDBServer?(b=this.dbservers.findWhere({address:e.raw}),c=this.coordinators.findWhere({status:"ok"}),e.endpoint=c.get("protocol")+"://"+c.get("address")):(b=this.coordinators.findWhere({address:e.raw}),e.endpoint=b.get("protocol")+"://"+b.get("address")),e.target=encodeURIComponent(b.get("name")),window.App.serverToShow=e,window.App.dashboard()},getCurrentSize:function(a){"#"!==a.substr(0,1)&&(a="#"+a);var b,c;return $(a).attr("style",""),b=$(a).height(),c=$(a).width(),{height:b,width:c}},resize:function(){var a;this.graph&&(a=this.getCurrentSize(this.graph.maindiv_.id),this.graph.resize(a.width,a.height))}})}(),function(){"use strict";window.SpotlightView=Backbone.View.extend({template:templateEngine.createTemplate("spotlightView.ejs"),el:"#spotlightPlaceholder",displayLimit:8,typeahead:null,callbackSuccess:null,callbackCancel:null,collections:{system:[],doc:[],edge:[]},events:{"focusout #spotlight .tt-input":"hide","keyup #spotlight .typeahead":"listenKey"},aqlKeywordsArray:[],aqlBuiltinFunctionsArray:[],aqlKeywords:"for|return|filter|sort|limit|let|collect|asc|desc|in|into|insert|update|remove|replace|upsert|options|with|and|or|not|distinct|graph|outbound|inbound|any|all|none|aggregate|like|count|shortest_path",hide:function(){this.typeahead=$("#spotlight .typeahead").typeahead("destroy"),$(this.el).hide()},listenKey:function(a){27===a.keyCode?(this.hide(),this.callbackSuccess&&this.callbackCancel()):13===a.keyCode&&this.callbackSuccess&&(this.hide(),this.callbackSuccess($(this.typeahead).val()))},substringMatcher:function(a){return function(b,c){var d,e;d=[],e=new RegExp(b,"i"),_.each(a,function(a){e.test(a)&&d.push(a)}),c(d)}},updateDatasets:function(){var a=this;this.collections={system:[],doc:[],edge:[]},window.App.arangoCollectionsStore.each(function(b){b.get("isSystem")?a.collections.system.push(b.get("name")):"document"===b.get("type")?a.collections.doc.push(b.get("name")):a.collections.edge.push(b.get("name"))})},stringToArray:function(){var a=this;_.each(this.aqlKeywords.split("|"),function(b){a.aqlKeywordsArray.push(b.toUpperCase())}),a.aqlKeywordsArray.push(!0),a.aqlKeywordsArray.push(!1),a.aqlKeywordsArray.push(null)},fetchKeywords:function(a){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/aql-builtin"),contentType:"application/json",success:function(c){b.stringToArray(),b.updateDatasets(),_.each(c.functions,function(a){b.aqlBuiltinFunctionsArray.push(a.name)}),a&&a()},error:function(){a&&a(),arangoHelper.arangoError("AQL","Could not fetch AQL function definition.")}})},show:function(a,b,c){var d=this;this.callbackSuccess=a,this.callbackCancel=b;var e=function(){var a=function(a,b,c){var d='

    '+a+"

    ";return b&&(d+=''),c&&(d+=''+c.toUpperCase()+""),d+="
    "};$(this.el).html(this.template.render({})),$(this.el).show(),"aql"===c?this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Functions",source:this.substringMatcher(this.aqlBuiltinFunctionsArray),limit:this.displayLimit,templates:{header:a("Functions","fa-code","aql")}},{name:"Keywords",source:this.substringMatcher(this.aqlKeywordsArray),limit:this.displayLimit,templates:{header:a("Keywords","fa-code","aql")}},{name:"Documents",source:this.substringMatcher(this.collections.doc),limit:this.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:this.substringMatcher(this.collections.edge),limit:this.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:this.displayLimit,source:this.substringMatcher(this.collections.system),templates:{header:a("System","fa-cogs","Collection")}}):this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Documents",source:this.substringMatcher(this.collections.doc),limit:this.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:this.substringMatcher(this.collections.edge),limit:this.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:this.displayLimit,source:this.substringMatcher(this.collections.system),templates:{header:a("System","fa-cogs","Collection")}}),$("#spotlight .typeahead").focus()}.bind(this);0===d.aqlBuiltinFunctionsArray.length?this.fetchKeywords(e):e()}})}(),function(){"use strict";window.StatisticBarView=Backbone.View.extend({el:"#statisticBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab"},template:templateEngine.createTemplate("statisticBarView.ejs"),initialize:function(a){this.currentDB=a.currentDB},replaceSVG:function(a){var b=a.attr("id"),c=a.attr("class"),d=a.attr("src");$.get(d,function(d){var e=$(d).find("svg");void 0===b&&(e=e.attr("id",b)),void 0===c&&(e=e.attr("class",c+" replaced-svg")),e=e.removeAttr("xmlns:a"),a.replaceWith(e)},"xml")},render:function(){var a=this;return $(this.el).html(this.template.render({isSystem:this.currentDB.get("isSystem")})),$("img.svg").each(function(){a.replaceSVG($(this))}),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id;return"links"===c?($("#link_dropdown").slideToggle(200),void a.preventDefault()):"tools"===c?($("#tools_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},handleSelectNavigation:function(){$("#arangoCollectionSelect").change(function(){var a=$(this).find("option:selected").val();window.App.navigate(a,{trigger:!0})})},selectMenuItem:function(a){$(".navlist li").removeClass("active"),a&&$("."+a).addClass("active")}})}(),function(){"use strict";window.SupportView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("supportView.ejs"),events:{"click .subViewNavbar .subMenuEntry":"toggleViews"},render:function(){this.$el.html(this.template.render({}))},resize:function(){$(".innerContent").height($(".centralRow").height()-170)},renderSwagger:function(){var a=window.location.pathname.split("/"),b=window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/"+a[1]+"/"+a[2]+"/_admin/aardvark/api/index.html";$("#swagger").html(""),$("#swagger").append('')},toggleViews:function(a){var b=this,c=a.currentTarget.id.split("-")[0],d=["community","documentation","swagger"];_.each(d,function(a){c!==a?$("#"+a).hide():("swagger"===c&&(b.renderSwagger(),$("#swagger iframe").css("height","100%"),$("#swagger iframe").css("width","100%"),$("#swagger iframe").css("margin-top","-13px"),b.resize()),$("#"+a).show())}),$(".subMenuEntries").children().removeClass("active"),$("#"+c+"-support").addClass("active")}})}(),function(){"use strict";window.TableView=Backbone.View.extend({template:templateEngine.createTemplate("tableView.ejs"),loading:templateEngine.createTemplate("loadingTableView.ejs"),initialize:function(a){this.rowClickCallback=a.rowClick},events:{"click .pure-table-body .pure-table-row":"rowClick","click .deleteButton":"removeClick"},rowClick:function(a){this.hasOwnProperty("rowClickCallback")&&this.rowClickCallback(a)},removeClick:function(a){this.hasOwnProperty("removeClickCallback")&&(this.removeClickCallback(a),a.stopPropagation())},setRowClick:function(a){this.rowClickCallback=a},setRemoveClick:function(a){this.removeClickCallback=a},render:function(){$(this.el).html(this.template.render({docs:this.collection}))},drawLoading:function(){$(this.el).html(this.loading.render({}))}})}(),function(){"use strict";window.UserBarView=Backbone.View.extend({events:{"change #userBarSelect":"navigateBySelect","click .tab":"navigateByTab","mouseenter .dropdown":"showDropdown","mouseleave .dropdown":"hideDropdown","click #userLogoutIcon":"userLogout","click #userLogout":"userLogout"},initialize:function(a){this.userCollection=a.userCollection,this.userCollection.fetch({cache:!1,async:!0}),this.userCollection.bind("change:extra",this.render.bind(this))},template:templateEngine.createTemplate("userBarView.ejs"),navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement;b=$(b).closest("a");var c=b.attr("id");return"user"===c?($("#user_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},toggleUserMenu:function(){$("#userBar .subBarDropdown").toggle()},showDropdown:function(){$("#user_dropdown").fadeIn(1)},hideDropdown:function(){$("#user_dropdown").fadeOut(1)},render:function(){if(frontendConfig.authenticationEnabled!==!1){var a=this,b=function(a,b){if(a)arangoHelper.arangoErro("User","Could not fetch user.");else{var c=null,d=null,e=!1,f=null;if(b!==!1)return f=this.userCollection.findWhere({user:b}),f.set({loggedIn:!0}),d=f.get("extra").name,c=f.get("extra").img,e=f.get("active"),c=c?"https://s.gravatar.com/avatar/"+c+"?s=80":"img/default_user.png",d||(d=""),this.$el=$("#userBar"),this.$el.html(this.template.render({img:c,name:d,username:b,active:e})),this.delegateEvents(),this.$el}}.bind(this);$("#userBar").on("click",function(){a.toggleUserMenu()}),this.userCollection.whoAmI(b)}},userLogout:function(){var a=function(a){a?arangoHelper.arangoError("User","Logout error"):this.userCollection.logout()}.bind(this);this.userCollection.whoAmI(a)}})}(),function(){"use strict";window.userManagementView=Backbone.View.extend({el:"#content",el2:"#userManagementThumbnailsIn",template:templateEngine.createTemplate("userManagementView.ejs"),events:{"click #createUser":"createUser","click #submitCreateUser":"submitCreateUser","click #userManagementThumbnailsIn .tile":"editUser","click #submitEditUser":"submitEditUser","click #userManagementToggle":"toggleView","keyup #userManagementSearchInput":"search","click #userManagementSearchSubmit":"search","click #callEditUserPassword":"editUserPassword","click #submitEditUserPassword":"submitEditUserPassword","click #submitEditCurrentUserProfile":"submitEditCurrentUserProfile","click .css-label":"checkBoxes","change #userSortDesc":"sorting"},dropdownVisible:!1,initialize:function(){var a=this,b=function(a,b){frontendConfig.authenticationEnabled===!0&&(a||null===b?arangoHelper.arangoError("User","Could not fetch user data"):this.currentUser=this.collection.findWhere({user:b}))}.bind(this);this.collection.fetch({success:function(){a.collection.whoAmI(b)}})},checkBoxes:function(a){var b=a.currentTarget.id;$("#"+b).click()},sorting:function(){$("#userSortDesc").is(":checked")?this.collection.setSortingDesc(!0):this.collection.setSortingDesc(!1),$("#userManagementDropdown").is(":visible")?this.dropdownVisible=!0:this.dropdownVisible=!1,this.render()},render:function(a){var b=!1;$("#userManagementDropdown").is(":visible")&&(b=!0);var c=function(){this.collection.sort(),$(this.el).html(this.template.render({collection:this.collection,searchString:""})),b===!0&&($("#userManagementDropdown2").show(),$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown").show()),a&&this.editCurrentUser(),arangoHelper.setCheckboxStatus("#userManagementDropdown")}.bind(this);return this.collection.fetch({success:function(){c()}}),this},search:function(){var a,b,c,d;a=$("#userManagementSearchInput"),b=$("#userManagementSearchInput").val(),d=this.collection.filter(function(a){return-1!==a.get("user").indexOf(b)}),$(this.el).html(this.template.render({collection:d,searchString:b})),a=$("#userManagementSearchInput"),c=a.val().length,a.focus(),a[0].setSelectionRange(c,c)},createUser:function(a){a.preventDefault(),this.createCreateUserModal()},submitCreateUser:function(){var a=this,b=$("#newUsername").val(),c=$("#newName").val(),d=$("#newPassword").val(),e=$("#newStatus").is(":checked");if(this.validateUserInfo(c,b,d,e)){var f={user:b,passwd:d,active:e,extra:{name:c}};this.collection.create(f,{wait:!0,error:function(a,b){arangoHelper.parseError("User",b,a)},success:function(){a.updateUserManagement(),window.modalView.hide()}})}},validateUserInfo:function(a,b,c,d){return""===b?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):!0},updateUserManagement:function(){var a=this;this.collection.fetch({success:function(){a.render()}})},editUser:function(a){if("createUser"!==$(a.currentTarget).find("a").attr("id")){$(a.currentTarget).hasClass("tile")&&(a.currentTarget=$(a.currentTarget).find("img")),this.collection.fetch();var b=this.evaluateUserName($(a.currentTarget).attr("id"),"_edit-user");""===b&&(b=$(a.currentTarget).attr("id")),window.App.navigate("user/"+encodeURIComponent(b),{trigger:!0})}},toggleView:function(){$("#userSortDesc").attr("checked",this.collection.sortOptions.desc),$("#userManagementToggle").toggleClass("activated"),$("#userManagementDropdown2").slideToggle(200)},createCreateUserModal:function(){var a=[],b=[];b.push(window.modalView.createTextEntry("newUsername","Username","",!1,"Username",!0,[{rule:Joi.string().regex(/^[a-zA-Z0-9\-_]*$/),msg:'Only symbols, "_" and "-" are allowed.'},{rule:Joi.string().required(),msg:"No username given."}])),b.push(window.modalView.createTextEntry("newName","Name","",!1,"Name",!1)),b.push(window.modalView.createPasswordEntry("newPassword","Password","",!1,"",!1)),b.push(window.modalView.createCheckboxEntry("newStatus","Active","active",!1,!0)),a.push(window.modalView.createSuccessButton("Create",this.submitCreateUser.bind(this))),window.modalView.show("modalTable.ejs","Create New User",a,b)},evaluateUserName:function(a,b){if(a){var c=a.lastIndexOf(b);return a.substring(0,c)}},updateUserProfile:function(){var a=this;this.collection.fetch({success:function(){a.render()}})}})}(),function(){"use strict";window.UserPermissionView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("userPermissionView.ejs"),initialize:function(a){this.username=a.username},events:{'click #userPermissionView [type="checkbox"]':"setPermission"},render:function(){var a=this;this.collection.fetch({success:function(){a.continueRender()}})},setPermission:function(a){var b=$(a.currentTarget).is(":checked"),c=$(a.currentTarget).attr("name");b?this.grantPermission(this.currentUser.get("user"),c):this.revokePermission(this.currentUser.get("user"),c)},grantPermission:function(a,b){ +$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:"rw"})})},revokePermission:function(a,b){$.ajax({type:"PUT",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a)+"/database/"+encodeURIComponent(b)),contentType:"application/json",data:JSON.stringify({grant:""})})},continueRender:function(){var a=this;this.currentUser=this.collection.findWhere({user:this.username}),this.breadcrumb(),arangoHelper.buildUserSubNav(this.currentUser.get("user"),"Permissions"),$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_api/database/user"),contentType:"application/json",success:function(b){var c=b.result;$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_api/user/"+encodeURIComponent(a.currentUser.get("user"))+"/database"),contentType:"application/json",success:function(b){var d=b.result;a.finishRender(c,d)}})}})},finishRender:function(a,b){$(this.el).html(this.template.render({allDBs:a,permissions:b}))},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("User: "+this.currentUser.get("user"))}})}(),function(){"use strict";window.UserView=Backbone.View.extend({el:"#content",initialize:function(a){this.username=a.username},render:function(){var a=this;this.collection.fetch({success:function(){a.continueRender()}})},editCurrentUser:function(){this.createEditCurrentUserModal(this.currentUser.get("user"),this.currentUser.get("extra").name,this.currentUser.get("extra").img)},continueRender:function(){this.breadcrumb(),this.currentUser=this.collection.findWhere({user:this.username}),arangoHelper.buildUserSubNav(this.currentUser.get("user"),"General"),this.currentUser.get("loggedIn")?this.editCurrentUser():this.createEditUserModal(this.currentUser.get("user"),this.currentUser.get("extra").name,this.currentUser.get("active"))},createEditUserPasswordModal:function(){var a=[],b=[];b.push(window.modalView.createPasswordEntry("newCurrentPassword","New Password","",!1,"new password",!1)),b.push(window.modalView.createPasswordEntry("confirmCurrentPassword","Confirm New Password","",!1,"confirm new password",!1)),a.push(window.modalView.createSuccessButton("Save",this.submitEditUserPassword.bind(this))),window.modalView.show("modalTable.ejs","Edit User Password",a,b)},createEditCurrentUserModal:function(a,b,c){var d=[],e=[];e.push(window.modalView.createReadOnlyEntry("id_username","Username",a)),e.push(window.modalView.createTextEntry("editCurrentName","Name",b,!1,"Name",!1)),e.push(window.modalView.createTextEntry("editCurrentUserProfileImg","Gravatar account (Mail)",c,"Mailaddress or its md5 representation of your gravatar account. The address will be converted into a md5 string. Only the md5 string will be stored, not the mailaddress.","myAccount(at)gravatar.com")),d.push(window.modalView.createNotificationButton("Change Password",this.editUserPassword.bind(this))),d.push(window.modalView.createSuccessButton("Save",this.submitEditCurrentUserProfile.bind(this))),window.modalView.show("modalTable.ejs","Edit User Profile",d,e,null,null,this.events,null,null,"content")},parseImgString:function(a){return-1===a.indexOf("@")?a:CryptoJS.MD5(a).toString()},createEditUserModal:function(a,b,c){var d,e;e=[{type:window.modalView.tables.READONLY,label:"Username",value:_.escape(a)},{type:window.modalView.tables.TEXT,label:"Name",value:b,id:"editName",placeholder:"Name"},{type:window.modalView.tables.CHECKBOX,label:"Active",value:"active",checked:c,id:"editStatus"}],d=[{title:"Delete",type:window.modalView.buttons.DELETE,callback:this.submitDeleteUser.bind(this,a)},{title:"Change Password",type:window.modalView.buttons.NOTIFICATION,callback:this.createEditUserPasswordModal.bind(this,a)},{title:"Save",type:window.modalView.buttons.SUCCESS,callback:this.submitEditUser.bind(this,a)}],window.modalView.show("modalTable.ejs","Edit User",d,e,null,null,this.events,null,null,"content")},validateStatus:function(a){return""===a?!1:!0},submitDeleteUser:function(a){var b=this.collection.findWhere({user:a});b.destroy({wait:!0}),window.App.navigate("#users",{trigger:!0})},submitEditCurrentUserProfile:function(){var a=$("#editCurrentName").val(),b=$("#editCurrentUserProfileImg").val();b=this.parseImgString(b);var c=function(a){a?arangoHelper.arangoError("User","Could not edit user settings"):(arangoHelper.arangoNotification("User","Changes confirmed."),this.updateUserProfile())}.bind(this);this.currentUser.setExtras(a,b,c),window.modalView.hide()},submitEditUserPassword:function(){var a=$("#newCurrentPassword").val(),b=$("#confirmCurrentPassword").val();$("#newCurrentPassword").val(""),$("#confirmCurrentPassword").val(""),$("#newCurrentPassword").closest("th").css("backgroundColor","white"),$("#confirmCurrentPassword").closest("th").css("backgroundColor","white");var c=!1;a!==b&&(arangoHelper.arangoError("User","New passwords do not match."),c=!0),c||(this.currentUser.setPassword(a),arangoHelper.arangoNotification("User","Password changed."),window.modalView.hide())},validateUsername:function(a){return""===a?(arangoHelper.arangoError("You have to define an username"),$("#newUsername").closest("th").css("backgroundColor","red"),!1):a.match(/^[a-zA-Z][a-zA-Z0-9_\-]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},editUserPassword:function(){window.modalView.hide(),this.createEditUserPasswordModal()},validateName:function(a){return""===a?!0:a.match(/^[a-zA-Z][a-zA-Z0-9_\-\ ]*$/)?!0:(arangoHelper.arangoError("Wrong Username","Username may only contain numbers, letters, _ and -"),!1)},submitEditUser:function(a){var b=$("#editName").val(),c=$("#editStatus").is(":checked");if(!this.validateStatus(c))return void $("#editStatus").closest("th").css("backgroundColor","red");if(!this.validateName(b))return void $("#editName").closest("th").css("backgroundColor","red");var d=this.collection.findWhere({user:a});console.log(d),d.save({extra:{name:b},active:c},{type:"PATCH",success:function(){arangoHelper.arangoNotification("User",d.get("user")+" updated.")},error:function(){arangoHelper.arangoError("User","Could not update "+d.get("user")+".")}})},breadcrumb:function(){$("#subNavigationBar .breadcrumb").html("User: "+this.username)}})}(),function(){"use strict";window.workMonitorView=Backbone.View.extend({el:"#content",id:"#workMonitorContent",template:templateEngine.createTemplate("workMonitorView.ejs"),table:templateEngine.createTemplate("arangoTable.ejs"),initialize:function(){},events:{},tableDescription:{id:"workMonitorTable",titles:["Type","Database","Task ID","Started","Url","User","Description","Method"],rows:[],unescaped:[!1,!1,!1,!1,!1,!1,!1,!1]},render:function(){var a=this;this.$el.html(this.template.render({})),this.collection.fetch({success:function(){a.parseTableData(),$(a.id).append(a.table.render({content:a.tableDescription}))}})},parseTableData:function(){var a=this;this.collection.each(function(b){if("AQL query"===b.get("type")){var c=b.get("parent");if(c)try{a.tableDescription.rows.push([b.get("type"),"(p) "+c.database,"(p) "+c.taskId,"(p) "+c.startTime,"(p) "+c.url,"(p) "+c.user,b.get("description"),"(p) "+c.method])}catch(d){console.log("some parse error")}}else"thread"!==b.get("type")&&a.tableDescription.rows.push([b.get("type"),b.get("database"),b.get("taskId"),b.get("startTime"),b.get("url"),b.get("user"),b.get("description"),b.get("method")])})}})}(),function(){"use strict";window.Router=Backbone.Router.extend({toUpdate:[],dbServers:[],isCluster:void 0,routes:{"":"cluster",dashboard:"dashboard",collections:"collections","new":"newCollection",login:"login","collection/:colid/documents/:pageid":"documents","cIndices/:colname":"cIndices","cSettings/:colname":"cSettings","cInfo/:colname":"cInfo","collection/:colid/:docid":"document",shell:"shell",queries:"query",workMonitor:"workMonitor",databases:"databases",settings:"databases",services:"applications","service/:mount":"applicationDetail",graphs:"graphManagement","graphs/:name":"showGraph",users:"userManagement","user/:name":"userView","user/:name/permission":"userPermissionView",userProfile:"userProfile",cluster:"cluster",nodes:"nodes",shards:"shards","node/:name":"node",logs:"logs",helpus:"helpUs",support:"support"},execute:function(a,b){$("#subNavigationBar .breadcrumb").html(""),$("#subNavigationBar .bottom").html(""),$("#loadingScreen").hide(),$("#content").show(),a&&a.apply(this,b)},checkUser:function(){var a=this;if("#login"!==window.location.hash){var b=function(){this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show()}.bind(this),c=function(c,d){frontendConfig.authenticationEnabled?(a.currentUser=d,c||null===d?"#login"!==window.location.hash&&this.navigate("login",{trigger:!0}):b()):b()}.bind(this);frontendConfig.authenticationEnabled?this.userCollection.whoAmI(c):(this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show())}},waitForInit:function(a,b,c){this.initFinished?(b||a(!0),b&&!c&&a(b,!0),b&&c&&a(b,c,!0)):setTimeout(function(){b||a(!1),b&&!c&&a(b,!1),b&&c&&a(b,c,!1)},350)},initFinished:!1,initialize:function(){frontendConfig.isCluster===!0&&(this.isCluster=!0),window.modalView=new window.ModalView,this.foxxList=new window.FoxxCollection,window.foxxInstallView=new window.FoxxInstallView({collection:this.foxxList}),window.progressView=new window.ProgressView;var a=this;this.userCollection=new window.ArangoUsers,this.initOnce=function(){this.initOnce=function(){};var b=function(b,c){a=this,c===!0&&a.coordinatorCollection.fetch({success:function(){a.fetchDBS()}})}.bind(this);window.isCoordinator(b),frontendConfig.isCluster===!1&&(this.initFinished=!0),this.arangoDatabase=new window.ArangoDatabase,this.currentDB=new window.CurrentDatabase,this.arangoCollectionsStore=new window.arangoCollections,this.arangoDocumentStore=new window.arangoDocument,this.coordinatorCollection=new window.ClusterCoordinators,arangoHelper.setDocumentStore(this.arangoDocumentStore),this.arangoCollectionsStore.fetch({cache:!1}),window.spotlightView=new window.SpotlightView({collection:this.arangoCollectionsStore}),this.footerView=new window.FooterView({collection:a.coordinatorCollection}),this.notificationList=new window.NotificationCollection,this.currentDB.fetch({cache:!1,success:function(){a.naviView=new window.NavigationView({database:a.arangoDatabase,currentDB:a.currentDB,notificationCollection:a.notificationList,userCollection:a.userCollection,isCluster:a.isCluster}),a.naviView.render()}}),this.queryCollection=new window.ArangoQueries,this.footerView.render(),window.checkVersion(),this.documentsView=new window.DocumentsView({collection:new window.arangoDocuments,documentStore:this.arangoDocumentStore,collectionsStore:this.arangoCollectionsStore})}.bind(this),$(window).resize(function(){a.handleResize()}),$(window).scroll(function(){})},handleScroll:function(){$(window).scrollTop()>50?($(".navbar > .secondary").css("top",$(window).scrollTop()),$(".navbar > .secondary").css("position","absolute"),$(".navbar > .secondary").css("z-index","10"),$(".navbar > .secondary").css("width",$(window).width())):($(".navbar > .secondary").css("top","0"),$(".navbar > .secondary").css("position","relative"),$(".navbar > .secondary").css("width",""))},cluster:function(a){return this.checkUser(),a?this.isCluster===!1||void 0===this.isCluster?void("_system"===this.currentDB.get("name")?(this.routes[""]="dashboard",this.navigate("#dashboard",{trigger:!0})):(this.routes[""]="collections",this.navigate("#collections",{trigger:!0}))):(this.clusterView||(this.clusterView=new window.ClusterView({coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.clusterView.render()):void this.waitForInit(this.cluster.bind(this))},node:function(a,b){return this.checkUser(),b&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodeView||(this.nodeView=new window.NodeView({coordname:a,coordinators:this.coordinatorCollection,dbServers:this.dbServers})),void this.nodeView.render()):void this.waitForInit(this.node.bind(this),a)},shards:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.shardsView=new window.ShardsView({dbServers:this.dbServers}),void this.shardsView.render()):void this.waitForInit(this.shards.bind(this))},nodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView2({}),void this.nodesView.render()):void this.waitForInit(this.nodes.bind(this))},cNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"coordinator"}),void this.nodesView.render()):void this.waitForInit(this.cNodes.bind(this))},dNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):0===this.dbServers.length?void this.navigate("#cNodes",{trigger:!0}):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"dbserver"}),void this.nodesView.render()):void this.waitForInit(this.dNodes.bind(this))},sNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.scaleView=new window.ScaleView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0]}),void this.scaleView.render()):void this.waitForInit(this.sNodes.bind(this))},addAuth:function(a){var b=this.clusterPlan.get("user");if(!b)return a.abort(),void(this.isCheckingUser||this.requestAuth());var c=b.name,d=b.passwd,e=c.concat(":",d);a.setRequestHeader("Authorization","Basic "+btoa(e))},logs:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.logs.bind(this),a);if(!this.logsView){var c=new window.ArangoLogs({upto:!0,loglevel:4}),d=new window.ArangoLogs({loglevel:4}),e=new window.ArangoLogs({loglevel:3}),f=new window.ArangoLogs({loglevel:2}),g=new window.ArangoLogs({loglevel:1});this.logsView=new window.LogsView({logall:c,logdebug:d,loginfo:e,logwarning:f,logerror:g})}this.logsView.render()},applicationDetail:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.applicationDetail.bind(this),a);var c=function(){this.hasOwnProperty("applicationDetailView")||(this.applicationDetailView=new window.ApplicationDetailView({model:this.foxxList.get(decodeURIComponent(a))})),this.applicationDetailView.model=this.foxxList.get(decodeURIComponent(a)),this.applicationDetailView.render("swagger")}.bind(this);0===this.foxxList.length?this.foxxList.fetch({cache:!1,success:function(){c()}}):c()},login:function(){var a=function(a,b){this.loginView||(this.loginView=new window.loginView({collection:this.userCollection})),a||null===b?this.loginView.render():this.loginView.render(!0)}.bind(this);this.userCollection.whoAmI(a)},collections:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.collections.bind(this));var b=this;this.collectionsView||(this.collectionsView=new window.CollectionsView({collection:this.arangoCollectionsStore})),this.arangoCollectionsStore.fetch({cache:!1,success:function(){b.collectionsView.render()}})},cIndices:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.indicesView=new window.IndicesView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.indicesView.render()}}):void this.waitForInit(this.cIndices.bind(this),a)},cSettings:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.settingsView=new window.SettingsView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.settingsView.render()}}):void this.waitForInit(this.cSettings.bind(this),a)},cInfo:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({cache:!1,success:function(){c.infoView=new window.InfoView({collectionName:a,collection:c.arangoCollectionsStore.findWhere({name:a})}),c.infoView.render()}}):void this.waitForInit(this.cInfo.bind(this),a)},documents:function(a,b,c){return this.checkUser(),c?(this.documentsView||(this.documentsView=new window.DocumentsView({collection:new window.arangoDocuments,documentStore:this.arangoDocumentStore,collectionsStore:this.arangoCollectionsStore})),this.documentsView.setCollectionId(a,b),void this.documentsView.render()):void this.waitForInit(this.documents.bind(this),a,b)},document:function(a,b,c){if(this.checkUser(),!c)return void this.waitForInit(this.document.bind(this),a,b);this.documentView||(this.documentView=new window.DocumentView({collection:this.arangoDocumentStore})),this.documentView.colid=a;var d=window.location.hash.split("/")[2],e=(d.split("%").length-1)%3;decodeURI(d)!==d&&0!==e&&(d=decodeURIComponent(d)),this.documentView.docid=d,this.documentView.render();var f=function(a,b){a?console.log("Error","Could not fetch collection type"):this.documentView.setType(b)}.bind(this);arangoHelper.collectionApiType(a,null,f)},shell:function(a){return this.checkUser(),a?(this.shellView||(this.shellView=new window.shellView),void this.shellView.render()):void this.waitForInit(this.shell.bind(this))},query:function(a){return this.checkUser(),a?(this.queryView2||(this.queryView2=new window.queryView2({collection:this.queryCollection})),void this.queryView2.render()):void this.waitForInit(this.query.bind(this))},helpUs:function(a){return this.checkUser(),a?(this.testView||(this.helpUsView=new window.HelpUsView({})),void this.helpUsView.render()):void this.waitForInit(this.helpUs.bind(this))},support:function(a){return this.checkUser(),a?(this.testView||(this.supportView=new window.SupportView({})),void this.supportView.render()):void this.waitForInit(this.support.bind(this))},workMonitor:function(a){return this.checkUser(),a?(this.workMonitorCollection||(this.workMonitorCollection=new window.WorkMonitorCollection),this.workMonitorView||(this.workMonitorView=new window.workMonitorView({collection:this.workMonitorCollection})),void this.workMonitorView.render()):void this.waitForInit(this.workMonitor.bind(this))},queryManagement:function(a){return this.checkUser(),a?(this.queryManagementView||(this.queryManagementView=new window.queryManagementView({collection:void 0})),void this.queryManagementView.render()):void this.waitForInit(this.queryManagement.bind(this))},databases:function(a){if(this.checkUser(),!a)return void this.waitForInit(this.databases.bind(this));var b=function(a){a?(arangoHelper.arangoError("DB","Could not get list of allowed databases"),this.navigate("#",{trigger:!0}),$("#databaseNavi").css("display","none"),$("#databaseNaviSelect").css("display","none")):(this.databaseView||(this.databaseView=new window.databaseView({users:this.userCollection,collection:this.arangoDatabase})),this.databaseView.render())}.bind(this);arangoHelper.databaseAllowed(b)},dashboard:function(a){return this.checkUser(),a?(void 0===this.dashboardView&&(this.dashboardView=new window.DashboardView({dygraphConfig:window.dygraphConfig,database:this.arangoDatabase})),void this.dashboardView.render()):void this.waitForInit(this.dashboard.bind(this))},graphManagement:function(a){return this.checkUser(),a?(this.graphManagementView||(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore})),void this.graphManagementView.render()):void this.waitForInit(this.graphManagement.bind(this))},showGraph:function(a,b){return this.checkUser(),b?void(this.graphManagementView?this.graphManagementView.loadGraphViewer(a):(this.graphManagementView=new window.GraphManagementView({collection:new window.GraphCollection,collectionCollection:this.arangoCollectionsStore}),this.graphManagementView.render(a,!0))):void this.waitForInit(this.showGraph.bind(this),a)},applications:function(a){return this.checkUser(),a?(void 0===this.applicationsView&&(this.applicationsView=new window.ApplicationsView({collection:this.foxxList})),void this.applicationsView.reload()):void this.waitForInit(this.applications.bind(this))},handleSelectDatabase:function(a){return this.checkUser(),a?void this.naviView.handleSelectDatabase():void this.waitForInit(this.handleSelectDatabase.bind(this))},handleResize:function(){this.dashboardView&&this.dashboardView.resize(),this.graphManagementView&&this.graphManagementView.handleResize($("#content").width()),this.queryView&&this.queryView.resize(),this.queryView2&&this.queryView2.resize(),this.documentsView&&this.documentsView.resize(),this.documentView&&this.documentView.resize()},userPermissionView:function(a,b){if(this.checkUser(),b||null===b)this.userPermissionView=new window.UserPermissionView({collection:this.userCollection,databases:this.arangoDatabase,username:a}),this.userPermissionView.render();else if(b===!1)return void this.waitForInit(this.userPermissionView.bind(this),a)},userView:function(a,b){this.checkUser(),b||null===b?(this.userView=new window.UserView({collection:this.userCollection,username:a}),this.userView.render()):b===!1&&this.waitForInit(this.userView.bind(this),a)},userManagement:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.userManagementView({collection:this.userCollection})),void this.userManagementView.render()):void this.waitForInit(this.userManagement.bind(this))},userProfile:function(a){return this.checkUser(),a?(this.userManagementView||(this.userManagementView=new window.userManagementView({collection:this.userCollection})),void this.userManagementView.render(!0)):void this.waitForInit(this.userProfile.bind(this))},fetchDBS:function(a){var b=this,c=!1;this.coordinatorCollection.each(function(a){b.dbServers.push(new window.ClusterServers([],{host:a.get("address")}))}),this.initFinished=!0,_.each(this.dbServers,function(b){b.fetch({success:function(){c===!1&&a&&(a(),c=!0)}})})},getNewRoute:function(a){return"http://"+a},registerForUpdate:function(a){this.toUpdate.push(a),a.updateUrl()}})}(),function(){"use strict";var a=function(a,b){var c=[];c.push(window.modalView.createSuccessButton("Download Page",function(){window.open("https://www.arangodb.com/download","_blank"),window.modalView.hide()}));var d=[],e=window.modalView.createReadOnlyEntry.bind(window.modalView);d.push(e("current","Current",a.toString())),b.major&&d.push(e("major","Major",b.major.version)),b.minor&&d.push(e("minor","Minor",b.minor.version)),b.bugfix&&d.push(e("bugfix","Bugfix",b.bugfix.version)),window.modalView.show("modalTable.ejs","New Version Available",c,d)};window.checkVersion=function(){$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_api/version"),contentType:"application/json",processData:!1,async:!0,success:function(b){var c=window.versionHelper.fromString(b.version);$(".navbar #currentVersion").text(" "+b.version.substr(0,3)),window.parseVersions=function(b){return _.isEmpty(b)?void $("#currentVersion").addClass("up-to-date"):($("#currentVersion").addClass("out-of-date"),void $("#currentVersion").click(function(){a(c,b)}))},$.ajax({type:"GET",async:!0,crossDomain:!0,timeout:3e3,dataType:"jsonp",url:"https://www.arangodb.com/repositories/versions.php?jsonp=parseVersions&version="+encodeURIComponent(c.toString())})}})}}(),function(){"use strict";window.hasOwnProperty("TEST_BUILD")||($(document).ajaxSend(function(a,b,c){var d=window.arangoHelper.getCurrentJwt();d&&b.setRequestHeader("Authorization","bearer "+d)}),$(document).ready(function(){window.App=new window.Router,Backbone.history.start(),window.App.handleResize()}),$(document).click(function(a){a.stopPropagation(),$(a.target).hasClass("subBarDropdown")||$(a.target).hasClass("dropdown-header")||$(a.target).hasClass("dropdown-footer")||$(a.target).hasClass("toggle")||$("#userInfo").is(":visible")&&$(".subBarDropdown").hide()}))}(); \ No newline at end of file diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js.gz b/js/apps/system/_admin/aardvark/APP/frontend/build/app.min.js.gz index 87c205a5806d3b169dabdcd60c8643194baf8d13..c1c174bbb8af744e35f0ed5c364d9ef548e71247 100644 GIT binary patch delta 90879 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%0ARvWud4a15MUI<-u65l_ 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 S{DJm!VE-Q`^iRXQJO%&`?H%g? delta 91110 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�?fyx02ey$q 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 diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html b/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html index 9e2483b8b4..75f84b682f 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html +++ b/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html @@ -3516,4 +3516,4 @@ var cutByResolution = function (str) {
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html.gz b/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html.gz index 65480960336e9b05415f0b0957e87f138862b93d..9b29f750d06fd2ab309db8af4c82ee295466063b 100644 GIT binary patch delta 1611 zcmV-R2DJIL{QhA5Uwj#3R#KL2c#~ofNmf9fD*_8ZAz+yUErbrz27$% zd+c)ptXg&Vfj#lD$DZ+c&UidCKGJkpGGfR~Ctp~#_(Zq>9G$ASkS#ZpOJFrr4;MoP zN)9F4qmx@4H7D~2xJXSe{=kDKe)LX7{Ak`do1cp%G6q;(kXu~3fAepmxx|Q$p+AK_ zL4>kb0I>ppLVgY$MsU95h2Ygp9_4#Q!5bz}D_8-AP>K8(Mf?l|`EL-1^$=M$o<*Ai z!AbGOFsG~}BOXG9F0oJg>W6UtN4Z@1ZE;W>b<*s>aBenhNBIjNG`@jO)2TBYB1%!xQ(}=(T{K+ zUQK|xf#-GwT10WzR~(rZb#*xY1arm$m0x8SGT5mr9H`-b)u6XFHJZjiAinMuY7A_* zd@gi>_nBC|f0YpW*MkhJJ_s9^Z$t!vp}}wN>C9s53JNEmM!NbU=Ea2h9*`E8&QN`pv_6byI;6Y zMKE{nt6(iVXI{K@SA!wE^&P@DAF?OD1D@$zi*S9c4{?tl<)`ROKgCn z{54@(7NM|DUeKj2_K|AFBiZ2f2pie-Qj;HgFHOViy`-V0Z}zb$m8;l*)*|2BYu1*= zvbGc(d0mYC(b};8H?82;dwHq~W-fp9VViY4(i?qPxv~9ux?l=(oKrrxv2CT$>Dfuz z*7|mnn|f0O>&5+Alk$2l0d9D@%PZkE+v!Idmn$jn zqpO%za#85uT4z-Cv=2Cx(NNOW4`FBVhIpLtIvYD#DSX(mu?^zNugEG2Y1D_!6g3lO z{Eh2Wajc>~&|l*v)M4*X5x<emX{|t=QV~ZqlM^->2$1sMZJ{2uFiQJ__J3EI0}8M?bQnBbh^gk2^T59!?marp#Eo>%e%y)-LYQ1FNrd3)`&>>7WePFD=ch+I>%g=Ucm zT*@)0)ES@M5{Ji#i=DopUEl$0r1u!drJ}l|F{jDZq+jlKt$_4)n-M`A$~wYpaok)2 z@pme|@$PzO1b0vbYr&*30fR|!-5fgU1@F60abVceL4rW{-f_BjprJY#PL|IQIfm&c z5W4)q<)5)+3PXS6!q^k;=(yWxSl8bCIex?#G~A3?3qC!{Rtlk6IIITL#Us5}0d2u` zL+FeF%d*RmJC&u1YhbrFO}yFaWsnykIkSy#aT>}Io>O#TQz)SDDUp*DuVtskDcAf- z>il+opU#P0kg|iCC09>iteIK3_>hV#b^3}`vk9lI#UV>C9FEK*Ura4+!`Fy64f&ki zOqLtJFW=g?VSj7)&E9w0dz)KZJKH;eInc@=%f;g6uRCpo3kYA-W}qMB0Rulq{{RCR JG~8Sz0sy7X9E$(| delta 1581 zcmV+|2GaSv{Q3k2M{Zj2JT0$rn~FJ`pYeM`!9SWXsLu5?Bq@!^Kd6 zk^{;1=;Rhh&B^=$E>hFWKk=Z6AH7o%Kbkkr=I3&Wi~&{`sG5u7i1A$T>DNBLe+@P-N03RXZNR3iUH5kCh({u{($Jw%p`XVIoW za8i6R%qc6$h(}PNOYD=r`hFZlkFqISz_Vfr-#Ge$Jd3JS@MY?o6#pMDqZEUDpzYy^ zH(!w{b+hw*irqx|e-fN}>0U(PQUtbF>G=)3xNqS;u{_Rt{vEt2DEG`TlQ510V4YyN z@kenEtj-br-Rv5UgZuvLVTNC?6YLT_xCzV-Mcw4+PV3u->~>n);#KywFsi1Zk&cie@>+HwgPppW6O5S z7eW_!pNZ95e+i*~J;<=?qX6XI8*qkOD17m^)W@wB$k-NRaKl~hHH`7?a(J-af5i%5}^K|f}sUG18Z9Z>apg!Yup93VChtlPrBy9 z_=ho$6+(_6b_w?8{}U}{fo#c@pdxA>SgBDgTh2)wUnr>zO{^9+q6oi0o0EihzjB?5 zVD8*k!CH2~ym%Y3o*S8EW>u7xp47oy;`(4vq-E4m`ba^4Xp@_EYBhG0@Q33oY=EQu zHDOv7p|DS0(4{T*k!r>x+2HjE8`<8BYd8!I#E`Ri4n{_~BC9B*Q6Dx_)J&N1H?C8~v5NXYe~p(=hrL5Z{Axl|tDU@1 zVfW$-Horh~2|vOd!ri}uEq{k8{|34M=!DOZBi_GY0krRaI6XW5`2?Z1Vr$F0NsFp| zm#XKWS|fZQ91R}%D1g7P;3T{s{m6=rWClfZW&HSXEfF4KvGhshVjFDXrOpMvop6dC z&m`_nlMi%(=Hz>}gBMIVL;Duv*(tw#GD6u$3%_K;AO->cF{q5CnSaCcRxWId6!-{J zLqH3r-;*aW3oQ{cfDEw!sx}P?Wx=oN26+*Z zGu!wUr=c9-1w|J&g#rqn5;;lnT6Suja?PKn&Tr@U>73XFDLbfHa`gnpnwf=*52?6P zr>|Hwn{e7%97gfN;mADl#njR^e2sY1kk8qN$#V0L