@coolon/angular-ui-powerups 12.0.0-alpha.0 → 12.0.0-alpha.2

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 (33) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +244 -222
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/coolon-angular-ui-powerups.metadata.json +1 -1
  4. package/esm2015/lib/place/exports.js +1 -1
  5. package/esm2015/lib/place/exports.js.map +1 -1
  6. package/esm2015/lib/place/exports.metadata.json +1 -1
  7. package/esm2015/lib/place/place-component.js +17 -5
  8. package/esm2015/lib/place/place-component.js.map +1 -1
  9. package/esm2015/lib/place/place-component.metadata.json +1 -1
  10. package/esm2015/lib/place/place-definition.js +1 -1
  11. package/esm2015/lib/place/place-definition.js.map +1 -1
  12. package/esm2015/lib/place/place-definition.metadata.json +1 -1
  13. package/esm2015/lib/place/route/parameter-decorators.js +19 -12
  14. package/esm2015/lib/place/route/parameter-decorators.js.map +1 -1
  15. package/esm2015/lib/place/route/parameter-decorators.metadata.json +1 -1
  16. package/esm2015/lib/place/route/{parameter-definition.class.js → parameter-definition.js} +12 -3
  17. package/esm2015/lib/place/route/parameter-definition.js.map +1 -0
  18. package/esm2015/lib/place/route/{parameter-definition.class.metadata.json → parameter-definition.metadata.json} +1 -1
  19. package/esm2015/lib/place/route/parameter-snapshot.js.map +1 -1
  20. package/esm2015/lib/place/visit.js.map +1 -1
  21. package/fesm2015/coolon-angular-ui-powerups.js +236 -214
  22. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  23. package/lib/place/exports.d.ts +1 -1
  24. package/lib/place/place-component.d.ts +1 -1
  25. package/lib/place/place-definition.d.ts +1 -1
  26. package/lib/place/route/parameter-snapshot.d.ts +1 -1
  27. package/lib/place/visit.d.ts +1 -1
  28. package/package.json +3 -3
  29. package/schematics/activity/templates/component/__name@dasherize__.component.html.template +5 -1
  30. package/schematics/activity/templates/component/__name@dasherize__.component.scss.template +0 -1
  31. package/schematics/activity/templates/component/__name@dasherize__.component.ts.template +7 -0
  32. package/esm2015/lib/place/route/parameter-definition.class.js.map +0 -1
  33. /package/lib/place/route/{parameter-definition.class.d.ts → parameter-definition.d.ts} +0 -0
@@ -40,7 +40,7 @@ export * from "./navigation/session/interactions/synchronise-interaction-context
40
40
  export * from "./route/formatter";
41
41
  export * from "./route/json-types";
42
42
  export * from "./route/parameter-decorators";
43
- export * from "./route/parameter-definition.class";
43
+ export * from "./route/parameter-definition";
44
44
  export * from "./route/parameter-sanitiser";
45
45
  export * from "./route/parameter-snapshot";
46
46
  export * from "./route/visit-sanitiser";
@@ -4,7 +4,7 @@ import 'reflect-metadata';
4
4
  import { DisposableComponent } from '../components/disposable-component';
5
5
  import { InteractionContext } from '../interaction/interaction-context';
6
6
  import { PlaceDefinition } from './place-definition';
7
- import { ParameterDefinition } from './route/parameter-definition.class';
7
+ import { ParameterDefinition } from './route/parameter-definition';
8
8
  import { Visit } from './visit';
9
9
  export declare const DEFINITION_META_DATA_KEY = "PLACE_DEFINITION_OPTIONS";
10
10
  export declare const ROUTE_PARAMETER_LIST_KEY: unique symbol;
@@ -1,7 +1,7 @@
1
1
  import { ParamMap } from '@angular/router';
2
2
  import { Constructable } from '@coolon/pectin';
3
3
  import { PlaceComponent } from './place-component';
4
- import { ParameterDefinition } from './route/parameter-definition.class';
4
+ import { ParameterDefinition } from './route/parameter-definition';
5
5
  import { Visit } from './visit';
