[Libreoffice-commits] online.git: 2 commits - loleaflet/README loleaflet/reference.html loleaflet/src loolwsd/protocol.txt
Jan Holesovsky
kendy at collabora.com
Wed Nov 4 04:36:11 PST 2015
loleaflet/README | 3 +++
loleaflet/reference.html | 22 ++++++++++++++++++++++
loleaflet/src/layer/tile/TileLayer.js | 16 ++++++++++++++++
loolwsd/protocol.txt | 4 ++++
4 files changed, 45 insertions(+)
New commits:
commit 7a88c9b959b1a477b0cef932e282cdcb89ff8ae0
Author: Jan Holesovsky <kendy at collabora.com>
Date: Wed Nov 4 13:33:11 2015 +0100
loolwsd: Document unocommandresult in the protocol.
diff --git a/loolwsd/protocol.txt b/loolwsd/protocol.txt
index 085813a..21de54c 100644
--- a/loolwsd/protocol.txt
+++ b/loolwsd/protocol.txt
@@ -174,6 +174,10 @@ Websocket connections to the clients) and a child process (handling
one document through LibreOfficeKit) uses the same protocol, with
the following additions and changes:
+unocommandresult: <payload>
+
+Callback that an UNO command has finished.
+See LOK_CALLBACK_UNO_COMMAND_RESULT for details.
child -> parent
===============
commit b068d9622c7c6294edbee7109dfef47a11a0866a
Author: Jan Holesovsky <kendy at collabora.com>
Date: Wed Nov 4 13:27:23 2015 +0100
loleaflet: Add 'commandresult' event.
It's the loleaflet equivalent of the LOK_CALLBACK_UNO_COMMAND_RESULT callback.
diff --git a/loleaflet/README b/loleaflet/README
index 57f09c8..63fdda6 100644
--- a/loleaflet/README
+++ b/loleaflet/README
@@ -96,6 +96,9 @@ Buttons like Bold, Italic, Strike through etc.
+ e.commandName == '.uno:' + 'Bold' | 'Italic' | 'StyleApply' | 'CharFontName' | 'FontHeight' etc.
+ e.state = 'true' | 'false'
+ e.state = fontName | fontSize | styleName
+ map.on('commandresult', function (e) {}) where:
+ + e.commandName == '.uno:' + 'Bold' | 'Italic' | 'StyleApply' | 'CharFontName' | 'FontHeight' etc.
+ + e.success = true | false | undefined
Parts (like slides in presentation, or sheets in spreadsheets):
- API:
diff --git a/loleaflet/reference.html b/loleaflet/reference.html
index 4f13e94..5e904cb 100644
--- a/loleaflet/reference.html
+++ b/loleaflet/reference.html
@@ -1780,6 +1780,28 @@ var map = L.map('map', {
</tr>
</table>
+<h3 id="commandresult-event">CommandResult</h3>
+
+<table data-id='events'>
+ <tr>
+ <th class="width100">property</th>
+ <th>type</th>
+ <th>description</th>
+ </tr>
+ <tr>
+ <td><code><b>commandName</b></code></td>
+ <td><code><a href="#commandstatechanged-values">CommandStateChangedValues</a></code></td>
+ <td>UNO command.</td>
+ </tr>
+ <tr>
+ <td><code><b>success</b></code></td>
+ <td><code>Boolean or undefined</code></td>
+ <td>Returns the status code of the command execution, or
+ undefined if the result is not provided, and the command
+ only indicates that the operation has finished.</td>
+ </tr>
+</table>
+
<h3 id="updateparts-event">UpdatePartsEvent</h3>
<table data-id='events'>
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index aa0a88b..6dc4d1f 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -257,6 +257,9 @@ L.TileLayer = L.GridLayer.extend({
else if (textMsg.startsWith('tile:')) {
this._onTileMsg(textMsg, img);
}
+ else if (textMsg.startsWith('unocommandresult:')) {
+ this._onUnoCommandResultMsg(textMsg);
+ }
},
_onCommandValuesMsg: function (textMsg) {
@@ -410,6 +413,19 @@ L.TileLayer = L.GridLayer.extend({
this._map.fire('commandstatechanged', {commandName : commandName, state : state});
},
+ _onUnoCommandResultMsg: function (textMsg) {
+ textMsg = textMsg.substring(18);
+ var obj = JSON.parse(textMsg);
+ var commandName = obj.commandName;
+ var success = undefined;
+ if (obj.success === 'true')
+ success = true;
+ else if (obj.success === 'false')
+ success = false;
+ // TODO when implemented in the LOK, add also obj.result
+ this._map.fire('commandresult', {commandName: commandName, success: success});
+ },
+
_onStatusIndicatorMsg: function (textMsg) {
if (textMsg.startsWith('statusindicatorstart:')) {
this._map.fire('statusindicator', {statusType : 'start'});
More information about the Libreoffice-commits
mailing list