@delon/chart 19.1.0 → 20.0.0-beta.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/bar/index.d.ts +47 -5
- package/card/index.d.ts +35 -5
- package/chart-echarts/index.d.ts +85 -5
- package/core/index.d.ts +71 -5
- package/custom/index.d.ts +27 -5
- package/fesm2022/bar.mjs +8 -9
- package/fesm2022/bar.mjs.map +1 -1
- package/fesm2022/card.mjs +9 -9
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/chart-echarts.mjs +11 -14
- package/fesm2022/chart-echarts.mjs.map +1 -1
- package/fesm2022/core.mjs +7 -7
- package/fesm2022/custom.mjs +8 -9
- package/fesm2022/custom.mjs.map +1 -1
- package/fesm2022/gauge.mjs +8 -9
- package/fesm2022/gauge.mjs.map +1 -1
- package/fesm2022/mini-area.mjs +8 -9
- package/fesm2022/mini-area.mjs.map +1 -1
- package/fesm2022/mini-bar.mjs +8 -9
- package/fesm2022/mini-bar.mjs.map +1 -1
- package/fesm2022/mini-progress.mjs +11 -12
- package/fesm2022/mini-progress.mjs.map +1 -1
- package/fesm2022/number-info.mjs +9 -9
- package/fesm2022/number-info.mjs.map +1 -1
- package/fesm2022/pie.mjs +9 -9
- package/fesm2022/pie.mjs.map +1 -1
- package/fesm2022/radar.mjs +9 -9
- package/fesm2022/radar.mjs.map +1 -1
- package/fesm2022/single-bar.mjs +8 -9
- package/fesm2022/single-bar.mjs.map +1 -1
- package/fesm2022/tag-cloud.mjs +8 -9
- package/fesm2022/tag-cloud.mjs.map +1 -1
- package/fesm2022/timeline.mjs +8 -9
- package/fesm2022/timeline.mjs.map +1 -1
- package/fesm2022/trend.mjs +8 -9
- package/fesm2022/trend.mjs.map +1 -1
- package/fesm2022/water-wave.mjs +9 -9
- package/fesm2022/water-wave.mjs.map +1 -1
- package/gauge/index.d.ts +29 -5
- package/index.d.ts +2 -5
- package/mini-area/index.d.ts +50 -5
- package/mini-bar/index.d.ts +42 -5
- package/mini-progress/index.d.ts +29 -5
- package/mini-progress/style/index.less +1 -1
- package/number-info/index.d.ts +35 -5
- package/package.json +4 -4
- package/pie/index.d.ts +80 -5
- package/radar/index.d.ts +51 -5
- package/single-bar/index.d.ts +38 -5
- package/tag-cloud/index.d.ts +42 -5
- package/timeline/index.d.ts +79 -3
- package/trend/index.d.ts +24 -5
- package/water-wave/index.d.ts +42 -5
- package/bar/bar.component.d.ts +0 -34
- package/bar/bar.module.d.ts +0 -10
- package/bar/public_api.d.ts +0 -2
- package/card/card.component.d.ts +0 -22
- package/card/card.module.d.ts +0 -11
- package/card/public_api.d.ts +0 -2
- package/chart-echarts/echarts.component.d.ts +0 -40
- package/chart-echarts/echarts.module.d.ts +0 -9
- package/chart-echarts/echarts.service.d.ts +0 -20
- package/chart-echarts/echarts.types.d.ts +0 -18
- package/chart-echarts/public_api.d.ts +0 -4
- package/core/g2.base.component.d.ts +0 -44
- package/core/g2.servicce.d.ts +0 -20
- package/core/public_api.d.ts +0 -5
- package/core/types/interaction.d.ts +0 -1
- package/core/types/time.d.ts +0 -1
- package/core/utils.d.ts +0 -2
- package/custom/custom.component.d.ts +0 -16
- package/custom/custom.module.d.ts +0 -9
- package/custom/public_api.d.ts +0 -2
- package/gauge/gauge.component.d.ts +0 -18
- package/gauge/gauge.module.d.ts +0 -9
- package/gauge/public_api.d.ts +0 -2
- package/mini-area/mini-area.component.d.ts +0 -39
- package/mini-area/mini-area.module.d.ts +0 -8
- package/mini-area/public_api.d.ts +0 -2
- package/mini-bar/mini-bar.component.d.ts +0 -31
- package/mini-bar/mini-bar.module.d.ts +0 -8
- package/mini-bar/public_api.d.ts +0 -2
- package/mini-progress/mini-progress.component.d.ts +0 -17
- package/mini-progress/mini-progress.module.d.ts +0 -10
- package/mini-progress/public_api.d.ts +0 -2
- package/number-info/number-info.component.d.ts +0 -23
- package/number-info/number-info.module.d.ts +0 -10
- package/number-info/public_api.d.ts +0 -2
- package/pie/pie.component.d.ts +0 -66
- package/pie/pie.module.d.ts +0 -11
- package/pie/public_api.d.ts +0 -2
- package/public_api.d.ts +0 -2
- package/radar/public_api.d.ts +0 -2
- package/radar/radar.component.d.ts +0 -37
- package/radar/radar.module.d.ts +0 -11
- package/single-bar/public_api.d.ts +0 -2
- package/single-bar/single-bar.component.d.ts +0 -28
- package/single-bar/single-bar.module.d.ts +0 -8
- package/tag-cloud/public_api.d.ts +0 -2
- package/tag-cloud/tag-cloud.component.d.ts +0 -30
- package/tag-cloud/tag-cloud.module.d.ts +0 -9
- package/timeline/public_api.d.ts +0 -2
- package/timeline/timeline.component.d.ts +0 -68
- package/timeline/timeline.module.d.ts +0 -10
- package/trend/public_api.d.ts +0 -2
- package/trend/trend.component.d.ts +0 -13
- package/trend/trend.module.d.ts +0 -9
- package/water-wave/public_api.d.ts +0 -2
- package/water-wave/water-wave.component.d.ts +0 -31
- package/water-wave/water-wave.module.d.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mini-progress.mjs","sources":["../../../../packages/chart/mini-progress/mini-progress.component.ts","../../../../packages/chart/mini-progress/mini-progress.module.ts","../../../../packages/chart/mini-progress/mini-progress.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnChanges,\n ViewEncapsulation,\n inject,\n numberAttribute\n} from '@angular/core';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\n@Component({\n selector: 'g2-mini-progress',\n exportAs: 'g2MiniProgress',\n template: `\n <div\n nz-tooltip\n [nzTooltipTitle]=\"targetSuffix + target + '%'\"\n class=\"g2-mini-progress__target\"\n [style]=\"{ left: target + '%' }\"\n >\n <span class=\"g2-mini-progress__target-item\" [style]=\"{ 'background-color': color }\"></span>\n <span class=\"g2-mini-progress__target-item\" [style]=\"{ 'background-color': color }\"></span>\n </div>\n <div class=\"g2-mini-progress__wrap\">\n <div\n class=\"g2-mini-progress__value\"\n [style]=\"{ 'background-color': color, width: percent + '%', height: strokeWidth + 'px' }\"\n ></div>\n </div>\n `,\n host: { '[class.g2-mini-progress]': 'true' },\n
|
|
1
|
+
{"version":3,"file":"mini-progress.mjs","sources":["../../../../packages/chart/mini-progress/mini-progress.component.ts","../../../../packages/chart/mini-progress/mini-progress.module.ts","../../../../packages/chart/mini-progress/mini-progress.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnChanges,\n ViewEncapsulation,\n inject,\n numberAttribute\n} from '@angular/core';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\n@Component({\n selector: 'g2-mini-progress',\n exportAs: 'g2MiniProgress',\n template: `\n <div\n nz-tooltip\n [nzTooltipTitle]=\"locale().targetSuffix + target + '%'\"\n class=\"g2-mini-progress__target\"\n [style]=\"{ left: target + '%' }\"\n >\n <span class=\"g2-mini-progress__target-item\" [style]=\"{ 'background-color': color }\"></span>\n <span class=\"g2-mini-progress__target-item\" [style]=\"{ 'background-color': color }\"></span>\n </div>\n <div class=\"g2-mini-progress__wrap\">\n <div\n class=\"g2-mini-progress__value\"\n [style]=\"{ 'background-color': color, width: percent + '%', height: strokeWidth + 'px' }\"\n ></div>\n </div>\n `,\n host: { '[class.g2-mini-progress]': 'true' },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzTooltipDirective]\n})\nexport class G2MiniProgressComponent implements OnChanges {\n locale = inject(DelonLocaleService).valueSignal('miniProgress');\n private readonly cdr = inject(ChangeDetectorRef);\n\n @Input() color = '#1890FF';\n @Input({ transform: numberAttribute }) target?: number | null;\n @Input({ transform: numberAttribute }) percent?: number | null;\n @Input({ transform: numberAttribute }) strokeWidth?: number | null;\n\n private fixNum(value: number | undefined | null): number {\n return Math.min(Math.max(numberAttribute(value), 0), 100);\n }\n\n ngOnChanges(): void {\n this.target = this.fixNum(this.target);\n this.percent = this.fixNum(this.percent);\n this.cdr.detectChanges();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { G2MiniProgressComponent } from './mini-progress.component';\n\nconst COMPONENTS = [G2MiniProgressComponent];\n\n@NgModule({\n imports: [CommonModule, DelonLocaleModule, NzToolTipModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class G2MiniProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/number-info.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { numberAttribute,
|
|
2
|
+
import { numberAttribute, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { NzStringTemplateOutletDirective, NzOutletModule } from 'ng-zorro-antd/core/outlet';
|
|
4
4
|
import { NzIconDirective, NzIconModule } from 'ng-zorro-antd/icon';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
@@ -21,16 +21,16 @@ class NumberInfoComponent {
|
|
|
21
21
|
theme = 'light';
|
|
22
22
|
/** 设置数字和描述直接的间距(像素) */
|
|
23
23
|
gap = 8;
|
|
24
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
25
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: NumberInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: NumberInfoComponent, isStandalone: true, selector: "number-info", inputs: { title: "title", subTitle: "subTitle", total: "total", subTotal: "subTotal", suffix: "suffix", status: "status", theme: "theme", gap: ["gap", "gap", numberAttribute] }, host: { properties: { "class.number-info": "true", "class.number-info__light": "theme === 'light'", "class.number-info__default": "theme === 'default'" } }, exportAs: ["numberInfo"], ngImport: i0, template: "@if (title) {\n <div class=\"number-info__title\">\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </div>\n}\n@if (subTitle) {\n <div class=\"number-info__title-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">{{ subTitle }}</ng-container>\n </div>\n}\n<div class=\"number-info__value\" [style.margin-top.px]=\"gap\">\n <span class=\"number-info__value-text\">\n <ng-container *nzStringTemplateOutlet=\"total\">{{ total }}</ng-container>\n @if (suffix) {\n <em class=\"number-info__value-suffix\">{{ suffix }}</em>\n }\n </span>\n @if (status || subTotal) {\n <span class=\"number-info__value-text number-info__value-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTotal\">{{ subTotal }}</ng-container>\n @if (status) {\n <nz-icon nzType=\"caret-{{ status }}\" />\n }\n </span>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "directive", type: NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: NumberInfoComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{ selector: 'number-info', exportAs: 'numberInfo', host: {
|
|
30
30
|
'[class.number-info]': `true`,
|
|
31
31
|
'[class.number-info__light]': `theme === 'light'`,
|
|
32
32
|
'[class.number-info__default]': `theme === 'default'`
|
|
33
|
-
},
|
|
33
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NzStringTemplateOutletDirective, NzIconDirective], template: "@if (title) {\n <div class=\"number-info__title\">\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </div>\n}\n@if (subTitle) {\n <div class=\"number-info__title-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">{{ subTitle }}</ng-container>\n </div>\n}\n<div class=\"number-info__value\" [style.margin-top.px]=\"gap\">\n <span class=\"number-info__value-text\">\n <ng-container *nzStringTemplateOutlet=\"total\">{{ total }}</ng-container>\n @if (suffix) {\n <em class=\"number-info__value-suffix\">{{ suffix }}</em>\n }\n </span>\n @if (status || subTotal) {\n <span class=\"number-info__value-text number-info__value-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTotal\">{{ subTotal }}</ng-container>\n @if (status) {\n <nz-icon nzType=\"caret-{{ status }}\" />\n }\n </span>\n }\n</div>\n" }]
|
|
34
34
|
}], propDecorators: { title: [{
|
|
35
35
|
type: Input
|
|
36
36
|
}], subTitle: [{
|
|
@@ -52,11 +52,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
52
52
|
|
|
53
53
|
const COMPONENTS = [NumberInfoComponent];
|
|
54
54
|
class NumberInfoModule {
|
|
55
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
56
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
57
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
55
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: NumberInfoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
56
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: NumberInfoModule, imports: [CommonModule, NzIconModule, NzOutletModule, NumberInfoComponent], exports: [NumberInfoComponent] });
|
|
57
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: NumberInfoModule, imports: [CommonModule, NzIconModule, NzOutletModule] });
|
|
58
58
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: NumberInfoModule, decorators: [{
|
|
60
60
|
type: NgModule,
|
|
61
61
|
args: [{
|
|
62
62
|
imports: [CommonModule, NzIconModule, NzOutletModule, ...COMPONENTS],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-info.mjs","sources":["../../../../packages/chart/number-info/number-info.component.ts","../../../../packages/chart/number-info/number-info.component.html","../../../../packages/chart/number-info/number-info.module.ts","../../../../packages/chart/number-info/number-info.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewEncapsulation,\n numberAttribute\n} from '@angular/core';\n\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'number-info',\n exportAs: 'numberInfo',\n templateUrl: './number-info.component.html',\n host: {\n '[class.number-info]': `true`,\n '[class.number-info__light]': `theme === 'light'`,\n '[class.number-info__default]': `theme === 'default'`\n },\n
|
|
1
|
+
{"version":3,"file":"number-info.mjs","sources":["../../../../packages/chart/number-info/number-info.component.ts","../../../../packages/chart/number-info/number-info.component.html","../../../../packages/chart/number-info/number-info.module.ts","../../../../packages/chart/number-info/number-info.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewEncapsulation,\n numberAttribute\n} from '@angular/core';\n\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'number-info',\n exportAs: 'numberInfo',\n templateUrl: './number-info.component.html',\n host: {\n '[class.number-info]': `true`,\n '[class.number-info__light]': `theme === 'light'`,\n '[class.number-info__default]': `theme === 'default'`\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzStringTemplateOutletDirective, NzIconDirective]\n})\nexport class NumberInfoComponent {\n /** 标题 */\n @Input() title?: string | TemplateRef<void> | null;\n /** 子标题 */\n @Input() subTitle?: string | TemplateRef<void> | null;\n /** 总量 */\n @Input() total?: string | number | TemplateRef<void> | null;\n /** 总量后缀 */\n @Input() subTotal?: string | number | TemplateRef<void> | null;\n /** 子总量 */\n @Input() suffix?: string | null;\n /** 增加状态 */\n @Input() status?: 'up' | 'down';\n /** 状态样式 */\n @Input() theme: 'light' | 'default' = 'light';\n /** 设置数字和描述直接的间距(像素) */\n @Input({ transform: numberAttribute }) gap = 8;\n}\n","@if (title) {\n <div class=\"number-info__title\">\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n </div>\n}\n@if (subTitle) {\n <div class=\"number-info__title-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">{{ subTitle }}</ng-container>\n </div>\n}\n<div class=\"number-info__value\" [style.margin-top.px]=\"gap\">\n <span class=\"number-info__value-text\">\n <ng-container *nzStringTemplateOutlet=\"total\">{{ total }}</ng-container>\n @if (suffix) {\n <em class=\"number-info__value-suffix\">{{ suffix }}</em>\n }\n </span>\n @if (status || subTotal) {\n <span class=\"number-info__value-text number-info__value-sub\">\n <ng-container *nzStringTemplateOutlet=\"subTotal\">{{ subTotal }}</ng-container>\n @if (status) {\n <nz-icon nzType=\"caret-{{ status }}\" />\n }\n </span>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NumberInfoComponent } from './number-info.component';\n\nconst COMPONENTS = [NumberInfoComponent];\n\n@NgModule({\n imports: [CommonModule, NzIconModule, NzOutletModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class NumberInfoModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/pie.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, booleanAttribute, numberAttribute,
|
|
2
|
+
import { EventEmitter, booleanAttribute, numberAttribute, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { G2BaseComponent } from '@delon/chart/core';
|
|
4
4
|
import { NzStringTemplateOutletDirective, NzOutletModule } from 'ng-zorro-antd/core/outlet';
|
|
5
5
|
import { NzDividerComponent, NzDividerModule } from 'ng-zorro-antd/divider';
|
|
@@ -147,17 +147,17 @@ class G2PieComponent extends G2BaseComponent {
|
|
|
147
147
|
onChanges() {
|
|
148
148
|
this.fixData();
|
|
149
149
|
}
|
|
150
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
151
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
150
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2PieComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
151
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: G2PieComponent, isStandalone: true, selector: "g2-pie", inputs: { animate: ["animate", "animate", booleanAttribute], color: "color", subTitle: "subTitle", total: "total", height: ["height", "height", numberAttribute], hasLegend: ["hasLegend", "hasLegend", booleanAttribute], inner: "inner", padding: "padding", percent: ["percent", "percent", numberAttribute], tooltip: ["tooltip", "tooltip", booleanAttribute], lineWidth: ["lineWidth", "lineWidth", numberAttribute], blockMaxWidth: ["blockMaxWidth", "blockMaxWidth", numberAttribute], select: ["select", "select", booleanAttribute], valueFormat: "valueFormat", data: "data", colors: "colors", interaction: "interaction", ratio: "ratio" }, outputs: { clickItem: "clickItem" }, host: { properties: { "class.g2-pie": "true", "class.g2-pie__legend-has": "hasLegend", "class.g2-pie__legend-block": "block", "class.g2-pie__mini": "isPercent" } }, exportAs: ["g2Pie"], usesInheritance: true, ngImport: i0, template: "@if (!loaded) {\n <nz-skeleton />\n}\n<div class=\"g2-pie__chart\">\n <div #container></div>\n @if (subTitle || total) {\n <div class=\"g2-pie__total\">\n @if (subTitle) {\n <h4 class=\"g2-pie__total-title\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">\n <div [innerHTML]=\"subTitle\"></div>\n </ng-container>\n </h4>\n }\n @if (total) {\n <div class=\"g2-pie__total-stat\">\n <ng-container *nzStringTemplateOutlet=\"total\">\n <div [innerHTML]=\"total\"></div>\n </ng-container>\n </div>\n }\n </div>\n }\n</div>\n@if (hasLegend && legendData.length > 0) {\n <ul class=\"g2-pie__legend\">\n @for (item of legendData; track $index) {\n <li (click)=\"_click($index)\" class=\"g2-pie__legend-item\">\n <span class=\"g2-pie__legend-dot\" [style]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n <nz-divider nzType=\"vertical\" />\n <span class=\"g2-pie__legend-percent\">{{ item.percent }}%</span>\n <span class=\"g2-pie__legend-value\" [innerHTML]=\"valueFormat ? valueFormat(item.y) : item.y\"></span>\n </li>\n }\n </ul>\n}\n", dependencies: [{ kind: "component", type: NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: NzDividerComponent, selector: "nz-divider", inputs: ["nzText", "nzType", "nzOrientation", "nzVariant", "nzDashed", "nzPlain"], exportAs: ["nzDivider"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
152
152
|
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2PieComponent, decorators: [{
|
|
154
154
|
type: Component,
|
|
155
155
|
args: [{ selector: 'g2-pie', exportAs: 'g2Pie', host: {
|
|
156
156
|
'[class.g2-pie]': 'true',
|
|
157
157
|
'[class.g2-pie__legend-has]': 'hasLegend',
|
|
158
158
|
'[class.g2-pie__legend-block]': 'block',
|
|
159
159
|
'[class.g2-pie__mini]': 'isPercent'
|
|
160
|
-
},
|
|
160
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NzSkeletonComponent, NzStringTemplateOutletDirective, NzDividerComponent], template: "@if (!loaded) {\n <nz-skeleton />\n}\n<div class=\"g2-pie__chart\">\n <div #container></div>\n @if (subTitle || total) {\n <div class=\"g2-pie__total\">\n @if (subTitle) {\n <h4 class=\"g2-pie__total-title\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">\n <div [innerHTML]=\"subTitle\"></div>\n </ng-container>\n </h4>\n }\n @if (total) {\n <div class=\"g2-pie__total-stat\">\n <ng-container *nzStringTemplateOutlet=\"total\">\n <div [innerHTML]=\"total\"></div>\n </ng-container>\n </div>\n }\n </div>\n }\n</div>\n@if (hasLegend && legendData.length > 0) {\n <ul class=\"g2-pie__legend\">\n @for (item of legendData; track $index) {\n <li (click)=\"_click($index)\" class=\"g2-pie__legend-item\">\n <span class=\"g2-pie__legend-dot\" [style]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n <nz-divider nzType=\"vertical\" />\n <span class=\"g2-pie__legend-percent\">{{ item.percent }}%</span>\n <span class=\"g2-pie__legend-value\" [innerHTML]=\"valueFormat ? valueFormat(item.y) : item.y\"></span>\n </li>\n }\n </ul>\n}\n" }]
|
|
161
161
|
}], propDecorators: { animate: [{
|
|
162
162
|
type: Input,
|
|
163
163
|
args: [{ transform: booleanAttribute }]
|
|
@@ -208,11 +208,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
208
208
|
|
|
209
209
|
const COMPONENTS = [G2PieComponent];
|
|
210
210
|
class G2PieModule {
|
|
211
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
212
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
213
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
211
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2PieModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
212
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: G2PieModule, imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule, G2PieComponent], exports: [G2PieComponent] });
|
|
213
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2PieModule, imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule, COMPONENTS] });
|
|
214
214
|
}
|
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2PieModule, decorators: [{
|
|
216
216
|
type: NgModule,
|
|
217
217
|
args: [{
|
|
218
218
|
imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule, ...COMPONENTS],
|
package/fesm2022/pie.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pie.mjs","sources":["../../../../packages/chart/pie/pie.component.ts","../../../../packages/chart/pie/pie.component.html","../../../../packages/chart/pie/pie.module.ts","../../../../packages/chart/pie/pie.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent, G2InteractionType } from '@delon/chart/core';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDividerComponent } from 'ng-zorro-antd/divider';\nimport { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';\n\nexport interface G2PieData {\n x: NzSafeAny;\n y: number;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2PieClickItem {\n item: G2PieData;\n ev: Event;\n}\n\nexport interface G2PieRatio {\n /** 占比文本,默认:`占比` */\n text: string;\n /** 反比文本,默认:`反比` */\n inverse: string;\n /** 正比颜色,默认使用 `color` 值 */\n color: string;\n /** 反比颜色,默认:`#F0F2F5` */\n inverseColor: string;\n}\n\n@Component({\n selector: 'g2-pie',\n exportAs: 'g2Pie',\n templateUrl: './pie.component.html',\n host: {\n '[class.g2-pie]': 'true',\n '[class.g2-pie__legend-has]': 'hasLegend',\n '[class.g2-pie__legend-block]': 'block',\n '[class.g2-pie__mini]': 'isPercent'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzSkeletonComponent, NzStringTemplateOutletDirective, NzDividerComponent]\n})\nexport class G2PieComponent extends G2BaseComponent {\n private percentColor!: (value: string) => string;\n legendData: NzSafeAny[] = [];\n isPercent = false;\n\n // #region fields\n\n @Input({ transform: booleanAttribute }) animate = true;\n @Input() color = 'rgba(24, 144, 255, 0.85)';\n @Input() subTitle?: string | TemplateRef<void> | null;\n @Input() total?: string | number | TemplateRef<void> | null;\n @Input({ transform: numberAttribute }) height = 0;\n @Input({ transform: booleanAttribute }) hasLegend = false;\n @Input() inner = 0.75;\n @Input() padding: number | number[] | 'auto' = [12, 0, 12, 0];\n @Input({ transform: numberAttribute }) percent?: number;\n @Input({ transform: booleanAttribute }) tooltip = true;\n @Input({ transform: numberAttribute }) lineWidth = 0;\n @Input({ transform: numberAttribute }) blockMaxWidth = 380;\n @Input({ transform: booleanAttribute }) select = true;\n @Input() valueFormat?: (y: number) => string;\n @Input() data: G2PieData[] = [];\n @Input() colors?: string[];\n @Input() interaction: G2InteractionType = 'none';\n @Input() ratio: G2PieRatio = {\n text: '占比',\n inverse: '反比',\n color: '',\n inverseColor: '#F0F2F5'\n };\n @Output() readonly clickItem = new EventEmitter<G2PieClickItem>();\n\n // #endregion\n\n block: boolean = false;\n\n private fixData(): void {\n const { percent, color } = this;\n this.isPercent = percent != null;\n if (!this.isPercent) {\n return;\n }\n\n this.select = false;\n this.tooltip = false;\n const { text, inverse, color: textColor, inverseColor } = this.ratio;\n this.percentColor = (value: string) => (value === text ? textColor || color : inverseColor);\n this.data = [\n {\n x: text,\n y: percent!\n },\n {\n x: inverse,\n y: 100 - percent!\n }\n ];\n }\n\n private updateBlock(): void {\n this.block = this._chart && this.hasLegend && this.el.nativeElement.clientWidth <= this.blockMaxWidth;\n this.cdr.detectChanges();\n }\n\n install(): void {\n const {\n node,\n height,\n padding,\n tooltip,\n inner,\n hasLegend,\n interaction,\n theme,\n animate,\n lineWidth,\n isPercent,\n percentColor,\n colors\n } = this;\n const chart: Chart = (this._chart = new this.winG2.Chart({\n container: node.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.animate(animate);\n\n if (!tooltip) {\n chart.tooltip(false);\n } else {\n chart.tooltip({\n showTitle: false,\n showMarkers: false\n });\n }\n if (interaction !== 'none') {\n chart.interaction(interaction);\n }\n chart.axis(false).legend(false).coordinate('theta', { innerRadius: inner });\n chart.filter('x', (_val: NzSafeAny, item: NzSafeAny) => item.checked !== false);\n chart\n .interval()\n .adjust('stack')\n .position('y')\n .style({ lineWidth, stroke: '#fff' })\n .color('x', isPercent ? percentColor : colors)\n .tooltip('x*percent', (name: string, p: number) => ({\n name,\n value: `${hasLegend ? p : (p * 100).toFixed(2)} %`\n }))\n .state({});\n chart.scale({\n x: {\n type: 'cat',\n range: [0, 1]\n }\n });\n\n chart\n .on(`interval:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n })\n .on('afterrender', () => {\n this.ngZone.run(() => this.updateBlock());\n });\n\n this.ready.next(chart);\n\n this.changeData();\n\n chart.render();\n }\n\n changeData(): void {\n const { _chart, data } = this;\n if (!_chart || !Array.isArray(data) || data.length <= 0) return;\n\n // 转化 percent\n const totalSum = data.reduce((cur, item) => cur + item.y, 0);\n for (const item of data) {\n item.percent = totalSum === 0 ? 0 : item.y / totalSum;\n }\n _chart.changeData(data);\n\n this.ngZone.run(() => this.genLegend());\n }\n\n private genLegend(): void {\n const { hasLegend, isPercent, cdr, _chart } = this;\n if (!hasLegend || isPercent) return;\n\n this.legendData = _chart.geometries[0].dataArray.map((item: NzSafeAny) => {\n const origin = item[0]._origin;\n origin.color = item[0].color;\n origin.checked = true;\n origin.percent = (origin.percent * 100).toFixed(2);\n return origin;\n });\n\n cdr.detectChanges();\n }\n\n _click(i: number): void {\n const { legendData, _chart } = this;\n legendData[i].checked = !legendData[i].checked;\n _chart.render(true);\n }\n\n onChanges(): void {\n this.fixData();\n }\n}\n","@if (!loaded) {\n <nz-skeleton />\n}\n<div class=\"g2-pie__chart\">\n <div #container></div>\n @if (subTitle || total) {\n <div class=\"g2-pie__total\">\n @if (subTitle) {\n <h4 class=\"g2-pie__total-title\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">\n <div [innerHTML]=\"subTitle\"></div>\n </ng-container>\n </h4>\n }\n @if (total) {\n <div class=\"g2-pie__total-stat\">\n <ng-container *nzStringTemplateOutlet=\"total\">\n <div [innerHTML]=\"total\"></div>\n </ng-container>\n </div>\n }\n </div>\n }\n</div>\n@if (hasLegend && legendData.length > 0) {\n <ul class=\"g2-pie__legend\">\n @for (item of legendData; track $index) {\n <li (click)=\"_click($index)\" class=\"g2-pie__legend-item\">\n <span class=\"g2-pie__legend-dot\" [style]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n <nz-divider nzType=\"vertical\" />\n <span class=\"g2-pie__legend-percent\">{{ item.percent }}%</span>\n <span class=\"g2-pie__legend-value\" [innerHTML]=\"valueFormat ? valueFormat(item.y) : item.y\"></span>\n </li>\n }\n </ul>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2PieComponent } from './pie.component';\n\nconst COMPONENTS = [G2PieComponent];\n\n@NgModule({\n imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class G2PieModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;AAyDM,MAAO,cAAe,SAAQ,eAAe,CAAA;AACzC,IAAA,YAAY;IACpB,UAAU,GAAgB,EAAE;IAC5B,SAAS,GAAG,KAAK;;IAIuB,OAAO,GAAG,IAAI;IAC7C,KAAK,GAAG,0BAA0B;AAClC,IAAA,QAAQ;AACR,IAAA,KAAK;IACyB,MAAM,GAAG,CAAC;IACT,SAAS,GAAG,KAAK;IAChD,KAAK,GAAG,IAAI;IACZ,OAAO,GAA+B,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACtB,IAAA,OAAO;IACN,OAAO,GAAG,IAAI;IACf,SAAS,GAAG,CAAC;IACb,aAAa,GAAG,GAAG;IAClB,MAAM,GAAG,IAAI;AAC5C,IAAA,WAAW;IACX,IAAI,GAAgB,EAAE;AACtB,IAAA,MAAM;IACN,WAAW,GAAsB,MAAM;AACvC,IAAA,KAAK,GAAe;AAC3B,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,YAAY,EAAE;KACf;AACkB,IAAA,SAAS,GAAG,IAAI,YAAY,EAAkB;;IAIjE,KAAK,GAAY,KAAK;IAEd,OAAO,GAAA;AACb,QAAA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI;AAC/B,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,IAAI,IAAI;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB;;AAGF,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK;QACpE,IAAI,CAAC,YAAY,GAAG,CAAC,KAAa,MAAM,KAAK,KAAK,IAAI,GAAG,SAAS,IAAI,KAAK,GAAG,YAAY,CAAC;QAC3F,IAAI,CAAC,IAAI,GAAG;AACV,YAAA;AACE,gBAAA,CAAC,EAAE,IAAI;AACP,gBAAA,CAAC,EAAE;AACJ,aAAA;AACD,YAAA;AACE,gBAAA,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,GAAG,GAAG;AACV;SACF;;IAGK,WAAW,GAAA;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa;AACrG,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;IAG1B,OAAO,GAAA;AACL,QAAA,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,EACZ,MAAM,EACP,GAAG,IAAI;AACR,QAAA,MAAM,KAAK,IAAW,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACvD,SAAS,EAAE,IAAI,CAAC,aAAa;AAC7B,YAAA,OAAO,EAAE,IAAI;YACb,MAAM;YACN,OAAO;YACP;AACD,SAAA,CAAC,CAAC;AACH,QAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAEtB,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;;aACf;YACL,KAAK,CAAC,OAAO,CAAC;AACZ,gBAAA,SAAS,EAAE,KAAK;AAChB,gBAAA,WAAW,EAAE;AACd,aAAA,CAAC;;AAEJ,QAAA,IAAI,WAAW,KAAK,MAAM,EAAE;AAC1B,YAAA,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC;;QAEhC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC3E,QAAA,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAe,EAAE,IAAe,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;QAC/E;AACG,aAAA,QAAQ;aACR,MAAM,CAAC,OAAO;aACd,QAAQ,CAAC,GAAG;aACZ,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;AACnC,aAAA,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM;aAC5C,OAAO,CAAC,WAAW,EAAE,CAAC,IAAY,EAAE,CAAS,MAAM;YAClD,IAAI;YACJ,KAAK,EAAE,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAI,EAAA;AACnD,SAAA,CAAC;aACD,KAAK,CAAC,EAAE,CAAC;QACZ,KAAK,CAAC,KAAK,CAAC;AACV,YAAA,CAAC,EAAE;AACD,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;AACb;AACF,SAAA,CAAC;QAEF;AACG,aAAA,EAAE,CAAC,CAAgB,cAAA,CAAA,EAAE,CAAC,EAAS,KAAI;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AACzE,SAAC;AACA,aAAA,EAAE,CAAC,aAAa,EAAE,MAAK;AACtB,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3C,SAAC,CAAC;AAEJ,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE;QAEjB,KAAK,CAAC,MAAM,EAAE;;IAGhB,UAAU,GAAA;AACR,QAAA,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI;AAC7B,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAAE;;QAGzD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5D,QAAA,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ;;AAEvD,QAAA,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AAEvB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;;IAGjC,SAAS,GAAA;QACf,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;QAClD,IAAI,CAAC,SAAS,IAAI,SAAS;YAAE;AAE7B,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAe,KAAI;YACvE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO;YAC9B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;AAC5B,YAAA,MAAM,CAAC,OAAO,GAAG,IAAI;AACrB,YAAA,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AAClD,YAAA,OAAO,MAAM;AACf,SAAC,CAAC;QAEF,GAAG,CAAC,aAAa,EAAE;;AAGrB,IAAA,MAAM,CAAC,CAAS,EAAA;AACd,QAAA,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;AACnC,QAAA,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO;AAC9C,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;IAGrB,SAAS,GAAA;QACP,IAAI,CAAC,OAAO,EAAE;;uGA3KL,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAOL,gBAAgB,CAIhB,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,eAAe,yCACf,gBAAgB,CAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAGhB,eAAe,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EACf,gBAAgB,CAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAChB,eAAe,CACf,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAAA,eAAe,CACf,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,gBAAgB,CC5EtC,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,MAAA,EAAA,0BAAA,EAAA,WAAA,EAAA,4BAAA,EAAA,OAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0wCAqCA,4CDkBY,mBAAmB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,+BAA+B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,+BAAA,EAAA,wBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,eAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAEvE,cAAc,EAAA,UAAA,EAAA,CAAA;kBAf1B,SAAS;+BACE,QAAQ,EAAA,QAAA,EACR,OAAO,EAEX,IAAA,EAAA;AACJ,wBAAA,gBAAgB,EAAE,MAAM;AACxB,wBAAA,4BAA4B,EAAE,WAAW;AACzC,wBAAA,8BAA8B,EAAE,OAAO;AACvC,wBAAA,sBAAsB,EAAE;AACzB,qBAAA,EAAA,mBAAA,EACoB,KAAK,EACT,eAAA,EAAA,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,kBAAkB,CAAC,EAAA,QAAA,EAAA,0wCAAA,EAAA;8BAS3C,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACsC,MAAM,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBACG,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACsC,OAAO,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBACG,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACC,SAAS,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBACE,aAAa,EAAA,CAAA;sBAAnD,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBACG,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,WAAW,EAAA,CAAA;sBAAnB;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBAMkB,SAAS,EAAA,CAAA;sBAA3B;;;AE9EH,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC;MAMtB,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAX,WAAW,EAAA,OAAA,EAAA,CAHZ,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAHvD,cAAc,CAAA,EAAA,OAAA,EAAA,CAAd,cAAc,CAAA,EAAA,CAAA;wGAMrB,WAAW,EAAA,OAAA,EAAA,CAHZ,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAK,UAAU,CAAA,EAAA,CAAA;;2FAG7E,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC;AACzF,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACdD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"pie.mjs","sources":["../../../../packages/chart/pie/pie.component.ts","../../../../packages/chart/pie/pie.component.html","../../../../packages/chart/pie/pie.module.ts","../../../../packages/chart/pie/pie.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent, G2InteractionType } from '@delon/chart/core';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDividerComponent } from 'ng-zorro-antd/divider';\nimport { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';\n\nexport interface G2PieData {\n x: NzSafeAny;\n y: number;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2PieClickItem {\n item: G2PieData;\n ev: Event;\n}\n\nexport interface G2PieRatio {\n /** 占比文本,默认:`占比` */\n text: string;\n /** 反比文本,默认:`反比` */\n inverse: string;\n /** 正比颜色,默认使用 `color` 值 */\n color: string;\n /** 反比颜色,默认:`#F0F2F5` */\n inverseColor: string;\n}\n\n@Component({\n selector: 'g2-pie',\n exportAs: 'g2Pie',\n templateUrl: './pie.component.html',\n host: {\n '[class.g2-pie]': 'true',\n '[class.g2-pie__legend-has]': 'hasLegend',\n '[class.g2-pie__legend-block]': 'block',\n '[class.g2-pie__mini]': 'isPercent'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzSkeletonComponent, NzStringTemplateOutletDirective, NzDividerComponent]\n})\nexport class G2PieComponent extends G2BaseComponent {\n private percentColor!: (value: string) => string;\n legendData: NzSafeAny[] = [];\n isPercent = false;\n\n // #region fields\n\n @Input({ transform: booleanAttribute }) animate = true;\n @Input() color = 'rgba(24, 144, 255, 0.85)';\n @Input() subTitle?: string | TemplateRef<void> | null;\n @Input() total?: string | number | TemplateRef<void> | null;\n @Input({ transform: numberAttribute }) height = 0;\n @Input({ transform: booleanAttribute }) hasLegend = false;\n @Input() inner = 0.75;\n @Input() padding: number | number[] | 'auto' = [12, 0, 12, 0];\n @Input({ transform: numberAttribute }) percent?: number;\n @Input({ transform: booleanAttribute }) tooltip = true;\n @Input({ transform: numberAttribute }) lineWidth = 0;\n @Input({ transform: numberAttribute }) blockMaxWidth = 380;\n @Input({ transform: booleanAttribute }) select = true;\n @Input() valueFormat?: (y: number) => string;\n @Input() data: G2PieData[] = [];\n @Input() colors?: string[];\n @Input() interaction: G2InteractionType = 'none';\n @Input() ratio: G2PieRatio = {\n text: '占比',\n inverse: '反比',\n color: '',\n inverseColor: '#F0F2F5'\n };\n @Output() readonly clickItem = new EventEmitter<G2PieClickItem>();\n\n // #endregion\n\n block: boolean = false;\n\n private fixData(): void {\n const { percent, color } = this;\n this.isPercent = percent != null;\n if (!this.isPercent) {\n return;\n }\n\n this.select = false;\n this.tooltip = false;\n const { text, inverse, color: textColor, inverseColor } = this.ratio;\n this.percentColor = (value: string) => (value === text ? textColor || color : inverseColor);\n this.data = [\n {\n x: text,\n y: percent!\n },\n {\n x: inverse,\n y: 100 - percent!\n }\n ];\n }\n\n private updateBlock(): void {\n this.block = this._chart && this.hasLegend && this.el.nativeElement.clientWidth <= this.blockMaxWidth;\n this.cdr.detectChanges();\n }\n\n install(): void {\n const {\n node,\n height,\n padding,\n tooltip,\n inner,\n hasLegend,\n interaction,\n theme,\n animate,\n lineWidth,\n isPercent,\n percentColor,\n colors\n } = this;\n const chart: Chart = (this._chart = new this.winG2.Chart({\n container: node.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.animate(animate);\n\n if (!tooltip) {\n chart.tooltip(false);\n } else {\n chart.tooltip({\n showTitle: false,\n showMarkers: false\n });\n }\n if (interaction !== 'none') {\n chart.interaction(interaction);\n }\n chart.axis(false).legend(false).coordinate('theta', { innerRadius: inner });\n chart.filter('x', (_val: NzSafeAny, item: NzSafeAny) => item.checked !== false);\n chart\n .interval()\n .adjust('stack')\n .position('y')\n .style({ lineWidth, stroke: '#fff' })\n .color('x', isPercent ? percentColor : colors)\n .tooltip('x*percent', (name: string, p: number) => ({\n name,\n value: `${hasLegend ? p : (p * 100).toFixed(2)} %`\n }))\n .state({});\n chart.scale({\n x: {\n type: 'cat',\n range: [0, 1]\n }\n });\n\n chart\n .on(`interval:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n })\n .on('afterrender', () => {\n this.ngZone.run(() => this.updateBlock());\n });\n\n this.ready.next(chart);\n\n this.changeData();\n\n chart.render();\n }\n\n changeData(): void {\n const { _chart, data } = this;\n if (!_chart || !Array.isArray(data) || data.length <= 0) return;\n\n // 转化 percent\n const totalSum = data.reduce((cur, item) => cur + item.y, 0);\n for (const item of data) {\n item.percent = totalSum === 0 ? 0 : item.y / totalSum;\n }\n _chart.changeData(data);\n\n this.ngZone.run(() => this.genLegend());\n }\n\n private genLegend(): void {\n const { hasLegend, isPercent, cdr, _chart } = this;\n if (!hasLegend || isPercent) return;\n\n this.legendData = _chart.geometries[0].dataArray.map((item: NzSafeAny) => {\n const origin = item[0]._origin;\n origin.color = item[0].color;\n origin.checked = true;\n origin.percent = (origin.percent * 100).toFixed(2);\n return origin;\n });\n\n cdr.detectChanges();\n }\n\n _click(i: number): void {\n const { legendData, _chart } = this;\n legendData[i].checked = !legendData[i].checked;\n _chart.render(true);\n }\n\n onChanges(): void {\n this.fixData();\n }\n}\n","@if (!loaded) {\n <nz-skeleton />\n}\n<div class=\"g2-pie__chart\">\n <div #container></div>\n @if (subTitle || total) {\n <div class=\"g2-pie__total\">\n @if (subTitle) {\n <h4 class=\"g2-pie__total-title\">\n <ng-container *nzStringTemplateOutlet=\"subTitle\">\n <div [innerHTML]=\"subTitle\"></div>\n </ng-container>\n </h4>\n }\n @if (total) {\n <div class=\"g2-pie__total-stat\">\n <ng-container *nzStringTemplateOutlet=\"total\">\n <div [innerHTML]=\"total\"></div>\n </ng-container>\n </div>\n }\n </div>\n }\n</div>\n@if (hasLegend && legendData.length > 0) {\n <ul class=\"g2-pie__legend\">\n @for (item of legendData; track $index) {\n <li (click)=\"_click($index)\" class=\"g2-pie__legend-item\">\n <span class=\"g2-pie__legend-dot\" [style]=\"{ 'background-color': !item.checked ? '#aaa' : item.color }\"></span>\n <span class=\"g2-pie__legend-title\">{{ item.x }}</span>\n <nz-divider nzType=\"vertical\" />\n <span class=\"g2-pie__legend-percent\">{{ item.percent }}%</span>\n <span class=\"g2-pie__legend-value\" [innerHTML]=\"valueFormat ? valueFormat(item.y) : item.y\"></span>\n </li>\n }\n </ul>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2PieComponent } from './pie.component';\n\nconst COMPONENTS = [G2PieComponent];\n\n@NgModule({\n imports: [CommonModule, NzDividerModule, NzOutletModule, NzSkeletonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class G2PieModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/radar.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, numberAttribute, booleanAttribute,
|
|
2
|
+
import { EventEmitter, numberAttribute, booleanAttribute, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { G2BaseComponent } from '@delon/chart/core';
|
|
4
4
|
import { NzStringTemplateOutletDirective, NzOutletModule } from 'ng-zorro-antd/core/outlet';
|
|
5
5
|
import { NzRowDirective, NzColDirective, NzGridModule } from 'ng-zorro-antd/grid';
|
|
@@ -109,15 +109,15 @@ class G2RadarComponent extends G2BaseComponent {
|
|
|
109
109
|
onChanges() {
|
|
110
110
|
this.legendData.forEach(i => (i.checked = true));
|
|
111
111
|
}
|
|
112
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
113
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
112
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2RadarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: G2RadarComponent, isStandalone: true, selector: "g2-radar", inputs: { title: "title", height: ["height", "height", numberAttribute], padding: "padding", hasLegend: ["hasLegend", "hasLegend", booleanAttribute], tickCount: ["tickCount", "tickCount", numberAttribute], data: "data", colors: "colors" }, outputs: { clickItem: "clickItem" }, host: { properties: { "style.height.px": "height", "class.g2-radar": "true" } }, exportAs: ["g2Radar"], usesInheritance: true, ngImport: i0, template: "@if (!loaded) {\n <nz-skeleton />\n}\n<ng-container *nzStringTemplateOutlet=\"title\">\n <h4>{{ title }}</h4>\n</ng-container>\n<div #container></div>\n@if (hasLegend) {\n <div nz-row class=\"g2-radar__legend\">\n @for (i of legendData; track $index) {\n <div nz-col [nzSpan]=\"24 / legendData.length\" (click)=\"_click($index)\" class=\"g2-radar__legend-item\">\n <i class=\"g2-radar__legend-dot\" [style]=\"{ 'background-color': !i.checked ? '#aaa' : i.color }\"></i>\n {{ i.name }}\n <h6 class=\"g2-radar__legend-title\">{{ i.value }}</h6>\n </div>\n }\n </div>\n}\n", dependencies: [{ kind: "component", type: NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { kind: "directive", type: NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "directive", type: NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
114
114
|
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2RadarComponent, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
117
|
args: [{ selector: 'g2-radar', exportAs: 'g2Radar', host: {
|
|
118
118
|
'[style.height.px]': 'height',
|
|
119
119
|
'[class.g2-radar]': 'true'
|
|
120
|
-
},
|
|
120
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [NzSkeletonComponent, NzStringTemplateOutletDirective, NzRowDirective, NzColDirective], template: "@if (!loaded) {\n <nz-skeleton />\n}\n<ng-container *nzStringTemplateOutlet=\"title\">\n <h4>{{ title }}</h4>\n</ng-container>\n<div #container></div>\n@if (hasLegend) {\n <div nz-row class=\"g2-radar__legend\">\n @for (i of legendData; track $index) {\n <div nz-col [nzSpan]=\"24 / legendData.length\" (click)=\"_click($index)\" class=\"g2-radar__legend-item\">\n <i class=\"g2-radar__legend-dot\" [style]=\"{ 'background-color': !i.checked ? '#aaa' : i.color }\"></i>\n {{ i.name }}\n <h6 class=\"g2-radar__legend-title\">{{ i.value }}</h6>\n </div>\n }\n </div>\n}\n" }]
|
|
121
121
|
}], propDecorators: { title: [{
|
|
122
122
|
type: Input
|
|
123
123
|
}], height: [{
|
|
@@ -141,11 +141,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
141
141
|
|
|
142
142
|
const COMPONENTS = [G2RadarComponent];
|
|
143
143
|
class G2RadarModule {
|
|
144
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
145
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
146
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
144
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2RadarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
145
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: G2RadarModule, imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule, G2RadarComponent], exports: [G2RadarComponent] });
|
|
146
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2RadarModule, imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule, COMPONENTS] });
|
|
147
147
|
}
|
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2RadarModule, decorators: [{
|
|
149
149
|
type: NgModule,
|
|
150
150
|
args: [{
|
|
151
151
|
imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule, ...COMPONENTS],
|
package/fesm2022/radar.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radar.mjs","sources":["../../../../packages/chart/radar/radar.component.ts","../../../../packages/chart/radar/radar.component.html","../../../../packages/chart/radar/radar.module.ts","../../../../packages/chart/radar/radar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzColDirective, NzRowDirective } from 'ng-zorro-antd/grid';\nimport { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';\n\nexport interface G2RadarData {\n name: string;\n label: string;\n value: number;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2RadarClickItem {\n item: G2RadarData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-radar',\n exportAs: 'g2Radar',\n templateUrl: './radar.component.html',\n host: {\n '[style.height.px]': 'height',\n '[class.g2-radar]': 'true'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzSkeletonComponent, NzStringTemplateOutletDirective, NzRowDirective, NzColDirective]\n})\nexport class G2RadarComponent extends G2BaseComponent {\n legendData: NzSafeAny[] = [];\n\n // #region fields\n\n @Input() title?: string | TemplateRef<void> | null;\n @Input({ transform: numberAttribute }) height = 0;\n @Input() padding: number | number[] | 'auto' = [44, 30, 16, 30];\n @Input({ transform: booleanAttribute }) hasLegend = true;\n @Input({ transform: numberAttribute }) tickCount = 4;\n @Input() data: G2RadarData[] = [];\n @Input() colors = ['#1890FF', '#FACC14', '#2FC25B', '#8543E0', '#F04864', '#13C2C2', '#fa8c16', '#a0d911'];\n @Output() readonly clickItem = new EventEmitter<G2RadarClickItem>();\n\n // #endregion\n\n private getHeight(): number {\n return this.height - (this.hasLegend ? 80 : 22);\n }\n\n install(): void {\n const { node, padding, theme, tickCount } = this;\n\n const chart: Chart = (this._chart = new this.winG2.Chart({\n container: node.nativeElement,\n autoFit: true,\n height: this.getHeight(),\n padding,\n theme\n }));\n\n chart.coordinate('polar');\n chart.legend(false);\n chart.axis('label', {\n line: null,\n label: {\n offset: 8\n },\n grid: {\n line: {\n style: {\n stroke: '#e9e9e9',\n lineWidth: 1,\n lineDash: [0, 0]\n }\n }\n }\n });\n chart.axis('value', {\n grid: {\n line: {\n type: 'polygon',\n style: {\n stroke: '#e9e9e9',\n lineWidth: 1,\n lineDash: [0, 0]\n }\n }\n }\n });\n chart.scale({\n value: {\n min: 0,\n tickCount\n }\n });\n chart.filter('name', (name: string) => {\n const legendItem = this.legendData.find(w => w.name === name);\n return legendItem ? legendItem.checked !== false : true;\n });\n\n chart.line().position('label*value').color('name', this.colors);\n chart.point().position('label*value').shape('circle').size(3);\n\n chart.on(`point:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\n\n this.ready.next(chart);\n\n this.changeData();\n\n chart.render();\n }\n\n changeData(): void {\n const { _chart, data } = this;\n if (!_chart || !Array.isArray(data) || data.length <= 0) return;\n _chart.changeData(data);\n\n this.ngZone.run(() => this.genLegend());\n }\n\n private genLegend(): void {\n const { hasLegend, cdr, _chart } = this;\n if (!hasLegend) return;\n\n this.legendData = _chart.geometries[0].dataArray.map(item => {\n const origin = item[0]._origin;\n const result = {\n name: origin.name,\n color: item[0].color,\n checked: true,\n value: item.reduce((p, n) => p + n._origin.value, 0)\n };\n\n return result;\n });\n\n cdr.detectChanges();\n }\n\n _click(i: number): void {\n const { legendData, _chart } = this;\n legendData[i].checked = !legendData[i].checked;\n _chart.render(true);\n }\n\n onChanges(): void {\n this.legendData.forEach(i => (i.checked = true));\n }\n}\n","@if (!loaded) {\n <nz-skeleton />\n}\n<ng-container *nzStringTemplateOutlet=\"title\">\n <h4>{{ title }}</h4>\n</ng-container>\n<div #container></div>\n@if (hasLegend) {\n <div nz-row class=\"g2-radar__legend\">\n @for (i of legendData; track $index) {\n <div nz-col [nzSpan]=\"24 / legendData.length\" (click)=\"_click($index)\" class=\"g2-radar__legend-item\">\n <i class=\"g2-radar__legend-dot\" [style]=\"{ 'background-color': !i.checked ? '#aaa' : i.color }\"></i>\n {{ i.name }}\n <h6 class=\"g2-radar__legend-title\">{{ i.value }}</h6>\n </div>\n }\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2RadarComponent } from './radar.component';\n\nconst COMPONENTS = [G2RadarComponent];\n\n@NgModule({\n imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class G2RadarModule {}\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":"radar.mjs","sources":["../../../../packages/chart/radar/radar.component.ts","../../../../packages/chart/radar/radar.component.html","../../../../packages/chart/radar/radar.module.ts","../../../../packages/chart/radar/radar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\n\nimport type { Chart, Event } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport { NzStringTemplateOutletDirective } from 'ng-zorro-antd/core/outlet';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzColDirective, NzRowDirective } from 'ng-zorro-antd/grid';\nimport { NzSkeletonComponent } from 'ng-zorro-antd/skeleton';\n\nexport interface G2RadarData {\n name: string;\n label: string;\n value: number;\n [key: string]: NzSafeAny;\n}\n\nexport interface G2RadarClickItem {\n item: G2RadarData;\n ev: Event;\n}\n\n@Component({\n selector: 'g2-radar',\n exportAs: 'g2Radar',\n templateUrl: './radar.component.html',\n host: {\n '[style.height.px]': 'height',\n '[class.g2-radar]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzSkeletonComponent, NzStringTemplateOutletDirective, NzRowDirective, NzColDirective]\n})\nexport class G2RadarComponent extends G2BaseComponent {\n legendData: NzSafeAny[] = [];\n\n // #region fields\n\n @Input() title?: string | TemplateRef<void> | null;\n @Input({ transform: numberAttribute }) height = 0;\n @Input() padding: number | number[] | 'auto' = [44, 30, 16, 30];\n @Input({ transform: booleanAttribute }) hasLegend = true;\n @Input({ transform: numberAttribute }) tickCount = 4;\n @Input() data: G2RadarData[] = [];\n @Input() colors = ['#1890FF', '#FACC14', '#2FC25B', '#8543E0', '#F04864', '#13C2C2', '#fa8c16', '#a0d911'];\n @Output() readonly clickItem = new EventEmitter<G2RadarClickItem>();\n\n // #endregion\n\n private getHeight(): number {\n return this.height - (this.hasLegend ? 80 : 22);\n }\n\n install(): void {\n const { node, padding, theme, tickCount } = this;\n\n const chart: Chart = (this._chart = new this.winG2.Chart({\n container: node.nativeElement,\n autoFit: true,\n height: this.getHeight(),\n padding,\n theme\n }));\n\n chart.coordinate('polar');\n chart.legend(false);\n chart.axis('label', {\n line: null,\n label: {\n offset: 8\n },\n grid: {\n line: {\n style: {\n stroke: '#e9e9e9',\n lineWidth: 1,\n lineDash: [0, 0]\n }\n }\n }\n });\n chart.axis('value', {\n grid: {\n line: {\n type: 'polygon',\n style: {\n stroke: '#e9e9e9',\n lineWidth: 1,\n lineDash: [0, 0]\n }\n }\n }\n });\n chart.scale({\n value: {\n min: 0,\n tickCount\n }\n });\n chart.filter('name', (name: string) => {\n const legendItem = this.legendData.find(w => w.name === name);\n return legendItem ? legendItem.checked !== false : true;\n });\n\n chart.line().position('label*value').color('name', this.colors);\n chart.point().position('label*value').shape('circle').size(3);\n\n chart.on(`point:click`, (ev: Event) => {\n this.ngZone.run(() => this.clickItem.emit({ item: ev.data?.data, ev }));\n });\n\n this.ready.next(chart);\n\n this.changeData();\n\n chart.render();\n }\n\n changeData(): void {\n const { _chart, data } = this;\n if (!_chart || !Array.isArray(data) || data.length <= 0) return;\n _chart.changeData(data);\n\n this.ngZone.run(() => this.genLegend());\n }\n\n private genLegend(): void {\n const { hasLegend, cdr, _chart } = this;\n if (!hasLegend) return;\n\n this.legendData = _chart.geometries[0].dataArray.map(item => {\n const origin = item[0]._origin;\n const result = {\n name: origin.name,\n color: item[0].color,\n checked: true,\n value: item.reduce((p, n) => p + n._origin.value, 0)\n };\n\n return result;\n });\n\n cdr.detectChanges();\n }\n\n _click(i: number): void {\n const { legendData, _chart } = this;\n legendData[i].checked = !legendData[i].checked;\n _chart.render(true);\n }\n\n onChanges(): void {\n this.legendData.forEach(i => (i.checked = true));\n }\n}\n","@if (!loaded) {\n <nz-skeleton />\n}\n<ng-container *nzStringTemplateOutlet=\"title\">\n <h4>{{ title }}</h4>\n</ng-container>\n<div #container></div>\n@if (hasLegend) {\n <div nz-row class=\"g2-radar__legend\">\n @for (i of legendData; track $index) {\n <div nz-col [nzSpan]=\"24 / legendData.length\" (click)=\"_click($index)\" class=\"g2-radar__legend-item\">\n <i class=\"g2-radar__legend-dot\" [style]=\"{ 'background-color': !i.checked ? '#aaa' : i.color }\"></i>\n {{ i.name }}\n <h6 class=\"g2-radar__legend-title\">{{ i.value }}</h6>\n </div>\n }\n </div>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { G2RadarComponent } from './radar.component';\n\nconst COMPONENTS = [G2RadarComponent];\n\n@NgModule({\n imports: [CommonModule, NzGridModule, NzOutletModule, NzSkeletonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class G2RadarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/single-bar.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { numberAttribute,
|
|
2
|
+
import { booleanAttribute, numberAttribute, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { G2BaseComponent } from '@delon/chart/core';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
@@ -65,10 +65,10 @@ class G2SingleBarComponent extends G2BaseComponent {
|
|
|
65
65
|
return;
|
|
66
66
|
_chart.changeData([{ value }]);
|
|
67
67
|
}
|
|
68
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
69
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
68
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2SingleBarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.0.4", type: G2SingleBarComponent, isStandalone: true, selector: "g2-single-bar", inputs: { plusColor: "plusColor", minusColor: "minusColor", height: ["height", "height", numberAttribute], barSize: ["barSize", "barSize", numberAttribute], min: ["min", "min", numberAttribute], max: ["max", "max", numberAttribute], value: ["value", "value", numberAttribute], line: ["line", "line", booleanAttribute], format: "format", padding: "padding", textStyle: "textStyle" }, host: { properties: { "style.height.px": "height" } }, exportAs: ["g2SingleBar"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2SingleBarComponent, decorators: [{
|
|
72
72
|
type: Component,
|
|
73
73
|
args: [{
|
|
74
74
|
selector: 'g2-single-bar',
|
|
@@ -77,7 +77,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
77
77
|
host: {
|
|
78
78
|
'[style.height.px]': 'height'
|
|
79
79
|
},
|
|
80
|
-
preserveWhitespaces: false,
|
|
81
80
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
82
81
|
encapsulation: ViewEncapsulation.None
|
|
83
82
|
}]
|
|
@@ -113,11 +112,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
113
112
|
|
|
114
113
|
const COMPONENTS = [G2SingleBarComponent];
|
|
115
114
|
class G2SingleBarModule {
|
|
116
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
117
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
118
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2SingleBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
116
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: G2SingleBarModule, imports: [CommonModule, G2SingleBarComponent], exports: [G2SingleBarComponent] });
|
|
117
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2SingleBarModule, imports: [CommonModule] });
|
|
119
118
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2SingleBarModule, decorators: [{
|
|
121
120
|
type: NgModule,
|
|
122
121
|
args: [{
|
|
123
122
|
imports: [CommonModule, ...COMPONENTS],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single-bar.mjs","sources":["../../../../packages/chart/single-bar/single-bar.component.ts","../../../../packages/chart/single-bar/single-bar.module.ts","../../../../packages/chart/single-bar/single-bar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\n\nimport type { Chart } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n selector: 'g2-single-bar',\n exportAs: 'g2SingleBar',\n template: ``,\n host: {\n '[style.height.px]': 'height'\n },\n
|
|
1
|
+
{"version":3,"file":"single-bar.mjs","sources":["../../../../packages/chart/single-bar/single-bar.component.ts","../../../../packages/chart/single-bar/single-bar.module.ts","../../../../packages/chart/single-bar/single-bar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute\n} from '@angular/core';\n\nimport type { Chart } from '@antv/g2';\n\nimport { G2BaseComponent } from '@delon/chart/core';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n selector: 'g2-single-bar',\n exportAs: 'g2SingleBar',\n template: ``,\n host: {\n '[style.height.px]': 'height'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class G2SingleBarComponent extends G2BaseComponent {\n // #region fields\n\n @Input() plusColor = '#40a9ff';\n @Input() minusColor = '#ff4d4f';\n @Input({ transform: numberAttribute }) height = 60;\n @Input({ transform: numberAttribute }) barSize = 30;\n @Input({ transform: numberAttribute }) min = 0;\n @Input({ transform: numberAttribute }) max = 100;\n @Input({ transform: numberAttribute }) value = 0;\n @Input({ transform: booleanAttribute }) line = false;\n @Input() format?: (value: number, item: NzSafeAny, index: number) => string;\n @Input() padding: number | number[] | 'auto' = 0;\n @Input() textStyle: Record<string, NzSafeAny> = { fontSize: 12, color: '#595959' };\n\n // #endregion\n\n install(): void {\n const { el, height, padding, textStyle, line, format, theme, min, max, plusColor, minusColor, barSize } = this;\n const chart: Chart = (this._chart = new this.winG2.Chart({\n container: el.nativeElement,\n autoFit: true,\n height,\n padding,\n theme\n }));\n chart.legend(false);\n chart.axis(false);\n chart.scale({ value: { max, min } });\n chart.tooltip(false);\n chart.coordinate().transpose();\n chart\n .interval()\n .position('1*value')\n .color('value', (val: number) => (val > 0 ? plusColor : minusColor))\n .size(barSize)\n .label('value', () => ({\n formatter: format,\n style: {\n ...textStyle\n }\n }));\n\n if (line) {\n chart.annotation().line({\n start: ['50%', '0%'],\n end: ['50%', '100%'],\n style: {\n stroke: '#e8e8e8',\n lineDash: [0, 0]\n }\n });\n }\n\n this.ready.next(chart);\n\n this.changeData();\n\n chart.render();\n }\n\n onlyChangeData = (changes: SimpleChanges): boolean => {\n return Object.keys(changes).length === 1 && !!changes.value;\n };\n\n changeData(): void {\n const { _chart, value } = this;\n if (!_chart) return;\n _chart.changeData([{ value }]);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { G2SingleBarComponent } from './single-bar.component';\n\nconst COMPONENTS = [G2SingleBarComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class G2SingleBarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/tag-cloud.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, numberAttribute,
|
|
2
|
+
import { EventEmitter, numberAttribute, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { fromEvent, filter, debounceTime } from 'rxjs';
|
|
4
4
|
import { G2BaseComponent } from '@delon/chart/core';
|
|
5
5
|
import { NzSkeletonComponent, NzSkeletonModule } from 'ng-zorro-antd/skeleton';
|
|
@@ -125,12 +125,12 @@ class G2TagCloudComponent extends G2BaseComponent {
|
|
|
125
125
|
onInit() {
|
|
126
126
|
this.installResizeEvent();
|
|
127
127
|
}
|
|
128
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
129
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
128
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2TagCloudComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: G2TagCloudComponent, isStandalone: true, selector: "g2-tag-cloud", inputs: { width: ["width", "width", numberAttribute], height: ["height", "height", numberAttribute], padding: "padding", data: "data" }, outputs: { clickItem: "clickItem" }, exportAs: ["g2TagCloud"], usesInheritance: true, ngImport: i0, template: `@if (!loaded) {
|
|
130
130
|
<nz-skeleton />
|
|
131
131
|
}`, isInline: true, dependencies: [{ kind: "component", type: NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
132
132
|
}
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2TagCloudComponent, decorators: [{
|
|
134
134
|
type: Component,
|
|
135
135
|
args: [{
|
|
136
136
|
selector: 'g2-tag-cloud',
|
|
@@ -138,7 +138,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
138
138
|
template: `@if (!loaded) {
|
|
139
139
|
<nz-skeleton />
|
|
140
140
|
}`,
|
|
141
|
-
preserveWhitespaces: false,
|
|
142
141
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
143
142
|
encapsulation: ViewEncapsulation.None,
|
|
144
143
|
imports: [NzSkeletonComponent]
|
|
@@ -159,11 +158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
159
158
|
|
|
160
159
|
const COMPONENTS = [G2TagCloudComponent];
|
|
161
160
|
class G2TagCloudModule {
|
|
162
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
163
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
164
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
161
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2TagCloudModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
162
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: G2TagCloudModule, imports: [CommonModule, NzSkeletonModule, G2TagCloudComponent], exports: [G2TagCloudComponent] });
|
|
163
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2TagCloudModule, imports: [CommonModule, NzSkeletonModule, COMPONENTS] });
|
|
165
164
|
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: G2TagCloudModule, decorators: [{
|
|
167
166
|
type: NgModule,
|
|
168
167
|
args: [{
|
|
169
168
|
imports: [CommonModule, NzSkeletonModule, ...COMPONENTS],
|