MOBILE-4653 mainmenu: Move Mainmenu constants
parent
61a33c7fff
commit
17115a2ce3
|
@ -26,11 +26,11 @@ import {
|
||||||
} from '@features/pushnotifications/services/pushnotifications';
|
} from '@features/pushnotifications/services/pushnotifications';
|
||||||
import { CorePushNotificationsDelegate } from '@features/pushnotifications/services/push-delegate';
|
import { CorePushNotificationsDelegate } from '@features/pushnotifications/services/push-delegate';
|
||||||
import { makeSingleton } from '@singletons';
|
import { makeSingleton } from '@singletons';
|
||||||
import { CoreMainMenuProvider } from '@features/mainmenu/services/mainmenu';
|
|
||||||
import {
|
import {
|
||||||
ADDON_MESSAGES_UNREAD_CONVERSATION_COUNTS_EVENT,
|
ADDON_MESSAGES_UNREAD_CONVERSATION_COUNTS_EVENT,
|
||||||
ADDON_MESSAGES_CONTACT_REQUESTS_COUNT_EVENT,
|
ADDON_MESSAGES_CONTACT_REQUESTS_COUNT_EVENT,
|
||||||
} from '@addons/messages/constants';
|
} from '@addons/messages/constants';
|
||||||
|
import { MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT } from '@features/mainmenu/constants';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler to inject an option into main menu.
|
* Handler to inject an option into main menu.
|
||||||
|
@ -177,7 +177,7 @@ export class AddonMessagesMainMenuHandlerService implements CoreMainMenuHandler,
|
||||||
|
|
||||||
// Update push notifications badge.
|
// Update push notifications badge.
|
||||||
CoreEvents.trigger(
|
CoreEvents.trigger(
|
||||||
CoreMainMenuProvider.MAIN_MENU_HANDLER_BADGE_UPDATED,
|
MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT,
|
||||||
{
|
{
|
||||||
handler: AddonMessagesMainMenuHandlerService.name,
|
handler: AddonMessagesMainMenuHandlerService.name,
|
||||||
value: totalCount,
|
value: totalCount,
|
||||||
|
|
|
@ -22,7 +22,7 @@ import { CoreMainMenuHandler, CoreMainMenuHandlerData } from '@features/mainmenu
|
||||||
import { CorePushNotifications } from '@features/pushnotifications/services/pushnotifications';
|
import { CorePushNotifications } from '@features/pushnotifications/services/pushnotifications';
|
||||||
import { CorePushNotificationsDelegate } from '@features/pushnotifications/services/push-delegate';
|
import { CorePushNotificationsDelegate } from '@features/pushnotifications/services/push-delegate';
|
||||||
import { AddonNotifications, AddonNotificationsProvider } from '../notifications';
|
import { AddonNotifications, AddonNotificationsProvider } from '../notifications';
|
||||||
import { CoreMainMenuProvider } from '@features/mainmenu/services/mainmenu';
|
import { MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT } from '@features/mainmenu/constants';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handler to inject an option into main menu.
|
* Handler to inject an option into main menu.
|
||||||
|
@ -120,7 +120,7 @@ export class AddonNotificationsMainMenuHandlerService implements CoreMainMenuHan
|
||||||
CorePushNotifications.updateAddonCounter(AddonNotificationsMainMenuHandlerService.name, unreadCountData.count, siteId);
|
CorePushNotifications.updateAddonCounter(AddonNotificationsMainMenuHandlerService.name, unreadCountData.count, siteId);
|
||||||
|
|
||||||
CoreEvents.trigger(
|
CoreEvents.trigger(
|
||||||
CoreMainMenuProvider.MAIN_MENU_HANDLER_BADGE_UPDATED,
|
MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT,
|
||||||
{
|
{
|
||||||
handler: AddonNotificationsMainMenuHandlerService.name,
|
handler: AddonNotificationsMainMenuHandlerService.name,
|
||||||
value: unreadCountData.count,
|
value: unreadCountData.count,
|
||||||
|
|
|
@ -55,7 +55,7 @@ import { getFilterServices } from '@features/filter/filter.module';
|
||||||
import { getGradesServices } from '@features/grades/grades.module';
|
import { getGradesServices } from '@features/grades/grades.module';
|
||||||
import { getH5PServices } from '@features/h5p/h5p.module';
|
import { getH5PServices } from '@features/h5p/h5p.module';
|
||||||
import { getLoginServices } from '@features/login/login.module';
|
import { getLoginServices } from '@features/login/login.module';
|
||||||
import { getMainMenuServices } from '@features/mainmenu/mainmenu.module';
|
import { getMainMenuExportedObjects, getMainMenuServices } from '@features/mainmenu/mainmenu.module';
|
||||||
import { getNativeServices } from '@features/native/native.module';
|
import { getNativeServices } from '@features/native/native.module';
|
||||||
import { getPushNotificationsServices } from '@features/pushnotifications/pushnotifications.module';
|
import { getPushNotificationsServices } from '@features/pushnotifications/pushnotifications.module';
|
||||||
import { getQuestionServices } from '@features/question/question.module';
|
import { getQuestionServices } from '@features/question/question.module';
|
||||||
|
@ -420,6 +420,7 @@ export class CoreCompileProvider {
|
||||||
getCoreErrorsExportedObjects(),
|
getCoreErrorsExportedObjects(),
|
||||||
getCourseExportedObjects(),
|
getCourseExportedObjects(),
|
||||||
getCoursesExportedObjects(),
|
getCoursesExportedObjects(),
|
||||||
|
getMainMenuExportedObjects(),
|
||||||
getContentLinksExportedObjects(),
|
getContentLinksExportedObjects(),
|
||||||
getSitePluginsExportedObjects(),
|
getSitePluginsExportedObjects(),
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
// (C) Copyright 2015 Moodle Pty Ltd.
|
||||||
|
//
|
||||||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License.
|
||||||
|
// You may obtain a copy of the License at
|
||||||
|
//
|
||||||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
|
||||||
|
export const MAIN_MENU_NUM_MAIN_HANDLERS = 4;
|
||||||
|
export const MAIN_MENU_ITEM_MIN_WIDTH = 72; // Min with of every item, based on 5 items on a 360 pixel wide screen.
|
||||||
|
export const MAIN_MENU_MORE_PAGE_NAME = 'more';
|
||||||
|
|
||||||
|
export const MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT = 'main_menu_handler_badge_updated';
|
||||||
|
export const MAIN_MENU_VISIBILITY_UPDATED_EVENT = 'main_menu_visbility_updated';
|
|
@ -19,8 +19,8 @@ import { CoreSharedModule } from '@/core/shared.module';
|
||||||
import { resolveMainMenuRoutes } from './mainmenu-routing.module';
|
import { resolveMainMenuRoutes } from './mainmenu-routing.module';
|
||||||
import { CoreMainMenuPage } from './pages/menu/menu';
|
import { CoreMainMenuPage } from './pages/menu/menu';
|
||||||
import { CoreMainMenuHomeHandlerService } from './services/handlers/mainmenu';
|
import { CoreMainMenuHomeHandlerService } from './services/handlers/mainmenu';
|
||||||
import { CoreMainMenuProvider } from './services/mainmenu';
|
|
||||||
import { CoreMainMenuComponentsModule } from './components/components.module';
|
import { CoreMainMenuComponentsModule } from './components/components.module';
|
||||||
|
import { MAIN_MENU_MORE_PAGE_NAME } from './constants';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Build module routes.
|
* Build module routes.
|
||||||
|
@ -41,7 +41,7 @@ function buildRoutes(injector: Injector): Routes {
|
||||||
loadChildren: () => import('./mainmenu-home-lazy.module'),
|
loadChildren: () => import('./mainmenu-home-lazy.module'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: CoreMainMenuProvider.MORE_PAGE_NAME,
|
path: MAIN_MENU_MORE_PAGE_NAME,
|
||||||
loadChildren: () => import('./mainmenu-more-lazy.module'),
|
loadChildren: () => import('./mainmenu-more-lazy.module'),
|
||||||
},
|
},
|
||||||
...mainMenuRoutes.children,
|
...mainMenuRoutes.children,
|
||||||
|
|
|
@ -17,9 +17,9 @@ import { Routes, ROUTES } from '@angular/router';
|
||||||
|
|
||||||
import { CoreSharedModule } from '@/core/shared.module';
|
import { CoreSharedModule } from '@/core/shared.module';
|
||||||
import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module';
|
import { buildTabMainRoutes } from '@features/mainmenu/mainmenu-tab-routing.module';
|
||||||
import { CoreMainMenuProvider } from '@features/mainmenu/services/mainmenu';
|
|
||||||
import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
|
import { CoreMainMenuComponentsModule } from '@features/mainmenu/components/components.module';
|
||||||
import { CoreMainMenuMorePage } from '@features/mainmenu/pages/more/more';
|
import { CoreMainMenuMorePage } from '@features/mainmenu/pages/more/more';
|
||||||
|
import { MAIN_MENU_MORE_PAGE_NAME } from './constants';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Build module routes.
|
* Build module routes.
|
||||||
|
@ -31,7 +31,7 @@ function buildRoutes(injector: Injector): Routes {
|
||||||
return buildTabMainRoutes(injector, {
|
return buildTabMainRoutes(injector, {
|
||||||
component: CoreMainMenuMorePage,
|
component: CoreMainMenuMorePage,
|
||||||
data: {
|
data: {
|
||||||
mainMenuTabRoot: CoreMainMenuProvider.MORE_PAGE_NAME,
|
mainMenuTabRoot: MAIN_MENU_MORE_PAGE_NAME,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,32 @@ export async function getMainMenuServices(): Promise<Type<unknown>[]> {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get main menu exported objects.
|
||||||
|
*
|
||||||
|
* @returns Main menu exported objects.
|
||||||
|
*/
|
||||||
|
export async function getMainMenuExportedObjects(): Promise<Record<string, unknown>> {
|
||||||
|
const {
|
||||||
|
MAIN_MENU_NUM_MAIN_HANDLERS,
|
||||||
|
MAIN_MENU_ITEM_MIN_WIDTH,
|
||||||
|
MAIN_MENU_MORE_PAGE_NAME,
|
||||||
|
MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT,
|
||||||
|
MAIN_MENU_VISIBILITY_UPDATED_EVENT,
|
||||||
|
|
||||||
|
} = await import('@features/mainmenu/constants');
|
||||||
|
|
||||||
|
/* eslint-disable @typescript-eslint/naming-convention */
|
||||||
|
return {
|
||||||
|
MAIN_MENU_NUM_MAIN_HANDLERS,
|
||||||
|
MAIN_MENU_ITEM_MIN_WIDTH,
|
||||||
|
MAIN_MENU_MORE_PAGE_NAME,
|
||||||
|
MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT,
|
||||||
|
MAIN_MENU_VISIBILITY_UPDATED_EVENT,
|
||||||
|
};
|
||||||
|
/* eslint-enable @typescript-eslint/naming-convention */
|
||||||
|
}
|
||||||
|
|
||||||
const appRoutes: Routes = [
|
const appRoutes: Routes = [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
|
|
|
@ -18,7 +18,7 @@ import { BackButtonEvent } from '@ionic/core';
|
||||||
import { Subscription } from 'rxjs';
|
import { Subscription } from 'rxjs';
|
||||||
|
|
||||||
import { CoreEvents, CoreEventObserver } from '@singletons/events';
|
import { CoreEvents, CoreEventObserver } from '@singletons/events';
|
||||||
import { CoreMainMenu, CoreMainMenuProvider } from '../../services/mainmenu';
|
import { CoreMainMenu } from '../../services/mainmenu';
|
||||||
import { CoreMainMenuDelegate, CoreMainMenuHandlerToDisplay } from '../../services/mainmenu-delegate';
|
import { CoreMainMenuDelegate, CoreMainMenuHandlerToDisplay } from '../../services/mainmenu-delegate';
|
||||||
import { Router } from '@singletons';
|
import { Router } from '@singletons';
|
||||||
import { CoreUtils } from '@services/utils/utils';
|
import { CoreUtils } from '@services/utils/utils';
|
||||||
|
@ -35,6 +35,11 @@ import { CoreWait } from '@singletons/wait';
|
||||||
import { CoreMainMenuDeepLinkManager } from '@features/mainmenu/classes/deep-link-manager';
|
import { CoreMainMenuDeepLinkManager } from '@features/mainmenu/classes/deep-link-manager';
|
||||||
import { CoreSiteInfoUserHomepage } from '@classes/sites/unauthenticated-site';
|
import { CoreSiteInfoUserHomepage } from '@classes/sites/unauthenticated-site';
|
||||||
import { CoreContentLinksHelper } from '@features/contentlinks/services/contentlinks-helper';
|
import { CoreContentLinksHelper } from '@features/contentlinks/services/contentlinks-helper';
|
||||||
|
import {
|
||||||
|
MAIN_MENU_MORE_PAGE_NAME,
|
||||||
|
MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT,
|
||||||
|
MAIN_MENU_VISIBILITY_UPDATED_EVENT,
|
||||||
|
} from '@features/mainmenu/constants';
|
||||||
|
|
||||||
const ANIMATION_DURATION = 500;
|
const ANIMATION_DURATION = 500;
|
||||||
|
|
||||||
|
@ -72,7 +77,7 @@ export class CoreMainMenuPage implements OnInit, OnDestroy {
|
||||||
loaded = false;
|
loaded = false;
|
||||||
showTabs = false;
|
showTabs = false;
|
||||||
tabsPlacement: 'bottom' | 'side' = 'bottom';
|
tabsPlacement: 'bottom' | 'side' = 'bottom';
|
||||||
morePageName = CoreMainMenuProvider.MORE_PAGE_NAME;
|
morePageName = MAIN_MENU_MORE_PAGE_NAME;
|
||||||
selectedTab?: string;
|
selectedTab?: string;
|
||||||
isMainScreen = false;
|
isMainScreen = false;
|
||||||
moreBadge = false;
|
moreBadge = false;
|
||||||
|
@ -124,7 +129,7 @@ export class CoreMainMenuPage implements OnInit, OnDestroy {
|
||||||
this.updateHandlers(previousHandlers);
|
this.updateHandlers(previousHandlers);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.badgeUpdateObserver = CoreEvents.on(CoreMainMenuProvider.MAIN_MENU_HANDLER_BADGE_UPDATED, (data) => {
|
this.badgeUpdateObserver = CoreEvents.on(MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT, (data) => {
|
||||||
if (data.siteId == CoreSites.getCurrentSiteId()) {
|
if (data.siteId == CoreSites.getCurrentSiteId()) {
|
||||||
this.updateMoreBadge();
|
this.updateMoreBadge();
|
||||||
}
|
}
|
||||||
|
@ -361,7 +366,7 @@ export class CoreMainMenuPage implements OnInit, OnDestroy {
|
||||||
await CoreWait.wait(ANIMATION_DURATION);
|
await CoreWait.wait(ANIMATION_DURATION);
|
||||||
await CoreWait.nextTick();
|
await CoreWait.nextTick();
|
||||||
|
|
||||||
CoreEvents.trigger(CoreMainMenuProvider.MAIN_MENU_VISIBILITY_UPDATED);
|
CoreEvents.trigger(MAIN_MENU_VISIBILITY_UPDATED_EVENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,13 @@ import { Device, makeSingleton } from '@singletons';
|
||||||
import { CoreText } from '@singletons/text';
|
import { CoreText } from '@singletons/text';
|
||||||
import { CoreScreen } from '@services/screen';
|
import { CoreScreen } from '@services/screen';
|
||||||
import { CorePlatform } from '@services/platform';
|
import { CorePlatform } from '@services/platform';
|
||||||
|
import {
|
||||||
|
MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT,
|
||||||
|
MAIN_MENU_ITEM_MIN_WIDTH,
|
||||||
|
MAIN_MENU_MORE_PAGE_NAME,
|
||||||
|
MAIN_MENU_NUM_MAIN_HANDLERS,
|
||||||
|
MAIN_MENU_VISIBILITY_UPDATED_EVENT,
|
||||||
|
} from '../constants';
|
||||||
|
|
||||||
declare module '@singletons/events' {
|
declare module '@singletons/events' {
|
||||||
|
|
||||||
|
@ -31,8 +38,8 @@ declare module '@singletons/events' {
|
||||||
* @see https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation
|
* @see https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation
|
||||||
*/
|
*/
|
||||||
export interface CoreEventsData {
|
export interface CoreEventsData {
|
||||||
[CoreMainMenuProvider.MAIN_MENU_HANDLER_BADGE_UPDATED]: CoreMainMenuHandlerBadgeUpdatedEventData;
|
[MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT]: CoreMainMenuHandlerBadgeUpdatedEventData;
|
||||||
[CoreMainMenuProvider.MAIN_MENU_VISIBILITY_UPDATED]: void;
|
[MAIN_MENU_VISIBILITY_UPDATED_EVENT]: void;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -43,11 +50,26 @@ declare module '@singletons/events' {
|
||||||
@Injectable({ providedIn: 'root' })
|
@Injectable({ providedIn: 'root' })
|
||||||
export class CoreMainMenuProvider {
|
export class CoreMainMenuProvider {
|
||||||
|
|
||||||
static readonly NUM_MAIN_HANDLERS = 4;
|
/**
|
||||||
static readonly ITEM_MIN_WIDTH = 72; // Min with of every item, based on 5 items on a 360 pixel wide screen.
|
* @deprecated since 5.0. Use MAIN_MENU_NUM_MAIN_HANDLERS instead.
|
||||||
static readonly MORE_PAGE_NAME = 'more';
|
*/
|
||||||
static readonly MAIN_MENU_HANDLER_BADGE_UPDATED = 'main_menu_handler_badge_updated';
|
static readonly NUM_MAIN_HANDLERS = MAIN_MENU_NUM_MAIN_HANDLERS;
|
||||||
static readonly MAIN_MENU_VISIBILITY_UPDATED = 'main_menu_visbility_updated';
|
/**
|
||||||
|
* @deprecated since 5.0. Use MAIN_MENU_ITEM_MIN_WIDTH instead.
|
||||||
|
*/
|
||||||
|
static readonly ITEM_MIN_WIDTH = MAIN_MENU_ITEM_MIN_WIDTH;
|
||||||
|
/**
|
||||||
|
* @deprecated since 5.0. Use MAIN_MENU_MORE_PAGE_NAME instead.
|
||||||
|
*/
|
||||||
|
static readonly MORE_PAGE_NAME = MAIN_MENU_MORE_PAGE_NAME;
|
||||||
|
/**
|
||||||
|
* @deprecated since 5.0. Use MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT instead.
|
||||||
|
*/
|
||||||
|
static readonly MAIN_MENU_HANDLER_BADGE_UPDATED = MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT;
|
||||||
|
/**
|
||||||
|
* @deprecated since 5.0. Use MAIN_MENU_VISIBILITY_UPDATED_EVENT instead.
|
||||||
|
*/
|
||||||
|
static readonly MAIN_MENU_VISIBILITY_UPDATED = MAIN_MENU_VISIBILITY_UPDATED_EVENT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current main menu handlers.
|
* Get the current main menu handlers.
|
||||||
|
@ -229,9 +251,9 @@ export class CoreMainMenuProvider {
|
||||||
|
|
||||||
if (CoreScreen.isTablet) {
|
if (CoreScreen.isTablet) {
|
||||||
// Tablet, menu will be displayed vertically.
|
// Tablet, menu will be displayed vertically.
|
||||||
numElements = Math.floor(window.innerHeight / CoreMainMenuProvider.ITEM_MIN_WIDTH);
|
numElements = Math.floor(window.innerHeight / MAIN_MENU_ITEM_MIN_WIDTH);
|
||||||
} else {
|
} else {
|
||||||
numElements = Math.floor(window.innerWidth / CoreMainMenuProvider.ITEM_MIN_WIDTH);
|
numElements = Math.floor(window.innerWidth / MAIN_MENU_ITEM_MIN_WIDTH);
|
||||||
|
|
||||||
// Set a maximum elements to show and skip more button.
|
// Set a maximum elements to show and skip more button.
|
||||||
numElements = numElements >= 5 ? 5 : numElements;
|
numElements = numElements >= 5 ? 5 : numElements;
|
||||||
|
@ -241,7 +263,7 @@ export class CoreMainMenuProvider {
|
||||||
return numElements > 1 ? numElements - 1 : 1;
|
return numElements > 1 ? numElements - 1 : 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return CoreMainMenuProvider.NUM_MAIN_HANDLERS;
|
return MAIN_MENU_NUM_MAIN_HANDLERS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -260,7 +282,7 @@ export class CoreMainMenuProvider {
|
||||||
* @returns Promise resolved with boolean: whether it's the root of a main menu tab.
|
* @returns Promise resolved with boolean: whether it's the root of a main menu tab.
|
||||||
*/
|
*/
|
||||||
async isMainMenuTab(pageName: string): Promise<boolean> {
|
async isMainMenuTab(pageName: string): Promise<boolean> {
|
||||||
if (pageName == CoreMainMenuProvider.MORE_PAGE_NAME) {
|
if (pageName == MAIN_MENU_MORE_PAGE_NAME) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,6 @@ import {
|
||||||
import { CoreError } from '@classes/errors/error';
|
import { CoreError } from '@classes/errors/error';
|
||||||
import { CoreWSExternalWarning } from '@services/ws';
|
import { CoreWSExternalWarning } from '@services/ws';
|
||||||
import { CoreSitesFactory } from '@services/sites-factory';
|
import { CoreSitesFactory } from '@services/sites-factory';
|
||||||
import { CoreMainMenuProvider } from '@features/mainmenu/services/mainmenu';
|
|
||||||
import { AsyncInstance, asyncInstance } from '@/core/utils/async-instance';
|
import { AsyncInstance, asyncInstance } from '@/core/utils/async-instance';
|
||||||
import { CoreDatabaseTable } from '@classes/database/database-table';
|
import { CoreDatabaseTable } from '@classes/database/database-table';
|
||||||
import { CoreDatabaseCachingStrategy, CoreDatabaseTableProxy } from '@classes/database/database-table-proxy';
|
import { CoreDatabaseCachingStrategy, CoreDatabaseTableProxy } from '@classes/database/database-table-proxy';
|
||||||
|
@ -56,6 +55,7 @@ import { CoreSiteInfo } from '@classes/sites/unauthenticated-site';
|
||||||
import { Push } from '@features/native/plugins';
|
import { Push } from '@features/native/plugins';
|
||||||
import { CoreNavigator } from '@services/navigator';
|
import { CoreNavigator } from '@services/navigator';
|
||||||
import { CoreWait } from '@singletons/wait';
|
import { CoreWait } from '@singletons/wait';
|
||||||
|
import { MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT } from '@features/mainmenu/constants';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Service to handle push notifications.
|
* Service to handle push notifications.
|
||||||
|
@ -149,7 +149,7 @@ export class CorePushNotificationsProvider {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
CoreEvents.on(CoreMainMenuProvider.MAIN_MENU_HANDLER_BADGE_UPDATED, (data) => {
|
CoreEvents.on(MAIN_MENU_HANDLER_BADGE_UPDATED_EVENT, (data) => {
|
||||||
this.updateAddonCounter(data.handler, data.value, data.siteId);
|
this.updateAddonCounter(data.handler, data.value, data.siteId);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -33,8 +33,8 @@ import { AngularFrameworkDelegate } from '@singletons';
|
||||||
import { CoreDirectivesRegistry } from '@singletons/directives-registry';
|
import { CoreDirectivesRegistry } from '@singletons/directives-registry';
|
||||||
import { CoreDom } from '@singletons/dom';
|
import { CoreDom } from '@singletons/dom';
|
||||||
import { CoreEventObserver, CoreEvents } from '@singletons/events';
|
import { CoreEventObserver, CoreEvents } from '@singletons/events';
|
||||||
import { CoreMainMenuProvider } from '@features/mainmenu/services/mainmenu';
|
|
||||||
import { COLLAPSIBLE_HEADER_UPDATED } from '@directives/collapsible-header';
|
import { COLLAPSIBLE_HEADER_UPDATED } from '@directives/collapsible-header';
|
||||||
|
import { MAIN_MENU_VISIBILITY_UPDATED_EVENT } from '@features/mainmenu/constants';
|
||||||
|
|
||||||
const ANIMATION_DURATION = 200;
|
const ANIMATION_DURATION = 200;
|
||||||
const USER_TOURS_BACK_BUTTON_PRIORITY = 100;
|
const USER_TOURS_BACK_BUTTON_PRIORITY = 100;
|
||||||
|
@ -264,7 +264,7 @@ export class CoreUserToursUserTourComponent implements AfterViewInit, OnDestroy
|
||||||
this.collapsibleHeaderListener = this.collapsibleHeaderListener ??
|
this.collapsibleHeaderListener = this.collapsibleHeaderListener ??
|
||||||
CoreEvents.on(COLLAPSIBLE_HEADER_UPDATED, () => this.calculateStyles());
|
CoreEvents.on(COLLAPSIBLE_HEADER_UPDATED, () => this.calculateStyles());
|
||||||
this.mainMenuListener = this.mainMenuListener ??
|
this.mainMenuListener = this.mainMenuListener ??
|
||||||
CoreEvents.on(CoreMainMenuProvider.MAIN_MENU_VISIBILITY_UPDATED, () => this.calculateStyles());
|
CoreEvents.on(MAIN_MENU_VISIBILITY_UPDATED_EVENT, () => this.calculateStyles());
|
||||||
this.resizeListener = this.resizeListener ?? CoreDom.onWindowResize(() => this.calculateStyles());
|
this.resizeListener = this.resizeListener ?? CoreDom.onWindowResize(() => this.calculateStyles());
|
||||||
this.content = this.content ?? CoreDom.closest(this.focus, 'ion-content');
|
this.content = this.content ?? CoreDom.closest(this.focus, 'ion-content');
|
||||||
|
|
||||||
|
|
|
@ -30,9 +30,9 @@ import { CoreDatabaseTable } from '@classes/database/database-table';
|
||||||
import { CorePromisedValue } from '@classes/promised-value';
|
import { CorePromisedValue } from '@classes/promised-value';
|
||||||
import { Subscription } from 'rxjs';
|
import { Subscription } from 'rxjs';
|
||||||
import { CorePlatform } from '@services/platform';
|
import { CorePlatform } from '@services/platform';
|
||||||
import { CoreMainMenuProvider } from '@features/mainmenu/services/mainmenu';
|
|
||||||
import { CoreKeyboard } from '@singletons/keyboard';
|
import { CoreKeyboard } from '@singletons/keyboard';
|
||||||
import { CoreNetwork } from './network';
|
import { CoreNetwork } from './network';
|
||||||
|
import { MAIN_MENU_VISIBILITY_UPDATED_EVENT } from '@features/mainmenu/constants';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory to provide some global functionalities, like access to the global app database.
|
* Factory to provide some global functionalities, like access to the global app database.
|
||||||
|
@ -61,7 +61,7 @@ export class CoreAppProvider {
|
||||||
this.logger = CoreLogger.getInstance('CoreAppProvider');
|
this.logger = CoreLogger.getInstance('CoreAppProvider');
|
||||||
if (CorePlatform.isAndroid()) {
|
if (CorePlatform.isAndroid()) {
|
||||||
this.mainMenuListener =
|
this.mainMenuListener =
|
||||||
CoreEvents.on(CoreMainMenuProvider.MAIN_MENU_VISIBILITY_UPDATED, () => this.setAndroidNavigationBarColor());
|
CoreEvents.on(MAIN_MENU_VISIBILITY_UPDATED_EVENT, () => this.setAndroidNavigationBarColor());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue