@mediusinc/mng-commons 0.2.9 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,29 +1,37 @@
1
- import { OnDestroy, OnInit } from '@angular/core';
2
- import { Router } from '@angular/router';
1
+ import { Injector, OnDestroy, OnInit } from '@angular/core';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
+ import { Observable } from 'rxjs';
4
+ import { MngMenuItem } from '../../models';
3
5
  import { MngCommonsService } from '../../services';
4
6
  import { MngMainLayoutComponentService } from './services';
5
7
  import * as i0 from "@angular/core";
6
8
  export declare class MngMenuItemComponent implements OnInit, OnDestroy {
7
- router: Router;
9
+ private injector;
10
+ private router;
11
+ private route;
8
12
  mngCommons: MngCommonsService;
9
13
  mainLayoutService: MngMainLayoutComponentService;
10
- item: any;
14
+ item: MngMenuItem;
11
15
  index: number;
12
16
  root: boolean;
13
17
  parentKey: string | null;
14
18
  key: string;
15
19
  active: boolean;
16
20
  hover: boolean;
21
+ private isAllowedSubject;
22
+ isAllowed$: Observable<boolean>;
17
23
  private itemUrl?;
18
24
  private menuSourceSubscription?;
19
25
  private menuResetSubscription?;
20
26
  private routerEventsSubscription?;
21
- constructor(router: Router, mngCommons: MngCommonsService, mainLayoutService: MngMainLayoutComponentService);
27
+ private guardsSubscription?;
28
+ constructor(injector: Injector, router: Router, route: ActivatedRoute, mngCommons: MngCommonsService, mainLayoutService: MngMainLayoutComponentService);
22
29
  ngOnInit(): void;
23
30
  updateActiveStateFromRoute(): void;
24
31
  itemClick(event: Event): void;
25
32
  onMouseEnter(): void;
26
33
  ngOnDestroy(): void;
34
+ private checkIfMenuItemIsAllowedFromGuard;
27
35
  static ɵfac: i0.ɵɵFactoryDeclaration<MngMenuItemComponent, never>;
28
36
  static ɵcmp: i0.ɵɵComponentDeclaration<MngMenuItemComponent, "[mng-menuitem]", never, { "item": "item"; "index": "index"; "root": "root"; "parentKey": "parentKey"; }, {}, never, never>;
29
37
  }
@@ -98,6 +98,9 @@ export declare class FieldInputDescriptor<ET> extends AFieldDescriptor<string |
98
98
  private _maxLength?;
99
99
  private _minLength?;
100
100
  private _pattern?;
101
+ private _mask?;
102
+ private _slotChar?;
103
+ private _customComponentName?;
101
104
  constructor(editor: EditorDescriptor<ET>, property: string);
102
105
  get fieldType(): FieldInputDescriptor.TypeEnum;
103
106
  get rows(): number | undefined;
@@ -114,6 +117,9 @@ export declare class FieldInputDescriptor<ET> extends AFieldDescriptor<string |
114
117
  get maxLength(): number | undefined;
115
118
  get minLength(): number | undefined;
116
119
  get pattern(): string | RegExp | undefined;
120
+ get mask(): string | undefined;
121
+ get slotChar(): string | undefined;
122
+ get customComponentName(): string | undefined;
117
123
  asText(minLength?: number, maxLength?: number, pattern?: string | RegExp, isEmail?: boolean): this;
118
124
  asTextarea(rows?: number, minLength?: number, maxLength?: number, pattern?: string | RegExp): this;
119
125
  asNumber(step?: number, min?: number, max?: number, minFractionDigits?: number, maxFractionDigits?: number): this;
@@ -121,6 +127,8 @@ export declare class FieldInputDescriptor<ET> extends AFieldDescriptor<string |
121
127
  asRadio(options: Array<string | number>, optionsTitlePath?: string): this;
122
128
  asRadioFromEnum(enumType: EnumType, optionsTitlePath?: string | null, values?: Array<EnumConstantType>, nameAsValue?: boolean): this;
123
129
  asDatePicker(format?: string, min?: Date, max?: Date, showTime?: boolean): this;
130
+ asMask(mask: string, slotChar: string): this;
131
+ asCustomComponent(customComponentName: string): this;
124
132
  copy(): FieldInputDescriptor<ET>;
125
133
  }
126
134
  export declare namespace FieldInputDescriptor {
@@ -130,7 +138,9 @@ export declare namespace FieldInputDescriptor {
130
138
  Number = 2,
131
139
  Switch = 3,
132
140
  Radio = 4,
133
- Datepicker = 5
141
+ Datepicker = 5,
142
+ Mask = 6,
143
+ Custom = 7
134
144
  }
135
145
  }
136
146
  export declare class FieldLookupDescriptor<T, ET> extends AFieldDescriptor<T, ET> implements ILookupDescriptor<T> {
@@ -1,2 +1,3 @@
1
1
  export * from './enum.model';
2
+ export * from './menu.model';
2
3
  export * from './user.model';
@@ -0,0 +1,25 @@
1
+ import { QueryParamsHandling } from '@angular/router';
2
+ export interface MngMenuItem {
3
+ title?: string;
4
+ label?: string;
5
+ icon?: string;
6
+ items?: Array<MngMenuItem>;
7
+ guards?: Array<any>;
8
+ separator?: boolean;
9
+ className?: string;
10
+ badge?: string;
11
+ badgeClassName?: string;
12
+ visible?: boolean;
13
+ disabled?: boolean;
14
+ routerLink?: string | Array<string>;
15
+ href?: string;
16
+ target?: string;
17
+ queryParams?: {
18
+ [k: string]: any;
19
+ };
20
+ fragment?: string;
21
+ queryParamsHandling?: QueryParamsHandling;
22
+ preserveFragment?: boolean;
23
+ skipLocationChange?: boolean;
24
+ replaceUrl?: boolean;
25
+ }
@@ -1,9 +1,9 @@
1
1
  import { Type } from '@angular/core';
2
2
  import { LoadChildren, Route, Routes } from '@angular/router';
3
- import { MenuItem } from 'primeng/api';
4
3
  import { MngMainLayoutComponent } from '../components/layout';
5
4
  import { ITableviewDataProvider } from '../data-providers';
6
5
  import { ActionDescriptor, TableviewDescriptor } from '../descriptors';
6
+ import { MngMenuItem } from '../models';
7
7
  import { BreadcrumbType } from './models';
8
8
  export declare class RoutesBuilder {
9
9
  private readonly layoutRoute?;
@@ -14,14 +14,14 @@ export declare class RoutesBuilder {
14
14
  static createWithLayout(layoutComponent?: typeof MngMainLayoutComponent): RoutesBuilder;
15
15
  addAngularRoute(route: Route): this;
16
16
  addRouteRedirect(path: string, redirectTo: string, pathMatch?: 'full' | 'prefix'): this;
17
- addLazyRoute(path: string, loadChildren: LoadChildren): this;
17
+ addLazyRoute(path: string, loadChildren: LoadChildren, canLoad?: Array<any>): this;
18
18
  addRoute(path: string, component: Type<any>): this;
19
19
  addTableviewRoutes<T, S>(path: string, descriptor: TableviewDescriptor<T>, tableviewDataProvider: ITableviewDataProvider<T, S>, actions?: Array<ActionDescriptor<T>>, hasDetails?: boolean, hasEdit?: boolean, hasAdd?: boolean): this;
20
20
  addTableviewRoutesFromComponent(path: string, component: Type<any>, hasDetails?: boolean, hasEdit?: boolean, hasAdd?: boolean): this;
21
21
  addRouteBuilder(routeBuilder: RouteBuilder): this;
22
22
  toRoute(): RouteBuilder;
23
23
  buildRoutes(): Routes;
24
- buildMenu(): Array<MenuItem>;
24
+ buildMenu(): Array<MngMenuItem>;
25
25
  }
26
26
  export declare class RouteBuilder {
27
27
  private readonly route;
@@ -47,8 +47,11 @@ export declare class RouteBuilder {
47
47
  withRedirectTo(redirectTo: string): this;
48
48
  withPathMatch(pathMatch: 'full' | 'prefix'): this;
49
49
  withTitle(title: string): this;
50
+ withCanActivate(diToken: any): this;
51
+ withCanDeactivate(diToken: any): this;
52
+ withResolver(diToken: any, name: string): this;
50
53
  withData(data: any): this;
51
- withPrimeMenuItem(menuItem: MenuItem): this;
54
+ withMngMenuItem(menuItem: MngMenuItem): this;
52
55
  withMenuItem(icon?: string, label?: string, routerLink?: Array<string>): this;
53
56
  withMenuItemChild(label: string, icon?: string, routerLink?: Array<string>): this;
54
57
  withMenuItemChildren(routesBuilder: RoutesBuilder): this;
@@ -60,7 +63,8 @@ export declare class RouteBuilder {
60
63
  toRoot(): RoutesBuilder;
61
64
  finish(): RoutesBuilder;
62
65
  buildRoute(): Route;
63
- buildMenu(): Array<MenuItem>;
66
+ buildMenu(): Array<MngMenuItem>;
64
67
  private createMenuItem;
65
68
  private adjustMenuRouterLinksFromBuilder;
69
+ private findMenuItemGuards;
66
70
  }
@@ -1,10 +1,10 @@
1
1
  import { Title } from '@angular/platform-browser';
2
2
  import { Router } from '@angular/router';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
- import { MenuItem, PrimeNGConfig } from 'primeng/api';
4
+ import { PrimeNGConfig } from 'primeng/api';
5
5
  import { Observable } from 'rxjs';
6
6
  import { MngModuleConfig } from '../config/models';
7
- import { IUser } from '../models';
7
+ import { IUser, MngMenuItem } from '../models';
8
8
  import { MngConfigurationService } from './configuration.service';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class MngCommonsService {
@@ -48,11 +48,11 @@ export declare class MngCommonsService {
48
48
  get menuModeIsSidebar$(): Observable<boolean>;
49
49
  get menuActiveKey$(): Observable<string>;
50
50
  get menuReset$(): Observable<any>;
51
- get menuItems(): MenuItem[];
52
- set menuItems(menuItems: MenuItem[]);
51
+ get menuItems(): MngMenuItem[];
52
+ set menuItems(menuItems: MngMenuItem[]);
53
53
  get menuPinEnabled(): boolean;
54
- get breadcrumbHome$(): Observable<MenuItem | null>;
55
- get breadcrumbs$(): Observable<MenuItem[]>;
54
+ get breadcrumbHome$(): Observable<MngMenuItem | null>;
55
+ get breadcrumbs$(): Observable<MngMenuItem[]>;
56
56
  get colorSchemeIsLight(): boolean;
57
57
  get colorSchemeIsDark(): boolean;
58
58
  get user(): IUser | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "0.2.9",
3
+ "version": "0.2.11",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.1.0",
6
6
  "@angular/core": "^13.1.0",
package/public-api.d.ts CHANGED
@@ -23,4 +23,5 @@ export * from './lib/data-providers';
23
23
  export * from './lib/descriptors';
24
24
  export * from './lib/models';
25
25
  export * from './lib/router';
26
+ export * from './lib/router/models';
26
27
  export * from './lib/types';