@tetacom/ng-components 1.1.12 → 1.1.14
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/three/public-api.d.ts +1 -1
- package/component/three/three-chart/{lithotype-3d/lithotype-3d.component.d.ts → block-3d/block-3d.component.d.ts} +8 -9
- package/component/three/three-chart/model/block3d-point.d.ts +5 -0
- package/component/three/three-chart/model/enum/series-3d-type.d.ts +1 -1
- package/component/three/three-chart/model/lithotype-3d-series.d.ts +3 -3
- package/component/three/three-chart/model/public-api.d.ts +2 -2
- package/component/three/three-chart/scene/scene.component.d.ts +2 -2
- package/esm2022/component/input/text-field/text-field.component.mjs +5 -7
- package/esm2022/component/three/public-api.mjs +2 -2
- package/esm2022/component/three/three-chart/block-3d/block-3d.component.mjs +78 -0
- package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +7 -6
- package/esm2022/component/three/three-chart/model/block3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +2 -2
- package/esm2022/component/three/three-chart/model/lithotype-3d-series.mjs +1 -1
- package/esm2022/component/three/three-chart/model/public-api.mjs +3 -3
- package/esm2022/component/three/three-chart/scene/scene.component.mjs +7 -7
- package/fesm2022/tetacom-ng-components.mjs +30 -33
- package/fesm2022/tetacom-ng-components.mjs.map +1 -1
- package/package.json +1 -1
- package/component/three/three-chart/model/lithotype-3d-point.d.ts +0 -5
- package/esm2022/component/three/three-chart/lithotype-3d/lithotype-3d.component.mjs +0 -80
- package/esm2022/component/three/three-chart/model/lithotype-3d-point.mjs +0 -2
|
@@ -2,9 +2,9 @@ export * from './custom-series/custom-series.component';
|
|
|
2
2
|
export * from './three-chart/area-3d/area-3d.component';
|
|
3
3
|
export * from './three-chart/axes-3d/axes-3d.component';
|
|
4
4
|
export * from './three-chart/base-3d-series/base3d-series.component';
|
|
5
|
+
export * from './three-chart/block-3d/block-3d.component';
|
|
5
6
|
export * from './three-chart/directive/public-api';
|
|
6
7
|
export * from './three-chart/line-3d/line-3d.component';
|
|
7
|
-
export * from './three-chart/lithotype-3d/lithotype-3d.component';
|
|
8
8
|
export * from './three-chart/model/public-api';
|
|
9
9
|
export * from './three-chart/scene/scene.component';
|
|
10
10
|
export * from './three-chart/three-chart.component';
|
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
2
|
import { NgtStore } from 'angular-three';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
3
4
|
import * as THREE from 'three';
|
|
4
5
|
import { Texture } from 'three';
|
|
5
|
-
import { Chart3dService } from '../service/chart-3d.service';
|
|
6
|
-
import { Observable } from 'rxjs';
|
|
7
6
|
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
8
|
-
import {
|
|
7
|
+
import { Block3dPoint } from '../model/block3d-point';
|
|
8
|
+
import { Chart3dService } from '../service/chart-3d.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
|
-
export declare class
|
|
10
|
+
export declare class Block3dComponent<T extends Block3dPoint> extends Base3dSeriesComponent<T> implements OnDestroy {
|
|
11
11
|
svc: Chart3dService;
|
|
12
12
|
ngtStore: NgtStore;
|
|
13
|
-
|
|
13
|
+
blocks: Observable<{
|
|
14
14
|
component: THREE.Mesh<THREE.PlaneGeometry, THREE.MeshBasicMaterial>;
|
|
15
15
|
position: number;
|
|
16
16
|
}[][]>;
|
|
17
17
|
private _alive;
|
|
18
18
|
protected readonly Math: Math;
|
|
19
19
|
constructor(svc: Chart3dService, ngtStore: NgtStore);
|
|
20
|
-
|
|
21
|
-
createSVGTexture(y: number, y1: number, litotypeId: number): {
|
|
20
|
+
createSVGTexture(y: number, y1: number, iconId: number): {
|
|
22
21
|
component: THREE.Mesh<THREE.PlaneGeometry, THREE.MeshBasicMaterial>;
|
|
23
22
|
position: number;
|
|
24
23
|
}[];
|
|
25
24
|
createTexturedPlane(texture: Texture, width: number, height: number): THREE.Mesh<THREE.PlaneGeometry, THREE.MeshBasicMaterial>;
|
|
26
25
|
ngOnDestroy(): void;
|
|
27
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
28
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Block3dComponent<any>, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Block3dComponent<any>, "teta-block-3d", never, {}, {}, never, never, true, never>;
|
|
29
28
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Base3dSeries } from './base-3d-series';
|
|
2
|
+
import { Block3dPoint } from './block3d-point';
|
|
2
3
|
import { Series3dType } from './enum/series-3d-type';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
type: Series3dType.lithotype;
|
|
4
|
+
export interface Block3dSeries extends Base3dSeries<Block3dPoint> {
|
|
5
|
+
type: Series3dType.block;
|
|
6
6
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export * from './axes-3d-min-max';
|
|
2
2
|
export * from './axis-3d-point';
|
|
3
|
-
export * from './base-3d-three-point';
|
|
4
3
|
export * from './base-3d-series';
|
|
4
|
+
export * from './base-3d-three-point';
|
|
5
|
+
export * from './block3d-point';
|
|
5
6
|
export * from './enum/public-api';
|
|
6
7
|
export * from './i-3d-chart-config';
|
|
7
8
|
export * from './line-3d-point';
|
|
8
9
|
export * from './line-3d-series';
|
|
9
|
-
export * from './lithotype-3d-point';
|
|
10
10
|
export * from './lithotype-3d-series';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ChangeDetectorRef, OnInit } from '@angular/core';
|
|
2
|
-
import { Euler } from 'three';
|
|
3
2
|
import { NgtStore } from 'angular-three';
|
|
4
3
|
import { Observable } from 'rxjs';
|
|
5
|
-
import {
|
|
4
|
+
import { Euler } from 'three';
|
|
6
5
|
import { I3dChartConfig } from '../model/i-3d-chart-config';
|
|
6
|
+
import { Chart3dService } from '../service/chart-3d.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class SceneComponent implements OnInit {
|
|
9
9
|
data: Observable<I3dChartConfig>;
|
|
@@ -49,10 +49,8 @@ export class TextFieldComponent {
|
|
|
49
49
|
this.value = input;
|
|
50
50
|
this._cdr.detectChanges();
|
|
51
51
|
}
|
|
52
|
-
onChange(input) {
|
|
53
|
-
}
|
|
54
|
-
onTouched() {
|
|
55
|
-
}
|
|
52
|
+
onChange(input) { }
|
|
53
|
+
onTouched() { }
|
|
56
54
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TextFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
55
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: TextFieldComponent, selector: "teta-text-field", inputs: { placeholder: "placeholder", leftIconName: "leftIconName", disabled: "disabled", onlyNumber: "onlyNumber", decimalPart: "decimalPart", invalid: "invalid" }, host: { listeners: { "click": "onFocus()" }, properties: { "class.text-field_disabled": "this.disabled", "class.text-field_invalid": "this.invalid", "class.text-field": "this.textField" } }, providers: [
|
|
58
56
|
{
|
|
@@ -60,7 +58,7 @@ export class TextFieldComponent {
|
|
|
60
58
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
61
59
|
multi: true,
|
|
62
60
|
},
|
|
63
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf
|
|
61
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<teta-icon *ngIf='leftIconName' [name]='leftIconName' [palette]=\"'text'\"></teta-icon>\n<input\n #input\n [ngModel]='value | tetaNumber : !onlyNumber ? null : inputFocused ? 1000 : decimalPart'\n [tetaOnlyNumber]='onlyNumber'\n (ngModelChange)='value = $event; onChange($event);'\n [placeholder]='placeholder'\n [disabled]='disabled'\n [ngClass]=\"{'color-text-40':disabled}\"\n (focus)='inputFocused = true'\n (blur)='inputFocused = false;emitBlur()'\n (keydown)='keyPress($event)'\n type='text'\n/>\n<teta-icon\n *ngIf='value && !disabled'\n class='close-icon'\n [name]=\"'closeCircle'\"\n [palette]=\"'text'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.OnlyNumberDirective, selector: "[tetaOnlyNumber]", inputs: ["tetaOnlyNumber", "allowDecimals", "allowSign", "decimalSeparator", "commaSeparator"] }, { kind: "pipe", type: i5.NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
64
62
|
}
|
|
65
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
66
64
|
type: Component,
|
|
@@ -70,7 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
70
68
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
71
69
|
multi: true,
|
|
72
70
|
},
|
|
73
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon *ngIf
|
|
71
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-icon *ngIf='leftIconName' [name]='leftIconName' [palette]=\"'text'\"></teta-icon>\n<input\n #input\n [ngModel]='value | tetaNumber : !onlyNumber ? null : inputFocused ? 1000 : decimalPart'\n [tetaOnlyNumber]='onlyNumber'\n (ngModelChange)='value = $event; onChange($event);'\n [placeholder]='placeholder'\n [disabled]='disabled'\n [ngClass]=\"{'color-text-40':disabled}\"\n (focus)='inputFocused = true'\n (blur)='inputFocused = false;emitBlur()'\n (keydown)='keyPress($event)'\n type='text'\n/>\n<teta-icon\n *ngIf='value && !disabled'\n class='close-icon'\n [name]=\"'closeCircle'\"\n [palette]=\"'text'\"\n (click)=\"value = ''; onChange('');\"\n></teta-icon>\n" }]
|
|
74
72
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { placeholder: [{
|
|
75
73
|
type: Input
|
|
76
74
|
}], leftIconName: [{
|
|
@@ -99,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
99
97
|
type: HostListener,
|
|
100
98
|
args: ['click']
|
|
101
99
|
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2lucHV0L3RleHQtZmllbGQvdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2lucHV0L3RleHQtZmllbGQvdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWV6RSxNQUFNLE9BQU8sa0JBQWtCO0lBaUJUO0lBaEJYLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDakIsWUFBWSxDQUFVO0lBRy9CLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDUixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLFdBQVcsQ0FBUztJQUc3QixPQUFPLENBQVU7SUFDc0IsS0FBSyxDQUFhO0lBQ3pELFlBQVksQ0FBVTtJQUVMLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDbEMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVYLFlBQW9CLElBQXVCO1FBQXZCLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQUcsQ0FBQztJQUV4QixPQUFPO1FBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQW9CO1FBQzNCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhLElBQVMsQ0FBQztJQUVoQyxTQUFTLEtBQVUsQ0FBQzt1R0F4RFQsa0JBQWtCOzJGQUFsQixrQkFBa0IsK1lBVGxCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBIQ3ZCSCxnckJBcUJBOzsyRkRLYSxrQkFBa0I7a0JBYjlCLFNBQVM7K0JBQ0UsaUJBQWlCLGFBR2hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTt3R0FHdEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdOLFFBQVE7c0JBRlAsV0FBVzt1QkFBQywyQkFBMkI7O3NCQUN2QyxLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHTixPQUFPO3NCQUZOLFdBQVc7dUJBQUMsMEJBQTBCOztzQkFDdEMsS0FBSztnQkFFaUMsS0FBSztzQkFBM0MsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUdwQixTQUFTO3NCQUR6QixXQUFXO3VCQUFDLGtCQUFrQjtnQkFNUixPQUFPO3NCQUE3QixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtdGV4dC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRleHRGaWVsZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBsZWZ0SWNvbk5hbWU/OiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dC1maWVsZF9kaXNhYmxlZCcpXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIG9ubHlOdW1iZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgZGVjaW1hbFBhcnQ6IG51bWJlcjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0LWZpZWxkX2ludmFsaWQnKVxuICBASW5wdXQoKVxuICBpbnZhbGlkOiBib29sZWFuO1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBpbnB1dDogRWxlbWVudFJlZjtcbiAgaW5wdXRGb2N1c2VkOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRleHQtZmllbGQnKVxuICBwcml2YXRlIHJlYWRvbmx5IHRleHRGaWVsZCA9IHRydWU7XG4gIHZhbHVlID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIG9uRm9jdXMoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBrZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5Q29kZSA9PT0gMTMpIHtcbiAgICAgIHRoaXMuZW1pdEJsdXIoKTtcbiAgICB9XG4gIH1cblxuICBlbWl0Qmx1cigpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShpbnB1dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IGlucHV0O1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvbkNoYW5nZShpbnB1dDogc3RyaW5nKTogdm9pZCB7fVxuXG4gIG9uVG91Y2hlZCgpOiB2b2lkIHt9XG59XG4iLCI8dGV0YS1pY29uICpuZ0lmPSdsZWZ0SWNvbk5hbWUnIFtuYW1lXT0nbGVmdEljb25OYW1lJyBbcGFsZXR0ZV09XCIndGV4dCdcIj48L3RldGEtaWNvbj5cbjxpbnB1dFxuICAjaW5wdXRcbiAgW25nTW9kZWxdPSd2YWx1ZSB8IHRldGFOdW1iZXIgOiAhb25seU51bWJlciA/IG51bGwgOiBpbnB1dEZvY3VzZWQgPyAxMDAwIDogZGVjaW1hbFBhcnQnXG4gIFt0ZXRhT25seU51bWJlcl09J29ubHlOdW1iZXInXG4gIChuZ01vZGVsQ2hhbmdlKT0ndmFsdWUgPSAkZXZlbnQ7IG9uQ2hhbmdlKCRldmVudCk7J1xuICBbcGxhY2Vob2xkZXJdPSdwbGFjZWhvbGRlcidcbiAgW2Rpc2FibGVkXT0nZGlzYWJsZWQnXG4gIFtuZ0NsYXNzXT1cInsnY29sb3ItdGV4dC00MCc6ZGlzYWJsZWR9XCJcbiAgKGZvY3VzKT0naW5wdXRGb2N1c2VkID0gdHJ1ZSdcbiAgKGJsdXIpPSdpbnB1dEZvY3VzZWQgPSBmYWxzZTtlbWl0Qmx1cigpJ1xuICAoa2V5ZG93bik9J2tleVByZXNzKCRldmVudCknXG4gIHR5cGU9J3RleHQnXG4vPlxuPHRldGEtaWNvblxuICAqbmdJZj0ndmFsdWUgJiYgIWRpc2FibGVkJ1xuICBjbGFzcz0nY2xvc2UtaWNvbidcbiAgW25hbWVdPVwiJ2Nsb3NlQ2lyY2xlJ1wiXG4gIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gIChjbGljayk9XCJ2YWx1ZSA9ICcnOyBvbkNoYW5nZSgnJyk7XCJcbj48L3RldGEtaWNvbj5cbiJdfQ==
|
|
@@ -2,10 +2,10 @@ export * from './custom-series/custom-series.component';
|
|
|
2
2
|
export * from './three-chart/area-3d/area-3d.component';
|
|
3
3
|
export * from './three-chart/axes-3d/axes-3d.component';
|
|
4
4
|
export * from './three-chart/base-3d-series/base3d-series.component';
|
|
5
|
+
export * from './three-chart/block-3d/block-3d.component';
|
|
5
6
|
export * from './three-chart/directive/public-api';
|
|
6
7
|
export * from './three-chart/line-3d/line-3d.component';
|
|
7
|
-
export * from './three-chart/lithotype-3d/lithotype-3d.component';
|
|
8
8
|
export * from './three-chart/model/public-api';
|
|
9
9
|
export * from './three-chart/scene/scene.component';
|
|
10
10
|
export * from './three-chart/three-chart.component';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tc2VyaWVzL2N1c3RvbS1zZXJpZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvYXJlYS0zZC9hcmVhLTNkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aHJlZS1jaGFydC9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2Jsb2NrLTNkL2Jsb2NrLTNkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L2RpcmVjdGl2ZS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdGhyZWUtY2hhcnQvbGluZS0zZC9saW5lLTNkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RocmVlLWNoYXJ0L21vZGVsL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90aHJlZS1jaGFydC9zY2VuZS9zY2VuZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aHJlZS1jaGFydC90aHJlZS1jaGFydC5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core';
|
|
3
|
+
import { extend, NgtArgs } from 'angular-three';
|
|
4
|
+
import { NgtsText } from 'angular-three-soba/abstractions';
|
|
5
|
+
import { map, takeWhile } from 'rxjs';
|
|
6
|
+
import * as THREE from 'three';
|
|
7
|
+
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../service/chart-3d.service";
|
|
10
|
+
import * as i2 from "angular-three";
|
|
11
|
+
import * as i3 from "@angular/common";
|
|
12
|
+
extend(THREE);
|
|
13
|
+
export class Block3dComponent extends Base3dSeriesComponent {
|
|
14
|
+
svc;
|
|
15
|
+
ngtStore;
|
|
16
|
+
blocks;
|
|
17
|
+
_alive = true;
|
|
18
|
+
Math = Math;
|
|
19
|
+
constructor(svc, ngtStore) {
|
|
20
|
+
super(svc, ngtStore);
|
|
21
|
+
this.svc = svc;
|
|
22
|
+
this.ngtStore = ngtStore;
|
|
23
|
+
this.blocks = this.svc.scales.pipe(takeWhile(() => this._alive), map(scales => {
|
|
24
|
+
return this.series?.data.map(_ => {
|
|
25
|
+
return this.createSVGTexture(scales.y(_.y), scales.y(_.y1), _.iconId);
|
|
26
|
+
});
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
// ngOnInit(): void {}
|
|
30
|
+
createSVGTexture(y, y1, iconId) {
|
|
31
|
+
const max = Math.max(y, y1);
|
|
32
|
+
const min = Math.min(y, y1);
|
|
33
|
+
const height = Math.abs(max - min);
|
|
34
|
+
const icon = document.querySelector(`#${iconId}`);
|
|
35
|
+
const svgString = `<svg width='100' height='100' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'>${icon.innerHTML}</svg>`;
|
|
36
|
+
const loader = new THREE.TextureLoader();
|
|
37
|
+
const texture = loader.load(`data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgString)}`);
|
|
38
|
+
const plane = this.createTexturedPlane(texture, 100, height);
|
|
39
|
+
const plane1 = this.createTexturedPlane(texture, 25, height);
|
|
40
|
+
plane.rotation.set(0, Math.PI / 2, 0);
|
|
41
|
+
plane.position.set(0.17, min + height / 2, 0);
|
|
42
|
+
plane1.position.set(25 / 2, min + height / 2, -50 + 0.17);
|
|
43
|
+
return [
|
|
44
|
+
{ component: plane, position: min + height / 2 },
|
|
45
|
+
{ component: plane1, position: min + height / 2 },
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
createTexturedPlane(texture, width, height) {
|
|
49
|
+
texture.wrapS = THREE.RepeatWrapping;
|
|
50
|
+
texture.wrapT = THREE.RepeatWrapping;
|
|
51
|
+
texture.repeat.set(10, 9);
|
|
52
|
+
const material = new THREE.MeshBasicMaterial({ map: texture });
|
|
53
|
+
const geometry = new THREE.PlaneGeometry(width, height, 1, 1);
|
|
54
|
+
const uvs = geometry.attributes['uv'].array;
|
|
55
|
+
const newUvs = new Float32Array(uvs);
|
|
56
|
+
newUvs[0] = 0;
|
|
57
|
+
newUvs[1] = 0;
|
|
58
|
+
newUvs[2] = width / 100;
|
|
59
|
+
newUvs[3] = 0;
|
|
60
|
+
newUvs[4] = 0;
|
|
61
|
+
newUvs[5] = height / 100;
|
|
62
|
+
newUvs[6] = width / 100;
|
|
63
|
+
newUvs[7] = height / 100;
|
|
64
|
+
geometry.attributes['uv'].needsUpdate = true;
|
|
65
|
+
geometry.setAttribute('uv', new THREE.BufferAttribute(newUvs, 2));
|
|
66
|
+
return new THREE.Mesh(geometry, material);
|
|
67
|
+
}
|
|
68
|
+
ngOnDestroy() {
|
|
69
|
+
this._alive = false;
|
|
70
|
+
}
|
|
71
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Block3dComponent, deps: [{ token: i1.Chart3dService }, { token: i2.NgtStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Block3dComponent, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{ selector: 'teta-block-3d', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, NgtArgs, NgtsText], 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" }]
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i1.Chart3dService }, { type: i2.NgtStore }]; } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stM2QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9ibG9jay0zZC9ibG9jay0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2Jsb2NrLTNkL2Jsb2NrLTNkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsR0FFdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7OztBQUlsRixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFVZCxNQUFNLE9BQU8sZ0JBQ1gsU0FBUSxxQkFBd0I7SUFhckI7SUFDQTtJQVhKLE1BQU0sQ0FLWDtJQUNNLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDSCxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRS9CLFlBQ1csR0FBbUIsRUFDbkIsUUFBa0I7UUFFM0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUhaLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFHM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMs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VEFBRSxPQUFPLHFFQUFFLFFBQVE7OzJGQUc5QixnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsZUFBZSxjQUViLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLFdBQ2pDLENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgTmd0QXJncywgTmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNUZXh0IH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2Fic3RyYWN0aW9ucyc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgVGV4dHVyZSB9IGZyb20gJ3RocmVlJztcblxuaW1wb3J0IHsgQmFzZTNkU2VyaWVzQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS0zZC1zZXJpZXMvYmFzZTNkLXNlcmllcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmxvY2szZFBvaW50IH0gZnJvbSAnLi4vbW9kZWwvYmxvY2szZC1wb2ludCc7XG5pbXBvcnQgeyBDaGFydDNkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5cbmV4dGVuZChUSFJFRSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtYmxvY2stM2QnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmxvY2stM2QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmd0QXJncywgTmd0c1RleHRdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIEJsb2NrM2RDb21wb25lbnQ8VCBleHRlbmRzIEJsb2NrM2RQb2ludD5cbiAgZXh0ZW5kcyBCYXNlM2RTZXJpZXNDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGJsb2NrczogT2JzZXJ2YWJsZTxcbiAgICB7XG4gICAgICBjb21wb25lbnQ6IFRIUkVFLk1lc2g8VEhSRUUuUGxhbmVHZW9tZXRyeSwgVEhSRUUuTWVzaEJhc2ljTWF0ZXJpYWw+O1xuICAgICAgcG9zaXRpb246IG51bWJlcjtcbiAgICB9W11bXVxuICA+O1xuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG4gIHByb3RlY3RlZCByZWFkb25seSBNYXRoID0gTWF0aDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvdmVycmlkZSBzdmM6IENoYXJ0M2RTZXJ2aWNlLFxuICAgIG92ZXJyaWRlIG5ndFN0b3JlOiBOZ3RTdG9yZVxuICApIHtcbiAgICBzdXBlcihzdmMsIG5ndFN0b3JlKTtcbiAgICB0aGlzLmJsb2NrcyA9IHRoaXMuc3ZjLnNjYWxlcy5waXBlKFxuICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgIG1hcChzY2FsZXMgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJpZXM/LmRhdGEubWFwKF8gPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVNWR1RleHR1cmUoc2NhbGVzLnkoXy55KSwgc2NhbGVzLnkoXy55MSksIF8uaWNvbklkKTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvLyBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgY3JlYXRlU1ZHVGV4dHVyZSh5OiBudW1iZXIsIHkxOiBudW1iZXIsIGljb25JZDogbnVtYmVyKSB7XG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXgoeSwgeTEpO1xuICAgIGNvbnN0IG1pbiA9IE1hdGgubWluKHksIHkxKTtcbiAgICBjb25zdCBoZWlnaHQgPSBNYXRoLmFicyhtYXggLSBtaW4pO1xuICAgIGNvbnN0IGljb24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHtpY29uSWR9YCk7XG4gICAgY29uc3Qgc3ZnU3RyaW5nID0gYDxzdmcgd2lkdGg9JzEwMCcgaGVpZ2h0PScxMDAnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nbm9uZScgIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+JHtpY29uLmlubmVySFRNTH08L3N2Zz5gO1xuXG4gICAgY29uc3QgbG9hZGVyID0gbmV3IFRIUkVFLlRleHR1cmVMb2FkZXIoKTtcbiAgICBjb25zdCB0ZXh0dXJlID0gbG9hZGVyLmxvYWQoXG4gICAgICBgZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJHtlbmNvZGVVUklDb21wb25lbnQoc3ZnU3RyaW5nKX1gXG4gICAgKTtcbiAgICBjb25zdCBwbGFuZSA9IHRoaXMuY3JlYXRlVGV4dHVyZWRQbGFuZSh0ZXh0dXJlLCAxMDAsIGhlaWdodCk7XG4gICAgY29uc3QgcGxhbmUxID0gdGhpcy5jcmVhdGVUZXh0dXJlZFBsYW5lKHRleHR1cmUsIDI1LCBoZWlnaHQpO1xuICAgIHBsYW5lLnJvdGF0aW9uLnNldCgwLCBNYXRoLlBJIC8gMiwgMCk7XG4gICAgcGxhbmUucG9zaXRpb24uc2V0KDAuMTcsIG1pbiArIGhlaWdodCAvIDIsIDApO1xuICAgIHBsYW5lMS5wb3NpdGlvbi5zZXQoMjUgLyAyLCBtaW4gKyBoZWlnaHQgLyAyLCAtNTAgKyAwLjE3KTtcbiAgICByZXR1cm4gW1xuICAgICAgeyBjb21wb25lbnQ6IHBsYW5lLCBwb3NpdGlvbjogbWluICsgaGVpZ2h0IC8gMiB9LFxuICAgICAgeyBjb21wb25lbnQ6IHBsYW5lMSwgcG9zaXRpb246IG1pbiArIGhlaWdodCAvIDIgfSxcbiAgICBdO1xuICB9XG5cbiAgY3JlYXRlVGV4dHVyZWRQbGFuZSh0ZXh0dXJlOiBUZXh0dXJlLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuICAgIHRleHR1cmUud3JhcFMgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICB0ZXh0dXJlLndyYXBUID0gVEhSRUUuUmVwZWF0V3JhcHBpbmc7XG4gICAgdGV4dHVyZS5yZXBlYXQuc2V0KDEwLCA5KTtcbiAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7IG1hcDogdGV4dHVyZSB9KTtcbiAgICBjb25zdCBnZW9tZXRyeSA9IG5ldyBUSFJFRS5QbGFuZUdlb21ldHJ5KHdpZHRoLCBoZWlnaHQsIDEsIDEpO1xuICAgIGNvbnN0IHV2cyA9IGdlb21ldHJ5LmF0dHJpYnV0ZXNbJ3V2J10uYXJyYXk7XG4gICAgY29uc3QgbmV3VXZzID0gbmV3IEZsb2F0MzJBcnJheSh1dnMpO1xuICAgIG5ld1V2c1swXSA9IDA7XG4gICAgbmV3VXZzWzFdID0gMDtcbiAgICBuZXdVdnNbMl0gPSB3aWR0aCAvIDEwMDtcbiAgICBuZXdVdnNbM10gPSAwO1xuICAgIG5ld1V2c1s0XSA9IDA7XG4gICAgbmV3VXZzWzVdID0gaGVpZ2h0IC8gMTAwO1xuICAgIG5ld1V2c1s2XSA9IHdpZHRoIC8gMTAwO1xuICAgIG5ld1V2c1s3XSA9IGhlaWdodCAvIDEwMDtcbiAgICBnZW9tZXRyeS5hdHRyaWJ1dGVzWyd1diddLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICBnZW9tZXRyeS5zZXRBdHRyaWJ1dGUoJ3V2JywgbmV3IFRIUkVFLkJ1ZmZlckF0dHJpYnV0ZShuZXdVdnMsIDIpKTtcbiAgICByZXR1cm4gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9J3tcbiAgICBibG9ja3M6IGJsb2NrcyB8IGFzeW5jLFxuICAgIHNjYWxlczogc3ZjLnNjYWxlcyB8IGFzeW5jXG4gIH0gYXMgZGF0YSc+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPSdsZXQgbWVzaCBvZiBkYXRhLmJsb2NrczsgbGV0IGk9aW5kZXgnPlxuICAgIDxuZ3QtcHJpbWl0aXZlICphcmdzPSdbbWVzaFswXS5jb21wb25lbnRdJz48L25ndC1wcmltaXRpdmU+XG4gICAgPG5ndHMtdGV4dCBbdGV4dF09J3Nlcmllcy5kYXRhW2ldLm5hbWUnXG4gICAgICAgICAgICAgICBjb2xvcj0nYmxhY2snXG4gICAgICAgICAgICAgICBbZm9udFNpemVdPScyLjUnXG4gICAgICAgICAgICAgICBbcm90YXRpb25dPSdbMCxNYXRoLlBJLzIsMF0nXG4gICAgICAgICAgICAgICBbcG9zaXRpb25dPSdbMSxtZXNoWzBdLnBvc2l0aW9uLDVdJ1xuICAgICAgICAgICAgICAgW3RleHRBbGlnbl09XCInbGVmdCdcIlxuICAgICAgICAgICAgICAgW2FuY2hvclhdPVwiJ2NlbnRlcidcIlxuICAgICAgICAgICAgICAgW2FuY2hvclldPVwiJ21pZGRsZSdcIj48L25ndHMtdGV4dD5cbiAgICA8bmd0LXByaW1pdGl2ZSAqYXJncz0nW21lc2hbMV0uY29tcG9uZW50XSc+PC9uZ3QtcHJpbWl0aXZlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
|
|
2
2
|
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
3
|
-
import {
|
|
4
|
-
import { Lithotype3dComponent } from '../lithotype-3d/lithotype-3d.component';
|
|
3
|
+
import { Block3dComponent } from '../block-3d/block-3d.component';
|
|
5
4
|
import { Line3dComponent } from '../line-3d/line-3d.component';
|
|
5
|
+
import { Series3dType } from '../model/enum/series-3d-type';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class Series3dHost {
|
|
8
8
|
viewContainerRef;
|
|
9
9
|
series;
|
|
10
10
|
seriesMap = new Map()
|
|
11
11
|
.set(Series3dType.line, Line3dComponent)
|
|
12
|
-
.set(Series3dType.
|
|
12
|
+
.set(Series3dType.block, Block3dComponent);
|
|
13
13
|
_init = false;
|
|
14
14
|
_componentRef;
|
|
15
15
|
constructor(viewContainerRef) {
|
|
16
16
|
this.viewContainerRef = viewContainerRef;
|
|
17
17
|
}
|
|
18
18
|
ngOnInit() {
|
|
19
|
-
if (!
|
|
19
|
+
if (!Object.prototype.isPrototypeOf.call(Base3dSeriesComponent, this.series.component)) {
|
|
20
20
|
this.series.component = this.seriesMap.get(this.series.type);
|
|
21
21
|
}
|
|
22
22
|
this._componentRef = this.viewContainerRef.createComponent(this.series.component);
|
|
@@ -25,7 +25,8 @@ export class Series3dHost {
|
|
|
25
25
|
}
|
|
26
26
|
ngOnChanges(changes) {
|
|
27
27
|
if (this._init &&
|
|
28
|
-
(
|
|
28
|
+
(Object.prototype.hasOwnProperty.call(changes, 'series') ||
|
|
29
|
+
changes.hasOwnProperty('config'))) {
|
|
29
30
|
this._componentRef.instance.series = this.series;
|
|
30
31
|
this._componentRef.injector.get(ChangeDetectorRef).detectChanges();
|
|
31
32
|
}
|
|
@@ -44,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
44
45
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { series: [{
|
|
45
46
|
type: Input
|
|
46
47
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLTNkLWhvc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2RpcmVjdGl2ZS9zZXJpZXMtM2QtaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUcvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBUTVELE1BQU0sT0FBTyxZQUFZO0lBU0g7SUFSWCxNQUFNLENBQWtCO0lBRXpCLFNBQVMsR0FBb0QsSUFBSSxHQUFHLEVBQUU7U0FDM0UsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDckMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLGFBQWEsQ0FBb0I7SUFFekMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRTFELFFBQVE7UUFDTixJQUNFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNsQyxxQkFBcUIsRUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQ3RCLEVBQ0Q7WUFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlEO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FDdEIsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2pELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFDRSxJQUFJLENBQUMsS0FBSztZQUNWLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7Z0JBQ3RELE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDbkM7WUFDQSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUNwRTtJQUNILENBQUM7dUdBcENVLFlBQVk7MkZBQVosWUFBWSxvSUFKYixFQUFFOzsyRkFJRCxZQUFZO2tCQU54QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7dUdBRVUsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2UzZFNlcmllc0NvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtM2Qtc2VyaWVzL2Jhc2UzZC1zZXJpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IEJsb2NrM2RDb21wb25lbnQgfSBmcm9tICcuLi9ibG9jay0zZC9ibG9jay0zZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGluZTNkQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluZS0zZC9saW5lLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlM2RTZXJpZXMgfSBmcm9tICcuLi9tb2RlbC9iYXNlLTNkLXNlcmllcyc7XG5pbXBvcnQgeyBCYXNlM2RUaHJlZVBvaW50IH0gZnJvbSAnLi4vbW9kZWwvYmFzZS0zZC10aHJlZS1wb2ludCc7XG5pbXBvcnQgeyBTZXJpZXMzZFR5cGUgfSBmcm9tICcuLi9tb2RlbC9lbnVtL3Nlcmllcy0zZC10eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RldGEtc2VyaWVzLTNkLWhvc3RdJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VyaWVzM2RIb3N0PFQgZXh0ZW5kcyBCYXNlM2RUaHJlZVBvaW50PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNlcmllczogQmFzZTNkU2VyaWVzPFQ+O1xuXG4gIHByaXZhdGUgc2VyaWVzTWFwOiBNYXA8U2VyaWVzM2RUeXBlLCB0eXBlb2YgQmFzZTNkU2VyaWVzQ29tcG9uZW50PiA9IG5ldyBNYXAoKVxuICAgIC5zZXQoU2VyaWVzM2RUeXBlLmxpbmUsIExpbmUzZENvbXBvbmVudClcbiAgICAuc2V0KFNlcmllczNkVHlwZS5ibG9jaywgQmxvY2szZENvbXBvbmVudCk7XG4gIHByaXZhdGUgX2luaXQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5jYWxsKFxuICAgICAgICBCYXNlM2RTZXJpZXNDb21wb25lbnQsXG4gICAgICAgIHRoaXMuc2VyaWVzLmNvbXBvbmVudFxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5zZXJpZXMuY29tcG9uZW50ID0gdGhpcy5zZXJpZXNNYXAuZ2V0KHRoaXMuc2VyaWVzLnR5cGUpO1xuICAgIH1cbiAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgdGhpcy5zZXJpZXMuY29tcG9uZW50XG4gICAgKTtcblxuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5zZXJpZXMgPSB0aGlzLnNlcmllcztcbiAgICB0aGlzLl9pbml0ID0gdHJ1ZTtcbiAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5faW5pdCAmJlxuICAgICAgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjaGFuZ2VzLCAnc2VyaWVzJykgfHxcbiAgICAgICAgY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnY29uZmlnJykpXG4gICAgKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VyaWVzID0gdGhpcy5zZXJpZXM7XG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2szZC1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvYmxvY2szZC1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZTNkVGhyZWVQb2ludCB9IGZyb20gJy4vYmFzZS0zZC10aHJlZS1wb2ludCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxvY2szZFBvaW50IGV4dGVuZHMgQmFzZTNkVGhyZWVQb2ludCB7XG4gIGljb25JZDogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export var Series3dType;
|
|
2
2
|
(function (Series3dType) {
|
|
3
3
|
Series3dType[Series3dType["line"] = 0] = "line";
|
|
4
|
-
Series3dType[Series3dType["
|
|
4
|
+
Series3dType[Series3dType["block"] = 1] = "block";
|
|
5
5
|
})(Series3dType || (Series3dType = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLTNkLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L21vZGVsL2VudW0vc2VyaWVzLTNkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUN0QiwrQ0FBSSxDQUFBO0lBQ0osaURBQUssQ0FBQTtBQUNQLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNlcmllczNkVHlwZSB7XG4gIGxpbmUsXG4gIGJsb2NrLFxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0aG90eXBlLTNkLXNlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvbGl0aG90eXBlLTNkLXNlcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZTNkU2VyaWVzIH0gZnJvbSAnLi9iYXNlLTNkLXNlcmllcyc7XG5pbXBvcnQgeyBCbG9jazNkUG9pbnQgfSBmcm9tICcuL2Jsb2NrM2QtcG9pbnQnO1xuaW1wb3J0IHsgU2VyaWVzM2RUeXBlIH0gZnJvbSAnLi9lbnVtL3Nlcmllcy0zZC10eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBCbG9jazNkU2VyaWVzIGV4dGVuZHMgQmFzZTNkU2VyaWVzPEJsb2NrM2RQb2ludD4ge1xuICB0eXBlOiBTZXJpZXMzZFR5cGUuYmxvY2s7XG59XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export * from './axes-3d-min-max';
|
|
2
2
|
export * from './axis-3d-point';
|
|
3
|
-
export * from './base-3d-three-point';
|
|
4
3
|
export * from './base-3d-series';
|
|
4
|
+
export * from './base-3d-three-point';
|
|
5
|
+
export * from './block3d-point';
|
|
5
6
|
export * from './enum/public-api';
|
|
6
7
|
export * from './i-3d-chart-config';
|
|
7
8
|
export * from './line-3d-point';
|
|
8
9
|
export * from './line-3d-series';
|
|
9
|
-
export * from './lithotype-3d-point';
|
|
10
10
|
export * from './lithotype-3d-series';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9heGVzLTNkLW1pbi1tYXgnO1xuZXhwb3J0ICogZnJvbSAnLi9heGlzLTNkLXBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS0zZC1zZXJpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLTNkLXRocmVlLXBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmxvY2szZC1wb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL2VudW0vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2ktM2QtY2hhcnQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGluZS0zZC1wb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUtM2Qtc2VyaWVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGl0aG90eXBlLTNkLXNlcmllcyc7XG4iXX0=
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, inject, } from '@angular/core';
|
|
2
|
-
import { NgtsOrbitControls } from 'angular-three-soba/controls';
|
|
3
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, inject, } from '@angular/core';
|
|
4
3
|
import { NgtStore } from 'angular-three';
|
|
5
|
-
import {
|
|
4
|
+
import { NgtsOrbitControls } from 'angular-three-soba/controls';
|
|
6
5
|
import { Area3dComponent } from '../area-3d/area-3d.component';
|
|
7
|
-
import { Line3dComponent } from '../line-3d/line-3d.component';
|
|
8
6
|
import { Axes3dComponent } from '../axes-3d/axes-3d.component';
|
|
9
|
-
import {
|
|
7
|
+
import { Block3dComponent } from '../block-3d/block-3d.component';
|
|
10
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
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@angular/common";
|
|
13
13
|
export class SceneComponent {
|
|
@@ -40,8 +40,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
40
40
|
Area3dComponent,
|
|
41
41
|
Line3dComponent,
|
|
42
42
|
Axes3dComponent,
|
|
43
|
-
|
|
43
|
+
Block3dComponent,
|
|
44
44
|
Series3dHost,
|
|
45
45
|
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf=\"{data:data|async} as config\">\n <ngt-scene>\n <ngts-orbit-controls [minAzimuthAngle]=\"0\" [maxAzimuthAngle]=\"Math.PI/2\" [maxZoom]=\"15\" [minZoom]=\"4\"\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" }]
|
|
46
46
|
}], ctorParameters: function () { return []; } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9zY2VuZS9zY2VuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3NjZW5lL3NjZW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWtCN0QsTUFBTSxPQUFPLGNBQWM7SUFDbEIsSUFBSSxDQUE2QjtJQUNqQyxRQUFRLENBQVE7SUFDUCxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLElBQUksR0FBRyxJQUFJLENBQUM7SUFDWixZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RDLElBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRDtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNwRCxDQUFDO3VHQXBCVSxjQUFjOzJGQUFkLGNBQWMsc0VDdEMzQixxZ0JBYUEsNENEZUksaUJBQWlCLDBNQUNqQixZQUFZLHFUQUNaLGVBQWUseURBRWYsZUFBZSwrRUFFZixZQUFZOzsyRkFJSCxjQUFjO2tCQWhCMUIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLFlBQVk7cUJBQ2IsV0FDUSxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICBpbmplY3QsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0c09yYml0Q29udHJvbHMgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvY29udHJvbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXVsZXIgfSBmcm9tICd0aHJlZSc7XG5cbmltcG9ydCB7IEFyZWEzZENvbXBvbmVudCB9IGZyb20gJy4uL2FyZWEtM2QvYXJlYS0zZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXhlczNkQ29tcG9uZW50IH0gZnJvbSAnLi4vYXhlcy0zZC9heGVzLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbG9jazNkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmxvY2stM2QvYmxvY2stM2QuY29tcG9uZW50JztcbmltcG9ydCB7IFNlcmllczNkSG9zdCB9IGZyb20gJy4uL2RpcmVjdGl2ZS9zZXJpZXMtM2QtaG9zdCc7XG5pbXBvcnQgeyBMaW5lM2RDb21wb25lbnQgfSBmcm9tICcuLi9saW5lLTNkL2xpbmUtM2QuY29tcG9uZW50JztcbmltcG9ydCB7IEkzZENoYXJ0Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvaS0zZC1jaGFydC1jb25maWcnO1xuaW1wb3J0IHsgQ2hhcnQzZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2NoYXJ0LTNkLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd0ZXRhLXNjZW5lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjZW5lLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBOZ3RzT3JiaXRDb250cm9scyxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQXJlYTNkQ29tcG9uZW50LFxuICAgIExpbmUzZENvbXBvbmVudCxcbiAgICBBeGVzM2RDb21wb25lbnQsXG4gICAgQmxvY2szZENvbXBvbmVudCxcbiAgICBTZXJpZXMzZEhvc3QsXG4gIF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgU2NlbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgZGF0YTogT2JzZXJ2YWJsZTxJM2RDaGFydENvbmZpZz47XG4gIHB1YmxpYyByb3RhdGlvbjogRXVsZXI7XG4gIHB1YmxpYyByZWFkb25seSBzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBNYXRoID0gTWF0aDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYXJ0U2VydmljZSA9IGluamVjdChDaGFydDNkU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kYXRhID0gdGhpcy5jaGFydFNlcnZpY2UuZGF0YTtcbiAgfVxuXG4gIHNldFJvdGF0aW9uKCkge1xuICAgIHRoaXMucm90YXRpb24gPSBudWxsO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5yb3RhdGlvbiA9IHRoaXMuc3RvcmUuZ2V0KCdjYW1lcmEnKS5yb3RhdGlvbjtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yb3RhdGlvbiA9IHRoaXMuc3RvcmUuZ2V0KCdjYW1lcmEnKS5yb3RhdGlvbjtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIntkYXRhOmRhdGF8YXN5bmN9IGFzIGNvbmZpZ1wiPlxuICA8bmd0LXNjZW5lPlxuICAgIDxuZ3RzLW9yYml0LWNvbnRyb2xzIFttaW5BemltdXRoQW5nbGVdPVwiMFwiIFttYXhBemltdXRoQW5nbGVdPVwiTWF0aC5QSS8yXCIgW21heFpvb21dPVwiMTVcIiBbbWluWm9vbV09XCI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNldFJvdGF0aW9uKClcIj48L25ndHMtb3JiaXQtY29udHJvbHM+XG4gIDwvbmd0LXNjZW5lPlxuICA8dGV0YS1hcmVhLTNkPjwvdGV0YS1hcmVhLTNkPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzIG9mIGNvbmZpZy5kYXRhLnNlcmllc1wiPlxuICAgIDxkaXYgdGV0YS1zZXJpZXMtM2QtaG9zdCBbc2VyaWVzXT1cInNcIj48L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDx0ZXRhLWF4ZXMtM2QgW3JvdGF0aW9uXT1cInJvdGF0aW9uXCI+PC90ZXRhLWF4ZXMtM2Q+XG48L25nLWNvbnRhaW5lcj5cblxuXG4iXX0=
|