From 2947b87a95d90cca7bf98732fde5bf33eeaba2c2 Mon Sep 17 00:00:00 2001 From: hkernbach Date: Sun, 12 Jun 2016 15:17:58 +0200 Subject: [PATCH] grunt build [ci skip] --- .../aardvark/APP/frontend/build/app.min.js | 18 +++---- .../aardvark/APP/frontend/build/app.min.js.gz | Bin 120731 -> 121038 bytes .../APP/frontend/build/index-min.html | 48 +++++++++++++++++- .../APP/frontend/build/index-min.html.gz | Bin 31449 -> 31791 bytes 4 files changed, 55 insertions(+), 11 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 12dc0f9501..009c531d40 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 @@ -2,12 +2,12 @@ function JSONAdapter(a,b,c,d,e,f){"use strict";var g=this,h={},i={},j=new Abstra 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)},scaleability:void 0,buildNodesSubNav:function(a){if(void 0===a&&(a="coordinator"),void 0===this.scaleability){var b=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",processData:!1,success:function(c){null!==c.numberOfCoordinators&&null!==c.numberOfDBServers?(b.scaleability=!0,b.buildNodesSubNav(a)):b.scaleability=!1}})}var c={Coordinators:{route:"#cNodes"},DBServers:{route:"#dNodes"}};c.Scale={route:"#sNodes",disabled:!0},"coordinator"===a?c.Coordinators.active=!0:"scale"===a?this.scaleability===!0?c.Scale.active=!0:window.App.navigate("#nodes",{trigger:!0}):c.DBServers.active=!0,this.scaleability===!0&&(c.Scale.disabled=!1),this.buildSubNavBar(c)},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)}}}(),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:{residentSize:["times","residentSizePercent"],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))}}}},residentSize:{header:"Memory",axes:{y:{labelsKMG2:!1,axisLabelFormatter:function(a){return parseFloat(100*a.toPrecision(3))+"%"},valueFormatter:function(a){return parseFloat(100*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(){window.open(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 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 _.each(a.result,function(a){b.push(a)}),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){var b,c=this,d=[],e={http:{}},f=function(a){return $.get(a,{count:c.statCollectCoord.size()},null,"json")},g=function(a){var b,d=["times"],f=["physicalMemory","residentSizeCurrent","clientConnections15M","clientConnectionsCurrent"],g=["optionsPerSecond","putsPerSecond","headsPerSecond","postsPerSecond","getsPerSecond","deletesPerSecond","othersPerSecond","patchesPerSecond"],h=["bytesSentPerSecond","bytesReceivedPerSecond","avgRequestTime"],i=0;_.each(a,function(a){a.enabled?c.statsEnabled=!0:c.statsEnabled=!1,"object"==typeof a&&(0===i?(_.each(d,function(b){e[b]=a[b]}),_.each(f,function(b){e[b]=a[b]}),_.each(g,function(b){e.http[b]=a[b]}),_.each(h,function(b){e[b]=a[b]})):(_.each(f,function(b){e[b]=e[b]+a[b]}),_.each(g,function(c){b=0,_.each(a[c],function(a){e.http[c][i]=e.http[c][i]+a,b++})}),_.each(h,function(c){b=0,_.each(a[c],function(a){e[c][i]=e[c][i]+a,b++})})),i++)})};this.statCollectCoord.each(function(a){b=a.url+"/short",d.push(f(b))}),$.when.apply($,d).done(function(){var b=[];_.each(d,function(a){b.push(a.responseJSON)}),g(b),a(e)})}})}(),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({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({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)},cleanupHistory:function(a){if(this.history[this.server].hasOwnProperty(a)&&this.history[this.server][a].length>this.defaultTimeFrame/this.interval)for(;this.history[this.server][a].length>this.defaultTimeFrame/this.interval;)this.history[this.server][a].shift()},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].push(c)}})},cutOffHistory:function(a,b){for(var c,d=this;0!==d.history[d.server][a].length&&(c=d.history[d.server][a][0][0],!(c>=b));)d.history[d.server][a].shift()},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})},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({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")})}),console.log(c),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){"DBServer1"===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()},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(){var a=this,b=function(b){$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",success:function(c){a.continueRender(b,c)}})}.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(){arangoHelper.arangoError("Cluster","Could not fetch cluster information")}})},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);$.ajax(c).success(function(a,b,c){var d=new Blob([JSON.stringify(a)],{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)})})},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}))),$.ajax(e).success(function(a,b,c){var d=new Blob([JSON.stringify(a)],{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)})}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.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({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","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(){if("#login"!==window.location.hash){var a=function(){this.initOnce(),$(".bodyWrapper").show(),$(".navbar").show()}.bind(this),b=function(b,c){frontendConfig.authenticationEnabled&&(b||null===c)?"#login"!==window.location.hash&&this.navigate("login",{trigger:!0}):a()}.bind(this);frontendConfig.authenticationEnabled?this.userCollection.whoAmI(b):(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(),window.spotlightView=new window.SpotlightView({collection:this.arangoCollectionsStore}),this.footerView=new window.FooterView({collection:a.coordinatorCollection}),this.notificationList=new window.NotificationCollection,this.currentDB.fetch({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)},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({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({success:function(){b.collectionsView.render()}})},cIndices:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({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({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({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 +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(){window.open(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){var b,c=this,d=[],e={http:{}},f=function(a){return $.get(a,{count:c.statCollectCoord.size()},null,"json")},g=function(a){var b,d=["times"],f=["physicalMemory","residentSizeCurrent","clientConnections15M","clientConnectionsCurrent"],g=["optionsPerSecond","putsPerSecond","headsPerSecond","postsPerSecond","getsPerSecond","deletesPerSecond","othersPerSecond","patchesPerSecond"],h=["bytesSentPerSecond","bytesReceivedPerSecond","avgRequestTime"],i=0;_.each(a,function(a){a.enabled?c.statsEnabled=!0:c.statsEnabled=!1,"object"==typeof a&&(0===i?(_.each(d,function(b){e[b]=a[b]}),_.each(f,function(b){e[b]=a[b]}),_.each(g,function(b){e.http[b]=a[b]}),_.each(h,function(b){e[b]=a[b]})):(_.each(f,function(b){e[b]=e[b]+a[b]}),_.each(g,function(c){b=0,_.each(a[c],function(a){e.http[c][i]=e.http[c][i]+a,b++})}),_.each(h,function(c){b=0,_.each(a[c],function(a){e[c][i]=e[c][i]+a,b++})})),i++)})};this.statCollectCoord.each(function(a){b=a.url+"/short",d.push(f(b))}),$.when.apply($,d).done(function(){var b=[];_.each(d,function(a){b.push(a.responseJSON)}),g(b),a(e)})}})}(),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({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({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)},cleanupHistory:function(a){if(this.history[this.server].hasOwnProperty(a)&&this.history[this.server][a].length>this.defaultTimeFrame/this.interval)for(;this.history[this.server][a].length>this.defaultTimeFrame/this.interval;)this.history[this.server][a].shift()},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].push(c)}})},cutOffHistory:function(a,b){for(var c,d=this;0!==d.history[d.server][a].length&&(c=d.history[d.server][a][0][0],!(c>=b));)d.history[d.server][a].shift()},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})},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({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")})}),console.log(c),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){"DBServer1"===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()},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(){var a=this,b=function(b){$.ajax({type:"GET",url:arangoHelper.databaseUrl("/_admin/cluster/numberOfServers"),contentType:"application/json",success:function(c){a.continueRender(b,c)}})}.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(){arangoHelper.arangoError("Cluster","Could not fetch cluster information")}})},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);$.ajax(c).success(function(a,b,c){var d=new Blob([JSON.stringify(a)],{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)})})},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}))),$.ajax(e).success(function(a,b,c){var d=new Blob([JSON.stringify(a)],{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)})}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:{},initialize:function(){var a=this;clearInterval(this.intervalFunction),window.App.isCluster&&(this.updateServerTime(),this.intervalFunction=window.setInterval(function(){"#shards"===window.location.hash&&a.render()},this.interval))},render:function(){var a=this;$.ajax({type:"GET",cache:!1,url:arangoHelper.databaseUrl("/_admin/cluster/shardDistribution"),contentType:"application/json",processData:!1,async:!0,success:function(b){a.continueRender(b)},error:function(){arangoHelper.arangoError("Cluster","Could not fetch sharding information.")}})},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({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(),window.spotlightView=new window.SpotlightView({collection:this.arangoCollectionsStore}),this.footerView=new window.FooterView({collection:a.coordinatorCollection}),this.notificationList=new window.NotificationCollection,this.currentDB.fetch({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({}),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({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({success:function(){b.collectionsView.render()}})},cIndices:function(a,b){var c=this;return this.checkUser(),b?void this.arangoCollectionsStore.fetch({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({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({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 7c8ac769af969dfe6009ae70453406878175a527..13f42f54a55401deb7106a93db15699693889df3 100644 GIT binary patch delta 87183 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

    +-1d`%_P|cCV$`34ge>efk+2XDYY{s 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

    +~<=`gxB7J3PNXdi(28`l4c! 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 0) { +

    \ 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 d538bb0b17d08b107db0fa68aa9471747e4f6f2b..cfa8f8f8ede52469bacfa62b5121b72964b3bd98 100644 GIT binary patch literal 31791 zcmV(zK<2+6iwFP!000041MI!)b{xl%F8X`)6s6Xo0gl-KNm;&705l{)O7M`9On~Dx z+sg~9F9o2@MpwJ58w5PoTKg^b-}7rf$k}hQpX7XT%Z#i`Ur30QJl3*_uByC5Mn*

    {d{$@zXKpLDY8%kiY#?_A91(?`3zZ{NP%dHeZJ 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 E0PHlQ%m4rY