summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgokaysatir <gokaysatir@collabora.com>2020-09-23 17:10:56 +0300
committerHenry Castro <hcastro@collabora.com>2020-09-24 16:54:27 +0200
commitb8025ec431226fe3a3d19ec46b660978edf2c1b9 (patch)
treeba94397d6b2d53a6831efdaa79032a87fc30e2bf
parent391b8b7fd7cc4ea42189782926472591d5934d4a (diff)
Loleaflet: Show sheet feature is enabled also for mobile.
Change-Id: I60dd7354ee5e54c00e8ea78f93d15b34ab5c1fda Reviewed-on: https://gerrit.libreoffice.org/c/online/+/103259 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Henry Castro <hcastro@collabora.com> Reviewed-by: Henry Castro <hcastro@collabora.com>
-rw-r--r--loleaflet/src/control/Parts.js41
1 files changed, 40 insertions, 1 deletions
diff --git a/loleaflet/src/control/Parts.js b/loleaflet/src/control/Parts.js
index 427a3238f..0e52e7472 100644
--- a/loleaflet/src/control/Parts.js
+++ b/loleaflet/src/control/Parts.js
@@ -2,6 +2,9 @@
/*
* Document parts switching and selecting handler
*/
+
+/* global vex */
+
L.Map.include({
setPart: function (part, external, calledFromSetPartHandler) {
var docLayer = this._docLayer;
@@ -345,7 +348,43 @@ L.Map.include({
showPage: function () {
if (this.getDocType() === 'spreadsheet' && this.hasAnyHiddenPart()) {
- this._socket.sendMessage('uno .uno:Show');
+ var partNames_ = this._docLayer._partNames;
+ var hiddenParts_ = this._docLayer._hiddenParts;
+
+ if (hiddenParts_.length > 0) {
+ var container = document.createElement('div');
+ container.style.maxHeight = '300px';
+ container.style.maxWidth = '200px';
+ for (var i = 0; i < hiddenParts_.length; i++) {
+ var checkbox = document.createElement('input');
+ checkbox.type = 'checkbox';
+ checkbox.id = 'hidden-part-checkbox-' + String(hiddenParts_[i]);
+ var label = document.createElement('label');
+ label.htmlFor = 'hidden-part-checkbox-' + String(hiddenParts_[i]);
+ label.innerText = partNames_[hiddenParts_[i]];
+ var newLine = document.createElement('br');
+ container.appendChild(checkbox);
+ container.appendChild(label);
+ container.appendChild(newLine);
+ }
+ }
+
+ var socket_ = this._socket;
+ vex.dialog.confirm({
+ unsafeMessage: container.outerHTML,
+ callback: function (value) {
+ if (value === true) {
+ var checkboxList = document.querySelectorAll('input[id^="hidden-part-checkbox"]');
+ for (var i = 0; i < checkboxList.length; i++) {
+ if (checkboxList[i].checked === true) {
+ var partName_ = partNames_[parseInt(checkboxList[i].id.replace('hidden-part-checkbox-', ''))];
+ var argument = {aTableName: {type: 'string', value: partName_}};
+ socket_.sendMessage('uno .uno:Show ' + JSON.stringify(argument));
+ }
+ }
+ }
+ }
+ });
}
},