mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
This commit is contained in:
commit
82b3acdf17
|
@ -47,10 +47,7 @@
|
|||
"frontend/js/lib/jquery.textfill.min.js",
|
||||
"frontend/js/lib/select2.min.js",
|
||||
"frontend/js/lib/jsoneditor-min.js",
|
||||
"frontend/js/lib/d3.v3.min.js",
|
||||
"frontend/js/lib/nv.d3.min.js",
|
||||
"frontend/js/lib/strftime-min.js",
|
||||
"frontend/js/lib/dygraph-combined.min.js",
|
||||
"frontend/js/lib/d3.fisheye.min.js",
|
||||
"frontend/js/lib/bootstrap-pagination.min.js",
|
||||
"frontend/js/lib/jqconsole.min.js",
|
||||
|
@ -71,7 +68,6 @@
|
|||
"frontend/js/arango/arango.js",
|
||||
"frontend/js/arango/templateEngine.js",
|
||||
"frontend/js/shell/browser.js",
|
||||
"frontend/js/config/dygraphConfig.js",
|
||||
"frontend/js/modules/underscore.js"
|
||||
],
|
||||
js: [
|
||||
|
@ -201,7 +197,7 @@
|
|||
},
|
||||
files: [{
|
||||
expand: true,
|
||||
src: ['clusterFrontend/build/cluster.js'],
|
||||
src: ['clusterFrontend/build/cluster.js', 'clusterFrontend/build/libs.js'],
|
||||
dest: '.',
|
||||
ext: '.js.gz'
|
||||
}]
|
||||
|
@ -338,7 +334,11 @@
|
|||
"frontend/js/lib/jquery-2.1.0.min.js",
|
||||
"frontend/js/lib/underscore-min.js",
|
||||
"frontend/js/lib/backbone-min.js",
|
||||
"frontend/js/lib/bootstrap-min.js"
|
||||
"frontend/js/lib/bootstrap-min.js",
|
||||
"frontend/js/lib/d3.v3.min.js",
|
||||
"frontend/js/lib/nv.d3.min.js",
|
||||
"frontend/js/config/dygraphConfig.js",
|
||||
"frontend/js/lib/dygraph-combined.min.js"
|
||||
],
|
||||
dest: 'build/sharedLibs.js',
|
||||
options: {
|
||||
|
@ -372,10 +372,6 @@
|
|||
},
|
||||
jsCluster: {
|
||||
src: [
|
||||
"frontend/js/lib/dygraph-combined.min.js",
|
||||
"frontend/js/config/dygraphConfig.js",
|
||||
"frontend/js/lib/d3.v3.min.js",
|
||||
"frontend/js/lib/nv.d3.min.js",
|
||||
"frontend/js/arango/arango.js",
|
||||
"clusterFrontend/js/models/*",
|
||||
"clusterFrontend/js/collections/*",
|
||||
|
@ -479,21 +475,38 @@
|
|||
},
|
||||
|
||||
uglify: {
|
||||
default: {
|
||||
default1: {
|
||||
files: {
|
||||
'frontend/build/app.min.js': 'frontend/build/app.js'
|
||||
}
|
||||
},
|
||||
default2: {
|
||||
files: {
|
||||
'frontend/build/app.min.js': 'frontend/build/app.js',
|
||||
'clusterFrontend/build/cluster.min.js': 'clusterFrontend/build/cluster.js'
|
||||
}
|
||||
},
|
||||
libs: {
|
||||
libs1: {
|
||||
files: {
|
||||
'frontend/build/libs.min.js': 'frontend/build/libs.js'
|
||||
}
|
||||
},
|
||||
libs2: {
|
||||
files: {
|
||||
'build/sharedLibs.min.js': 'build/sharedLibs.js'
|
||||
}
|
||||
},
|
||||
libs3: {
|
||||
files: {
|
||||
'frontend/build/libs.min.js': 'frontend/build/libs.js',
|
||||
'build/sharedLibs.min.js': 'build/sharedLibs.js',
|
||||
'frontend/src/ace.min.js': 'frontend/src/ace.js'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
concurrent: {
|
||||
uglifyFast: ['uglify:default1', 'uglify:default2'],
|
||||
uglifyAll: ['uglify:default1', 'uglify:default2', 'uglify:libs1', 'uglify:libs2', 'uglify:libs3']
|
||||
},
|
||||
|
||||
watch: {
|
||||
sass: {
|
||||
files: [
|
||||
|
@ -560,7 +573,6 @@
|
|||
'sass:dev',
|
||||
'jshint:default',
|
||||
'replace',
|
||||
'imagemin',
|
||||
'concat',
|
||||
'concat_in_order:sharedES',
|
||||
'babel',
|
||||
|
@ -570,7 +582,7 @@
|
|||
'concat_in_order:htmlCluster',
|
||||
'concat_in_order:htmlStandalone',
|
||||
'cssmin',
|
||||
'uglify:default',
|
||||
'concurrent:uglifyFast',
|
||||
'htmlmin',
|
||||
'compress'
|
||||
]);
|
||||
|
@ -587,7 +599,7 @@
|
|||
'concat_in_order:jsCluster',
|
||||
'concat_in_order:htmlCluster',
|
||||
'concat_in_order:htmlStandalone',
|
||||
'uglify:default',
|
||||
'concurrent:uglifyFast',
|
||||
'watch'
|
||||
]);
|
||||
|
||||
|
@ -606,8 +618,7 @@
|
|||
'concat_in_order:htmlCluster',
|
||||
'concat_in_order:htmlStandalone',
|
||||
'cssmin',
|
||||
'uglify:default',
|
||||
'uglify:libs',
|
||||
'concurrent:uglifyAll',
|
||||
'htmlmin',
|
||||
'compress'
|
||||
]);
|
||||
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -11103,299 +11103,6 @@ ArangoConnection.prototype.PATCH = ArangoConnection.prototype.patch;
|
|||
// outline-regexp: "/// @brief\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @}"
|
||||
// End:
|
||||
|
||||
/*global _, Dygraph, window, document */
|
||||
|
||||
(function () {
|
||||
"use strict";
|
||||
window.dygraphConfig = {
|
||||
defaultFrame : 20 * 60 * 1000,
|
||||
|
||||
zeropad: function (x) {
|
||||
if (x < 10) {
|
||||
return "0" + x;
|
||||
}
|
||||
return x;
|
||||
},
|
||||
|
||||
xAxisFormat: function (d) {
|
||||
if (d === -1) {
|
||||
return "";
|
||||
}
|
||||
var date = new Date(d);
|
||||
return this.zeropad(date.getHours()) + ":"
|
||||
+ this.zeropad(date.getMinutes()) + ":"
|
||||
+ this.zeropad(date.getSeconds());
|
||||
},
|
||||
|
||||
mergeObjects: function (o1, o2, mergeAttribList) {
|
||||
if (!mergeAttribList) {
|
||||
mergeAttribList = [];
|
||||
}
|
||||
var vals = {}, res;
|
||||
mergeAttribList.forEach(function (a) {
|
||||
var valO1 = o1[a],
|
||||
valO2 = o2[a];
|
||||
if (valO1 === undefined) {
|
||||
valO1 = {};
|
||||
}
|
||||
if (valO2 === undefined) {
|
||||
valO2 = {};
|
||||
}
|
||||
vals[a] = _.extend(valO1, valO2);
|
||||
});
|
||||
res = _.extend(o1, o2);
|
||||
Object.keys(vals).forEach(function (k) {
|
||||
res[k] = vals[k];
|
||||
});
|
||||
return res;
|
||||
},
|
||||
|
||||
mapStatToFigure : {
|
||||
residentSize : ["times", "residentSizePercent"],
|
||||
pageFaults : ["times", "majorPageFaultsPerSecond", "minorPageFaultsPerSecond"],
|
||||
systemUserTime : ["times", "systemTimePerSecond", "userTimePerSecond"],
|
||||
totalTime : ["times", "avgQueueTime", "avgRequestTime", "avgIoTime"],
|
||||
dataTransfer : ["times", "bytesSentPerSecond", "bytesReceivedPerSecond"],
|
||||
requests : ["times", "getsPerSecond", "putsPerSecond", "postsPerSecond",
|
||||
"deletesPerSecond", "patchesPerSecond", "headsPerSecond",
|
||||
"optionsPerSecond", "othersPerSecond"]
|
||||
},
|
||||
|
||||
//colors for dygraphs
|
||||
colors: ["#617e2b", "#296e9c", "#81ccd8", "#7ca530", "#3c3c3c",
|
||||
"#aa90bd", "#e1811d", "#c7d4b2", "#d0b2d4"],
|
||||
|
||||
|
||||
// figure dependend options
|
||||
figureDependedOptions: {
|
||||
clusterRequestsPerSecond: {
|
||||
showLabelsOnHighlight: true,
|
||||
title: '',
|
||||
header : "Cluster Requests per Second",
|
||||
stackedGraph: true,
|
||||
div: "lineGraphLegend",
|
||||
labelsKMG2: false,
|
||||
axes: {
|
||||
y: {
|
||||
valueFormatter: function (y) {
|
||||
return parseFloat(y.toPrecision(3));
|
||||
},
|
||||
axisLabelFormatter: function (y) {
|
||||
if (y === 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return parseFloat(y.toPrecision(3));
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
residentSize: {
|
||||
header: "Resident Size",
|
||||
axes: {
|
||||
y: {
|
||||
labelsKMG2: false,
|
||||
axisLabelFormatter: function (y) {
|
||||
return parseFloat(y.toPrecision(3) * 100) + "%";
|
||||
},
|
||||
valueFormatter: function (y) {
|
||||
return parseFloat(y.toPrecision(3) * 100) + "%";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
pageFaults: {
|
||||
header : "Page Faults",
|
||||
visibility: [true, false],
|
||||
labels: ["datetime", "Major Page", "Minor Page"],
|
||||
div: "pageFaultsChart",
|
||||
labelsKMG2: false,
|
||||
axes: {
|
||||
y: {
|
||||
valueFormatter: function (y) {
|
||||
return parseFloat(y.toPrecision(3));
|
||||
},
|
||||
axisLabelFormatter: function (y) {
|
||||
if (y === 0) {
|
||||
return 0;
|
||||
}
|
||||
return parseFloat(y.toPrecision(3));
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
systemUserTime: {
|
||||
div: "systemUserTimeChart",
|
||||
header: "System and User Time",
|
||||
labels: ["datetime", "System Time", "User Time"],
|
||||
stackedGraph: true,
|
||||
labelsKMG2: false,
|
||||
axes: {
|
||||
y: {
|
||||
valueFormatter: function (y) {
|
||||
return parseFloat(y.toPrecision(3));
|
||||
},
|
||||
axisLabelFormatter: function (y) {
|
||||
if (y === 0) {
|
||||
return 0;
|
||||
}
|
||||
return parseFloat(y.toPrecision(3));
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
totalTime: {
|
||||
div: "totalTimeChart",
|
||||
header: "Total Time",
|
||||
labels: ["datetime", "Queue", "Computation", "I/O"],
|
||||
labelsKMG2: false,
|
||||
axes: {
|
||||
y: {
|
||||
valueFormatter: function (y) {
|
||||
return parseFloat(y.toPrecision(3));
|
||||
},
|
||||
axisLabelFormatter: function (y) {
|
||||
if (y === 0) {
|
||||
return 0;
|
||||
}
|
||||
return parseFloat(y.toPrecision(3));
|
||||
}
|
||||
}
|
||||
},
|
||||
stackedGraph: true
|
||||
},
|
||||
|
||||
dataTransfer: {
|
||||
header: "Data Transfer",
|
||||
labels: ["datetime", "Bytes sent", "Bytes received"],
|
||||
stackedGraph: true,
|
||||
div: "dataTransferChart"
|
||||
},
|
||||
|
||||
requests: {
|
||||
header: "Requests",
|
||||
labels: ["datetime", "GET", "PUT", "POST", "DELETE", "PATCH", "HEAD", "OPTIONS", "OTHER"],
|
||||
stackedGraph: true,
|
||||
div: "requestsChart",
|
||||
axes: {
|
||||
y: {
|
||||
valueFormatter: function (y) {
|
||||
return parseFloat(y.toPrecision(3));
|
||||
},
|
||||
axisLabelFormatter: function (y) {
|
||||
if (y === 0) {
|
||||
return 0;
|
||||
}
|
||||
return parseFloat(y.toPrecision(3));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getDashBoardFigures : function (all) {
|
||||
var result = [], self = this;
|
||||
Object.keys(this.figureDependedOptions).forEach(function (k) {
|
||||
// ClusterRequestsPerSecond should not be ignored. Quick Fix
|
||||
if (k !== "clusterRequestsPerSecond" && (self.figureDependedOptions[k].div || all)) {
|
||||
result.push(k);
|
||||
}
|
||||
});
|
||||
return result;
|
||||
},
|
||||
|
||||
//configuration for chart overview
|
||||
getDefaultConfig: function (figure) {
|
||||
var self = this;
|
||||
var result = {
|
||||
digitsAfterDecimal: 1,
|
||||
drawGapPoints: true,
|
||||
fillGraph: true,
|
||||
showLabelsOnHighlight: false,
|
||||
strokeWidth: 1.0,
|
||||
lineWidth: 1.0,
|
||||
strokeBorderWidth: 1.0,
|
||||
includeZero: true,
|
||||
highlightCircleSize: 2.5,
|
||||
labelsSeparateLines : true,
|
||||
strokeBorderColor: '#ffffff',
|
||||
interactionModel: {},
|
||||
maxNumberWidth : 10,
|
||||
colors: [this.colors[0]],
|
||||
xAxisLabelWidth: "50",
|
||||
rightGap: 15,
|
||||
showRangeSelector: false,
|
||||
rangeSelectorHeight: 50,
|
||||
rangeSelectorPlotStrokeColor: '#365300',
|
||||
rangeSelectorPlotFillColor: '',
|
||||
// rangeSelectorPlotFillColor: '#414a4c',
|
||||
pixelsPerLabel: 50,
|
||||
labelsKMG2: true,
|
||||
dateWindow: [
|
||||
new Date().getTime() -
|
||||
this.defaultFrame,
|
||||
new Date().getTime()
|
||||
],
|
||||
axes: {
|
||||
x: {
|
||||
valueFormatter: function (d) {
|
||||
return self.xAxisFormat(d);
|
||||
}
|
||||
},
|
||||
y: {
|
||||
ticker: Dygraph.numericLinearTicks
|
||||
}
|
||||
}
|
||||
};
|
||||
if (this.figureDependedOptions[figure]) {
|
||||
result = this.mergeObjects(
|
||||
result, this.figureDependedOptions[figure], ["axes"]
|
||||
);
|
||||
if (result.div && result.labels) {
|
||||
result.colors = this.getColors(result.labels);
|
||||
result.labelsDiv = document.getElementById(result.div + "Legend");
|
||||
result.legend = "always";
|
||||
result.showLabelsOnHighlight = true;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
},
|
||||
|
||||
getDetailChartConfig: function (figure) {
|
||||
var result = _.extend(
|
||||
this.getDefaultConfig(figure),
|
||||
{
|
||||
showRangeSelector: true,
|
||||
interactionModel: null,
|
||||
showLabelsOnHighlight: true,
|
||||
highlightCircleSize: 2.5,
|
||||
legend: "always",
|
||||
labelsDiv: "div#detailLegend.dashboard-legend-inner"
|
||||
}
|
||||
);
|
||||
if (figure === "pageFaults") {
|
||||
result.visibility = [true, true];
|
||||
}
|
||||
if (!result.labels) {
|
||||
result.labels = ["datetime", result.header];
|
||||
result.colors = this.getColors(result.labels);
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
getColors: function (labels) {
|
||||
var colorList;
|
||||
colorList = this.colors.concat([]);
|
||||
return colorList.slice(0, labels.length - 1);
|
||||
}
|
||||
};
|
||||
}());
|
||||
|
||||
module.define("underscore", function(exports, module) {
|
||||
// Underscore.js 1.8.3
|
||||
// http://underscorejs.org
|
||||
|
@ -20216,28 +19923,6 @@ var __fs__=require("fs");var __rcf__=__fs__.join(__fs__.home(),".arangosh.rc");i
|
|||
// outline-regexp: "\\(/// @brief\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @\\}\\)"
|
||||
// End:
|
||||
|
||||
/*global window, Backbone */
|
||||
(function() {
|
||||
"use strict";
|
||||
|
||||
window.Airport = Backbone.Model.extend({
|
||||
defaults: {
|
||||
"Airport ID" : 0,
|
||||
"Latitude" : 0,
|
||||
"Longitude" : 0,
|
||||
"Altitude" : 0,
|
||||
"Timezone" : 0,
|
||||
"Name" : "",
|
||||
"City" : "",
|
||||
"Country" : "",
|
||||
"ICAO" : "",
|
||||
"DST" : "",
|
||||
"Tz time zone" : ""
|
||||
}
|
||||
|
||||
});
|
||||
}());
|
||||
|
||||
/*global window, Backbone, $, arangoHelper */
|
||||
(function() {
|
||||
'use strict';
|
||||
|
@ -21093,117 +20778,6 @@ window.Users = Backbone.Model.extend({
|
|||
});
|
||||
}());
|
||||
|
||||
/*jshint browser: true */
|
||||
/*jshint unused: false */
|
||||
/*global window, Backbone, $, _ */
|
||||
(function () {
|
||||
|
||||
"use strict";
|
||||
|
||||
window.Airports = Backbone.Collection.extend({
|
||||
|
||||
initialize: function(options) {
|
||||
this.collectionName = options.collectionName;
|
||||
},
|
||||
|
||||
getAirports: function(callback) {
|
||||
var self = this;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/_api/cursor",
|
||||
data: JSON.stringify({
|
||||
query: "for a in airports return {Latitude: a.Latitude, " +
|
||||
"Longitude: a.Longitude, Name: a.Name, City: a.City, _key: a._key}"
|
||||
}),
|
||||
contentType: "application/json",
|
||||
processData: false,
|
||||
success: function (data) {
|
||||
_.each(data.result, function(airport) {
|
||||
self.add(airport);
|
||||
});
|
||||
if (callback) {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
error: function (data) {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getShortestFlight: function(from, to, callback) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/_api/cursor",
|
||||
data: JSON.stringify({
|
||||
query: "RETURN SHORTEST_PATH(@@airports,@@flights,@start,@dest,'outbound',{})",
|
||||
bindVars: {
|
||||
"@flights": this.collectionName,
|
||||
"@airports": "airports",
|
||||
"start": "airports/" + from,
|
||||
"dest": "airports/" + to
|
||||
}
|
||||
}),
|
||||
contentType: "application/json",
|
||||
processData: false,
|
||||
success: function (data) {
|
||||
callback(data.result[0]);
|
||||
},
|
||||
error: function (data) {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getFlightDistribution: function(callback) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/_api/cursor",
|
||||
data: JSON.stringify({
|
||||
query: "FOR f IN @@flights COLLECT dest = f._to " +
|
||||
"WITH COUNT INTO n SORT n RETURN {Dest: SPLIT(dest, '/')[1], count: n}",
|
||||
bindVars: {
|
||||
"@flights": this.collectionName
|
||||
}
|
||||
}),
|
||||
contentType: "application/json",
|
||||
processData: false,
|
||||
success: function (data) {
|
||||
callback(data.result);
|
||||
},
|
||||
error: function (data) {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getFlightsForAirport: function(airport, callback) {
|
||||
var self = this;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/_api/cursor",
|
||||
data: JSON.stringify({
|
||||
query: "for f in @@flights filter f._from == @airport COLLECT dest = f._to " +
|
||||
"WITH COUNT INTO n SORT n RETURN {Dest: SPLIT(dest, '/')[1], count: n}",
|
||||
bindVars: {
|
||||
"airport": "airports/" + airport,
|
||||
"@flights": this.collectionName
|
||||
}
|
||||
}),
|
||||
contentType: "application/json",
|
||||
processData: false,
|
||||
success: function (data) {
|
||||
callback(data.result);
|
||||
},
|
||||
error: function (data) {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
model: window.Airport
|
||||
|
||||
});
|
||||
}());
|
||||
|
||||
/*jshint browser: true */
|
||||
/*jshint unused: false */
|
||||
/*global Backbone, window, arangoCollectionModel, $, arangoHelper, data, _ */
|
||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -1,2 +1,3 @@
|
|||
<script src="libs.js?version=1444775885142"></script>
|
||||
<script src="app.js?version=1444775885142"></script>
|
||||
<script src="sharedLibs.js?version=1445016662634"></script>
|
||||
<script src="libs.js?version=1445016662634"></script>
|
||||
<script src="app.js?version=1445016662634"></script>
|
||||
|
|
|
@ -609,27 +609,7 @@ if (list.length > 0) {
|
|||
<a id="databases" class="tab" href="#databases">Manage Databases</a>
|
||||
</li>
|
||||
<% } %>
|
||||
</ul></script><script id="demoView.ejs" type="text/template"><div class="headerBar">
|
||||
<div class="search-field">
|
||||
<input type="text" id="demoSearchInput" class="search-input" placeholder="Search...">
|
||||
<i id="demoSearchSubmit" class="fa fa-search"></i>
|
||||
<!-- <img id="demoSearchSubmit" class="search-submit-icon"> -->
|
||||
<!--<div id="searchResults" class="demo-dropdown-menu"><ul></ul></div>-->
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<a class="arangoHeader">Demo</a>
|
||||
</div>
|
||||
<div class="styled-select">
|
||||
<select id="flightQuerySelect" class="query-select" style="margin-top: 5px; height: 25px">
|
||||
<option>Please select your query</option>
|
||||
<optgroup label="Example queries"></optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="demoContent" class="innerContent">
|
||||
<div id="demo-mapdiv" style="width: 100%; height: 490px;"><div id="demo-mapdiv-info"></div></div>
|
||||
</div></script><script id="documentView.ejs" type="text/template"><div id="transparentHeader" class="headerBar">
|
||||
</ul></script><script id="documentView.ejs" type="text/template"><div id="transparentHeader" class="headerBar">
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -1335,16 +1315,6 @@ if (list.length > 0) {
|
|||
</div>
|
||||
<%});%>
|
||||
</div>
|
||||
</div></script><script id="graphTestView.ejs" type="text/template"><div class="headerBar">
|
||||
<div class="pull-left">
|
||||
<a class="arangoHeader">Graphs Test</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="contentDiv" id="graphTest">
|
||||
|
||||
<div id="cy" style="height:500px; width: 100%; background-color: #fff"></div>
|
||||
|
||||
</div></script><script id="graphViewGroupByEntry.ejs" type="text/template"><div class="control-group">
|
||||
<label for="<%=type %>_<%=id%>" class="control-label">Attribute <%=id%></label>
|
||||
<div class="controls">
|
||||
|
@ -2642,4 +2612,4 @@ var cutByResolution = function (str) {
|
|||
<% }); %>
|
||||
</ul>
|
||||
</div>
|
||||
<% } %></script></head><body><nav class="navbar"><div class="resizecontainer"><div class="navlogo"><a class="logo" href="#"><img class="arangodbLogo" src="img/arangodb_logo_small.png"></a></div><div id="progressPlaceholderIcon"></div><div class="statmenu" id="statisticBar"></div><div class="usermenu" id="userBar" style="float:right"></div><div class="notificationmenu" id="notificationBar" style="float:right"></div><div class="navmenu" id="navigationBar"></div></div></nav><div class="centralRow resizecontainer"><div id="content" class="centralContent"></div></div><div id="modalPlaceholder"></div><div id="progressPlaceholder" style="display:none"></div><footer class="footer"><div class="resizecontainer" id="footerBar"></div></footer><script src="libs.js?version=1444775885142"></script><script src="app.js?version=1444775885142"></script></body></html>
|
||||
<% } %></script></head><body><nav class="navbar"><div class="resizecontainer"><div class="navlogo"><a class="logo" href="#"><img class="arangodbLogo" src="img/arangodb_logo_small.png"></a></div><div id="progressPlaceholderIcon"></div><div class="statmenu" id="statisticBar"></div><div class="usermenu" id="userBar" style="float:right"></div><div class="notificationmenu" id="notificationBar" style="float:right"></div><div class="navmenu" id="navigationBar"></div></div></nav><div class="centralRow resizecontainer"><div id="content" class="centralContent"></div></div><div id="modalPlaceholder"></div><div id="progressPlaceholder" style="display:none"></div><footer class="footer"><div class="resizecontainer" id="footerBar"></div></footer><script src="sharedLibs.js?version=1445016662634"></script><script src="libs.js?version=1445016662634"></script><script src="app.js?version=1445016662634"></script></body></html>
|
Binary file not shown.
|
@ -665,30 +665,6 @@ if (list.length > 0) {
|
|||
</ul>
|
||||
</script>
|
||||
|
||||
<script id="demoView.ejs" type="text/template">
|
||||
<div class="headerBar">
|
||||
<div class="search-field">
|
||||
<input type="text" id="demoSearchInput" class="search-input" placeholder="Search...">
|
||||
<i id="demoSearchSubmit" class="fa fa-search"></i>
|
||||
<!-- <img id="demoSearchSubmit" class="search-submit-icon"> -->
|
||||
<!--<div id="searchResults" class="demo-dropdown-menu"><ul></ul></div>-->
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<a class="arangoHeader">Demo</a>
|
||||
</div>
|
||||
<div class="styled-select">
|
||||
<select id="flightQuerySelect" class="query-select" style="margin-top: 5px; height: 25px">
|
||||
<option>Please select your query</option>
|
||||
<optgroup label="Example queries"></optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="demoContent" class="innerContent">
|
||||
<div id="demo-mapdiv" style="width: 100%; height: 490px;"><div id="demo-mapdiv-info"></div></div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script id="documentView.ejs" type="text/template">
|
||||
<div id="transparentHeader" class="headerBar">
|
||||
|
||||
|
@ -1434,20 +1410,6 @@ if (list.length > 0) {
|
|||
|
||||
</script>
|
||||
|
||||
<script id="graphTestView.ejs" type="text/template">
|
||||
<div class="headerBar">
|
||||
<div class="pull-left">
|
||||
<a class="arangoHeader">Graphs Test</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="contentDiv" id="graphTest">
|
||||
|
||||
<div id="cy" style="height:500px; width: 100%; background-color: #fff"></div>
|
||||
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script id="graphViewGroupByEntry.ejs" type="text/template">
|
||||
<div class="control-group">
|
||||
<label for="<%=type %>_<%=id%>" class="control-label">Attribute <%=id%></label>
|
||||
|
@ -2897,8 +2859,9 @@ var cutByResolution = function (str) {
|
|||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="libs.js?version=1444775885142"></script>
|
||||
<script src="app.js?version=1444775885142"></script>
|
||||
<script src="sharedLibs.js?version=1445016662634"></script>
|
||||
<script src="libs.js?version=1445016662634"></script>
|
||||
<script src="app.js?version=1445016662634"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -2087,7 +2087,7 @@ textarea,
|
|||
height: 0;
|
||||
visibility: hidden; }
|
||||
|
||||
.script-dropdown-menu .dropdown-item, .addButton, .deleteButton, a.headerButton, a.button-gui, div.toolbox div.gv_action_button, .clusterDownBtn button, div .tile a span.icon, div .bigtile a span.icon, div .tile a svg, div .bigtile a svg, div .tile .iconSet span, div .bigtile .iconSet span, div .bigtile, .contentDiv .icon, .icon-info-sign, .arangoicon, div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox label.css-label, .search-submit-icon, .gv-search-submit-icon, .fixedDropdown .notificationItem i, .fullNotification:hover, .contentTables tr.contentRowInactive a, .arango-tab a, .arango-tab li, .pagination-line li a, .link > line, .node, .edit-index-table .icon_arangodb_roundminus, div.demo-dropdown-menu {
|
||||
.script-dropdown-menu .dropdown-item, .addButton, .deleteButton, a.headerButton, a.button-gui, div.toolbox div.gv_action_button, .clusterDownBtn button, div .tile a span.icon, div .bigtile a span.icon, div .tile a svg, div .bigtile a svg, div .tile .iconSet span, div .bigtile .iconSet span, div .bigtile, .contentDiv .icon, .icon-info-sign, .arangoicon, div.headerDropdown.headerDropdown input[type=checkbox].css-checkbox label.css-label, .search-submit-icon, .gv-search-submit-icon, .fixedDropdown .notificationItem i, .fullNotification:hover, .contentTables tr.contentRowInactive a, .arango-tab a, .arango-tab li, .pagination-line li a, .link > line, .node, .edit-index-table .icon_arangodb_roundminus {
|
||||
cursor: pointer; }
|
||||
|
||||
.navbar, footer.footer {
|
||||
|
@ -7933,40 +7933,3 @@ table .sorting {
|
|||
.ajax-upload-dragdrop span {
|
||||
position: relative;
|
||||
top: -22px; }
|
||||
|
||||
div.demo-dropdown-menu {
|
||||
-moz-border-radius: 0 0 5px 5px;
|
||||
-webkit-border-radius: 0 0 5px 5px;
|
||||
border-radius: 0 0 5px 5px;
|
||||
background-color: #686766;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 5px;
|
||||
position: absolute;
|
||||
top: 32px;
|
||||
width: 222px;
|
||||
z-index: 100; }
|
||||
|
||||
#flightQuerySelect.query-select {
|
||||
font-size: 13px;
|
||||
height: 25px;
|
||||
line-height: 1.1em;
|
||||
margin-top: 6px; }
|
||||
|
||||
#demo-mapdiv {
|
||||
position: relative; }
|
||||
|
||||
#demo-mapdiv-info {
|
||||
background-color: rgba(255, 255, 255, 0.75);
|
||||
border: 1.5px solid #666;
|
||||
border-radius: 3px;
|
||||
bottom: 20px;
|
||||
font-size: 11px;
|
||||
height: 150px;
|
||||
line-height: 1.3em;
|
||||
padding: 6px 6px 3px;
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
width: 225px; }
|
||||
|
||||
.amcharts-balloon-div {
|
||||
line-height: 1.1em; }
|
||||
|
|
Binary file not shown.
|
@ -1,2 +1,3 @@
|
|||
<script src="sharedLibs.js?version=__VERSION"></script>
|
||||
<script src="libs.js?version=__VERSION"></script>
|
||||
<script src="app.js?version=__VERSION"></script>
|
||||
|
|
|
@ -1,110 +0,0 @@
|
|||
/*jshint browser: true */
|
||||
/*jshint unused: false */
|
||||
/*global window, Backbone, $, _ */
|
||||
(function () {
|
||||
|
||||
"use strict";
|
||||
|
||||
window.Airports = Backbone.Collection.extend({
|
||||
|
||||
initialize: function(options) {
|
||||
this.collectionName = options.collectionName;
|
||||
},
|
||||
|
||||
getAirports: function(callback) {
|
||||
var self = this;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/_api/cursor",
|
||||
data: JSON.stringify({
|
||||
query: "for a in airports return {Latitude: a.Latitude, " +
|
||||
"Longitude: a.Longitude, Name: a.Name, City: a.City, _key: a._key}"
|
||||
}),
|
||||
contentType: "application/json",
|
||||
processData: false,
|
||||
success: function (data) {
|
||||
_.each(data.result, function(airport) {
|
||||
self.add(airport);
|
||||
});
|
||||
if (callback) {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
error: function (data) {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getShortestFlight: function(from, to, callback) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/_api/cursor",
|
||||
data: JSON.stringify({
|
||||
query: "RETURN SHORTEST_PATH(@@airports,@@flights,@start,@dest,'outbound',{})",
|
||||
bindVars: {
|
||||
"@flights": this.collectionName,
|
||||
"@airports": "airports",
|
||||
"start": "airports/" + from,
|
||||
"dest": "airports/" + to
|
||||
}
|
||||
}),
|
||||
contentType: "application/json",
|
||||
processData: false,
|
||||
success: function (data) {
|
||||
callback(data.result[0]);
|
||||
},
|
||||
error: function (data) {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getFlightDistribution: function(callback) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/_api/cursor",
|
||||
data: JSON.stringify({
|
||||
query: "FOR f IN @@flights COLLECT dest = f._to " +
|
||||
"WITH COUNT INTO n SORT n RETURN {Dest: SPLIT(dest, '/')[1], count: n}",
|
||||
bindVars: {
|
||||
"@flights": this.collectionName
|
||||
}
|
||||
}),
|
||||
contentType: "application/json",
|
||||
processData: false,
|
||||
success: function (data) {
|
||||
callback(data.result);
|
||||
},
|
||||
error: function (data) {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getFlightsForAirport: function(airport, callback) {
|
||||
var self = this;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/_api/cursor",
|
||||
data: JSON.stringify({
|
||||
query: "for f in @@flights filter f._from == @airport COLLECT dest = f._to " +
|
||||
"WITH COUNT INTO n SORT n RETURN {Dest: SPLIT(dest, '/')[1], count: n}",
|
||||
bindVars: {
|
||||
"airport": "airports/" + airport,
|
||||
"@flights": this.collectionName
|
||||
}
|
||||
}),
|
||||
contentType: "application/json",
|
||||
processData: false,
|
||||
success: function (data) {
|
||||
callback(data.result);
|
||||
},
|
||||
error: function (data) {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
model: window.Airport
|
||||
|
||||
});
|
||||
}());
|
|
@ -1,21 +0,0 @@
|
|||
/*global window, Backbone */
|
||||
(function() {
|
||||
"use strict";
|
||||
|
||||
window.Airport = Backbone.Model.extend({
|
||||
defaults: {
|
||||
"Airport ID" : 0,
|
||||
"Latitude" : 0,
|
||||
"Longitude" : 0,
|
||||
"Altitude" : 0,
|
||||
"Timezone" : 0,
|
||||
"Name" : "",
|
||||
"City" : "",
|
||||
"Country" : "",
|
||||
"ICAO" : "",
|
||||
"DST" : "",
|
||||
"Tz time zone" : ""
|
||||
}
|
||||
|
||||
});
|
||||
}());
|
|
@ -1,23 +0,0 @@
|
|||
<script id="demoView.ejs" type="text/template">
|
||||
<div class="headerBar">
|
||||
<div class="search-field">
|
||||
<input type="text" id="demoSearchInput" class="search-input" placeholder="Search...">
|
||||
<i id="demoSearchSubmit" class="fa fa-search"></i>
|
||||
<!-- <img id="demoSearchSubmit" class="search-submit-icon"> -->
|
||||
<!--<div id="searchResults" class="demo-dropdown-menu"><ul></ul></div>-->
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<a class="arangoHeader">Demo</a>
|
||||
</div>
|
||||
<div class="styled-select">
|
||||
<select id="flightQuerySelect" class="query-select" style="margin-top: 5px; height: 25px">
|
||||
<option>Please select your query</option>
|
||||
<optgroup label="Example queries"></optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="demoContent" class="innerContent">
|
||||
<div id="demo-mapdiv" style="width: 100%; height: 490px;"><div id="demo-mapdiv-info"></div></div>
|
||||
</div>
|
||||
</script>
|
|
@ -1,13 +0,0 @@
|
|||
<script id="graphTestView.ejs" type="text/template">
|
||||
<div class="headerBar">
|
||||
<div class="pull-left">
|
||||
<a class="arangoHeader">Graphs Test</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="contentDiv" id="graphTest">
|
||||
|
||||
<div id="cy" style="height:500px; width: 100%; background-color: #fff"></div>
|
||||
|
||||
</div>
|
||||
</script>
|
|
@ -1,42 +0,0 @@
|
|||
div.demo-dropdown-menu {
|
||||
@extend %clickable;
|
||||
@include border-radius(0 0 5px 5px);
|
||||
background-color: $c-bar-bg;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 5px;
|
||||
position: absolute;
|
||||
top: 32px;
|
||||
width: 222px;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
#flightQuerySelect.query-select {
|
||||
font-size: 13px;
|
||||
height: 25px;
|
||||
line-height: 1.1em;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
#demo-mapdiv {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#demo-mapdiv-info {
|
||||
background-color: rgba(255, 255, 255, .75);
|
||||
border: 1.5px solid $c-darker-grey;
|
||||
border-radius: 3px;
|
||||
bottom: 20px;
|
||||
font-size: 11px;
|
||||
height: 150px;
|
||||
line-height: 1.3em;
|
||||
padding: 6px 6px 3px;
|
||||
position: absolute;
|
||||
right: 20px;
|
||||
width: 225px;
|
||||
}
|
||||
|
||||
.amcharts-balloon-div {
|
||||
line-height: 1.1em;
|
||||
}
|
||||
|
||||
|
|
@ -85,6 +85,3 @@
|
|||
|
||||
// Plugin
|
||||
@import 'uploadfile';
|
||||
|
||||
// Demo
|
||||
@import 'demo';
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
"grunt": "^0.4.5",
|
||||
"grunt-babel": "^5.0.1",
|
||||
"grunt-concat-in-order": "^0.1.6",
|
||||
"grunt-concurrent": "^2.0.3",
|
||||
"grunt-contrib-compress": "^0.13.0",
|
||||
"grunt-contrib-concat": "^0.5.1",
|
||||
"grunt-contrib-cssmin": "^0.12.3",
|
||||
|
|
Loading…
Reference in New Issue