@tetacom/ng-components 1.1.23 → 1.1.25
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/component/expand-card/expand-item/expand-item.component.d.ts +2 -4
- package/component/three/three-chart/canvas/canvas.component.d.ts +3 -3
- package/component/three/three-chart/service/chart-3d.service.d.ts +1 -1
- package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +21 -13
- package/esm2022/component/expand-card/expand-item/expand-item.component.mjs +5 -9
- package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +3 -3
- package/esm2022/component/input/input/input.component.mjs +3 -3
- package/esm2022/component/three/three-chart/axes-3d/axes-3d.component.mjs +3 -3
- package/esm2022/component/three/three-chart/canvas/canvas.component.mjs +4 -4
- package/esm2022/component/three/three-chart/scene/scene.component.mjs +3 -3
- package/esm2022/component/three/three-chart/service/chart-3d.service.mjs +4 -4
- package/esm2022/component/three/three-chart/three-chart.component.mjs +10 -4
- package/fesm2022/tetacom-ng-components.mjs +40 -30
- package/fesm2022/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { map, ReplaySubject, shareReplay } from 'rxjs';
|
|
3
2
|
import * as d3 from 'd3';
|
|
3
|
+
import { map, ReplaySubject, shareReplay } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class Chart3dService {
|
|
6
6
|
minMax;
|
|
@@ -55,11 +55,11 @@ export class Chart3dService {
|
|
|
55
55
|
}
|
|
56
56
|
getMinMaxRange(minMax, axisMin, axisMax) {
|
|
57
57
|
const min = axisMin ||
|
|
58
|
-
(minMax[0]
|
|
58
|
+
(Math.abs(minMax[0] - minMax[1]) < 0.0000001
|
|
59
59
|
? minMax[0] - Math.abs(minMax[0] - 1) * 0.1
|
|
60
60
|
: minMax[0]);
|
|
61
61
|
const max = axisMax ||
|
|
62
|
-
(minMax[0]
|
|
62
|
+
(Math.abs(minMax[0] - minMax[1]) < 0.0000001
|
|
63
63
|
? minMax[1] + Math.abs(minMax[1] + 1) * 0.1
|
|
64
64
|
: minMax[1]);
|
|
65
65
|
return [min, max];
|
|
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
83
83
|
providedIn: 'root',
|
|
84
84
|
}]
|
|
85
85
|
}], ctorParameters: function () { return []; } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtM2Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsV0FBVyxFQUFPLE1BQU0sTUFBTSxDQUFDOztBQVF4RSxNQUFNLE9BQU8sY0FBYztJQUNsQixNQUFNLENBQTJCO0lBQ2pDLElBQUksQ0FBNkI7SUFDakMsTUFBTSxDQUEwQjtJQUMvQixLQUFLLEdBQ1gsSUFBSSxhQUFhLENBQWlCLENBQUMsQ0FBQyxDQUFDO0lBRXZDO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFD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QUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBzaGFyZVJlcGxheSwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF4ZXMzZE1pbk1heCB9IGZyb20gJy4uL21vZGVsL2F4ZXMtM2QtbWluLW1heCc7XG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0M2RTZXJ2aWNlIHtcbiAgcHVibGljIG1pbk1heDogT2JzZXJ2YWJsZTxBeGVzM2RNaW5NYXg+O1xuICBwdWJsaWMgZGF0YTogT2JzZXJ2YWJsZTxJM2RDaGFydENvbmZpZz47XG4gIHB1YmxpYyBzY2FsZXM6IE9ic2VydmFibGU8eyB4OyB5OyB6IH0+O1xuICBwcml2YXRlIGRhdGEkOiBSZXBsYXlTdWJqZWN0PEkzZENoYXJ0Q29uZmlnPiA9XG4gICAgbmV3IFJlcGxheVN1YmplY3Q8STNkQ2hhcnRDb25maWc+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5taW5NYXggPSB0aGlzLmRhdGEucGlwZShcbiAgICAgIG1hcChfID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXhlc01pbk1heChfKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnNjYWxlcyA9IHRoaXMubWluTWF4LnBpcGUoXG4gICAgICBtYXAobWluTWF4ID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2NhbGVzKG1pbk1heCk7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIHNldERhdGEoZGF0YSkge1xuICAgIHRoaXMuZGF0YSQubmV4dChkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXhlc01pbk1heChkYXRhOiBJM2RDaGFydENvbmZpZyk6IEF4ZXMzZE1pbk1heCB7XG4gICAgY29uc3QgekFycjogbnVtYmVyW10gPSBkYXRhLnNlcmllc1xuICAgICAgLm1hcChfID0+IHtcbiAgICAgICAgcmV0dXJuIF8/LmRhdGE/Lm1hcChkID0+IGQ/LnopO1xuICAgICAgfSlcbiAgICAgIC5mbGF0KClcbiAgICAgIC5maWx0ZXIoXyA9PiB7XG4gICAgICAgIHJldHVybiBfICE9PSBudWxsICYmIF8gIT09IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuICAgIGNvbnN0IHhBcnI6IG51bWJlcltdID0gZGF0YS5zZXJpZXNcbiAgICAgIC5tYXAoXyA9PiB7XG4gICAgICAgIHJldHVybiBfPy5kYXRhPy5tYXAoZCA9PiBkPy54KTtcbiAgICAgIH0pXG4gICAgICAuZmxhdCgpXG4gICAgICAuZmlsdGVyKF8gPT4ge1xuICAgICAgICByZXR1cm4gXyAhPT0gbnVsbCAmJiBfICE9PSB1bmRlZmluZWQ7XG4gICAgICB9KTtcbiAgICBjb25zdCB5QXJyOiBudW1iZXJbXSA9IGRhdGEuc2VyaWVzXG4gICAgICAubWFwKF8gPT4ge1xuICAgICAgICByZXR1cm4gXz8uZGF0YT8ubWFwKGQgPT4gZD8ueSk7XG4gICAgICB9KVxuICAgICAgLmZsYXQoKVxuICAgICAgLmZpbHRlcihfID0+IHtcbiAgICAgICAgcmV0dXJuIF8gIT09IG51bGwgJiYgXyAhPT0gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gICAgY29uc3QgWk1pbk1heFZhbDogW251bWJlciwgbnVtYmVyXSA9IFtNYXRoLm1pbiguLi56QXJyKSwgTWF0aC5tYXgoLi4uekFycildO1xuICAgIGNvbnN0IFhNaW5NYXhWYWw6IFtudW1iZXIsIG51bWJlcl0gPSBbTWF0aC5taW4oLi4ueEFyciksIE1hdGgubWF4KC4uLnhBcnIpXTtcbiAgICBjb25zdCBZTWluTWF4VmFsOiBbbnVtYmVyLCBudW1iZXJdID0gW01hdGgubWluKC4uLnlBcnIpLCBNYXRoLm1heCguLi55QXJyKV07XG4gICAgcmV0dXJuIHtcbiAgICAgIHo6IHRoaXMuZ2V0TWluTWF4UmFuZ2UoWk1pbk1heFZhbCwgZGF0YS56QXhpcz8ubWluLCBkYXRhLnpBeGlzPy5tYXgpLFxuICAgICAgeDogdGhpcy5nZXRNaW5NYXhSYW5nZShYTWluTWF4VmFsLCBkYXRhLnhBeGlzPy5taW4sIGRhdGEueEF4aXM/Lm1heCksXG4gICAgICB5OiB0aGlzLmdldE1pbk1heFJhbmdlKFlNaW5NYXhWYWwsIGRhdGEueUF4aXM/Lm1pbiwgZGF0YS55QXhpcz8ubWF4KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNaW5NYXhSYW5nZShcbiAgICBtaW5NYXg6IFtudW1iZXIsIG51bWJlcl0sXG4gICAgYXhpc01pbjogbnVtYmVyLFxuICAgIGF4aXNNYXg6IG51bWJlclxuICApOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICBjb25zdCBtaW4gPVxuICAgICAgYXhpc01pbiB8fFxuICAgICAgKE1hdGguYWJzKG1pbk1heFswXSAtIG1pbk1heFsxXSkgPCAwLjAwMDAwMDFcbiAgICAgICAgPyBtaW5NYXhbMF0gLSBNYXRoLmFicyhtaW5NYXhbMF0gLSAxKSAqIDAuMVxuICAgICAgICA6IG1pbk1heFswXSk7XG4gICAgY29uc3QgbWF4ID1cbiAgICAgIGF4aXNNYXggfHxcbiAgICAgIChNYXRoLmFicyhtaW5NYXhbMF0gLSBtaW5NYXhbMV0pIDwgMC4wMDAwMDAxXG4gICAgICAgID8gbWluTWF4WzFdICsgTWF0aC5hYnMobWluTWF4WzFdICsgMSkgKiAwLjFcbiAgICAgICAgOiBtaW5NYXhbMV0pO1xuICAgIHJldHVybiBbbWluLCBtYXhdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTY2FsZXMoYXhlc01pbk1heDogQXhlczNkTWluTWF4KSB7XG4gICAgY29uc3QgeiA9IGQzLnNjYWxlTGluZWFyKCkuZG9tYWluKGF4ZXNNaW5NYXgueikucmFuZ2UoWzUwLCAtNTBdKTtcbiAgICBjb25zdCB4ID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYXhlc01pbk1heC54KS5yYW5nZShbMjUsIDBdKTtcbiAgICBjb25zdCB5ID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYXhlc01pbk1heC55KS5yYW5nZShbNTAsIC01MF0pO1xuICAgIHJldHVybiB7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIHosXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -5,8 +5,8 @@ import * as THREE from 'three';
|
|
|
5
5
|
import { OrthographicCamera } from 'three';
|
|
6
6
|
import { SceneComponent } from './scene/scene.component';
|
|
7
7
|
import { Chart3dService } from './service/chart-3d.service';
|
|
8
|
-
import { CanvasComponent } from
|
|
9
|
-
import { Canvas3dHost } from
|
|
8
|
+
import { CanvasComponent } from './canvas/canvas.component';
|
|
9
|
+
import { Canvas3dHost } from './directive/canvas-3d-host';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
extend(THREE);
|
|
12
12
|
export class ThreeChartComponent {
|
|
@@ -33,8 +33,14 @@ export class ThreeChartComponent {
|
|
|
33
33
|
}
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThreeChartComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
|
-
args: [{ selector: 'teta-three-chart', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgtStore], imports: [
|
|
36
|
+
args: [{ selector: 'teta-three-chart', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgtStore], imports: [
|
|
37
|
+
NgtCanvas,
|
|
38
|
+
SceneComponent,
|
|
39
|
+
CommonModule,
|
|
40
|
+
CanvasComponent,
|
|
41
|
+
Canvas3dHost,
|
|
42
|
+
], 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"] }]
|
|
37
43
|
}], propDecorators: { data: [{
|
|
38
44
|
type: Input
|
|
39
45
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC90aHJlZS1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3RocmVlLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFDTixLQUFLLEdBTU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUczQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTFELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQWtCZCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLElBQUksQ0FBaUI7SUFDdkIsS0FBSyxDQUF3QjtJQUM3QixNQUFNLENBQXFCO0lBRWYsWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pCLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVuRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7dUdBckJVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHlGQVRuQixDQUFDLFFBQVEsQ0FBQywrQ0NqQ3ZCLGdOQUdBLHdGRGtDSSxZQUFZLCtCQUVaLFlBQVk7OzJGQUdILG1CQUFtQjtrQkFoQi9CLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsUUFBUSxDQUFDLFdBQ1o7d0JBQ1AsU0FBUzt3QkFDVCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixZQUFZO3FCQUNiOzhCQUdRLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIE5ndENhbnZhcywgTmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE9ydGhvZ3JhcGhpY0NhbWVyYSB9IGZyb20gJ3RocmVlJztcblxuaW1wb3J0IHsgSTNkQ2hhcnRDb25maWcgfSBmcm9tICcuL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50IH0gZnJvbSAnLi9zY2VuZS9zY2VuZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhcnQzZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5pbXBvcnQgeyBDYW52YXNDb21wb25lbnQgfSBmcm9tICcuL2NhbnZhcy9jYW52YXMuY29tcG9uZW50JztcbmltcG9ydCB7IENhbnZhczNkSG9zdCB9IGZyb20gJy4vZGlyZWN0aXZlL2NhbnZhcy0zZC1ob3N0JztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10aHJlZS1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90aHJlZS1jaGFydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RocmVlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW05ndFN0b3JlXSxcbiAgaW1wb3J0czogW1xuICAgIE5ndENhbnZhcyxcbiAgICBTY2VuZUNvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2FudmFzQ29tcG9uZW50LFxuICAgIENhbnZhczNkSG9zdCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGhyZWVDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YTogSTNkQ2hhcnRDb25maWc7XG4gIHB1YmxpYyBzY2VuZTogdHlwZW9mIFNjZW5lQ29tcG9uZW50O1xuICBwdWJsaWMgY2FtZXJhOiBPcnRob2dyYXBoaWNDYW1lcmE7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYXJ0U2VydmljZSA9IGluamVjdChDaGFydDNkU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2NlbmUgPSBTY2VuZUNvbXBvbmVudDtcbiAgICB0aGlzLmNhbWVyYSA9IG5ldyBPcnRob2dyYXBoaWNDYW1lcmEoMjAsIDIwLCAyMCwgMjAsIDAuMSwgMTAwMCk7XG4gICAgdGhpcy5jYW1lcmEucG9zaXRpb24uc2V0KDEwMCwgMjAsIDcwKTtcbiAgICB0aGlzLmNhbWVyYS56b29tID0gNC41O1xuICAgIHRoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhPy5zZXJpZXM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jaGFydFNlcnZpY2Uuc2V0RGF0YSh0aGlzLmRhdGEpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAgY2xhc3M9XCJjb2x1bW5fYXV0byBjb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1jZW50ZXJcIiBzdHlsZT1cImhlaWdodDogMTAwJTt3aWR0aDogMTAwJTtcIj5cbiAgPGRpdiB0ZXRhLWNhbnZhcy0zZC1ob3N0IFtjYW1lcmFdPVwiY2FtZXJhXCIgW2RhdGFdPVwiZGF0YVwiIFtzY2VuZV09XCJzY2VuZVwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1900,11 +1900,11 @@ class InputComponent {
|
|
|
1900
1900
|
}
|
|
1901
1901
|
align = Align;
|
|
1902
1902
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1903
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: InputComponent, selector: "teta-input", inputs: { label: "label", hint: "hint", viewType: "viewType", horizontal: "horizontal", required: "required" }, host: { properties: { "class.row": "this.horizontal", "class.column": "this.column" } }, ngImport: i0, template: "<div class=\"font-caption color-text-
|
|
1903
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: InputComponent, selector: "teta-input", inputs: { label: "label", hint: "hint", viewType: "viewType", horizontal: "horizontal", required: "required" }, host: { properties: { "class.row": "this.horizontal", "class.column": "this.column" } }, ngImport: i0, template: "<div class=\"font-caption color-text-70 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n <span class=\"overflow-hidden text-overflow-ellipsis\"\n [tetaHint]=\"hint ?? label\"\n [align]=\"align.left\"\n [overflownOnly]=\"!hint || hint === label\">\n {{label}}\n </span>\n</div>\n<div [class]=\"'input-container input_'+viewType\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message font-caption\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:4px;flex-grow:1;flex-basis:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: HintDirective, selector: "[tetaHint]", inputs: ["tetaHint", "align", "verticalAlign", "delay", "viewType", "overflownOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1904
1904
|
}
|
|
1905
1905
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: InputComponent, decorators: [{
|
|
1906
1906
|
type: Component,
|
|
1907
|
-
args: [{ selector: 'teta-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"font-caption color-text-
|
|
1907
|
+
args: [{ selector: 'teta-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"font-caption color-text-70 align-center row nowrap overflow-hidden text-overflow-ellipsis\"\n [class.row_6]=\"horizontal\"\n [class.text-field_required]=\"required\"\n *ngIf=\"label?.length > 0\">\n <span class=\"overflow-hidden text-overflow-ellipsis\"\n [tetaHint]=\"hint ?? label\"\n [align]=\"align.left\"\n [overflownOnly]=\"!hint || hint === label\">\n {{label}}\n </span>\n</div>\n<div [class]=\"'input-container input_'+viewType\" [class.row_6]=\"horizontal\">\n <ng-content></ng-content>\n <div class=\"input-message font-error-message font-caption\">\n <ng-content select=\"message\"></ng-content>\n </div>\n</div>\n", styles: [":host{display:flex;grid-gap:4px;flex-grow:1;flex-basis:10px}\n"] }]
|
|
1908
1908
|
}], propDecorators: { label: [{
|
|
1909
1909
|
type: Input
|
|
1910
1910
|
}], hint: [{
|
|
@@ -3734,21 +3734,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
3734
3734
|
class ExpandItemComponent {
|
|
3735
3735
|
open = true;
|
|
3736
3736
|
openChange = new EventEmitter();
|
|
3737
|
-
constructor() {
|
|
3738
|
-
}
|
|
3739
|
-
ngOnInit() {
|
|
3740
|
-
}
|
|
3741
3737
|
setOpen() {
|
|
3742
3738
|
this.open = !this.open;
|
|
3743
3739
|
this.openChange.emit(this.open);
|
|
3744
3740
|
}
|
|
3745
3741
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ExpandItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3746
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: ExpandItemComponent, selector: "teta-expand-item", inputs: { open: "open" }, outputs: { openChange: "openChange" }, exportAs: ["expand-item"], ngImport: i0, template: "<div class=\"row align-center gap color-text-
|
|
3742
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: ExpandItemComponent, selector: "teta-expand-item", inputs: { open: "open" }, outputs: { openChange: "openChange" }, exportAs: ["expand-item"], ngImport: i0, template: "<div class=\"row align-center gap color-text-90 height-6\">\n <div class=\"row row_auto align-center font-title-2\">\n <ng-content select=\"head\"></ng-content>\n </div>\n <button type=\"button\" teta-button (click)=\"setOpen()\" [palette]=\"'text'\" [view]=\"'ghost'\" [square]=\"true\">\n <teta-icon [name]=\"open ? 'arrowUpKey' : 'arrowDownKey'\" [palette]=\"'text'\"></teta-icon>\n </button>\n</div>\n<div class=\"content\" *ngIf=\"open\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{animation:append-animate .5s linear;transition:order 5s ease-in;display:flex;flex-direction:column;gap:12px}.content{animation:append-animate .5s linear}@keyframes append-animate{0%{opacity:0}to{opacity:1}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3747
3743
|
}
|
|
3748
3744
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ExpandItemComponent, decorators: [{
|
|
3749
3745
|
type: Component,
|
|
3750
|
-
args: [{ selector: 'teta-expand-item', changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'expand-item', template: "<div class=\"row align-center gap color-text-
|
|
3751
|
-
}],
|
|
3746
|
+
args: [{ selector: 'teta-expand-item', changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'expand-item', template: "<div class=\"row align-center gap color-text-90 height-6\">\n <div class=\"row row_auto align-center font-title-2\">\n <ng-content select=\"head\"></ng-content>\n </div>\n <button type=\"button\" teta-button (click)=\"setOpen()\" [palette]=\"'text'\" [view]=\"'ghost'\" [square]=\"true\">\n <teta-icon [name]=\"open ? 'arrowUpKey' : 'arrowDownKey'\" [palette]=\"'text'\"></teta-icon>\n </button>\n</div>\n<div class=\"content\" *ngIf=\"open\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{animation:append-animate .5s linear;transition:order 5s ease-in;display:flex;flex-direction:column;gap:12px}.content{animation:append-animate .5s linear}@keyframes append-animate{0%{opacity:0}to{opacity:1}}\n"] }]
|
|
3747
|
+
}], propDecorators: { open: [{
|
|
3752
3748
|
type: Input
|
|
3753
3749
|
}], openChange: [{
|
|
3754
3750
|
type: Output
|
|
@@ -3857,11 +3853,11 @@ class ExpandPanelComponent {
|
|
|
3857
3853
|
this.openChange.emit(this.open);
|
|
3858
3854
|
}
|
|
3859
3855
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ExpandPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3860
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: ExpandPanelComponent, selector: "teta-expand-panel", inputs: { placeholder: "placeholder", open: "open", cookieName: "cookieName", direction: "direction" }, outputs: { openChange: "openChange" }, queries: [{ propertyName: "content", first: true, predicate: ExpandPanelContentDirective, descendants: true }, { propertyName: "head", first: true, predicate: ExpandPanelHeadDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf
|
|
3856
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: ExpandPanelComponent, selector: "teta-expand-panel", inputs: { placeholder: "placeholder", open: "open", cookieName: "cookieName", direction: "direction" }, outputs: { openChange: "openChange" }, queries: [{ propertyName: "content", first: true, predicate: ExpandPanelContentDirective, descendants: true }, { propertyName: "head", first: true, predicate: ExpandPanelHeadDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngIf='open'>\n <teta-toolbar\n style='display: flex'\n [style.justifyContent]=\"direction === 'right' ? 'space-between' : 'unset'\"\n [style.flexDirection]=\"direction === 'right' ? 'row-reverse' : 'row'\">\n <button\n teta-button\n [square]='true'\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)='closePanel()'\n >\n <teta-icon [palette]=\"'text'\" [name]=\"direction === 'right' ? 'start' : 'end'\"></teta-icon>\n </button>\n <span class='font-title-2' style='display: contents'>\n <ng-container *ngTemplateOutlet='head?.template'></ng-container>\n </span>\n </teta-toolbar>\n <ng-container *ngTemplateOutlet='content?.template'></ng-container>\n</ng-container>\n<ng-container *ngIf='!open'>\n <div class='width-10 overflow-hidden' style='height: 100%;'>\n <button\n teta-button\n style='\n transform-origin: 0 0;\n transform: rotate(-90deg) translateX(-100%);\n margin: 6px;\n '\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)='openPanel()'\n >\n <div class='font-button-2 nowrap'>{{ placeholder }}</div>\n <teta-icon style='transform-origin: 0 0;transform: rotate(-90deg) translateX(-100%);'\n [palette]=\"'text'\" [name]=\"direction === 'right' ? 'start' : 'end'\"></teta-icon>\n </button>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0;min-height:0;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ToolbarComponent, selector: "teta-toolbar", inputs: ["palette", "class"] }, { kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3861
3857
|
}
|
|
3862
3858
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ExpandPanelComponent, decorators: [{
|
|
3863
3859
|
type: Component,
|
|
3864
|
-
args: [{ selector: 'teta-expand-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf
|
|
3860
|
+
args: [{ selector: 'teta-expand-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf='open'>\n <teta-toolbar\n style='display: flex'\n [style.justifyContent]=\"direction === 'right' ? 'space-between' : 'unset'\"\n [style.flexDirection]=\"direction === 'right' ? 'row-reverse' : 'row'\">\n <button\n teta-button\n [square]='true'\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)='closePanel()'\n >\n <teta-icon [palette]=\"'text'\" [name]=\"direction === 'right' ? 'start' : 'end'\"></teta-icon>\n </button>\n <span class='font-title-2' style='display: contents'>\n <ng-container *ngTemplateOutlet='head?.template'></ng-container>\n </span>\n </teta-toolbar>\n <ng-container *ngTemplateOutlet='content?.template'></ng-container>\n</ng-container>\n<ng-container *ngIf='!open'>\n <div class='width-10 overflow-hidden' style='height: 100%;'>\n <button\n teta-button\n style='\n transform-origin: 0 0;\n transform: rotate(-90deg) translateX(-100%);\n margin: 6px;\n '\n [palette]=\"'text'\"\n [view]=\"'ghost'\"\n (click)='openPanel()'\n >\n <div class='font-button-2 nowrap'>{{ placeholder }}</div>\n <teta-icon style='transform-origin: 0 0;transform: rotate(-90deg) translateX(-100%);'\n [palette]=\"'text'\" [name]=\"direction === 'right' ? 'start' : 'end'\"></teta-icon>\n </button>\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;min-width:0;min-height:0;height:100%}\n"] }]
|
|
3865
3861
|
}], ctorParameters: function () { return []; }, propDecorators: { content: [{
|
|
3866
3862
|
type: ContentChild,
|
|
3867
3863
|
args: [ExpandPanelContentDirective, { static: false }]
|
|
@@ -12113,11 +12109,11 @@ class Chart3dService {
|
|
|
12113
12109
|
}
|
|
12114
12110
|
getMinMaxRange(minMax, axisMin, axisMax) {
|
|
12115
12111
|
const min = axisMin ||
|
|
12116
|
-
(minMax[0]
|
|
12112
|
+
(Math.abs(minMax[0] - minMax[1]) < 0.0000001
|
|
12117
12113
|
? minMax[0] - Math.abs(minMax[0] - 1) * 0.1
|
|
12118
12114
|
: minMax[0]);
|
|
12119
12115
|
const max = axisMax ||
|
|
12120
|
-
(minMax[0]
|
|
12116
|
+
(Math.abs(minMax[0] - minMax[1]) < 0.0000001
|
|
12121
12117
|
? minMax[1] + Math.abs(minMax[1] + 1) * 0.1
|
|
12122
12118
|
: minMax[1]);
|
|
12123
12119
|
return [min, max];
|
|
@@ -12278,11 +12274,11 @@ class Axes3dComponent {
|
|
|
12278
12274
|
this._alive = false;
|
|
12279
12275
|
}
|
|
12280
12276
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Axes3dComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12281
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Axes3dComponent, isStandalone: true, selector: "teta-axes-3d", inputs: { rotation: "rotation" }, ngImport: i0, template: "<ng-container *ngIf
|
|
12277
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Axes3dComponent, isStandalone: true, selector: "teta-axes-3d", inputs: { rotation: "rotation" }, ngImport: i0, template: "<ng-container *ngIf='{axes:axes|async}as data'>\n <ngts-text *ngFor='let tick of data.axes?.x;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[tick.position, -50, 50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.y;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[0,tick.position,50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.z;let i=index; trackBy: trackBy' [text]='tick.value'\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[25,-50,tick.position]'\n ></ngts-text>\n</ng-container>\n", dependencies: [{ 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: NgtsText, selector: "ngts-text[text]", inputs: ["textRef", "text", "characters", "font", "anchorX", "anchorY"], outputs: ["sync"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12282
12278
|
}
|
|
12283
12279
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Axes3dComponent, decorators: [{
|
|
12284
12280
|
type: Component,
|
|
12285
|
-
args: [{ selector: 'teta-axes-3d', standalone: true, imports: [CommonModule, NgtsText], schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf
|
|
12281
|
+
args: [{ selector: 'teta-axes-3d', standalone: true, imports: [CommonModule, NgtsText], schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf='{axes:axes|async}as data'>\n <ngts-text *ngFor='let tick of data.axes?.x;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[tick.position, -50, 50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.y;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[0,tick.position,50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.z;let i=index; trackBy: trackBy' [text]='tick.value'\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[25,-50,tick.position]'\n ></ngts-text>\n</ng-container>\n" }]
|
|
12286
12282
|
}], ctorParameters: function () { return []; }, propDecorators: { rotation: [{
|
|
12287
12283
|
type: Input
|
|
12288
12284
|
}] } });
|
|
@@ -12452,7 +12448,7 @@ class SceneComponent {
|
|
|
12452
12448
|
this.rotation = this.store.get('camera').rotation;
|
|
12453
12449
|
}
|
|
12454
12450
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SceneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12455
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SceneComponent, isStandalone: true, selector: "teta-scene", ngImport: i0, template: "<ng-container *ngIf
|
|
12451
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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 });
|
|
12456
12452
|
}
|
|
12457
12453
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SceneComponent, decorators: [{
|
|
12458
12454
|
type: Component,
|
|
@@ -12464,7 +12460,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
12464
12460
|
Axes3dComponent,
|
|
12465
12461
|
Block3dComponent,
|
|
12466
12462
|
Series3dHost,
|
|
12467
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf
|
|
12463
|
+
], 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" }]
|
|
12468
12464
|
}], ctorParameters: function () { return []; } });
|
|
12469
12465
|
|
|
12470
12466
|
class CanvasComponent {
|
|
@@ -12556,7 +12552,13 @@ class ThreeChartComponent {
|
|
|
12556
12552
|
}
|
|
12557
12553
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThreeChartComponent, decorators: [{
|
|
12558
12554
|
type: Component,
|
|
12559
|
-
args: [{ selector: 'teta-three-chart', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgtStore], imports: [
|
|
12555
|
+
args: [{ selector: 'teta-three-chart', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgtStore], imports: [
|
|
12556
|
+
NgtCanvas,
|
|
12557
|
+
SceneComponent,
|
|
12558
|
+
CommonModule,
|
|
12559
|
+
CanvasComponent,
|
|
12560
|
+
Canvas3dHost,
|
|
12561
|
+
], 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"] }]
|
|
12560
12562
|
}], propDecorators: { data: [{
|
|
12561
12563
|
type: Input
|
|
12562
12564
|
}] } });
|
|
@@ -12593,7 +12595,7 @@ class Chart3dComponent {
|
|
|
12593
12595
|
}
|
|
12594
12596
|
ngOnInit() {
|
|
12595
12597
|
this._themeService.theme
|
|
12596
|
-
.pipe(takeWhile(
|
|
12598
|
+
.pipe(takeWhile(_ => this._alive), tap$1(_ => {
|
|
12597
12599
|
this.gridColor = _ ? '#5d6a73' : '#bdbdc6';
|
|
12598
12600
|
this.axesColor = _ ? '#8e8f9d' : '#7d8f9a';
|
|
12599
12601
|
this.init();
|
|
@@ -12622,7 +12624,7 @@ class Chart3dComponent {
|
|
|
12622
12624
|
if (!data.points?.length) {
|
|
12623
12625
|
return;
|
|
12624
12626
|
}
|
|
12625
|
-
const points = data.points.map(
|
|
12627
|
+
const points = data.points.map(_ => new THREE.Vector3(x(_.x), y(_.y), z(_.z)));
|
|
12626
12628
|
const color = d3.scaleOrdinal(d3.schemeTableau10);
|
|
12627
12629
|
const material = new THREE.LineBasicMaterial({
|
|
12628
12630
|
color: data?.color ?? color(idx.toString()),
|
|
@@ -12641,13 +12643,15 @@ class Chart3dComponent {
|
|
|
12641
12643
|
const geometryLines = new THREE.BufferGeometry().setFromPoints(pointsLines);
|
|
12642
12644
|
const line = new THREE.Line(geometryLines, material);
|
|
12643
12645
|
this._scene.add(line);
|
|
12644
|
-
circles.forEach(
|
|
12646
|
+
circles.forEach(r => {
|
|
12645
12647
|
const material = new THREE.LineDashedMaterial({
|
|
12646
12648
|
color: this.gridColor,
|
|
12647
12649
|
dashSize: 1,
|
|
12648
|
-
gapSize: 3
|
|
12650
|
+
gapSize: 3,
|
|
12649
12651
|
});
|
|
12650
|
-
const circleGeometry = new THREE.BufferGeometry().setFromPoints(new THREE.Path()
|
|
12652
|
+
const circleGeometry = new THREE.BufferGeometry().setFromPoints(new THREE.Path()
|
|
12653
|
+
.absarc(0, 0, x(r), 0, Math.PI * 2, false)
|
|
12654
|
+
.getSpacedPoints(100));
|
|
12651
12655
|
const circle = new THREE.LineSegments(circleGeometry, material);
|
|
12652
12656
|
circle.geometry.rotateX(-Math.PI / 2);
|
|
12653
12657
|
this._scene.add(circle);
|
|
@@ -12699,7 +12703,7 @@ class Chart3dComponent {
|
|
|
12699
12703
|
animate();
|
|
12700
12704
|
}
|
|
12701
12705
|
addResizeObserver() {
|
|
12702
|
-
this._obs = new ResizeObserver(
|
|
12706
|
+
this._obs = new ResizeObserver(_ => {
|
|
12703
12707
|
this.setSize(_[0]?.contentRect.width, _[0]?.contentRect.height);
|
|
12704
12708
|
});
|
|
12705
12709
|
this._obs.observe(this._elementRef.nativeElement);
|
|
@@ -12765,7 +12769,7 @@ class Chart3dComponent {
|
|
|
12765
12769
|
this._scene.add(ticks);
|
|
12766
12770
|
}
|
|
12767
12771
|
getScales(series) {
|
|
12768
|
-
const extrems = series.map(
|
|
12772
|
+
const extrems = series.map(_ => ({
|
|
12769
12773
|
x: d3.extent(_.points, (p) => p.x),
|
|
12770
12774
|
y: d3.extent(_.points, (p) => p.y),
|
|
12771
12775
|
z: d3.extent(_.points, (p) => p.z),
|
|
@@ -12778,22 +12782,28 @@ class Chart3dComponent {
|
|
|
12778
12782
|
}, { x: [], y: [], z: [] });
|
|
12779
12783
|
const x = d3
|
|
12780
12784
|
.scaleLinear()
|
|
12781
|
-
.domain([
|
|
12785
|
+
.domain([
|
|
12786
|
+
0,
|
|
12787
|
+
this._config?.axes?.max == null
|
|
12782
12788
|
? parseInt(d3.max(flattenExtrems.x))
|
|
12783
12789
|
: this._config.axes.max,
|
|
12784
12790
|
])
|
|
12785
|
-
.range([0, this.SIDE_SIZE])
|
|
12791
|
+
.range([0, this.SIDE_SIZE])
|
|
12792
|
+
.nice();
|
|
12786
12793
|
const y = d3
|
|
12787
12794
|
.scaleLinear()
|
|
12788
12795
|
.domain([0, parseInt(d3.max(flattenExtrems.y), 10)])
|
|
12789
12796
|
.range([this.SIDE_SIZE, 0]);
|
|
12790
12797
|
const z = d3
|
|
12791
12798
|
.scaleLinear()
|
|
12792
|
-
.domain([
|
|
12799
|
+
.domain([
|
|
12800
|
+
0,
|
|
12793
12801
|
this._config?.axes?.max == null
|
|
12794
12802
|
? parseInt(d3.max(flattenExtrems.z))
|
|
12795
|
-
: this._config.axes.max
|
|
12796
|
-
|
|
12803
|
+
: this._config.axes.max,
|
|
12804
|
+
])
|
|
12805
|
+
.range([0, this.SIDE_SIZE])
|
|
12806
|
+
.nice();
|
|
12797
12807
|
return { x, y, z };
|
|
12798
12808
|
}
|
|
12799
12809
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Chart3dComponent, deps: [{ token: i0.ElementRef }, { token: ThemeSwitchService }], target: i0.ɵɵFactoryTarget.Component });
|