6
6
  export declare class PlaceDefinition {
7
7
  readonly component: Constructable<PlaceComponent>;
@@ -1,4 +1,4 @@
1
- import { ParameterDefinition } from './parameter-definition.class';
1
+ import { ParameterDefinition } from './parameter-definition';
2
2
  export interface ParameterSnapshot<T> {
3
3
  definition: ParameterDefinition<T, any>;
4
4
  readonly value: T;
@@ -1,5 +1,5 @@
1
1
  import { PlaceDefinition } from './place-definition';
2
- import { ParameterDefinition } from './route/parameter-definition.class';
2
+ import { ParameterDefinition } from './route/parameter-definition';
3
3
  interface Params {
4
4
  [p: string]: any;
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coolon/angular-ui-powerups",
3
- "version": "12.0.0-alpha.0",
3
+ "version": "12.0.0-alpha.2",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "dependencies": {
6
6
  "@coolon/typescript-utilities": "^2.2.0",
@@ -31,8 +31,8 @@
31
31
  "@angular/router": "^12.0.3",
32
32
  "rxjs": "~6.6.3",
33
33
  "reflect-metadata": "^0.1.13",
34
- "zone.js": "~0.10.3",
35
- "@coolon/pectin": ">=3.11.1"
34
+ "zone.js": "~0.11.4",
35
+ "@coolon/pectin": ">=3.13.2"
36
36
  },
37
37
  "main": "bundles/coolon-angular-ui-powerups.umd.js",
38
38
  "module": "fesm2015/coolon-angular-ui-powerups.js",
@@ -1 +1,5 @@
1
- <p><%=name%> works!</p>
1
+ <aup-activity-title><%=name%></aup-activity-title>
2
+ <aup-activity-body>
3
+ <p><%=name%> works!</p>
4
+ </aup-activity-body>
5
+ <aup-activity-commands [confirmFace]="i18n.actions.confirm" [cancelFace]="i18n.actions.cancel"></aup-activity-commands>
@@ -1,5 +1,4 @@
1
1
  :host {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- padding: var(--default-padding);
5
4
  }
@@ -15,6 +15,13 @@ export class <%=capitalize(camelize(name))%>Component extends Activity<<%=capita
15
15
  constructor(@Inject(ACTIVITY_DATA) private readonly data: <%=capitalize(camelize(name))%>.Data) {
16
16
  super();
17
17
  const {chain} = Dsl.disposeWith(this);
18
+
19
+ this.confirmCommand = Command.create(() => {
20
+ this.done();
21
+ });
22
+ this.cancelCommand = Command.create(() => {
23
+ this.cancel();
24
+ });
18
25
  }
19
26
 
20
27
  ngOnInit() {
@@ -1 +0,0 @@
1
- {"version":3,"file":"parameter-definition.class.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/place/route/parameter-definition.class.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injector } from '@angular/core';\nimport { Trace } from '@coolon/pectin';\nimport { Opts } from '@coolon/typescript-utilities';\nimport _ from 'lodash';\nimport { PlaceHistory } from '../place-history';\nimport { Visit } from '../visit';\nimport { Formatter } from './formatter';\n\nexport abstract class ParameterDefinition<T, E = T> {\n\n abstract readonly isRouteId: boolean;\n abstract readonly isArray: boolean;\n\n readonly remember: boolean;\n readonly defaultValue: T;\n private options: Opts<ParameterDefinition.Options<T>>;\n\n constructor(readonly propertyName: string, options: ParameterDefinition.Options<T>, readonly urlFormat?: Formatter<E>) {\n this.options = Opts.get(options);\n this.remember = this.options.getOptional('remember', false);\n this.defaultValue = this.options.getOptional('defaultValue', null);\n }\n\n get name() {\n return this.options.getOptional('as', this.propertyName);\n }\n\n // @Trace()\n get isRouteParameter(): boolean {\n return !!this.urlFormat;\n }\n\n abstract isEmptyValue(value: T): boolean;\n\n abstract hasChanged(a: any, b: any): boolean;\n\n protected getOptionValue<K extends keyof ParameterDefinition.Options<T>>(key: K): ParameterDefinition.Options<T>[K] {\n return this.options.getOptional(key, null);\n }\n\n // @Trace()\n async sanitise(value:T, visit: Visit, placeHistory: PlaceHistory, injector: Injector, isPopState: boolean) {\n if (this.isMissingFrom(visit)) {\n const returningFromSomewhereElse = !placeHistory.lastVisitIncluded(visit.placeDefinition);\n if (returningFromSomewhereElse) {\n const lastKnownVisit = placeHistory.getMostRecentVisitFor(visit.placeDefinition);\n if (this.remember && lastKnownVisit) {\n value = lastKnownVisit.getParameter(this.name);\n }\n return this.isEmptyValue(value) ? this.defaultValue : value;\n }\n }\n // todo: add custom sanitiser\n return value;\n }\n\n private isMissingFrom(visit: Visit) {\n return !visit.hasParameter(this.name);\n }\n}\n\nexport namespace ParameterDefinition {\n\n export interface Options<T> {\n as?: string;\n optional?: boolean;\n remember?: boolean;\n defaultValue?: T;\n // sanitiser?: Constructable<ParameterSanitiser<T>> | ParameterSanitiser.Options<T>;\n }\n\n export class RouteId<T> extends ParameterDefinition<T> {\n readonly isRouteId = true;\n readonly isArray = false;\n\n isEmptyValue(value: T): boolean {\n return _.isNil(value);\n }\n\n hasChanged(a: any, b: any): boolean {\n return a !== b;\n }\n }\n\n export class ValueParameter<T> extends ParameterDefinition<T> {\n readonly isRouteId = false;\n readonly isArray = false;\n\n isEmptyValue(value: T): boolean {\n return _.isNil(value);\n }\n\n hasChanged(a: any, b: any): boolean {\n return a !== b;\n }\n }\n\n export class ArrayParameter<T> extends ParameterDefinition<T[], T> {\n readonly isRouteId = false;\n readonly isArray = true;\n\n constructor(parameterName: string, options: Options<T[]>, urlFormat: Formatter<T>) {\n super(parameterName, options, urlFormat);\n }\n\n isEmptyValue(value: T[]): boolean {\n return _.isNil(value) || value.length < 1;\n }\n\n hasChanged(a: T[], b: T[]): boolean {\n return !_.isEqual(a, b);\n }\n\n }\n}\n"]}