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

'+a+"

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

'+a+"

";return b&&(d+=''),c&&(d+=''+c.toUpperCase()+""),d+="
"};$(this.el).html(this.template.render({})),$(this.el).show(),"aql"===c?this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Functions",source:this.substringMatcher(this.aqlBuiltinFunctionsArray),limit:this.displayLimit,templates:{header:a("Functions","fa-code","aql")}},{name:"Keywords",source:this.substringMatcher(this.aqlKeywordsArray),limit:this.displayLimit,templates:{header:a("Keywords","fa-code","aql")}},{name:"Documents",source:this.substringMatcher(this.collections.doc),limit:this.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:this.substringMatcher(this.collections.edge),limit:this.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:this.displayLimit,source:this.substringMatcher(this.collections.system),templates:{header:a("System","fa-cogs","Collection")}}):this.typeahead=$("#spotlight .typeahead").typeahead({hint:!0,highlight:!0,minLength:1},{name:"Documents",source:this.substringMatcher(this.collections.doc),limit:this.displayLimit,templates:{header:a("Documents","fa-file-text-o","Collection")}},{name:"Edges",source:this.substringMatcher(this.collections.edge),limit:this.displayLimit,templates:{header:a("Edges","fa-share-alt","Collection")}},{name:"System",limit:this.displayLimit,source:this.substringMatcher(this.collections.system),templates:{header:a("System","fa-cogs","Collection")}}),$("#spotlight .typeahead").focus()}.bind(this);0===d.aqlBuiltinFunctionsArray.length?this.fetchKeywords(e):e()}})}(),function(){"use strict";window.StatisticBarView=Backbone.View.extend({el:"#statisticBar",events:{"change #arangoCollectionSelect":"navigateBySelect","click .tab":"navigateByTab"},template:templateEngine.createTemplate("statisticBarView.ejs"),initialize:function(a){this.currentDB=a.currentDB},replaceSVG:function(a){var b=a.attr("id"),c=a.attr("class"),d=a.attr("src");$.get(d,function(d){var e=$(d).find("svg");void 0===b&&(e=e.attr("id",b)),void 0===c&&(e=e.attr("class",c+" replaced-svg")),e=e.removeAttr("xmlns:a"),a.replaceWith(e)},"xml")},render:function(){var a=this;return $(this.el).html(this.template.render({isSystem:this.currentDB.get("isSystem")})),$("img.svg").each(function(){a.replaceSVG($(this))}),this},navigateBySelect:function(){var a=$("#arangoCollectionSelect").find("option:selected").val();window.App.navigate(a,{trigger:!0})},navigateByTab:function(a){var b=a.target||a.srcElement,c=b.id;return"links"===c?($("#link_dropdown").slideToggle(200),void a.preventDefault()):"tools"===c?($("#tools_dropdown").slideToggle(200),void a.preventDefault()):(window.App.navigate(c,{trigger:!0}),void a.preventDefault())},handleSelectNavigation:function(){$("#arangoCollectionSelect").change(function(){var a=$(this).find("option:selected").val();window.App.navigate(a,{trigger:!0})})},selectMenuItem:function(a){$(".navlist li").removeClass("active"),a&&$("."+a).addClass("active")}})}(),function(){"use strict";window.SupportView=Backbone.View.extend({el:"#content",template:templateEngine.createTemplate("supportView.ejs"),events:{"click .subViewNavbar .subMenuEntry":"toggleViews"},render:function(){this.$el.html(this.template.render({}))},resize:function(){$(".innerContent").height($(".centralRow").height()-170)},renderSwagger:function(){var a=window.location.pathname.split("/"),b=window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/"+a[1]+"/"+a[2]+"/_admin/aardvark/api/index.html";$("#swagger").html(""),$("#swagger").append('')},toggleViews:function(a){var b=this,c=a.currentTarget.id.split("-")[0],d=["community","documentation","swagger"];_.each(d,function(a){c!==a?$("#"+a).hide():("swagger"===c&&(b.renderSwagger(),$("#swagger iframe").css("height","100%"),$("#swagger iframe").css("width","100%"),$("#swagger iframe").css("margin-top","-13px"),b.resize()),$("#"+a).show())}),$(".subMenuEntries").children().removeClass("active"),$("#"+c+"-support").addClass("active")}})}(),function(){"use strict";window.TableView=Backbone.View.extend({template:templateEngine.createTemplate("tableView.ejs"),loading:templateEngine.createTemplate("loadingTableView.ejs"),initialize:function(a){this.rowClickCallback=a.rowClick},events:{"click .pure-table-body .pure-table-row":"rowClick","click .deleteButton":"removeClick"},rowClick:function(a){this.hasOwnProperty("rowClickCallback")&&this.rowClickCallback(a)},removeClick:function(a){this.hasOwnProperty("removeClickCallback")&&(this.removeClickCallback(a),a.stopPropagation())},setRowClick:function(a){this.rowClickCallback=a},setRemoveClick:function(a){this.removeClickCallback=a},render:function(){$(this.el).html(this.template.render({docs:this.collection}))},drawLoading:function(){$(this.el).html(this.loading.render({}))}})}(),function(){"use strict";window.UserBarView=Backbone.View.extend({events:{"change #userBarSelect":"navigateBySelect","click .tab":"navigateByTab","mouseenter .dropdown":"showDropdown","mouseleave .dropdown":"hideDropdown","click #userLogoutIcon":"userLogout","click #userLogout":"userLogout"},initialize:function(a){this.userCollection=a.userCollection,this.userCollection.fetch({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({dbServers:this.dbServers}),void this.shardsView.render()):void this.waitForInit(this.shards.bind(this))},nodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView2({}),void this.nodesView.render()):void this.waitForInit(this.nodes.bind(this))},cNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"coordinator"}),void this.nodesView.render()):void this.waitForInit(this.cNodes.bind(this))},dNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):0===this.dbServers.length?void this.navigate("#cNodes",{trigger:!0}):(this.nodesView=new window.NodesView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0],toRender:"dbserver"}),void this.nodesView.render()):void this.waitForInit(this.dNodes.bind(this))},sNodes:function(a){return this.checkUser(),a&&void 0!==this.isCluster?this.isCluster===!1?(this.routes[""]="dashboard",void this.navigate("#dashboard",{trigger:!0})):(this.scaleView=new window.ScaleView({coordinators:this.coordinatorCollection,dbServers:this.dbServers[0]}),void this.scaleView.render()):void this.waitForInit(this.sNodes.bind(this))},addAuth:function(a){var b=this.clusterPlan.get("user");if(!b)return a.abort(),void(this.isCheckingUser||this.requestAuth());var c=b.name,d=b.passwd,e=c.concat(":",d);a.setRequestHeader("Authorization","Basic "+btoa(e))},logs:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.logs.bind(this),a);if(!this.logsView){var c=new window.ArangoLogs({upto:!0,loglevel:4}),d=new window.ArangoLogs({loglevel:4}),e=new window.ArangoLogs({loglevel:3}),f=new window.ArangoLogs({loglevel:2}),g=new window.ArangoLogs({loglevel:1});this.logsView=new window.LogsView({logall:c,logdebug:d,loginfo:e,logwarning:f,logerror:g})}this.logsView.render()},applicationDetail:function(a,b){if(this.checkUser(),!b)return void this.waitForInit(this.applicationDetail.bind(this),a);var c=function(){this.hasOwnProperty("applicationDetailView")||(this.applicationDetailView=new window.ApplicationDetailView({model:this.foxxList.get(decodeURIComponent(a))})),this.applicationDetailView.model=this.foxxList.get(decodeURIComponent(a)),this.applicationDetailView.render("swagger")}.bind(this);0===this.foxxList.length?this.foxxList.fetch({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 d4697c5f88a53ae9dc7487988820c95e33d3e983..e5dae9d7d6178922925a361cf088405b7a0bf879 100644 GIT binary patch delta 49002 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

!o>lS{H!`@G$t4 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 delta 48598 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 diff --git a/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html b/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html index 267bdda45c..c3bf1073f7 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html +++ b/js/apps/system/_admin/aardvark/APP/frontend/build/index-min.html @@ -3006,49 +3006,85 @@ if (list.length > 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 17e10c9e24bb2ed3950fc34af548373ff5bfa018..359624cfcbfe22c48832d5c2885ada5f7a3aedd7 100644 GIT binary patch delta 32040 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

r^GQQ~=95O`_f>ZktKu9RhzOvI8=_lN~?OaJ3 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