[Libreoffice-commits] online.git: loleaflet/src
Dennis Francis (via logerrit)
logerrit at kemper.freedesktop.org
Sun Jul 5 07:56:26 UTC 2020
loleaflet/src/layer/tile/CalcTileLayer.js | 44 ++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
New commits:
commit 13b6b8506f005f3e848c7d16c8047698b768d055
Author: Dennis Francis <dennis.francis at collabora.com>
AuthorDate: Tue May 12 10:52:50 2020 +0530
Commit: Dennis Francis <dennis.francis at 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 <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Dennis Francis <dennis.francis at 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) {
More information about the Libreoffice-commits
mailing list