diff --git a/arangod/V8Server/v8-vocbase.cpp b/arangod/V8Server/v8-vocbase.cpp index 2129c602d6..7d1506ccf8 100644 --- a/arangod/V8Server/v8-vocbase.cpp +++ b/arangod/V8Server/v8-vocbase.cpp @@ -8422,6 +8422,10 @@ bool ExtractDocumentHandle (v8::Handle val, return false; } + if (! obj->Has(v8g->_RevKey)) { + return true; + } + rid = TRI_ObjectToUInt64(obj->Get(v8g->_RevKey), true); if (rid == 0) { diff --git a/js/apps/system/aardvark/frontend/css/api.css b/js/apps/system/aardvark/frontend/css/api.css index 65063b9103..46f9f4e5cd 100644 --- a/js/apps/system/aardvark/frontend/css/api.css +++ b/js/apps/system/aardvark/frontend/css/api.css @@ -79,11 +79,3 @@ margin: 11px 10px 0 0 !important; } -#resources > li:nth-child(even) { - background-color: #FFFFFF !important; -} - -#resources > li:nth-child(odd) { - background-color: #F1F0EE !important; -} - diff --git a/js/apps/system/aardvark/frontend/css/buttons.css b/js/apps/system/aardvark/frontend/css/buttons.css index 1f3916c97e..ceb3dd0313 100644 --- a/js/apps/system/aardvark/frontend/css/buttons.css +++ b/js/apps/system/aardvark/frontend/css/buttons.css @@ -9,13 +9,21 @@ font-size: 20px; color: #8AA050; margin-top: 2px; + cursor: pointer; } + .deleteButton { - color: #B30000; + /*color: #B30000;*/ + color: #DA4F49; font-size: 20px; padding-right: 3px; top: 3px; position: relative; + cursor: pointer; +} + +.deleteButton:hover { + color: #BE342E; } ul.headerButtonList { diff --git a/js/apps/system/aardvark/frontend/css/databaseView.css b/js/apps/system/aardvark/frontend/css/databaseView.css index 2e95ae8cb9..52b28c464d 100644 --- a/js/apps/system/aardvark/frontend/css/databaseView.css +++ b/js/apps/system/aardvark/frontend/css/databaseView.css @@ -51,14 +51,6 @@ padding:12px 18px; } -#databaseTable tr:nth-child(odd) { - background-color: #F1F0EE; -} - -#databaseTable tr:nth-child(even) { - background-color: #FFFFFF; -} - #createDatabaseModal table { width: 100%; } diff --git a/js/apps/system/aardvark/frontend/css/datatables.css b/js/apps/system/aardvark/frontend/css/datatables.css index 30c57cffed..2ca2b04f55 100644 --- a/js/apps/system/aardvark/frontend/css/datatables.css +++ b/js/apps/system/aardvark/frontend/css/datatables.css @@ -6,14 +6,6 @@ padding:12px 18px !important; } -#logContent .odd { - background-color: #F1F0EE; -} - -#logContent .even { - background-color: #FFFFFF; -} - table.dataTable thead th { border-bottom:none; @@ -31,8 +23,6 @@ table.arangoDataTable.dataTable td { } .arangoDataTable { - padding-left: 5px !important; - padding-right: 5px !important; width: 100% !important; position: relative; table-layout:fixed !important; @@ -43,14 +33,25 @@ table.arangoDataTable.dataTable td { border-bottom: 1px solid #C2C2C2; } -.arangoDataTable .odd:hover, -.arangoDataTable .even:hover, -#logContent .odd:hover, -#logContent .even:hover { +table.arangoDataTable tr { cursor: pointer; } +table.arangoDataTable.noPointer tr { + cursor: default; +} + .arangoDataTable .key { margin-top: 4px; } +/* Odd / Even coloring */ +.api-container ul#resources > li.resource:nth-child(even), +table.arangoDataTable tr.even { + background-color: #FFFFFF; +} + +.api-container ul#resources > li.resource:nth-child(odd), +table.arangoDataTable tr.odd { + background-color: #F1F0EE; +} diff --git a/js/apps/system/aardvark/frontend/css/documentSourceView.css b/js/apps/system/aardvark/frontend/css/documentSourceView.css index c8a9a09f6c..ac2accdc4c 100644 --- a/js/apps/system/aardvark/frontend/css/documentSourceView.css +++ b/js/apps/system/aardvark/frontend/css/documentSourceView.css @@ -5,7 +5,6 @@ #sourceFooter { margin-top: 0; - background: none; margin-bottom: 0; padding-right: 0; padding-top: 30px; diff --git a/js/apps/system/aardvark/frontend/css/documentView.css b/js/apps/system/aardvark/frontend/css/documentView.css index 509b79c387..8bec35b3f3 100644 --- a/js/apps/system/aardvark/frontend/css/documentView.css +++ b/js/apps/system/aardvark/frontend/css/documentView.css @@ -148,7 +148,6 @@ table.dataTable thead th { } #documentTableID.dataTable thead tr { -/* background-color: #F1F0EE;*/ background-color: #FFFFFF; } @@ -159,23 +158,6 @@ table.dataTable thead th { box-shadow: none; } -#documentTableID .odd, -table.dataTable.arangoDataTable tr.odd { - background:#F1F0EE; -} -#documentTableID .even, -table.dataTable.arangoDataTable tr.even { - background:#FFFFFF; -} - -#documentTableID tr.odd td.sorting_1 { - background:#F1F0EE;/* #fdf6df*/ -} - -#documentTableID tr.even td.sorting_1 { - background:#FFFFFF; /*#fdfaec*/ -} - .arangoTab > li > a, .arangoTab > li:hover > a { border-radius: 0 !important; diff --git a/js/apps/system/aardvark/frontend/css/documentsView.css b/js/apps/system/aardvark/frontend/css/documentsView.css index 6a68642c70..259669e4a1 100644 --- a/js/apps/system/aardvark/frontend/css/documentsView.css +++ b/js/apps/system/aardvark/frontend/css/documentsView.css @@ -401,14 +401,6 @@ min-width: 100% !important; } -#collectionEditIndexTable tr:nth-child(even) { - background-color: white !important; -} - -#collectionEditIndexTable tr:nth-child(odd) { - background-color: #F1F0EE !important; -} - #collectionEditIndexTable th { padding-top: 5px; padding-bottom: 5px; diff --git a/js/apps/system/aardvark/frontend/css/layout.css b/js/apps/system/aardvark/frontend/css/layout.css index 9b05dd7192..27fe22d38b 100644 --- a/js/apps/system/aardvark/frontend/css/layout.css +++ b/js/apps/system/aardvark/frontend/css/layout.css @@ -91,11 +91,11 @@ textarea, .alert { } .btn-danger { - background-color: #DA4F49; + background-color: #DA4F49; } .btn-danger:hover { - background-color: #be342e; + background-color: #be342e; } .btn-group > .btn + .dropdown-toggle { @@ -131,8 +131,8 @@ body { .form-actions { margin-top: -10px !important; - background-color: rgba(0,0,0,0.05); border:none; + background: none; } /* ICONS */ diff --git a/js/apps/system/aardvark/frontend/css/logsView.css b/js/apps/system/aardvark/frontend/css/logsView.css index 6b577c3322..9a47dbd067 100644 --- a/js/apps/system/aardvark/frontend/css/logsView.css +++ b/js/apps/system/aardvark/frontend/css/logsView.css @@ -25,25 +25,11 @@ word-break: break-all; } - - -#logContent .sorting_1 { - background-color: #FBFBFB !important; -} - -/*.odd .sorting_1 { -background-color: none !important; -} - - .even .sorting_1 { - background-color: #F1F0EE !important; -}*/ - - #logToolbar { - padding-top: 10px; - padding-bottom: 15px; - border: 1px solid #C1BDBA; - background-color: #F7F6F6 !important; +#logToolbar { + padding-top: 10px; + padding-bottom: 15px; + border: 1px solid #C1BDBA; + background-color: #F7F6F6 !important; } #logToolbar button { diff --git a/js/apps/system/aardvark/frontend/css/swaggerView.css b/js/apps/system/aardvark/frontend/css/swaggerView.css index b257ead55d..cfde4a0a57 100644 --- a/js/apps/system/aardvark/frontend/css/swaggerView.css +++ b/js/apps/system/aardvark/frontend/css/swaggerView.css @@ -1,8 +1,6 @@ pre{ margin: 0 0 0 0; } -.form-actions { -} .swagger-ui-wrap .container { width: auto; margin: 20px; diff --git a/js/apps/system/aardvark/frontend/js/graphViewer/ui/modalDialogHelper.js b/js/apps/system/aardvark/frontend/js/graphViewer/ui/modalDialogHelper.js index 1ed5fca83a..63ca7ff1c2 100644 --- a/js/apps/system/aardvark/frontend/js/graphViewer/ui/modalDialogHelper.js +++ b/js/apps/system/aardvark/frontend/js/graphViewer/ui/modalDialogHelper.js @@ -377,7 +377,7 @@ var modalDialogHelper = modalDialogHelper || {}; buttonDismiss.className = "close"; buttonDismiss.dataDismiss = "modal"; buttonDismiss.ariaHidden = "true"; - buttonDismiss.appendChild(document.createTextNode("x")); + buttonDismiss.appendChild(document.createTextNode("×")); header.appendChild(document.createTextNode(title)); diff --git a/js/apps/system/aardvark/frontend/js/routers/router.js b/js/apps/system/aardvark/frontend/js/routers/router.js index 85758fdee8..13e83a8ac0 100644 --- a/js/apps/system/aardvark/frontend/js/routers/router.js +++ b/js/apps/system/aardvark/frontend/js/routers/router.js @@ -29,7 +29,8 @@ "application/documentation/:key" : "appDocumentation", "graph" : "graph", "graphManagement" : "graphManagement", - "graphManagement/add" : "graphAddNew" + "graphManagement/add" : "graphAddNew", + "graphManagement/delete/:name" : "graphDelete" }, initialize: function () { @@ -281,6 +282,16 @@ this.naviView.selectMenuItem('graphviewer-menu'); }, + graphDelete: function(name) { + if (!this.deleteGraphView) { + this.deleteGraphView = new window.DeleteGraphView({ + collection: this.graphs + }); + } + this.deleteGraphView.render(name); + this.naviView.selectMenuItem('graphviewer-menu'); + }, + applications: function() { if (this.applicationsView === undefined) { this.applicationsView = new window.ApplicationsView({ diff --git a/js/apps/system/aardvark/frontend/js/templates/addNewGraphView.ejs b/js/apps/system/aardvark/frontend/js/templates/addNewGraphView.ejs index 73dc9adb99..39781433d2 100644 --- a/js/apps/system/aardvark/frontend/js/templates/addNewGraphView.ejs +++ b/js/apps/system/aardvark/frontend/js/templates/addNewGraphView.ejs @@ -13,12 +13,12 @@ Vertices: - + Edges: - + diff --git a/js/apps/system/aardvark/frontend/js/templates/databaseView.ejs b/js/apps/system/aardvark/frontend/js/templates/databaseView.ejs index 892799874f..74a856ac48 100644 --- a/js/apps/system/aardvark/frontend/js/templates/databaseView.ejs +++ b/js/apps/system/aardvark/frontend/js/templates/databaseView.ejs @@ -5,7 +5,7 @@
- +
diff --git a/js/apps/system/aardvark/frontend/js/templates/deleteGraphView.ejs b/js/apps/system/aardvark/frontend/js/templates/deleteGraphView.ejs new file mode 100644 index 0000000000..90b6451ea6 --- /dev/null +++ b/js/apps/system/aardvark/frontend/js/templates/deleteGraphView.ejs @@ -0,0 +1,15 @@ + diff --git a/js/apps/system/aardvark/frontend/js/templates/documentView.ejs b/js/apps/system/aardvark/frontend/js/templates/documentView.ejs index ae2f0beb5d..5ccefbbe9d 100644 --- a/js/apps/system/aardvark/frontend/js/templates/documentView.ejs +++ b/js/apps/system/aardvark/frontend/js/templates/documentView.ejs @@ -13,7 +13,7 @@ -
Name
+
diff --git a/js/apps/system/aardvark/frontend/js/templates/documentsView.ejs b/js/apps/system/aardvark/frontend/js/templates/documentsView.ejs index d4dbb461c9..f77d60717c 100644 --- a/js/apps/system/aardvark/frontend/js/templates/documentsView.ejs +++ b/js/apps/system/aardvark/frontend/js/templates/documentsView.ejs @@ -66,7 +66,7 @@
Attribute
+
diff --git a/js/apps/system/aardvark/frontend/js/templates/graphView.ejs b/js/apps/system/aardvark/frontend/js/templates/graphView.ejs index 5f3a62e1fc..1fd5109d19 100644 --- a/js/apps/system/aardvark/frontend/js/templates/graphView.ejs +++ b/js/apps/system/aardvark/frontend/js/templates/graphView.ejs @@ -74,9 +74,9 @@ gs = _.sortBy(gs, sortF); <%}); %> -
- -
+ +
+
diff --git a/js/apps/system/aardvark/frontend/js/templates/logsView.ejs b/js/apps/system/aardvark/frontend/js/templates/logsView.ejs index 2cb093555f..fd23de54ee 100644 --- a/js/apps/system/aardvark/frontend/js/templates/logsView.ejs +++ b/js/apps/system/aardvark/frontend/js/templates/logsView.ejs @@ -15,7 +15,7 @@
-
ID Type
+
@@ -27,7 +27,7 @@
-
Loglevel
+
@@ -39,7 +39,7 @@
-
Loglevel
+
@@ -51,7 +51,7 @@
-
Loglevel
+
@@ -63,7 +63,7 @@
-
Loglevel
+
diff --git a/js/apps/system/aardvark/frontend/js/templates/manageGraphsView.ejs b/js/apps/system/aardvark/frontend/js/templates/manageGraphsView.ejs index 5e21bbc7e5..caa63902e2 100644 --- a/js/apps/system/aardvark/frontend/js/templates/manageGraphsView.ejs +++ b/js/apps/system/aardvark/frontend/js/templates/manageGraphsView.ejs @@ -30,14 +30,16 @@
-
Loglevel
+
diff --git a/js/apps/system/aardvark/frontend/js/views/deleteGraphView.js b/js/apps/system/aardvark/frontend/js/views/deleteGraphView.js new file mode 100644 index 0000000000..7196167a0a --- /dev/null +++ b/js/apps/system/aardvark/frontend/js/views/deleteGraphView.js @@ -0,0 +1,59 @@ +/*jslint indent: 2, nomen: true, maxlen: 100, vars: true, white: true, plusplus: true*/ +/*global Backbone, $, _, window, templateEngine, arangoHelper*/ + +(function() { + "use strict"; + + window.DeleteGraphView = Backbone.View.extend({ + + el: '#modalPlaceholder', + + template: templateEngine.createTemplate("deleteGraphView.ejs"), + + events: { + "click #cancel": "hide", + "hidden": "hidden", + "click #confirmDelete": "deleteGraph" + }, + + deleteGraph: function() { + var self = this; + this.collection.get(this.name).destroy({ + success: function() { + self.hide(); + }, + error: function(xhr, err) { + var response = JSON.parse(err.responseText), + msg = response.errorMessage; + arangoHelper.arangoError(msg); + self.hide(); + } + }); + }, + + hide: function() { + $('#delete-graph').modal('hide'); + }, + + hidden: function () { + this.undelegateEvents(); + window.App.navigate("graphManagement", {trigger: true}); + }, + + render: function(name) { + if (!name) { + window.App.navigate("graphManagement", {trigger: true}); + } + this.name = name; + $(this.el).html(this.template.render({ + name: name + })); + this.delegateEvents(); + $('#delete-graph').modal('show'); + return this; + } + + }); + +}()); + diff --git a/js/apps/system/aardvark/frontend/js/views/documentView.js b/js/apps/system/aardvark/frontend/js/views/documentView.js index e831adc458..d7616575a7 100644 --- a/js/apps/system/aardvark/frontend/js/views/documentView.js +++ b/js/apps/system/aardvark/frontend/js/views/documentView.js @@ -221,7 +221,6 @@ } }); this.makeEditable(); - $(this.table).dataTable().fnSort([ [0, 'asc'] ]); }, addLine: function (event) { @@ -265,7 +264,7 @@ initTable: function () { $(this.table).dataTable({ - "aaSorting": [[ 1, "asc" ]], + "bSortClasses": false, "bAutoWidth": false, "bFilter": false, "bPaginate":false, diff --git a/js/apps/system/aardvark/frontend/js/views/documentsView.js b/js/apps/system/aardvark/frontend/js/views/documentsView.js index 9bcd878024..3280f0de6a 100644 --- a/js/apps/system/aardvark/frontend/js/views/documentsView.js +++ b/js/apps/system/aardvark/frontend/js/views/documentsView.js @@ -477,7 +477,7 @@ initTable: function (colid, pageid) { $('#documentsTableID').dataTable({ - "aaSorting": [[ 1, "asc" ]], + "bSortClasses": false, "bFilter": false, "bPaginate":false, "bRetrieve": true, diff --git a/js/apps/system/aardvark/frontend/js/views/graphManagementView.js b/js/apps/system/aardvark/frontend/js/views/graphManagementView.js index d8cf43f4e5..0523f98721 100644 --- a/js/apps/system/aardvark/frontend/js/views/graphManagementView.js +++ b/js/apps/system/aardvark/frontend/js/views/graphManagementView.js @@ -18,14 +18,8 @@ }, deleteGraph: function(e) { - var key = $(e.target).closest("a").attr("id"), - self = this; - // Ask user for permission - this.collection.get(key).destroy({ - success: function() { - self.render(); - } - }); + var key = $(e.target).closest("a").attr("id"); + window.App.navigate("graphManagement/delete/" + key, {trigger: true}); }, render: function() { diff --git a/js/apps/system/aardvark/frontend/js/views/logsView.js b/js/apps/system/aardvark/frontend/js/views/logsView.js index 144a953407..adbd0d24a1 100644 --- a/js/apps/system/aardvark/frontend/js/views/logsView.js +++ b/js/apps/system/aardvark/frontend/js/views/logsView.js @@ -114,6 +114,7 @@ "bFilter": false, "bPaginate": false, "bSort" : false, + "bSortClasses": false, "bLengthChange": false, "bDeferRender": true, "bProcessing": true, diff --git a/js/apps/system/aardvark/test/karma/karma.conf.js b/js/apps/system/aardvark/test/karma/karma.conf.js index 5d2eb5beff..bd6bd83fd3 100644 --- a/js/apps/system/aardvark/test/karma/karma.conf.js +++ b/js/apps/system/aardvark/test/karma/karma.conf.js @@ -167,6 +167,7 @@ module.exports = function(karma) { 'frontend/js/views/graphView.js', 'frontend/js/views/graphManagementView.js', 'frontend/js/views/addNewGraphView.js', + 'frontend/js/views/deleteGraphView.js', 'frontend/js/views/dbSelectionView.js', 'frontend/js/views/editListEntryView.js', 'frontend/js/views/loginView.js', diff --git a/js/apps/system/aardvark/test/specs/router/routerSpec.js b/js/apps/system/aardvark/test/specs/router/routerSpec.js index 5bc67448e5..bc88929612 100644 --- a/js/apps/system/aardvark/test/specs/router/routerSpec.js +++ b/js/apps/system/aardvark/test/specs/router/routerSpec.js @@ -243,6 +243,7 @@ "shell", "graphManagement", "graphManagement/add", + "graphManagement/delete/:name", "applications", "applications/installed", "applications/available" @@ -373,6 +374,24 @@ ); }); + it("should offer the delete graph view", function() { + var name = "testGraph"; + simpleNavigationCheck( + { + url: "graphManagement/delete/:name", + params: [name] + }, + "DeleteGraphView", + "graphviewer-menu", + { + collection: graphsDummy + }, + { + render: name + } + ); + }); + it("should route to the applications tab", function() { simpleNavigationCheck( "applications", diff --git a/js/apps/system/aardvark/test/specs/views/graphManagementViewSpec.js b/js/apps/system/aardvark/test/specs/views/graphManagementViewSpec.js index de72585867..0de1814bd2 100644 --- a/js/apps/system/aardvark/test/specs/views/graphManagementViewSpec.js +++ b/js/apps/system/aardvark/test/specs/views/graphManagementViewSpec.js @@ -95,15 +95,16 @@ }); - it("should be able to delete", function() { + it("should navigate to graph delete view", function() { + spyOn(window.App, "navigate"); var lg = graphs.get("g3"); - spyOn(lg, "destroy").andCallFake(function(opt) { - opt.success(); - }); - spyOn(view, "render"); $("#" + g3._key + " > span").click(); - expect(lg.destroy).toHaveBeenCalled(); - expect(view.render).toHaveBeenCalled(); + expect(window.App.navigate).toHaveBeenCalledWith( + "graphManagement/delete/" + g3._key, + { + trigger: true + } + ); }); });
Name Vertices Edges - + + +