UNPKG

@ctodev/cclibrary-typings

Version:

Library typings for use with CLARC INFINITY

116 lines (115 loc) 4.24 kB
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { TccET_IAM } from '../../../odata/models/iam.model'; import { TccC4Node } from '../../../odata/models/shared.model'; import { TccTestForRoleService } from '../../../shared/services/tcc-test-for-role/tcc-test-for-role.service'; import { TccLibIcons } from '../../../shared/classes/tcc-register-icons.class'; import { TccSideNavService } from '../../services/tcc-side-nav/tcc-side-nav.service'; import { TccUserPropertyService } from '../../../shared/services/tcc-user-property/tcc-user-property.service'; import { TccAuthService } from '../../../odata/services/tcc-auth/tcc-auth.service'; interface ISideNavElement { path: string; uniqueidentifier: string; icon?: string; customIcon?: string; usericon?: TccET_IAM.UserResponse; c4node?: TccC4Node; caption: string; tooltip?: string; onbottom?: boolean; roles?: Array<TccET_IAM.UserRoles>; rolesStrategy?: SideNavRolesStrategy; licenses?: TccET_IAM.Module[]; _openParents?: string; type: SidenavElementType; expandUpwards?: boolean; } export declare enum SideNavRolesStrategy { standard = "standard",// Admin and Master will be automatically added strict = "strict" } export interface SideNavConfig { sidenavLogoText: string; sidenavLogo: string; tenant?: { Logo?: string; Text?: string; systemclass: string; fallbacklogo: string; }; } export interface SidenavNode extends ISideNavElement { children?: Array<SidenavLeaf | SidenavNode>; type: "node"; } export interface SidenavLeaf extends ISideNavElement { function?: Function; type: "leaf"; _combinedpath?: string; hidden?: boolean; } export type SidenavElementType = "leaf" | "node"; export type SidenavElement = SidenavNode | SidenavLeaf; export declare enum SidenavUserProperties { expanded = "expanded" } export declare class TccSideNavComponent implements OnInit, AfterViewInit, OnDestroy { private router; private route; private hasRole; private userPropertyService; private auth; navigationchange: EventEmitter<Array<string>>; collapse: EventEmitter<number>; widthName: QueryList<ElementRef>; _activePath: string; _activePaths: Array<string>; _navelements: Array<SidenavElement>; _navelementsbottom: Array<SidenavElement>; _sidenavExpanded: boolean; _openedSidenavElements: string; _openedSidenavElements2: string; _maxNameWidth: number; CollapseCaption: string; ExpandCaption: string; sidenavLogo: string; sidenavLogoText: string; tenantLogo: string; tenantText: string; className: string; private basehref; private pathtree; private routerSubscribtion; private _userRoles; private _elements; private focusIn; private preventNext; fallbackLogo: string; tenantLoads: boolean; tccLibIcons: typeof TccLibIcons.Icon; MaxWidth: number; set Config(config: SideNavConfig); set NavElements(elements: Array<SidenavElement>); hasBanner: boolean; constructor(router: Router, route: ActivatedRoute, hasRole: TccTestForRoleService, userPropertyService: TccUserPropertyService, auth: TccAuthService, sideNavService: TccSideNavService); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; tenantIconFailed(): void; clickSidenavLeaf(element: SidenavLeaf, event: Event): void; private onSublevelNav; mousedownSublevelNav(element: SidenavNode, event: Event): void; mouseoverToplevelLeaf(event: Event, mousein: boolean): void; mouseoverSublevelNav(event: Event, element: SidenavNode, mousein: boolean): void; focusSublevelNav(event: Event, element: SidenavNode, focusin: boolean): void; testForRolesAndLicenses(children: Array<SidenavElement>): void; onNavigation(url: string): void; filterActivePaths(url: string): Array<string>; private build_openParents; private build_combinedPath; private buildPathTree; private parseChildArray; private setExpandedWidth; expandSidenav(): void; } export {};