[Libreoffice-commits] online.git: Branch 'distro/collabora/collabora-online-3' - 2 commits - loleaflet/dist
Tor Lillqvist
tml at collabora.com
Thu Apr 5 08:13:34 UTC 2018
loleaflet/dist/framed.html | 65 ++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 58 insertions(+), 7 deletions(-)
New commits:
commit 36540eb6f4de15b55ff2d00bb874413be92124e5
Author: Tor Lillqvist <tml at collabora.com>
Date: Fri Jan 19 21:17:15 2018 +0200
Add another demo for the Python script in iframe thing: Add a named range
(FIXME: Add input fields for the position, size, and name of the range
and pass them to the Python script.)
Change-Id: I56125e60f4266587297e2f06b00d666d442f270b
(cherry picked from commit fc9a46304451fdb1a4c07e0cb2a4566e19cf60e5)
(cherry picked from commit e87af96268272589b26b56246f5ddeeca8ef2534)
Reviewed-on: https://gerrit.libreoffice.org/52108
Reviewed-by: Jan Holesovsky <kendy at collabora.com>
Tested-by: Jan Holesovsky <kendy at collabora.com>
diff --git a/loleaflet/dist/framed.html b/loleaflet/dist/framed.html
index aa764dd3b..2a03acff9 100644
--- a/loleaflet/dist/framed.html
+++ b/loleaflet/dist/framed.html
@@ -81,6 +81,24 @@
'*');
}
+ function callAddNamedRange() {
+ window.frames[0].postMessage(JSON.stringify({'MessageId': 'Host_PostmessageReady'}), '*');
+ // FIXME: Add parameters for the position, size, and name of the range
+ window.frames[0].postMessage(JSON.stringify({'MessageId': 'CallPythonScript',
+ 'SendTime': Date.now(),
+ 'ScriptFile': 'NamedRanges.py',
+ 'Function': 'DefineNamedRange',
+ 'Values': {'sheet': {'type': 'string', 'value': 'Sheet1'},
+ 'x0': {'type': 'long', 'value': '2'},
+ 'y0': {'type': 'long', 'value': '3'},
+ 'width': {'type': 'long', 'value': '2'},
+ 'height': {'type': 'long', 'value': '2'},
+ 'name': {'type': 'string', 'value': 'N' + Date.now().toString()}
+ }
+ }),
+ '*');
+ }
+
function receiveMessage(event) {
var msg = JSON.parse(event.data);
console.log('==== framed.html receiveMessage: ' + event.data);
@@ -132,7 +150,12 @@
<form id="get-named-ranges-form">
Click <button onclick="callGetNamedRanges(); return false;">here</button> to get a list of named ranges in the document:
- <textarea name="result" value="" rows="10" "cols="80"></textarea>
+ <textarea name="result" value="" rows="10" cols="80"></textarea>
+ </form>
+
+ <form id="get-named-ranges-form">
+ <!-- FIXME: Add input fields for the position, size, and name of the range -->
+ Click <button onclick="callAddNamedRange(); return false;">here</button> to add a new named range.
</form>
<!-- The hostname and pathnames below are obviously specific to my
commit 9ad75e630432943798bb41ca8c97a010960b11c4
Author: Tor Lillqvist <tml at collabora.com>
Date: Fri Jan 19 18:02:13 2018 +0200
Add another demo for the iframe thing: Get list of named ranges in document
Change-Id: I3a8f4c05999a8c76df77686ecf55b6a49124c0cf
(cherry picked from commit 6eef0bd90bf9aab94dc23265c96f56b6db3b9e8f)
Reviewed-on: https://gerrit.libreoffice.org/52107
Reviewed-by: Jan Holesovsky <kendy at collabora.com>
Tested-by: Jan Holesovsky <kendy at collabora.com>
diff --git a/loleaflet/dist/framed.html b/loleaflet/dist/framed.html
index f45054d4f..aa764dd3b 100644
--- a/loleaflet/dist/framed.html
+++ b/loleaflet/dist/framed.html
@@ -50,7 +50,7 @@
<title>Online Editor</title>
<script>
- function callPythonScript() {
+ function callSetCellColor() {
window.frames[0].postMessage(JSON.stringify({'MessageId': 'Host_PostmessageReady'}), '*');
var x = document.forms[0].elements['x'].value;
var y = document.forms[0].elements['y'].value;
@@ -70,6 +70,17 @@
'*');
}
+ function callGetNamedRanges() {
+ window.frames[0].postMessage(JSON.stringify({'MessageId': 'Host_PostmessageReady'}), '*');
+ window.frames[0].postMessage(JSON.stringify({'MessageId': 'CallPythonScript',
+ 'SendTime': Date.now(),
+ 'ScriptFile': 'NamedRanges.py',
+ 'Function': 'GetNamedRanges',
+ 'Values': null
+ }),
+ '*');
+ }
+
function receiveMessage(event) {
var msg = JSON.parse(event.data);
console.log('==== framed.html receiveMessage: ' + event.data);
@@ -78,14 +89,26 @@
msg.MessageId === 'CallPythonScript-Result' &&
msg.hasOwnProperty('Values') &&
msg.Values.hasOwnProperty('commandName') &&
- msg.Values.commandName === 'vnd.sun.star.script:SetCellColor.py$SetCellColor?language=Python&location=share' &&
msg.Values.hasOwnProperty('success') &&
msg.Values.success == 'true' &&
msg.Values.hasOwnProperty('result') &&
msg.Values.result.hasOwnProperty('value')) {
- document.forms[0].elements['result'].readOnly = false;
- document.forms[0].elements['result'].value = msg.Values.result.value;
- document.forms[0].elements['result'].readOnly = true;
+ if (msg.Values.commandName === 'vnd.sun.star.script:SetCellColor.py$SetCellColor?language=Python&location=share') {
+ document.forms['cell-colour-form'].elements['result'].readOnly = false;
+ document.forms['cell-colour-form'].elements['result'].value = msg.Values.result.value;
+ document.forms['cell-colour-form'].elements['result'].readOnly = true;
+ }
+ else if (msg.Values.commandName === 'vnd.sun.star.script:NamedRanges.py$GetNamedRanges?language=Python&location=share') {
+ document.forms['get-named-ranges-form'].elements['result'].readOnly = false;
+ var index = 0;
+ var result = '';
+ while (msg.Values.result.value.hasOwnProperty(index.toString())) {
+ result += msg.Values.result.value[index.toString()].value + "\n";
+ index++;
+ }
+ document.forms['get-named-ranges-form'].elements['result'].value = result;
+ document.forms['get-named-ranges-form'].elements['result'].readOnly = true;
+ }
}
}
window.addEventListener("message", receiveMessage, false);
@@ -98,15 +121,20 @@
<body style="user-select: none;">
<p>
- <form id="frm1">
+ <form id="cell-colour-form">
Cell: (<input type="number" name="x" min="0" max="20" value="0">, <input type="number" name="y" min="0" max="20" value="0">),
colour: <input type="text" name="color" value="#008000">
<br>
- Click <button onclick="callPythonScript(); return false;">here</button>
+ Click <button onclick="callSetCellColor(); return false;">here</button>
to send message to iframe below. It returned <input type="text" name="result" value="" readonly>.
</form>
</p>
+ <form id="get-named-ranges-form">
+ Click <button onclick="callGetNamedRanges(); return false;">here</button> to get a list of named ranges in the document:
+ <textarea name="result" value="" rows="10" "cols="80"></textarea>
+ </form>
+
<!-- The hostname and pathnames below are obviously specific to my
personal environment and need to be changed appropriately. Also
the hex string needs to be changed of course, to the right one as
More information about the Libreoffice-commits
mailing list