loleaflet/src/control/Toolbar.js | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-)
New commits: commit fca73e16b92e7b2932c6ae98566f548e52165f48 Author: Muhammet Kara <muhammet.k...@collabora.com> AuthorDate: Sat Apr 18 00:36:08 2020 +0300 Commit: Muhammet Kara <muhammet.k...@collabora.com> CommitDate: Tue Apr 21 00:23:32 2020 +0200 Welcome: Add the dismiss/accept button Now that we have the value of window.enableWelcomeMessageButton coming from the loolwsd.xml, we can optionally enable/disable the dismiss/accept button. Using vex.dialog.open instead of vex.open to be able to have the 'buttons' option. Because the vex-dialog-message class displays the message all-bold (very ugly) on mobile, we change it to vex-content, just after opening the dialog. We also limit the max height of the dialog to avoid double scroll-bars. Change-Id: I0c4d1cba303da49d23342a74538c7f340c4bcf1b Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92465 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Muhammet Kara <muhammet.k...@collabora.com> diff --git a/loleaflet/src/control/Toolbar.js b/loleaflet/src/control/Toolbar.js index 8def69a6b..61d63eed3 100644 --- a/loleaflet/src/control/Toolbar.js +++ b/loleaflet/src/control/Toolbar.js @@ -348,6 +348,8 @@ L.Map.include({ _showWelcomeDialogVex: function(data) { var w; var iw = window.innerWidth; + var hasDismissBtn = window.enableWelcomeMessageButton; + if (iw < 768) { w = iw - 30; } @@ -358,21 +360,41 @@ L.Map.include({ w = iw / 5 + 590; } + if (hasDismissBtn) { + var ih = window.innerHeight; + var h = ih / 2; + if (iw < 768) { + h = ih - 170; // Hopefully enough padding to avoid extra scroll-bar on mobile, + } + var containerDiv = '<div style="max-height:' + h + 'px;overflow-y:auto;">'; + containerDiv += data; + containerDiv += '</div>'; + data = containerDiv; + } + // show the dialog var map = this; - vex.open({ - unsafeContent: data, - showCloseButton: true, + vex.dialog.open({ + unsafeMessage: data, + showCloseButton: !hasDismissBtn, escapeButtonCloses: false, overlayClosesOnClick: false, closeAllOnPopState: false, - buttons: {}, + focusFirstInput: false, // Needed to avoid auto-scroll to the bottom + buttons: !hasDismissBtn ? {} : [ + $.extend({}, vex.dialog.buttons.YES, { text: _('I understand the risks') }), + ], afterOpen: function() { var $vexContent = $(this.contentEl); this.contentEl.style.width = w + 'px'; map.enable(false); $vexContent.attr('tabindex', -1); + // Work-around to avoid the ugly all-bold dialog message on mobile + if (window.mode.isMobile()) { + var dlgMsg = document.getElementsByClassName('vex-dialog-message')[0]; + dlgMsg.setAttribute('class', 'vex-content'); + } $vexContent.focus(); // workaround for https://github.com/HubSpot/vex/issues/43 $('.vex-overlay').css({ 'pointer-events': 'none'}); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits