import { BreakpointObserver } from '@angular/cdk/layout'; import { EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { ResizeEvent } from 'angular-resizable-element'; import { Observable, Subscription } from 'rxjs'; import { RoleAccess, View } from '../../../commons/schema'; import { AccessService } from '../../authorization/permission/access.service'; import { ConfigurationService } from '../../configuration/configuration.service'; import { I18nFieldValue } from '../../data-fields/i18n-field/models/i18n-field-value'; import { ImpersonationUserSelectService } from '../../impersonation/services/impersonation-user-select.service'; import { ImpersonationService } from '../../impersonation/services/impersonation.service'; import { LoggerService } from '../../logger/services/logger.service'; import { CaseResourceService } from '../../resources/engine-endpoint/case-resource.service'; import { Case } from '../../resources/interface/case'; import { Page } from '../../resources/interface/page'; import { DynamicNavigationRouteProviderService } from '../../routing/dynamic-navigation-route-provider/dynamic-navigation-route-provider.service'; import { LanguageService } from '../../translate/language.service'; import { User } from '../../user/models/user'; import { UserService } from '../../user/services/user.service'; import { LoadingEmitter } from '../../utility/loading-emitter'; import { ConfigDoubleMenu, MenuOrder, NavigationItem } from '../model/navigation-configs'; import { MenuItemClickEvent, MenuItemLoadedEvent, MenuResizeEvent, MenuStateChangeEvent } from '../model/navigation-menu-events'; import { UriNodeResource } from '../model/uri-resource'; import { UriService } from '../service/uri.service'; import * as i0 from "@angular/core"; export declare abstract class AbstractNavigationDoubleDrawerComponent implements OnInit, OnDestroy { protected _router: Router; protected _activatedRoute: ActivatedRoute; protected _breakpoint: BreakpointObserver; protected _languageService: LanguageService; protected _translateService: TranslateService; protected _userService: UserService; protected _accessService: AccessService; protected _log: LoggerService; protected _config: ConfigurationService; protected _uriService: UriService; protected _caseResourceService: CaseResourceService; protected _impersonationUserSelect: ImpersonationUserSelectService; protected _impersonation: ImpersonationService; protected _dynamicRoutingService: DynamicNavigationRouteProviderService; portalLeftMenu: TemplateRef; portalRightMenu: TemplateRef; imageRouterLink: string; imageAlt: string; image: string; profileRouterLink: string; includeUser: boolean; includeLanguage: boolean; includeMoreMenu: boolean; includeImpersonation: boolean; allClosable: boolean; folderIcon: string; openedFolderIcon: string; filterIcon: string; foldersCategoryName: string; viewsCategoryName: string; loggedOut: EventEmitter; stateChanged: EventEmitter; itemClicked: EventEmitter; resized: EventEmitter; itemLoaded: EventEmitter; /** * List of displayed items on the left side * */ leftItems: Array; /** * List of displayed items on the right side * */ rightItems: Array; /** * List of hidden items * */ moreItems: Array; /** * List of custom items in more menu * */ hiddenCustomItems: Array; itemsOrder: MenuOrder; protected _breakpointSubscription: Subscription; protected _currentNodeSubscription: Subscription; /** * Currently display uri * Siblings of the node are on the left, children are on the right */ protected _currentNode: UriNodeResource; leftLoading$: LoadingEmitter; rightLoading$: LoadingEmitter; nodeLoading$: LoadingEmitter; protected _configLeftMenu: ConfigDoubleMenu; protected _configRightMenu: ConfigDoubleMenu; protected _childCustomViews: { [uri: string]: { [key: string]: NavigationItem; }; }; protected constructor(_router: Router, _activatedRoute: ActivatedRoute, _breakpoint: BreakpointObserver, _languageService: LanguageService, _translateService: TranslateService, _userService: UserService, _accessService: AccessService, _log: LoggerService, _config: ConfigurationService, _uriService: UriService, _caseResourceService: CaseResourceService, _impersonationUserSelect: ImpersonationUserSelectService, _impersonation: ImpersonationService, _dynamicRoutingService: DynamicNavigationRouteProviderService); ngOnInit(): void; get currentNode(): UriNodeResource; set currentNode(node: UriNodeResource); protected resolveMenuItems(node: UriNodeResource): void; ngOnDestroy(): void; get configLeftMenu(): ConfigDoubleMenu; get configRightMenu(): ConfigDoubleMenu; toggleMenu(): void; toggleLeftMenu(): void; toggleRightMenu(): void; protected resolveLayout(isLargeScreen: boolean): void; getLang(): string; logout(): void; impersonate(): void; stopImpersonating(): void; get user(): User; get canGoBackLoading$(): Observable; /** * On home click, the current level is set to 0, and current parent is * set to root node. * */ onHomeClick(): void; /** * On back click, the parent is set to parent of left nodes, that will solve * the right side menu (elements that were in left side, after backward * navigation will be on the right side). * Current level is set to a lower number in order to set the left side menu. * */ onBackClick(): void; onItemClick(item: NavigationItem): void; hasItemChildren(item: NavigationItem): boolean; isItemAndNodeEqual(item: NavigationItem, node: UriNodeResource): boolean; protected loadLeftSide(): void; protected loadRightSide(): void; protected extractChildCaseIds(item: Case): string[]; protected getItemCasesByIdsInOnePage(caseIds: string[]): Observable>; protected getItemCasesByIds(caseIds: string[], pageNumber: number, pageSize: string | number): Observable>; loadMoreItems(): void; isAscending(): boolean; switchOrder(): void; protected resolveCustomViewsInRightSide(): void; protected resolveCustomViewsInLeftSide(): void; protected resolveItemCaseToNavigationItem(itemCase: Case): NavigationItem | undefined; protected representsRootNode(item: Case): boolean; protected getTranslation(value: I18nFieldValue): string; protected resolveAccessRoles(filter: Case, roleType: string): Array | undefined; protected getItemRoutingPath(itemCase: Case): string; /** * Function to check whether the back button should be displayed * @returns boolean if the back button should be displayed * */ isOnZeroLevel(): boolean; isLeftItemsEmpty(): boolean; isRightItemsEmpty(): boolean; uriNodeTrackBy(index: number, node: UriNodeResource): string; itemsTrackBy(index: number, item: NavigationItem): string; onResizeEvent(event: ResizeEvent): void; protected resolveUriForChildViews(configPath: string, childView: View): void; protected resolveHiddenMenuItemFromChildViews(configPath: string, childView: View): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }