@tetacom/ng-components 1.1.11 → 1.1.12
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/assets/square.svg +7 -0
- package/component/public-api.d.ts +2 -1
- package/component/three/custom-series/custom-series.component.d.ts +20 -0
- package/component/three/public-api.d.ts +10 -0
- package/component/three/three-chart/area-3d/area-3d.component.d.ts +14 -0
- package/component/three/three-chart/axes-3d/axes-3d.component.d.ts +36 -0
- package/component/three/three-chart/base-3d-series/base3d-series.component.d.ts +15 -0
- package/component/three/three-chart/directive/public-api.d.ts +1 -0
- package/component/three/three-chart/directive/series-3d-host.d.ts +16 -0
- package/component/three/three-chart/line-3d/line-3d.component.d.ts +19 -0
- package/component/three/three-chart/lithotype-3d/lithotype-3d.component.d.ts +29 -0
- package/component/three/three-chart/model/axes-3d-min-max.d.ts +5 -0
- package/component/three/three-chart/model/axis-3d-point.d.ts +4 -0
- package/component/three/three-chart/model/base-3d-series.d.ts +11 -0
- package/component/three/three-chart/model/base-3d-three-point.d.ts +8 -0
- package/component/three/three-chart/model/enum/public-api.d.ts +1 -0
- package/component/three/three-chart/model/enum/series-3d-type.d.ts +4 -0
- package/component/three/three-chart/model/i-3d-chart-config.d.ts +14 -0
- package/component/three/three-chart/model/line-3d-point.d.ts +5 -0
- package/component/three/three-chart/model/line-3d-series.d.ts +6 -0
- package/component/three/three-chart/model/lithotype-3d-point.d.ts +5 -0
- package/component/three/three-chart/model/lithotype-3d-series.d.ts +6 -0
- package/component/three/three-chart/model/public-api.d.ts +10 -0
- package/component/three/three-chart/scene/scene.component.d.ts +20 -0
- package/component/three/three-chart/service/chart-3d.service.d.ts +22 -0
- package/component/three/three-chart/three-chart.component.d.ts +16 -0
- package/esm2022/common/service/click.service.mjs +3 -3
- package/esm2022/common/service/dynamic-component.service.mjs +3 -3
- package/esm2022/common/service/overlay-container.service.mjs +3 -3
- package/esm2022/component/accordion/accordion/accordion.component.mjs +3 -3
- package/esm2022/component/accordion/accordion-content.directive.mjs +3 -3
- package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +3 -3
- package/esm2022/component/accordion/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2022/component/accordion/accordion.module.mjs +4 -4
- package/esm2022/component/autocomplete/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/component/autocomplete/autocomplete.module.mjs +4 -4
- package/esm2022/component/avatar/avatar/avatar.component.mjs +3 -3
- package/esm2022/component/avatar/avatar.module.mjs +4 -4
- package/esm2022/component/button/button/button.component.mjs +3 -3
- package/esm2022/component/button/button.module.mjs +4 -4
- package/esm2022/component/chart-3d/chart-3d.module.mjs +4 -4
- package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +3 -3
- package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/component/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/component/date-picker/base-calendar.mjs +3 -3
- package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +3 -3
- package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/component/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/component/date-picker/date-range/date-range.component.mjs +3 -3
- package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +3 -3
- package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +3 -3
- package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +3 -3
- package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +3 -3
- package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +3 -3
- package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +3 -3
- package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +3 -3
- package/esm2022/component/delimiter/delimiter.module.mjs +4 -4
- package/esm2022/component/divider/divider/divider.component.mjs +3 -3
- package/esm2022/component/divider/divider.module.mjs +4 -4
- package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/component/dropdown/dropdown-base.mjs +3 -3
- package/esm2022/component/dropdown/dropdown-content.directive.mjs +3 -3
- package/esm2022/component/dropdown/dropdown-head.directive.mjs +3 -3
- package/esm2022/component/dropdown/dropdown.directive.mjs +3 -3
- package/esm2022/component/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/component/dynamic-component/dynamic-component.module.mjs +4 -4
- package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +3 -3
- package/esm2022/component/expand-card/expand-card/expand-card.component.mjs +3 -3
- package/esm2022/component/expand-card/expand-card.module.mjs +4 -4
- package/esm2022/component/expand-card/expand-item/expand-item.component.mjs +3 -3
- package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +3 -3
- package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +3 -3
- package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +3 -3
- package/esm2022/component/expand-panel/expand-panel.module.mjs +4 -4
- package/esm2022/component/file-upload/file-item/file-item.component.mjs +3 -3
- package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +3 -3
- package/esm2022/component/file-upload/file-upload.module.mjs +4 -4
- package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +3 -3
- package/esm2022/component/filter/date-filter/date-filter.component.mjs +3 -3
- package/esm2022/component/filter/filter-host/filter-host.component.mjs +3 -3
- package/esm2022/component/filter/filter.module.mjs +4 -4
- package/esm2022/component/filter/list-filter/list-filter.component.mjs +3 -3
- package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +3 -3
- package/esm2022/component/filter/string-filter/string-filter.component.mjs +3 -3
- package/esm2022/component/icon/icon/icon.component.mjs +3 -3
- package/esm2022/component/icon/icon-file/icon-file.component.mjs +3 -3
- package/esm2022/component/icon/icon-file/icon-file.module.mjs +4 -4
- package/esm2022/component/icon/icon-sprite.directive.mjs +3 -3
- package/esm2022/component/icon/icon.module.mjs +4 -4
- package/esm2022/component/icon/icon.service.mjs +3 -3
- package/esm2022/component/input/color-input/color-input.component.mjs +3 -3
- package/esm2022/component/input/form-group-title/form-group-title.component.mjs +3 -3
- package/esm2022/component/input/input/input.component.mjs +3 -3
- package/esm2022/component/input/input.module.mjs +4 -4
- package/esm2022/component/input/text-field/text-field.component.mjs +3 -3
- package/esm2022/component/message/message/message.component.mjs +3 -3
- package/esm2022/component/message/message-host/message-host.component.mjs +3 -3
- package/esm2022/component/message/message.module.mjs +4 -4
- package/esm2022/component/message/message.service.mjs +3 -3
- package/esm2022/component/modal/dialog/dialog.component.mjs +3 -3
- package/esm2022/component/modal/dialog.service.mjs +3 -3
- package/esm2022/component/modal/modal-container/modal-container.component.mjs +3 -3
- package/esm2022/component/modal/modal.module.mjs +4 -4
- package/esm2022/component/modal/modal.service.mjs +3 -3
- package/esm2022/component/pager/pager/pager.component.mjs +3 -3
- package/esm2022/component/pager/pager.module.mjs +4 -4
- package/esm2022/component/panel/panel/panel.component.mjs +3 -3
- package/esm2022/component/panel/panel.module.mjs +4 -4
- package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/component/progress-bar/progress-bar.module.mjs +4 -4
- package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +3 -3
- package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +3 -3
- package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +3 -3
- package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +3 -3
- package/esm2022/component/property-grid/property-grid.module.mjs +4 -4
- package/esm2022/component/public-api.mjs +4 -2
- package/esm2022/component/radio/radio/radio.component.mjs +3 -3
- package/esm2022/component/radio/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/component/radio/radio.module.mjs +4 -4
- package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +3 -3
- package/esm2022/component/resize-panel/resize-panel.module.mjs +4 -4
- package/esm2022/component/select/select/select.component.mjs +3 -3
- package/esm2022/component/select/select-option.directive.mjs +3 -3
- package/esm2022/component/select/select-value.directive.mjs +3 -3
- package/esm2022/component/select/select.module.mjs +4 -4
- package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +3 -3
- package/esm2022/component/sidebar/sidebar.module.mjs +4 -4
- package/esm2022/component/switch/switch/switch.component.mjs +3 -3
- package/esm2022/component/switch/switch-button/switch-button.component.mjs +3 -3
- package/esm2022/component/switch/switch.module.mjs +4 -4
- package/esm2022/component/switch/switch.service.mjs +3 -3
- package/esm2022/component/table/base/cell-component-base.mjs +3 -3
- package/esm2022/component/table/base/head-cell-component-base.mjs +3 -3
- package/esm2022/component/table/cell/cell.component.mjs +3 -3
- package/esm2022/component/table/cell-host/cell-host.component.mjs +3 -3
- package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +4 -7
- package/esm2022/component/table/default/date-cell/date-cell.component.mjs +5 -10
- package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +3 -3
- package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +3 -3
- package/esm2022/component/table/default/list-cell/list-cell.component.mjs +3 -3
- package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +3 -3
- package/esm2022/component/table/default/string-cell/string-cell.component.mjs +3 -3
- package/esm2022/component/table/head-cell/head-cell.component.mjs +3 -3
- package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +3 -3
- package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +3 -3
- package/esm2022/component/table/selection-cell/selection-cell.component.mjs +3 -3
- package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +3 -3
- package/esm2022/component/table/service/table.service.mjs +3 -3
- package/esm2022/component/table/table/table.component.mjs +3 -3
- package/esm2022/component/table/table-body/table-body.component.mjs +3 -3
- package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +3 -3
- package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +3 -3
- package/esm2022/component/table/table-head/table-head.component.mjs +3 -3
- package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +3 -3
- package/esm2022/component/table/table-head-group/table-head-group.component.mjs +3 -3
- package/esm2022/component/table/table.module.mjs +4 -4
- package/esm2022/component/tabs/tab/tab.component.mjs +3 -3
- package/esm2022/component/tabs/tab-content.directive.mjs +3 -3
- package/esm2022/component/tabs/tab-title.directive.mjs +3 -3
- package/esm2022/component/tabs/tabs/tabs.component.mjs +3 -3
- package/esm2022/component/tabs/tabs.module.mjs +4 -4
- package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +3 -3
- package/esm2022/component/theme-switch/theme-switch.module.mjs +4 -4
- package/esm2022/component/theme-switch/theme-switch.service.mjs +3 -3
- package/esm2022/component/three/custom-series/custom-series.component.mjs +34 -0
- package/esm2022/component/three/public-api.mjs +11 -0
- package/esm2022/component/three/three-chart/area-3d/area-3d.component.mjs +53 -0
- package/esm2022/component/three/three-chart/axes-3d/axes-3d.component.mjs +57 -0
- package/esm2022/component/three/three-chart/base-3d-series/base3d-series.component.mjs +29 -0
- package/esm2022/component/three/three-chart/directive/public-api.mjs +2 -0
- package/esm2022/component/three/three-chart/directive/series-3d-host.mjs +47 -0
- package/esm2022/component/three/three-chart/line-3d/line-3d.component.mjs +44 -0
- package/esm2022/component/three/three-chart/lithotype-3d/lithotype-3d.component.mjs +80 -0
- package/esm2022/component/three/three-chart/model/axes-3d-min-max.mjs +2 -0
- package/esm2022/component/three/three-chart/model/axis-3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/base-3d-series.mjs +2 -0
- package/esm2022/component/three/three-chart/model/base-3d-three-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/enum/public-api.mjs +2 -0
- package/esm2022/component/three/three-chart/model/enum/series-3d-type.mjs +6 -0
- package/esm2022/component/three/three-chart/model/i-3d-chart-config.mjs +2 -0
- package/esm2022/component/three/three-chart/model/line-3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/line-3d-series.mjs +2 -0
- package/esm2022/component/three/three-chart/model/lithotype-3d-point.mjs +2 -0
- package/esm2022/component/three/three-chart/model/lithotype-3d-series.mjs +2 -0
- package/esm2022/component/three/three-chart/model/public-api.mjs +11 -0
- package/esm2022/component/three/three-chart/scene/scene.component.mjs +47 -0
- package/esm2022/component/three/three-chart/service/chart-3d.service.mjs +82 -0
- package/esm2022/component/three/three-chart/three-chart.component.mjs +37 -0
- package/esm2022/component/toggle/toggle/toggle.component.mjs +3 -3
- package/esm2022/component/toggle/toggle.module.mjs +4 -4
- package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/component/toolbar/toolbar.module.mjs +4 -4
- package/esm2022/component/tree/tree/tree.component.mjs +3 -3
- package/esm2022/component/tree/tree-item/tree-item.component.mjs +3 -3
- package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +3 -3
- package/esm2022/component/tree/tree.module.mjs +4 -4
- package/esm2022/component/tree/tree.service.mjs +3 -3
- package/esm2022/directive/auto-position/auto-position.directive.mjs +3 -3
- package/esm2022/directive/auto-position/auto-position.module.mjs +4 -4
- package/esm2022/directive/click-outside/click-outside.directive.mjs +3 -3
- package/esm2022/directive/click-outside/click-outside.module.mjs +4 -4
- package/esm2022/directive/context-menu/context-menu.directive.mjs +3 -3
- package/esm2022/directive/context-menu/context-menu.module.mjs +4 -4
- package/esm2022/directive/disable-control/disable-control.directive.mjs +3 -3
- package/esm2022/directive/disable-control/disable-control.module.mjs +4 -4
- package/esm2022/directive/drag-drop/drag-container.directive.mjs +3 -3
- package/esm2022/directive/drag-drop/drag-drop.module.mjs +4 -4
- package/esm2022/directive/drag-drop/drag-drop.service.mjs +3 -3
- package/esm2022/directive/drag-drop/drag-placeholder.directive.mjs +3 -3
- package/esm2022/directive/drag-drop/drag-preview.directive.mjs +3 -3
- package/esm2022/directive/drag-drop/drag.directive.mjs +3 -3
- package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +3 -3
- package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +3 -3
- package/esm2022/directive/drag-sort/drag-sort.module.mjs +4 -4
- package/esm2022/directive/dynamic-content-base.directive.mjs +3 -3
- package/esm2022/directive/highlight/highlight.directive.mjs +3 -3
- package/esm2022/directive/highlight/highlight.module.mjs +4 -4
- package/esm2022/directive/hint/hint.directive.mjs +3 -3
- package/esm2022/directive/hint/hint.module.mjs +4 -4
- package/esm2022/directive/let/let.directive.mjs +3 -3
- package/esm2022/directive/let/let.module.mjs +4 -4
- package/esm2022/directive/loader/loader.directive.mjs +3 -3
- package/esm2022/directive/loader/loader.module.mjs +4 -4
- package/esm2022/directive/no-autofill/no-autofill.directive.mjs +3 -3
- package/esm2022/directive/no-autofill/no-autofill.module.mjs +4 -4
- package/esm2022/directive/only-number/only-number.directive.mjs +3 -3
- package/esm2022/directive/only-number/only-number.module.mjs +4 -4
- package/esm2022/directive/resize-drag/resize-drag.directive.mjs +3 -3
- package/esm2022/directive/resize-drag/resize-drag.module.mjs +4 -4
- package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +3 -3
- package/esm2022/directive/scroll-into-view/scroll-into-view.module.mjs +4 -4
- package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +3 -3
- package/esm2022/directive/scrollable/scrollable.directive.mjs +3 -3
- package/esm2022/directive/scrollable/scrollable.module.mjs +4 -4
- package/esm2022/directive/teta-template/teta-template.directive.mjs +3 -3
- package/esm2022/directive/teta-template/teta-template.module.mjs +4 -4
- package/esm2022/directive/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/directive/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/locale/teta-config.service.mjs +3 -3
- package/esm2022/pipe/date-pipe/teta-date-pipe.module.mjs +4 -4
- package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +3 -3
- package/esm2022/pipe/number-pipe/number-pipe.module.mjs +4 -4
- package/esm2022/pipe/number-pipe/number.pipe.mjs +3 -3
- package/fesm2022/tetacom-ng-components.mjs +1096 -668
- package/fesm2022/tetacom-ng-components.mjs.map +1 -1
- package/package.json +6 -2
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
|
|
2
|
+
import { Base3dSeriesComponent } from '../base-3d-series/base3d-series.component';
|
|
3
|
+
import { Series3dType } from '../model/enum/series-3d-type';
|
|
4
|
+
import { Lithotype3dComponent } from '../lithotype-3d/lithotype-3d.component';
|
|
5
|
+
import { Line3dComponent } from '../line-3d/line-3d.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class Series3dHost {
|
|
8
|
+
viewContainerRef;
|
|
9
|
+
series;
|
|
10
|
+
seriesMap = new Map()
|
|
11
|
+
.set(Series3dType.line, Line3dComponent)
|
|
12
|
+
.set(Series3dType.lithotype, Lithotype3dComponent);
|
|
13
|
+
_init = false;
|
|
14
|
+
_componentRef;
|
|
15
|
+
constructor(viewContainerRef) {
|
|
16
|
+
this.viewContainerRef = viewContainerRef;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
if (!Base3dSeriesComponent.isPrototypeOf(this.series.component)) {
|
|
20
|
+
this.series.component = this.seriesMap.get(this.series.type);
|
|
21
|
+
}
|
|
22
|
+
this._componentRef = this.viewContainerRef.createComponent(this.series.component);
|
|
23
|
+
this._componentRef.instance.series = this.series;
|
|
24
|
+
this._init = true;
|
|
25
|
+
}
|
|
26
|
+
ngOnChanges(changes) {
|
|
27
|
+
if (this._init &&
|
|
28
|
+
(changes.hasOwnProperty('series') || changes.hasOwnProperty('config'))) {
|
|
29
|
+
this._componentRef.instance.series = this.series;
|
|
30
|
+
this._componentRef.injector.get(ChangeDetectorRef).detectChanges();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Series3dHost, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Series3dHost, isStandalone: true, selector: "[teta-series-3d-host]", inputs: { series: "series" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Series3dHost, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: '[teta-series-3d-host]',
|
|
40
|
+
template: '',
|
|
41
|
+
standalone: true,
|
|
42
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { series: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}] } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLTNkLWhvc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2RpcmVjdGl2ZS9zZXJpZXMtM2QtaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBUS9ELE1BQU0sT0FBTyxZQUFZO0lBU0g7SUFSWCxNQUFNLENBQWtCO0lBRXpCLFNBQVMsR0FBb0QsSUFBSSxHQUFHLEVBQUU7U0FDM0UsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDN0MsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLGFBQWEsQ0FBb0I7SUFFekMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQ3RCLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQ0UsSUFBSSxDQUFDLEtBQUs7WUFDVixDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUN0RTtZQUNBLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQzt1R0E5QlUsWUFBWTsyRkFBWixZQUFZLG9JQUpiLEVBQUU7OzJGQUlELFlBQVk7a0JBTnhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDt1R0FFVSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2UzZFNlcmllcyB9IGZyb20gJy4uL21vZGVsL2Jhc2UtM2Qtc2VyaWVzJztcbmltcG9ydCB7IEJhc2UzZFNlcmllc0NvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtM2Qtc2VyaWVzL2Jhc2UzZC1zZXJpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFNlcmllczNkVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vc2VyaWVzLTNkLXR5cGUnO1xuaW1wb3J0IHsgTGl0aG90eXBlM2RDb21wb25lbnQgfSBmcm9tICcuLi9saXRob3R5cGUtM2QvbGl0aG90eXBlLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlM2RUaHJlZVBvaW50IH0gZnJvbSAnLi4vbW9kZWwvYmFzZS0zZC10aHJlZS1wb2ludCc7XG5pbXBvcnQgeyBMaW5lM2RDb21wb25lbnQgfSBmcm9tICcuLi9saW5lLTNkL2xpbmUtM2QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RldGEtc2VyaWVzLTNkLWhvc3RdJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VyaWVzM2RIb3N0PFQgZXh0ZW5kcyBCYXNlM2RUaHJlZVBvaW50PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNlcmllczogQmFzZTNkU2VyaWVzPFQ+O1xuXG4gIHByaXZhdGUgc2VyaWVzTWFwOiBNYXA8U2VyaWVzM2RUeXBlLCB0eXBlb2YgQmFzZTNkU2VyaWVzQ29tcG9uZW50PiA9IG5ldyBNYXAoKVxuICAgIC5zZXQoU2VyaWVzM2RUeXBlLmxpbmUsIExpbmUzZENvbXBvbmVudClcbiAgICAuc2V0KFNlcmllczNkVHlwZS5saXRob3R5cGUsIExpdGhvdHlwZTNkQ29tcG9uZW50KTtcbiAgcHJpdmF0ZSBfaW5pdCA9IGZhbHNlO1xuICBwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIUJhc2UzZFNlcmllc0NvbXBvbmVudC5pc1Byb3RvdHlwZU9mKHRoaXMuc2VyaWVzLmNvbXBvbmVudCkpIHtcbiAgICAgIHRoaXMuc2VyaWVzLmNvbXBvbmVudCA9IHRoaXMuc2VyaWVzTWFwLmdldCh0aGlzLnNlcmllcy50eXBlKTtcbiAgICB9XG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgIHRoaXMuc2VyaWVzLmNvbXBvbmVudFxuICAgICk7XG5cbiAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VyaWVzID0gdGhpcy5zZXJpZXM7XG4gICAgdGhpcy5faW5pdCA9IHRydWU7XG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuX2luaXQgJiZcbiAgICAgIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdzZXJpZXMnKSB8fCBjaGFuZ2VzLmhhc093blByb3BlcnR5KCdjb25maWcnKSlcbiAgICApIHtcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5zZXJpZXMgPSB0aGlzLnNlcmllcztcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
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 } from 'angular-three';
|
|
5
|
+
import * as THREE from 'three';
|
|
6
|
+
import { map, takeWhile } from 'rxjs';
|
|
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 Line3dComponent extends Base3dSeriesComponent {
|
|
14
|
+
svc;
|
|
15
|
+
ngtStore;
|
|
16
|
+
points;
|
|
17
|
+
_alive = true;
|
|
18
|
+
Math = Math;
|
|
19
|
+
constructor(svc, ngtStore) {
|
|
20
|
+
super(svc, ngtStore);
|
|
21
|
+
this.svc = svc;
|
|
22
|
+
this.ngtStore = ngtStore;
|
|
23
|
+
this.points = this.svc.scales.pipe(takeWhile(() => this._alive), map((scales) => {
|
|
24
|
+
return this.getPoints(scales);
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
getPoints(scales) {
|
|
28
|
+
return this.series.data
|
|
29
|
+
.map((_) => {
|
|
30
|
+
return [scales.x(_.x), scales.y(_.y), scales.z(_.z)];
|
|
31
|
+
})
|
|
32
|
+
.flat();
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
this._alive = false;
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Line3dComponent, deps: [{ token: i1.Chart3dService }, { token: i2.NgtStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Line3dComponent, isStandalone: true, selector: "teta-line-3d", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"{points:points|async}as data\">\n <ngt-mesh>\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 });
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Line3dComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
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>\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" }]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.Chart3dService }, { type: i2.NgtStore }]; } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS0zZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2xpbmUtM2QvbGluZS0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2xpbmUtM2QvbGluZS0zZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsR0FFdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7QUFHbEYsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBU2QsTUFBTSxPQUFPLGVBQ1gsU0FBUSxxQkFBa0M7SUFPckI7SUFBOEI7SUFKNUMsTUFBTSxDQUF1QjtJQUM1QixNQUFNLEdBQUcsSUFBSSxDQUFDO0lBRUgsSUFBSSxHQUFHLElBQUksQ0FBQztJQUMvQixZQUFxQixHQUFtQixFQUFXLFFBQWtCO1FBQ25FLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFERixRQUFHLEdBQUgsR0FBRyxDQUFnQjtRQUFXLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2hDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzVCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0QsU0FBUyxDQUFDLE1BQU07UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTthQUNwQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNULE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQzthQUNELElBQUksRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO3VHQTNCVSxlQUFlOzJGQUFmLGVBQWUsK0ZDeEI1QixpUUFNQSwyQ0RjWSxZQUFZLHdMQUFFLFFBQVE7OzJGQUlyQixlQUFlO2tCQVIzQixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxXQUNqQyxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3RzTGluZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9hYnN0cmFjdGlvbnMnO1xuaW1wb3J0IHsgZXh0ZW5kLCBOZ3RBcmdzLCBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYXJ0M2RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2UzZFNlcmllc0NvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtM2Qtc2VyaWVzL2Jhc2UzZC1zZXJpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IExpbmUzZFBvaW50IH0gZnJvbSAnLi4vbW9kZWwvbGluZS0zZC1wb2ludCc7XG5cbmV4dGVuZChUSFJFRSk7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWxpbmUtM2QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmd0c0xpbmUsIE5ndEFyZ3NdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5lLTNkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTGluZTNkQ29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZTNkU2VyaWVzQ29tcG9uZW50PExpbmUzZFBvaW50PlxuICBpbXBsZW1lbnRzIE9uRGVzdHJveVxue1xuICBwdWJsaWMgcG9pbnRzOiBPYnNlcnZhYmxlPG51bWJlcltdPjtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBNYXRoID0gTWF0aDtcbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgc3ZjOiBDaGFydDNkU2VydmljZSwgb3ZlcnJpZGUgbmd0U3RvcmU6IE5ndFN0b3JlKSB7XG4gICAgc3VwZXIoc3ZjLCBuZ3RTdG9yZSk7XG4gICAgdGhpcy5wb2ludHMgPSB0aGlzLnN2Yy5zY2FsZXMucGlwZShcbiAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICBtYXAoKHNjYWxlcykgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRQb2ludHMoc2NhbGVzKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuICBnZXRQb2ludHMoc2NhbGVzKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWVzLmRhdGFcbiAgICAgIC5tYXAoKF8pID0+IHtcbiAgICAgICAgcmV0dXJuIFtzY2FsZXMueChfLngpLCBzY2FsZXMueShfLnkpLCBzY2FsZXMueihfLnopXTtcbiAgICAgIH0pXG4gICAgICAuZmxhdCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIntwb2ludHM6cG9pbnRzfGFzeW5jfWFzIGRhdGFcIj5cbiAgPG5ndC1tZXNoPlxuICAgIDxuZ3RzLWxpbmUgW2NvbG9yXT1cInNlcmllcy5jb2xvclwiIFtsaW5lV2lkdGhdPVwiMlwiIFtwb2ludHNdPVwiZGF0YS5wb2ludHNcIj48L25ndHMtbGluZT5cbiAgICA8bmd0LWxpbmUtYmFzaWMtbWF0ZXJpYWw+PC9uZ3QtbGluZS1iYXNpYy1tYXRlcmlhbD5cbiAgPC9uZ3QtbWVzaD5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgtsText } from 'angular-three-soba/abstractions';
|
|
4
|
+
import { extend, NgtArgs } from 'angular-three';
|
|
5
|
+
import * as THREE from 'three';
|
|
6
|
+
import { map, takeWhile } from 'rxjs';
|
|
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 Lithotype3dComponent extends Base3dSeriesComponent {
|
|
14
|
+
svc;
|
|
15
|
+
ngtStore;
|
|
16
|
+
lithotypes;
|
|
17
|
+
_alive = true;
|
|
18
|
+
Math = Math;
|
|
19
|
+
constructor(svc, ngtStore) {
|
|
20
|
+
super(svc, ngtStore);
|
|
21
|
+
this.svc = svc;
|
|
22
|
+
this.ngtStore = ngtStore;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.lithotypes = this.svc.scales.pipe(takeWhile(() => this._alive), map((scales) => {
|
|
26
|
+
return this.series?.data.map((_) => {
|
|
27
|
+
return this.createSVGTexture(scales.y(_.y), scales.y(_.y1), _.lithotypeId);
|
|
28
|
+
});
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
createSVGTexture(y, y1, litotypeId) {
|
|
32
|
+
const max = Math.max(y, y1);
|
|
33
|
+
const min = Math.min(y, y1);
|
|
34
|
+
const height = Math.abs(max - min);
|
|
35
|
+
const icon = document.querySelector(`#icon${litotypeId}`);
|
|
36
|
+
const svgString = `<svg width="100" height="100" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">${icon.innerHTML}</svg>`;
|
|
37
|
+
const loader = new THREE.TextureLoader();
|
|
38
|
+
const texture = loader.load(`data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgString)}`);
|
|
39
|
+
const plane = this.createTexturedPlane(texture, 100, height);
|
|
40
|
+
const plane1 = this.createTexturedPlane(texture, 25, height);
|
|
41
|
+
plane.rotation.set(0, Math.PI / 2, 0);
|
|
42
|
+
plane.position.set(0.17, min + height / 2, 0);
|
|
43
|
+
plane1.position.set(25 / 2, min + height / 2, -50 + 0.17);
|
|
44
|
+
return [
|
|
45
|
+
{ component: plane, position: min + height / 2 },
|
|
46
|
+
{ component: plane1, position: min + height / 2 },
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
createTexturedPlane(texture, width, height) {
|
|
50
|
+
texture.wrapS = THREE.RepeatWrapping;
|
|
51
|
+
texture.wrapT = THREE.RepeatWrapping;
|
|
52
|
+
texture.repeat.set(10, 9);
|
|
53
|
+
const material = new THREE.MeshBasicMaterial({ map: texture });
|
|
54
|
+
const geometry = new THREE.PlaneGeometry(width, height, 1, 1);
|
|
55
|
+
const uvs = geometry.attributes['uv'].array;
|
|
56
|
+
const newUvs = new Float32Array(uvs);
|
|
57
|
+
newUvs[0] = 0;
|
|
58
|
+
newUvs[1] = 0;
|
|
59
|
+
newUvs[2] = width / 100;
|
|
60
|
+
newUvs[3] = 0;
|
|
61
|
+
newUvs[4] = 0;
|
|
62
|
+
newUvs[5] = height / 100;
|
|
63
|
+
newUvs[6] = width / 100;
|
|
64
|
+
newUvs[7] = height / 100;
|
|
65
|
+
geometry.attributes['uv'].needsUpdate = true;
|
|
66
|
+
geometry.setAttribute('uv', new THREE.BufferAttribute(newUvs, 2));
|
|
67
|
+
const plane = new THREE.Mesh(geometry, material);
|
|
68
|
+
return plane;
|
|
69
|
+
}
|
|
70
|
+
ngOnDestroy() {
|
|
71
|
+
this._alive = false;
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Lithotype3dComponent, deps: [{ token: i1.Chart3dService }, { token: i2.NgtStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Lithotype3dComponent, isStandalone: true, selector: "teta-lithotype-3d", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"{lithotypes:lithotypes|async,scales:svc.scales|async}as data\">\n <ng-container *ngFor=\"let mesh of data.lithotypes;let i=index\">\n <ngt-primitive *args=\"[mesh[0].component]\"></ngt-primitive>\n <ngts-text [text]=\"series.data[i].lithotypeName\"\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 });
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Lithotype3dComponent, decorators: [{
|
|
77
|
+
type: Component,
|
|
78
|
+
args: [{ selector: 'teta-lithotype-3d', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, NgtArgs, NgtsText], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf=\"{lithotypes:lithotypes|async,scales:svc.scales|async}as data\">\n <ng-container *ngFor=\"let mesh of data.lithotypes;let i=index\">\n <ngt-primitive *args=\"[mesh[0].component]\"></ngt-primitive>\n <ngts-text [text]=\"series.data[i].lithotypeName\"\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" }]
|
|
79
|
+
}], ctorParameters: function () { return [{ type: i1.Chart3dService }, { type: i2.NgtStore }]; } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0aG90eXBlLTNkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbGl0aG90eXBlLTNkL2xpdGhvdHlwZS0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2xpdGhvdHlwZS0zZC9saXRob3R5cGUtM2QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEdBRXZCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFHL0IsT0FBTyxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7O0FBR2xGLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQVVkLE1BQU0sT0FBTyxvQkFDWCxTQUFRLHFCQUF3QjtJQVlYO0lBQThCO0lBVDVDLFVBQVUsQ0FLZjtJQUNNLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDSCxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRS9CLFlBQXFCLEdBQW1CLEVBQVcsUUFBa0I7UUFDbkUsS0FBSyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQURGLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUVyRSxDQUFDO0lBRUQs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O0lBQ3RCLENBQUM7dUdBN0VVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLG9HQzFCakMsNHFCQWVBLDJDRFFZLFlBQVkscVRBQUUsT0FBTyxxRUFBRSxRQUFROzsyRkFHOUIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLG1CQUFtQixjQUVqQixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxXQUNqQyxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3RzVGV4dCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9hYnN0cmFjdGlvbnMnO1xuaW1wb3J0IHsgZXh0ZW5kLCBOZ3RBcmdzLCBOZ3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgVGV4dHVyZSB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IENoYXJ0M2RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlM2RTZXJpZXNDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXRob3R5cGUzZFBvaW50IH0gZnJvbSAnLi4vbW9kZWwvbGl0aG90eXBlLTNkLXBvaW50JztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1saXRob3R5cGUtM2QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGl0aG90eXBlLTNkLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5ndEFyZ3MsIE5ndHNUZXh0XSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBMaXRob3R5cGUzZENvbXBvbmVudDxUIGV4dGVuZHMgTGl0aG90eXBlM2RQb2ludD5cbiAgZXh0ZW5kcyBCYXNlM2RTZXJpZXNDb21wb25lbnQ8VD5cbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGxpdGhvdHlwZXM6IE9ic2VydmFibGU8XG4gICAge1xuICAgICAgY29tcG9uZW50OiBUSFJFRS5NZXNoPFRIUkVFLlBsYW5lR2VvbWV0cnksIFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsPjtcbiAgICAgIHBvc2l0aW9uOiBudW1iZXI7XG4gICAgfVtdW11cbiAgPjtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTWF0aCA9IE1hdGg7XG5cbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgc3ZjOiBDaGFydDNkU2VydmljZSwgb3ZlcnJpZGUgbmd0U3RvcmU6IE5ndFN0b3JlKSB7XG4gICAgc3VwZXIoc3ZjLCBuZ3RTdG9yZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpdGhvdHlwZXMgPSB0aGlzLnN2Yy5zY2FsZXMucGlwZShcbiAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICBtYXAoKHNjYWxlcykgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJpZXM/LmRhdGEubWFwKChfKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlU1ZHVGV4dHVyZShcbiAgICAgICAgICAgIHNjYWxlcy55KF8ueSksXG4gICAgICAgICAgICBzY2FsZXMueShfLnkxKSxcbiAgICAgICAgICAgIF8ubGl0aG90eXBlSWRcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZVNWR1RleHR1cmUoeTogbnVtYmVyLCB5MTogbnVtYmVyLCBsaXRvdHlwZUlkOiBudW1iZXIpIHtcbiAgICBjb25zdCBtYXggPSBNYXRoLm1heCh5LCB5MSk7XG4gICAgY29uc3QgbWluID0gTWF0aC5taW4oeSwgeTEpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguYWJzKG1heCAtIG1pbik7XG4gICAgY29uc3QgaWNvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCNpY29uJHtsaXRvdHlwZUlkfWApO1xuICAgIGNvbnN0IHN2Z1N0cmluZyA9IGA8c3ZnIHdpZHRoPVwiMTAwXCIgaGVpZ2h0PVwiMTAwXCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj4ke2ljb24uaW5uZXJIVE1MfTwvc3ZnPmA7XG5cbiAgICBjb25zdCBsb2FkZXIgPSBuZXcgVEhSRUUuVGV4dHVyZUxvYWRlcigpO1xuICAgIGNvbnN0IHRleHR1cmUgPSBsb2FkZXIubG9hZChcbiAgICAgIGBkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwke2VuY29kZVVSSUNvbXBvbmVudChzdmdTdHJpbmcpfWBcbiAgICApO1xuICAgIGNvbnN0IHBsYW5lID0gdGhpcy5jcmVhdGVUZXh0dXJlZFBsYW5lKHRleHR1cmUsIDEwMCwgaGVpZ2h0KTtcbiAgICBjb25zdCBwbGFuZTEgPSB0aGlzLmNyZWF0ZVRleHR1cmVkUGxhbmUodGV4dHVyZSwgMjUsIGhlaWdodCk7XG4gICAgcGxhbmUucm90YXRpb24uc2V0KDAsIE1hdGguUEkgLyAyLCAwKTtcbiAgICBwbGFuZS5wb3NpdGlvbi5zZXQoMC4xNywgbWluICsgaGVpZ2h0IC8gMiwgMCk7XG4gICAgcGxhbmUxLnBvc2l0aW9uLnNldCgyNSAvIDIsIG1pbiArIGhlaWdodCAvIDIsIC01MCArIDAuMTcpO1xuICAgIHJldHVybiBbXG4gICAgICB7IGNvbXBvbmVudDogcGxhbmUsIHBvc2l0aW9uOiBtaW4gKyBoZWlnaHQgLyAyIH0sXG4gICAgICB7IGNvbXBvbmVudDogcGxhbmUxLCBwb3NpdGlvbjogbWluICsgaGVpZ2h0IC8gMiB9LFxuICAgIF07XG4gIH1cblxuICBjcmVhdGVUZXh0dXJlZFBsYW5lKHRleHR1cmU6IFRleHR1cmUsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSB7XG4gICAgdGV4dHVyZS53cmFwUyA9IFRIUkVFLlJlcGVhdFdyYXBwaW5nO1xuICAgIHRleHR1cmUud3JhcFQgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICB0ZXh0dXJlLnJlcGVhdC5zZXQoMTAsIDkpO1xuICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHsgbWFwOiB0ZXh0dXJlIH0pO1xuICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IFRIUkVFLlBsYW5lR2VvbWV0cnkod2lkdGgsIGhlaWdodCwgMSwgMSk7XG4gICAgY29uc3QgdXZzID0gZ2VvbWV0cnkuYXR0cmlidXRlc1sndXYnXS5hcnJheTtcbiAgICBjb25zdCBuZXdVdnMgPSBuZXcgRmxvYXQzMkFycmF5KHV2cyk7XG4gICAgbmV3VXZzWzBdID0gMDtcbiAgICBuZXdVdnNbMV0gPSAwO1xuICAgIG5ld1V2c1syXSA9IHdpZHRoIC8gMTAwO1xuICAgIG5ld1V2c1szXSA9IDA7XG4gICAgbmV3VXZzWzRdID0gMDtcbiAgICBuZXdVdnNbNV0gPSBoZWlnaHQgLyAxMDA7XG4gICAgbmV3VXZzWzZdID0gd2lkdGggLyAxMDA7XG4gICAgbmV3VXZzWzddID0gaGVpZ2h0IC8gMTAwO1xuICAgIGdlb21ldHJ5LmF0dHJpYnV0ZXNbJ3V2J10ubmVlZHNVcGRhdGUgPSB0cnVlO1xuICAgIGdlb21ldHJ5LnNldEF0dHJpYnV0ZSgndXYnLCBuZXcgVEhSRUUuQnVmZmVyQXR0cmlidXRlKG5ld1V2cywgMikpO1xuICAgIGNvbnN0IHBsYW5lID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKTtcbiAgICByZXR1cm4gcGxhbmU7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIntsaXRob3R5cGVzOmxpdGhvdHlwZXN8YXN5bmMsc2NhbGVzOnN2Yy5zY2FsZXN8YXN5bmN9YXMgZGF0YVwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZXNoIG9mIGRhdGEubGl0aG90eXBlcztsZXQgaT1pbmRleFwiPlxuICAgIDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW21lc2hbMF0uY29tcG9uZW50XVwiPjwvbmd0LXByaW1pdGl2ZT5cbiAgICA8bmd0cy10ZXh0IFt0ZXh0XT1cInNlcmllcy5kYXRhW2ldLmxpdGhvdHlwZU5hbWVcIlxuICAgICAgICAgICAgICAgY29sb3I9XCJibGFja1wiXG4gICAgICAgICAgICAgICBbZm9udFNpemVdPVwiMi41XCJcbiAgICAgICAgICAgICAgIFtyb3RhdGlvbl09XCJbMCxNYXRoLlBJLzIsMF1cIlxuICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cIlsxLG1lc2hbMF0ucG9zaXRpb24sNV1cIlxuICAgICAgICAgICAgICAgW3RleHRBbGlnbl09XCInbGVmdCdcIlxuICAgICAgICAgICAgICAgW2FuY2hvclhdPVwiJ2NlbnRlcidcIlxuICAgICAgICAgICAgICAgW2FuY2hvclldPVwiJ21pZGRsZSdcIj48L25ndHMtdGV4dD5cbiAgICA8bmd0LXByaW1pdGl2ZSAqYXJncz1cIlttZXNoWzFdLmNvbXBvbmVudF1cIj48L25ndC1wcmltaXRpdmU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy0zZC1taW4tbWF4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9tb2RlbC9heGVzLTNkLW1pbi1tYXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXhlczNkTWluTWF4IHtcbiAgeDpbbnVtYmVyLG51bWJlcl0sXG4gIHk6W251bWJlcixudW1iZXJdLFxuICB6OltudW1iZXIsbnVtYmVyXSxcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy0zZC1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvYXhpcy0zZC1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBeGlzM2RQb2ludCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHBvc2l0aW9uOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS0zZC1zZXJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L21vZGVsL2Jhc2UtM2Qtc2VyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlM2RUaHJlZVBvaW50IH0gZnJvbSAnLi9iYXNlLTNkLXRocmVlLXBvaW50JztcbmltcG9ydCB7IFNlcmllczNkVHlwZSB9IGZyb20gJy4vZW51bS9zZXJpZXMtM2QtdHlwZSc7XG5pbXBvcnQgeyBCYXNlM2RTZXJpZXNDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLTNkLXNlcmllcy9iYXNlM2Qtc2VyaWVzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZTNkU2VyaWVzPFQgZXh0ZW5kcyBCYXNlM2RUaHJlZVBvaW50PiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU6IFNlcmllczNkVHlwZTtcbiAgY29tcG9uZW50PzogdHlwZW9mIEJhc2UzZFNlcmllc0NvbXBvbmVudDtcbiAgZGF0YTogVFtdO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgY29sb3I/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS0zZC10aHJlZS1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvYmFzZS0zZC10aHJlZS1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCYXNlM2RUaHJlZVBvaW50IHtcbiAgeDogbnVtYmVyO1xuICB4MT86IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB5MT86IG51bWJlcjtcbiAgejogbnVtYmVyO1xuICB6MT86IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './series-3d-type';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvZW51bS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Nlcmllcy0zZC10eXBlJztcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var Series3dType;
|
|
2
|
+
(function (Series3dType) {
|
|
3
|
+
Series3dType[Series3dType["line"] = 0] = "line";
|
|
4
|
+
Series3dType[Series3dType["lithotype"] = 1] = "lithotype";
|
|
5
|
+
})(Series3dType || (Series3dType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLTNkLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L21vZGVsL2VudW0vc2VyaWVzLTNkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUN0QiwrQ0FBSSxDQUFBO0lBQ0oseURBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxZQUFZLEtBQVosWUFBWSxRQUd2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNlcmllczNkVHlwZSB7XG4gIGxpbmUsXG4gIGxpdGhvdHlwZSxcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS0zZC1jaGFydC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L21vZGVsL2ktM2QtY2hhcnQtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlM2RTZXJpZXMgfSBmcm9tICcuL2Jhc2UtM2Qtc2VyaWVzJztcbmltcG9ydCB7IEJhc2UzZFRocmVlUG9pbnQgfSBmcm9tICcuL2Jhc2UtM2QtdGhyZWUtcG9pbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEkzZENoYXJ0Q29uZmlnIHtcbiAgc2VyaWVzPzogQmFzZTNkU2VyaWVzPEJhc2UzZFRocmVlUG9pbnQ+W107XG4gIG5vRGF0YVRleHQ/OiBzdHJpbmc7XG4gIHhBeGlzPzogbWluTWF4O1xuICB5QXhpcz86IG1pbk1heDtcbiAgekF4aXM/OiBtaW5NYXg7XG59XG5pbnRlcmZhY2UgbWluTWF4IHtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS0zZC1wb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvbGluZS0zZC1wb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMaW5lM2RQb2ludCB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB6OiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS0zZC1zZXJpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L21vZGVsL2xpbmUtM2Qtc2VyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlM2RTZXJpZXMgfSBmcm9tICcuL2Jhc2UtM2Qtc2VyaWVzJztcbmltcG9ydCB7IFNlcmllczNkVHlwZSB9IGZyb20gJy4vZW51bS9zZXJpZXMtM2QtdHlwZSc7XG5pbXBvcnQgeyBMaW5lM2RQb2ludCB9IGZyb20gJy4vbGluZS0zZC1wb2ludCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZTNkU2VyaWVzIGV4dGVuZHMgQmFzZTNkU2VyaWVzPExpbmUzZFBvaW50PiB7XG4gIHR5cGU6IFNlcmllczNkVHlwZS5saW5lO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0aG90eXBlLTNkLXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9tb2RlbC9saXRob3R5cGUtM2QtcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2UzZFRocmVlUG9pbnQgfSBmcm9tICcuL2Jhc2UtM2QtdGhyZWUtcG9pbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpdGhvdHlwZTNkUG9pbnQgZXh0ZW5kcyBCYXNlM2RUaHJlZVBvaW50IHtcbiAgbGl0aG90eXBlSWQ6IG51bWJlcjtcbiAgbGl0aG90eXBlTmFtZT86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0aG90eXBlLTNkLXNlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvbGl0aG90eXBlLTNkLXNlcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZTNkU2VyaWVzIH0gZnJvbSAnLi9iYXNlLTNkLXNlcmllcyc7XG5pbXBvcnQgeyBTZXJpZXMzZFR5cGUgfSBmcm9tICcuL2VudW0vc2VyaWVzLTNkLXR5cGUnO1xuaW1wb3J0IHsgTGl0aG90eXBlM2RQb2ludCB9IGZyb20gJy4vbGl0aG90eXBlLTNkLXBvaW50JztcblxuZXhwb3J0IGludGVyZmFjZSBMaXRob3R5cGUzZFNlcmllcyBleHRlbmRzIEJhc2UzZFNlcmllczxMaXRob3R5cGUzZFBvaW50PiB7XG4gIHR5cGU6IFNlcmllczNkVHlwZS5saXRob3R5cGU7XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './axes-3d-min-max';
|
|
2
|
+
export * from './axis-3d-point';
|
|
3
|
+
export * from './base-3d-three-point';
|
|
4
|
+
export * from './base-3d-series';
|
|
5
|
+
export * from './enum/public-api';
|
|
6
|
+
export * from './i-3d-chart-config';
|
|
7
|
+
export * from './line-3d-point';
|
|
8
|
+
export * from './line-3d-series';
|
|
9
|
+
export * from './lithotype-3d-point';
|
|
10
|
+
export * from './lithotype-3d-series';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvbW9kZWwvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9heGVzLTNkLW1pbi1tYXgnO1xuZXhwb3J0ICogZnJvbSAnLi9heGlzLTNkLXBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS0zZC10aHJlZS1wb2ludCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtM2Qtc2VyaWVzJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaS0zZC1jaGFydC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5lLTNkLXBvaW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGluZS0zZC1zZXJpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saXRob3R5cGUtM2QtcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXRob3R5cGUtM2Qtc2VyaWVzJztcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, CUSTOM_ELEMENTS_SCHEMA, inject, } from '@angular/core';
|
|
2
|
+
import { NgtsOrbitControls } from 'angular-three-soba/controls';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { NgtStore } from 'angular-three';
|
|
5
|
+
import { Chart3dService } from '../service/chart-3d.service';
|
|
6
|
+
import { Area3dComponent } from '../area-3d/area-3d.component';
|
|
7
|
+
import { Line3dComponent } from '../line-3d/line-3d.component';
|
|
8
|
+
import { Axes3dComponent } from '../axes-3d/axes-3d.component';
|
|
9
|
+
import { Lithotype3dComponent } from '../lithotype-3d/lithotype-3d.component';
|
|
10
|
+
import { Series3dHost } from '../directive/series-3d-host';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/common";
|
|
13
|
+
export class SceneComponent {
|
|
14
|
+
data;
|
|
15
|
+
rotation;
|
|
16
|
+
store = inject(NgtStore);
|
|
17
|
+
Math = Math;
|
|
18
|
+
chartService = inject(Chart3dService);
|
|
19
|
+
_cdr = inject(ChangeDetectorRef);
|
|
20
|
+
constructor() {
|
|
21
|
+
this.data = this.chartService.data;
|
|
22
|
+
}
|
|
23
|
+
setRotation() {
|
|
24
|
+
this.rotation = null;
|
|
25
|
+
this._cdr.detectChanges();
|
|
26
|
+
this.rotation = this.store.get('camera').rotation;
|
|
27
|
+
this._cdr.detectChanges();
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
this.rotation = this.store.get('camera').rotation;
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SceneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
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\" [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", 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 });
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SceneComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ standalone: true, selector: 'teta-scene', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
38
|
+
NgtsOrbitControls,
|
|
39
|
+
CommonModule,
|
|
40
|
+
Area3dComponent,
|
|
41
|
+
Line3dComponent,
|
|
42
|
+
Axes3dComponent,
|
|
43
|
+
Lithotype3dComponent,
|
|
44
|
+
Series3dHost,
|
|
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
|
+
}], ctorParameters: function () { return []; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9zY2VuZS9zY2VuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3NjZW5lL3NjZW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWtCM0QsTUFBTSxPQUFPLGNBQWM7SUFDbEIsSUFBSSxDQUE2QjtJQUNqQyxRQUFRLENBQVE7SUFDUCxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLElBQUksR0FBRyxJQUFJLENBQUM7SUFDWixZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RDLElBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRDtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNwRCxDQUFDO3VHQXBCVSxjQUFjOzJGQUFkLGNBQWMsc0VDckMzQixxZ0JBYUEsNENEY0ksaUJBQWlCLDBNQUNqQixZQUFZLHFUQUNaLGVBQWUseURBRWYsZUFBZSwrRUFFZixZQUFZOzsyRkFJSCxjQUFjO2tCQWhCMUIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLFlBQVk7cUJBQ2IsV0FDUSxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIGluamVjdCxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1bGVyIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c09yYml0Q29udHJvbHMgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvY29udHJvbHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5ndFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFydDNkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IEFyZWEzZENvbXBvbmVudCB9IGZyb20gJy4uL2FyZWEtM2QvYXJlYS0zZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGluZTNkQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluZS0zZC9saW5lLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBeGVzM2RDb21wb25lbnQgfSBmcm9tICcuLi9heGVzLTNkL2F4ZXMtM2QuY29tcG9uZW50JztcbmltcG9ydCB7IExpdGhvdHlwZTNkQ29tcG9uZW50IH0gZnJvbSAnLi4vbGl0aG90eXBlLTNkL2xpdGhvdHlwZS0zZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VyaWVzM2RIb3N0IH0gZnJvbSAnLi4vZGlyZWN0aXZlL3Nlcmllcy0zZC1ob3N0JztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndGV0YS1zY2VuZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2VuZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmd0c09yYml0Q29udHJvbHMsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFyZWEzZENvbXBvbmVudCxcbiAgICBMaW5lM2RDb21wb25lbnQsXG4gICAgQXhlczNkQ29tcG9uZW50LFxuICAgIExpdGhvdHlwZTNkQ29tcG9uZW50LFxuICAgIFNlcmllczNkSG9zdCxcbiAgXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBTY2VuZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBkYXRhOiBPYnNlcnZhYmxlPEkzZENoYXJ0Q29uZmlnPjtcbiAgcHVibGljIHJvdGF0aW9uOiBFdWxlcjtcbiAgcHVibGljIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KE5ndFN0b3JlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IE1hdGggPSBNYXRoO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRTZXJ2aWNlID0gaW5qZWN0KENoYXJ0M2RTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmNoYXJ0U2VydmljZS5kYXRhO1xuICB9XG5cbiAgc2V0Um90YXRpb24oKSB7XG4gICAgdGhpcy5yb3RhdGlvbiA9IG51bGw7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnJvdGF0aW9uID0gdGhpcy5zdG9yZS5nZXQoJ2NhbWVyYScpLnJvdGF0aW9uO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdGF0aW9uID0gdGhpcy5zdG9yZS5nZXQoJ2NhbWVyYScpLnJvdGF0aW9uO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwie2RhdGE6ZGF0YXxhc3luY30gYXMgY29uZmlnXCI+XG4gIDxuZ3Qtc2NlbmU+XG4gICAgPG5ndHMtb3JiaXQtY29udHJvbHMgW21pbkF6aW11dGhBbmdsZV09XCIwXCIgW21heEF6aW11dGhBbmdsZV09XCJNYXRoLlBJLzJcIiBbbWF4Wm9vbV09XCIxNVwiIFttaW5ab29tXT1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0Um90YXRpb24oKVwiPjwvbmd0cy1vcmJpdC1jb250cm9scz5cbiAgPC9uZ3Qtc2NlbmU+XG4gIDx0ZXRhLWFyZWEtM2Q+PC90ZXRhLWFyZWEtM2Q+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHMgb2YgY29uZmlnLmRhdGEuc2VyaWVzXCI+XG4gICAgPGRpdiB0ZXRhLXNlcmllcy0zZC1ob3N0IFtzZXJpZXNdPVwic1wiPjwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPHRldGEtYXhlcy0zZCBbcm90YXRpb25dPVwicm90YXRpb25cIj48L3RldGEtYXhlcy0zZD5cbjwvbmctY29udGFpbmVyPlxuXG5cbiJdfQ==
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { map, ReplaySubject, shareReplay } from 'rxjs';
|
|
3
|
+
import * as d3 from 'd3';
|
|
4
|
+
import { tap } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class Chart3dService {
|
|
7
|
+
minMax;
|
|
8
|
+
data;
|
|
9
|
+
scales;
|
|
10
|
+
minMax$ = new ReplaySubject(1);
|
|
11
|
+
data$ = new ReplaySubject(1);
|
|
12
|
+
constructor() {
|
|
13
|
+
this.data = this.data$.asObservable();
|
|
14
|
+
this.minMax = this.minMax$.asObservable();
|
|
15
|
+
this.data
|
|
16
|
+
.pipe(tap((_) => {
|
|
17
|
+
this.minMax$.next(this.getAxesMinMax(_));
|
|
18
|
+
}))
|
|
19
|
+
.subscribe();
|
|
20
|
+
this.scales = this.minMax.pipe(map((minMax) => {
|
|
21
|
+
return this.getScales(minMax);
|
|
22
|
+
}), shareReplay(1));
|
|
23
|
+
}
|
|
24
|
+
setData(data) {
|
|
25
|
+
this.data$.next(data);
|
|
26
|
+
}
|
|
27
|
+
getAxesMinMax(data) {
|
|
28
|
+
const zArr = data.series
|
|
29
|
+
.map((_) => {
|
|
30
|
+
return _.data.map((d) => d.z);
|
|
31
|
+
})
|
|
32
|
+
.flat();
|
|
33
|
+
const xArr = data.series
|
|
34
|
+
.map((_) => {
|
|
35
|
+
return _.data.map((d) => d.x);
|
|
36
|
+
})
|
|
37
|
+
.flat();
|
|
38
|
+
const yArr = data.series
|
|
39
|
+
.map((_) => {
|
|
40
|
+
return _.data.map((d) => d.y);
|
|
41
|
+
})
|
|
42
|
+
.flat();
|
|
43
|
+
const ZMinMaxVal = [Math.min(...zArr), Math.max(...zArr)];
|
|
44
|
+
const XMinMaxVal = [Math.min(...xArr), Math.max(...xArr)];
|
|
45
|
+
const YMinMaxVal = [Math.min(...yArr), Math.max(...yArr)];
|
|
46
|
+
return {
|
|
47
|
+
z: this.getMinMaxRange(ZMinMaxVal, data.zAxis?.min, data.zAxis?.max),
|
|
48
|
+
x: this.getMinMaxRange(XMinMaxVal, data.xAxis?.min, data.xAxis?.max),
|
|
49
|
+
y: this.getMinMaxRange(YMinMaxVal, data.yAxis?.min, data.yAxis?.max),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
getMinMaxRange(minMax, axisMin, axisMax) {
|
|
53
|
+
const min = axisMin ||
|
|
54
|
+
(minMax[0] === minMax[1]
|
|
55
|
+
? minMax[0] - Math.abs(minMax[0] - 1) * 0.1
|
|
56
|
+
: minMax[0]);
|
|
57
|
+
const max = axisMax ||
|
|
58
|
+
(minMax[0] === minMax[1]
|
|
59
|
+
? minMax[1] + Math.abs(minMax[1] + 1) * 0.1
|
|
60
|
+
: minMax[1]);
|
|
61
|
+
return [min, max];
|
|
62
|
+
}
|
|
63
|
+
getScales(axesMinMax) {
|
|
64
|
+
const z = d3.scaleLinear().domain(axesMinMax.z).range([50, -50]);
|
|
65
|
+
const x = d3.scaleLinear().domain(axesMinMax.x).range([25, 0]);
|
|
66
|
+
const y = d3.scaleLinear().domain(axesMinMax.y).range([50, -50]);
|
|
67
|
+
return {
|
|
68
|
+
x,
|
|
69
|
+
y,
|
|
70
|
+
z,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Chart3dService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Chart3dService, providedIn: 'root' });
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Chart3dService, decorators: [{
|
|
77
|
+
type: Injectable,
|
|
78
|
+
args: [{
|
|
79
|
+
providedIn: 'root',
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: function () { return []; } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtM2Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR25FLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLckMsTUFBTSxPQUFPLGNBQWM7SUFDbEIsTUFBTSxDQUEyQjtJQUNqQyxJQUFJLENBQTZCO0lBQ2pDLE1BQU0sQ0FBMEI7SUFDL0IsT0FBTyxHQUNiLElBQUksYUFBYSxDQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzdCLEtBQUssR0FDWCxJQUFJLGFBQWEsQ0FBaUIsQ0FBQyxDQUFDLENBQUM7SUFDdkM7UUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJO2FBQ04sSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsQ0FBQyxN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O1lBQ1AsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHO2dCQUMzQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakIsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQ08sU0FBUyxDQUFDLFVBQXdCO1FBQ3hDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRSxPQUFPO1lBQ0wsQ0FBQztZQUNELENBQUM7WUFDRCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7dUdBaEZVLGNBQWM7MkdBQWQsY0FBYyxjQUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSTNkQ2hhcnRDb25maWcgfSBmcm9tICcuLi9tb2RlbC9pLTNkLWNoYXJ0LWNvbmZpZyc7XG5pbXBvcnQgeyBBeGVzM2RNaW5NYXggfSBmcm9tICcuLi9tb2RlbC9heGVzLTNkLW1pbi1tYXgnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnQzZFNlcnZpY2Uge1xuICBwdWJsaWMgbWluTWF4OiBPYnNlcnZhYmxlPEF4ZXMzZE1pbk1heD47XG4gIHB1YmxpYyBkYXRhOiBPYnNlcnZhYmxlPEkzZENoYXJ0Q29uZmlnPjtcbiAgcHVibGljIHNjYWxlczogT2JzZXJ2YWJsZTx7IHg7IHk7IHogfT47XG4gIHByaXZhdGUgbWluTWF4JDogUmVwbGF5U3ViamVjdDxBeGVzM2RNaW5NYXg+ID1cbiAgICBuZXcgUmVwbGF5U3ViamVjdDxBeGVzM2RNaW5NYXg+KDEpO1xuICBwcml2YXRlIGRhdGEkOiBSZXBsYXlTdWJqZWN0PEkzZENoYXJ0Q29uZmlnPiA9XG4gICAgbmV3IFJlcGxheVN1YmplY3Q8STNkQ2hhcnRDb25maWc+KDEpO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMubWluTWF4ID0gdGhpcy5taW5NYXgkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuZGF0YVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoXykgPT4ge1xuICAgICAgICAgIHRoaXMubWluTWF4JC5uZXh0KHRoaXMuZ2V0QXhlc01pbk1heChfKSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLnNjYWxlcyA9IHRoaXMubWluTWF4LnBpcGUoXG4gICAgICBtYXAoKG1pbk1heCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTY2FsZXMobWluTWF4KTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG4gIHNldERhdGEoZGF0YSkge1xuICAgIHRoaXMuZGF0YSQubmV4dChkYXRhKTtcbiAgfVxuICBwcml2YXRlIGdldEF4ZXNNaW5NYXgoZGF0YTogSTNkQ2hhcnRDb25maWcpOiBBeGVzM2RNaW5NYXgge1xuICAgIGNvbnN0IHpBcnI6IG51bWJlcltdID0gZGF0YS5zZXJpZXNcbiAgICAgIC5tYXAoKF8pID0+IHtcbiAgICAgICAgcmV0dXJuIF8uZGF0YS5tYXAoKGQpID0+IGQueik7XG4gICAgICB9KVxuICAgICAgLmZsYXQoKTtcbiAgICBjb25zdCB4QXJyOiBudW1iZXJbXSA9IGRhdGEuc2VyaWVzXG4gICAgICAubWFwKChfKSA9PiB7XG4gICAgICAgIHJldHVybiBfLmRhdGEubWFwKChkKSA9PiBkLngpO1xuICAgICAgfSlcbiAgICAgIC5mbGF0KCk7XG4gICAgY29uc3QgeUFycjogbnVtYmVyW10gPSBkYXRhLnNlcmllc1xuICAgICAgLm1hcCgoXykgPT4ge1xuICAgICAgICByZXR1cm4gXy5kYXRhLm1hcCgoZCkgPT4gZC55KTtcbiAgICAgIH0pXG4gICAgICAuZmxhdCgpO1xuICAgIGNvbnN0IFpNaW5NYXhWYWw6IFtudW1iZXIsIG51bWJlcl0gPSBbTWF0aC5taW4oLi4uekFyciksIE1hdGgubWF4KC4uLnpBcnIpXTtcbiAgICBjb25zdCBYTWluTWF4VmFsOiBbbnVtYmVyLCBudW1iZXJdID0gW01hdGgubWluKC4uLnhBcnIpLCBNYXRoLm1heCguLi54QXJyKV07XG4gICAgY29uc3QgWU1pbk1heFZhbDogW251bWJlciwgbnVtYmVyXSA9IFtNYXRoLm1pbiguLi55QXJyKSwgTWF0aC5tYXgoLi4ueUFycildO1xuICAgIHJldHVybiB7XG4gICAgICB6OiB0aGlzLmdldE1pbk1heFJhbmdlKFpNaW5NYXhWYWwsIGRhdGEuekF4aXM/Lm1pbiwgZGF0YS56QXhpcz8ubWF4KSxcbiAgICAgIHg6IHRoaXMuZ2V0TWluTWF4UmFuZ2UoWE1pbk1heFZhbCwgZGF0YS54QXhpcz8ubWluLCBkYXRhLnhBeGlzPy5tYXgpLFxuICAgICAgeTogdGhpcy5nZXRNaW5NYXhSYW5nZShZTWluTWF4VmFsLCBkYXRhLnlBeGlzPy5taW4sIGRhdGEueUF4aXM/Lm1heCksXG4gICAgfTtcbiAgfVxuICBwcml2YXRlIGdldE1pbk1heFJhbmdlKFxuICAgIG1pbk1heDogW251bWJlciwgbnVtYmVyXSxcbiAgICBheGlzTWluOiBudW1iZXIsXG4gICAgYXhpc01heDogbnVtYmVyXG4gICk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgIGNvbnN0IG1pbiA9XG4gICAgICBheGlzTWluIHx8XG4gICAgICAobWluTWF4WzBdID09PSBtaW5NYXhbMV1cbiAgICAgICAgPyBtaW5NYXhbMF0gLSBNYXRoLmFicyhtaW5NYXhbMF0gLSAxKSAqIDAuMVxuICAgICAgICA6IG1pbk1heFswXSk7XG4gICAgY29uc3QgbWF4ID1cbiAgICAgIGF4aXNNYXggfHxcbiAgICAgIChtaW5NYXhbMF0gPT09IG1pbk1heFsxXVxuICAgICAgICA/IG1pbk1heFsxXSArIE1hdGguYWJzKG1pbk1heFsxXSArIDEpICogMC4xXG4gICAgICAgIDogbWluTWF4WzFdKTtcbiAgICByZXR1cm4gW21pbiwgbWF4XTtcbiAgfVxuICBwcml2YXRlIGdldFNjYWxlcyhheGVzTWluTWF4OiBBeGVzM2RNaW5NYXgpIHtcbiAgICBjb25zdCB6ID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYXhlc01pbk1heC56KS5yYW5nZShbNTAsIC01MF0pO1xuICAgIGNvbnN0IHggPSBkMy5zY2FsZUxpbmVhcigpLmRvbWFpbihheGVzTWluTWF4LngpLnJhbmdlKFsyNSwgMF0pO1xuICAgIGNvbnN0IHkgPSBkMy5zY2FsZUxpbmVhcigpLmRvbWFpbihheGVzTWluTWF4LnkpLnJhbmdlKFs1MCwgLTUwXSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHgsXG4gICAgICB5LFxuICAgICAgeixcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, 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 * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
extend(THREE);
|
|
11
|
+
export class ThreeChartComponent {
|
|
12
|
+
data;
|
|
13
|
+
scene;
|
|
14
|
+
camera;
|
|
15
|
+
chartService = inject(Chart3dService);
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.scene = SceneComponent;
|
|
18
|
+
this.camera = new OrthographicCamera(20, 20, 20, 20, 0.1, 1000);
|
|
19
|
+
this.camera.position.set(100, 20, 70);
|
|
20
|
+
this.camera.zoom = 4.5;
|
|
21
|
+
this.camera.updateProjectionMatrix();
|
|
22
|
+
}
|
|
23
|
+
ngOnChanges(changes) {
|
|
24
|
+
if (this.data?.series?.length) {
|
|
25
|
+
this.chartService.setData(this.data);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThreeChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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 <ngt-canvas *ngIf=\"data?.series?.length;else noData\" [sceneGraph]=\"scene\"\n [camera]=\"camera\">\n </ngt-canvas>\n <ng-template #noData>\n <p>{{data.noDataText}}</p>\n </ng-template>\n</div>\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 });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThreeChartComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'teta-three-chart', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgtStore], imports: [NgtCanvas, SceneComponent, CommonModule], template: "<div class=\"column_auto column justify-content-center align-center\" style=\"height: 100%;width: 100%;\">\n <ngt-canvas *ngIf=\"data?.series?.length;else noData\" [sceneGraph]=\"scene\"\n [camera]=\"camera\">\n </ngt-canvas>\n <ng-template #noData>\n <p>{{data.noDataText}}</p>\n </ng-template>\n</div>\n", styles: [":host{width:100%;height:100%}\n"] }]
|
|
34
|
+
}], propDecorators: { data: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC90aHJlZS1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3RocmVlLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsTUFBTSxFQUNOLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUU1RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFZZCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLElBQUksQ0FBaUI7SUFDdkIsS0FBSyxDQUF3QjtJQUM3QixNQUFNLENBQXFCO0lBQ2YsWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7dUdBbEJVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHlGQUhuQixDQUFDLFFBQVEsQ0FBQywrQ0M1QnZCLHVVQVFBLHlGRHFCWSxTQUFTLDRUQUFrQixZQUFZOzsyRkFFdEMsbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLGtCQUFrQixjQUdoQixJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsQ0FBQyxtQkFDaEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLFFBQVEsQ0FBQyxXQUNaLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUM7OEJBR3pDLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIE5ndENhbnZhcywgTmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE9ydGhvZ3JhcGhpY0NhbWVyYSB9IGZyb20gJ3RocmVlJztcblxuaW1wb3J0IHsgSTNkQ2hhcnRDb25maWcgfSBmcm9tICcuL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50IH0gZnJvbSAnLi9zY2VuZS9zY2VuZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhcnQzZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5cbmV4dGVuZChUSFJFRSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtdGhyZWUtY2hhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGhyZWUtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aHJlZS1jaGFydC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtOZ3RTdG9yZV0sXG4gIGltcG9ydHM6IFtOZ3RDYW52YXMsIFNjZW5lQ29tcG9uZW50LCBDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBUaHJlZUNoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhOiBJM2RDaGFydENvbmZpZztcbiAgcHVibGljIHNjZW5lOiB0eXBlb2YgU2NlbmVDb21wb25lbnQ7XG4gIHB1YmxpYyBjYW1lcmE6IE9ydGhvZ3JhcGhpY0NhbWVyYTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYXJ0U2VydmljZSA9IGluamVjdChDaGFydDNkU2VydmljZSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zY2VuZSA9IFNjZW5lQ29tcG9uZW50O1xuICAgIHRoaXMuY2FtZXJhID0gbmV3IE9ydGhvZ3JhcGhpY0NhbWVyYSgyMCwgMjAsIDIwLCAyMCwgMC4xLCAxMDAwKTtcbiAgICB0aGlzLmNhbWVyYS5wb3NpdGlvbi5zZXQoMTAwLCAyMCwgNzApO1xuICAgIHRoaXMuY2FtZXJhLnpvb20gPSA0LjU7XG4gICAgdGhpcy5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGE/LnNlcmllcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNoYXJ0U2VydmljZS5zZXREYXRhKHRoaXMuZGF0YSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sdW1uX2F1dG8gY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24tY2VudGVyXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7d2lkdGg6IDEwMCU7XCI+XG4gIDxuZ3QtY2FudmFzICpuZ0lmPVwiZGF0YT8uc2VyaWVzPy5sZW5ndGg7ZWxzZSBub0RhdGFcIiBbc2NlbmVHcmFwaF09XCJzY2VuZVwiXG4gICAgICAgICAgICAgIFtjYW1lcmFdPVwiY2FtZXJhXCI+XG4gIDwvbmd0LWNhbnZhcz5cbiAgPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gICAgPHA+e3tkYXRhLm5vRGF0YVRleHR9fTwvcD5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
@@ -61,10 +61,10 @@ export class ToggleComponent {
|
|
|
61
61
|
this.disabled = isDisabled;
|
|
62
62
|
this.cdr.markForCheck();
|
|
63
63
|
}
|
|
64
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
65
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
64
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: ToggleComponent, selector: "teta-toggle", inputs: { palette: "palette", noLabel: "noLabel", disabled: "disabled" }, host: { listeners: { "click": "changeValue()" }, properties: { "attr.tabindex": "this.tabindex", "class.toggle": "this.toggleClass", "class.toggle_disabled": "this.disabled" } }, providers: [TOGGLE_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<span class=\"font-body-3 row_auto\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n<div class=\"toggle-button\" [class.toggle-button-on]=\"model\" [ngClass]=\"paletteClass\">\n <div class=\"toggle-button-circle\"></div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToggleComponent, decorators: [{
|
|
68
68
|
type: Component,
|
|
69
69
|
args: [{ selector: 'teta-toggle', providers: [TOGGLE_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"font-body-3 row_auto\" *ngIf=\"!noLabel\">\n <ng-content></ng-content>\n</span>\n<div class=\"toggle-button\" [class.toggle-button-on]=\"model\" [ngClass]=\"paletteClass\">\n <div class=\"toggle-button-circle\"></div>\n</div>\n" }]
|
|
70
70
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { tabindex: [{
|
|
@@ -4,11 +4,11 @@ import { ToggleComponent } from './toggle/toggle.component';
|
|
|
4
4
|
import { IconModule } from '../icon/icon.module';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class ToggleModule {
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
8
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
|
9
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: ToggleModule, declarations: [ToggleComponent], imports: [CommonModule, IconModule], exports: [ToggleComponent] });
|
|
9
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToggleModule, imports: [CommonModule, IconModule] });
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToggleModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [ToggleComponent],
|
|
@@ -11,10 +11,10 @@ export class ToolbarComponent {
|
|
|
11
11
|
return result.join(' ');
|
|
12
12
|
}
|
|
13
13
|
ngOnInit() { }
|
|
14
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
15
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: ToolbarComponent, selector: "teta-toolbar", inputs: { palette: "palette", class: "class" }, host: { properties: { "class": "this.getClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToolbarComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{ selector: 'teta-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
|
|
20
20
|
}], propDecorators: { palette: [{
|
|
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { ToolbarComponent } from './toolbar/toolbar.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class ToolbarModule {
|
|
6
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
7
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.
|
|
8
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.
|
|
6
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: ToolbarModule, declarations: [ToolbarComponent], imports: [CommonModule], exports: [ToolbarComponent] });
|
|
8
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToolbarModule, imports: [CommonModule] });
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ToolbarModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
declarations: [ToolbarComponent],
|