ato-water-lib 0.0.42 → 0.0.44
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2020/lib/components/asset-flow/asset-flow.component.mjs +16 -22
- package/esm2020/lib/components/asset-params-view/asset-params-view.component.mjs +2 -2
- package/esm2020/lib/constants/components-group-const.mjs +2 -161
- package/fesm2015/ato-water-lib.mjs +17 -181
- package/fesm2015/ato-water-lib.mjs.map +1 -1
- package/fesm2020/ato-water-lib.mjs +17 -182
- package/fesm2020/ato-water-lib.mjs.map +1 -1
- package/lib/components/asset-flow/asset-flow.component.d.ts +2 -3
- package/package.json +1 -1
@@ -2,7 +2,7 @@ import { Component, EventEmitter, HostListener, Input, Output, ViewChild, } from
|
|
2
2
|
import * as go from 'gojs';
|
3
3
|
import _ from 'lodash';
|
4
4
|
import { AtoGoJSBase64 } from '../../constants/base64.const';
|
5
|
-
import {
|
5
|
+
import { ATO_COMPONENTS_GROUP_DATA, } from '../../constants/components-group-const';
|
6
6
|
import { AtoGojsEditorModel } from '../../models/gojs-editor.model';
|
7
7
|
import { AtoAssetParamsViewComponent } from '../asset-params-view/asset-params-view.component';
|
8
8
|
import { AtoFlowDiagramLibComponent } from '../flow-diagram-lib/flow-diagram-lib.component';
|
@@ -22,7 +22,6 @@ export class AssetFlowComponent {
|
|
22
22
|
}),
|
23
23
|
// isReadOnly: true,
|
24
24
|
};
|
25
|
-
this.isResponsiveView = false;
|
26
25
|
}
|
27
26
|
set flowData(v) {
|
28
27
|
this._flowData = v;
|
@@ -31,24 +30,19 @@ export class AssetFlowComponent {
|
|
31
30
|
get flowData() {
|
32
31
|
return this._flowData;
|
33
32
|
}
|
33
|
+
// @Input() isResponsiveView = false;
|
34
|
+
get isResponsiveView() {
|
35
|
+
return window.innerWidth < 1024;
|
36
|
+
}
|
34
37
|
onResize(event) {
|
35
38
|
// Now only Support Cooling Tower Responsive
|
36
39
|
if (this.timeoutResizeWindow) {
|
37
40
|
clearTimeout(this.timeoutResizeWindow);
|
38
41
|
}
|
39
42
|
this.timeoutResizeWindow = setTimeout(() => {
|
40
|
-
this.checkResponsiveView();
|
41
43
|
this.updateLocationReponsive();
|
42
44
|
}, 1000);
|
43
45
|
}
|
44
|
-
checkResponsiveView() {
|
45
|
-
if (this?.systemType === AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER) {
|
46
|
-
this.isResponsiveView = window.innerWidth < 1024;
|
47
|
-
}
|
48
|
-
else {
|
49
|
-
this.isResponsiveView = false;
|
50
|
-
}
|
51
|
-
}
|
52
46
|
updateLocationReponsive() {
|
53
47
|
if (!this.flowData?.nodeDataArray) {
|
54
48
|
this.flowData = AssetFlowComponent.getDefaultFlowData({
|
@@ -63,7 +57,6 @@ export class AssetFlowComponent {
|
|
63
57
|
this.setFlowData(_.cloneDeep(this.flowData));
|
64
58
|
}
|
65
59
|
ngOnInit() {
|
66
|
-
this.checkResponsiveView();
|
67
60
|
this.updateLocationReponsive();
|
68
61
|
}
|
69
62
|
onClickParamOfTable($event) {
|
@@ -76,13 +69,14 @@ export class AssetFlowComponent {
|
|
76
69
|
linkFromPortIdProperty: 'fromPort',
|
77
70
|
linkToPortIdProperty: 'toPort',
|
78
71
|
};
|
72
|
+
const isResponsiveView = window.innerWidth < 1024;
|
79
73
|
// Reponsive
|
80
74
|
_.forEach(flowData?.nodeDataArray, (node) => {
|
81
|
-
node = _.merge(node, node[`extendedData${
|
75
|
+
node = _.merge(node, node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]);
|
82
76
|
if (node?.assetLayers) {
|
83
77
|
node.visible =
|
84
|
-
node?.assetLayers ===
|
85
|
-
|
78
|
+
node?.assetLayers === defaultData?.assetLayer &&
|
79
|
+
node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]?.visible;
|
86
80
|
}
|
87
81
|
});
|
88
82
|
// assetLayer
|
@@ -96,15 +90,17 @@ export class AssetFlowComponent {
|
|
96
90
|
return flowData;
|
97
91
|
}
|
98
92
|
setFlowData(data) {
|
99
|
-
// const layer = data?.assetLayer ?? this?.assetLayer ?? ATO_ASSET_LAYERS.FLOW;
|
100
93
|
_.forEach(data.nodeDataArray, (node) => {
|
94
|
+
node = _.merge(node, node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]);
|
101
95
|
if (node?.assetLayers) {
|
102
|
-
node.visible =
|
96
|
+
node.visible =
|
97
|
+
node?.assetLayers === data.assetLayer &&
|
98
|
+
node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]
|
99
|
+
?.visible;
|
103
100
|
}
|
104
101
|
});
|
105
102
|
this.flowData = {
|
106
103
|
...data,
|
107
|
-
// nodeDataArray: _.filter(data.nodeDataArray, x => !x?.assetLayers || (x?.assetLayers && x?.assetLayers === data?.assetLayer))
|
108
104
|
};
|
109
105
|
this.updateDataTableAssetParams(data);
|
110
106
|
}
|
@@ -118,7 +114,7 @@ export class AssetFlowComponent {
|
|
118
114
|
}
|
119
115
|
}
|
120
116
|
AssetFlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AssetFlowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
121
|
-
AssetFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AssetFlowComponent, selector: "ato-asset-flow", inputs: { assetLayer: "assetLayer", selectedComponent: "selectedComponent", systemType: "systemType", isUseBase64: "isUseBase64", flowData: "flowData",
|
117
|
+
AssetFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AssetFlowComponent, selector: "ato-asset-flow", inputs: { assetLayer: "assetLayer", selectedComponent: "selectedComponent", systemType: "systemType", isUseBase64: "isUseBase64", flowData: "flowData", getFlowDataCallBack: "getFlowDataCallBack" }, outputs: { onClickParamOfTableEvent: "onClickParamOfTableEvent" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "gjFlowDiagramTemp", first: true, predicate: AtoFlowDiagramLibComponent, descendants: true }, { propertyName: "assetParamsViewTemp", first: true, predicate: AtoAssetParamsViewComponent, descendants: true }], ngImport: i0, template: "<div class=\"h-100 d-flex flex-column flex-gap-3 flex-grow-1 overflow-auto px-3 pb-3\">\n <div class=\"h-100 d-flex flex-column\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n [class]=\"!!isResponsiveView ? 'diagram-responsive-view' : 'flex-grow-1'\"\n ></ato-flow-diagram-lib>\n <div class=\"mt-2\" *ngIf=\"isResponsiveView\">\n <ato-asset-params-view\n #assetParamsViewTemp\n [data]=\"dataTableAssetParams\"\n [isEditView]=\"true\"\n (clickParamTableRow)=\"onClickParamOfTable($event)\"\n ></ato-asset-params-view>\n </div>\n </div>\n</div>\n\n", styles: [".diagram-responsive-view{height:30vh;min-height:30vh}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AtoFlowDiagramLibComponent, selector: "ato-flow-diagram-lib", inputs: ["data", "isLoading"] }, { kind: "directive", type: i3.AtoLoadingDirective, selector: "[atoLoading]", inputs: ["appLoading"] }, { kind: "component", type: i4.AtoAssetParamsViewComponent, selector: "ato-asset-params-view", inputs: ["isEditView", "data"], outputs: ["clickParamTableRow"] }] });
|
122
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AssetFlowComponent, decorators: [{
|
123
119
|
type: Component,
|
124
120
|
args: [{ selector: 'ato-asset-flow', template: "<div class=\"h-100 d-flex flex-column flex-gap-3 flex-grow-1 overflow-auto px-3 pb-3\">\n <div class=\"h-100 d-flex flex-column\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n [class]=\"!!isResponsiveView ? 'diagram-responsive-view' : 'flex-grow-1'\"\n ></ato-flow-diagram-lib>\n <div class=\"mt-2\" *ngIf=\"isResponsiveView\">\n <ato-asset-params-view\n #assetParamsViewTemp\n [data]=\"dataTableAssetParams\"\n [isEditView]=\"true\"\n (clickParamTableRow)=\"onClickParamOfTable($event)\"\n ></ato-asset-params-view>\n </div>\n </div>\n</div>\n\n", styles: [".diagram-responsive-view{height:30vh;min-height:30vh}\n"] }]
|
@@ -140,12 +136,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
140
136
|
type: Input
|
141
137
|
}], flowData: [{
|
142
138
|
type: Input
|
143
|
-
}], isResponsiveView: [{
|
144
|
-
type: Input
|
145
139
|
}], getFlowDataCallBack: [{
|
146
140
|
type: Input
|
147
141
|
}], onResize: [{
|
148
142
|
type: HostListener,
|
149
143
|
args: ['window:resize', ['$event']]
|
150
144
|
}] } });
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvY29tcG9uZW50cy9hc3NldC1mbG93L2Fzc2V0LWZsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXNzZXQtZmxvdy9hc3NldC1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIseUJBQXlCLEdBQzFCLE1BQU0sd0NBQXdDLENBQUM7QUFHaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDL0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7OztBQU81RixNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBYVksNkJBQXdCLEdBQ2hDLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDN0IsTUFBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3hCLFlBQU8sR0FBRztZQUNSLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0Is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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBnbyBmcm9tICdnb2pzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBdG9Hb0pTQmFzZTY0IH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Jhc2U2NC5jb25zdCc7XG5pbXBvcnQge1xuICBBVE9fQVNTRVRfTEFZRVJTLFxuICBBVE9fQ09NUE9ORU5UU19HUk9VUF9EQVRBLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29tcG9uZW50cy1ncm91cC1jb25zdCc7XG5pbXBvcnQgeyBBdG9EZWZhdWx0Rmxvd0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXRvLWFzc2V0LWZsb3cubW9kZWwnO1xuaW1wb3J0IHsgQXRvR29KU0RhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ29qcy1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEF0b0dvanNFZGl0b3JNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nb2pzLWVkaXRvci5tb2RlbCc7XG5pbXBvcnQgeyBBdG9Bc3NldFBhcmFtc1ZpZXdDb21wb25lbnQgfSBmcm9tICcuLi9hc3NldC1wYXJhbXMtdmlldy9hc3NldC1wYXJhbXMtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXRvRmxvd0RpYWdyYW1MaWJDb21wb25lbnQgfSBmcm9tICcuLi9mbG93LWRpYWdyYW0tbGliL2Zsb3ctZGlhZ3JhbS1saWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXRvLWFzc2V0LWZsb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fzc2V0LWZsb3cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXNzZXRGbG93Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYXNzZXRMYXllcjogQVRPX0FTU0VUX0xBWUVSUztcbiAgQFZpZXdDaGlsZChBdG9GbG93RGlhZ3JhbUxpYkNvbXBvbmVudClcbiAgZ2pGbG93RGlhZ3JhbVRlbXA6IEF0b0Zsb3dEaWFncmFtTGliQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKEF0b0Fzc2V0UGFyYW1zVmlld0NvbXBvbmVudClcbiAgYXNzZXRQYXJhbXNWaWV3VGVtcDogQXRvQXNzZXRQYXJhbXNWaWV3Q29tcG9uZW50O1xuICBASW5wdXQoKSBzZWxlY3RlZENvbXBvbmVudDogYW55O1xuICBASW5wdXQoKSBzeXN0ZW1UeXBlOiBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9UWVBFUztcbiAgQE91dHB1dCgpIG9uQ2xpY2tQYXJhbU9mVGFibGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBpc1VzZUJhc2U2NCA9IGZhbHNlO1xuICAkID0gZ28uR3JhcGhPYmplY3QubWFrZTtcbiAgb3B0aW9ucyA9IHtcbiAgICBsYXlvdXQ6IHRoaXMuJChnby5MYXllcmVkRGlncmFwaExheW91dCwge1xuICAgICAgLy8gZGlyZWN0aW9uOiAwLFxuICAgIH0pLFxuICAgIC8vIGlzUmVhZE9ubHk6IHRydWUsXG4gIH07XG5cbiAgcHJpdmF0ZSBfZmxvd0RhdGE6IGFueTtcbiAgQElucHV0KCkgc2V0IGZsb3dEYXRhKHY6IEF0b0dvSlNEYXRhKSB7XG4gICAgdGhpcy5fZmxvd0RhdGEgPSB2O1xuICAgIHRoaXMudXBkYXRlRGF0YVRhYmxlQXNzZXRQYXJhbXMoeyAuLi52LCBhc3NldExheWVyOiB0aGlzLmFzc2V0TGF5ZXIgfSk7XG4gIH1cbiAgZ2V0IGZsb3dEYXRhKCk6IEF0b0dvSlNEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fZmxvd0RhdGE7XG4gIH1cblxuICAvLyBSZXBvbnNpdmVcbiAgZGF0YVRhYmxlQXNzZXRQYXJhbXM6IGFueVtdO1xuICBASW5wdXQoKSBpc1Jlc3BvbnNpdmVWaWV3ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGdldEZsb3dEYXRhQ2FsbEJhY2s6IEZ1bmN0aW9uO1xuXG4gIHRpbWVvdXRSZXNpemVXaW5kb3c7XG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBvblJlc2l6ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBOb3cgb25seSBTdXBwb3J0IENvb2xpbmcgVG93ZXIgUmVzcG9uc2l2ZVxuICAgIGlmICh0aGlzLnRpbWVvdXRSZXNpemVXaW5kb3cpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZXNpemVXaW5kb3cpO1xuICAgIH1cbiAgICB0aGlzLnRpbWVvdXRSZXNpemVXaW5kb3cgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tSZXNwb25zaXZlVmlldygpO1xuICAgICAgdGhpcy51cGRhdGVMb2NhdGlvblJlcG9uc2l2ZSgpO1xuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgY2hlY2tSZXNwb25zaXZlVmlldygpIHtcbiAgICBpZiAodGhpcz8uc3lzdGVtVHlwZSA9PT0gQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVFlQRVMuQ09PTElOR19UT1dFUikge1xuICAgICAgdGhpcy5pc1Jlc3BvbnNpdmVWaWV3ID0gd2luZG93LmlubmVyV2lkdGggPCAxMDI0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzUmVzcG9uc2l2ZVZpZXcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVMb2NhdGlvblJlcG9uc2l2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZmxvd0RhdGE/Lm5vZGVEYXRhQXJyYXkpIHtcbiAgICAgIHRoaXMuZmxvd0RhdGEgPSBBc3NldEZsb3dDb21wb25lbnQuZ2V0RGVmYXVsdEZsb3dEYXRhKHtcbiAgICAgICAgc3lzdGVtVHlwZTogdGhpcy5zeXN0ZW1UeXBlLFxuICAgICAgICBpc1VzZUJhc2U2NDogdGhpcy5pc1VzZUJhc2U2NCxcbiAgICAgICAgYXNzZXRMYXllcjogdGhpcy5hc3NldExheWVyLFxuICAgICAgfSk7XG4gICAgfVxuICAgIF8uZm9yRWFjaCh0aGlzLmZsb3dEYXRhPy5ub2RlRGF0YUFycmF5LCAobm9kZTogYW55KSA9PiB7XG4gICAgICBub2RlID0gXy5tZXJnZShcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbm9kZVtgZXh0ZW5kZWREYXRhJHt0aGlzLmlzUmVzcG9uc2l2ZVZpZXcgPyAnUmVzcG9uc2l2ZScgOiAnJ31gXVxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldEZsb3dEYXRhKF8uY2xvbmVEZWVwKHRoaXMuZmxvd0RhdGEpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2hlY2tSZXNwb25zaXZlVmlldygpO1xuICAgIHRoaXMudXBkYXRlTG9jYXRpb25SZXBvbnNpdmUoKTtcbiAgfVxuICBvbkNsaWNrUGFyYW1PZlRhYmxlKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkNsaWNrUGFyYW1PZlRhYmxlRXZlbnQuZW1pdCgkZXZlbnQpO1xuICB9XG5cbiAgc3RhdGljIGdldERlZmF1bHRGbG93RGF0YShkZWZhdWx0RGF0YTogQXRvRGVmYXVsdEZsb3dEYXRhKSB7XG4gICAgY29uc3QgZmxvd0RhdGEgPSB7XG4gICAgICAuLi5kZWZhdWx0RGF0YSxcbiAgICAgIC4uLl8uY2xvbmVEZWVwKEFUT19DT01QT05FTlRTX0dST1VQX0RBVEEpW2RlZmF1bHREYXRhPy5zeXN0ZW1UeXBlXSxcbiAgICAgIGxpbmtGcm9tUG9ydElkUHJvcGVydHk6ICdmcm9tUG9ydCcsXG4gICAgICBsaW5rVG9Qb3J0SWRQcm9wZXJ0eTogJ3RvUG9ydCcsXG4gICAgfTtcbiAgICAvLyBSZXBvbnNpdmVcbiAgICBfLmZvckVhY2goZmxvd0RhdGE/Lm5vZGVEYXRhQXJyYXksIChub2RlOiBhbnkpID0+IHtcbiAgICAgIG5vZGUgPSBfLm1lcmdlKFxuICAgICAgICBub2RlLFxuICAgICAgICBub2RlW2BleHRlbmRlZERhdGEke3dpbmRvdy5pbm5lcldpZHRoIDwgMTAyNCA/ICdSZXNwb25zaXZlJyA6ICcnfWBdXG4gICAgICApO1xuICAgICAgaWYgKG5vZGU/LmFzc2V0TGF5ZXJzKSB7XG4gICAgICAgIG5vZGUudmlzaWJsZSA9XG4gICAgICAgICAgbm9kZT8uYXNzZXRMYXllcnMgPT09XG4gICAgICAgICAgKGRlZmF1bHREYXRhPy5hc3NldExheWVyID8/IEFUT19BU1NFVF9MQVlFUlMuRkxPVyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gYXNzZXRMYXllclxuICAgIC8vIGZsb3dEYXRhLm5vZGVEYXRhQXJyYXkgPSBfLmZpbHRlcihmbG93RGF0YS5ub2RlRGF0YUFycmF5LCB4ID0+ICF4Py5hc3NldExheWVycyB8fCAoeD8uYXNzZXRMYXllcnMgJiYgeD8uYXNzZXRMYXllcnMgPT09IChkZWZhdWx0RGF0YT8uYXNzZXRMYXllciA/PyBBVE9fQVNTRVRfTEFZRVJTLkZMT1cpKSlcbiAgICBpZiAoZGVmYXVsdERhdGE/LmlzVXNlQmFzZTY0KSB7XG4gICAgICBjb25zdCBpdGVtSW1hZ2VUZW1wID0gKGZsb3dEYXRhIGFzIEF0b0dvSlNEYXRhKT8ubm9kZURhdGFBcnJheT8uZmluZChcbiAgICAgICAgKHgpID0+IHg/LnR5cGUgPT09ICdJbWFnZSBUZW1wbGF0ZSdcbiAgICAgICk7XG4gICAgICBpZiAoaXRlbUltYWdlVGVtcCkge1xuICAgICAgICBpdGVtSW1hZ2VUZW1wLnNvdXJjZSA9IEF0b0dvSlNCYXNlNjRbZGVmYXVsdERhdGE/LnN5c3RlbVR5cGVdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmxvd0RhdGE7XG4gIH1cblxuICBzZXRGbG93RGF0YShkYXRhOiBBdG9Hb0pTRGF0YSkge1xuICAgIC8vIGNvbnN0IGxheWVyID0gZGF0YT8uYXNzZXRMYXllciA/PyB0aGlzPy5hc3NldExheWVyID8/IEFUT19BU1NFVF9MQVlFUlMuRkxPVztcbiAgICBfLmZvckVhY2goZGF0YS5ub2RlRGF0YUFycmF5LCAobm9kZSkgPT4ge1xuICAgICAgaWYgKG5vZGU/LmFzc2V0TGF5ZXJzKSB7XG4gICAgICAgIG5vZGUudmlzaWJsZSA9IG5vZGU/LmFzc2V0TGF5ZXJzID09PSBkYXRhLmFzc2V0TGF5ZXI7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5mbG93RGF0YSA9IHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICAvLyBub2RlRGF0YUFycmF5OiBfLmZpbHRlcihkYXRhLm5vZGVEYXRhQXJyYXksIHggPT4gIXg/LmFzc2V0TGF5ZXJzIHx8ICh4Py5hc3NldExheWVycyAmJiB4Py5hc3NldExheWVycyA9PT0gZGF0YT8uYXNzZXRMYXllcikpXG4gICAgfTtcbiAgICB0aGlzLnVwZGF0ZURhdGFUYWJsZUFzc2V0UGFyYW1zKGRhdGEpO1xuICB9XG5cbiAgdXBkYXRlRGF0YVRhYmxlQXNzZXRQYXJhbXMoZGF0YTogQXRvR29KU0RhdGEpIHtcbiAgICB0aGlzLmRhdGFUYWJsZUFzc2V0UGFyYW1zID0gXy5mb3JFYWNoKFxuICAgICAgdGhpcy5mbG93RGF0YT8ubm9kZURhdGFBcnJheT8uZmlsdGVyKFxuICAgICAgICAoZSkgPT5cbiAgICAgICAgICBlPy50eXBlID09PSBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuUEFSQU1fVEFCTEUgJiZcbiAgICAgICAgICBlPy5hc3NldExheWVycyA9PT0gZGF0YT8uYXNzZXRMYXllclxuICAgICAgKSxcbiAgICAgICh4KSA9PiB7XG4gICAgICAgIGlmICghZGF0YT8uaXNSZWZyZXNoKSB7XG4gICAgICAgICAgeC5pc0NvbGxhcHNlZCA9IHRoaXMuYXNzZXRQYXJhbXNWaWV3VGVtcD8uZGF0YT8uZmluZChcbiAgICAgICAgICAgICh5KSA9PiB5Py5rZXkgPT09IHg/LmtleVxuICAgICAgICAgICk/LmlzQ29sbGFwc2VkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtMTAwIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdhcC0zIGZsZXgtZ3Jvdy0xIG92ZXJmbG93LWF1dG8gcHgtMyBwYi0zXCI+XG4gIDxkaXYgY2xhc3M9XCJoLTEwMCBkLWZsZXggZmxleC1jb2x1bW5cIiBhdG9Mb2FkaW5nIFthcHBMb2FkaW5nXT1cImZsb3dEYXRhID09PSBudWxsXCI+XG4gICAgPGF0by1mbG93LWRpYWdyYW0tbGliXG4gICAgICAqbmdJZj1cImZsb3dEYXRhICE9PSBudWxsXCJcbiAgICAgICNnakZsb3dEaWFncmFtVGVtcFxuICAgICAgW2RhdGFdPVwiZmxvd0RhdGFcIlxuICAgICAgW2luaXRpYWxPcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgICAgKG9uQ2xpa1BhcmFtT2ZUYWJsZSk9XCJvbkNsaWNrUGFyYW1PZlRhYmxlKCRldmVudClcIlxuICAgICAgW2NsYXNzXT1cIiEhaXNSZXNwb25zaXZlVmlldyA/ICdkaWFncmFtLXJlc3BvbnNpdmUtdmlldycgOiAnZmxleC1ncm93LTEnXCJcbiAgICA+PC9hdG8tZmxvdy1kaWFncmFtLWxpYj5cbiAgICA8ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwiaXNSZXNwb25zaXZlVmlld1wiPlxuICAgICAgPGF0by1hc3NldC1wYXJhbXMtdmlld1xuICAgICAgICAjYXNzZXRQYXJhbXNWaWV3VGVtcFxuICAgICAgICBbZGF0YV09XCJkYXRhVGFibGVBc3NldFBhcmFtc1wiXG4gICAgICAgIFtpc0VkaXRWaWV3XT1cInRydWVcIlxuICAgICAgICAoY2xpY2tQYXJhbVRhYmxlUm93KT1cIm9uQ2xpY2tQYXJhbU9mVGFibGUoJGV2ZW50KVwiXG4gICAgICA+PC9hdG8tYXNzZXQtcGFyYW1zLXZpZXc+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvY29tcG9uZW50cy9hc3NldC1mbG93L2Fzc2V0LWZsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXRvLXdhdGVyLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXNzZXQtZmxvdy9hc3NldC1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFFTCx5QkFBeUIsR0FDMUIsTUFBTSx3Q0FBd0MsQ0FBQztBQUdoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7O0FBTzVGLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFhWSw2QkFBd0IsR0FDaEMsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUM3QixNQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDeEIsWUFBTyxHQUFHO1lBQ1IsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFO1lBQ3RDLGdC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QjtzQkFBM0IsS0FBSztnQkFJTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgZ28gZnJvbSAnZ29qcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQXRvR29KU0Jhc2U2NCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9iYXNlNjQuY29uc3QnO1xuaW1wb3J0IHtcbiAgQVRPX0FTU0VUX0xBWUVSUyxcbiAgQVRPX0NPTVBPTkVOVFNfR1JPVVBfREFUQSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbXBvbmVudHMtZ3JvdXAtY29uc3QnO1xuaW1wb3J0IHsgQXRvRGVmYXVsdEZsb3dEYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F0by1hc3NldC1mbG93Lm1vZGVsJztcbmltcG9ydCB7IEF0b0dvSlNEYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dvanMtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBBdG9Hb2pzRWRpdG9yTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ29qcy1lZGl0b3IubW9kZWwnO1xuaW1wb3J0IHsgQXRvQXNzZXRQYXJhbXNWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vYXNzZXQtcGFyYW1zLXZpZXcvYXNzZXQtcGFyYW1zLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEF0b0Zsb3dEaWFncmFtTGliQ29tcG9uZW50IH0gZnJvbSAnLi4vZmxvdy1kaWFncmFtLWxpYi9mbG93LWRpYWdyYW0tbGliLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F0by1hc3NldC1mbG93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Fzc2V0LWZsb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc3NldC1mbG93LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0Rmxvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFzc2V0TGF5ZXI6IEFUT19BU1NFVF9MQVlFUlM7XG4gIEBWaWV3Q2hpbGQoQXRvRmxvd0RpYWdyYW1MaWJDb21wb25lbnQpXG4gIGdqRmxvd0RpYWdyYW1UZW1wOiBBdG9GbG93RGlhZ3JhbUxpYkNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZChBdG9Bc3NldFBhcmFtc1ZpZXdDb21wb25lbnQpXG4gIGFzc2V0UGFyYW1zVmlld1RlbXA6IEF0b0Fzc2V0UGFyYW1zVmlld0NvbXBvbmVudDtcbiAgQElucHV0KCkgc2VsZWN0ZWRDb21wb25lbnQ6IGFueTtcbiAgQElucHV0KCkgc3lzdGVtVHlwZTogQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVFlQRVM7XG4gIEBPdXRwdXQoKSBvbkNsaWNrUGFyYW1PZlRhYmxlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgaXNVc2VCYXNlNjQgPSBmYWxzZTtcbiAgJCA9IGdvLkdyYXBoT2JqZWN0Lm1ha2U7XG4gIG9wdGlvbnMgPSB7XG4gICAgbGF5b3V0OiB0aGlzLiQoZ28uTGF5ZXJlZERpZ3JhcGhMYXlvdXQsIHtcbiAgICAgIC8vIGRpcmVjdGlvbjogMCxcbiAgICB9KSxcbiAgICAvLyBpc1JlYWRPbmx5OiB0cnVlLFxuICB9O1xuXG4gIHByaXZhdGUgX2Zsb3dEYXRhOiBhbnk7XG4gIEBJbnB1dCgpIHNldCBmbG93RGF0YSh2OiBBdG9Hb0pTRGF0YSkge1xuICAgIHRoaXMuX2Zsb3dEYXRhID0gdjtcbiAgICB0aGlzLnVwZGF0ZURhdGFUYWJsZUFzc2V0UGFyYW1zKHsgLi4udiwgYXNzZXRMYXllcjogdGhpcy5hc3NldExheWVyIH0pO1xuICB9XG4gIGdldCBmbG93RGF0YSgpOiBBdG9Hb0pTRGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zsb3dEYXRhO1xuICB9XG5cbiAgLy8gUmVwb25zaXZlXG4gIGRhdGFUYWJsZUFzc2V0UGFyYW1zOiBhbnlbXTtcbiAgLy8gQElucHV0KCkgaXNSZXNwb25zaXZlVmlldyA9IGZhbHNlO1xuICBnZXQgaXNSZXNwb25zaXZlVmlldygpIHtcbiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPCAxMDI0O1xuICB9XG4gIEBJbnB1dCgpIGdldEZsb3dEYXRhQ2FsbEJhY2s6IEZ1bmN0aW9uO1xuXG4gIHRpbWVvdXRSZXNpemVXaW5kb3c7XG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBvblJlc2l6ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBOb3cgb25seSBTdXBwb3J0IENvb2xpbmcgVG93ZXIgUmVzcG9uc2l2ZVxuICAgIGlmICh0aGlzLnRpbWVvdXRSZXNpemVXaW5kb3cpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZXNpemVXaW5kb3cpO1xuICAgIH1cbiAgICB0aGlzLnRpbWVvdXRSZXNpemVXaW5kb3cgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlTG9jYXRpb25SZXBvbnNpdmUoKTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIHVwZGF0ZUxvY2F0aW9uUmVwb25zaXZlKCkge1xuICAgIGlmICghdGhpcy5mbG93RGF0YT8ubm9kZURhdGFBcnJheSkge1xuICAgICAgdGhpcy5mbG93RGF0YSA9IEFzc2V0Rmxvd0NvbXBvbmVudC5nZXREZWZhdWx0Rmxvd0RhdGEoe1xuICAgICAgICBzeXN0ZW1UeXBlOiB0aGlzLnN5c3RlbVR5cGUsXG4gICAgICAgIGlzVXNlQmFzZTY0OiB0aGlzLmlzVXNlQmFzZTY0LFxuICAgICAgICBhc3NldExheWVyOiB0aGlzLmFzc2V0TGF5ZXIsXG4gICAgICB9KTtcbiAgICB9XG4gICAgXy5mb3JFYWNoKHRoaXMuZmxvd0RhdGE/Lm5vZGVEYXRhQXJyYXksIChub2RlOiBhbnkpID0+IHtcbiAgICAgIG5vZGUgPSBfLm1lcmdlKFxuICAgICAgICBub2RlLFxuICAgICAgICBub2RlW2BleHRlbmRlZERhdGEke3RoaXMuaXNSZXNwb25zaXZlVmlldyA/ICdSZXNwb25zaXZlJyA6ICcnfWBdXG4gICAgICApO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0Rmxvd0RhdGEoXy5jbG9uZURlZXAodGhpcy5mbG93RGF0YSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVMb2NhdGlvblJlcG9uc2l2ZSgpO1xuICB9XG4gIG9uQ2xpY2tQYXJhbU9mVGFibGUoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uQ2xpY2tQYXJhbU9mVGFibGVFdmVudC5lbWl0KCRldmVudCk7XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVmYXVsdEZsb3dEYXRhKGRlZmF1bHREYXRhOiBBdG9EZWZhdWx0Rmxvd0RhdGEpIHtcbiAgICBjb25zdCBmbG93RGF0YSA9IHtcbiAgICAgIC4uLmRlZmF1bHREYXRhLFxuICAgICAgLi4uXy5jbG9uZURlZXAoQVRPX0NPTVBPTkVOVFNfR1JPVVBfREFUQSlbZGVmYXVsdERhdGE/LnN5c3RlbVR5cGVdLFxuICAgICAgbGlua0Zyb21Qb3J0SWRQcm9wZXJ0eTogJ2Zyb21Qb3J0JyxcbiAgICAgIGxpbmtUb1BvcnRJZFByb3BlcnR5OiAndG9Qb3J0JyxcbiAgICB9O1xuICAgIGNvbnN0IGlzUmVzcG9uc2l2ZVZpZXcgPSB3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMjQ7XG4gICAgLy8gUmVwb25zaXZlXG4gICAgXy5mb3JFYWNoKGZsb3dEYXRhPy5ub2RlRGF0YUFycmF5LCAobm9kZTogYW55KSA9PiB7XG4gICAgICBub2RlID0gXy5tZXJnZShcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbm9kZVtgZXh0ZW5kZWREYXRhJHtpc1Jlc3BvbnNpdmVWaWV3ID8gJ1Jlc3BvbnNpdmUnIDogJyd9YF1cbiAgICAgICk7XG4gICAgICBpZiAobm9kZT8uYXNzZXRMYXllcnMpIHtcbiAgICAgICAgbm9kZS52aXNpYmxlID1cbiAgICAgICAgICBub2RlPy5hc3NldExheWVycyA9PT0gZGVmYXVsdERhdGE/LmFzc2V0TGF5ZXIgJiZcbiAgICAgICAgICBub2RlW2BleHRlbmRlZERhdGEke2lzUmVzcG9uc2l2ZVZpZXcgPyAnUmVzcG9uc2l2ZScgOiAnJ31gXT8udmlzaWJsZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBhc3NldExheWVyXG4gICAgLy8gZmxvd0RhdGEubm9kZURhdGFBcnJheSA9IF8uZmlsdGVyKGZsb3dEYXRhLm5vZGVEYXRhQXJyYXksIHggPT4gIXg/LmFzc2V0TGF5ZXJzIHx8ICh4Py5hc3NldExheWVycyAmJiB4Py5hc3NldExheWVycyA9PT0gKGRlZmF1bHREYXRhPy5hc3NldExheWVyID8/IEFUT19BU1NFVF9MQVlFUlMuRkxPVykpKVxuICAgIGlmIChkZWZhdWx0RGF0YT8uaXNVc2VCYXNlNjQpIHtcbiAgICAgIGNvbnN0IGl0ZW1JbWFnZVRlbXAgPSAoZmxvd0RhdGEgYXMgQXRvR29KU0RhdGEpPy5ub2RlRGF0YUFycmF5Py5maW5kKFxuICAgICAgICAoeCkgPT4geD8udHlwZSA9PT0gJ0ltYWdlIFRlbXBsYXRlJ1xuICAgICAgKTtcbiAgICAgIGlmIChpdGVtSW1hZ2VUZW1wKSB7XG4gICAgICAgIGl0ZW1JbWFnZVRlbXAuc291cmNlID0gQXRvR29KU0Jhc2U2NFtkZWZhdWx0RGF0YT8uc3lzdGVtVHlwZV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmbG93RGF0YTtcbiAgfVxuXG4gIHNldEZsb3dEYXRhKGRhdGE6IEF0b0dvSlNEYXRhKSB7XG4gICAgXy5mb3JFYWNoKGRhdGEubm9kZURhdGFBcnJheSwgKG5vZGUpID0+IHtcbiAgICAgIG5vZGUgPSBfLm1lcmdlKFxuICAgICAgICBub2RlLFxuICAgICAgICBub2RlW2BleHRlbmRlZERhdGEke3RoaXMuaXNSZXNwb25zaXZlVmlldyA/ICdSZXNwb25zaXZlJyA6ICcnfWBdLFxuICAgICAgKTtcbiAgICAgIGlmIChub2RlPy5hc3NldExheWVycykge1xuICAgICAgICBub2RlLnZpc2libGUgPVxuICAgICAgICAgIG5vZGU/LmFzc2V0TGF5ZXJzID09PSBkYXRhLmFzc2V0TGF5ZXIgJiZcbiAgICAgICAgICBub2RlW2BleHRlbmRlZERhdGEke3RoaXMuaXNSZXNwb25zaXZlVmlldyA/ICdSZXNwb25zaXZlJyA6ICcnfWBdXG4gICAgICAgICAgICA/LnZpc2libGU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5mbG93RGF0YSA9IHtcbiAgICAgIC4uLmRhdGEsXG4gICAgfTtcbiAgICB0aGlzLnVwZGF0ZURhdGFUYWJsZUFzc2V0UGFyYW1zKGRhdGEpO1xuICB9XG5cbiAgdXBkYXRlRGF0YVRhYmxlQXNzZXRQYXJhbXMoZGF0YTogQXRvR29KU0RhdGEpIHtcbiAgICB0aGlzLmRhdGFUYWJsZUFzc2V0UGFyYW1zID0gXy5mb3JFYWNoKFxuICAgICAgdGhpcy5mbG93RGF0YT8ubm9kZURhdGFBcnJheT8uZmlsdGVyKFxuICAgICAgICAoZSkgPT5cbiAgICAgICAgICBlPy50eXBlID09PSBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuUEFSQU1fVEFCTEUgJiZcbiAgICAgICAgICBlPy5hc3NldExheWVycyA9PT0gZGF0YT8uYXNzZXRMYXllclxuICAgICAgKSxcbiAgICAgICh4KSA9PiB7XG4gICAgICAgIGlmICghZGF0YT8uaXNSZWZyZXNoKSB7XG4gICAgICAgICAgeC5pc0NvbGxhcHNlZCA9IHRoaXMuYXNzZXRQYXJhbXNWaWV3VGVtcD8uZGF0YT8uZmluZChcbiAgICAgICAgICAgICh5KSA9PiB5Py5rZXkgPT09IHg/LmtleVxuICAgICAgICAgICk/LmlzQ29sbGFwc2VkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtMTAwIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdhcC0zIGZsZXgtZ3Jvdy0xIG92ZXJmbG93LWF1dG8gcHgtMyBwYi0zXCI+XG4gIDxkaXYgY2xhc3M9XCJoLTEwMCBkLWZsZXggZmxleC1jb2x1bW5cIiBhdG9Mb2FkaW5nIFthcHBMb2FkaW5nXT1cImZsb3dEYXRhID09PSBudWxsXCI+XG4gICAgPGF0by1mbG93LWRpYWdyYW0tbGliXG4gICAgICAqbmdJZj1cImZsb3dEYXRhICE9PSBudWxsXCJcbiAgICAgICNnakZsb3dEaWFncmFtVGVtcFxuICAgICAgW2RhdGFdPVwiZmxvd0RhdGFcIlxuICAgICAgW2luaXRpYWxPcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgICAgKG9uQ2xpa1BhcmFtT2ZUYWJsZSk9XCJvbkNsaWNrUGFyYW1PZlRhYmxlKCRldmVudClcIlxuICAgICAgW2NsYXNzXT1cIiEhaXNSZXNwb25zaXZlVmlldyA/ICdkaWFncmFtLXJlc3BvbnNpdmUtdmlldycgOiAnZmxleC1ncm93LTEnXCJcbiAgICA+PC9hdG8tZmxvdy1kaWFncmFtLWxpYj5cbiAgICA8ZGl2IGNsYXNzPVwibXQtMlwiICpuZ0lmPVwiaXNSZXNwb25zaXZlVmlld1wiPlxuICAgICAgPGF0by1hc3NldC1wYXJhbXMtdmlld1xuICAgICAgICAjYXNzZXRQYXJhbXNWaWV3VGVtcFxuICAgICAgICBbZGF0YV09XCJkYXRhVGFibGVBc3NldFBhcmFtc1wiXG4gICAgICAgIFtpc0VkaXRWaWV3XT1cInRydWVcIlxuICAgICAgICAoY2xpY2tQYXJhbVRhYmxlUm93KT1cIm9uQ2xpY2tQYXJhbU9mVGFibGUoJGV2ZW50KVwiXG4gICAgICA+PC9hdG8tYXNzZXQtcGFyYW1zLXZpZXc+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
|
@@ -12,10 +12,10 @@ export class AtoAssetParamsViewComponent {
|
|
12
12
|
}
|
13
13
|
}
|
14
14
|
AtoAssetParamsViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoAssetParamsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
15
|
-
AtoAssetParamsViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AtoAssetParamsViewComponent, selector: "ato-asset-params-view", inputs: { isEditView: "isEditView", data: "data" }, outputs: { clickParamTableRow: "clickParamTableRow" }, ngImport: i0, template: "<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".asset-param-item{border-radius:5px}.asset-param-item .table-asset-param-wrapper{border-radius:5px;background-color:#f0f8ff}.asset-param-item .table-asset-param-wrapper table{border-collapse:collapse;width:100%}.asset-param-item .table-asset-param-wrapper table tbody tr td{border:1px solid red;height:30px;padding:4px}.color-white{color:#fff}.flex-gap-2{gap:.5rem}.svg-15px{width:15px;height:15px;flex:0 0 15px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
15
|
+
AtoAssetParamsViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AtoAssetParamsViewComponent, selector: "ato-asset-params-view", inputs: { isEditView: "isEditView", data: "data" }, outputs: { clickParamTableRow: "clickParamTableRow" }, ngImport: i0, template: "<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".asset-param-item{border-radius:5px}.asset-param-item .table-asset-param-wrapper{border-radius:5px;background-color:#f0f8ff}.asset-param-item .table-asset-param-wrapper table{border-collapse:collapse;width:100%}.asset-param-item .table-asset-param-wrapper table tbody tr td{border:1px solid red;height:30px;padding:4px}.asset-param-item .table-asset-param-wrapper table tbody tr td:first-child{width:70%}.color-white{color:#fff}.flex-gap-2{gap:.5rem}.svg-15px{width:15px;height:15px;flex:0 0 15px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AtoAssetParamsViewComponent, decorators: [{
|
17
17
|
type: Component,
|
18
|
-
args: [{ selector: 'ato-asset-params-view', template: "<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".asset-param-item{border-radius:5px}.asset-param-item .table-asset-param-wrapper{border-radius:5px;background-color:#f0f8ff}.asset-param-item .table-asset-param-wrapper table{border-collapse:collapse;width:100%}.asset-param-item .table-asset-param-wrapper table tbody tr td{border:1px solid red;height:30px;padding:4px}.color-white{color:#fff}.flex-gap-2{gap:.5rem}.svg-15px{width:15px;height:15px;flex:0 0 15px}\n"] }]
|
18
|
+
args: [{ selector: 'ato-asset-params-view', template: "<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".asset-param-item{border-radius:5px}.asset-param-item .table-asset-param-wrapper{border-radius:5px;background-color:#f0f8ff}.asset-param-item .table-asset-param-wrapper table{border-collapse:collapse;width:100%}.asset-param-item .table-asset-param-wrapper table tbody tr td{border:1px solid red;height:30px;padding:4px}.asset-param-item .table-asset-param-wrapper table tbody tr td:first-child{width:70%}.color-white{color:#fff}.flex-gap-2{gap:.5rem}.svg-15px{width:15px;height:15px;flex:0 0 15px}\n"] }]
|
19
19
|
}], propDecorators: { isEditView: [{
|
20
20
|
type: Input
|
21
21
|
}], data: [{
|