@abp/ng.components 10.5.0-rc.4 → 10.6.0-rc.1

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,18 +1,24 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, ChangeDetectorRef, input, output, effect, untracked, ViewChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
2
+ import { inject, ElementRef, input, output, effect, untracked, ViewChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
3
 
4
4
  let Chart;
5
5
  class ChartComponent {
6
6
  constructor() {
7
7
  this.el = inject(ElementRef);
8
- this.cdr = inject(ChangeDetectorRef);
9
- this.type = input.required(...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
10
- this.data = input({}, ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
11
- this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
12
- this.plugins = input([], ...(ngDevMode ? [{ debugName: "plugins" }] : /* istanbul ignore next */ []));
13
- this.width = input(...(ngDevMode ? [undefined, { debugName: "width" }] : /* istanbul ignore next */ []));
14
- this.height = input(...(ngDevMode ? [undefined, { debugName: "height" }] : /* istanbul ignore next */ []));
15
- this.responsive = input(true, ...(ngDevMode ? [{ debugName: "responsive" }] : /* istanbul ignore next */ []));
8
+ this.type = input.required(/* @ts-ignore */
9
+ ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
10
+ this.data = input({}, /* @ts-ignore */
11
+ ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
12
+ this.options = input({}, /* @ts-ignore */
13
+ ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
14
+ this.plugins = input([], /* @ts-ignore */
15
+ ...(ngDevMode ? [{ debugName: "plugins" }] : /* istanbul ignore next */ []));
16
+ this.width = input(/* @ts-ignore */
17
+ ...(ngDevMode ? [undefined, { debugName: "width" }] : /* istanbul ignore next */ []));
18
+ this.height = input(/* @ts-ignore */
19
+ ...(ngDevMode ? [undefined, { debugName: "height" }] : /* istanbul ignore next */ []));
20
+ this.responsive = input(true, /* @ts-ignore */
21
+ ...(ngDevMode ? [{ debugName: "responsive" }] : /* istanbul ignore next */ []));
16
22
  this.dataSelect = output();
17
23
  this.initialized = output();
18
24
  this.initChart = (data, options) => {
@@ -43,7 +49,6 @@ class ChartComponent {
43
49
  this.refresh = () => {
44
50
  if (this.chart) {
45
51
  this.chart.update();
46
- this.cdr.detectChanges();
47
52
  }
48
53
  };
49
54
  this.reinit = () => {
@@ -85,8 +90,8 @@ class ChartComponent {
85
90
  this.chart = null;
86
91
  }
87
92
  }
88
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
89
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.17", type: ChartComponent, isStandalone: true, selector: "abp-chart", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, plugins: { classPropertyName: "plugins", publicName: "plugins", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dataSelect: "dataSelect", initialized: "initialized" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }], exportAs: ["abpChart"], ngImport: i0, template: `
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
94
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: ChartComponent, isStandalone: true, selector: "abp-chart", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, plugins: { classPropertyName: "plugins", publicName: "plugins", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dataSelect: "dataSelect", initialized: "initialized" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }], exportAs: ["abpChart"], ngImport: i0, template: `
90
95
  <div
91
96
  style="position:relative"
92
97
  [style.width]="responsive() && !width() ? null : width()"
@@ -101,7 +106,7 @@ class ChartComponent {
101
106
  </div>
102
107
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
103
108
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ChartComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ChartComponent, decorators: [{
105
110
  type: Component,
106
111
  args: [{
107
112
  selector: 'abp-chart',
@@ -128,11 +133,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
128
133
  }] } });
129
134
 
130
135
  class ChartModule {
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
132
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: ChartModule, imports: [ChartComponent], exports: [ChartComponent] }); }
133
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ChartModule }); }
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
137
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: ChartModule, imports: [ChartComponent], exports: [ChartComponent] }); }
138
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ChartModule }); }
134
139
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ChartModule, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ChartModule, decorators: [{
136
141
  type: NgModule,
137
142
  args: [{
138
143
  imports: [ChartComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.components-chart.js.mjs","sources":["../../../../packages/components/chart.js/src/chart.component.ts","../../../../packages/components/chart.js/src/chart.module.ts","../../../../packages/components/chart.js/src/widget-utils.ts","../../../../packages/components/chart.js/src/abp-ng.components-chart.js.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n ViewChild,\r\n effect,\r\n inject,\r\n input,\r\n output,\r\n untracked,\r\n} from '@angular/core';\r\n\r\nlet Chart: any;\r\n\r\n@Component({\r\n selector: 'abp-chart',\r\n template: `\r\n <div\r\n style=\"position:relative\"\r\n [style.width]=\"responsive() && !width() ? null : width()\"\r\n [style.height]=\"responsive() && !height() ? null : height()\"\r\n >\r\n <canvas\r\n #canvas\r\n [attr.width]=\"responsive() && !width() ? null : width()\"\r\n [attr.height]=\"responsive() && !height() ? null : height()\"\r\n (click)=\"onCanvasClick($event)\"\r\n ></canvas>\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'abpChart',\r\n})\r\nexport class ChartComponent implements AfterViewInit, OnDestroy {\r\n el = inject(ElementRef);\r\n private cdr = inject(ChangeDetectorRef);\r\n\r\n readonly type = input.required<string>();\r\n readonly data = input<any>({});\r\n readonly options = input<any>({});\r\n readonly plugins = input<any[]>([]);\r\n readonly width = input<string>();\r\n readonly height = input<string>();\r\n readonly responsive = input<boolean>(true);\r\n\r\n readonly dataSelect = output<any>();\r\n readonly initialized = output<boolean>();\r\n\r\n @ViewChild('canvas') canvas!: ElementRef<HTMLCanvasElement>;\r\n\r\n chart: any;\r\n\r\n constructor() {\r\n effect(() => {\r\n const data = this.data();\r\n const options = this.options();\r\n\r\n untracked(() => {\r\n if (!this.chart) return;\r\n this.chart.destroy();\r\n this.initChart(data, options);\r\n });\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n import('chart.js/auto').then(module => {\r\n Chart = module.default;\r\n this.initChart(this.data(), this.options());\r\n this.initialized.emit(true);\r\n });\r\n }\r\n\r\n onCanvasClick(event: MouseEvent) {\r\n if (this.chart) {\r\n const element = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'nearest',\r\n { intersect: true },\r\n false,\r\n );\r\n const dataset = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'dataset',\r\n { intersect: true },\r\n false,\r\n );\r\n\r\n if (element && element[0] && dataset) {\r\n this.dataSelect.emit({ originalEvent: event, element: element[0], dataset: dataset });\r\n }\r\n }\r\n }\r\n\r\n private initChart = (data: any, options: any) => {\r\n const opts = options || {};\r\n opts.responsive = this.responsive();\r\n\r\n // allows chart to resize in responsive mode\r\n if (opts.responsive && (this.height() || this.width())) {\r\n opts.maintainAspectRatio = false;\r\n }\r\n\r\n this.chart = new Chart(this.canvas.nativeElement, {\r\n type: this.type() as any,\r\n data: data,\r\n options: opts,\r\n plugins: this.plugins(),\r\n });\r\n };\r\n\r\n getCanvas = () => {\r\n return this.canvas.nativeElement;\r\n };\r\n\r\n getBase64Image = () => {\r\n return this.chart.toBase64Image();\r\n };\r\n\r\n generateLegend = () => {\r\n if (this.chart) {\r\n return this.chart.generateLegend();\r\n }\r\n };\r\n\r\n refresh = () => {\r\n if (this.chart) {\r\n this.chart.update();\r\n this.cdr.detectChanges();\r\n }\r\n };\r\n\r\n reinit = () => {\r\n if (!this.chart) return;\r\n this.chart.destroy();\r\n this.initChart(this.data(), this.options());\r\n };\r\n\r\n ngOnDestroy() {\r\n if (this.chart) {\r\n this.chart.destroy();\r\n this.chart = null;\r\n }\r\n }\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { ChartComponent } from './chart.component';\r\n\r\n@NgModule({\r\n imports: [ChartComponent],\r\n exports: [ChartComponent],\r\n declarations: [],\r\n providers: [],\r\n})\r\nexport class ChartModule {}\r\n","export function getRandomBackgroundColor(count: number) {\r\n const colors = [];\r\n\r\n for (let i = 0; i < count; i++) {\r\n const r = ((i + 5) * (i + 5) * 474) % 255;\r\n const g = ((i + 5) * (i + 5) * 1600) % 255;\r\n const b = ((i + 5) * (i + 5) * 84065) % 255;\r\n colors.push('rgba(' + r + ', ' + g + ', ' + b + ', 0.7)');\r\n }\r\n\r\n return colors;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abp-ng.components-chart.js.mjs","sources":["../../../../packages/components/chart.js/src/chart.component.ts","../../../../packages/components/chart.js/src/chart.module.ts","../../../../packages/components/chart.js/src/widget-utils.ts","../../../../packages/components/chart.js/src/abp-ng.components-chart.js.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n ViewChild,\r\n effect,\r\n inject,\r\n input,\r\n output,\r\n untracked,\r\n} from '@angular/core';\r\n\r\nlet Chart: any;\r\n\r\n@Component({\r\n selector: 'abp-chart',\r\n template: `\r\n <div\r\n style=\"position:relative\"\r\n [style.width]=\"responsive() && !width() ? null : width()\"\r\n [style.height]=\"responsive() && !height() ? null : height()\"\r\n >\r\n <canvas\r\n #canvas\r\n [attr.width]=\"responsive() && !width() ? null : width()\"\r\n [attr.height]=\"responsive() && !height() ? null : height()\"\r\n (click)=\"onCanvasClick($event)\"\r\n ></canvas>\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'abpChart',\r\n})\r\nexport class ChartComponent implements AfterViewInit, OnDestroy {\r\n el = inject(ElementRef);\r\n\r\n readonly type = input.required<string>();\r\n readonly data = input<any>({});\r\n readonly options = input<any>({});\r\n readonly plugins = input<any[]>([]);\r\n readonly width = input<string>();\r\n readonly height = input<string>();\r\n readonly responsive = input<boolean>(true);\r\n\r\n readonly dataSelect = output<any>();\r\n readonly initialized = output<boolean>();\r\n\r\n @ViewChild('canvas') canvas!: ElementRef<HTMLCanvasElement>;\r\n\r\n chart: any;\r\n\r\n constructor() {\r\n effect(() => {\r\n const data = this.data();\r\n const options = this.options();\r\n\r\n untracked(() => {\r\n if (!this.chart) return;\r\n this.chart.destroy();\r\n this.initChart(data, options);\r\n });\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n import('chart.js/auto').then(module => {\r\n Chart = module.default;\r\n this.initChart(this.data(), this.options());\r\n this.initialized.emit(true);\r\n });\r\n }\r\n\r\n onCanvasClick(event: MouseEvent) {\r\n if (this.chart) {\r\n const element = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'nearest',\r\n { intersect: true },\r\n false,\r\n );\r\n const dataset = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'dataset',\r\n { intersect: true },\r\n false,\r\n );\r\n\r\n if (element && element[0] && dataset) {\r\n this.dataSelect.emit({ originalEvent: event, element: element[0], dataset: dataset });\r\n }\r\n }\r\n }\r\n\r\n private initChart = (data: any, options: any) => {\r\n const opts = options || {};\r\n opts.responsive = this.responsive();\r\n\r\n // allows chart to resize in responsive mode\r\n if (opts.responsive && (this.height() || this.width())) {\r\n opts.maintainAspectRatio = false;\r\n }\r\n\r\n this.chart = new Chart(this.canvas.nativeElement, {\r\n type: this.type() as any,\r\n data: data,\r\n options: opts,\r\n plugins: this.plugins(),\r\n });\r\n };\r\n\r\n getCanvas = () => {\r\n return this.canvas.nativeElement;\r\n };\r\n\r\n getBase64Image = () => {\r\n return this.chart.toBase64Image();\r\n };\r\n\r\n generateLegend = () => {\r\n if (this.chart) {\r\n return this.chart.generateLegend();\r\n }\r\n };\r\n\r\n refresh = () => {\r\n if (this.chart) {\r\n this.chart.update();\r\n }\r\n };\r\n\r\n reinit = () => {\r\n if (!this.chart) return;\r\n this.chart.destroy();\r\n this.initChart(this.data(), this.options());\r\n };\r\n\r\n ngOnDestroy() {\r\n if (this.chart) {\r\n this.chart.destroy();\r\n this.chart = null;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ChartComponent } from './chart.component';\r\n\r\n@NgModule({\r\n imports: [ChartComponent],\r\n exports: [ChartComponent],\r\n declarations: [],\r\n providers: [],\r\n})\r\nexport class ChartModule {}\r\n","export function getRandomBackgroundColor(count: number) {\r\n const colors = [];\r\n\r\n for (let i = 0; i < count; i++) {\r\n const r = ((i + 5) * (i + 5) * 474) % 255;\r\n const g = ((i + 5) * (i + 5) * 1600) % 255;\r\n const b = ((i + 5) * (i + 5) * 84065) % 255;\r\n colors.push('rgba(' + r + ', ' + g + ', ' + b + ', 0.7)');\r\n }\r\n\r\n return colors;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}