@coolon/angular-ui-powerups 1.0.1 → 1.1.0

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 (132) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/bundles/coolon-angular-ui-powerups.umd.js +446 -169
  3. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  6. package/coolon-angular-ui-powerups.d.ts +26 -25
  7. package/coolon-angular-ui-powerups.metadata.json +1 -1
  8. package/esm2015/coolon-angular-ui-powerups.js +24 -23
  9. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  10. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  11. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  12. package/esm2015/lib/components/components.module.js +9 -2
  13. package/esm2015/lib/components/components.module.js.map +1 -1
  14. package/esm2015/lib/components/components.module.metadata.json +1 -1
  15. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  16. package/esm2015/lib/components/forms/abstract-input.component.js +12 -1
  17. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  18. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  19. package/esm2015/lib/components/forms/number-input/number-input.component.js +2 -2
  20. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  21. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  22. package/esm2015/lib/components/forms/password-input/password-input.component.js +2 -2
  23. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  24. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  25. package/esm2015/lib/components/forms/select-input/select-input.component.js +3 -3
  26. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  27. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  28. package/esm2015/lib/components/forms/string-input/string-input.component.js +3 -3
  29. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  30. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  31. package/esm2015/lib/components/index.js +1 -0
  32. package/esm2015/lib/components/index.js.map +1 -1
  33. package/esm2015/lib/components/index.metadata.json +1 -1
  34. package/esm2015/lib/components/switch-case/switch-case.component.js +124 -0
  35. package/esm2015/lib/components/switch-case/switch-case.component.js.map +1 -0
  36. package/esm2015/lib/components/switch-case/switch-case.component.metadata.json +1 -0
  37. package/esm2015/lib/components/switch-case/switch-case.component.ngfactory.js.map +1 -0
  38. package/esm2015/lib/components/switch-case/switch-case.component.scss.shim.ngstyle.js.map +1 -0
  39. package/esm2015/lib/directives/command.directive.js +4 -4
  40. package/esm2015/lib/directives/command.directive.js.map +1 -1
  41. package/esm2015/lib/directives/focus-binding.directive.js +3 -3
  42. package/esm2015/lib/directives/focus-binding.directive.js.map +1 -1
  43. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
  44. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
  45. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
  46. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
  47. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
  48. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
  49. package/esm2015/lib/place/components/abstract-place-navigation.component.js +3 -3
  50. package/esm2015/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  51. package/esm2015/lib/place/components/abstract-place-navigation.component.metadata.json +1 -1
  52. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js +2 -2
  53. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -1
  54. package/esm2015/lib/place/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
  55. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +3 -3
  56. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  57. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  58. package/esm2015/lib/place/guards/place.guard.js +4 -3
  59. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  60. package/esm2015/lib/place/place-component.js +2 -2
  61. package/esm2015/lib/place/place-component.js.map +1 -1
  62. package/esm2015/lib/place/place-history.js +116 -13
  63. package/esm2015/lib/place/place-history.js.map +1 -1
  64. package/esm2015/lib/place/place-history.metadata.json +1 -1
  65. package/esm2015/lib/place/place-router.js +13 -6
  66. package/esm2015/lib/place/place-router.js.map +1 -1
  67. package/esm2015/lib/place/place-router.metadata.json +1 -1
  68. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  69. package/esm2015/lib/place/route/parameter-definition.class.js +10 -9
  70. package/esm2015/lib/place/route/parameter-definition.class.js.map +1 -1
  71. package/esm2015/lib/place/route/visit-sanitiser.js +14 -6
  72. package/esm2015/lib/place/route/visit-sanitiser.js.map +1 -1
  73. package/esm2015/lib/place/route/visit-sanitiser.metadata.json +1 -1
  74. package/esm5/coolon-angular-ui-powerups.js +24 -23
  75. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  76. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  77. package/esm5/lib/components/components.module.js +9 -2
  78. package/esm5/lib/components/components.module.js.map +1 -1
  79. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  80. package/esm5/lib/components/forms/abstract-input.component.js +12 -1
  81. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  82. package/esm5/lib/components/forms/number-input/number-input.component.js +2 -2
  83. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  84. package/esm5/lib/components/forms/password-input/password-input.component.js +2 -2
  85. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  86. package/esm5/lib/components/forms/select-input/select-input.component.js +3 -3
  87. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  88. package/esm5/lib/components/forms/string-input/string-input.component.js +3 -3
  89. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  90. package/esm5/lib/components/index.js +1 -0
  91. package/esm5/lib/components/index.js.map +1 -1
  92. package/esm5/lib/components/switch-case/switch-case.component.js +144 -0
  93. package/esm5/lib/components/switch-case/switch-case.component.js.map +1 -0
  94. package/esm5/lib/components/switch-case/switch-case.component.ngfactory.js.map +1 -0
  95. package/esm5/lib/components/switch-case/switch-case.component.scss.shim.ngstyle.js.map +1 -0
  96. package/esm5/lib/directives/command.directive.js +4 -4
  97. package/esm5/lib/directives/command.directive.js.map +1 -1
  98. package/esm5/lib/directives/focus-binding.directive.js +3 -3
  99. package/esm5/lib/directives/focus-binding.directive.js.map +1 -1
  100. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
  101. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
  102. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
  103. package/esm5/lib/place/components/abstract-place-navigation.component.js +3 -3
  104. package/esm5/lib/place/components/abstract-place-navigation.component.js.map +1 -1
  105. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js +2 -2
  106. package/esm5/lib/place/components/busy-overlay/busy-overlay.component.js.map +1 -1
  107. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +3 -3
  108. package/esm5/lib/place/components/place-outlet/place-outlet.component.js.map +1 -1
  109. package/esm5/lib/place/guards/place.guard.js +5 -4
  110. package/esm5/lib/place/guards/place.guard.js.map +1 -1
  111. package/esm5/lib/place/place-component.js +2 -2
  112. package/esm5/lib/place/place-component.js.map +1 -1
  113. package/esm5/lib/place/place-history.js +117 -11
  114. package/esm5/lib/place/place-history.js.map +1 -1
  115. package/esm5/lib/place/place-router.js +13 -7
  116. package/esm5/lib/place/place-router.js.map +1 -1
  117. package/esm5/lib/place/route/parameter-decorators.js.map +1 -1
  118. package/esm5/lib/place/route/parameter-definition.class.js +11 -11
  119. package/esm5/lib/place/route/parameter-definition.class.js.map +1 -1
  120. package/esm5/lib/place/route/visit-sanitiser.js +14 -6
  121. package/esm5/lib/place/route/visit-sanitiser.js.map +1 -1
  122. package/fesm2015/coolon-angular-ui-powerups.js +377 -127
  123. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  124. package/fesm5/coolon-angular-ui-powerups.js +405 -135
  125. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  126. package/lib/components/forms/abstract-input.component.d.ts +11 -1
  127. package/lib/components/index.d.ts +1 -0
  128. package/lib/components/switch-case/switch-case.component.d.ts +32 -0
  129. package/lib/place/place-history.d.ts +17 -3
  130. package/lib/place/route/parameter-definition.class.d.ts +1 -1
  131. package/lib/place/route/visit-sanitiser.d.ts +3 -1
  132. package/package.json +2 -2
