[Libreoffice-commits] online.git: 6 commits - loleaflet/css loleaflet/src
Tamás Zolnai (via logerrit)
logerrit at kemper.freedesktop.org
Sat Oct 12 14:51:23 UTC 2019
loleaflet/css/toolbar.css | 1
loleaflet/src/control/Control.JSDialogBuilder.js | 14 -
loleaflet/src/control/Control.Menubar.js | 185 +++++++++++------------
loleaflet/src/control/Control.MobileWizard.js | 17 +-
4 files changed, 113 insertions(+), 104 deletions(-)
New commits:
commit 6b0b1c3d52f6cab6dbcd095ab8a74b2d4e3d1fa5
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Sat Oct 12 16:24:23 2019 +0200
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Sat Oct 12 16:44:58 2019 +0200
menu-to-mobile-wizard: Add sub menu arrow for every levels of menus
Change-Id: Ie4ea6dfba664a8d39d1e5d7f973426563447f330
diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js b/loleaflet/src/control/Control.JSDialogBuilder.js
index a33c9ce31..032c031a3 100644
--- a/loleaflet/src/control/Control.JSDialogBuilder.js
+++ b/loleaflet/src/control/Control.JSDialogBuilder.js
@@ -181,16 +181,12 @@ L.Control.JSDialogBuilder = L.Control.extend({
_explorableMenu: function(parentContainer, title, children, builder) {
var sectionTitle = L.DomUtil.create('div', 'ui-header level-' + builder._currentDepth + ' mobile-wizard ui-widget', parentContainer);
- if (builder._currentDepth === 0) {
- $(sectionTitle).css('justify-content', 'space-between');
+ $(sectionTitle).css('justify-content', 'space-between');
- var titleSpan = L.DomUtil.create('span', 'sub-menu-title', sectionTitle);
- titleSpan.innerHTML = title;
- var arrowSpan = L.DomUtil.create('span', 'sub-menu-arrow', sectionTitle);
- arrowSpan.innerHTML = '>';
- } else {
- sectionTitle.innerHTML = title;
- }
+ var titleSpan = L.DomUtil.create('span', 'sub-menu-title', sectionTitle);
+ titleSpan.innerHTML = title;
+ var arrowSpan = L.DomUtil.create('span', 'sub-menu-arrow', sectionTitle);
+ arrowSpan.innerHTML = '>';
var contentDiv = L.DomUtil.create('div', 'ui-content level-' + builder._currentDepth + ' mobile-wizard', parentContainer);
contentDiv.title = title;
commit b35920eb83c22f7dd45aa5dbebd8f794926f6d86
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Fri Oct 11 23:59:20 2019 +0200
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Sat Oct 12 16:44:58 2019 +0200
menu-to-mobile-wizard: Trigger mobile menu wizard by hamburger menu button
Change-Id: I731548722c6b294cd6e2c244ea7abbcad91fdd4a
diff --git a/loleaflet/src/control/Control.Menubar.js b/loleaflet/src/control/Control.Menubar.js
index d9ea20489..1d022c22c 100644
--- a/loleaflet/src/control/Control.Menubar.js
+++ b/loleaflet/src/control/Control.Menubar.js
@@ -640,6 +640,7 @@ L.Control.Menubar = L.Control.extend({
// SmartMenus mobile menu toggle button
$(function() {
var $mainMenuState = $('#main-menu-state');
+ $('#main-menu-state').checked = false;
if ($mainMenuState.length) {
// animate mobile menu
$mainMenuState.change(function() {
@@ -647,11 +648,20 @@ L.Control.Menubar = L.Control.extend({
var $nav = $menu.parent();
if (this.checked) {
self._map.fire('closesidebar');
- $nav.css({height: 'initial', bottom: '38px'});
- $menu.hide().slideDown(250, function() { $menu.css('display', ''); });
- } else {
+ if (!L.Browser.mobile) {
+ $nav.css({height: 'initial', bottom: '38px'});
+ $menu.hide().slideDown(250, function() { $menu.css('display', ''); });
+ } else {
+ window.mobileMenuWizard = true;
+ var menuData = self._map.menubar.generateFullMenuStructure();
+ self._map.fire('mobilewizard', menuData);
+ }
+ } else if (!L.Browser.mobile) {
$menu.show().slideUp(250, function() { $menu.css('display', ''); });
$nav.css({height:'', bottom: ''});
+ } else {
+ window.mobileMenuWizard = false;
+ self._map.fire('closemobilewizard');
}
});
// hide mobile menu beforeunload
diff --git a/loleaflet/src/control/Control.MobileWizard.js b/loleaflet/src/control/Control.MobileWizard.js
index a7c1c66d4..828dbafeb 100644
--- a/loleaflet/src/control/Control.MobileWizard.js
+++ b/loleaflet/src/control/Control.MobileWizard.js
@@ -104,6 +104,8 @@ L.Control.MobileWizard = L.Control.extend({
w2ui['actionbar'].click('mobile_wizard')
} else if (window.insertionMobileWizard === true) {
w2ui['actionbar'].click('insertion_mobile_wizard')
+ } else if (window.mobileMenuWizard === true) {
+ $('#main-menu-state').click()
}
} else {
this._currentDepth--;
commit 0ce410e16cee1e3ccbde1b1a030cb0b0677fe0cd
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Fri Oct 11 21:57:39 2019 +0200
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Sat Oct 12 16:44:58 2019 +0200
menu-to-mobile-wizard: Make the new menu wizard to take full heigh.
Up to the top toolbar.
Change-Id: I7f35e94bf491e7fd7032b42eefe47e6170cfecf3
diff --git a/loleaflet/css/toolbar.css b/loleaflet/css/toolbar.css
index 933e031cc..063a37887 100644
--- a/loleaflet/css/toolbar.css
+++ b/loleaflet/css/toolbar.css
@@ -996,7 +996,6 @@ tr.useritem > td > img {
}
#mobile-wizard {
- height: 45%;
width: 100%;
position: fixed;
bottom: 0px;
diff --git a/loleaflet/src/control/Control.Menubar.js b/loleaflet/src/control/Control.Menubar.js
index d6e96d5c9..d9ea20489 100644
--- a/loleaflet/src/control/Control.Menubar.js
+++ b/loleaflet/src/control/Control.Menubar.js
@@ -1178,9 +1178,9 @@ L.Control.Menubar = L.Control.extend({
generateFullMenuStructure: function() {
var topMenu = {
- type : 'mainmenu',
+ type : 'menubar',
enabled : true,
- text : '',
+ id : 'menubar',
children : []
};
var docType = this._map.getDocType();
diff --git a/loleaflet/src/control/Control.MobileWizard.js b/loleaflet/src/control/Control.MobileWizard.js
index 3d094ce75..a7c1c66d4 100644
--- a/loleaflet/src/control/Control.MobileWizard.js
+++ b/loleaflet/src/control/Control.MobileWizard.js
@@ -143,14 +143,23 @@ L.Control.MobileWizard = L.Control.extend({
this._hideKeyboard();
// We can change the sidebar as we want here
- if (!data.type || data.type !== 'mainmenu') { // sidebar indicator
+ if (data.id === '') { // sidebar indicator
this._modifySidebarLayout(data);
}
L.control.jsDialogBuilder({mobileWizard: this, map: this.map}).build(this.content.get(0), [data]);
- this._mainTitle = data.text ? data.text : '';
- this._setTitle(this._mainTitle);
+ if (data.id === 'insert') {
+ this._mainTitle = data.text ? data.text : '';
+ this._setTitle(this._mainTitle);
+ }
+
+ if (data.id === 'menubar') {
+ var newHeight = $(window).height() - $('#toolbar-wrapper').height() - 2;
+ $('#mobile-wizard').height(newHeight);
+ } else {
+ $('#mobile-wizard').height('45%');
+ }
}
},
commit a85a6354f5fec2d35597725bb536d5cd48acf879
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Fri Oct 11 21:19:59 2019 +0200
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Sat Oct 12 16:44:58 2019 +0200
menu-to-mobile-wizard: Hide menu items which are hidden conditionally.
Change-Id: I8a56af70c0836a0332f2beab9e2006310dcf17e0
diff --git a/loleaflet/src/control/Control.Menubar.js b/loleaflet/src/control/Control.Menubar.js
index 9c49da9cc..d6e96d5c9 100644
--- a/loleaflet/src/control/Control.Menubar.js
+++ b/loleaflet/src/control/Control.Menubar.js
@@ -994,72 +994,76 @@ L.Control.Menubar = L.Control.extend({
},
- _createMenu: function(menu) {
- var itemList = [];
- var docType = this._map.getDocType();
- for (var i in menu) {
- if (menu[i].id === 'about' && (L.DomUtil.get('about-dialog') === null)) {
- continue;
- }
- if (menu[i].id === 'signdocument' && (L.DomUtil.get('document-signing-bar') === null)) {
- continue;
- }
-
- if (this._map._permission === 'readonly' && menu[i].type === 'menu') {
- var found = false;
- for (var j in this.options.allowedReadonlyMenus) {
- if (this.options.allowedReadonlyMenus[j] === menu[i].id) {
- found = true;
- break;
- }
+ _checkItemVisibility: function(menuItem) {
+ if (menuItem.id === 'about' && (L.DomUtil.get('about-dialog') === null)) {
+ return false;
+ }
+ if (menuItem.id === 'signdocument' && (L.DomUtil.get('document-signing-bar') === null)) {
+ return false;
+ }
+ if (this._map._permission === 'readonly' && menuItem.type === 'menu') {
+ var found = false;
+ for (var j in this.options.allowedReadonlyMenus) {
+ if (this.options.allowedReadonlyMenus[j] === menuItem.id) {
+ found = true;
+ break;
}
- if (!found)
- continue;
}
+ if (!found)
+ return false;
+ }
+ if (this._map._permission === 'readonly' && menuItem.id === 'last-mod') {
+ return false;
+ }
- if (this._map._permission === 'readonly' && menu[i].id === 'last-mod') {
- continue;
+ if (menuItem.type === 'action') {
+ if ((menuItem.id === 'rev-history' && !revHistoryEnabled) ||
+ (menuItem.id === 'closedocument' && !closebutton)) {
+ return false;
}
+ }
- if (menu[i].type === 'action') {
- if ((menu[i].id === 'rev-history' && !revHistoryEnabled) ||
- (menu[i].id === 'closedocument' && !closebutton)) {
- continue;
- }
- }
+ if (menuItem.id === 'print' && this._map['wopi'].HidePrintOption)
+ return false;
- if (menu[i].id === 'print' && this._map['wopi'].HidePrintOption)
- continue;
+ if (menuItem.id === 'save' && this._map['wopi'].HideSaveOption)
+ return false;
- if (menu[i].id === 'save' && this._map['wopi'].HideSaveOption)
- continue;
+ if (menuItem.id === 'saveas' && this._map['wopi'].UserCanNotWriteRelative)
+ return false;
- if (menu[i].id === 'saveas' && this._map['wopi'].UserCanNotWriteRelative)
- continue;
+ if (menuItem.id === 'shareas' && !this._map['wopi'].EnableShare)
+ return false;
- if (menu[i].id === 'shareas' && !this._map['wopi'].EnableShare)
- continue;
+ if (menuItem.id === 'insertgraphicremote' && !this._map['wopi'].EnableInsertRemoteImage)
+ return false;
- if (menu[i].id === 'insertgraphicremote' && !this._map['wopi'].EnableInsertRemoteImage)
- continue;
+ if (menuItem.id && menuItem.id.startsWith('fullscreen-presentation') && this._map['wopi'].HideExportOption)
+ return false;
- if (menu[i].id && menu[i].id.startsWith('fullscreen-presentation') && this._map['wopi'].HideExportOption)
- continue;
+ if (menuItem.id === 'changesmenu' && this._map['wopi'].HideChangeTrackingControls)
+ return false;
- if (menu[i].id === 'changesmenu' && this._map['wopi'].HideChangeTrackingControls)
- continue;
+ // Keep track of all 'downloadas-' options and register them as
+ // export formats with docLayer which can then be publicly accessed unlike
+ // this Menubar control for which there doesn't seem to be any easy way
+ // to get access to.
+ if (menuItem.id && menuItem.id.startsWith('downloadas-')) {
+ var format = menuItem.id.substring('downloadas-'.length);
+ this._map._docLayer.registerExportFormat(menuItem.name, format);
- // Keep track of all 'downloadas-' options and register them as
- // export formats with docLayer which can then be publicly accessed unlike
- // this Menubar control for which there doesn't seem to be any easy way
- // to get access to.
- if (menu[i].id && menu[i].id.startsWith('downloadas-')) {
- var format = menu[i].id.substring('downloadas-'.length);
- this._map._docLayer.registerExportFormat(menu[i].name, format);
+ if (this._map['wopi'].HideExportOption)
+ return false;
+ }
+ return true
+ },
- if (this._map['wopi'].HideExportOption)
- continue;
- }
+ _createMenu: function(menu) {
+ var itemList = [];
+ var docType = this._map.getDocType();
+ for (var i in menu) {
+ if (this._checkItemVisibility(menu[i]) === false)
+ continue;
var liItem = L.DomUtil.create('li', '');
if (menu[i].id) {
@@ -1211,6 +1215,8 @@ L.Control.Menubar = L.Control.extend({
} else {
if (item.mobile === false)
return undefined;
+ if (item.mobileapp == true && !window.ThisIsAMobileApp)
+ return undefined;
if (!item.menu) {
itemType = 'menuitem';
} else {
@@ -1239,9 +1245,11 @@ L.Control.Menubar = L.Control.extend({
if (item.menu)
{
for (var i = 0; i < item.menu.length; i++) {
- var element = this._generateMenuStructure(item.menu[i], docType, false);
- if (element)
- menuStructure['children'].push(element);
+ if (this._checkItemVisibility(item.menu[i]) === true) {
+ var element = this._generateMenuStructure(item.menu[i], docType, false);
+ if (element)
+ menuStructure['children'].push(element);
+ }
}
}
return menuStructure;
commit 241ddc8d5c61435a29cfafb88efe39803c77de2d
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Fri Oct 11 20:49:50 2019 +0200
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Sat Oct 12 16:44:58 2019 +0200
menu-to-mobile-wizard: Create JSON for the whole menu
Change-Id: I93ca728be31f37714bf64665f1f07edb84c33fbd
diff --git a/loleaflet/src/control/Control.Menubar.js b/loleaflet/src/control/Control.Menubar.js
index d481c0f3b..9c49da9cc 100644
--- a/loleaflet/src/control/Control.Menubar.js
+++ b/loleaflet/src/control/Control.Menubar.js
@@ -1172,6 +1172,24 @@ L.Control.Menubar = L.Control.extend({
}
},
+ generateFullMenuStructure: function() {
+ var topMenu = {
+ type : 'mainmenu',
+ enabled : true,
+ text : '',
+ children : []
+ };
+ var docType = this._map.getDocType();
+ var items = this.options[docType];
+
+ for (var i = 0; i < items.length; i++) {
+ if (items[i].mobile !== false) {
+ topMenu.children.push(this._generateMenuStructure(items[i], docType, false));
+ }
+ }
+ return topMenu;
+ },
+
generateMenuStructureFor: function(targetId) {
var docType = this._map.getDocType();
var items = this.options[docType];
diff --git a/loleaflet/src/control/Control.MobileWizard.js b/loleaflet/src/control/Control.MobileWizard.js
index b3600cdc6..3d094ce75 100644
--- a/loleaflet/src/control/Control.MobileWizard.js
+++ b/loleaflet/src/control/Control.MobileWizard.js
@@ -143,7 +143,7 @@ L.Control.MobileWizard = L.Control.extend({
this._hideKeyboard();
// We can change the sidebar as we want here
- if (!data.text) { // sidebar indicator
+ if (!data.type || data.type !== 'mainmenu') { // sidebar indicator
this._modifySidebarLayout(data);
}
commit e34e5d2171e64ffd0c25af5bcde35305262dd0d8
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Fri Oct 11 17:35:54 2019 +0200
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Sat Oct 12 16:44:58 2019 +0200
mobile: There is no 'mobile-wizard' menu item any more.
Change-Id: I781d37a0d75d39f63fce1cbe572278e8a30895b3
diff --git a/loleaflet/src/control/Control.Menubar.js b/loleaflet/src/control/Control.Menubar.js
index c927e0576..d481c0f3b 100644
--- a/loleaflet/src/control/Control.Menubar.js
+++ b/loleaflet/src/control/Control.Menubar.js
@@ -690,22 +690,6 @@ L.Control.Menubar = L.Control.extend({
},
_beforeShow: function(e, menu) {
- var findUnoItemInMenu = function(items, unocommand) {
- var returnItem = null;
- $(items).each(function() {
- var aItem = this;
- var type = $(aItem).data('type');
- if (type === 'unocommand') {
- var unoCommand = $(aItem).data('uno');
- if (unoCommand.startsWith(unocommand)) {
- returnItem = aItem;
- }
- }
- });
-
- return returnItem;
- };
-
var self = e.data.self;
var items = $(menu).children().children('a').not('.has-submenu');
$(items).each(function() {
@@ -795,18 +779,6 @@ L.Control.Menubar = L.Control.extend({
$(aItem).removeClass('disabled');
$(aItem).removeClass(constChecked);
}
- } else if (id === 'mobile-wizard') {
- if (window.mobileWizard === true)
- $(aItem).addClass(constChecked);
- else
- $(aItem).removeClass(constChecked);
-
- var sidebarItem = findUnoItemInMenu(items, '.uno:Sidebar');
-
- if (window.mobileWizard === true)
- $(sidebarItem).addClass('disabled');
- else
- $(sidebarItem).removeClass('disabled');
} else {
$(aItem).removeClass('disabled');
}
@@ -926,11 +898,6 @@ L.Control.Menubar = L.Control.extend({
}
} else if (id === 'repair') {
this._map._socket.sendMessage('commandvalues command=.uno:DocumentRepair');
- } else if (id === 'mobile-wizard') {
- window.mobileWizard = window.mobileWizard ? false : true;
- this._map.sendUnoCommand('.uno:Sidebar');
- if (!window.mobileWizard)
- this._map.fire('closemobilewizard');
} else if (!window.ThisIsAMobileApp && id === 'warn-copy-paste') {
var self = this;
vex.dialog.alert({
More information about the Libreoffice-commits
mailing list