loleaflet/src/layer/tile/CalcTileLayer.js | 44 ++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)
New commits: commit 13b6b8506f005f3e848c7d16c8047698b768d055 Author: Dennis Francis <dennis.fran...@collabora.com> AuthorDate: Tue May 12 10:52:50 2020 +0530 Commit: Dennis Francis <dennis.fran...@collabora.com> CommitDate: Sun Jul 5 09:56:07 2020 +0200 introduce .uno:SheetGeometryData requester/handler Change-Id: Iaeef462346f22996daddb583c459a5f67aa6c290 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97941 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Dennis Francis <dennis.fran...@collabora.com> diff --git a/loleaflet/src/layer/tile/CalcTileLayer.js b/loleaflet/src/layer/tile/CalcTileLayer.js index b0773251d..b3b7c7037 100644 --- a/loleaflet/src/layer/tile/CalcTileLayer.js +++ b/loleaflet/src/layer/tile/CalcTileLayer.js @@ -497,6 +497,42 @@ L.CalcTileLayer = L.TileLayer.extend({ this._map._socket.sendMessage(payload); }, + // sends the .uno:SheetGeometryData command optionally with arguments. + requestSheetGeomtryData: function (flags) { + var unoCmd = '.uno:SheetGeometryData'; + var haveArgs = (typeof flags == 'object' && (flags.columns === true || flags.rows === true)); + var payload = 'commandvalues command=' + unoCmd; + + if (haveArgs) { + var argList = []; + if (flags.columns === true) { + argList.push('columns=1'); + } + if (flags.rows === true) { + argList.push('rows=1'); + } + + var dataTypeFlagNames = ['sizes', 'hidden', 'filtered', 'groups']; + var dataTypesPresent = false; + dataTypeFlagNames.forEach(function (name) { + if (flags[name] === true) { + argList.push(name + '=1'); + dataTypesPresent = true; + } + }); + + if (!dataTypesPresent) { + dataTypeFlagNames.forEach(function (name) { + argList.push(name + '=1'); + }); + } + + payload += '?' + argList.join('&'); + } + + this._map._socket.sendMessage(payload); + }, + _handleViewRowColumnHeadersMsg: function (jsonMsgObj) { this._map.fire('viewrowcolumnheaders', { data: jsonMsgObj, @@ -507,6 +543,11 @@ L.CalcTileLayer = L.TileLayer.extend({ }); }, + _handleSheetGeometryDataMsg: function (jsonMsgObj) { + // TODO: use the L.SheetGeometry datastructure + this._map.sheetGeomData = jsonMsgObj; + }, + _onCommandValuesMsg: function (textMsg) { var jsonIdx = textMsg.indexOf('{'); if (jsonIdx === -1) @@ -521,6 +562,9 @@ L.CalcTileLayer = L.TileLayer.extend({ if (values.commandName === '.uno:ViewRowColumnHeaders') { this._handleViewRowColumnHeadersMsg(values); + } else if (values.commandName === '.uno:SheetGeometryData') { + this._handleSheetGeometryDataMsg(values); + } else if (values.comments) { this.clearAnnotations(); for (var index in values.comments) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits