@coolon/angular-ui-powerups 0.0.125 → 0.0.126
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.
- package/bundles/coolon-angular-ui-powerups.umd.js +5 -7
- package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
- package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
- package/esm2015/lib/place/place-component.js +2 -8
- package/esm2015/lib/place/place-component.js.map +1 -1
- package/esm2015/lib/place/place-component.metadata.json +1 -1
- package/esm5/lib/place/place-component.js +6 -9
- package/esm5/lib/place/place-component.js.map +1 -1
- package/fesm2015/coolon-angular-ui-powerups.js +2 -7
- package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
- package/fesm5/coolon-angular-ui-powerups.js +6 -8
- package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
import { assert, Binding, DebugContext, lang
|
|
6
|
+
import { assert, Binding, DebugContext, lang } from '@coolon/pectin';
|
|
7
7
|
import { Klass } from '@coolon/typescript-utilities';
|
|
8
8
|
import { Memoize } from '@typescript-plus/fast-memoize-decorator';
|
|
9
9
|
import 'reflect-metadata';
|
|
10
10
|
import { DisposableComponent } from '../components/disposable-component';
|
|
11
11
|
import { PlaceDefinition } from './place-definition';
|
|
12
|
-
import { ParameterDefinition } from './route/parameter-definition.class';
|
|
13
12
|
// RAKE: making this Symbol(...) broke things.
|
|
14
13
|
/** @type {?} */
|
|
15
14
|
export const DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';
|
|
@@ -36,6 +35,7 @@ export class PlaceComponent extends DisposableComponent {
|
|
|
36
35
|
this.installBinding(parameterDef);
|
|
37
36
|
}));
|
|
38
37
|
}
|
|
38
|
+
// @Trace()
|
|
39
39
|
/**
|
|
40
40
|
* @private
|
|
41
41
|
* @template T, S
|
|
@@ -97,12 +97,6 @@ export class PlaceComponent extends DisposableComponent {
|
|
|
97
97
|
onPlaceReady() {
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
tslib_1.__decorate([
|
|
101
|
-
Trace(),
|
|
102
|
-
tslib_1.__metadata("design:type", Function),
|
|
103
|
-
tslib_1.__metadata("design:paramtypes", [ParameterDefinition]),
|
|
104
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
105
|
-
], PlaceComponent.prototype, "installBinding", null);
|
|
106
100
|
tslib_1.__decorate([
|
|
107
101
|
Memoize(),
|
|
108
102
|
tslib_1.__metadata("design:type", PlaceDefinition),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"place-component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-component.ts"],"names":[],"mappings":";;;;;AACA,OAAO,EACL,MAAM,EACN,OAAO,EAEP,YAAY,EAEZ,IAAI,
|
|
1
|
+
{"version":3,"file":"place-component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-component.ts"],"names":[],"mappings":"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","sourcesContent":["import { AfterViewInit } from '@angular/core';\nimport {\n assert,\n Binding,\n Constructable,\n DebugContext,\n IMutableHasValue,\n lang, Trace,\n TransactionObserver,\n ValueModel\n} from '@coolon/pectin';\nimport { Klass } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator';\nimport 'reflect-metadata';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { InteractionContext } from '../interaction/interaction-context';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterDefinition } from './route/parameter-definition.class';\nimport { Visit } from './visit';\n\n// RAKE: making this Symbol(...) broke things.\nexport const DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';\n// this one seems ok.\nexport const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');\n\nexport class PlaceComponent extends DisposableComponent {\n\n private visit: ValueModel<Visit>;\n // private _inDeactivationGuard = new MutableValueModel<boolean>(false);\n\n interactionContext?: InteractionContext;\n\n canDeactivate?(interactionContext: InteractionContext): boolean | Promise<boolean>;\n\n constructor() {\n super();\n }\n\n public initialiseVisit(visit: ValueModel<Visit>) {\n assert.isNil(this.visit);\n this.visit = visit;\n DebugContext.get(this.visit).tag(`${this.placeDefinition.component.name}.visit`);\n this.placeDefinition.getVisitParameterDefs().forEach(parameterDef => {\n this.installBinding(parameterDef);\n });\n }\n\n // @Trace()\n private installBinding<T, S>(parameterDef: ParameterDefinition<T, S>) {\n const model = this[parameterDef.propertyName] as IMutableHasValue<S>;\n DebugContext.tag(model, `${this.placeDefinition.component.name}.${parameterDef.propertyName}`);\n const binding = this.registerDisposable(new Binding(this.visit, model, {\n toRight(visit: Visit): S {\n const value = visit.getParameter(parameterDef.name);\n console.log('push to component', {name:parameterDef.name, value, visit});\n return value;\n },\n toLeft(value: S, currentVisit?: Visit): Visit {\n console.log('push to route', { name: parameterDef.name, value, currentVisit });\n return currentVisit.replace(parameterDef, value);\n }\n }));\n setTimeout(() => {\n binding.writeRight();\n })\n }\n\n @Memoize()\n get placeDefinition(): PlaceDefinition {\n return PlaceComponent.getDefinition(this.constructor as any as Constructable<PlaceComponent>);\n }\n\n get childPlaces(): Constructable<PlaceComponent>[] {\n return this.placeDefinition.children.map(d => d.component);\n }\n\n onPlaceReady() {\n }\n\n}\n\nexport namespace PlaceComponent {\n\n export function isPlaceComponentConstructor(target: any): target is Constructable<PlaceComponent> {\n return lang.constructorChain(target as Constructable<any>).includes(PlaceComponent);\n }\n\n export function getRouteParameters(klass: Constructable<PlaceComponent>): ParameterDefinition<any>[] {\n return Klass.get(klass).getMetadataList(ROUTE_PARAMETER_LIST_KEY);\n }\n\n export function getDefinition(klass: Constructable<PlaceComponent>): PlaceDefinition {\n return Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);\n }\n\n export function injectDefinition(klass: Constructable<PlaceComponent>, definition: PlaceDefinition) {\n Reflect.defineMetadata(DEFINITION_META_DATA_KEY, definition, klass);\n }\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"DEFINITION_META_DATA_KEY":"PLACE_DEFINITION_OPTIONS","ROUTE_PARAMETER_LIST_KEY":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Symbol"},"arguments":["place:route:parameters"]},"PlaceComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../components/disposable-component","name":"DisposableComponent","line":25,"character":36},"members":{"canDeactivate":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor"}],"initialiseVisit":[{"__symbolic":"method"}],"installBinding":[{"__symbolic":"method"
|
|
1
|
+
[{"__symbolic":"module","version":4,"metadata":{"DEFINITION_META_DATA_KEY":"PLACE_DEFINITION_OPTIONS","ROUTE_PARAMETER_LIST_KEY":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Symbol"},"arguments":["place:route:parameters"]},"PlaceComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../components/disposable-component","name":"DisposableComponent","line":25,"character":36},"members":{"canDeactivate":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor"}],"initialiseVisit":[{"__symbolic":"method"}],"installBinding":[{"__symbolic":"method"}],"placeDefinition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@typescript-plus/fast-memoize-decorator","name":"Memoize","line":67,"character":3}}]}],"onPlaceReady":[{"__symbolic":"method"}]}}}}]
|
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
import { assert, Binding, DebugContext, lang
|
|
6
|
+
import { assert, Binding, DebugContext, lang } from '@coolon/pectin';
|
|
7
7
|
import { Klass } from '@coolon/typescript-utilities';
|
|
8
8
|
import { Memoize } from '@typescript-plus/fast-memoize-decorator';
|
|
9
9
|
import 'reflect-metadata';
|
|
10
10
|
import { DisposableComponent } from '../components/disposable-component';
|
|
11
11
|
import { PlaceDefinition } from './place-definition';
|
|
12
|
-
import { ParameterDefinition } from './route/parameter-definition.class';
|
|
13
12
|
// RAKE: making this Symbol(...) broke things.
|
|
14
13
|
/** @type {?} */
|
|
15
14
|
export var DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';
|
|
@@ -42,13 +41,17 @@ var PlaceComponent = /** @class */ (function (_super) {
|
|
|
42
41
|
_this.installBinding(parameterDef);
|
|
43
42
|
}));
|
|
44
43
|
};
|
|
44
|
+
// @Trace()
|
|
45
|
+
// @Trace()
|
|
45
46
|
/**
|
|
46
47
|
* @private
|
|
47
48
|
* @template T, S
|
|
48
49
|
* @param {?} parameterDef
|
|
49
50
|
* @return {?}
|
|
50
51
|
*/
|
|
51
|
-
PlaceComponent.prototype.installBinding =
|
|
52
|
+
PlaceComponent.prototype.installBinding =
|
|
53
|
+
// @Trace()
|
|
54
|
+
/**
|
|
52
55
|
* @private
|
|
53
56
|
* @template T, S
|
|
54
57
|
* @param {?} parameterDef
|
|
@@ -119,12 +122,6 @@ var PlaceComponent = /** @class */ (function (_super) {
|
|
|
119
122
|
*/
|
|
120
123
|
function () {
|
|
121
124
|
};
|
|
122
|
-
tslib_1.__decorate([
|
|
123
|
-
Trace(),
|
|
124
|
-
tslib_1.__metadata("design:type", Function),
|
|
125
|
-
tslib_1.__metadata("design:paramtypes", [ParameterDefinition]),
|
|
126
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
127
|
-
], PlaceComponent.prototype, "installBinding", null);
|
|
128
125
|
tslib_1.__decorate([
|
|
129
126
|
Memoize(),
|
|
130
127
|
tslib_1.__metadata("design:type", PlaceDefinition),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"place-component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-component.ts"],"names":[],"mappings":";;;;;AACA,OAAO,EACL,MAAM,EACN,OAAO,EAEP,YAAY,EAEZ,IAAI,
|
|
1
|
+
{"version":3,"file":"place-component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/place/place-component.ts"],"names":[],"mappings":"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","sourcesContent":["import { AfterViewInit } from '@angular/core';\nimport {\n assert,\n Binding,\n Constructable,\n DebugContext,\n IMutableHasValue,\n lang, Trace,\n TransactionObserver,\n ValueModel\n} from '@coolon/pectin';\nimport { Klass } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator';\nimport 'reflect-metadata';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { InteractionContext } from '../interaction/interaction-context';\nimport { PlaceDefinition } from './place-definition';\nimport { ParameterDefinition } from './route/parameter-definition.class';\nimport { Visit } from './visit';\n\n// RAKE: making this Symbol(...) broke things.\nexport const DEFINITION_META_DATA_KEY = 'PLACE_DEFINITION_OPTIONS';\n// this one seems ok.\nexport const ROUTE_PARAMETER_LIST_KEY = Symbol('place:route:parameters');\n\nexport class PlaceComponent extends DisposableComponent {\n\n private visit: ValueModel<Visit>;\n // private _inDeactivationGuard = new MutableValueModel<boolean>(false);\n\n interactionContext?: InteractionContext;\n\n canDeactivate?(interactionContext: InteractionContext): boolean | Promise<boolean>;\n\n constructor() {\n super();\n }\n\n public initialiseVisit(visit: ValueModel<Visit>) {\n assert.isNil(this.visit);\n this.visit = visit;\n DebugContext.get(this.visit).tag(`${this.placeDefinition.component.name}.visit`);\n this.placeDefinition.getVisitParameterDefs().forEach(parameterDef => {\n this.installBinding(parameterDef);\n });\n }\n\n // @Trace()\n private installBinding<T, S>(parameterDef: ParameterDefinition<T, S>) {\n const model = this[parameterDef.propertyName] as IMutableHasValue<S>;\n DebugContext.tag(model, `${this.placeDefinition.component.name}.${parameterDef.propertyName}`);\n const binding = this.registerDisposable(new Binding(this.visit, model, {\n toRight(visit: Visit): S {\n const value = visit.getParameter(parameterDef.name);\n console.log('push to component', {name:parameterDef.name, value, visit});\n return value;\n },\n toLeft(value: S, currentVisit?: Visit): Visit {\n console.log('push to route', { name: parameterDef.name, value, currentVisit });\n return currentVisit.replace(parameterDef, value);\n }\n }));\n setTimeout(() => {\n binding.writeRight();\n })\n }\n\n @Memoize()\n get placeDefinition(): PlaceDefinition {\n return PlaceComponent.getDefinition(this.constructor as any as Constructable<PlaceComponent>);\n }\n\n get childPlaces(): Constructable<PlaceComponent>[] {\n return this.placeDefinition.children.map(d => d.component);\n }\n\n onPlaceReady() {\n }\n\n}\n\nexport namespace PlaceComponent {\n\n export function isPlaceComponentConstructor(target: any): target is Constructable<PlaceComponent> {\n return lang.constructorChain(target as Constructable<any>).includes(PlaceComponent);\n }\n\n export function getRouteParameters(klass: Constructable<PlaceComponent>): ParameterDefinition<any>[] {\n return Klass.get(klass).getMetadataList(ROUTE_PARAMETER_LIST_KEY);\n }\n\n export function getDefinition(klass: Constructable<PlaceComponent>): PlaceDefinition {\n return Reflect.getMetadata(DEFINITION_META_DATA_KEY, klass);\n }\n\n export function injectDefinition(klass: Constructable<PlaceComponent>, definition: PlaceDefinition) {\n Reflect.defineMetadata(DEFINITION_META_DATA_KEY, definition, klass);\n }\n\n}\n"]}
|
|
@@ -4,7 +4,7 @@ import { FormsModule } from '@angular/forms';
|
|
|
4
4
|
import { MatInputModule, MatFormFieldModule, MatSelectModule, MatButtonModule, MatDialogModule, MatTabsModule as MatTabsModule$1, MatProgressSpinnerModule, MatDialog } from '@angular/material';
|
|
5
5
|
import { MatTabsModule } from '@angular/material/tabs';
|
|
6
6
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
7
|
-
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, DelegatingFormValueModel, UseDelegate, ValueModel, ListModel, StoreInListModel, DelegatingListModel, Deferred, MutableStream, MutableValueModel, MutableListModel, DebugContext, Binding,
|
|
7
|
+
import { GarbageCollector, DelegatingValueModel, assert, UnaryCommand, lang, Dsl, Logger, DelegatingFormValueModel, UseDelegate, ValueModel, ListModel, StoreInListModel, DelegatingListModel, Deferred, MutableStream, MutableValueModel, MutableListModel, DebugContext, Binding, Guard, StoreInValueModel, Command, ValueHolder } from '@coolon/pectin';
|
|
8
8
|
import { __decorate, __metadata, __awaiter } from 'tslib';
|
|
9
9
|
import { PortalModule } from '@angular/cdk/portal';
|
|
10
10
|
import { RouterModule, UrlSegment, NavigationStart, NavigationEnd, NavigationError, NavigationCancel, Router, UrlSerializer } from '@angular/router';
|
|
@@ -2691,6 +2691,7 @@ class PlaceComponent extends DisposableComponent {
|
|
|
2691
2691
|
this.installBinding(parameterDef);
|
|
2692
2692
|
}));
|
|
2693
2693
|
}
|
|
2694
|
+
// @Trace()
|
|
2694
2695
|
/**
|
|
2695
2696
|
* @private
|
|
2696
2697
|
* @template T, S
|
|
@@ -2752,12 +2753,6 @@ class PlaceComponent extends DisposableComponent {
|
|
|
2752
2753
|
onPlaceReady() {
|
|
2753
2754
|
}
|
|
2754
2755
|
}
|
|
2755
|
-
__decorate([
|
|
2756
|
-
Trace(),
|
|
2757
|
-
__metadata("design:type", Function),
|
|
2758
|
-
__metadata("design:paramtypes", [ParameterDefinition]),
|
|
2759
|
-
__metadata("design:returntype", void 0)
|
|
2760
|
-
], PlaceComponent.prototype, "installBinding", null);
|
|
2761
2756
|
__decorate([
|
|
2762
2757
|
Memoize$1(),
|
|
2763
2758
|
__metadata("design:type", PlaceDefinition),
|