@@ -3,7 +3,17 @@ import { ErrorStateMatcher } from '@angular/material/core';
3
3
  import { Command, DelegatingFormValueModel, ListModel, ValueModel } from '@coolon/pectin';
4
4
  import { DisposableComponent } from '../disposable-component';
5
5
  export declare class AbstractInputComponent<T> extends DisposableComponent implements OnInit {
6
- readonly delegatingFormValueModel: DelegatingFormValueModel<T>;
6
+ /**
7
+ * A backing model for all our @Input() valueModel properties which should be defined as follows.
8
+ *
9
+ * @Input() @TrackExternal({useExisting: "delegatingFormValueModel"})
10
+ * valueModel: FormValueModel<string> | MutableValueModel<string>;
11
+ *
12
+ * This approach allows the input to accept plain or form models but all backed by a form
13
+ * friendly delegate. We have to use an existing delegate for union types as pectin just
14
+ * gets told it's an Object and can't scan for a base type annotated with @DelegateUsing(..).
15
+ */
16
+ protected readonly delegatingFormValueModel: DelegatingFormValueModel<T>;
7
17
  label: string;
8
18
  floatLabel: 'auto' | 'always' | 'never';
9
19
  hint: string;
@@ -11,6 +11,7 @@ export * from "./forms/select-input/select-input.component";
11
11
  export * from "./forms/string-input/string-input.component";
12
12
  export * from "./noop/noop.component";
13
13
  export * from "./scroll-container/scroll-container.component";
14
+ export * from "./switch-case/switch-case.component";
14
15
  export * from "./types/bounds.class";
15
16
  export * from "./types/dimension.class";
16
17
  export * from "./types/point.class";
@@ -0,0 +1,32 @@
1
+ import { AfterContentInit, ChangeDetectorRef, OnInit, QueryList, TemplateRef } from '@angular/core';
2
+ import { ValueModel } from '@coolon/pectin';
3
+ import { DisposableComponent } from '../disposable-component';
4
+ export declare abstract class SwitchCaseOption<T> {
5
+ readonly templateRef: TemplateRef<Object>;
6
+ abstract readonly isDefault: boolean;
7
+ constructor(templateRef: TemplateRef<Object>);
8
+ get name(): string;
9
+ abstract matches(value: T): boolean;
10
+ }
11
+ export declare class SwitchCaseWhenDirective<T> extends SwitchCaseOption<T> {
12
+ aupSwitchCaseWhen: T;
13
+ readonly isDefault = false;
14
+ constructor(templateRef: TemplateRef<Object>);
15
+ matches(value: T): boolean;
16
+ }
17
+ export declare class SwitchCaseDefaultDirective<T> extends SwitchCaseOption<T> {
18
+ readonly isDefault = true;
19
+ constructor(templateRef: TemplateRef<Object>);
20
+ matches(value: T): boolean;
21
+ }
22
+ export declare class SwitchCaseComponent<T> extends DisposableComponent implements OnInit, AfterContentInit {
23
+ private cdr;
24
+ switchModel: ValueModel<T>;
25
+ switch: T;
26
+ switchCaseOptions: QueryList<SwitchCaseOption<T>>;
27
+ selectedIndex: number;
28
+ constructor(cdr: ChangeDetectorRef);
29
+ ngOnInit(): void;
30
+ ngAfterContentInit(): void;
31
+ private updateSelection;
32
+ }
@@ -1,11 +1,25 @@
1
1
  import { PlaceDefinition } from './place-definition';
2
2
  import { Visit } from './visit';
3
3
  export declare class PlaceHistory {
4
- private _history;
4
+ private _activeVisits;
5
+ private _previousVisits;
6
+ private _archive;
7
+ private readonly placeHistoryDepth;
5
8
  constructor();
6
- add(state: Visit): void;
9
+ notifyNavigationStarted(): void;
10
+ notifyNavigationFinished(visits: Visit[]): void;
11
+ updateVisit(visit: Visit): void;
12
+ lastVisitIncluded(placeDef: PlaceDefinition): boolean;
13
+ getMostRecentVisitFor(placeDef: PlaceDefinition): Visit;
7
14
  getHistory(placeDef: PlaceDefinition): Visit[];
8
15
  private setHistory;
16
+ protected archive(visits: Visit[]): void;
9
17
  }
10
- export declare namespace VisitHistory {
18
+ export declare namespace PlaceHistory {
19
+ class VisitRecord {
20
+ visits: Visit[];
21
+ constructor(visits: Visit[]);
22
+ update(visit: Visit): void;
23
+ getVisitFor(placeDef: PlaceDefinition): Visit | undefined;
24
+ }
11
25
  }
@@ -16,7 +16,7 @@ export declare abstract class ParameterDefinition<T, E = T> {
16
16
  abstract isEmptyValue(value: T): boolean;
17
17
  abstract hasChanged(a: any, b: any): boolean;
18
18
  protected getOptionValue<K extends keyof ParameterDefinition.Options<T>>(key: K): ParameterDefinition.Options<T>[K];
19
- sanitise(value: T, visit: Visit, placeHistory: PlaceHistory, injector: Injector): Promise<T>;
19
+ sanitise(value: T, visit: Visit, placeHistory: PlaceHistory, injector: Injector, isPopState: boolean): Promise<T>;
20
20
  private isMissingFrom;
21
21
  }
22
22
  export declare namespace ParameterDefinition {
@@ -1,12 +1,14 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { ActivatedRouteSnapshot, Router } from '@angular/router';
3
+ import { NavigationSession } from '../navigation/session/navigation-session';
3
4
  import { PlaceHistory } from '../place-history';
4
5
  import { Visit } from '../visit';
5
6
  export declare class VisitSanitiser {
7
+ private navigationSession;
6
8
  private activatedRoute;
7
9
  private router;
8
10
  private placeHistory;
9
11
  private injector;
10
- constructor(activatedRoute: ActivatedRouteSnapshot, router: Router, placeHistory: PlaceHistory, injector: Injector);
12
+ constructor(navigationSession: NavigationSession, activatedRoute: ActivatedRouteSnapshot, router: Router, placeHistory: PlaceHistory, injector: Injector);
11
13
  sanitise(visit: Visit): Promise<Visit>;
12
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coolon/angular-ui-powerups",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "dependencies": {
6
6
  "ts-morph": "^7.0.3",
@@ -14,7 +14,7 @@
14
14
  "@angular/material": "^9.2.2",
15
15
  "@angular/animations": "^9.1.4",
16
16
  "@angular/cdk": "^9.2.2",
17
- "@coolon/pectin": ">=1.16.3",
17
+ "@coolon/pectin": ">=1.19.0",
18
18
  "resize-observer-polyfill": "^1.5.1",
19
19
  "tslib": "^1.10.0"
20
20
  },