From 19d9ab077ad9aae53d62825623fc5eac994ed176 Mon Sep 17 00:00:00 2001 From: Mashaal Musleh Date: Sat, 29 Jun 2019 15:13:57 +0300 Subject: [PATCH 1/7] Display a context menu on right click Menu items are defined in grid_options --- js/src/qgrid.css | 22 ++++++++++++++++++++++ js/src/qgrid.widget.js | 27 +++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/js/src/qgrid.css b/js/src/qgrid.css index a0553074..414980c2 100644 --- a/js/src/qgrid.css +++ b/js/src/qgrid.css @@ -429,6 +429,28 @@ border-left: 1px solid #cccccc; } +/* Context menu */ + +.q-grid-container #contextMenu { + background: rgb(245, 245, 245); + border: 1px solid gray; + padding: 2px; + display: inline-block; + min-width: 100px; + -moz-box-shadow: 2px 2px 2px silver; + -webkit-box-shadow: 2px 2px 2px silver; + z-index: 99999; +} + +.q-grid-container #contextMenu li { + padding: 4px 4px 4px 14px; + list-style: none; +} + +.q-grid-container #contextMenu li:hover { + background-color: #cccccc; +} + /* Filter dropdowns */ .q-grid-container .grid-filter { diff --git a/js/src/qgrid.widget.js b/js/src/qgrid.widget.js index 9cfe94df..c2eec094 100644 --- a/js/src/qgrid.widget.js +++ b/js/src/qgrid.widget.js @@ -401,6 +401,33 @@ class QgridView extends widgets.DOMWidgetView { ); this.grid_elem.data('slickgrid', this.slick_grid); + if (this.grid_options.context_menu){ + if (!this.context_elem) { + this.context_elem = $(`