loleaflet/html/framed.html | 2 +- loleaflet/js/toolbar.js | 6 +++--- loleaflet/reference.html | 24 ++++++++++++++++++++++++ loleaflet/src/map/handler/Map.WOPI.js | 23 +++++++++++++++++++++++ wsd/FileServer.cpp | 2 ++ 5 files changed, 53 insertions(+), 4 deletions(-)
New commits: commit c0d0ad736839260667c98aa0cf08feb5630e0b87 Author: Samuel Mehrbrodt <[email protected]> AuthorDate: Thu Nov 29 09:32:56 2018 +0100 Commit: Samuel Mehrbrodt <[email protected]> CommitDate: Thu Nov 29 09:34:37 2018 +0100 Add postMessage methods to show/hide toolbar buttons Change-Id: Ib5ecde5a53aa0aae2346e360423e72025edade3a diff --git a/loleaflet/reference.html b/loleaflet/reference.html index 75433f9a2..817789373 100644 --- a/loleaflet/reference.html +++ b/loleaflet/reference.html @@ -3074,6 +3074,30 @@ WOPI host to editor is used as text of the menubar item. </td> </tr> + <tr> + <td><code><b>Hide_Button</b></code></td> + <td> + <code><nobr>id: <string></nobr></code> + </td> + <td> + Hides a button from the toolbar.<br/> + <code>id</code> is the button ID as defined in the + <a href="https://opengrok.libreoffice.org/search?project=online&q=&defs=createToolbar">createToolbar</a> + function in <a href="https://opengrok.libreoffice.org/xref/online/loleaflet/js/toolbar.js">loleaflet/js/toolbar.js</a>. + </td> + </tr> + <tr> + <td><code><b>Show_Button</b></code></td> + <td> + <code><nobr>id: <string></nobr></code> + </td> + <td> + Hides a button from the toolbar.<br/> + <code>id</code> is the button ID as defined in the + <a href="https://opengrok.libreoffice.org/search?project=online&q=&defs=createToolbar">createToolbar</a> + function in <a href="https://opengrok.libreoffice.org/xref/online/loleaflet/js/toolbar.js">loleaflet/js/toolbar.js</a>. + </td> + </tr> </table> Editor to WOPI host <table data-id='postmessage-misc-to-host'> diff --git a/loleaflet/src/map/handler/Map.WOPI.js b/loleaflet/src/map/handler/Map.WOPI.js index 18e86c7c6..b9644fde7 100644 --- a/loleaflet/src/map/handler/Map.WOPI.js +++ b/loleaflet/src/map/handler/Map.WOPI.js @@ -183,6 +183,29 @@ L.Map.WOPI = L.Handler.extend({ } } } + if (msg.MessageId === 'Show_Button' || msg.MessageId === 'Hide_Button') { + if (!msg.Values) { + console.error('Property "Values" not set'); + return; + } + if (!msg.Values.id) { + console.error('Property "Values.id" not set'); + return; + } + if (this._map._permission !== 'edit') { + console.log('No toolbar in readonly mode - ignoring Remove_Button request.'); + return; + } + if (!w2ui['toolbar-up'].get(msg.Values.id)) { + console.error('Toolbar button with id "' + msg.Values.id + '" not found.'); + return; + } + if (msg.MessageId === 'Show_Button') { + w2ui['toolbar-up'].show(msg.Values.id); + } else { + w2ui['toolbar-up'].hide(msg.Values.id); + } + } else if (msg.MessageId === 'Set_Settings') { if (msg.Values) { var alwaysActive = msg.Values.AlwaysActive; commit 1d9a9e834abb612bbf7b6828802db64e53036723 Author: Samuel Mehrbrodt <[email protected]> AuthorDate: Thu Nov 29 09:16:47 2018 +0100 Commit: Samuel Mehrbrodt <[email protected]> CommitDate: Thu Nov 29 09:34:37 2018 +0100 Always allow frame embedding in debug mode Change-Id: I81c434cfd75c0732e8b6aaaba1392059b0637182 diff --git a/wsd/FileServer.cpp b/wsd/FileServer.cpp index 87f90e556..318a9ff98 100644 --- a/wsd/FileServer.cpp +++ b/wsd/FileServer.cpp @@ -681,6 +681,7 @@ void FileServerRequestHandler::preprocessFile(const HTTPRequest& request, Poco:: << "font-src 'self' data:; " << "object-src blob:; "; +#if !ENABLE_DEBUG // always allow iframe embedding in debug mode // Frame ancestors: Allow loolwsd host, wopi host and anything configured. std::string configFrameAncestor = config.getString("net.frame_ancestors", ""); std::string frameAncestors = configFrameAncestor; @@ -722,6 +723,7 @@ void FileServerRequestHandler::preprocessFile(const HTTPRequest& request, Poco:: cspOss << "\r\n"; // Append CSP to response headers too oss << cspOss.str(); +#endif // Setup HTTP Public key pinning if ((LOOLWSD::isSSLEnabled() || LOOLWSD::isSSLTermination()) && config.getBool("ssl.hpkp[@enable]", false)) commit 40f80ea149189f569d8f07d8b9c56205331f2344 Author: Samuel Mehrbrodt <[email protected]> AuthorDate: Thu Nov 29 09:15:39 2018 +0100 Commit: Samuel Mehrbrodt <[email protected]> CommitDate: Thu Nov 29 09:34:37 2018 +0100 Change url to work in any version Change-Id: Ie11c91d36d39b3a3ecc8eda01f556d25d3ef847a diff --git a/loleaflet/html/framed.html b/loleaflet/html/framed.html index 8b4f324c6..c3f46f39b 100644 --- a/loleaflet/html/framed.html +++ b/loleaflet/html/framed.html @@ -204,6 +204,6 @@ the hex string needs to be changed of course, to the right one as shown by 'make run'. --> - <iframe src="http://localhost:9980/loleaflet/b766728b5/loleaflet.html?file_path=file:///libreoffice/online/test/data/hello-world.ods&NotWOPIButIframe=true" height="1000" width="1000"></iframe> + <iframe src="http://localhost:9980/loleaflet/dist/loleaflet.html?file_path=file:///libreoffice/online/test/data/hello-world.ods&NotWOPIButIframe=true" height="1000" width="1000"></iframe> </body> </html> commit 2e7f67f33b44ccf53096351299ff9fc043f924ef Author: Samuel Mehrbrodt <[email protected]> AuthorDate: Thu Nov 29 08:40:15 2018 +0100 Commit: Samuel Mehrbrodt <[email protected]> CommitDate: Thu Nov 29 09:34:37 2018 +0100 Show "Insert footnote" toolbar button only in Writer Change-Id: I542a43b27f8d3beddad4c932a79812b404da63b8 diff --git a/loleaflet/js/toolbar.js b/loleaflet/js/toolbar.js index eb4be1346..5802f42fa 100644 --- a/loleaflet/js/toolbar.js +++ b/loleaflet/js/toolbar.js @@ -1402,7 +1402,7 @@ function onDocLayerInit() { switch (docType) { case 'spreadsheet': - toolbarUp.remove('inserttable', 'styles', 'justifypara', 'defaultbullet', 'defaultnumbering', 'break-numbering'); + toolbarUp.remove('inserttable', 'styles', 'justifypara', 'defaultbullet', 'defaultnumbering', 'break-numbering', 'insertfootnote'); if (!_useSimpleUI()) { statusbar.insert('left', [ {type: 'break', id:'break1'}, @@ -1474,7 +1474,7 @@ function onDocLayerInit() { if (!map['wopi'].HideExportOption) { presentationToolbar.show('presentation', 'presentationbreak'); } - toolbarUp.remove('insertannotation', 'wraptextseparator', 'wraptext', 'togglemergecells', 'break-toggle', 'numberformatcurrency', 'numberformatpercent', 'numberformatdecimal', 'numberformatdate', 'numberformatincdecimals', 'numberformatdecdecimals', 'break-number', 'sortascending', 'sortdescending', 'setborderstyle', 'conditionalformaticonset'); + toolbarUp.remove('insertannotation', 'wraptextseparator', 'wraptext', 'togglemergecells', 'break-toggle', 'numberformatcurrency', 'numberformatpercent', 'numberformatdecimal', 'numberformatdate', 'numberformatincdecimals', 'numberformatdecdecimals', 'break-number', 'sortascending', 'sortdescending', 'setborderstyle', 'conditionalformaticonset', 'insertfootnote'); if (!_useSimpleUI()) { statusbar.insert('left', [ {type: 'break', id: 'break1'}, @@ -1496,7 +1496,7 @@ function onDocLayerInit() { break; case 'drawing': - toolbarUp.remove('insertannotation', 'wraptextseparator', 'wraptext', 'togglemergecells', 'break-toggle', 'numberformatcurrency', 'numberformatpercent', 'numberformatdecimal', 'numberformatdate', 'numberformatincdecimals', 'numberformatdecdecimals', 'break-number', 'sortascending', 'sortdescending', 'setborderstyle', 'conditionalformaticonset'); + toolbarUp.remove('insertannotation', 'wraptextseparator', 'wraptext', 'togglemergecells', 'break-toggle', 'numberformatcurrency', 'numberformatpercent', 'numberformatdecimal', 'numberformatdate', 'numberformatincdecimals', 'numberformatdecdecimals', 'break-number', 'sortascending', 'sortdescending', 'setborderstyle', 'conditionalformaticonset', 'insertfootnote'); // Remove irrelevant toolbars $('#formulabar').hide(); _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
