@coolon/angular-ui-powerups 11.0.0-alpha.2 → 11.0.0-alpha.3

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.
Files changed (40) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +81 -42
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.metadata.json +1 -1
  6. package/esm2015/lib/place/components/abstract-place-navigation.component.js +3 -2
  7. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  8. package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
  9. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +14 -0
  10. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js.map +1 -0
  11. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.metadata.json +1 -0
  12. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.ngfactory.js.map +1 -0
  13. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.scss.shim.ngstyle.js.map +1 -0
  14. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +23 -14
  15. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  16. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  17. package/esm2015/lib/place/exports.js +1 -0
  18. package/esm2015/lib/place/exports.js.map +1 -1
  19. package/esm2015/lib/place/exports.metadata.json +1 -1
  20. package/esm2015/lib/place/guards/place.guard.js +5 -8
  21. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  22. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +2 -0
  23. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js.map +1 -1
  24. package/esm2015/lib/place/place-router.js +15 -4
  25. package/esm2015/lib/place/place-router.js.map +1 -1
  26. package/esm2015/lib/place/place-router.metadata.json +1 -1
  27. package/esm2015/lib/place/place.module.js +6 -2
  28. package/esm2015/lib/place/place.module.js.map +1 -1
  29. package/esm2015/lib/place/place.module.metadata.json +1 -1
  30. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  31. package/fesm2015/coolon-angular-ui-powerups.js +62 -30
  32. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  33. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +3 -0
  34. package/lib/place/components/place-outlet/place-outlet.component.d.ts +10 -3
  35. package/lib/place/exports.d.ts +1 -0
  36. package/lib/place/place-router.d.ts +10 -6
  37. package/package.json +1 -1
  38. package/schematics/utils/build-context.d.ts +4 -5
  39. package/schematics/utils/workspace.d.ts +3 -4
  40. package/schematics/utils/workspace.js.map +1 -1
@@ -0,0 +1,3 @@
1
+ export declare class NotAuthorisedNoticeComponent {
2
+ constructor();
3
+ }
@@ -1,15 +1,19 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { ComponentPortal } from '@angular/cdk/portal';
2
+ import { ChangeDetectorRef, EventEmitter, InjectionToken, OnInit } from '@angular/core';
2
3
  import { ActivatedRoute, Router, RouterOutlet } from '@angular/router';
3
4
  import { BooleanValueModelChain, Constructable, ListModel, ValueModel, ValueModelChain } from '@coolon/pectin';
4
5
  import { DisposableComponent } from '../../../components/disposable-component';
5
6
  import { PlaceComponent } from '../../place-component';
6
7
  import { PlaceConfig } from '../../place-config';
8
+ import { PlaceDefinition } from '../../place-definition';
7
9
  import { PlaceRouter } from '../../place-router';
8
10
  import { Visit } from '../../visit';
11
+ export declare const AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT: InjectionToken<Constructable<any>>;
9
12
  export declare class PlaceOutletComponent extends DisposableComponent implements OnInit {
10
13
  private readonly router;
11
14
  private readonly placeRouter;
12
15
  readonly placeConfig: PlaceConfig;
16
+ private readonly cdr;
13
17
  animate: boolean;
14
18
  animateModel: ValueModel<boolean>;
15
19
  customPlaceAnimationOrderModel: ListModel<Constructable<PlaceComponent>>;
@@ -20,7 +24,7 @@ export declare class PlaceOutletComponent extends DisposableComponent implements
20
24
  private outletActivated;
21
25
  private readonly _activatedRouteModel;
22
26
  private readonly _activePlaceModel;
23
- private readonly _activePlaceDefinition;
27
+ readonly _activePlaceDefinition: ValueModelChain<PlaceDefinition>;
24
28
  private parentOutletModel;
25
29
  readonly activePlaceAnimationPosition: ValueModelChain<number>;
26
30
  private initialPlaceIndex;
@@ -31,10 +35,13 @@ export declare class PlaceOutletComponent extends DisposableComponent implements
31
35
  private placesInAnimationOrder;
32
36
  private animationSupported;
33
37
  readonly animationEnabled: BooleanValueModelChain;
34
- constructor(router: Router, placeRouter: PlaceRouter, placeConfig: PlaceConfig, parentOutlet: PlaceOutletComponent);
38
+ readonly authorised: ValueModelChain<boolean>;
39
+ readonly notAuthorisedNoticePortal: ComponentPortal<any>;
40
+ constructor(router: Router, placeRouter: PlaceRouter, placeConfig: PlaceConfig, unauthorisedPlaceNotice: Constructable<any>, parentOutlet: PlaceOutletComponent, cdr: ChangeDetectorRef);
35
41
  ngOnInit(): void;
36
42
  getAnimationOrder(): number;
37
43
  get animationDuration(): string;
44
+ get isAuthorised(): boolean;
38
45
  navigate(visit: Visit): void;
39
46
  get parentOutlet(): PlaceOutletComponent;
40
47
  get activePlaceModel(): ValueModel<PlaceComponent>;
@@ -15,6 +15,7 @@ export * from "./url-snapshot";
15
15
  export * from "./visit";
16
16
  export * from "./components/abstract-place-navigation.component";
17
17
  export * from "./components/list-place-nav/list-place-nav.component";
18
+ export * from "./components/not-authorised-notice/not-authorised-notice.component";
18
19
  export * from "./components/place-outlet/place-outlet.component";
19
20
  export * from "./components/place-outlet/route-animations";
20
21
  export * from "./components/side-place-navigation/side-place-navigation.component";
@@ -1,6 +1,6 @@
1
1
  import { Location } from '@angular/common';
2
2
  import { ActivatedRoute, ActivatedRouteSnapshot, NavigationCancel, NavigationEnd, NavigationError, NavigationExtras, NavigationStart, Router, RouterStateSnapshot } from '@angular/router';
3
- import { GarbageCollector, ListModel, MapModelChain, MutableValueModel, ValueModel, ValueModelChain } from '@coolon/pectin';
3
+ import { GarbageCollector, ListModel, MutableValueModel, ValueModel, ValueModelChain } from '@coolon/pectin';
4
4
  import { InteractionService } from '../interaction/services/interaction.service';
5
5
  import { NavigationSession } from './navigation/session/navigation-session';
6
6
  import { PlaceAccessGuard } from './place-access-guard';
@@ -20,20 +20,19 @@ export declare class PlaceRouter extends GarbageCollector {
20
20
  readonly navigationSessionName: ValueModelChain<string>;
21
21
  private readonly navigationContext;
22
22
  private readonly _activeVisits;
23
- readonly activeVisitsByPlaceDefinition: MapModelChain<PlaceDefinition, Visit>;
24
- private routerInteractionAdapter;
23
+ private readonly routerInteractionAdapter;
25
24
  private sessionFinishedJobs;
25
+ readonly state: ValueModel<PlaceRouter.State>;
26
26
  /**
27
27
  * An observable model containing the authoriser function. This allows places to react to changes
28
28
  * in permissions when any underlying auth logic changes, e.g. a role being removed from a user.
29
29
  */
30
- private _accessGuard;
30
+ private readonly _accessGuard;
31
31
  private redirections;
32
32
  constructor(angularRouter: Router, angularLocation: Location, interactionService: InteractionService, urlService: UrlService, placeHistory: PlaceHistory);
33
33
  get accessGuard(): ValueModel<PlaceAccessGuard>;
34
34
  configureAuth(accessGrant: ValueModel<PlaceAccessGuard>, redirections: PlaceRouter.Redirections): void;
35
35
  getAuthenticationFailureRedirect(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Visit;
36
- getAuthorisationFailureRedirect(activatedRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Visit;
37
36
  get navigationSession(): NavigationSession;
38
37
  get currentSession(): NavigationSession;
39
38
  isNavigating(): boolean;
@@ -66,6 +65,11 @@ export declare class PlaceRouter extends GarbageCollector {
66
65
  export declare namespace PlaceRouter {
67
66
  interface Redirections {
68
67
  onAuthenticationFailure(activatedRoute?: ActivatedRouteSnapshot, state?: RouterStateSnapshot): Visit;
69
- onAuthorisationFailure(activatedRoute?: ActivatedRouteSnapshot, state?: RouterStateSnapshot): Visit;
68
+ }
69
+ class State {
70
+ private readonly activeVisits;
71
+ constructor(activeVisits: Visit[]);
72
+ isPlaceActive(placeDefinition: PlaceDefinition): boolean;
73
+ getVisitFor(placeDefinition: PlaceDefinition): Visit;
70
74
  }
71
75
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coolon/angular-ui-powerups",
3
- "version": "11.0.0-alpha.2",
3
+ "version": "11.0.0-alpha.3",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "dependencies": {
6
6
  "@coolon/typescript-utilities": "^2.2.0",
@@ -1,4 +1,3 @@
1
- import { experimental } from '@angular-devkit/core';
2
1
  import { SchematicContext, Tree } from '@angular-devkit/schematics';
3
2
  import { ClassDeclaration, SourceFile } from 'ts-morph';
4
3
  import { DecoratedSourceFile } from './decorators/decorated-source-file';
@@ -12,8 +11,8 @@ export declare abstract class BuildContext {
12
11
  get logger(): import("@angular-devkit/core/src/logger").LoggerApi;
13
12
  get tsConfigPath(): string;
14
13
  get sourceCodeRoot(): string;
15
- get sourceRoot(): string;
16
- get rootDir(): string;
14
+ get sourceRoot(): any;
15
+ get rootDir(): any;
17
16
  private loadTypeScriptProject;
18
17
  scanClassesInTree(tree: Tree, scanRootDirectory: string, scanClass: (sourceFile: SourceFile, classDeclaration: ClassDeclaration, path: string) => void): void;
19
18
  findFileInAncestorPath(pathToSourceRoot: string[], fileName: string): string;
@@ -21,12 +20,12 @@ export declare abstract class BuildContext {
21
20
  }
22
21
  export declare namespace BuildContext {
23
22
  interface Settings {
24
- readonly workspaceProject: experimental.workspace.WorkspaceProject;
23
+ readonly workspaceProject: any;
25
24
  readonly projectType: string;
26
25
  readonly tsConfigPath: string;
27
26
  }
28
27
  class App extends BuildContext {
29
- get selectorPrefix(): string;
28
+ get selectorPrefix(): any;
30
29
  }
31
30
  class Lib extends BuildContext {
32
31
  }
@@ -1,12 +1,11 @@
1
- import { experimental } from '@angular-devkit/core';
2
1
  import { SchematicContext, Tree } from '@angular-devkit/schematics';
3
2
  import { BuildContext } from './build-context';
4
3
  export declare class Workspace {
5
- readonly schema: experimental.workspace.WorkspaceSchema;
4
+ readonly schema: any;
6
5
  readonly tree: Tree;
7
6
  readonly context: SchematicContext;
8
- get defaultProject(): string;
9
- constructor(schema: experimental.workspace.WorkspaceSchema, tree: Tree, context: SchematicContext);
7
+ get defaultProject(): any;
8
+ constructor(schema: any, tree: Tree, context: SchematicContext);
10
9
  static load(tree: Tree, _context: SchematicContext): Workspace;
11
10
  getApplication(projectName: string): BuildContext.App;
12
11
  getApplicationOrDefault(projectName: string | undefined): BuildContext.App;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/utils/workspace.ts"],"names":[],"mappings":";;;AAEA,mDAA+C;AAC/C,MAAa,SAAS;IAMpB,YAAqB,MAA8C,EAAW,IAAU,EAAW,OAAyB;QAAvG,WAAM,GAAN,MAAM,CAAwC;QAAW,SAAI,GAAJ,IAAI,CAAM;QAAW,YAAO,GAAP,OAAO,CAAkB;IAC5H,CAAC;IALD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACpC,CAAC;IAKD,MAAM,CAAC,IAAI,CAAC,IAAU,EAAE,QAA0B;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;QACpD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,WAAW,KAAK,KAAK,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,gBAAgB,CAAC,CAAC;SAC7E;QACD,OAAO,IAAI,4BAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,uBAAuB,CAAC,WAA6B;QACnD,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,UAAU,CAAC,WAAmB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,WAAW,KAAK,KAAK,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,gBAAgB,CAAC,CAAC;SAC7E;QACD,OAAO,IAAI,4BAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAGS,mBAAmB,CAAC,OAAe,EAAE,IAAU;QAEvD,MAAM,gBAAgB,GAA4C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC9H,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvE,+EAA+E;QAC/E,OAAO;YACL,gBAAgB;YAChB,WAAW,EAAE,gBAAgB,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;YAC3E,YAAY;SACb,CAAC;IACJ,CAAC;CAGF;AApDD,8BAoDC"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/schematics/utils/workspace.ts"],"names":[],"mappings":";;;AAEA,mDAA+C;AAE/C,MAAa,SAAS;IAMpB,YAAqB,MAAW,EAAW,IAAU,EAAW,OAAyB;QAApE,WAAM,GAAN,MAAM,CAAK;QAAW,SAAI,GAAJ,IAAI,CAAM;QAAW,YAAO,GAAP,OAAO,CAAkB;IACzF,CAAC;IALD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACpC,CAAC;IAKD,MAAM,CAAC,IAAI,CAAC,IAAU,EAAE,QAA0B;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;QACpD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED,cAAc,CAAC,WAAmB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,WAAW,KAAK,KAAK,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,gBAAgB,CAAC,CAAC;SAC7E;QACD,OAAO,IAAI,4BAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,uBAAuB,CAAC,WAA6B;QACnD,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,UAAU,CAAC,WAAmB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,QAAQ,CAAC,WAAW,KAAK,KAAK,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,gBAAgB,CAAC,CAAC;SAC7E;QACD,OAAO,IAAI,4BAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAGS,mBAAmB,CAAC,OAAe,EAAE,IAAU;QAEvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvE,+EAA+E;QAC/E,OAAO;YACL,gBAAgB;YAChB,WAAW,EAAE,gBAAgB,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;YAC3E,YAAY;SACb,CAAC;IACJ,CAAC;CAGF;AApDD,8BAoDC"}