@tetacom/ng-threejs-chart 1.0.1 → 1.2.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/.eslintrc.json +3 -5
- package/component/three/custom-series/custom-series.component.d.ts +1 -3
- package/component/three/three-chart/area-3d/area-3d.component.d.ts +5 -4
- package/component/three/three-chart/axes-3d/axes-3d.component.d.ts +0 -1
- package/component/three/three-chart/base-3d-series/base3d-series.component.d.ts +2 -3
- package/component/three/three-chart/block-3d/block-3d.component.d.ts +3 -5
- package/component/three/three-chart/canvas/canvas.component.d.ts +2 -2
- package/component/three/three-chart/line-3d/line-3d.component.d.ts +1 -3
- package/component/three/three-chart/scene/scene.component.d.ts +1 -2
- package/component/three/three-chart/three-chart.component.d.ts +0 -2
- package/fesm2022/tetacom-ng-threejs-chart.mjs +91 -114
- package/fesm2022/tetacom-ng-threejs-chart.mjs.map +1 -1
- package/package.json +3 -5
- package/esm2022/common/model/base-3d-point.mjs +0 -2
- package/esm2022/component/three/custom-series/custom-series.component.mjs +0 -32
- package/esm2022/component/three/public-api.mjs +0 -12
- package/esm2022/component/three/three-chart/area-3d/area-3d.component.mjs +0 -54
- package/esm2022/component/three/three-chart/axes-3d/axes-3d.component.mjs +0 -59
- package/esm2022/component/three/three-chart/base-3d-series/base3d-series.component.mjs +0 -28
- package/esm2022/component/three/three-chart/block-3d/block-3d.component.mjs +0 -74
- package/esm2022/component/three/three-chart/canvas/canvas.component.mjs +0 -22
- package/esm2022/component/three/three-chart/directive/canvas-3d-host.mjs +0 -45
- package/esm2022/component/three/three-chart/directive/public-api.mjs +0 -3
- package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +0 -45
- package/esm2022/component/three/three-chart/line-3d/line-3d.component.mjs +0 -40
- package/esm2022/component/three/three-chart/model/axes-3d-min-max.mjs +0 -2
- package/esm2022/component/three/three-chart/model/axis-3d-point.mjs +0 -2
- package/esm2022/component/three/three-chart/model/base-3d-series.mjs +0 -2
- package/esm2022/component/three/three-chart/model/base-3d-three-point.mjs +0 -2
- package/esm2022/component/three/three-chart/model/block-3d-series.mjs +0 -2
- package/esm2022/component/three/three-chart/model/block3d-point.mjs +0 -2
- package/esm2022/component/three/three-chart/model/enum/public-api.mjs +0 -2
- package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +0 -6
- package/esm2022/component/three/three-chart/model/i-3d-chart-config.mjs +0 -2
- package/esm2022/component/three/three-chart/model/line-3d-point.mjs +0 -2
- package/esm2022/component/three/three-chart/model/line-3d-series.mjs +0 -2
- package/esm2022/component/three/three-chart/model/public-api.mjs +0 -11
- package/esm2022/component/three/three-chart/scene/scene.component.mjs +0 -45
- package/esm2022/component/three/three-chart/service/chart-3d.service.mjs +0 -83
- package/esm2022/component/three/three-chart/three-chart.component.mjs +0 -45
- package/esm2022/index.mjs +0 -2
- package/esm2022/tetacom-ng-threejs-chart.mjs +0 -5
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core';
|
|
2
|
-
import { extend, NgtArgs, NgtStore } from 'angular-three';
|
|
3
|
-
import { NgtsText } from 'angular-three-soba/abstractions';
|
|
4
|
-
import { map, takeWhile } from 'rxjs';
|
|
5
|
-
import * as THREE from 'three';
|
|
6
|
-
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
7
|
-
import { Chart3dService } from '../service/chart-3d.service';
|
|
8
|
-
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../service/chart-3d.service";
|
|
11
|
-
import * as i2 from "angular-three";
|
|
12
|
-
extend(THREE);
|
|
13
|
-
export class Block3dComponent extends Base3dSeriesComponent {
|
|
14
|
-
constructor(svc, ngtStore) {
|
|
15
|
-
super(svc, ngtStore);
|
|
16
|
-
this.svc = svc;
|
|
17
|
-
this.ngtStore = ngtStore;
|
|
18
|
-
this._alive = true;
|
|
19
|
-
this.Math = Math;
|
|
20
|
-
this.blocks = this.svc.scales.pipe(takeWhile(() => this._alive), map(scales => {
|
|
21
|
-
return this.series?.data?.map(_ => {
|
|
22
|
-
return this.createSVGTexture(scales.y(_?.y), scales.y(_?.y1), _?.iconId);
|
|
23
|
-
});
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
createSVGTexture(y, y1, iconId) {
|
|
27
|
-
const max = Math.max(y, y1);
|
|
28
|
-
const min = Math.min(y, y1);
|
|
29
|
-
const height = Math.abs(max - min);
|
|
30
|
-
const icon = iconId ? document.querySelector(`#${iconId}`) : null;
|
|
31
|
-
const svgString = icon ? `<svg width='100' height='100' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>${icon?.innerHTML}</svg>` : null;
|
|
32
|
-
const loader = new THREE.TextureLoader();
|
|
33
|
-
const texture = loader.load(`data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgString)}`);
|
|
34
|
-
const plane = this.createTexturedPlane(texture, 100, height, !!icon);
|
|
35
|
-
const plane1 = this.createTexturedPlane(texture, 25, height, !!icon);
|
|
36
|
-
plane.rotation.set(0, Math.PI / 2, 0);
|
|
37
|
-
plane.position.set(0.17, min + height / 2, 0);
|
|
38
|
-
plane1.position.set(25 / 2, min + height / 2, -50 + 0.17);
|
|
39
|
-
return [
|
|
40
|
-
{ component: plane, position: min + height / 2 },
|
|
41
|
-
{ component: plane1, position: min + height / 2 },
|
|
42
|
-
];
|
|
43
|
-
}
|
|
44
|
-
createTexturedPlane(texture, width, height, visible) {
|
|
45
|
-
texture.wrapS = THREE.RepeatWrapping;
|
|
46
|
-
texture.wrapT = THREE.RepeatWrapping;
|
|
47
|
-
texture.repeat.set(10, height / 9);
|
|
48
|
-
const material = new THREE.MeshBasicMaterial({ map: texture, visible });
|
|
49
|
-
const geometry = new THREE.PlaneGeometry(width, height, 1, 1);
|
|
50
|
-
const uvs = geometry.attributes['uv'].array;
|
|
51
|
-
const newUvs = new Float32Array(uvs);
|
|
52
|
-
newUvs[0] = 0;
|
|
53
|
-
newUvs[1] = 1;
|
|
54
|
-
newUvs[2] = width / 100;
|
|
55
|
-
newUvs[3] = 1;
|
|
56
|
-
newUvs[4] = 0;
|
|
57
|
-
newUvs[5] = 0;
|
|
58
|
-
newUvs[6] = width / 100;
|
|
59
|
-
newUvs[7] = 0;
|
|
60
|
-
geometry.attributes['uv'].needsUpdate = true;
|
|
61
|
-
geometry.setAttribute('uv', new THREE.BufferAttribute(newUvs, 2));
|
|
62
|
-
return new THREE.Mesh(geometry, material);
|
|
63
|
-
}
|
|
64
|
-
ngOnDestroy() {
|
|
65
|
-
this._alive = false;
|
|
66
|
-
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Block3dComponent, deps: [{ token: i1.Chart3dService }, { token: i2.NgtStore }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: Block3dComponent, isStandalone: true, selector: "teta-block-3d", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf='{\n blocks: blocks | async,\n scales: svc.scales | async\n } as data'>\n <ng-container *ngFor='let mesh of data.blocks; let i=index'>\n <ngt-primitive *args='[mesh[0].component]'></ngt-primitive>\n <ngts-text [text]='series.data[i].name'\n color='black'\n [fontSize]='2.5'\n [rotation]='[0,Math.PI/2,0]'\n [position]='[1,mesh[0].position,5]'\n [textAlign]=\"'left'\"\n [anchorX]=\"'center'\"\n [anchorY]=\"'middle'\"></ngts-text>\n <ngt-primitive *args='[mesh[1].component]'></ngt-primitive>\n </ng-container>\n</ng-container>\n\n", dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "component", type: NgtsText, selector: "ngts-text[text]", inputs: ["textRef", "text", "characters", "font", "anchorX", "anchorY"], outputs: ["sync"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
69
|
-
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Block3dComponent, decorators: [{
|
|
71
|
-
type: Component,
|
|
72
|
-
args: [{ selector: 'teta-block-3d', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgtArgs, NgtsText, NgIf, AsyncPipe, NgForOf], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf='{\n blocks: blocks | async,\n scales: svc.scales | async\n } as data'>\n <ng-container *ngFor='let mesh of data.blocks; let i=index'>\n <ngt-primitive *args='[mesh[0].component]'></ngt-primitive>\n <ngts-text [text]='series.data[i].name'\n color='black'\n [fontSize]='2.5'\n [rotation]='[0,Math.PI/2,0]'\n [position]='[1,mesh[0].position,5]'\n [textAlign]=\"'left'\"\n [anchorX]=\"'center'\"\n [anchorY]=\"'middle'\"></ngts-text>\n <ngt-primitive *args='[mesh[1].component]'></ngt-primitive>\n </ng-container>\n</ng-container>\n\n" }]
|
|
73
|
-
}], ctorParameters: () => [{ type: i1.Chart3dService }, { type: i2.NgtStore }] });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stM2QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9ibG9jay0zZC9ibG9jay0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2Jsb2NrLTNkL2Jsb2NrLTNkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHNCQUFzQixHQUV2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxHQUFHLEVBQWMsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRy9CLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBRWhGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUUzRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFVZCxNQUFNLE9BQU8sZ0JBQ1gsU0FBUSxxQkFBd0I7SUFTaEMsWUFBcUIsR0FBbUIsRUFBVyxRQUFrQjtRQUNuRSxLQUFLLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBREYsUUFBRyxHQUFILEdBQUcsQ0FBZ0I7UUFBVyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSDdELFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDSCxTQUFJLEdBQUcs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LENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7OEdBdkVVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGdHQzNCN0IsNnBCQWtCQSw0Q0RNWSxPQUFPLHFFQUFFLFFBQVEsd0pBQUUsSUFBSSx3RkFBRSxTQUFTLDhDQUFFLE9BQU87OzJGQUcxQyxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsZUFBZSxjQUViLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsV0FDN0MsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2V4dGVuZCwgTmd0QXJncywgTmd0U3RvcmV9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHtOZ3RzVGV4dH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2Fic3RyYWN0aW9ucyc7XG5pbXBvcnQge21hcCwgT2JzZXJ2YWJsZSwgdGFrZVdoaWxlfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7VGV4dHVyZX0gZnJvbSAndGhyZWUnO1xuXG5pbXBvcnQge0Jhc2UzZFNlcmllc0NvbXBvbmVudH0gZnJvbSAnLi4vYmFzZS0zZC1zZXJpZXMvYmFzZTNkLXNlcmllcy5jb21wb25lbnQnO1xuaW1wb3J0IHtCbG9jazNkUG9pbnR9IGZyb20gJy4uL21vZGVsL2Jsb2NrM2QtcG9pbnQnO1xuaW1wb3J0IHtDaGFydDNkU2VydmljZX0gZnJvbSAnLi4vc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4dGVuZChUSFJFRSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtYmxvY2stM2QnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmxvY2stM2QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW05ndEFyZ3MsIE5ndHNUZXh0LCBOZ0lmLCBBc3luY1BpcGUsIE5nRm9yT2ZdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIEJsb2NrM2RDb21wb25lbnQ8VCBleHRlbmRzIEJsb2NrM2RQb2ludD5cbiAgZXh0ZW5kcyBCYXNlM2RTZXJpZXNDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgYmxvY2tzOiBPYnNlcnZhYmxlPHtcbiAgICBjb21wb25lbnQ6IFRIUkVFLk1lc2g8VEhSRUUuUGxhbmVHZW9tZXRyeSwgVEhSRUUuTWVzaEJhc2ljTWF0ZXJpYWw+O1xuICAgIHBvc2l0aW9uOiBudW1iZXI7XG4gIH1bXVtdPjtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTWF0aCA9IE1hdGg7XG5cbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgc3ZjOiBDaGFydDNkU2VydmljZSwgb3ZlcnJpZGUgbmd0U3RvcmU6IE5ndFN0b3JlKSB7XG4gICAgc3VwZXIoc3ZjLCBuZ3RTdG9yZSk7XG4gICAgdGhpcy5ibG9ja3MgPSB0aGlzLnN2Yy5zY2FsZXMucGlwZShcbiAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICBtYXAoc2NhbGVzID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWVzPy5kYXRhPy5tYXAoXyA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlU1ZHVGV4dHVyZShzY2FsZXMueShfPy55KSwgc2NhbGVzLnkoXz8ueTEpLCBfPy5pY29uSWQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZVNWR1RleHR1cmUoeTogbnVtYmVyLCB5MTogbnVtYmVyLCBpY29uSWQ6IG51bWJlcikge1xuICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KHksIHkxKTtcbiAgICBjb25zdCBtaW4gPSBNYXRoLm1pbih5LCB5MSk7XG4gICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5hYnMobWF4IC0gbWluKTtcbiAgICBjb25zdCBpY29uID0gaWNvbklkID8gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7aWNvbklkfWApIDogbnVsbDtcbiAgICBjb25zdCBzdmdTdHJpbmcgPWljb24/IGA8c3ZnIHdpZHRoPScxMDAnIGhlaWdodD0nMTAwJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnICB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPiR7aWNvbj8uaW5uZXJIVE1MfTwvc3ZnPmA6bnVsbDtcbiAgICBjb25zdCBsb2FkZXIgPSBuZXcgVEhSRUUuVGV4dHVyZUxvYWRlcigpO1xuICAgIGNvbnN0IHRleHR1cmUgPSBsb2FkZXIubG9hZChcbiAgICAgIGBkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwke2VuY29kZVVSSUNvbXBvbmVudChzdmdTdHJpbmcpfWBcbiAgICApO1xuICAgIGNvbnN0IHBsYW5lID0gdGhpcy5jcmVhdGVUZXh0dXJlZFBsYW5lKHRleHR1cmUsIDEwMCwgaGVpZ2h0LCAhIWljb24pO1xuICAgIGNvbnN0IHBsYW5lMSA9IHRoaXMuY3JlYXRlVGV4dHVyZWRQbGFuZSh0ZXh0dXJlLCAyNSwgaGVpZ2h0LCAhIWljb24pO1xuICAgIHBsYW5lLnJvdGF0aW9uLnNldCgwLCBNYXRoLlBJIC8gMiwgMCk7XG4gICAgcGxhbmUucG9zaXRpb24uc2V0KDAuMTcsIG1pbiArIGhlaWdodCAvIDIsIDApO1xuICAgIHBsYW5lMS5wb3NpdGlvbi5zZXQoMjUgLyAyLCBtaW4gKyBoZWlnaHQgLyAyLCAtNTAgKyAwLjE3KTtcbiAgICByZXR1cm4gW1xuICAgICAge2NvbXBvbmVudDogcGxhbmUsIHBvc2l0aW9uOiBtaW4gKyBoZWlnaHQgLyAyfSxcbiAgICAgIHtjb21wb25lbnQ6IHBsYW5lMSwgcG9zaXRpb246IG1pbiArIGhlaWdodCAvIDJ9LFxuICAgIF07XG4gIH1cblxuICBjcmVhdGVUZXh0dXJlZFBsYW5lKFxuICAgIHRleHR1cmU6IFRleHR1cmUsXG4gICAgd2lkdGg6IG51bWJlcixcbiAgICBoZWlnaHQ6IG51bWJlcixcbiAgICB2aXNpYmxlOiBib29sZWFuXG4gICkge1xuICAgIHRleHR1cmUud3JhcFMgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICB0ZXh0dXJlLndyYXBUID0gVEhSRUUuUmVwZWF0V3JhcHBpbmc7XG4gICAgdGV4dHVyZS5yZXBlYXQuc2V0KDEwLCBoZWlnaHQgLyA5KTtcbiAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7bWFwOiB0ZXh0dXJlLCB2aXNpYmxlfSk7XG4gICAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgVEhSRUUuUGxhbmVHZW9tZXRyeSh3aWR0aCwgaGVpZ2h0LCAxLCAxKTtcbiAgICBjb25zdCB1dnMgPSBnZW9tZXRyeS5hdHRyaWJ1dGVzWyd1diddLmFycmF5O1xuICAgIGNvbnN0IG5ld1V2cyA9IG5ldyBGbG9hdDMyQXJyYXkodXZzKTtcbiAgICBuZXdVdnNbMF0gPSAwO1xuICAgIG5ld1V2c1sxXSA9IDE7XG4gICAgbmV3VXZzWzJdID0gd2lkdGggLyAxMDA7XG4gICAgbmV3VXZzWzNdID0gMTtcbiAgICBuZXdVdnNbNF0gPSAwO1xuICAgIG5ld1V2c1s1XSA9IDA7XG4gICAgbmV3VXZzWzZdID0gd2lkdGggLyAxMDA7XG4gICAgbmV3VXZzWzddID0gMDtcbiAgICBnZW9tZXRyeS5hdHRyaWJ1dGVzWyd1diddLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICBnZW9tZXRyeS5zZXRBdHRyaWJ1dGUoJ3V2JywgbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXdVdnMsIDIpKTtcbiAgICByZXR1cm4gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9J3tcbiAgICBibG9ja3M6IGJsb2NrcyB8IGFzeW5jLFxuICAgIHNjYWxlczogc3ZjLnNjYWxlcyB8IGFzeW5jXG4gIH0gYXMgZGF0YSc+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPSdsZXQgbWVzaCBvZiBkYXRhLmJsb2NrczsgbGV0IGk9aW5kZXgnPlxuICAgIDxuZ3QtcHJpbWl0aXZlICphcmdzPSdbbWVzaFswXS5jb21wb25lbnRdJz48L25ndC1wcmltaXRpdmU+XG4gICAgPG5ndHMtdGV4dCBbdGV4dF09J3Nlcmllcy5kYXRhW2ldLm5hbWUnXG4gICAgICAgICAgICAgICBjb2xvcj0nYmxhY2snXG4gICAgICAgICAgICAgICBbZm9udFNpemVdPScyLjUnXG4gICAgICAgICAgICAgICBbcm90YXRpb25dPSdbMCxNYXRoLlBJLzIsMF0nXG4gICAgICAgICAgICAgICBbcG9zaXRpb25dPSdbMSxtZXNoWzBdLnBvc2l0aW9uLDVdJ1xuICAgICAgICAgICAgICAgW3RleHRBbGlnbl09XCInbGVmdCdcIlxuICAgICAgICAgICAgICAgW2FuY2hvclhdPVwiJ2NlbnRlcidcIlxuICAgICAgICAgICAgICAgW2FuY2hvclldPVwiJ21pZGRsZSdcIj48L25ndHMtdGV4dD5cbiAgICA8bmd0LXByaW1pdGl2ZSAqYXJncz0nW21lc2hbMV0uY29tcG9uZW50XSc+PC9uZ3QtcHJpbWl0aXZlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, Input, } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgtCanvas, NgtStore } from 'angular-three';
|
|
4
|
-
import { SceneComponent } from '../scene/scene.component';
|
|
5
|
-
import { Camera } from 'three';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
export class CanvasComponent {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CanvasComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: CanvasComponent, isStandalone: true, selector: "teta-canvas", inputs: { scene: "scene", camera: "camera", data: "data" }, providers: [NgtStore], ngImport: i0, template: "<ngt-canvas *ngIf=\"data?.series?.length;else noData\" [sceneGraph]=\"scene\"\n [camera]=\"camera\">\n</ngt-canvas>\n<ng-template #noData>\n <p>{{data?.noDataText || 'no data'}}</p>\n</ng-template>\n", styles: [":host{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: NgtCanvas, selector: "ngt-canvas", inputs: ["sceneGraph", "sceneGraphInputs", "compoundPrefixes", "linear", "legacy", "flat", "orthographic", "frameloop", "dpr", "raycaster", "shadows", "camera", "gl", "eventSource", "eventPrefix", "lookAt", "performance"], outputs: ["created", "pointerMissed"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CanvasComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ selector: 'teta-canvas', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgtStore], imports: [NgtCanvas, SceneComponent, CommonModule], template: "<ngt-canvas *ngIf=\"data?.series?.length;else noData\" [sceneGraph]=\"scene\"\n [camera]=\"camera\">\n</ngt-canvas>\n<ng-template #noData>\n <p>{{data?.noDataText || 'no data'}}</p>\n</ng-template>\n", styles: [":host{width:100%;height:100%}\n"] }]
|
|
15
|
-
}], propDecorators: { scene: [{
|
|
16
|
-
type: Input
|
|
17
|
-
}], camera: [{
|
|
18
|
-
type: Input
|
|
19
|
-
}], data: [{
|
|
20
|
-
type: Input
|
|
21
|
-
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvY2FudmFzL2NhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2NhbnZhcy9jYW52YXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7OztBQVkvQixNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlO2tHQUFmLGVBQWUsc0hBSGYsQ0FBQyxRQUFRLENBQUMsMEJDbkJ2QixxTkFNQSx5RkRjWSxTQUFTLDRUQUFrQixZQUFZOzsyRkFFdEMsZUFBZTtrQkFWM0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUdQLENBQUMsc0JBQXNCLENBQUMsbUJBQ2hCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxRQUFRLENBQUMsV0FDWixDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDOzhCQUd6QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3RDYW52YXMsIE5ndFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBTY2VuZUNvbXBvbmVudCB9IGZyb20gJy4uL3NjZW5lL3NjZW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IENhbWVyYSB9IGZyb20gJ3RocmVlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1jYW52YXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FudmFzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FudmFzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW05ndFN0b3JlXSxcbiAgaW1wb3J0czogW05ndENhbnZhcywgU2NlbmVDb21wb25lbnQsIENvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhbnZhc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNjZW5lOiB0eXBlb2YgU2NlbmVDb21wb25lbnQ7XG4gIEBJbnB1dCgpIGNhbWVyYTogQ2FtZXJhO1xuICBASW5wdXQoKSBkYXRhOiBJM2RDaGFydENvbmZpZztcbn1cbiIsIjxuZ3QtY2FudmFzICpuZ0lmPVwiZGF0YT8uc2VyaWVzPy5sZW5ndGg7ZWxzZSBub0RhdGFcIiBbc2NlbmVHcmFwaF09XCJzY2VuZVwiXG4gICAgICAgICAgICBbY2FtZXJhXT1cImNhbWVyYVwiPlxuPC9uZ3QtY2FudmFzPlxuPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gIDxwPnt7ZGF0YT8ubm9EYXRhVGV4dCB8fCAnbm8gZGF0YSd9fTwvcD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
import { Camera } from 'three';
|
|
3
|
-
import { CanvasComponent } from '../canvas/canvas.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class Canvas3dHost {
|
|
6
|
-
constructor(viewContainerRef) {
|
|
7
|
-
this.viewContainerRef = viewContainerRef;
|
|
8
|
-
this._init = false;
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
this.createCanvas();
|
|
12
|
-
this._init = true;
|
|
13
|
-
}
|
|
14
|
-
ngOnChanges() {
|
|
15
|
-
if (this._init) {
|
|
16
|
-
this.createCanvas();
|
|
17
|
-
this._componentRef.injector.get(ChangeDetectorRef).detectChanges();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
createCanvas() {
|
|
21
|
-
this.viewContainerRef.clear();
|
|
22
|
-
this._componentRef = this.viewContainerRef.createComponent(CanvasComponent);
|
|
23
|
-
this._componentRef.instance.scene = this.scene;
|
|
24
|
-
this._componentRef.instance.camera = this.camera;
|
|
25
|
-
this._componentRef.instance.data = this.data;
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Canvas3dHost, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: Canvas3dHost, isStandalone: true, selector: "[teta-canvas-3d-host]", inputs: { scene: "scene", camera: "camera", data: "data" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Canvas3dHost, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{
|
|
33
|
-
selector: '[teta-canvas-3d-host]',
|
|
34
|
-
template: '',
|
|
35
|
-
standalone: true,
|
|
36
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
37
|
-
}]
|
|
38
|
-
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { scene: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], camera: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], data: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLTNkLWhvc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2RpcmVjdGl2ZS9jYW52YXMtM2QtaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsS0FBSyxFQUdMLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFVN0QsTUFBTSxPQUFPLFlBQVk7SUFRdkIsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFIOUMsVUFBSyxHQUFHLEtBQUssQ0FBQztJQUdtQyxDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUM7OEdBNUJVLFlBQVk7a0dBQVosWUFBWSxrS0FKYixFQUFFOzsyRkFJRCxZQUFZO2tCQU54QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7cUZBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FtZXJhIH0gZnJvbSAndGhyZWUnO1xuXG5pbXBvcnQgeyBDYW52YXNDb21wb25lbnQgfSBmcm9tICcuLi9jYW52YXMvY2FudmFzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50IH0gZnJvbSAnLi4vc2NlbmUvc2NlbmUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RldGEtY2FudmFzLTNkLWhvc3RdJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FudmFzM2RIb3N0IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzY2VuZTogdHlwZW9mIFNjZW5lQ29tcG9uZW50O1xuICBASW5wdXQoKSBjYW1lcmE6IENhbWVyYTtcbiAgQElucHV0KCkgZGF0YTogSTNkQ2hhcnRDb25maWc7XG5cbiAgcHJpdmF0ZSBfaW5pdCA9IGZhbHNlO1xuICBwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUNhbnZhcygpO1xuICAgIHRoaXMuX2luaXQgPSB0cnVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2luaXQpIHtcbiAgICAgIHRoaXMuY3JlYXRlQ2FudmFzKCk7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlQ2FudmFzKCkge1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoQ2FudmFzQ29tcG9uZW50KTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2Uuc2NlbmUgPSB0aGlzLnNjZW5lO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5jYW1lcmEgPSB0aGlzLmNhbWVyYTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuZGF0YSA9IHRoaXMuZGF0YTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './series-3d-host';
|
|
2
|
-
export * from './canvas-3d-host';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvZGlyZWN0aXZlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXJpZXMtM2QtaG9zdCc7XG5leHBvcnQgKiBmcm9tICcuL2NhbnZhcy0zZC1ob3N0JztcbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
3
|
-
import { Block3dComponent } from '../block-3d/block-3d.component';
|
|
4
|
-
import { Line3dComponent } from '../line-3d/line-3d.component';
|
|
5
|
-
import { Series3dType } from '../model/enum/series-3d-type';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class Series3dHost {
|
|
8
|
-
constructor(viewContainerRef) {
|
|
9
|
-
this.viewContainerRef = viewContainerRef;
|
|
10
|
-
this.seriesMap = new Map()
|
|
11
|
-
.set(Series3dType.line, Line3dComponent)
|
|
12
|
-
.set(Series3dType.block, Block3dComponent);
|
|
13
|
-
this._init = false;
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
if (!Object.prototype.isPrototypeOf.call(Base3dSeriesComponent, this.series.component)) {
|
|
17
|
-
this.series.component = this.seriesMap.get(this.series.type);
|
|
18
|
-
}
|
|
19
|
-
this._componentRef = this.viewContainerRef.createComponent(this.series.component);
|
|
20
|
-
this._componentRef.instance.series = this.series;
|
|
21
|
-
this._init = true;
|
|
22
|
-
}
|
|
23
|
-
ngOnChanges(changes) {
|
|
24
|
-
if (this._init &&
|
|
25
|
-
(Object.prototype.hasOwnProperty.call(changes, 'series') ||
|
|
26
|
-
changes.hasOwnProperty('config'))) {
|
|
27
|
-
this._componentRef.instance.series = this.series;
|
|
28
|
-
this._componentRef.injector.get(ChangeDetectorRef).detectChanges();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Series3dHost, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: Series3dHost, isStandalone: true, selector: "[teta-series-3d-host]", inputs: { series: "series" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Series3dHost, decorators: [{
|
|
35
|
-
type: Component,
|
|
36
|
-
args: [{
|
|
37
|
-
selector: '[teta-series-3d-host]',
|
|
38
|
-
template: '',
|
|
39
|
-
standalone: true,
|
|
40
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
41
|
-
}]
|
|
42
|
-
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { series: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLTNkLWhvc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2RpcmVjdGl2ZS9zZXJpZXMtM2QtaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsS0FBSyxFQUdMLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQVE1RCxNQUFNLE9BQU8sWUFBWTtJQVN2QixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQU45QyxjQUFTLEdBQW9ELElBQUksR0FBRyxFQUFFO2FBQzNFLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQzthQUN2QyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JDLFVBQUssR0FBRyxLQUFLLENBQUM7SUFHbUMsQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFDRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbEMscUJBQXFCLEVBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUN0QixFQUNELENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUN0QixDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDakQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUNFLElBQUksQ0FBQyxLQUFLO1lBQ1YsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztnQkFDdEQsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUNuQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7OEdBcENVLFlBQVk7a0dBQVosWUFBWSxvSUFKYixFQUFFOzsyRkFJRCxZQUFZO2tCQU54QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7cUZBRVUsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2UzZFNlcmllc0NvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtM2Qtc2VyaWVzL2Jhc2UzZC1zZXJpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IEJsb2NrM2RDb21wb25lbnQgfSBmcm9tICcuLi9ibG9jay0zZC9ibG9jay0zZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGluZTNkQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluZS0zZC9saW5lLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlM2RTZXJpZXMgfSBmcm9tICcuLi9tb2RlbC9iYXNlLTNkLXNlcmllcyc7XG5pbXBvcnQgeyBCYXNlM2RUaHJlZVBvaW50IH0gZnJvbSAnLi4vbW9kZWwvYmFzZS0zZC10aHJlZS1wb2ludCc7XG5pbXBvcnQgeyBTZXJpZXMzZFR5cGUgfSBmcm9tICcuLi9tb2RlbC9lbnVtL3Nlcmllcy0zZC10eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RldGEtc2VyaWVzLTNkLWhvc3RdJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VyaWVzM2RIb3N0PFQgZXh0ZW5kcyBCYXNlM2RUaHJlZVBvaW50PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNlcmllczogQmFzZTNkU2VyaWVzPFQ+O1xuXG4gIHByaXZhdGUgc2VyaWVzTWFwOiBNYXA8U2VyaWVzM2RUeXBlLCB0eXBlb2YgQmFzZTNkU2VyaWVzQ29tcG9uZW50PiA9IG5ldyBNYXAoKVxuICAgIC5zZXQoU2VyaWVzM2RUeXBlLmxpbmUsIExpbmUzZENvbXBvbmVudClcbiAgICAuc2V0KFNlcmllczNkVHlwZS5ibG9jaywgQmxvY2szZENvbXBvbmVudCk7XG4gIHByaXZhdGUgX2luaXQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxsKFxuICAgICAgICBCYXNlM2RTZXJpZXNDb21wb25lbnQsXG4gICAgICAgIHRoaXMuc2VyaWVzLmNvbXBvbmVudFxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5zZXJpZXMuY29tcG9uZW50ID0gdGhpcy5zZXJpZXNNYXAuZ2V0KHRoaXMuc2VyaWVzLnR5cGUpO1xuICAgIH1cbiAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgdGhpcy5zZXJpZXMuY29tcG9uZW50XG4gICAgKTtcblxuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5zZXJpZXMgPSB0aGlzLnNlcmllcztcbiAgICB0aGlzLl9pbml0ID0gdHJ1ZTtcbiAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5faW5pdCAmJlxuICAgICAgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjaGFuZ2VzLCAnc2VyaWVzJykgfHxcbiAgICAgICAgY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnY29uZmlnJykpXG4gICAgKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VyaWVzID0gdGhpcy5zZXJpZXM7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgtsLine } from 'angular-three-soba/abstractions';
|
|
4
|
-
import { extend, NgtArgs, NgtStore } from 'angular-three';
|
|
5
|
-
import * as THREE from 'three';
|
|
6
|
-
import { map, takeWhile } from 'rxjs';
|
|
7
|
-
import { Chart3dService } from '../service/chart-3d.service';
|
|
8
|
-
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../service/chart-3d.service";
|
|
11
|
-
import * as i2 from "angular-three";
|
|
12
|
-
import * as i3 from "@angular/common";
|
|
13
|
-
extend(THREE);
|
|
14
|
-
export class Line3dComponent extends Base3dSeriesComponent {
|
|
15
|
-
constructor(svc, ngtStore) {
|
|
16
|
-
super(svc, ngtStore);
|
|
17
|
-
this.svc = svc;
|
|
18
|
-
this.ngtStore = ngtStore;
|
|
19
|
-
this._alive = true;
|
|
20
|
-
this.Math = Math;
|
|
21
|
-
this.points = this.svc.scales.pipe(takeWhile(() => this._alive), map(scales => {
|
|
22
|
-
return this.getPoints(scales);
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
getPoints(scales) {
|
|
26
|
-
return this.series?.data?.map(_ => {
|
|
27
|
-
return [scales.x(_?.x), scales.y(_?.y), scales.z(_?.z)];
|
|
28
|
-
}).flat();
|
|
29
|
-
}
|
|
30
|
-
ngOnDestroy() {
|
|
31
|
-
this._alive = false;
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Line3dComponent, deps: [{ token: i1.Chart3dService }, { token: i2.NgtStore }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: Line3dComponent, isStandalone: true, selector: "teta-line-3d", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"{points:points|async}as data\">\n <ngt-mesh *ngIf=\"data?.points?.length\">\n <ngts-line [color]=\"series.color\" [lineWidth]=\"2\" [points]=\"data.points\"></ngts-line>\n <ngt-line-basic-material></ngt-line-basic-material>\n </ngt-mesh>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "component", type: NgtsLine, selector: "ngts-line[points]", inputs: ["lineRef", "points", "segments"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Line3dComponent, decorators: [{
|
|
37
|
-
type: Component,
|
|
38
|
-
args: [{ selector: 'teta-line-3d', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, NgtsLine, NgtArgs], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf=\"{points:points|async}as data\">\n <ngt-mesh *ngIf=\"data?.points?.length\">\n <ngts-line [color]=\"series.color\" [lineWidth]=\"2\" [points]=\"data.points\"></ngts-line>\n <ngt-line-basic-material></ngt-line-basic-material>\n </ngt-mesh>\n</ng-container>\n" }]
|
|
39
|
-
}], ctorParameters: () => [{ type: i1.Chart3dService }, { type: i2.NgtStore }] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS0zZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2xpbmUtM2QvbGluZS0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2xpbmUtM2QvbGluZS0zZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsR0FFdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7OztBQUdsRixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFTZCxNQUFNLE9BQU8sZUFDWCxTQUFRLHFCQUFrQztJQU8xQyxZQUFxQixHQUFtQixFQUFXLFFBQWtCO1FBQ25FLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFERixRQUFHLEdBQUgsR0FBRyxDQUFnQjtRQUFXLGFBQVEsR0FBUixRQUFRLENBQVU7UUFIN0QsV0FBTSxHQUFHLElBQUksQ0FBQztRQUVILFNBQUksR0FBRyxJQUFJLENBQUM7UUFHN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2hDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzVCLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELFNBQVMsQ0FBQyxNQUFNO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUE0QixDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs4R0F6QlUsZUFBZTtrR0FBZixlQUFlLCtGQ3hCNUIsZ1NBTUEsMkNEY1ksWUFBWSx3TEFBRSxRQUFROzsyRkFJckIsZUFBZTtrQkFSM0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsV0FDakMsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmd0c0xpbmUgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvYWJzdHJhY3Rpb25zJztcbmltcG9ydCB7IGV4dGVuZCwgTmd0QXJncywgTmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFydDNkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlM2RTZXJpZXNDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaW5lM2RQb2ludCB9IGZyb20gJy4uL21vZGVsL2xpbmUtM2QtcG9pbnQnO1xuXG5leHRlbmQoVEhSRUUpO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1saW5lLTNkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5ndHNMaW5lLCBOZ3RBcmdzXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICB0ZW1wbGF0ZVVybDogJy4vbGluZS0zZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExpbmUzZENvbXBvbmVudFxuICBleHRlbmRzIEJhc2UzZFNlcmllc0NvbXBvbmVudDxMaW5lM2RQb2ludD5cbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgcHVibGljIHBvaW50czogT2JzZXJ2YWJsZTxbbnVtYmVyLG51bWJlcixudW1iZXJdPjtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBNYXRoID0gTWF0aDtcbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgc3ZjOiBDaGFydDNkU2VydmljZSwgb3ZlcnJpZGUgbmd0U3RvcmU6IE5ndFN0b3JlKSB7XG4gICAgc3VwZXIoc3ZjLCBuZ3RTdG9yZSk7XG4gICAgdGhpcy5wb2ludHMgPSB0aGlzLnN2Yy5zY2FsZXMucGlwZShcbiAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICBtYXAoc2NhbGVzID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UG9pbnRzKHNjYWxlcyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbiAgZ2V0UG9pbnRzKHNjYWxlcykge1xuICAgIHJldHVybiB0aGlzLnNlcmllcz8uZGF0YT8ubWFwKF8gPT4ge1xuICAgICAgcmV0dXJuIFtzY2FsZXMueChfPy54KSwgc2NhbGVzLnkoXz8ueSksIHNjYWxlcy56KF8/LnopXTtcbiAgICB9KS5mbGF0KCkgYXMgW251bWJlcixudW1iZXIsbnVtYmVyXTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ7cG9pbnRzOnBvaW50c3xhc3luY31hcyBkYXRhXCI+XG4gIDxuZ3QtbWVzaCAqbmdJZj1cImRhdGE/LnBvaW50cz8ubGVuZ3RoXCI+XG4gICAgPG5ndHMtbGluZSBbY29sb3JdPVwic2VyaWVzLmNvbG9yXCIgW2xpbmVXaWR0aF09XCIyXCIgW3BvaW50c109XCJkYXRhLnBvaW50c1wiPjwvbmd0cy1saW5lPlxuICAgIDxuZ3QtbGluZS1iYXNpYy1tYXRlcmlhbD48L25ndC1saW5lLWJhc2ljLW1hdGVyaWFsPlxuICA8L25ndC1tZXNoPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy0zZC1taW4tbWF4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9tb2RlbC9heGVzLTNkLW1pbi1tYXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXhlczNkTWluTWF4IHtcbiAgeDpbbnVtYmVyLG51bWJlcl0sXG4gIHk6W251bWJlcixudW1iZXJdLFxuICB6OltudW1iZXIsbnVtYmVyXSxcbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy0zZC1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvYXhpcy0zZC1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBeGlzM2RQb2ludCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHBvc2l0aW9uOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS0zZC1zZXJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L21vZGVsL2Jhc2UtM2Qtc2VyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlM2RUaHJlZVBvaW50IH0gZnJvbSAnLi9iYXNlLTNkLXRocmVlLXBvaW50JztcbmltcG9ydCB7IFNlcmllczNkVHlwZSB9IGZyb20gJy4vZW51bS9zZXJpZXMtM2QtdHlwZSc7XG5pbXBvcnQgeyBCYXNlM2RTZXJpZXNDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZTNkU2VyaWVzPFQgZXh0ZW5kcyBCYXNlM2RUaHJlZVBvaW50PiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU6IFNlcmllczNkVHlwZTtcbiAgY29tcG9uZW50PzogdHlwZW9mIEJhc2UzZFNlcmllc0NvbXBvbmVudDtcbiAgZGF0YTogVFtdO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgY29sb3I/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS0zZC10aHJlZS1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvYmFzZS0zZC10aHJlZS1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCYXNlM2RUaHJlZVBvaW50IHtcbiAgeDogbnVtYmVyO1xuICB4MT86IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB5MT86IG51bWJlcjtcbiAgejogbnVtYmVyO1xuICB6MT86IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stM2Qtc2VyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9tb2RlbC9ibG9jay0zZC1zZXJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2UzZFNlcmllcyB9IGZyb20gJy4vYmFzZS0zZC1zZXJpZXMnO1xuaW1wb3J0IHsgQmxvY2szZFBvaW50IH0gZnJvbSAnLi9ibG9jazNkLXBvaW50JztcbmltcG9ydCB7IFNlcmllczNkVHlwZSB9IGZyb20gJy4vZW51bS9zZXJpZXMtM2QtdHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxvY2szZFNlcmllcyBleHRlbmRzIEJhc2UzZFNlcmllczxCbG9jazNkUG9pbnQ+IHtcbiAgdHlwZTogU2VyaWVzM2RUeXBlLmJsb2NrO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2szZC1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvYmxvY2szZC1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZTNkVGhyZWVQb2ludCB9IGZyb20gJy4vYmFzZS0zZC10aHJlZS1wb2ludCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxvY2szZFBvaW50IGV4dGVuZHMgQmFzZTNkVGhyZWVQb2ludCB7XG4gIGljb25JZDogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './series-3d-type';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvZW51bS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Nlcmllcy0zZC10eXBlJztcbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export var Series3dType;
|
|
2
|
-
(function (Series3dType) {
|
|
3
|
-
Series3dType[Series3dType["line"] = 0] = "line";
|
|
4
|
-
Series3dType[Series3dType["block"] = 1] = "block";
|
|
5
|
-
})(Series3dType || (Series3dType = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLTNkLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L21vZGVsL2VudW0vc2VyaWVzLTNkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUN0QiwrQ0FBSSxDQUFBO0lBQ0osaURBQUssQ0FBQTtBQUNQLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNlcmllczNkVHlwZSB7XG4gIGxpbmUsXG4gIGJsb2NrLFxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS0zZC1jaGFydC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L21vZGVsL2ktM2QtY2hhcnQtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlM2RTZXJpZXMgfSBmcm9tICcuL2Jhc2UtM2Qtc2VyaWVzJztcbmltcG9ydCB7IEJhc2UzZFRocmVlUG9pbnQgfSBmcm9tICcuL2Jhc2UtM2QtdGhyZWUtcG9pbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEkzZENoYXJ0Q29uZmlnIHtcbiAgc2VyaWVzPzogQmFzZTNkU2VyaWVzPEJhc2UzZFRocmVlUG9pbnQ+W107XG4gIG5vRGF0YVRleHQ/OiBzdHJpbmc7XG4gIHhBeGlzPzogbWluTWF4O1xuICB5QXhpcz86IG1pbk1heDtcbiAgekF4aXM/OiBtaW5NYXg7XG59XG5pbnRlcmZhY2UgbWluTWF4IHtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS0zZC1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvbGluZS0zZC1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMaW5lM2RQb2ludCB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB6OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS0zZC1zZXJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L21vZGVsL2xpbmUtM2Qtc2VyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlM2RTZXJpZXMgfSBmcm9tICcuL2Jhc2UtM2Qtc2VyaWVzJztcbmltcG9ydCB7IFNlcmllczNkVHlwZSB9IGZyb20gJy4vZW51bS9zZXJpZXMtM2QtdHlwZSc7XG5pbXBvcnQgeyBMaW5lM2RQb2ludCB9IGZyb20gJy4vbGluZS0zZC1wb2ludCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZTNkU2VyaWVzIGV4dGVuZHMgQmFzZTNkU2VyaWVzPExpbmUzZFBvaW50PiB7XG4gIHR5cGU6IFNlcmllczNkVHlwZS5saW5lO1xufVxuIl19
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export * from './axes-3d-min-max';
|
|
2
|
-
export * from './axis-3d-point';
|
|
3
|
-
export * from './base-3d-series';
|
|
4
|
-
export * from './base-3d-three-point';
|
|
5
|
-
export * from './block3d-point';
|
|
6
|
-
export * from './enum/public-api';
|
|
7
|
-
export * from './i-3d-chart-config';
|
|
8
|
-
export * from './line-3d-point';
|
|
9
|
-
export * from './line-3d-series';
|
|
10
|
-
export * from './block-3d-series';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9heGVzLTNkLW1pbi1tYXgnO1xuZXhwb3J0ICogZnJvbSAnLi9heGlzLTNkLXBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS0zZC1zZXJpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLTNkLXRocmVlLXBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmxvY2szZC1wb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL2VudW0vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2ktM2QtY2hhcnQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGluZS0zZC1wb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUtM2Qtc2VyaWVzJztcbmV4cG9ydCAqIGZyb20gJy4vYmxvY2stM2Qtc2VyaWVzJztcbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, inject, } from '@angular/core';
|
|
3
|
-
import { NgtStore } from 'angular-three';
|
|
4
|
-
import { NgtsOrbitControls } from 'angular-three-soba/controls';
|
|
5
|
-
import { Area3dComponent } from '../area-3d/area-3d.component';
|
|
6
|
-
import { Axes3dComponent } from '../axes-3d/axes-3d.component';
|
|
7
|
-
import { Block3dComponent } from '../block-3d/block-3d.component';
|
|
8
|
-
import { Series3dHost } from '../directive/series-3d-host';
|
|
9
|
-
import { Line3dComponent } from '../line-3d/line-3d.component';
|
|
10
|
-
import { Chart3dService } from '../service/chart-3d.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/common";
|
|
13
|
-
export class SceneComponent {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.store = inject(NgtStore);
|
|
16
|
-
this.Math = Math;
|
|
17
|
-
this.chartService = inject(Chart3dService);
|
|
18
|
-
this._cdr = inject(ChangeDetectorRef);
|
|
19
|
-
this.data = this.chartService.data;
|
|
20
|
-
}
|
|
21
|
-
setRotation() {
|
|
22
|
-
this.rotation = null;
|
|
23
|
-
this._cdr.detectChanges();
|
|
24
|
-
this.rotation = this.store.get('camera').rotation;
|
|
25
|
-
this._cdr.detectChanges();
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
this.rotation = this.store.get('camera').rotation;
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SceneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SceneComponent, isStandalone: true, selector: "teta-scene", ngImport: i0, template: "<ng-container *ngIf='{data:data|async} as config'>\n <ngt-scene>\n <ngts-orbit-controls [minAzimuthAngle]='0'\n [maxAzimuthAngle]='Math.PI/2'\n [maxZoom]='30'\n [minZoom]='2'\n (change)='setRotation()'></ngts-orbit-controls>\n </ngt-scene>\n <teta-area-3d></teta-area-3d>\n <ng-container *ngFor='let s of config.data?.series;'>\n <div teta-series-3d-host [series]='s'></div>\n </ng-container>\n <teta-axes-3d [rotation]='rotation'></teta-axes-3d>\n</ng-container>\n\n\n", dependencies: [{ kind: "component", type: NgtsOrbitControls, selector: "ngts-orbit-controls", inputs: ["controlsRef", "camera", "domElement", "makeDefault", "regress", "target", "enableDamping"], outputs: ["change", "start", "end"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: Area3dComponent, selector: "teta-area-3d" }, { kind: "component", type: Axes3dComponent, selector: "teta-axes-3d", inputs: ["rotation"] }, { kind: "component", type: Series3dHost, selector: "[teta-series-3d-host]", inputs: ["series"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SceneComponent, decorators: [{
|
|
34
|
-
type: Component,
|
|
35
|
-
args: [{ standalone: true, selector: 'teta-scene', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
36
|
-
NgtsOrbitControls,
|
|
37
|
-
CommonModule,
|
|
38
|
-
Area3dComponent,
|
|
39
|
-
Line3dComponent,
|
|
40
|
-
Axes3dComponent,
|
|
41
|
-
Block3dComponent,
|
|
42
|
-
Series3dHost,
|
|
43
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf='{data:data|async} as config'>\n <ngt-scene>\n <ngts-orbit-controls [minAzimuthAngle]='0'\n [maxAzimuthAngle]='Math.PI/2'\n [maxZoom]='30'\n [minZoom]='2'\n (change)='setRotation()'></ngts-orbit-controls>\n </ngt-scene>\n <teta-area-3d></teta-area-3d>\n <ng-container *ngFor='let s of config.data?.series;'>\n <div teta-series-3d-host [series]='s'></div>\n </ng-container>\n <teta-axes-3d [rotation]='rotation'></teta-axes-3d>\n</ng-container>\n\n\n" }]
|
|
44
|
-
}], ctorParameters: () => [] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9zY2VuZS9zY2VuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3NjZW5lL3NjZW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWtCN0QsTUFBTSxPQUFPLGNBQWM7SUFRekI7UUFMZ0IsVUFBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBR2xELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNwRCxDQUFDOzhHQXJCVSxjQUFjO2tHQUFkLGNBQWMsc0VDdEMzQixta0JBZ0JBLDRDRFlJLGlCQUFpQiwwTUFDakIsWUFBWSxxVEFDWixlQUFlLHlEQUVmLGVBQWUsK0VBRWYsWUFBWTs7MkZBSUgsY0FBYztrQkFoQjFCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixZQUFZO3FCQUNiLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgaW5qZWN0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNPcmJpdENvbnRyb2xzIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2NvbnRyb2xzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV1bGVyIH0gZnJvbSAndGhyZWUnO1xuXG5pbXBvcnQgeyBBcmVhM2RDb21wb25lbnQgfSBmcm9tICcuLi9hcmVhLTNkL2FyZWEtM2QuY29tcG9uZW50JztcbmltcG9ydCB7IEF4ZXMzZENvbXBvbmVudCB9IGZyb20gJy4uL2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmxvY2szZENvbXBvbmVudCB9IGZyb20gJy4uL2Jsb2NrLTNkL2Jsb2NrLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXJpZXMzZEhvc3QgfSBmcm9tICcuLi9kaXJlY3RpdmUvc2VyaWVzLTNkLWhvc3QnO1xuaW1wb3J0IHsgTGluZTNkQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluZS0zZC9saW5lLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IENoYXJ0M2RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndGV0YS1zY2VuZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2VuZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmd0c09yYml0Q29udHJvbHMsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFyZWEzZENvbXBvbmVudCxcbiAgICBMaW5lM2RDb21wb25lbnQsXG4gICAgQXhlczNkQ29tcG9uZW50LFxuICAgIEJsb2NrM2RDb21wb25lbnQsXG4gICAgU2VyaWVzM2RIb3N0LFxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIFNjZW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGRhdGE6IE9ic2VydmFibGU8STNkQ2hhcnRDb25maWc+O1xuICBwdWJsaWMgcm90YXRpb246IEV1bGVyO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTWF0aCA9IE1hdGg7XG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydFNlcnZpY2UgPSBpbmplY3QoQ2hhcnQzZFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kYXRhID0gdGhpcy5jaGFydFNlcnZpY2UuZGF0YTtcbiAgfVxuXG4gIHNldFJvdGF0aW9uKCkge1xuICAgIHRoaXMucm90YXRpb24gPSBudWxsO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5yb3RhdGlvbiA9IHRoaXMuc3RvcmUuZ2V0KCdjYW1lcmEnKS5yb3RhdGlvbjtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yb3RhdGlvbiA9IHRoaXMuc3RvcmUuZ2V0KCdjYW1lcmEnKS5yb3RhdGlvbjtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj0ne2RhdGE6ZGF0YXxhc3luY30gYXMgY29uZmlnJz5cbiAgPG5ndC1zY2VuZT5cbiAgICA8bmd0cy1vcmJpdC1jb250cm9scyBbbWluQXppbXV0aEFuZ2xlXT0nMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4QXppbXV0aEFuZ2xlXT0nTWF0aC5QSS8yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhab29tXT0nMzAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgW21pblpvb21dPScyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPSdzZXRSb3RhdGlvbigpJz48L25ndHMtb3JiaXQtY29udHJvbHM+XG4gIDwvbmd0LXNjZW5lPlxuICA8dGV0YS1hcmVhLTNkPjwvdGV0YS1hcmVhLTNkPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj0nbGV0IHMgb2YgY29uZmlnLmRhdGE/LnNlcmllczsnPlxuICAgIDxkaXYgdGV0YS1zZXJpZXMtM2QtaG9zdCBbc2VyaWVzXT0ncyc+PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8dGV0YS1heGVzLTNkIFtyb3RhdGlvbl09J3JvdGF0aW9uJz48L3RldGEtYXhlcy0zZD5cbjwvbmctY29udGFpbmVyPlxuXG5cbiJdfQ==
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as d3 from 'd3';
|
|
3
|
-
import { map, ReplaySubject, shareReplay } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class Chart3dService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.data$ = new ReplaySubject(1);
|
|
8
|
-
this.data = this.data$.asObservable();
|
|
9
|
-
this.minMax = this.data.pipe(map(_ => {
|
|
10
|
-
return this.getAxesMinMax(_);
|
|
11
|
-
}));
|
|
12
|
-
this.scales = this.minMax.pipe(map(minMax => {
|
|
13
|
-
return this.getScales(minMax);
|
|
14
|
-
}), shareReplay(1));
|
|
15
|
-
}
|
|
16
|
-
setData(data) {
|
|
17
|
-
this.data$.next(data);
|
|
18
|
-
}
|
|
19
|
-
getAxesMinMax(data) {
|
|
20
|
-
const zArr = data.series
|
|
21
|
-
.map(_ => {
|
|
22
|
-
return _?.data?.map(d => d?.z);
|
|
23
|
-
})
|
|
24
|
-
.flat()
|
|
25
|
-
.filter(_ => {
|
|
26
|
-
return _ !== null && _ !== undefined;
|
|
27
|
-
});
|
|
28
|
-
const xArr = data.series
|
|
29
|
-
.map(_ => {
|
|
30
|
-
return _?.data?.map(d => d?.x);
|
|
31
|
-
})
|
|
32
|
-
.flat()
|
|
33
|
-
.filter(_ => {
|
|
34
|
-
return _ !== null && _ !== undefined;
|
|
35
|
-
});
|
|
36
|
-
const yArr = data.series
|
|
37
|
-
.map(_ => {
|
|
38
|
-
return _?.data?.map(d => d?.y);
|
|
39
|
-
})
|
|
40
|
-
.flat()
|
|
41
|
-
.filter(_ => {
|
|
42
|
-
return _ !== null && _ !== undefined;
|
|
43
|
-
});
|
|
44
|
-
const ZMinMaxVal = [Math.min(...zArr), Math.max(...zArr)];
|
|
45
|
-
const XMinMaxVal = [Math.min(...xArr), Math.max(...xArr)];
|
|
46
|
-
const YMinMaxVal = [Math.min(...yArr), Math.max(...yArr)];
|
|
47
|
-
return {
|
|
48
|
-
z: this.getMinMaxRange(ZMinMaxVal, data.zAxis?.min, data.zAxis?.max),
|
|
49
|
-
x: this.getMinMaxRange(XMinMaxVal, data.xAxis?.min, data.xAxis?.max),
|
|
50
|
-
y: this.getMinMaxRange(YMinMaxVal, data.yAxis?.min, data.yAxis?.max),
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
getMinMaxRange(minMax, axisMin, axisMax) {
|
|
54
|
-
const min = axisMin ||
|
|
55
|
-
(Math.abs(minMax[0] - minMax[1]) < 0.0000001
|
|
56
|
-
? minMax[0] - Math.abs(minMax[0] - 1) * 0.1
|
|
57
|
-
: minMax[0]);
|
|
58
|
-
const max = axisMax ||
|
|
59
|
-
(Math.abs(minMax[0] - minMax[1]) < 0.0000001
|
|
60
|
-
? minMax[1] + Math.abs(minMax[1] + 1) * 0.1
|
|
61
|
-
: minMax[1]);
|
|
62
|
-
return [min, max];
|
|
63
|
-
}
|
|
64
|
-
getScales(axesMinMax) {
|
|
65
|
-
const z = d3.scaleLinear().domain(axesMinMax.z).range([50, -50]);
|
|
66
|
-
const x = d3.scaleLinear().domain(axesMinMax.x).range([25, 0]);
|
|
67
|
-
const y = d3.scaleLinear().domain(axesMinMax.y).range([50, -50]);
|
|
68
|
-
return {
|
|
69
|
-
x,
|
|
70
|
-
y,
|
|
71
|
-
z,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Chart3dService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
75
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Chart3dService, providedIn: 'root' }); }
|
|
76
|
-
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: Chart3dService, decorators: [{
|
|
78
|
-
type: Injectable,
|
|
79
|
-
args: [{
|
|
80
|
-
providedIn: 'root',
|
|
81
|
-
}]
|
|
82
|
-
}], ctorParameters: () => [] });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtM2Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsV0FBVyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQVFsRSxNQUFNLE9BQU8sY0FBYztJQU96QjtRQUhRLFVBQUssR0FDWCxJQUFJLGFBQWEsQ0FBaUIsQ0FBQyxDQUFDLENBQUM7UUFHckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFvQjtRQUN4QyxNQUFNLElB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QUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBzaGFyZVJlcGxheX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF4ZXMzZE1pbk1heCB9IGZyb20gJy4uL21vZGVsL2F4ZXMtM2QtbWluLW1heCc7XG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0M2RTZXJ2aWNlIHtcbiAgcHVibGljIG1pbk1heDogT2JzZXJ2YWJsZTxBeGVzM2RNaW5NYXg+O1xuICBwdWJsaWMgZGF0YTogT2JzZXJ2YWJsZTxJM2RDaGFydENvbmZpZz47XG4gIHB1YmxpYyBzY2FsZXM6IE9ic2VydmFibGU8eyB4OyB5OyB6IH0+O1xuICBwcml2YXRlIGRhdGEkOiBSZXBsYXlTdWJqZWN0PEkzZENoYXJ0Q29uZmlnPiA9XG4gICAgbmV3IFJlcGxheVN1YmplY3Q8STNkQ2hhcnRDb25maWc+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5taW5NYXggPSB0aGlzLmRhdGEucGlwZShcbiAgICAgIG1hcChfID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXhlc01pbk1heChfKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnNjYWxlcyA9IHRoaXMubWluTWF4LnBpcGUoXG4gICAgICBtYXAobWluTWF4ID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2NhbGVzKG1pbk1heCk7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIHNldERhdGEoZGF0YSkge1xuICAgIHRoaXMuZGF0YSQubmV4dChkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXhlc01pbk1heChkYXRhOiBJM2RDaGFydENvbmZpZyk6IEF4ZXMzZE1pbk1heCB7XG4gICAgY29uc3QgekFycjogbnVtYmVyW10gPSBkYXRhLnNlcmllc1xuICAgICAgLm1hcChfID0+IHtcbiAgICAgICAgcmV0dXJuIF8/LmRhdGE/Lm1hcChkID0+IGQ/LnopO1xuICAgICAgfSlcbiAgICAgIC5mbGF0KClcbiAgICAgIC5maWx0ZXIoXyA9PiB7XG4gICAgICAgIHJldHVybiBfICE9PSBudWxsICYmIF8gIT09IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuICAgIGNvbnN0IHhBcnI6IG51bWJlcltdID0gZGF0YS5zZXJpZXNcbiAgICAgIC5tYXAoXyA9PiB7XG4gICAgICAgIHJldHVybiBfPy5kYXRhPy5tYXAoZCA9PiBkPy54KTtcbiAgICAgIH0pXG4gICAgICAuZmxhdCgpXG4gICAgICAuZmlsdGVyKF8gPT4ge1xuICAgICAgICByZXR1cm4gXyAhPT0gbnVsbCAmJiBfICE9PSB1bmRlZmluZWQ7XG4gICAgICB9KTtcbiAgICBjb25zdCB5QXJyOiBudW1iZXJbXSA9IGRhdGEuc2VyaWVzXG4gICAgICAubWFwKF8gPT4ge1xuICAgICAgICByZXR1cm4gXz8uZGF0YT8ubWFwKGQgPT4gZD8ueSk7XG4gICAgICB9KVxuICAgICAgLmZsYXQoKVxuICAgICAgLmZpbHRlcihfID0+IHtcbiAgICAgICAgcmV0dXJuIF8gIT09IG51bGwgJiYgXyAhPT0gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gICAgY29uc3QgWk1pbk1heFZhbDogW251bWJlciwgbnVtYmVyXSA9IFtNYXRoLm1pbiguLi56QXJyKSwgTWF0aC5tYXgoLi4uekFycildO1xuICAgIGNvbnN0IFhNaW5NYXhWYWw6IFtudW1iZXIsIG51bWJlcl0gPSBbTWF0aC5taW4oLi4ueEFyciksIE1hdGgubWF4KC4uLnhBcnIpXTtcbiAgICBjb25zdCBZTWluTWF4VmFsOiBbbnVtYmVyLCBudW1iZXJdID0gW01hdGgubWluKC4uLnlBcnIpLCBNYXRoLm1heCguLi55QXJyKV07XG4gICAgcmV0dXJuIHtcbiAgICAgIHo6IHRoaXMuZ2V0TWluTWF4UmFuZ2UoWk1pbk1heFZhbCwgZGF0YS56QXhpcz8ubWluLCBkYXRhLnpBeGlzPy5tYXgpLFxuICAgICAgeDogdGhpcy5nZXRNaW5NYXhSYW5nZShYTWluTWF4VmFsLCBkYXRhLnhBeGlzPy5taW4sIGRhdGEueEF4aXM/Lm1heCksXG4gICAgICB5OiB0aGlzLmdldE1pbk1heFJhbmdlKFlNaW5NYXhWYWwsIGRhdGEueUF4aXM/Lm1pbiwgZGF0YS55QXhpcz8ubWF4KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNaW5NYXhSYW5nZShcbiAgICBtaW5NYXg6IFtudW1iZXIsIG51bWJlcl0sXG4gICAgYXhpc01pbjogbnVtYmVyLFxuICAgIGF4aXNNYXg6IG51bWJlclxuICApOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICBjb25zdCBtaW4gPVxuICAgICAgYXhpc01pbiB8fFxuICAgICAgKE1hdGguYWJzKG1pbk1heFswXSAtIG1pbk1heFsxXSkgPCAwLjAwMDAwMDFcbiAgICAgICAgPyBtaW5NYXhbMF0gLSBNYXRoLmFicyhtaW5NYXhbMF0gLSAxKSAqIDAuMVxuICAgICAgICA6IG1pbk1heFswXSk7XG4gICAgY29uc3QgbWF4ID1cbiAgICAgIGF4aXNNYXggfHxcbiAgICAgIChNYXRoLmFicyhtaW5NYXhbMF0gLSBtaW5NYXhbMV0pIDwgMC4wMDAwMDAxXG4gICAgICAgID8gbWluTWF4WzFdICsgTWF0aC5hYnMobWluTWF4WzFdICsgMSkgKiAwLjFcbiAgICAgICAgOiBtaW5NYXhbMV0pO1xuICAgIHJldHVybiBbbWluLCBtYXhdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTY2FsZXMoYXhlc01pbk1heDogQXhlczNkTWluTWF4KSB7XG4gICAgY29uc3QgeiA9IGQzLnNjYWxlTGluZWFyKCkuZG9tYWluKGF4ZXNNaW5NYXgueikucmFuZ2UoWzUwLCAtNTBdKTtcbiAgICBjb25zdCB4ID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYXhlc01pbk1heC54KS5yYW5nZShbMjUsIDBdKTtcbiAgICBjb25zdCB5ID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYXhlc01pbk1heC55KS5yYW5nZShbNTAsIC01MF0pO1xuICAgIHJldHVybiB7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIHosXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, } from '@angular/core';
|
|
3
|
-
import { extend, NgtCanvas, NgtStore } from 'angular-three';
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { OrthographicCamera } from 'three';
|
|
6
|
-
import { SceneComponent } from './scene/scene.component';
|
|
7
|
-
import { Chart3dService } from './service/chart-3d.service';
|
|
8
|
-
import { CanvasComponent } from './canvas/canvas.component';
|
|
9
|
-
import { Canvas3dHost } from './directive/canvas-3d-host';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
extend(THREE);
|
|
12
|
-
export class ThreeChartComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.chartService = inject(Chart3dService);
|
|
15
|
-
this.store = inject(NgtStore);
|
|
16
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
this.scene = SceneComponent;
|
|
20
|
-
this.camera = new OrthographicCamera(20, 20, 20, 20, 0.1, 1000);
|
|
21
|
-
this.camera.position.set(100, 20, 70);
|
|
22
|
-
this.camera.zoom = 4.5;
|
|
23
|
-
this.camera.updateProjectionMatrix();
|
|
24
|
-
}
|
|
25
|
-
ngOnChanges(changes) {
|
|
26
|
-
if (this.data?.series?.length) {
|
|
27
|
-
this.chartService.setData(this.data);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ThreeChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ThreeChartComponent, isStandalone: true, selector: "teta-three-chart", inputs: { data: "data" }, providers: [NgtStore], usesOnChanges: true, ngImport: i0, template: "<div class=\"column_auto column justify-content-center align-center\" style=\"height: 100%;width: 100%;\">\n <div teta-canvas-3d-host [camera]=\"camera\" [data]=\"data\" [scene]=\"scene\"></div>\n</div>\n", styles: [":host{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: Canvas3dHost, selector: "[teta-canvas-3d-host]", inputs: ["scene", "camera", "data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ThreeChartComponent, decorators: [{
|
|
34
|
-
type: Component,
|
|
35
|
-
args: [{ selector: 'teta-three-chart', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgtStore], imports: [
|
|
36
|
-
NgtCanvas,
|
|
37
|
-
SceneComponent,
|
|
38
|
-
CommonModule,
|
|
39
|
-
CanvasComponent,
|
|
40
|
-
Canvas3dHost,
|
|
41
|
-
], template: "<div class=\"column_auto column justify-content-center align-center\" style=\"height: 100%;width: 100%;\">\n <div teta-canvas-3d-host [camera]=\"camera\" [data]=\"data\" [scene]=\"scene\"></div>\n</div>\n", styles: [":host{width:100%;height:100%}\n"] }]
|
|
42
|
-
}], propDecorators: { data: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC90aHJlZS1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3RocmVlLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFDTixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUczQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTFELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQWtCZCxNQUFNLE9BQU8sbUJBQW1CO0lBaEJoQztRQXFCcUIsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FlcEQ7SUFiQyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDOzhHQXJCVSxtQkFBbUI7a0dBQW5CLG1CQUFtQix5RkFUbkIsQ0FBQyxRQUFRLENBQUMsK0NDL0J2QixnTkFHQSx3RkRnQ0ksWUFBWSwrQkFFWixZQUFZOzsyRkFHSCxtQkFBbUI7a0JBaEIvQixTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsQ0FBQyxtQkFDaEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLFFBQVEsQ0FBQyxXQUNaO3dCQUNQLFNBQVM7d0JBQ1QsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjs4QkFHUSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgTmd0Q2FudmFzLCBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgT3J0aG9ncmFwaGljQ2FtZXJhIH0gZnJvbSAndGhyZWUnO1xuXG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4vbW9kZWwvaS0zZC1jaGFydC1jb25maWcnO1xuaW1wb3J0IHsgU2NlbmVDb21wb25lbnQgfSBmcm9tICcuL3NjZW5lL3NjZW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGFydDNkU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlJztcbmltcG9ydCB7IENhbnZhc0NvbXBvbmVudCB9IGZyb20gJy4vY2FudmFzL2NhbnZhcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FudmFzM2RIb3N0IH0gZnJvbSAnLi9kaXJlY3RpdmUvY2FudmFzLTNkLWhvc3QnO1xuXG5leHRlbmQoVEhSRUUpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXRocmVlLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RocmVlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGhyZWUtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbTmd0U3RvcmVdLFxuICBpbXBvcnRzOiBbXG4gICAgTmd0Q2FudmFzLFxuICAgIFNjZW5lQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDYW52YXNDb21wb25lbnQsXG4gICAgQ2FudmFzM2RIb3N0LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUaHJlZUNoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhOiBJM2RDaGFydENvbmZpZztcbiAgcHVibGljIHNjZW5lOiB0eXBlb2YgU2NlbmVDb21wb25lbnQ7XG4gIHB1YmxpYyBjYW1lcmE6IE9ydGhvZ3JhcGhpY0NhbWVyYTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRTZXJ2aWNlID0gaW5qZWN0KENoYXJ0M2RTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KE5ndFN0b3JlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zY2VuZSA9IFNjZW5lQ29tcG9uZW50O1xuICAgIHRoaXMuY2FtZXJhID0gbmV3IE9ydGhvZ3JhcGhpY0NhbWVyYSgyMCwgMjAsIDIwLCAyMCwgMC4xLCAxMDAwKTtcbiAgICB0aGlzLmNhbWVyYS5wb3NpdGlvbi5zZXQoMTAwLCAyMCwgNzApO1xuICAgIHRoaXMuY2FtZXJhLnpvb20gPSA0LjU7XG4gICAgdGhpcy5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGE/LnNlcmllcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNoYXJ0U2VydmljZS5zZXREYXRhKHRoaXMuZGF0YSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICBjbGFzcz1cImNvbHVtbl9hdXRvIGNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWNlbnRlclwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO3dpZHRoOiAxMDAlO1wiPlxuICA8ZGl2IHRldGEtY2FudmFzLTNkLWhvc3QgW2NhbWVyYV09XCJjYW1lcmFcIiBbZGF0YV09XCJkYXRhXCIgW3NjZW5lXT1cInNjZW5lXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
package/esm2022/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './component/three/public-api';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L3RocmVlL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV0YWNvbS1uZy10aHJlZWpzLWNoYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RldGFjb20tbmctdGhyZWVqcy1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|