From 0be9a2956f41b08a4220daa748cdefe4df1aad43 Mon Sep 17 00:00:00 2001
From: Bram Wiepjes <bramw@protonmail.com>
Date: Wed, 27 Mar 2019 20:00:31 +0100
Subject: [PATCH] added simple context menu

---
 web-frontend/public/grid.html                 | 31 +++++++++++--
 .../src/scss/components/_context.scss         | 46 +++++++++++++++++++
 web-frontend/src/scss/components/_form.scss   |  2 +-
 web-frontend/src/scss/components/_modal.scss  |  1 +
 web-frontend/src/scss/default.scss            |  1 +
 5 files changed, 77 insertions(+), 4 deletions(-)
 create mode 100644 web-frontend/src/scss/components/_context.scss

diff --git a/web-frontend/public/grid.html b/web-frontend/public/grid.html
index 9c552588c..d9b52488a 100644
--- a/web-frontend/public/grid.html
+++ b/web-frontend/public/grid.html
@@ -48,9 +48,26 @@
                                         <i class="tree-type fas fa-database"></i>
                                         Vehicles
                                     </a>
-                                    <a href="#" class="tree-options">
+                                    <a href="#" class="tree-options" data-context=".context">
                                         <i class="fas fa-ellipsis-v"></i>
                                     </a>
+                                    <div class="context hidden">
+                                        <div class="context-menu-title">Vehicles</div>
+                                        <ul class="context-menu">
+                                            <li>
+                                                <a href="#">
+                                                    <i class="context-menu-icon fas fa-fw fa-pen"></i>
+                                                    Rename database
+                                                </a>
+                                            </li>
+                                            <li>
+                                                <a href="#">
+                                                    <i class="context-menu-icon fas fa-fw fa-trash"></i>
+                                                    Rename table
+                                                </a>
+                                            </li>
+                                        </ul>
+                                    </div>
                                 </div>
                             </li>
                             <li class="tree-item">
@@ -347,7 +364,7 @@
                 </div>
             </div>
         </div>
-        <div class="modal-wrapper">
+        <div class="modal-wrapper hidden">
             <div class="modal-box">
                 <a href="#" class="modal-close">
                     <i class="fas fa-times"></i>
@@ -478,7 +495,7 @@
                     $this.removeClass("grid-view-row-hover");
                 });
 
-                $cell = $(".grid-view-cell")
+                $cell = $(".grid-view-cell");
                 $cell.click(function(e) {
                     $cell.removeClass("active");
                     $(this).addClass("active");
@@ -497,6 +514,14 @@
                 $(".modal-close").click(function() {
                     $(this).closest(".modal-wrapper").addClass("hidden");
                 });
+
+                $(".grid-view-row-more").click(function() {
+                    $(".modal-wrapper").removeClass("hidden");
+                });
+
+                $("[data-context]").click(function() {
+                    $(this).siblings($(this).attr("data-context")).toggleClass("hidden");
+                });
             })();
         </script>
     </body>
diff --git a/web-frontend/src/scss/components/_context.scss b/web-frontend/src/scss/components/_context.scss
new file mode 100644
index 000000000..4a2a97f12
--- /dev/null
+++ b/web-frontend/src/scss/components/_context.scss
@@ -0,0 +1,46 @@
+.context {
+  position: absolute;
+  z-index: 1;
+  white-space: nowrap;
+  background-color: $white;
+  border-radius: 6px;
+  box-shadow: 0 2px 6px 0 rgba($black, 0.16);
+}
+
+.context-menu-title {
+  color: $color-neutral-600;
+  padding: 12px 8px;
+  line-height: 13px;
+}
+
+.context-menu {
+  list-style: none;
+  padding: 0;
+  margin-bottom: 10px;
+
+  li {
+    margin-bottom: 4px;
+    padding: 0 8px;
+  }
+
+  a {
+    display: block;
+    border-radius: 3px;
+    color: $color-primary-900;
+    padding: 0 10px;
+
+    @include fixed-height(32px, 14px);
+
+    &:hover {
+      background-color: $color-neutral-100;
+      text-decoration: none;
+    }
+  }
+}
+
+.context-menu-icon {
+  font-size: 13px;
+  color: $color-neutral-400;
+  margin-right: 4px;
+  text-align: left;
+}
diff --git a/web-frontend/src/scss/components/_form.scss b/web-frontend/src/scss/components/_form.scss
index 6b3588f33..8e9db3bbe 100644
--- a/web-frontend/src/scss/components/_form.scss
+++ b/web-frontend/src/scss/components/_form.scss
@@ -15,7 +15,7 @@
 
   &:hover {
     text-decoration: none;
-    color:$color-neutral-500;
+    color: $color-neutral-500;
   }
 }
 
diff --git a/web-frontend/src/scss/components/_modal.scss b/web-frontend/src/scss/components/_modal.scss
index 2acedb9ea..1dac2a3d1 100644
--- a/web-frontend/src/scss/components/_modal.scss
+++ b/web-frontend/src/scss/components/_modal.scss
@@ -22,6 +22,7 @@
 
 .modal-close {
   @include absolute(20px, 20px, auto, auto);
+
   font-size: 20px;
   color: $color-neutral-400;
 
diff --git a/web-frontend/src/scss/default.scss b/web-frontend/src/scss/default.scss
index aebe7b1b9..1a1bbe02b 100755
--- a/web-frontend/src/scss/default.scss
+++ b/web-frontend/src/scss/default.scss
@@ -19,6 +19,7 @@
 @import "components/header";
 @import "components/scrollbar";
 @import "components/modal";
+@import "components/context";
 
 @import "components/fields/boolean";
 @import "components/fields/number";