mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-02-14 17:30:11 +01:00
* Mobile theme: fix mobile theme sidebar not showing notifications
This commit is contained in:
parent
e81add6b01
commit
4603aeb693
@ -1164,5 +1164,39 @@ var fw_base = (function(){ "use strict"; return Class.extend(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a notification message for topmenu info item
|
||||||
|
*
|
||||||
|
* @param {string} _id id of topmenu info item with its prefix
|
||||||
|
* @param {string} _message message that should be displayed
|
||||||
|
* @param {string} _tooltip hint text as tooltip
|
||||||
|
*/
|
||||||
|
topmenu_info_notify: function(_id, _switch, _message, _tooltip) {
|
||||||
|
var $items = jQuery('#egw_fw_topmenu_info_items').children();
|
||||||
|
var prefix = "topmenu_info_";
|
||||||
|
|
||||||
|
$items.each(function(i,item){
|
||||||
|
if (item.id == prefix+_id || item.id == _id)
|
||||||
|
{
|
||||||
|
var $notify = jQuery(item).find('.egw_fw_topmenu_info_notify');
|
||||||
|
if (_switch)
|
||||||
|
{
|
||||||
|
if ($notify.length == 0)
|
||||||
|
{
|
||||||
|
$notify = jQuery(document.createElement('div'))
|
||||||
|
.addClass('egw_fw_topmenu_info_notify')
|
||||||
|
.prop('title', _tooltip)
|
||||||
|
.appendTo(item);
|
||||||
|
}
|
||||||
|
$notify.prop('title', _tooltip).text(_message);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$notify.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});}).call(this);
|
});}).call(this);
|
||||||
|
@ -1121,52 +1121,70 @@ abstract class Framework extends Framework\Extra
|
|||||||
*/
|
*/
|
||||||
function topmenu(array $vars,array $apps)
|
function topmenu(array $vars,array $apps)
|
||||||
{
|
{
|
||||||
$this->_add_topmenu_info_item($this->_user_avatar_menu(), 'user_avatar');
|
// array of topmenu info items (orders of the items matter)
|
||||||
|
$topmenu_info_items = [
|
||||||
|
'user_avatar' => $this->_user_avatar_menu(),
|
||||||
|
'logout' => (Header\UserAgent::mobile() || $GLOBALS['egw_info']['user']['preferences']['common']['theme'] == 'fw_mobile') ? self::_logout_menu() : null,
|
||||||
|
'update' => ($update = Framework\Updates::notification()) ? $update : null,
|
||||||
|
'notifications' => ($GLOBALS['egw_info']['user']['apps']['notifications']) ? self::_get_notification_bell() : null,
|
||||||
|
'quick_add' => $vars['quick_add'],
|
||||||
|
'print_title' => $this->_print_menu()
|
||||||
|
];
|
||||||
|
|
||||||
|
// array of topmenu items (orders of the items matter)
|
||||||
|
$topmenu_items = [
|
||||||
|
0 => (is_array(($current_user = $this->_current_users()))) ? $current_user : null,
|
||||||
|
];
|
||||||
|
|
||||||
|
// Home should be at the top before preferences
|
||||||
if($GLOBALS['egw_info']['user']['apps']['home'] && isset($apps['home']))
|
if($GLOBALS['egw_info']['user']['apps']['home'] && isset($apps['home']))
|
||||||
{
|
{
|
||||||
$this->_add_topmenu_item($apps['home']);
|
$this->_add_topmenu_item($apps['home']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// array of topmenu preferences items (orders of the items matter)
|
||||||
|
$topmenu_preferences = ['prefs', 'acl', 'cats', 'security'];
|
||||||
|
|
||||||
|
// set topmenu preferences items
|
||||||
if($GLOBALS['egw_info']['user']['apps']['preferences'])
|
if($GLOBALS['egw_info']['user']['apps']['preferences'])
|
||||||
{
|
{
|
||||||
$this->add_preferences_topmenu('prefs');
|
foreach ($topmenu_preferences as $prefs)
|
||||||
$this->add_preferences_topmenu('acl');
|
{
|
||||||
$this->add_preferences_topmenu('cats');
|
$this->add_preferences_topmenu($prefs);
|
||||||
$this->add_preferences_topmenu('security');
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* disable help until content is reworked
|
// call topmenu info items hooks
|
||||||
if($GLOBALS['egw_info']['user']['apps']['manual'] && isset($apps['manual']))
|
|
||||||
{
|
|
||||||
$this->_add_topmenu_item(array_merge($apps['manual'],array('title' => lang('Help'))));
|
|
||||||
}*/
|
|
||||||
|
|
||||||
Hooks::process('topmenu_info',array(),true);
|
Hooks::process('topmenu_info',array(),true);
|
||||||
|
|
||||||
if (($update = Framework\Updates::notification()))
|
|
||||||
{
|
|
||||||
$this->_add_topmenu_info_item($update, 'update');
|
|
||||||
}
|
|
||||||
if($GLOBALS['egw_info']['user']['apps']['notifications'])
|
|
||||||
{
|
|
||||||
$this->_add_topmenu_info_item(self::_get_notification_bell(), 'notifications');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_array(($current_user = $this->_current_users()))) $this->_add_topmenu_item($current_user);
|
|
||||||
$this->_add_topmenu_info_item($vars['quick_add'], 'quick_add');
|
|
||||||
$this->_add_topmenu_info_item($this->_print_menu(), 'print_title');
|
|
||||||
// Add extra items added by hooks
|
// Add extra items added by hooks
|
||||||
foreach(self::$top_menu_extra as $extra_item) {
|
foreach(self::$top_menu_extra as $extra_item) {
|
||||||
if ($extra_item['name'] == 'search')
|
if ($extra_item['name'] == 'search')
|
||||||
{
|
{
|
||||||
$this->_add_topmenu_info_item('<a href="'.$extra_item['url'].'" title="'.$extra_item['title'].'"></a>', 'search');
|
$topmenu_info_items['search'] = '<a href="'.$extra_item['url'].'" title="'.$extra_item['title'].'"></a>';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->_add_topmenu_item($extra_item);
|
array_push($topmenu_items, $extra_item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->_add_topmenu_item($apps['logout']);
|
// push logout as the last item in topmenu items list
|
||||||
|
array_push($topmenu_items, $apps['logout']);
|
||||||
|
|
||||||
|
// set topmenu info items
|
||||||
|
foreach ($topmenu_info_items as $id => $content)
|
||||||
|
{
|
||||||
|
if (!$content || (in_array($id, ['search', 'quick_add', 'update']) && (Header\UserAgent::mobile() || $GLOBALS['egw_info']['user']['preferences']['common']['theme'] == 'fw_mobile')))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$this->_add_topmenu_info_item($content, $id);
|
||||||
|
}
|
||||||
|
// set topmenu items
|
||||||
|
foreach ($topmenu_items as $item)
|
||||||
|
{
|
||||||
|
if ($item) $this->_add_topmenu_item($item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -6982,6 +6982,8 @@ span.egw_tutorial_title {
|
|||||||
body .sidebar-toggle #egw_fw_top_toolbar div#egw_fw_menu {
|
body .sidebar-toggle #egw_fw_top_toolbar div#egw_fw_menu {
|
||||||
background-image: url(../images/topmenu_items/mobile/menu.png);
|
background-image: url(../images/topmenu_items/mobile/menu.png);
|
||||||
}
|
}
|
||||||
|
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_topmenu_info_items,
|
||||||
|
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_topmenu,
|
||||||
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_userinfo,
|
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_userinfo,
|
||||||
body .sidebar-toggle #egw_fw_top_toolbar .egw_fw_logout,
|
body .sidebar-toggle #egw_fw_top_toolbar .egw_fw_logout,
|
||||||
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_appsToggle {
|
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_appsToggle {
|
||||||
|
@ -680,7 +680,7 @@
|
|||||||
.sidebar-toggle{
|
.sidebar-toggle{
|
||||||
#egw_fw_top_toolbar {
|
#egw_fw_top_toolbar {
|
||||||
div#egw_fw_menu {background-image: url(../images/topmenu_items/mobile/menu.png);}
|
div#egw_fw_menu {background-image: url(../images/topmenu_items/mobile/menu.png);}
|
||||||
#egw_fw_userinfo, .egw_fw_logout, #egw_fw_appsToggle {display: none !important;}
|
#egw_fw_topmenu_info_items, #egw_fw_topmenu, #egw_fw_userinfo, .egw_fw_logout, #egw_fw_appsToggle {display: none !important;}
|
||||||
}
|
}
|
||||||
#egw_fw_sidebar{
|
#egw_fw_sidebar{
|
||||||
top: 70px;
|
top: 70px;
|
||||||
|
File diff suppressed because one or more lines are too long
@ -396,12 +396,7 @@
|
|||||||
{
|
{
|
||||||
this._super.apply(this,arguments);
|
this._super.apply(this,arguments);
|
||||||
this.setSidebarState(this.activeApp.preferences.toggleMenu);
|
this.setSidebarState(this.activeApp.preferences.toggleMenu);
|
||||||
var self = this;
|
var $avatar = jQuery('#topmenu_info_user_avatar');
|
||||||
var $user = jQuery('#egw_fw_userinfo .user');
|
|
||||||
|
|
||||||
var $avatar = jQuery('#egw_fw_userinfo .avatar img');
|
|
||||||
$avatar.attr('src', egw.webserverUrl + '/api/avatar.php?account_id=' + egw.user('account_id'));
|
|
||||||
|
|
||||||
var $sidebar = jQuery('#egw_fw_sidebar');
|
var $sidebar = jQuery('#egw_fw_sidebar');
|
||||||
$sidebar.removeClass('avatarSubmenu');
|
$sidebar.removeClass('avatarSubmenu');
|
||||||
this.updateAppsToggle();
|
this.updateAppsToggle();
|
||||||
@ -409,8 +404,6 @@
|
|||||||
$avatar.off().on('click',function(){
|
$avatar.off().on('click',function(){
|
||||||
$sidebar.toggleClass('avatarSubmenu',!$sidebar.hasClass('avatarSubmenu'));
|
$sidebar.toggleClass('avatarSubmenu',!$sidebar.hasClass('avatarSubmenu'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -462,13 +455,13 @@
|
|||||||
if (state === 'on')
|
if (state === 'on')
|
||||||
{
|
{
|
||||||
jQuery('.egw_fw_sidebar_dropMask').remove();
|
jQuery('.egw_fw_sidebar_dropMask').remove();
|
||||||
$toggleMenu.addClass('sidebar-toggle');
|
$toggleMenu.addClass('sidebar-toggle egw_fw_sidebar_toggleOn');
|
||||||
this.toggleMenuResizeHandler(collapseSize);
|
this.toggleMenuResizeHandler(collapseSize);
|
||||||
this.setToggleMenuState('off');
|
this.setToggleMenuState('off');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$toggleMenu.removeClass('sidebar-toggle');
|
$toggleMenu.removeClass('sidebar-toggle egw_fw_sidebar_toggleOn');
|
||||||
this.toggleMenuResizeHandler(expandSize);
|
this.toggleMenuResizeHandler(expandSize);
|
||||||
this.setToggleMenuState('on');
|
this.setToggleMenuState('on');
|
||||||
if (screen.width<700)
|
if (screen.width<700)
|
||||||
@ -1058,7 +1051,7 @@
|
|||||||
|
|
||||||
jQuery(document).ready(function() {
|
jQuery(document).ready(function() {
|
||||||
window.framework = new fw_mobile("egw_fw_sidemenu", "egw_fw_tabs",
|
window.framework = new fw_mobile("egw_fw_sidemenu", "egw_fw_tabs",
|
||||||
window.egw_webserverUrl, egw_setSideboxSize, 300, 'egw_fw_basecontainer', 'egw_fw_menu');
|
window.egw_webserverUrl, egw_setSideboxSize, 300, 'egw_fw_basecontainer', 'egw_fw_toggler');
|
||||||
window.callManual = window.framework.callManual;
|
window.callManual = window.framework.callManual;
|
||||||
jQuery('#egw_fw_print').click(function(){window.framework.print();});
|
jQuery('#egw_fw_print').click(function(){window.framework.print();});
|
||||||
jQuery('#topmenu_logout').click(function(){ window.framework.redirect(this.getAttribute('href')); return false;});
|
jQuery('#topmenu_logout').click(function(){ window.framework.redirect(this.getAttribute('href')); return false;});
|
||||||
|
@ -6993,6 +6993,8 @@ span.egw_tutorial_title {
|
|||||||
body .sidebar-toggle #egw_fw_top_toolbar div#egw_fw_menu {
|
body .sidebar-toggle #egw_fw_top_toolbar div#egw_fw_menu {
|
||||||
background-image: url(../images/topmenu_items/mobile/menu.png);
|
background-image: url(../images/topmenu_items/mobile/menu.png);
|
||||||
}
|
}
|
||||||
|
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_topmenu_info_items,
|
||||||
|
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_topmenu,
|
||||||
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_userinfo,
|
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_userinfo,
|
||||||
body .sidebar-toggle #egw_fw_top_toolbar .egw_fw_logout,
|
body .sidebar-toggle #egw_fw_top_toolbar .egw_fw_logout,
|
||||||
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_appsToggle {
|
body .sidebar-toggle #egw_fw_top_toolbar #egw_fw_appsToggle {
|
||||||
@ -7620,7 +7622,8 @@ form[id^="ranking-"] .dialogHeadbar {
|
|||||||
left: 10px;
|
left: 10px;
|
||||||
float: none;
|
float: none;
|
||||||
}
|
}
|
||||||
body #egw_fw_basecontainer.sidebar-toggle #egw_fw_top_toolbar #egwpopup_fw_notifications {
|
body #egw_fw_basecontainer.sidebar-toggle #egw_fw_top_toolbar #egwpopup_fw_notifications,
|
||||||
|
body #egw_fw_basecontainer.sidebar-toggle #egw_fw_top_toolbar #egw_fw_topmenu_info_items {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
body #egw_fw_basecontainer.sidebar-toggle #egw_fw_top_toolbar div#egw_fw_menu {
|
body #egw_fw_basecontainer.sidebar-toggle #egw_fw_top_toolbar div#egw_fw_menu {
|
||||||
@ -7682,6 +7685,20 @@ form[id^="ranking-"] .dialogHeadbar {
|
|||||||
body #egw_fw_basecontainer #egw_fw_top_toolbar #egwpopup_fw_notifications .popup_note {
|
body #egw_fw_basecontainer #egw_fw_top_toolbar #egwpopup_fw_notifications .popup_note {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
body #egw_fw_basecontainer #egw_fw_top_toolbar #egw_fw_topmenu_info_items {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
body #egw_fw_basecontainer #egw_fw_top_toolbar #egw_fw_topmenu_info_items .topmenu_info_item {
|
||||||
|
border: 0;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
body #egw_fw_basecontainer #egw_fw_top_toolbar #egw_fw_topmenu_info_items #topmenu_info_print_title span {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
body #egw_fw_basecontainer #egw_fw_top_toolbar #egw_fw_topmenu_info_items #topmenu_info_user_avatar span {
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-left: 0px;
|
||||||
|
}
|
||||||
body #egw_fw_basecontainer #egw_fw_top_toolbar div#egw_fw_topmenu_items ul {
|
body #egw_fw_basecontainer #egw_fw_top_toolbar div#egw_fw_topmenu_items ul {
|
||||||
border-left: 6px solid silver;
|
border-left: 6px solid silver;
|
||||||
}
|
}
|
||||||
@ -7739,6 +7756,29 @@ form[id^="ranking-"] .dialogHeadbar {
|
|||||||
body #egw_fw_basecontainer .egw_fw_ui_sidemenu_entry_apps > div {
|
body #egw_fw_basecontainer .egw_fw_ui_sidemenu_entry_apps > div {
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
body #egw_fw_basecontainer #egw_fw_toggler {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
body #egw_fw_basecontainer #egw_fw_toggler span {
|
||||||
|
top: 15px;
|
||||||
|
}
|
||||||
|
body #egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler {
|
||||||
|
height: 50px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
body #egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler span {
|
||||||
|
top: 15px;
|
||||||
|
}
|
||||||
|
body #egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler span,
|
||||||
|
body #egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler:hover span {
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
body #egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler span:before,
|
||||||
|
body #egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler:hover span:before,
|
||||||
|
body #egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler span:after,
|
||||||
|
body #egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler:hover span:after {
|
||||||
|
background-color: white !important;
|
||||||
|
}
|
||||||
body div.dhtmlxMenu_egw_SubLevelArea_Polygon {
|
body div.dhtmlxMenu_egw_SubLevelArea_Polygon {
|
||||||
font-size: medium;
|
font-size: medium;
|
||||||
top: 50px !important;
|
top: 50px !important;
|
||||||
|
@ -385,7 +385,7 @@
|
|||||||
}
|
}
|
||||||
#egw_fw_basecontainer.sidebar-toggle {
|
#egw_fw_basecontainer.sidebar-toggle {
|
||||||
#egw_fw_top_toolbar {
|
#egw_fw_top_toolbar {
|
||||||
#egwpopup_fw_notifications {display: none !important;}
|
#egwpopup_fw_notifications, #egw_fw_topmenu_info_items {display: none !important;}
|
||||||
div#egw_fw_menu {
|
div#egw_fw_menu {
|
||||||
background-image: url(../images/topmenu_items/mobile/menu.svg);
|
background-image: url(../images/topmenu_items/mobile/menu.svg);
|
||||||
width: 50px;
|
width: 50px;
|
||||||
@ -443,6 +443,24 @@
|
|||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
.popup_note {display: none;}
|
.popup_note {display: none;}
|
||||||
}
|
}
|
||||||
|
#egw_fw_topmenu_info_items {
|
||||||
|
height: 50px;
|
||||||
|
.topmenu_info_item {
|
||||||
|
border: 0;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
#topmenu_info_print_title {
|
||||||
|
span {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#topmenu_info_user_avatar {
|
||||||
|
span {
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-left: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
div#egw_fw_topmenu_items {
|
div#egw_fw_topmenu_items {
|
||||||
ul {
|
ul {
|
||||||
border-left: 6px solid silver;
|
border-left: 6px solid silver;
|
||||||
@ -510,6 +528,27 @@
|
|||||||
.egw_fw_ui_sidemenu_entry_apps> div{
|
.egw_fw_ui_sidemenu_entry_apps> div{
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
#egw_fw_toggler {
|
||||||
|
height: 50px;
|
||||||
|
span {
|
||||||
|
top: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#egw_fw_basecontainer.egw_fw_sidebar_toggleOn {
|
||||||
|
#egw_fw_toggler {
|
||||||
|
height: 50px;
|
||||||
|
background-color: transparent;
|
||||||
|
span {
|
||||||
|
top: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
#egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler span,
|
||||||
|
#egw_fw_basecontainer.egw_fw_sidebar_toggleOn #egw_fw_toggler:hover span{
|
||||||
|
background-color: white;
|
||||||
|
&:before, &:after {background-color: white !important}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user