diff options
-rw-r--r-- | browser/src/canvas/sections/AutoFillMarkerSection.ts | 3 | ||||
-rw-r--r-- | browser/src/control/Control.AutoFillOptions.ts | 3 | ||||
-rw-r--r-- | browser/src/control/Control.JSDialog.js | 11 | ||||
-rw-r--r-- | browser/src/control/Control.Tabs.js | 4 | ||||
-rw-r--r-- | browser/src/layer/tile/CalcTileLayer.js | 2 | ||||
-rw-r--r-- | browser/src/layer/tile/CanvasTileLayer.js | 15 | ||||
-rw-r--r-- | kit/ChildSession.cpp | 3 |
7 files changed, 15 insertions, 26 deletions
diff --git a/browser/src/canvas/sections/AutoFillMarkerSection.ts b/browser/src/canvas/sections/AutoFillMarkerSection.ts index 4ade9f689c..1d1c02cc9d 100644 --- a/browser/src/canvas/sections/AutoFillMarkerSection.ts +++ b/browser/src/canvas/sections/AutoFillMarkerSection.ts @@ -197,8 +197,6 @@ class AutoFillMarkerSection extends CanvasSectionObject { this.sectionProperties.docLayer._postMouseEvent('buttonup', pos.x, pos.y, 1, 1, 0); } - this.map._docLayer.isAutoFillFromOnMouseUp = true; - this.map.scrollingIsHandled = false; this.stopPropagating(); e.stopPropagation(); @@ -240,7 +238,6 @@ class AutoFillMarkerSection extends CanvasSectionObject { } public onMouseLeave () { - this.map._docLayer.isAutoFillFromOnMouseUp = false; this.sectionProperties.mapPane.style.cursor = 'default'; } diff --git a/browser/src/control/Control.AutoFillOptions.ts b/browser/src/control/Control.AutoFillOptions.ts index 05c0224427..15a58a802b 100644 --- a/browser/src/control/Control.AutoFillOptions.ts +++ b/browser/src/control/Control.AutoFillOptions.ts @@ -85,7 +85,6 @@ class AutoFillOptions extends L.Control.AutoCompletePopup { } closeMentionPopup(ev: CloseMessageEvent) { - this.map._docLayer.isAutoFillFromOnMouseUp = false; super.closePopup(); if (!ev.typingMention) { this.map._docLayer._typingMention = false; @@ -94,8 +93,6 @@ class AutoFillOptions extends L.Control.AutoCompletePopup { } callback(objectType: any, eventType: any, object: any, index: number) { - this.map._docLayer.isAutoFillFromOnMouseUp = false; - if (eventType === 'close') { this.closeMentionPopup({ typingMention: false } as CloseMessageEvent); } else if (eventType === 'select' || eventType === 'activate') { diff --git a/browser/src/control/Control.JSDialog.js b/browser/src/control/Control.JSDialog.js index 40324bf3a4..a794921d8e 100644 --- a/browser/src/control/Control.JSDialog.js +++ b/browser/src/control/Control.JSDialog.js @@ -605,15 +605,8 @@ L.Control.JSDialog = L.Control.extend({ this.close(autoFilterDialogId, true); } - if (dialog.isAutoFillPopup) { - var isAutoFillFromOnMouseUp = this.map._docLayer.isAutoFillFromOnMouseUp; - - // hide AutoFill popup if it does not come from onMouseUp event (see AutoFillMarkerSection.ts) - if (!isAutoFillFromOnMouseUp) - this.close(autoFilterDialogId) - else - this.map._docLayer.isAutoFillFromOnMouseUp = false; - } + if (dialog.isAutoFillPopup) + this.close(autoFilterDialogId); } }, diff --git a/browser/src/control/Control.Tabs.js b/browser/src/control/Control.Tabs.js index af8054e6a9..8413004627 100644 --- a/browser/src/control/Control.Tabs.js +++ b/browser/src/control/Control.Tabs.js @@ -416,14 +416,10 @@ L.Control.Tabs = L.Control.extend({ _showSheet: function() { this._map.showPage(); - // required for AutoFill popup on empty cells - this._map._docLayer.isAutoFillFromOnMouseUp = false; }, _hideSheet: function() { this._map.hidePage(this._tabForContextMenu); - // hiding the active sheet should close the AutoFill popup - this._map._docLayer.isAutoFillFromOnMouseUp = false; }, _handleDragStart: function(e) { diff --git a/browser/src/layer/tile/CalcTileLayer.js b/browser/src/layer/tile/CalcTileLayer.js index 752b4f5a73..6e8910a14b 100644 --- a/browser/src/layer/tile/CalcTileLayer.js +++ b/browser/src/layer/tile/CalcTileLayer.js @@ -88,7 +88,7 @@ L.CalcTileLayer = L.CanvasTileLayer.extend({ app.sectionContainer.addSection(new app.definitions.AutoFillMarkerSection()); this.insertMode = false; - this.isAutoFillFromOnMouseUp = false; + this.autoFillLocation = {}; this._resetInternalState(); this._sheetSwitch = new L.SheetSwitchViewRestore(map); this._sheetGrid = true; diff --git a/browser/src/layer/tile/CanvasTileLayer.js b/browser/src/layer/tile/CanvasTileLayer.js index a9ef8cb1be..1664be7e60 100644 --- a/browser/src/layer/tile/CanvasTileLayer.js +++ b/browser/src/layer/tile/CanvasTileLayer.js @@ -1440,6 +1440,9 @@ L.CanvasTileLayer = L.Layer.extend({ else if (textMsg.startsWith('cellautofillarea:')) { this._onCellAutoFillAreaMsg(textMsg); } + else if (textMsg.startsWith('cellactions:')) { + this._onCellActionsMsg(); + } else if (textMsg.startsWith('complexselection:')) { if (this._map._clip) this._map._clip.onComplexSelection(textMsg.substr('complexselection:'.length)); @@ -3216,18 +3219,18 @@ L.CanvasTileLayer = L.Layer.extend({ var topLeftPixels = this._twipsToCorePixels(topLeftTwips); var offsetPixels = this._twipsToCorePixels(offset); this._cellAutoFillAreaPixels = L.LOUtil.createRectangle(topLeftPixels.x, topLeftPixels.y, offsetPixels.x, offsetPixels.y); - - // if comes from onMouseUp event of AutoFillMarkerSection.ts, open AutoFill popup with location data - if (this._map._docLayer.isAutoFillFromOnMouseUp) { - // TODO: don't open AutoFill popup if empty cells are selected - this._map.fire('sendautofilllocation', { data: topLeftPixels }); - } + this._map._docLayer.autoFillLocation = { data: topLeftPixels }; } else { this._cellAutoFillAreaPixels = null; } }, + _onCellActionsMsg: function () { + // TODO: don't open AutoFill popup if empty cells are selected + this._map.fire('sendautofilllocation', this._map._docLayer.autoFillLocation); + }, + _onDialogPaintMsg: function(textMsg, img) { var command = app.socket.parseServerCmd(textMsg); diff --git a/kit/ChildSession.cpp b/kit/ChildSession.cpp index 8bf2492069..67855796ad 100644 --- a/kit/ChildSession.cpp +++ b/kit/ChildSession.cpp @@ -3191,6 +3191,9 @@ void ChildSession::loKitCallback(const int type, const std::string& payload) case LOK_CALLBACK_CELL_AUTO_FILL_AREA: sendTextFrame("cellautofillarea: " + payload); break; + case LOK_CALLBACK_CELL_ACTIONS: + sendTextFrame("cellactions: " + payload); + break; case LOK_CALLBACK_TABLE_SELECTED: sendTextFrame("tableselected: " + payload); break; |