@ev-core/aurelia-v1-chartjs 0.6.4 → 1.0.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.
- package/package.json +2 -2
- package/dist/commonjs/elements/chart-element.d.ts +0 -27
- package/dist/commonjs/elements/chart-element.js +0 -109
- package/dist/commonjs/elements/chart-element.js.map +0 -1
- package/dist/commonjs/index.d.ts +0 -2
- package/dist/commonjs/index.js +0 -11
- package/dist/commonjs/index.js.map +0 -1
- package/dist/commonjs/interface.d.ts +0 -3
- package/dist/commonjs/interface.js +0 -4
- package/dist/commonjs/interface.js.map +0 -1
- package/dist/commonjs/model-observer.d.ts +0 -41
- package/dist/commonjs/model-observer.js +0 -137
- package/dist/commonjs/model-observer.js.map +0 -1
- package/dist/native-modules/elements/chart-element.d.ts +0 -27
- package/dist/native-modules/elements/chart-element.js +0 -106
- package/dist/native-modules/elements/chart-element.js.map +0 -1
- package/dist/native-modules/index.d.ts +0 -2
- package/dist/native-modules/index.js +0 -8
- package/dist/native-modules/index.js.map +0 -1
- package/dist/native-modules/interface.d.ts +0 -3
- package/dist/native-modules/interface.js +0 -3
- package/dist/native-modules/interface.js.map +0 -1
- package/dist/native-modules/model-observer.d.ts +0 -41
- package/dist/native-modules/model-observer.js +0 -134
- package/dist/native-modules/model-observer.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ev-core/aurelia-v1-chartjs",
|
|
3
3
|
"description": "An Aurelia plugin project.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"chart.js": "^4.0.0",
|
|
7
|
-
"@ev-core/aurelia-v1-resources": "0.
|
|
7
|
+
"@ev-core/aurelia-v1-resources": "1.0.0"
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
10
|
"aurelia-binding": "^1.0.0 || ^2.0.0",
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Chart, ChartType, ChartConfiguration, BubbleDataPoint, ChartData, ChartTypeRegistry, Plugin, Point, ChartOptions } from 'chart.js';
|
|
2
|
-
import { AuObserver } from '../model-observer';
|
|
3
|
-
export declare class ChartJsComponent implements ChartConfiguration {
|
|
4
|
-
private readonly modelObserver;
|
|
5
|
-
container: HTMLDivElement;
|
|
6
|
-
plugins?: Plugin[];
|
|
7
|
-
type: ChartType;
|
|
8
|
-
css: Partial<CSSStyleDeclaration>;
|
|
9
|
-
class: string;
|
|
10
|
-
options?: ChartOptions;
|
|
11
|
-
data: ChartData<keyof ChartTypeRegistry, (number | [number, number] | Point | BubbleDataPoint)[], unknown>;
|
|
12
|
-
dataChanged(val: any): void;
|
|
13
|
-
observe: boolean;
|
|
14
|
-
onChange(change: any): void;
|
|
15
|
-
chart?: Chart;
|
|
16
|
-
canvas: HTMLCanvasElement;
|
|
17
|
-
constructor(modelObserver: AuObserver);
|
|
18
|
-
bind(): void;
|
|
19
|
-
attached(): void;
|
|
20
|
-
detached(): void;
|
|
21
|
-
throttleTimer: number;
|
|
22
|
-
setup(): void;
|
|
23
|
-
refresh(): void;
|
|
24
|
-
lastResize: number;
|
|
25
|
-
resize(): void;
|
|
26
|
-
dispose(): void;
|
|
27
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChartJsComponent = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const aurelia_framework_1 = require("aurelia-framework");
|
|
6
|
-
const chart_js_1 = require("chart.js");
|
|
7
|
-
const aurelia_v1_resources_1 = require("@ev-core/aurelia-v1-resources");
|
|
8
|
-
const model_observer_1 = require("../model-observer");
|
|
9
|
-
chart_js_1.Chart.register(...chart_js_1.registerables);
|
|
10
|
-
let ChartJsComponent = class ChartJsComponent {
|
|
11
|
-
dataChanged(val) {
|
|
12
|
-
this.refresh();
|
|
13
|
-
}
|
|
14
|
-
onChange(change) {
|
|
15
|
-
this.refresh();
|
|
16
|
-
}
|
|
17
|
-
constructor(modelObserver) {
|
|
18
|
-
this.modelObserver = modelObserver;
|
|
19
|
-
this.observe = false;
|
|
20
|
-
this.throttleTimer = 100;
|
|
21
|
-
}
|
|
22
|
-
bind() { }
|
|
23
|
-
attached() {
|
|
24
|
-
this.setup();
|
|
25
|
-
}
|
|
26
|
-
detached() {
|
|
27
|
-
this.dispose();
|
|
28
|
-
}
|
|
29
|
-
setup() {
|
|
30
|
-
this.chart = new chart_js_1.Chart(this.canvas, {
|
|
31
|
-
type: this.type,
|
|
32
|
-
data: this.data,
|
|
33
|
-
plugins: this.plugins,
|
|
34
|
-
options: {
|
|
35
|
-
responsive: false
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
const onChange = (event) => {
|
|
39
|
-
this.resize();
|
|
40
|
-
};
|
|
41
|
-
this.modelObserver.addListener({ type: 'resize', onChange, throttleTimer: this.throttleTimer });
|
|
42
|
-
const timouter = new aurelia_v1_resources_1.Timeouter();
|
|
43
|
-
timouter.start(() => {
|
|
44
|
-
this.resize();
|
|
45
|
-
}, this.throttleTimer);
|
|
46
|
-
}
|
|
47
|
-
refresh() {
|
|
48
|
-
if (!this.chart?.data) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
this.chart.data = this.data;
|
|
52
|
-
this.chart.update();
|
|
53
|
-
this.chart.resize();
|
|
54
|
-
}
|
|
55
|
-
resize() {
|
|
56
|
-
const now = new Date().getTime();
|
|
57
|
-
if (!this.lastResize || (now - this.lastResize) > (this.throttleTimer * 2.5)) {
|
|
58
|
-
this.chart?.resize();
|
|
59
|
-
this.lastResize = now;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
dispose() {
|
|
63
|
-
this.modelObserver?.dispose();
|
|
64
|
-
this.chart?.destroy();
|
|
65
|
-
this.chart = undefined;
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
exports.ChartJsComponent = ChartJsComponent;
|
|
69
|
-
tslib_1.__decorate([
|
|
70
|
-
aurelia_framework_1.bindable,
|
|
71
|
-
tslib_1.__metadata("design:type", String)
|
|
72
|
-
], ChartJsComponent.prototype, "type", void 0);
|
|
73
|
-
tslib_1.__decorate([
|
|
74
|
-
aurelia_framework_1.bindable,
|
|
75
|
-
tslib_1.__metadata("design:type", Object)
|
|
76
|
-
], ChartJsComponent.prototype, "css", void 0);
|
|
77
|
-
tslib_1.__decorate([
|
|
78
|
-
aurelia_framework_1.bindable,
|
|
79
|
-
tslib_1.__metadata("design:type", String)
|
|
80
|
-
], ChartJsComponent.prototype, "class", void 0);
|
|
81
|
-
tslib_1.__decorate([
|
|
82
|
-
aurelia_framework_1.bindable,
|
|
83
|
-
tslib_1.__metadata("design:type", Object)
|
|
84
|
-
], ChartJsComponent.prototype, "options", void 0);
|
|
85
|
-
tslib_1.__decorate([
|
|
86
|
-
aurelia_framework_1.bindable,
|
|
87
|
-
tslib_1.__metadata("design:type", Object)
|
|
88
|
-
], ChartJsComponent.prototype, "data", void 0);
|
|
89
|
-
tslib_1.__decorate([
|
|
90
|
-
aurelia_framework_1.bindable,
|
|
91
|
-
tslib_1.__metadata("design:type", Boolean)
|
|
92
|
-
], ChartJsComponent.prototype, "observe", void 0);
|
|
93
|
-
exports.ChartJsComponent = ChartJsComponent = tslib_1.__decorate([
|
|
94
|
-
(0, aurelia_framework_1.inlineView)(`<template>
|
|
95
|
-
<div ref="container"
|
|
96
|
-
css.bind="css"
|
|
97
|
-
class.bind="class"
|
|
98
|
-
style="display:block;min-width:0;">
|
|
99
|
-
<canvas ref="canvas"
|
|
100
|
-
class="h-100 w-100"
|
|
101
|
-
style="margin:auto;">
|
|
102
|
-
</canvas>
|
|
103
|
-
</div>
|
|
104
|
-
</template>`),
|
|
105
|
-
(0, aurelia_framework_1.customElement)('chart'),
|
|
106
|
-
tslib_1.__metadata("design:paramtypes", [model_observer_1.AuObserver])
|
|
107
|
-
], ChartJsComponent);
|
|
108
|
-
|
|
109
|
-
//# sourceMappingURL=chart-element.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/elements/chart-element.ts"],"names":[],"mappings":"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","file":"chart-element.js","sourceRoot":"../../../src/"}
|
package/dist/commonjs/index.d.ts
DELETED
package/dist/commonjs/index.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.configure = configure;
|
|
4
|
-
const aurelia_pal_1 = require("aurelia-pal");
|
|
5
|
-
function configure(config) {
|
|
6
|
-
config.globalResources([
|
|
7
|
-
aurelia_pal_1.PLATFORM.moduleName('./elements/chart-element')
|
|
8
|
-
]);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;AAGA,8BAKC;AAPD,6CAAuC;AAEvC,SAAgB,SAAS,CAAC,MAA8B;IACtD,MAAM,CAAC,eAAe,CAAC;QACrB,sBAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;KAEhD,CAAC,CAAC;AACL,CAAC","file":"index.js","sourceRoot":"../../src/"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourceRoot":"../../src/"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { BindingEngine, Disposable } from 'aurelia-framework';
|
|
2
|
-
export declare class AuObserver {
|
|
3
|
-
private readonly _be;
|
|
4
|
-
private _observations;
|
|
5
|
-
private _listeners;
|
|
6
|
-
constructor(_be: BindingEngine);
|
|
7
|
-
addModelObserver(args: AureliaObserver.IModelObserverArgs): void;
|
|
8
|
-
addListener(args: AureliaObserver.IAddEventListenerArgs): number;
|
|
9
|
-
removeListener(index: number): void;
|
|
10
|
-
findListenerIndex(key: string | number): number;
|
|
11
|
-
removeListeners(): void;
|
|
12
|
-
removeModelObservers(): void;
|
|
13
|
-
dispose(): void;
|
|
14
|
-
}
|
|
15
|
-
export declare namespace AureliaObserver {
|
|
16
|
-
interface IOnChange<K extends keyof GlobalEventHandlersEventMap> {
|
|
17
|
-
key?: string | number;
|
|
18
|
-
onChange: (args?: any) => any;
|
|
19
|
-
throttleTimer?: number;
|
|
20
|
-
}
|
|
21
|
-
interface IThrottleTimeoutId {
|
|
22
|
-
throttleTimeoutId?: number;
|
|
23
|
-
}
|
|
24
|
-
export interface IAddEventListenerArgs extends IOnChange<keyof GlobalEventHandlersEventMap> {
|
|
25
|
-
type: keyof GlobalEventHandlersEventMap;
|
|
26
|
-
element?: GlobalEventHandlers;
|
|
27
|
-
options?: AddEventListenerOptions;
|
|
28
|
-
}
|
|
29
|
-
export interface IAddEventListener extends IAddEventListenerArgs, IThrottleTimeoutId {
|
|
30
|
-
type: keyof GlobalEventHandlersEventMap;
|
|
31
|
-
element?: GlobalEventHandlers;
|
|
32
|
-
options?: AddEventListenerOptions;
|
|
33
|
-
}
|
|
34
|
-
export interface IModelObserverArgs extends IOnChange<keyof GlobalEventHandlersEventMap> {
|
|
35
|
-
model: any;
|
|
36
|
-
}
|
|
37
|
-
export interface IModelObserver extends IModelObserverArgs, IThrottleTimeoutId {
|
|
38
|
-
subscriptions?: Disposable[];
|
|
39
|
-
}
|
|
40
|
-
export {};
|
|
41
|
-
}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AuObserver = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const aurelia_framework_1 = require("aurelia-framework");
|
|
6
|
-
function getObjectType(obj) {
|
|
7
|
-
if ((obj) && (typeof (obj) === "object") && (obj.constructor == (new Date).constructor))
|
|
8
|
-
return "date";
|
|
9
|
-
return typeof obj;
|
|
10
|
-
}
|
|
11
|
-
function generateSubscriptions(engine, model, subs, parentKeys) {
|
|
12
|
-
if (!subs?.length) {
|
|
13
|
-
subs = [];
|
|
14
|
-
}
|
|
15
|
-
if (Array.isArray(model)) {
|
|
16
|
-
let subscription = engine.collectionObserver(model).subscribe;
|
|
17
|
-
subs.push({ callback: subscription, keys: parentKeys });
|
|
18
|
-
}
|
|
19
|
-
for (let property in model) {
|
|
20
|
-
let objType = getObjectType(model[property]);
|
|
21
|
-
let keys = parentKeys?.slice() ?? [];
|
|
22
|
-
keys.push(property);
|
|
23
|
-
switch (objType) {
|
|
24
|
-
case "object":
|
|
25
|
-
{
|
|
26
|
-
generateSubscriptions(engine, model[property], subs, keys);
|
|
27
|
-
}
|
|
28
|
-
break;
|
|
29
|
-
case "array":
|
|
30
|
-
{
|
|
31
|
-
let underlyingArray = model[property]();
|
|
32
|
-
underlyingArray.forEach((entry, index) => { generateSubscriptions(engine, underlyingArray[index], subs, keys); });
|
|
33
|
-
let arraySubscription = engine.propertyObserver(model, property).subscribe;
|
|
34
|
-
if (arraySubscription) {
|
|
35
|
-
subs.push({ callback: arraySubscription, keys });
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
break;
|
|
39
|
-
default:
|
|
40
|
-
{
|
|
41
|
-
let subscription = engine.propertyObserver(model, property).subscribe;
|
|
42
|
-
if (subscription) {
|
|
43
|
-
subs.push({ callback: subscription, keys });
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return subs;
|
|
50
|
-
}
|
|
51
|
-
let AuObserver = class AuObserver {
|
|
52
|
-
constructor(_be) {
|
|
53
|
-
this._be = _be;
|
|
54
|
-
this._observations = [];
|
|
55
|
-
this._listeners = [];
|
|
56
|
-
}
|
|
57
|
-
addModelObserver(args) {
|
|
58
|
-
const obs = {
|
|
59
|
-
model: args.model,
|
|
60
|
-
key: args.key,
|
|
61
|
-
throttleTimer: args.throttleTimer
|
|
62
|
-
};
|
|
63
|
-
if (!obs.throttleTimer || obs.throttleTimer <= 0) {
|
|
64
|
-
obs.onChange = args.onChange();
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
const throttler = (throttleArgs) => {
|
|
68
|
-
aurelia_framework_1.PLATFORM.global.clearTimeout(obs.throttleTimeoutId);
|
|
69
|
-
obs.throttleTimeoutId = aurelia_framework_1.PLATFORM.global.setTimeout(() => {
|
|
70
|
-
args.onChange(throttleArgs);
|
|
71
|
-
}, obs.throttleTimer);
|
|
72
|
-
};
|
|
73
|
-
obs.onChange = throttler;
|
|
74
|
-
}
|
|
75
|
-
const subs = generateSubscriptions(this._be, args.model);
|
|
76
|
-
const subscriptions = subs.map(s => s.callback(e => obs.onChange(s.keys)));
|
|
77
|
-
obs.subscriptions = subscriptions;
|
|
78
|
-
this._observations.push(obs);
|
|
79
|
-
}
|
|
80
|
-
addListener(args) {
|
|
81
|
-
if (!args?.element) {
|
|
82
|
-
args.element = aurelia_framework_1.PLATFORM.global;
|
|
83
|
-
}
|
|
84
|
-
const obs = {
|
|
85
|
-
element: args.element,
|
|
86
|
-
key: args.key,
|
|
87
|
-
throttleTimer: args.throttleTimer,
|
|
88
|
-
type: args.type,
|
|
89
|
-
options: args.options
|
|
90
|
-
};
|
|
91
|
-
if (!obs.throttleTimer || obs.throttleTimer <= 0) {
|
|
92
|
-
obs.onChange = args.onChange;
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
const throttler = (throttleArgs) => {
|
|
96
|
-
aurelia_framework_1.PLATFORM.global.clearTimeout(obs.throttleTimeoutId);
|
|
97
|
-
obs.throttleTimeoutId = aurelia_framework_1.PLATFORM.global.setTimeout(() => {
|
|
98
|
-
args.onChange(throttleArgs);
|
|
99
|
-
}, obs.throttleTimer);
|
|
100
|
-
};
|
|
101
|
-
obs.onChange = throttler;
|
|
102
|
-
}
|
|
103
|
-
args.element.addEventListener(obs.type, obs.onChange, obs.options);
|
|
104
|
-
const index = this._listeners.push(obs);
|
|
105
|
-
return index;
|
|
106
|
-
}
|
|
107
|
-
removeListener(index) {
|
|
108
|
-
const listener = this._listeners[index];
|
|
109
|
-
listener.element?.removeEventListener(listener.type, listener.onChange);
|
|
110
|
-
}
|
|
111
|
-
findListenerIndex(key) {
|
|
112
|
-
if (!key) {
|
|
113
|
-
return undefined;
|
|
114
|
-
}
|
|
115
|
-
return this._listeners.findIndex(e => e.key == key);
|
|
116
|
-
}
|
|
117
|
-
removeListeners() {
|
|
118
|
-
this._listeners?.forEach(l => l.element?.removeEventListener(l.type, l.onChange));
|
|
119
|
-
this._listeners = [];
|
|
120
|
-
}
|
|
121
|
-
removeModelObservers() {
|
|
122
|
-
this._observations?.forEach(o => o.subscriptions?.forEach(s => s?.dispose()));
|
|
123
|
-
this._observations = [];
|
|
124
|
-
}
|
|
125
|
-
dispose() {
|
|
126
|
-
this.removeListeners();
|
|
127
|
-
this.removeModelObservers();
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
exports.AuObserver = AuObserver;
|
|
131
|
-
exports.AuObserver = AuObserver = tslib_1.__decorate([
|
|
132
|
-
(0, aurelia_framework_1.transient)(),
|
|
133
|
-
(0, aurelia_framework_1.autoinject)(),
|
|
134
|
-
tslib_1.__metadata("design:paramtypes", [aurelia_framework_1.BindingEngine])
|
|
135
|
-
], AuObserver);
|
|
136
|
-
|
|
137
|
-
//# sourceMappingURL=model-observer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model-observer.ts"],"names":[],"mappings":";;;;AAAA,yDAA0H;AAQ1H,SAAS,aAAa,CAAC,GAAG;IACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC;QAAE,OAAO,MAAM,CAAC;IACvG,OAAO,OAAO,GAAG,CAAC;AACpB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAqB,EAAE,KAAU,EAAE,IAA0B,EAAE,UAAqB;IACjH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpB,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,QAAQ;gBACX,CAAC;oBAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAC/D,MAAM;YACR,KAAK,OAAO;gBACV,CAAC;oBACC,IAAI,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAElH,IAAI,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC;oBAC3E,IAAI,iBAAiB,EAAE,CAAC;wBAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;oBAAC,CAAC;gBAC9E,CAAC;gBACD,MAAM;YAER;gBACE,CAAC;oBACC,IAAI,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC;oBACtE,IAAI,YAAY,EAAE,CAAC;wBAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;oBAAC,CAAC;gBACpE,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAMM,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGrB,YACmB,GAAkB;QAAlB,QAAG,GAAH,GAAG,CAAe;QAH7B,kBAAa,GAAqC,EAAE,CAAC;QACrD,eAAU,GAA4C,EAAE,CAAC;IAG7D,CAAC;IAGE,gBAAgB,CAAC,IAAwC;QAC9D,MAAM,GAAG,GAAG;YACV,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;SACA,CAAC;QAEpC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;aACI,CAAC;YACJ,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,EAAE;gBAChC,4BAAQ,CAAC,MAAqC,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACpF,GAAG,CAAC,iBAAiB,GAAI,4BAAQ,CAAC,MAAqC,CAAC,UAAU,CAAC,GAAG,EAAE;oBACtF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC9B,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;YACxB,CAAC,CAAC;YACF,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAGM,WAAW,CAAC,IAA2C;QAC5D,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC,OAAO,GAAG,4BAAQ,CAAC,MAAoC,CAAC;QAAC,CAAC;QAErF,MAAM,GAAG,GAAG;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACe,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,CAAC;aACI,CAAC;YACJ,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,EAAE;gBAChC,4BAAQ,CAAC,MAAqC,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACpF,GAAG,CAAC,iBAAiB,GAAI,4BAAQ,CAAC,MAAqC,CAAC,UAAU,CAAC,GAAG,EAAE;oBACtF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC9B,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;YACxB,CAAC,CAAC;YACF,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAExC,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,cAAc,CAAC,KAAa;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAEM,iBAAiB,CAAC,GAAoB;QAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IACtD,CAAC;IAIM,eAAe;QACpB,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAEM,oBAAoB;QACzB,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;IAC1B,CAAC;IAIM,OAAO;QACZ,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;CAEF,CAAA;AA9FY,gCAAU;qBAAV,UAAU;IAFtB,IAAA,6BAAS,GAAE;IACX,IAAA,8BAAU,GAAE;6CAKa,iCAAa;GAJ1B,UAAU,CA8FtB","file":"model-observer.js","sourceRoot":"../../src/"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Chart, ChartType, ChartConfiguration, BubbleDataPoint, ChartData, ChartTypeRegistry, Plugin, Point, ChartOptions } from 'chart.js';
|
|
2
|
-
import { AuObserver } from '../model-observer';
|
|
3
|
-
export declare class ChartJsComponent implements ChartConfiguration {
|
|
4
|
-
private readonly modelObserver;
|
|
5
|
-
container: HTMLDivElement;
|
|
6
|
-
plugins?: Plugin[];
|
|
7
|
-
type: ChartType;
|
|
8
|
-
css: Partial<CSSStyleDeclaration>;
|
|
9
|
-
class: string;
|
|
10
|
-
options?: ChartOptions;
|
|
11
|
-
data: ChartData<keyof ChartTypeRegistry, (number | [number, number] | Point | BubbleDataPoint)[], unknown>;
|
|
12
|
-
dataChanged(val: any): void;
|
|
13
|
-
observe: boolean;
|
|
14
|
-
onChange(change: any): void;
|
|
15
|
-
chart?: Chart;
|
|
16
|
-
canvas: HTMLCanvasElement;
|
|
17
|
-
constructor(modelObserver: AuObserver);
|
|
18
|
-
bind(): void;
|
|
19
|
-
attached(): void;
|
|
20
|
-
detached(): void;
|
|
21
|
-
throttleTimer: number;
|
|
22
|
-
setup(): void;
|
|
23
|
-
refresh(): void;
|
|
24
|
-
lastResize: number;
|
|
25
|
-
resize(): void;
|
|
26
|
-
dispose(): void;
|
|
27
|
-
}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { customElement, bindable, inlineView } from 'aurelia-framework';
|
|
3
|
-
import { Chart, registerables } from 'chart.js';
|
|
4
|
-
import { Timeouter } from '@ev-core/aurelia-v1-resources';
|
|
5
|
-
import { AuObserver } from '../model-observer';
|
|
6
|
-
Chart.register(...registerables);
|
|
7
|
-
let ChartJsComponent = class ChartJsComponent {
|
|
8
|
-
dataChanged(val) {
|
|
9
|
-
this.refresh();
|
|
10
|
-
}
|
|
11
|
-
onChange(change) {
|
|
12
|
-
this.refresh();
|
|
13
|
-
}
|
|
14
|
-
constructor(modelObserver) {
|
|
15
|
-
this.modelObserver = modelObserver;
|
|
16
|
-
this.observe = false;
|
|
17
|
-
this.throttleTimer = 100;
|
|
18
|
-
}
|
|
19
|
-
bind() { }
|
|
20
|
-
attached() {
|
|
21
|
-
this.setup();
|
|
22
|
-
}
|
|
23
|
-
detached() {
|
|
24
|
-
this.dispose();
|
|
25
|
-
}
|
|
26
|
-
setup() {
|
|
27
|
-
this.chart = new Chart(this.canvas, {
|
|
28
|
-
type: this.type,
|
|
29
|
-
data: this.data,
|
|
30
|
-
plugins: this.plugins,
|
|
31
|
-
options: {
|
|
32
|
-
responsive: false
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
const onChange = (event) => {
|
|
36
|
-
this.resize();
|
|
37
|
-
};
|
|
38
|
-
this.modelObserver.addListener({ type: 'resize', onChange, throttleTimer: this.throttleTimer });
|
|
39
|
-
const timouter = new Timeouter();
|
|
40
|
-
timouter.start(() => {
|
|
41
|
-
this.resize();
|
|
42
|
-
}, this.throttleTimer);
|
|
43
|
-
}
|
|
44
|
-
refresh() {
|
|
45
|
-
if (!this.chart?.data) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
this.chart.data = this.data;
|
|
49
|
-
this.chart.update();
|
|
50
|
-
this.chart.resize();
|
|
51
|
-
}
|
|
52
|
-
resize() {
|
|
53
|
-
const now = new Date().getTime();
|
|
54
|
-
if (!this.lastResize || (now - this.lastResize) > (this.throttleTimer * 2.5)) {
|
|
55
|
-
this.chart?.resize();
|
|
56
|
-
this.lastResize = now;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
dispose() {
|
|
60
|
-
this.modelObserver?.dispose();
|
|
61
|
-
this.chart?.destroy();
|
|
62
|
-
this.chart = undefined;
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
__decorate([
|
|
66
|
-
bindable,
|
|
67
|
-
__metadata("design:type", String)
|
|
68
|
-
], ChartJsComponent.prototype, "type", void 0);
|
|
69
|
-
__decorate([
|
|
70
|
-
bindable,
|
|
71
|
-
__metadata("design:type", Object)
|
|
72
|
-
], ChartJsComponent.prototype, "css", void 0);
|
|
73
|
-
__decorate([
|
|
74
|
-
bindable,
|
|
75
|
-
__metadata("design:type", String)
|
|
76
|
-
], ChartJsComponent.prototype, "class", void 0);
|
|
77
|
-
__decorate([
|
|
78
|
-
bindable,
|
|
79
|
-
__metadata("design:type", Object)
|
|
80
|
-
], ChartJsComponent.prototype, "options", void 0);
|
|
81
|
-
__decorate([
|
|
82
|
-
bindable,
|
|
83
|
-
__metadata("design:type", Object)
|
|
84
|
-
], ChartJsComponent.prototype, "data", void 0);
|
|
85
|
-
__decorate([
|
|
86
|
-
bindable,
|
|
87
|
-
__metadata("design:type", Boolean)
|
|
88
|
-
], ChartJsComponent.prototype, "observe", void 0);
|
|
89
|
-
ChartJsComponent = __decorate([
|
|
90
|
-
inlineView(`<template>
|
|
91
|
-
<div ref="container"
|
|
92
|
-
css.bind="css"
|
|
93
|
-
class.bind="class"
|
|
94
|
-
style="display:block;min-width:0;">
|
|
95
|
-
<canvas ref="canvas"
|
|
96
|
-
class="h-100 w-100"
|
|
97
|
-
style="margin:auto;">
|
|
98
|
-
</canvas>
|
|
99
|
-
</div>
|
|
100
|
-
</template>`),
|
|
101
|
-
customElement('chart'),
|
|
102
|
-
__metadata("design:paramtypes", [AuObserver])
|
|
103
|
-
], ChartJsComponent);
|
|
104
|
-
export { ChartJsComponent };
|
|
105
|
-
|
|
106
|
-
//# sourceMappingURL=chart-element.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/elements/chart-element.ts"],"names":[],"mappings":"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","file":"chart-element.js","sourceRoot":"../../../src/"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,UAAU,SAAS,CAAC,MAA8B;IACtD,MAAM,CAAC,eAAe,CAAC;QACrB,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;KAEhD,CAAC,CAAC;AACL,CAAC","file":"index.js","sourceRoot":"../../src/"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourceRoot":"../../src/"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { BindingEngine, Disposable } from 'aurelia-framework';
|
|
2
|
-
export declare class AuObserver {
|
|
3
|
-
private readonly _be;
|
|
4
|
-
private _observations;
|
|
5
|
-
private _listeners;
|
|
6
|
-
constructor(_be: BindingEngine);
|
|
7
|
-
addModelObserver(args: AureliaObserver.IModelObserverArgs): void;
|
|
8
|
-
addListener(args: AureliaObserver.IAddEventListenerArgs): number;
|
|
9
|
-
removeListener(index: number): void;
|
|
10
|
-
findListenerIndex(key: string | number): number;
|
|
11
|
-
removeListeners(): void;
|
|
12
|
-
removeModelObservers(): void;
|
|
13
|
-
dispose(): void;
|
|
14
|
-
}
|
|
15
|
-
export declare namespace AureliaObserver {
|
|
16
|
-
interface IOnChange<K extends keyof GlobalEventHandlersEventMap> {
|
|
17
|
-
key?: string | number;
|
|
18
|
-
onChange: (args?: any) => any;
|
|
19
|
-
throttleTimer?: number;
|
|
20
|
-
}
|
|
21
|
-
interface IThrottleTimeoutId {
|
|
22
|
-
throttleTimeoutId?: number;
|
|
23
|
-
}
|
|
24
|
-
export interface IAddEventListenerArgs extends IOnChange<keyof GlobalEventHandlersEventMap> {
|
|
25
|
-
type: keyof GlobalEventHandlersEventMap;
|
|
26
|
-
element?: GlobalEventHandlers;
|
|
27
|
-
options?: AddEventListenerOptions;
|
|
28
|
-
}
|
|
29
|
-
export interface IAddEventListener extends IAddEventListenerArgs, IThrottleTimeoutId {
|
|
30
|
-
type: keyof GlobalEventHandlersEventMap;
|
|
31
|
-
element?: GlobalEventHandlers;
|
|
32
|
-
options?: AddEventListenerOptions;
|
|
33
|
-
}
|
|
34
|
-
export interface IModelObserverArgs extends IOnChange<keyof GlobalEventHandlersEventMap> {
|
|
35
|
-
model: any;
|
|
36
|
-
}
|
|
37
|
-
export interface IModelObserver extends IModelObserverArgs, IThrottleTimeoutId {
|
|
38
|
-
subscriptions?: Disposable[];
|
|
39
|
-
}
|
|
40
|
-
export {};
|
|
41
|
-
}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { autoinject, BindingEngine, PLATFORM, transient } from 'aurelia-framework';
|
|
3
|
-
function getObjectType(obj) {
|
|
4
|
-
if ((obj) && (typeof (obj) === "object") && (obj.constructor == (new Date).constructor))
|
|
5
|
-
return "date";
|
|
6
|
-
return typeof obj;
|
|
7
|
-
}
|
|
8
|
-
function generateSubscriptions(engine, model, subs, parentKeys) {
|
|
9
|
-
if (!subs?.length) {
|
|
10
|
-
subs = [];
|
|
11
|
-
}
|
|
12
|
-
if (Array.isArray(model)) {
|
|
13
|
-
let subscription = engine.collectionObserver(model).subscribe;
|
|
14
|
-
subs.push({ callback: subscription, keys: parentKeys });
|
|
15
|
-
}
|
|
16
|
-
for (let property in model) {
|
|
17
|
-
let objType = getObjectType(model[property]);
|
|
18
|
-
let keys = parentKeys?.slice() ?? [];
|
|
19
|
-
keys.push(property);
|
|
20
|
-
switch (objType) {
|
|
21
|
-
case "object":
|
|
22
|
-
{
|
|
23
|
-
generateSubscriptions(engine, model[property], subs, keys);
|
|
24
|
-
}
|
|
25
|
-
break;
|
|
26
|
-
case "array":
|
|
27
|
-
{
|
|
28
|
-
let underlyingArray = model[property]();
|
|
29
|
-
underlyingArray.forEach((entry, index) => { generateSubscriptions(engine, underlyingArray[index], subs, keys); });
|
|
30
|
-
let arraySubscription = engine.propertyObserver(model, property).subscribe;
|
|
31
|
-
if (arraySubscription) {
|
|
32
|
-
subs.push({ callback: arraySubscription, keys });
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
break;
|
|
36
|
-
default:
|
|
37
|
-
{
|
|
38
|
-
let subscription = engine.propertyObserver(model, property).subscribe;
|
|
39
|
-
if (subscription) {
|
|
40
|
-
subs.push({ callback: subscription, keys });
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return subs;
|
|
47
|
-
}
|
|
48
|
-
let AuObserver = class AuObserver {
|
|
49
|
-
constructor(_be) {
|
|
50
|
-
this._be = _be;
|
|
51
|
-
this._observations = [];
|
|
52
|
-
this._listeners = [];
|
|
53
|
-
}
|
|
54
|
-
addModelObserver(args) {
|
|
55
|
-
const obs = {
|
|
56
|
-
model: args.model,
|
|
57
|
-
key: args.key,
|
|
58
|
-
throttleTimer: args.throttleTimer
|
|
59
|
-
};
|
|
60
|
-
if (!obs.throttleTimer || obs.throttleTimer <= 0) {
|
|
61
|
-
obs.onChange = args.onChange();
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
const throttler = (throttleArgs) => {
|
|
65
|
-
PLATFORM.global.clearTimeout(obs.throttleTimeoutId);
|
|
66
|
-
obs.throttleTimeoutId = PLATFORM.global.setTimeout(() => {
|
|
67
|
-
args.onChange(throttleArgs);
|
|
68
|
-
}, obs.throttleTimer);
|
|
69
|
-
};
|
|
70
|
-
obs.onChange = throttler;
|
|
71
|
-
}
|
|
72
|
-
const subs = generateSubscriptions(this._be, args.model);
|
|
73
|
-
const subscriptions = subs.map(s => s.callback(e => obs.onChange(s.keys)));
|
|
74
|
-
obs.subscriptions = subscriptions;
|
|
75
|
-
this._observations.push(obs);
|
|
76
|
-
}
|
|
77
|
-
addListener(args) {
|
|
78
|
-
if (!args?.element) {
|
|
79
|
-
args.element = PLATFORM.global;
|
|
80
|
-
}
|
|
81
|
-
const obs = {
|
|
82
|
-
element: args.element,
|
|
83
|
-
key: args.key,
|
|
84
|
-
throttleTimer: args.throttleTimer,
|
|
85
|
-
type: args.type,
|
|
86
|
-
options: args.options
|
|
87
|
-
};
|
|
88
|
-
if (!obs.throttleTimer || obs.throttleTimer <= 0) {
|
|
89
|
-
obs.onChange = args.onChange;
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
const throttler = (throttleArgs) => {
|
|
93
|
-
PLATFORM.global.clearTimeout(obs.throttleTimeoutId);
|
|
94
|
-
obs.throttleTimeoutId = PLATFORM.global.setTimeout(() => {
|
|
95
|
-
args.onChange(throttleArgs);
|
|
96
|
-
}, obs.throttleTimer);
|
|
97
|
-
};
|
|
98
|
-
obs.onChange = throttler;
|
|
99
|
-
}
|
|
100
|
-
args.element.addEventListener(obs.type, obs.onChange, obs.options);
|
|
101
|
-
const index = this._listeners.push(obs);
|
|
102
|
-
return index;
|
|
103
|
-
}
|
|
104
|
-
removeListener(index) {
|
|
105
|
-
const listener = this._listeners[index];
|
|
106
|
-
listener.element?.removeEventListener(listener.type, listener.onChange);
|
|
107
|
-
}
|
|
108
|
-
findListenerIndex(key) {
|
|
109
|
-
if (!key) {
|
|
110
|
-
return undefined;
|
|
111
|
-
}
|
|
112
|
-
return this._listeners.findIndex(e => e.key == key);
|
|
113
|
-
}
|
|
114
|
-
removeListeners() {
|
|
115
|
-
this._listeners?.forEach(l => l.element?.removeEventListener(l.type, l.onChange));
|
|
116
|
-
this._listeners = [];
|
|
117
|
-
}
|
|
118
|
-
removeModelObservers() {
|
|
119
|
-
this._observations?.forEach(o => o.subscriptions?.forEach(s => s?.dispose()));
|
|
120
|
-
this._observations = [];
|
|
121
|
-
}
|
|
122
|
-
dispose() {
|
|
123
|
-
this.removeListeners();
|
|
124
|
-
this.removeModelObservers();
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
AuObserver = __decorate([
|
|
128
|
-
transient(),
|
|
129
|
-
autoinject(),
|
|
130
|
-
__metadata("design:paramtypes", [BindingEngine])
|
|
131
|
-
], AuObserver);
|
|
132
|
-
export { AuObserver };
|
|
133
|
-
|
|
134
|
-
//# sourceMappingURL=model-observer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model-observer.ts"],"names":[],"mappings":"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","file":"model-observer.js","sourceRoot":"../../src/"}
|