loleaflet/src/control/Control.ColumnHeader.js | 129 +++++++++++++++----------- 1 file changed, 75 insertions(+), 54 deletions(-)
New commits: commit 6ed054ca6a975e38d98ca65b956c887dc88d9bc8 Author: Pranam Lashkari <lpra...@collabora.com> AuthorDate: Thu Jan 23 01:41:35 2020 +0530 Commit: Jan Holesovsky <ke...@collabora.com> CommitDate: Tue Jan 28 16:08:54 2020 +0100 Mobile wizard: added for Column header In mobile view context menu replaced with wizard for calc column header Change-Id: I3ea1dfc79815d9fde61d5d22e7a8b09a98a8bc63 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/87287 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Jan Holesovsky <ke...@collabora.com> diff --git a/loleaflet/src/control/Control.ColumnHeader.js b/loleaflet/src/control/Control.ColumnHeader.js index d0d7290b7..de58741fb 100644 --- a/loleaflet/src/control/Control.ColumnHeader.js +++ b/loleaflet/src/control/Control.ColumnHeader.js @@ -3,7 +3,7 @@ * Control.ColumnHeader */ -/* global $ _UNO */ +/* global $ _UNO Hammer */ L.Control.ColumnHeader = L.Control.Header.extend({ options: { cursor: 'col-resize' @@ -63,59 +63,46 @@ L.Control.ColumnHeader = L.Control.Header.extend({ L.DomEvent.on(this._cornerCanvas, 'contextmenu', L.DomEvent.preventDefault); L.DomEvent.addListener(this._cornerCanvas, 'click', this._onCornerHeaderClick, this); - var colHeaderObj = this; - L.installContextMenu({ - selector: '.spreadsheet-header-columns', - className: 'loleaflet-font', - items: { - 'insertcolbefore': { - name: _UNO('.uno:InsertColumnsBefore', 'spreadsheet', true), - callback: function() { - var index = colHeaderObj._lastMouseOverIndex; - if (index) { - colHeaderObj.insertColumn.call(colHeaderObj, index); - } - } - }, - 'deleteselectedcol': { - name: _UNO('.uno:DeleteColumns', 'spreadsheet', true), - callback: function() { - var index = colHeaderObj._lastMouseOverIndex; - if (index) { - colHeaderObj.deleteColumn.call(colHeaderObj, index); - } - } - }, - 'optimalwidth': { - name: _UNO('.uno:SetOptimalColumnWidth', 'spreadsheet', true), - callback: function() { - var index = colHeaderObj._lastMouseOverIndex; - if (index) { - colHeaderObj.optimalWidth.call(colHeaderObj, index); - } - } - }, - 'hideColumn': { - name: _UNO('.uno:HideColumn', 'spreadsheet', true), - callback: function() { - var index = colHeaderObj._lastMouseOverIndex; - if (index) { - colHeaderObj.hideColumn.call(colHeaderObj, index); - } - } - }, - 'showColumn': { - name: _UNO('.uno:ShowColumn', 'spreadsheet', true), - callback: function() { - var index = colHeaderObj._lastMouseOverIndex; - if (index) { - colHeaderObj.showColumn.call(colHeaderObj, index); - } - } - } + this._menuItem = { + 'insertcolbefore': { + name: _UNO('.uno:InsertColumnsBefore', 'spreadsheet', true), + callback: (this._insertColBefore).bind(this) }, - zIndex: 10 - }); + 'deleteselectedcol': { + name: _UNO('.uno:DeleteColumns', 'spreadsheet', true), + callback: (this._deleteSelectedCol).bind(this) + }, + 'optimalwidth': { + name: _UNO('.uno:SetOptimalColumnWidth', 'spreadsheet', true), + callback: (this._optimalWidth).bind(this) + }, + 'hideColumn': { + name: _UNO('.uno:HideColumn', 'spreadsheet', true), + callback: (this._hideColumn).bind(this) + }, + 'showColumn': { + name: _UNO('.uno:ShowColumn', 'spreadsheet', true), + callback: (this._showColumn).bind(this) + } + }; + + if (!window.mode.isMobile()) { + L.installContextMenu({ + selector: '.spreadsheet-header-columns', + className: 'loleaflet-font', + items: this._menuItem, + zIndex: 10 + }); + } else { + var menuData = L.Control.JSDialogBuilder.getMenuStructureForMobileWizard(this._menuItem, true, ''); + (new Hammer(this._canvas, {recognizers: [[Hammer.Press]]})) + .on('press', L.bind(function () { + if (this._map._permission === 'edit') { + window.contextMenuWizard = true; + this._map.fire('mobilewizard', menuData); + } + }, this)); + } }, optimalWidth: function(index) { @@ -654,8 +641,42 @@ L.Control.ColumnHeader = L.Control.Header.extend({ this._setCanvasHeight(height); this._map.fire('updatecornerheader'); - } + }, + _insertColBefore: function() { + var index = this._lastMouseOverIndex; + if (index) { + this.insertColumn.call(this, index); + } + }, + + _deleteSelectedCol: function() { + var index = this._lastMouseOverIndex; + if (index) { + this.deleteColumn.call(this, index); + } + }, + + _optimalWidth: function() { + var index = this._lastMouseOverIndex; + if (index) { + this.optimalWidth.call(this, index); + } + }, + + _hideColumn: function() { + var index = this._lastMouseOverIndex; + if (index) { + this.hideColumn.call(this, index); + } + }, + + _showColumn: function() { + var index = this._lastMouseOverIndex; + if (index) { + this.showColumn.call(this, index); + } + } }); L.control.columnHeader = function (options) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits