@ev-core/aurelia-v1-chartjs 0.6.5 → 2.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.
@@ -1,27 +1,21 @@
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;
1
+ import { ChartType, ChartOptions, Plugin } from 'chart.js';
2
+ import { ChartHostData } from '@ev-core/au-core-chartjs';
3
+ export declare class ChartJsComponent {
5
4
  container: HTMLDivElement;
5
+ canvas: HTMLCanvasElement;
6
6
  plugins?: Plugin[];
7
+ private readonly host;
7
8
  type: ChartType;
8
9
  css: Partial<CSSStyleDeclaration>;
9
10
  class: string;
10
11
  options?: ChartOptions;
11
- data: ChartData<keyof ChartTypeRegistry, (number | [number, number] | Point | BubbleDataPoint)[], unknown>;
12
- dataChanged(val: any): void;
12
+ data: ChartHostData;
13
13
  observe: boolean;
14
- onChange(change: any): void;
15
- chart?: Chart;
16
- canvas: HTMLCanvasElement;
17
- constructor(modelObserver: AuObserver);
14
+ dataChanged(): void;
18
15
  bind(): void;
19
16
  attached(): void;
20
17
  detached(): void;
21
- throttleTimer: number;
22
18
  setup(): void;
23
19
  refresh(): void;
24
- lastResize: number;
25
- resize(): void;
26
20
  dispose(): void;
27
21
  }
@@ -3,22 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ChartJsComponent = void 0;
4
4
  const tslib_1 = require("tslib");
5
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);
6
+ const au_core_chartjs_1 = require("@ev-core/au-core-chartjs");
10
7
  let ChartJsComponent = class ChartJsComponent {
11
- dataChanged(val) {
12
- this.refresh();
8
+ constructor() {
9
+ this.host = new au_core_chartjs_1.ChartHost();
10
+ this.observe = false;
13
11
  }
14
- onChange(change) {
12
+ dataChanged() {
15
13
  this.refresh();
16
14
  }
17
- constructor(modelObserver) {
18
- this.modelObserver = modelObserver;
19
- this.observe = false;
20
- this.throttleTimer = 100;
21
- }
22
15
  bind() { }
23
16
  attached() {
24
17
  this.setup();
@@ -27,42 +20,17 @@ let ChartJsComponent = class ChartJsComponent {
27
20
  this.dispose();
28
21
  }
29
22
  setup() {
30
- this.chart = new chart_js_1.Chart(this.canvas, {
23
+ this.host.setup(this.canvas, {
31
24
  type: this.type,
32
25
  data: this.data,
33
- plugins: this.plugins,
34
- options: {
35
- responsive: false
36
- }
26
+ plugins: this.plugins
37
27
  });
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
28
  }
47
29
  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
- }
30
+ this.host.refresh(this.data);
61
31
  }
62
32
  dispose() {
63
- this.modelObserver?.dispose();
64
- this.chart?.destroy();
65
- this.chart = undefined;
33
+ this.host.dispose();
66
34
  }
67
35
  };
68
36
  exports.ChartJsComponent = ChartJsComponent;
@@ -91,19 +59,18 @@ tslib_1.__decorate([
91
59
  tslib_1.__metadata("design:type", Boolean)
92
60
  ], ChartJsComponent.prototype, "observe", void 0);
93
61
  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>
62
+ (0, aurelia_framework_1.inlineView)(`<template>
63
+ <div ref="container"
64
+ css.bind="css"
65
+ class.bind="class"
66
+ style="display:block;min-width:0;">
67
+ <canvas ref="canvas"
68
+ class="h-100 w-100"
69
+ style="margin:auto;">
70
+ </canvas>
71
+ </div>
104
72
  </template>`),
105
- (0, aurelia_framework_1.customElement)('chart'),
106
- tslib_1.__metadata("design:paramtypes", [model_observer_1.AuObserver])
73
+ (0, aurelia_framework_1.customElement)('chart')
107
74
  ], ChartJsComponent);
108
75
 
109
76
  //# sourceMappingURL=chart-element.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/elements/chart-element.ts"],"names":[],"mappings":"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","file":"chart-element.js","sourceRoot":"../../../src/"}
1
+ {"version":3,"sources":["../src/elements/chart-element.ts"],"names":[],"mappings":";;;;AAAA,yDAAwE;AAExE,8DAAoE;AAc7D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QAIY,SAAI,GAAG,IAAI,2BAAS,EAAE,CAAC;QAO9B,YAAO,GAAY,KAAK,CAAC;IA+BrC,CAAC;IA7BC,WAAW;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC;IAEV,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;CACF,CAAA;AA1CY,4CAAgB;AAMjB;IAAT,4BAAQ;;8CAAiB;AAChB;IAAT,4BAAQ;;6CAAmC;AAClC;IAAT,4BAAQ;;+CAAe;AACd;IAAT,4BAAQ;;iDAAwB;AACvB;IAAT,4BAAQ;;8CAAqB;AACpB;IAAT,4BAAQ;;iDAA0B;2BAXxB,gBAAgB;IAZ5B,IAAA,8BAAU,EAAC;;;;;;;;;;YAUA,CAAC;IACZ,IAAA,iCAAa,EAAC,OAAO,CAAC;GACV,gBAAgB,CA0C5B","file":"chart-element.js","sourceRoot":"../../../src/"}
@@ -1,3 +1 @@
1
- import { ChartConfiguration, ChartData } from "chart.js";
2
- export interface IChartCombined extends ChartConfiguration, ChartData {
3
- }
1
+ export type { IChartCombined } from '@ev-core/au-core-chartjs';
@@ -1,27 +1,21 @@
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;
1
+ import { ChartType, ChartOptions, Plugin } from 'chart.js';
2
+ import { ChartHostData } from '@ev-core/au-core-chartjs';
3
+ export declare class ChartJsComponent {
5
4
  container: HTMLDivElement;
5
+ canvas: HTMLCanvasElement;
6
6
  plugins?: Plugin[];
7
+ private readonly host;
7
8
  type: ChartType;
8
9
  css: Partial<CSSStyleDeclaration>;
9
10
  class: string;
10
11
  options?: ChartOptions;
11
- data: ChartData<keyof ChartTypeRegistry, (number | [number, number] | Point | BubbleDataPoint)[], unknown>;
12
- dataChanged(val: any): void;
12
+ data: ChartHostData;
13
13
  observe: boolean;
14
- onChange(change: any): void;
15
- chart?: Chart;
16
- canvas: HTMLCanvasElement;
17
- constructor(modelObserver: AuObserver);
14
+ dataChanged(): void;
18
15
  bind(): void;
19
16
  attached(): void;
20
17
  detached(): void;
21
- throttleTimer: number;
22
18
  setup(): void;
23
19
  refresh(): void;
24
- lastResize: number;
25
- resize(): void;
26
20
  dispose(): void;
27
21
  }
@@ -1,21 +1,14 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
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);
3
+ import { ChartHost } from '@ev-core/au-core-chartjs';
7
4
  let ChartJsComponent = class ChartJsComponent {
8
- dataChanged(val) {
9
- this.refresh();
5
+ constructor() {
6
+ this.host = new ChartHost();
7
+ this.observe = false;
10
8
  }
11
- onChange(change) {
9
+ dataChanged() {
12
10
  this.refresh();
13
11
  }
14
- constructor(modelObserver) {
15
- this.modelObserver = modelObserver;
16
- this.observe = false;
17
- this.throttleTimer = 100;
18
- }
19
12
  bind() { }
20
13
  attached() {
21
14
  this.setup();
@@ -24,42 +17,17 @@ let ChartJsComponent = class ChartJsComponent {
24
17
  this.dispose();
25
18
  }
26
19
  setup() {
27
- this.chart = new Chart(this.canvas, {
20
+ this.host.setup(this.canvas, {
28
21
  type: this.type,
29
22
  data: this.data,
30
- plugins: this.plugins,
31
- options: {
32
- responsive: false
33
- }
23
+ plugins: this.plugins
34
24
  });
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
25
  }
44
26
  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
- }
27
+ this.host.refresh(this.data);
58
28
  }
59
29
  dispose() {
60
- this.modelObserver?.dispose();
61
- this.chart?.destroy();
62
- this.chart = undefined;
30
+ this.host.dispose();
63
31
  }
64
32
  };
65
33
  __decorate([
@@ -87,19 +55,18 @@ __decorate([
87
55
  __metadata("design:type", Boolean)
88
56
  ], ChartJsComponent.prototype, "observe", void 0);
89
57
  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>
58
+ inlineView(`<template>
59
+ <div ref="container"
60
+ css.bind="css"
61
+ class.bind="class"
62
+ style="display:block;min-width:0;">
63
+ <canvas ref="canvas"
64
+ class="h-100 w-100"
65
+ style="margin:auto;">
66
+ </canvas>
67
+ </div>
100
68
  </template>`),
101
- customElement('chart'),
102
- __metadata("design:paramtypes", [AuObserver])
69
+ customElement('chart')
103
70
  ], ChartJsComponent);
104
71
  export { ChartJsComponent };
105
72
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/elements/chart-element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,KAAK,EAA6G,aAAa,EAAE,MAAM,UAAU,CAAC;AAC3J,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,KAAK,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC;AAc1B,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAS3B,WAAW,CAAC,GAAG;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAGD,QAAQ,CAAC,MAAW;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAKD,YACmB,aAAyB;QAAzB,kBAAa,GAAb,aAAa,CAAY;QAVlC,YAAO,GAAY,KAAK,CAAC;QAuBnC,kBAAa,GAAG,GAAG,CAAC;IAZhB,CAAC;IAEL,IAAI,KAAK,CAAC;IAEV,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAGD,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YAClC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE;gBACP,UAAU,EAAE,KAAK;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,CAAC,KAA4C,EAAE,EAAE;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAEhG,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAEzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAGD,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACxB,CAAC;IACH,CAAC;IAGD,OAAO;QACL,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACzB,CAAC;CACF,CAAA;AA7EW;IAAT,QAAQ;;8CAAiB;AAChB;IAAT,QAAQ;;6CAAmC;AAClC;IAAT,QAAQ;;+CAAe;AACd;IAAT,QAAQ;;iDAAwB;AACvB;IAAT,QAAQ;;8CAA4G;AAI3G;IAAT,QAAQ;;iDAA0B;AAZxB,gBAAgB;IAZ5B,UAAU,CAAC;;;;;;;;;;YAUA,CAAC;IACZ,aAAa,CAAC,OAAO,CAAC;qCAuBa,UAAU;GAtBjC,gBAAgB,CAiF5B","file":"chart-element.js","sourceRoot":"../../../src/"}
1
+ {"version":3,"sources":["../src/elements/chart-element.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,SAAS,EAAiB,MAAM,0BAA0B,CAAC;AAc7D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QAIY,SAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QAO9B,YAAO,GAAY,KAAK,CAAC;IA+BrC,CAAC;IA7BC,WAAW;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,IAAI,KAAK,CAAC;IAEV,QAAQ;QACN,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;CACF,CAAA;AApCW;IAAT,QAAQ;;8CAAiB;AAChB;IAAT,QAAQ;;6CAAmC;AAClC;IAAT,QAAQ;;+CAAe;AACd;IAAT,QAAQ;;iDAAwB;AACvB;IAAT,QAAQ;;8CAAqB;AACpB;IAAT,QAAQ;;iDAA0B;AAXxB,gBAAgB;IAZ5B,UAAU,CAAC;;;;;;;;;;YAUA,CAAC;IACZ,aAAa,CAAC,OAAO,CAAC;GACV,gBAAgB,CA0C5B","file":"chart-element.js","sourceRoot":"../../../src/"}
@@ -1,3 +1 @@
1
- import { ChartConfiguration, ChartData } from "chart.js";
2
- export interface IChartCombined extends ChartConfiguration, ChartData {
3
- }
1
+ export type { IChartCombined } from '@ev-core/au-core-chartjs';
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@ev-core/aurelia-v1-chartjs",
3
- "description": "An Aurelia plugin project.",
4
- "version": "0.6.5",
3
+ "description": "Aurelia v1 Chart.js element plugin.",
4
+ "version": "2.0.0",
5
5
  "dependencies": {
6
- "chart.js": "^4.0.0",
7
- "@ev-core/aurelia-v1-resources": "0.6.5"
6
+ "@ev-core/au-core-chartjs": "2.0.0",
7
+ "chart.js": "^4.0.0"
8
8
  },
9
9
  "peerDependencies": {
10
10
  "aurelia-binding": "^1.0.0 || ^2.0.0",
@@ -43,7 +43,7 @@
43
43
  "server-destroy": "^1.0.1",
44
44
  "socket.io": "^4.8.1",
45
45
  "text": "requirejs/text",
46
- "typescript": "^5.9.2",
46
+ "typescript": "^5.9.3",
47
47
  "typescript-eslint": "^8.38.0"
48
48
  },
49
49
  "overrides": {
@@ -52,13 +52,14 @@
52
52
  "glob-parent": "^6.0.0",
53
53
  "micromatch": "^4.0.0"
54
54
  },
55
+ "types": "dist/native-modules/index.d.ts",
55
56
  "main": "dist/commonjs/index.js",
56
57
  "module": "dist/native-modules/index.js",
57
58
  "files": [
58
59
  "dist"
59
60
  ],
60
61
  "scripts": {
61
- "build": "echo 'Build skipped - already built'",
62
+ "build": "au build-plugin --env prod",
62
63
  "build:o": "au build-plugin --env prod",
63
64
  "clean": "rimraf dist",
64
65
  "start": "au run",
@@ -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":"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","file":"model-observer.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":";AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAyC,SAAS,EAAE,MAAM,mBAAmB,CAAC;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,QAAQ,CAAC,MAAqC,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACpF,GAAG,CAAC,iBAAiB,GAAI,QAAQ,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,QAAQ,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,QAAQ,CAAC,MAAqC,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACpF,GAAG,CAAC,iBAAiB,GAAI,QAAQ,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,UAAU;IAFtB,SAAS,EAAE;IACX,UAAU,EAAE;qCAKa,aAAa;GAJ1B,UAAU,CA8FtB","file":"model-observer.js","sourceRoot":"../../src/"}