@alauda-fe/common 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/a-chart/base-chart.d.ts +2 -2
- package/a-chart/chart.component.d.ts +3 -2
- package/a-chart/types.d.ts +5 -0
- package/a-metric-chart/a-metric-chart.component.d.ts +45 -2
- package/a-metric-chart/a-metric-chart.module.d.ts +2 -2
- package/a-metric-chart/utils/util.d.ts +1 -1
- package/api/acp-common-api.service.d.ts +26 -0
- package/api/cluster-version.service.d.ts +0 -3
- package/api/project-api.service.d.ts +5 -0
- package/api/public-api.d.ts +1 -0
- package/assets/icons/prod-icons.js +1 -1
- package/core/constants/patterns.d.ts +5 -0
- package/core/constants/status-icons.d.ts +1 -0
- package/core/directives/aui-code-editor.directive.d.ts +13 -0
- package/core/directives/feature-gate.directive.d.ts +1 -1
- package/core/directives/public-api.d.ts +2 -0
- package/core/guards/feature.guard.d.ts +1 -1
- package/core/module.d.ts +10 -10
- package/core/pipes/k8s-util.pipe.d.ts +13 -13
- package/core/pipes/k8s-util.pipe.module.d.ts +6 -1
- package/core/pipes/public-api.d.ts +3 -0
- package/{scm/pure-pipe/module.d.ts → core/pipes/pure.pipe.module.d.ts} +3 -0
- package/core/services/context.service.d.ts +1 -1
- package/core/utils/unit.d.ts +1 -0
- package/disabled-container/disabled-container.component.d.ts +1 -1
- package/disabled-container/disabled-container.module.d.ts +4 -4
- package/effect-directive/module.d.ts +1 -1
- package/esm2022/a-chart/a-chart.module.mjs +1 -1
- package/esm2022/a-chart/base-chart.mjs +7 -7
- package/esm2022/a-chart/chart.component.mjs +11 -3
- package/esm2022/a-chart/types.mjs +7 -2
- package/esm2022/a-metric-chart/a-metric-chart.component.mjs +38 -13
- package/esm2022/a-metric-chart/a-metric-chart.module.mjs +6 -8
- package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +6 -5
- package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +26 -12
- package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +3 -3
- package/esm2022/a-metric-chart/utils/util.mjs +6 -5
- package/esm2022/api/acp-common-api.service.mjs +34 -0
- package/esm2022/api/cluster-version.service.mjs +1 -7
- package/esm2022/api/project-api.service.mjs +17 -4
- package/esm2022/api/public-api.mjs +2 -1
- package/esm2022/array-form-table/form/component.mjs +2 -2
- package/esm2022/array-form-table/key-value-table/component.mjs +2 -2
- package/esm2022/business/resource-select/module.mjs +2 -2
- package/esm2022/chart/chart.module.mjs +1 -1
- package/esm2022/core/constants/patterns.mjs +6 -1
- package/esm2022/core/constants/status-icons.mjs +2 -1
- package/esm2022/core/directives/aui-code-editor.directive.mjs +30 -0
- package/esm2022/core/directives/declare.directive.mjs +27 -0
- package/esm2022/core/directives/feature-gate.directive.mjs +3 -3
- package/esm2022/core/directives/public-api.mjs +3 -1
- package/esm2022/core/guards/feature.guard.mjs +3 -5
- package/esm2022/core/module.mjs +19 -17
- package/esm2022/core/pipes/calc.pipe.mjs +21 -0
- package/esm2022/core/pipes/k8s-util.pipe.mjs +27 -27
- package/esm2022/core/pipes/k8s-util.pipe.module.mjs +8 -5
- package/esm2022/core/pipes/public-api.mjs +4 -1
- package/esm2022/core/pipes/pure.pipe.mjs +26 -0
- package/esm2022/core/pipes/pure.pipe.module.mjs +21 -0
- package/esm2022/core/services/context.service.mjs +5 -3
- package/esm2022/core/utils/common.mjs +3 -3
- package/esm2022/core/utils/unit.mjs +5 -1
- package/esm2022/disabled-container/disabled-container.component.mjs +7 -5
- package/esm2022/disabled-container/disabled-container.module.mjs +7 -11
- package/esm2022/effect-directive/module.mjs +4 -5
- package/esm2022/exec/module.mjs +3 -4
- package/esm2022/form/errors-mapper/errors-mapper.module.mjs +13 -4
- package/esm2022/form/labels-editor/component.mjs +8 -8
- package/esm2022/form/taints-editor/component.mjs +4 -6
- package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +9 -10
- package/esm2022/form/validators/utils.mjs +47 -2
- package/esm2022/graphql/graphql.module.mjs +62 -0
- package/esm2022/graphql/graphql.service.mjs +45 -0
- package/esm2022/graphql/public-api.mjs +4 -0
- package/esm2022/graphql/queries.mjs +29 -0
- package/esm2022/graphql/types.mjs +6 -0
- package/esm2022/grid-layout/utils/grid.utils.mjs +2 -20
- package/esm2022/help-document/directive.mjs +3 -2
- package/esm2022/help-document/module.mjs +6 -4
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +3 -2
- package/esm2022/license/license-error/module.mjs +1 -1
- package/esm2022/multi-search/action-input/component.mjs +6 -7
- package/esm2022/multi-search/form/component.mjs +3 -4
- package/esm2022/multi-search/multi-search-tags/component.mjs +9 -9
- package/esm2022/overview-banner/overview-banner.component.mjs +5 -5
- package/esm2022/overview-banner/overview-banner.module.mjs +7 -7
- package/esm2022/page-guard/module.mjs +7 -4
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -2
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +23 -5
- package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +16 -31
- package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -2
- package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +6 -3
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
- package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +5 -7
- package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +4 -4
- package/esm2022/page-scaffold/page-header/help-menu/module.mjs +13 -14
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +2 -2
- package/esm2022/public-api.mjs +2 -2
- package/esm2022/searchable-selector/module.mjs +1 -1
- package/esm2022/skeleton/module.mjs +1 -1
- package/esm2022/table/module.mjs +5 -5
- package/esm2022/translate/en.json +44 -1
- package/esm2022/translate/translate.directive.mjs +7 -7
- package/esm2022/translate/translate.module.mjs +18 -17
- package/esm2022/translate/translate.pipe.mjs +4 -3
- package/esm2022/translate/zh.json +42 -1
- package/esm2022/widget/card-section/card-section.component.mjs +23 -6
- package/esm2022/widget/current-time/component.mjs +6 -4
- package/esm2022/widget/date-range-picker/component.mjs +12 -9
- package/esm2022/widget/foldable-item-in-table/component.mjs +28 -6
- package/esm2022/widget/password-input/component.mjs +283 -0
- package/esm2022/widget/public-api.mjs +8 -1
- package/esm2022/widget/resource-multi-select/component.mjs +211 -0
- package/esm2022/widget/resource-multi-select/util.mjs +24 -0
- package/esm2022/{scm → widget}/search-panel/component.mjs +1 -1
- package/esm2022/{scm → widget}/search-panel/helper.directive.mjs +1 -1
- package/esm2022/{scm → widget}/search-panel/search-item/component.mjs +1 -1
- package/esm2022/widget/status-icon/status-icon.component.mjs +2 -2
- package/esm2022/widget/tags-label/component.mjs +2 -3
- package/esm2022/widget/terminating-tag/component.mjs +7 -4
- package/esm2022/{scm → widget}/text-ellipsis/component.mjs +1 -1
- package/esm2022/widget/text-with-url/component.mjs +6 -4
- package/esm2022/widget/widget.module.mjs +54 -86
- package/esm2022/widget/zero-state/zero-state.component.mjs +6 -6
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +102 -65
- package/exec/module.d.ts +1 -1
- package/form/errors-mapper/errors-mapper.module.d.ts +6 -0
- package/form/validators/strong-password/strong-password-validator.directive.d.ts +3 -3
- package/form/validators/utils.d.ts +3 -0
- package/graphql/graphql.module.d.ts +12 -0
- package/graphql/graphql.service.d.ts +14 -0
- package/graphql/public-api.d.ts +3 -0
- package/graphql/queries.d.ts +5 -0
- package/graphql/types.d.ts +46 -0
- package/help-document/directive.d.ts +1 -1
- package/help-document/module.d.ts +7 -7
- package/overview-banner/overview-banner.component.d.ts +1 -1
- package/overview-banner/overview-banner.module.d.ts +4 -3
- package/package.json +1 -1
- package/page-guard/module.d.ts +4 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.d.ts +1 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/page-scaffold/navigation/breadcrumb/module.d.ts +8 -6
- package/page-scaffold/navigation/lottie-icons/lottie-icon.directive.d.ts +1 -1
- package/page-scaffold/navigation/lottie-icons/module.d.ts +4 -1
- package/page-scaffold/page-header/common-layout/common-layout.module.d.ts +2 -2
- package/page-scaffold/page-header/help-menu/module.d.ts +6 -5
- package/public-api.d.ts +1 -1
- package/styles/tailwind-preset.scss +1 -1
- package/translate/translate.directive.d.ts +3 -3
- package/translate/translate.module.d.ts +97 -4
- package/translate/translate.pipe.d.ts +1 -1
- package/widget/card-section/card-section.component.d.ts +4 -2
- package/widget/current-time/component.d.ts +1 -1
- package/widget/foldable-item-in-table/component.d.ts +1 -1
- package/{scm → widget}/password-input/component.d.ts +1 -1
- package/widget/public-api.d.ts +7 -0
- package/widget/terminating-tag/component.d.ts +1 -1
- package/widget/text-with-url/component.d.ts +1 -1
- package/widget/widget.module.d.ts +37 -21
- package/xterm/xterm-terminal/xterm-terminal.component.d.ts +14 -1
- package/esm2022/scm/declare.directive.mjs +0 -27
- package/esm2022/scm/password-input/component.mjs +0 -261
- package/esm2022/scm/password-input/module.mjs +0 -67
- package/esm2022/scm/password-input/public-api.mjs +0 -3
- package/esm2022/scm/public-api.mjs +0 -10
- package/esm2022/scm/pure-pipe/calc.pipe.mjs +0 -21
- package/esm2022/scm/pure-pipe/module.mjs +0 -18
- package/esm2022/scm/pure-pipe/public-api.mjs +0 -4
- package/esm2022/scm/pure-pipe/pure.pipe.mjs +0 -26
- package/esm2022/scm/resource-multi-select/component.mjs +0 -212
- package/esm2022/scm/resource-multi-select/util.mjs +0 -24
- package/scm/password-input/module.d.ts +0 -14
- package/scm/password-input/public-api.d.ts +0 -2
- package/scm/public-api.d.ts +0 -9
- package/scm/pure-pipe/public-api.d.ts +0 -3
- /package/{scm → core/directives}/declare.directive.d.ts +0 -0
- /package/{scm/pure-pipe → core/pipes}/calc.pipe.d.ts +0 -0
- /package/{scm/pure-pipe → core/pipes}/pure.pipe.d.ts +0 -0
- /package/{scm → widget}/resource-multi-select/component.d.ts +0 -0
- /package/{scm → widget}/resource-multi-select/util.d.ts +0 -0
- /package/{scm → widget}/search-panel/component.d.ts +0 -0
- /package/{scm → widget}/search-panel/helper.directive.d.ts +0 -0
- /package/{scm → widget}/search-panel/search-item/component.d.ts +0 -0
- /package/{scm → widget}/text-ellipsis/component.d.ts +0 -0
|
@@ -60,9 +60,10 @@ function BarGaugeComponent_div_5_div_1_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
60
60
|
i0.ɵɵelementEnd()();
|
|
61
61
|
} if (rf & 2) {
|
|
62
62
|
const item_r5 = ctx.$implicit;
|
|
63
|
-
const
|
|
63
|
+
const series_r2 = i0.ɵɵnextContext(2).ngIf;
|
|
64
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
64
65
|
i0.ɵɵadvance(1);
|
|
65
|
-
i0.ɵɵproperty("ngIf", !i0.ɵɵpipeBind2(2, 8, ctx_r4.options.layout, ctx_r4.isVertical));
|
|
66
|
+
i0.ɵɵproperty("ngIf", !i0.ɵɵpipeBind2(2, 8, ctx_r4.options.layout, ctx_r4.isVertical) && (series_r2 == null ? null : series_r2.length) > 1);
|
|
66
67
|
i0.ɵɵadvance(2);
|
|
67
68
|
i0.ɵɵstyleProp("width", i0.ɵɵpipeBind2(5, 11, ctx_r4.containerWidth, ctx_r4.getWrapperWidth));
|
|
68
69
|
i0.ɵɵadvance(4);
|
|
@@ -120,7 +121,7 @@ export class BarGaugeComponent extends BaseComponentChart {
|
|
|
120
121
|
const key = isVertical(this.options.layout) ? 'height' : 'width';
|
|
121
122
|
return {
|
|
122
123
|
background: item.color,
|
|
123
|
-
[key]: `${(item.value / max || 0) * 100}%`,
|
|
124
|
+
[key]: `${(item.value / Math.max(item.value, max) || 0) * 100}%`,
|
|
124
125
|
};
|
|
125
126
|
};
|
|
126
127
|
this.getEmptyStyle = (item) => {
|
|
@@ -155,11 +156,11 @@ export class BarGaugeComponent extends BaseComponentChart {
|
|
|
155
156
|
}
|
|
156
157
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BarGaugeComponent, [{
|
|
157
158
|
type: Component,
|
|
158
|
-
args: [{ selector: 'a-bar-gauge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"bar-gauge tw-h-full tw-w-full\"\n #barGauge\n aclResize\n (resized)=\"containerWidth = $event.width\"\n>\n <div class=\"tw-flex\">\n <div class=\"achart-title tw-flex-1 tw-break-all\">\n <ng-content select=\"a-title\"></ng-content>\n </div>\n </div>\n <div\n class=\"bar tw-h-full tw-w-full\"\n *ngIf=\"data$ | async as series\"\n >\n <div\n *ngIf=\"!status.noData\"\n class=\"body tw-h-full tw-w-full tw-flex\"\n [ngClass]=\"{\n 'vertical': options.layout | pure: isVertical,\n 'horizontal': !(options.layout | pure: isVertical),\n }\"\n >\n <div\n class=\"item tw-h-full tw-w-full\"\n *ngFor=\"let item of series\"\n >\n <div\n class=\"legend tw-text-center tw-text-overflow tw-mb-4\"\n *ngIf=\"!(options.layout | pure: isVertical)\"\n [ngClass]=\"{ 'tw-text-center': options.layout | pure: isVertical }\"\n >\n {{ $any(item).name }}\n </div>\n <div\n class=\"wrapper tw-flex tw-h-full\"\n #wrapper\n [style.width]=\"containerWidth | pure: getWrapperWidth\"\n >\n <div class=\"value tw-text-n-1 tw-text-xl tw-text-center\">\n {{ $any(item).displayName }}\n <ng-container *ngIf=\"$any(item).displayName | pure: showUnit\">{{\n $any(item)?.unit | translate: {} : true\n }}</ng-container>\n </div>\n <div\n class=\"empty-bar tw-flex tw-relative tw-bg-n-8\"\n [ngStyle]=\"item | pure: getEmptyStyle\"\n ></div>\n <div\n class=\"bar\"\n [ngStyle]=\"item | pure: getBarStyle\"\n ></div>\n <div\n class=\"legend tw-text-center tw-text-overflow\"\n *ngIf=\"options.layout | pure: isVertical\"\n [ngClass]=\"{ 'tw-text-center': options.layout | pure: isVertical }\"\n >\n {{ $any(item).name }}\n </div>\n </div>\n </div>\n </div>\n </div>\n <acl-chart-status\n [status]=\"status\"\n [customError]=\"customError\"\n (refresh)=\"refresh.next()\"\n ></acl-chart-status>\n</div>\n", styles: [":host{height:100%;width:100%;padding-top:16px}:host .vertical{justify-content:space-between;flex-direction:row}:host .vertical .wrapper{flex-direction:column;justify-content:flex-end}:host .vertical .bar{transition:height 1s ease 0s;margin-bottom:4px}:host .vertical .empty-bar{margin-top:4px}:host .vertical .value{height:25px;text-align:center}:host .vertical .legend{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}:host .vertical .item:not(:last-child){margin-right:10px}:host .horizontal{display:flex;flex-direction:column}:host .horizontal .item{display:flex;flex-direction:column}:host .horizontal .item:not(:last-child){margin-bottom:20px}:host .horizontal .wrapper{flex-direction:row-reverse;justify-content:flex-end;align-items:stretch}:host .horizontal .bar{transition:width 1s ease 0s}:host .horizontal .empty-bar{margin-right:4px}:host .horizontal .legend{display:flex;align-items:center}:host .horizontal .value{width:40px;display:flex;align-items:center;white-space:nowrap}:host .empty-bar{border-radius:2px}:host .bar{border-radius:2px}:host .legend{color:rgb(var(--aui-color-n-1))}\n"] }]
|
|
159
|
+
args: [{ selector: 'a-bar-gauge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"bar-gauge tw-h-full tw-w-full\"\n #barGauge\n aclResize\n (resized)=\"containerWidth = $event.width\"\n>\n <div class=\"tw-flex\">\n <div class=\"achart-title tw-flex-1 tw-break-all\">\n <ng-content select=\"a-title\"></ng-content>\n </div>\n </div>\n <div\n class=\"bar tw-h-full tw-w-full\"\n *ngIf=\"data$ | async as series\"\n >\n <div\n *ngIf=\"!status.noData\"\n class=\"body tw-h-full tw-w-full tw-flex\"\n [ngClass]=\"{\n 'vertical': options.layout | pure: isVertical,\n 'horizontal': !(options.layout | pure: isVertical),\n }\"\n >\n <div\n class=\"item tw-h-full tw-w-full\"\n *ngFor=\"let item of series\"\n >\n <div\n class=\"legend tw-text-center tw-text-overflow tw-mb-4\"\n *ngIf=\"!(options.layout | pure: isVertical) && series?.length > 1\"\n [ngClass]=\"{ 'tw-text-center': options.layout | pure: isVertical }\"\n >\n {{ $any(item).name }}\n </div>\n <div\n class=\"wrapper tw-flex tw-h-full\"\n #wrapper\n [style.width]=\"containerWidth | pure: getWrapperWidth\"\n >\n <div class=\"value tw-text-n-1 tw-text-xl tw-text-center\">\n {{ $any(item).displayName }}\n <ng-container *ngIf=\"$any(item).displayName | pure: showUnit\">{{\n $any(item)?.unit | translate: {} : true\n }}</ng-container>\n </div>\n <div\n class=\"empty-bar tw-flex tw-relative tw-bg-n-8\"\n [ngStyle]=\"item | pure: getEmptyStyle\"\n ></div>\n <div\n class=\"bar\"\n [ngStyle]=\"item | pure: getBarStyle\"\n ></div>\n <div\n class=\"legend tw-text-center tw-text-overflow\"\n *ngIf=\"options.layout | pure: isVertical\"\n [ngClass]=\"{ 'tw-text-center': options.layout | pure: isVertical }\"\n >\n {{ $any(item).name }}\n </div>\n </div>\n </div>\n </div>\n </div>\n <acl-chart-status\n [status]=\"status\"\n [customError]=\"customError\"\n (refresh)=\"refresh.next()\"\n ></acl-chart-status>\n</div>\n", styles: [":host{height:100%;width:100%;padding-top:16px}:host .vertical{justify-content:space-between;flex-direction:row}:host .vertical .wrapper{flex-direction:column;justify-content:flex-end}:host .vertical .bar{transition:height 1s ease 0s;margin-bottom:4px}:host .vertical .empty-bar{margin-top:4px}:host .vertical .value{height:25px;text-align:center}:host .vertical .legend{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}:host .vertical .item:not(:last-child){margin-right:10px}:host .horizontal{display:flex;flex-direction:column}:host .horizontal .item{display:flex;flex-direction:column}:host .horizontal .item:not(:last-child){margin-bottom:20px}:host .horizontal .wrapper{flex-direction:row-reverse;justify-content:flex-end;align-items:stretch}:host .horizontal .bar{transition:width 1s ease 0s}:host .horizontal .empty-bar{margin-right:4px}:host .horizontal .legend{display:flex;align-items:center}:host .horizontal .value{width:40px;display:flex;align-items:center;white-space:nowrap}:host .empty-bar{border-radius:2px}:host .bar{border-radius:2px}:host .legend{color:rgb(var(--aui-color-n-1))}\n"] }]
|
|
159
160
|
}], null, { options: [{
|
|
160
161
|
type: Input
|
|
161
162
|
}] }); })();
|
|
162
163
|
function isVertical(orientation) {
|
|
163
164
|
return orientation === Orientation.VERTICAL;
|
|
164
165
|
}
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLWdhdWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC9iYXItZ2F1Z2UvYmFyLWdhdWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC9iYXItZ2F1Z2UvYmFyLWdhdWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztJQ3NCL0IsK0JBSUM7O0lBQ0MsWUFDRjtJQUFBLGlCQUFNOzs7O0lBSEosb0hBQW1FO0lBRW5FLGVBQ0Y7SUFERSw2Q0FDRjs7OztJQVFJLDZCQUE4RDtJQUFBLFlBRTVEOztJQUFBLDBCQUFlOzs7O0lBRjZDLGVBRTVEO0lBRjRELCtIQUU1RDs7O0lBVUosK0JBSUM7O0lBQ0MsWUFDRjtJQUFBLGlCQUFNOzs7O0lBSEosb0hBQW1FO0lBRW5FLGVBQ0Y7SUFERSw2Q0FDRjs7O0lBcENKLCtCQUdDO0lBQ0MscUZBTU07O0lBQ04sbUNBSUM7O0lBQ0MsK0JBQXlEO0lBQ3ZELFlBQ0E7SUFBQSx1R0FFaUI7O0lBQ25CLGlCQUFNO0lBQ04sMkJBR087O0lBQ1AsMkJBR087O0lBQ1AsdUZBTU07O0lBQ1IsaUJBQU0sRUFBQTs7Ozs7SUEvQkgsZUFBZ0U7SUFBaEUsMklBQWdFO0lBUWpFLGVBQXNEO0lBQXRELDZGQUFzRDtJQUdwRCxlQUNBO0lBREEsb0RBQ0E7SUFBZSxlQUE2QztJQUE3Qyxr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a0JBQWYsS0FBSzs7QUFxQ1IsU0FBUyxVQUFVLENBQUMsV0FBd0I7SUFDMUMsT0FBTyxXQUFXLEtBQUssV0FBVyxDQUFDLFFBQVEsQ0FBQztBQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL2EtY2hhcnQvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q2hhcnQgfSBmcm9tICcuLi9iYXNlLWNoYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPcmllbnRhdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXJHYXVnZU9wdGlvbnMge1xuICBsYXlvdXQ/OiBPcmllbnRhdGlvbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYS1iYXItZ2F1Z2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFyLWdhdWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFyLWdhdWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCYXJHYXVnZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnRDaGFydCB7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IEJhckdhdWdlT3B0aW9ucyA9IHtcbiAgICBsYXlvdXQ6IE9yaWVudGF0aW9uLlZFUlRJQ0FMLFxuICB9O1xuXG4gIGNvbnRhaW5lcldpZHRoOiBudW1iZXI7XG5cbiAgaXNWZXJ0aWNhbCA9IGlzVmVydGljYWw7XG5cbiAgc2hvd1VuaXQodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHJldHVybiBpc051bWJlcigrdmFsdWUpICYmICFOdW1iZXIuaXNOYU4oK3ZhbHVlKTtcbiAgfVxuXG4gIGdldFdyYXBwZXJXaWR0aCA9ICh3aWR0aDogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ubGVuZ3RoICYmXG4gICAgICB0aGlzLm9wdGlvbnMubGF5b3V0ID09PSBPcmllbnRhdGlvbi5WRVJUSUNBTCAmJlxuICAgICAgd2lkdGhcbiAgICAgID8gYCR7d2lkdGggLyB0aGlzLmRhdGEubGVuZ3RoIC0gMTB9cHhgXG4gICAgICA6ICcxMDAlJztcbiAgfTtcblxuICBnZXRCYXJTdHlsZSA9IChpdGVtOiBBQ2hhcnREYXRhKSA9PiB7XG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXgoLi4udGhpcy5kYXRhLm1hcChpdGVtID0+IGl0ZW0ubWF4IHx8IGl0ZW0udmFsdWUgfHwgMCkpO1xuICAgIGNvbnN0IGtleSA9IGlzVmVydGljYWwodGhpcy5vcHRpb25zLmxheW91dCkgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJhY2tncm91bmQ6IGl0ZW0uY29sb3IsXG4gICAgICBba2V5XTogYCR7KGl0ZW0udmFsdWUgLyBNYXRoLm1heChpdGVtLnZhbHVlLCBtYXgpIHx8IDApICogMTAwfSVgLFxuICAgIH07XG4gIH07XG5cbiAgZ2V0RW1wdHlTdHlsZSA9IChpdGVtOiBBQ2hhcnREYXRhKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gaXNWZXJ0aWNhbCh0aGlzLm9wdGlvbnMubGF5b3V0KSA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbiAgICByZXR1cm4ge1xuICAgICAgW2tleV06IGBjYWxjKDEwMCUgLSAke3RoaXMuZ2V0QmFyU3R5bGUoaXRlbSlba2V5XX0pYCxcbiAgICB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBpc1ZlcnRpY2FsKG9yaWVudGF0aW9uOiBPcmllbnRhdGlvbikge1xuICByZXR1cm4gb3JpZW50YXRpb24gPT09IE9yaWVudGF0aW9uLlZFUlRJQ0FMO1xufVxuIiwiPGRpdlxuICBjbGFzcz1cImJhci1nYXVnZSB0dy1oLWZ1bGwgdHctdy1mdWxsXCJcbiAgI2JhckdhdWdlXG4gIGFjbFJlc2l6ZVxuICAocmVzaXplZCk9XCJjb250YWluZXJXaWR0aCA9ICRldmVudC53aWR0aFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJ0dy1mbGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cImFjaGFydC10aXRsZSB0dy1mbGV4LTEgdHctYnJlYWstYWxsXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhLXRpdGxlXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYmFyIHR3LWgtZnVsbCB0dy13LWZ1bGxcIlxuICAgICpuZ0lmPVwiZGF0YSQgfCBhc3luYyBhcyBzZXJpZXNcIlxuICA+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhc3RhdHVzLm5vRGF0YVwiXG4gICAgICBjbGFzcz1cImJvZHkgdHctaC1mdWxsIHR3LXctZnVsbCB0dy1mbGV4XCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3ZlcnRpY2FsJzogb3B0aW9ucy5sYXlvdXQgfCBwdXJlOiBpc1ZlcnRpY2FsLFxuICAgICAgICAnaG9yaXpvbnRhbCc6ICEob3B0aW9ucy5sYXlvdXQgfCBwdXJlOiBpc1ZlcnRpY2FsKSxcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpdGVtIHR3LWgtZnVsbCB0dy13LWZ1bGxcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZXJpZXNcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJsZWdlbmQgdHctdGV4dC1jZW50ZXIgdHctdGV4dC1vdmVyZmxvdyB0dy1tYi00XCJcbiAgICAgICAgICAqbmdJZj1cIiEob3B0aW9ucy5sYXlvdXQgfCBwdXJlOiBpc1ZlcnRpY2FsKSAmJiBzZXJpZXM/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3R3LXRleHQtY2VudGVyJzogb3B0aW9ucy5sYXlvdXQgfCBwdXJlOiBpc1ZlcnRpY2FsIH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJGFueShpdGVtKS5uYW1lIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ3cmFwcGVyIHR3LWZsZXggdHctaC1mdWxsXCJcbiAgICAgICAgICAjd3JhcHBlclxuICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb250YWluZXJXaWR0aCB8IHB1cmU6IGdldFdyYXBwZXJXaWR0aFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWUgdHctdGV4dC1uLTEgdHctdGV4dC14bCB0dy10ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAge3sgJGFueShpdGVtKS5kaXNwbGF5TmFtZSB9fVxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiRhbnkoaXRlbSkuZGlzcGxheU5hbWUgfCBwdXJlOiBzaG93VW5pdFwiPnt7XG4gICAgICAgICAgICAgICRhbnkoaXRlbSk/LnVuaXQgfCB0cmFuc2xhdGU6IHt9IDogdHJ1ZVxuICAgICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImVtcHR5LWJhciB0dy1mbGV4IHR3LXJlbGF0aXZlIHR3LWJnLW4tOFwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJpdGVtIHwgcHVyZTogZ2V0RW1wdHlTdHlsZVwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYmFyXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cIml0ZW0gfCBwdXJlOiBnZXRCYXJTdHlsZVwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibGVnZW5kIHR3LXRleHQtY2VudGVyIHR3LXRleHQtb3ZlcmZsb3dcIlxuICAgICAgICAgICAgKm5nSWY9XCJvcHRpb25zLmxheW91dCB8IHB1cmU6IGlzVmVydGljYWxcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAndHctdGV4dC1jZW50ZXInOiBvcHRpb25zLmxheW91dCB8IHB1cmU6IGlzVmVydGljYWwgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJGFueShpdGVtKS5uYW1lIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLWNoYXJ0LXN0YXR1c1xuICAgIFtzdGF0dXNdPVwic3RhdHVzXCJcbiAgICBbY3VzdG9tRXJyb3JdPVwiY3VzdG9tRXJyb3JcIlxuICAgIChyZWZyZXNoKT1cInJlZnJlc2gubmV4dCgpXCJcbiAgPjwvYWNsLWNoYXJ0LXN0YXR1cz5cbjwvZGl2PlxuIl19
|
|
@@ -2,9 +2,18 @@ import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
|
2
2
|
import { isNumber } from 'lodash-es';
|
|
3
3
|
import { BaseComponentChart } from '../base-chart.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
function StatChartComponent_div_4_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
6
|
+
i0.ɵɵelementStart(0, "div", 11);
|
|
7
|
+
i0.ɵɵtext(1);
|
|
8
|
+
i0.ɵɵelementEnd();
|
|
9
|
+
} if (rf & 2) {
|
|
10
|
+
const item_r3 = i0.ɵɵnextContext().$implicit;
|
|
11
|
+
i0.ɵɵadvance(1);
|
|
12
|
+
i0.ɵɵtextInterpolate1(" ", item_r3.name, " ");
|
|
13
|
+
} }
|
|
5
14
|
const _c0 = function () { return {}; };
|
|
6
|
-
function
|
|
7
|
-
i0.ɵɵelementStart(0, "span",
|
|
15
|
+
function StatChartComponent_div_4_div_2_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
i0.ɵɵelementStart(0, "span", 12);
|
|
8
17
|
i0.ɵɵtext(1);
|
|
9
18
|
i0.ɵɵpipe(2, "translate");
|
|
10
19
|
i0.ɵɵelementEnd();
|
|
@@ -15,24 +24,29 @@ function StatChartComponent_div_4_div_2_span_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
15
24
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, (tmp_0_0 = item_r3) == null ? null : tmp_0_0.unit, i0.ɵɵpureFunction0(5, _c0), true));
|
|
16
25
|
} }
|
|
17
26
|
function StatChartComponent_div_4_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
-
i0.ɵɵelementStart(0, "div", 7)
|
|
19
|
-
i0.ɵɵ
|
|
20
|
-
i0.ɵɵ
|
|
21
|
-
i0.ɵɵ
|
|
27
|
+
i0.ɵɵelementStart(0, "div", 7);
|
|
28
|
+
i0.ɵɵtemplate(1, StatChartComponent_div_4_div_2_div_1_Template, 2, 1, "div", 8);
|
|
29
|
+
i0.ɵɵelementStart(2, "div", 9);
|
|
30
|
+
i0.ɵɵtext(3);
|
|
31
|
+
i0.ɵɵtemplate(4, StatChartComponent_div_4_div_2_span_4_Template, 3, 6, "span", 10);
|
|
32
|
+
i0.ɵɵpipe(5, "pure");
|
|
22
33
|
i0.ɵɵelementEnd()();
|
|
23
34
|
} if (rf & 2) {
|
|
24
35
|
const item_r3 = ctx.$implicit;
|
|
25
|
-
const
|
|
36
|
+
const statSeries_r1 = i0.ɵɵnextContext().ngIf;
|
|
37
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
38
|
+
i0.ɵɵadvance(1);
|
|
39
|
+
i0.ɵɵproperty("ngIf", (statSeries_r1 == null ? null : statSeries_r1.length) > 1);
|
|
26
40
|
i0.ɵɵadvance(1);
|
|
27
41
|
i0.ɵɵstyleProp("color", item_r3 == null ? null : item_r3.color);
|
|
28
42
|
i0.ɵɵadvance(1);
|
|
29
43
|
i0.ɵɵtextInterpolate1(" ", item_r3.displayName, " ");
|
|
30
44
|
i0.ɵɵadvance(1);
|
|
31
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(
|
|
45
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(5, 5, item_r3.displayName, ctx_r2.showUnit));
|
|
32
46
|
} }
|
|
33
47
|
function StatChartComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
34
48
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 5);
|
|
35
|
-
i0.ɵɵtemplate(2, StatChartComponent_div_4_div_2_Template,
|
|
49
|
+
i0.ɵɵtemplate(2, StatChartComponent_div_4_div_2_Template, 6, 8, "div", 6);
|
|
36
50
|
i0.ɵɵelementEnd()();
|
|
37
51
|
} if (rf & 2) {
|
|
38
52
|
const statSeries_r1 = ctx.ngIf;
|
|
@@ -46,7 +60,7 @@ export class StatChartComponent extends BaseComponentChart {
|
|
|
46
60
|
return isNumber(+value) && !Number.isNaN(+value);
|
|
47
61
|
}
|
|
48
62
|
static { this.ɵfac = /*@__PURE__*/ function () { let ɵStatChartComponent_BaseFactory; return function StatChartComponent_Factory(t) { return (ɵStatChartComponent_BaseFactory || (ɵStatChartComponent_BaseFactory = i0.ɵɵgetInheritedFactory(StatChartComponent)))(t || StatChartComponent); }; }(); }
|
|
49
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StatChartComponent, selectors: [["acl-stat-chart"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c2, decls: 7, vars: 5, consts: [[1, "stat"], [1, "tw-flex"], [1, "achart-title", "tw-flex-1", "tw-break-all"], ["class", "stat", 4, "ngIf"], [3, "status", "customError", "refresh"], [1, "body"], ["class", "item", 4, "ngFor", "ngForOf"], [1, "item"], [1, "value"], ["class", "tw-text-l tw-font-bold", 4, "ngIf"], [1, "tw-text-l", "tw-font-bold"]], template: function StatChartComponent_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StatChartComponent, selectors: [["acl-stat-chart"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c2, decls: 7, vars: 5, consts: [[1, "stat"], [1, "tw-flex"], [1, "achart-title", "tw-flex-1", "tw-break-all"], ["class", "stat", 4, "ngIf"], [3, "status", "customError", "refresh"], [1, "body"], ["class", "item", 4, "ngFor", "ngForOf"], [1, "item"], ["class", "name", 4, "ngIf"], [1, "value"], ["class", "tw-text-l tw-font-bold", 4, "ngIf"], [1, "name"], [1, "tw-text-l", "tw-font-bold"]], template: function StatChartComponent_Template(rf, ctx) { if (rf & 1) {
|
|
50
64
|
i0.ɵɵprojectionDef(_c1);
|
|
51
65
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
|
|
52
66
|
i0.ɵɵprojection(3);
|
|
@@ -65,6 +79,6 @@ export class StatChartComponent extends BaseComponentChart {
|
|
|
65
79
|
}
|
|
66
80
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StatChartComponent, [{
|
|
67
81
|
type: Component,
|
|
68
|
-
args: [{ selector: 'acl-stat-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"stat\">\n <div class=\"tw-flex\">\n <div class=\"achart-title tw-flex-1 tw-break-all\">\n <ng-content select=\"a-title\"></ng-content>\n </div>\n </div>\n <div\n class=\"stat\"\n *ngIf=\"data$ | async as statSeries\"\n >\n <div class=\"body\">\n <div\n class=\"item\"\n *ngFor=\"let item of statSeries\"\n >\n
|
|
82
|
+
args: [{ selector: 'acl-stat-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"stat\">\n <div class=\"tw-flex\">\n <div class=\"achart-title tw-flex-1 tw-break-all\">\n <ng-content select=\"a-title\"></ng-content>\n </div>\n </div>\n <div\n class=\"stat\"\n *ngIf=\"data$ | async as statSeries\"\n >\n <div class=\"body\">\n <div\n class=\"item\"\n *ngFor=\"let item of statSeries\"\n >\n <div\n class=\"name\"\n *ngIf=\"statSeries?.length > 1\"\n >\n {{ $any(item).name }}\n </div>\n <div\n class=\"value\"\n [style.color]=\"item?.color\"\n >\n {{ $any(item).displayName }}\n <span\n class=\"tw-text-l tw-font-bold\"\n *ngIf=\"$any(item).displayName | pure: showUnit\"\n >{{ $any(item)?.unit | translate: {} : true}}</span\n >\n </div>\n </div>\n </div>\n </div>\n <acl-chart-status\n [status]=\"status\"\n [customError]=\"customError\"\n (refresh)=\"refresh.next()\"\n ></acl-chart-status>\n</div>\n", styles: [":host{position:relative}.stat{display:flex;flex-direction:column;width:100%;height:100%}.stat .body{display:flex;height:100%}.stat .item{flex:1;padding:12px;display:flex;align-items:center;justify-content:center;flex-direction:column}.stat .title{font-size:20px}.stat .value{font-size:60px;line-height:initial}\n"] }]
|
|
69
83
|
}], null, null); })();
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdC1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYS1tZXRyaWMtY2hhcnQvc3RhdC1jaGFydC9zdGF0LWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC9zdGF0LWNoYXJ0L3N0YXQtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7SUNZckQsK0JBR0M7SUFDQyxZQUNGO0lBQUEsaUJBQU07OztJQURKLGVBQ0Y7SUFERSw2Q0FDRjs7OztJQU1FLGdDQUdHO0lBQUEsWUFBNEM7O0lBQUEsaUJBQzlDOzs7O0lBREUsZUFBNEM7SUFBNUMsK0hBQTRDOzs7SUFsQm5ELDhCQUdDO0lBQ0MsK0VBS007SUFDTiw4QkFHQztJQUNDLFlBQ0E7SUFBQSxrRkFJQzs7SUFDSCxpQkFBTSxFQUFBOzs7OztJQWRILGVBQTRCO0lBQTVCLGdGQUE0QjtJQU03QixlQUEyQjtJQUEzQiwrREFBMkI7SUFFM0IsZUFDQTtJQURBLG9EQUNBO0lBRUcsZUFBNkM7SUFBN0MsaUZBQTZDOzs7SUF0QnhELDhCQUdDLGFBQUE7SUFFRyx5RUFxQk07SUFDUixpQkFBTSxFQUFBOzs7SUFwQmUsZUFBYTtJQUFiLHVDQUFhOzs7O0FERnRDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7SUFDeEQsUUFBUSxDQUFDLEtBQXNCO1FBQzdCLE9BQU8sUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztpUEFIVSxrQkFBa0IsU0FBbEIsa0JBQWtCO29FQUFsQixrQkFBa0I7O1lDWC9CLDhCQUFrQixhQUFBLGFBQUE7WUFHWixrQkFBMEM7WUFDNUMsaUJBQU0sRUFBQTtZQUVSLG1FQTRCTTs7WUFDTiwyQ0FJQztZQURDLDZHQUFXLGtCQUFjLElBQUM7WUFDM0IsaUJBQW1CLEVBQUE7O1lBL0JqQixlQUFvQjtZQUFwQixzREFBb0I7WUE0QnJCLGVBQWlCO1lBQWpCLG1DQUFpQixnQ0FBQTs7O3VGRHpCUixrQkFBa0I7Y0FOOUIsU0FBUzsyQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudENoYXJ0IH0gZnJvbSAnLi4vYmFzZS1jaGFydC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtc3RhdC1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGF0LWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RhdC1jaGFydC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdENoYXJ0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudENoYXJ0IHtcbiAgc2hvd1VuaXQodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHJldHVybiBpc051bWJlcigrdmFsdWUpICYmICFOdW1iZXIuaXNOYU4oK3ZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInN0YXRcIj5cbiAgPGRpdiBjbGFzcz1cInR3LWZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNoYXJ0LXRpdGxlIHR3LWZsZXgtMSB0dy1icmVhay1hbGxcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImEtdGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzdGF0XCJcbiAgICAqbmdJZj1cImRhdGEkIHwgYXN5bmMgYXMgc3RhdFNlcmllc1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdGF0U2VyaWVzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibmFtZVwiXG4gICAgICAgICAgKm5nSWY9XCJzdGF0U2VyaWVzPy5sZW5ndGggPiAxXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICRhbnkoaXRlbSkubmFtZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJpdGVtPy5jb2xvclwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAkYW55KGl0ZW0pLmRpc3BsYXlOYW1lIH19XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwidHctdGV4dC1sIHR3LWZvbnQtYm9sZFwiXG4gICAgICAgICAgICAqbmdJZj1cIiRhbnkoaXRlbSkuZGlzcGxheU5hbWUgfCBwdXJlOiBzaG93VW5pdFwiXG4gICAgICAgICAgICA+e3sgJGFueShpdGVtKT8udW5pdCB8IHRyYW5zbGF0ZToge30gOiB0cnVlfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLWNoYXJ0LXN0YXR1c1xuICAgIFtzdGF0dXNdPVwic3RhdHVzXCJcbiAgICBbY3VzdG9tRXJyb3JdPVwiY3VzdG9tRXJyb3JcIlxuICAgIChyZWZyZXNoKT1cInJlZnJlc2gubmV4dCgpXCJcbiAgPjwvYWNsLWNoYXJ0LXN0YXR1cz5cbjwvZGl2PlxuIl19
|
|
@@ -179,7 +179,7 @@ export class TableChartComponent extends BaseComponentChart {
|
|
|
179
179
|
i0.ɵɵelementEnd()();
|
|
180
180
|
} if (rf & 2) {
|
|
181
181
|
i0.ɵɵadvance(4);
|
|
182
|
-
i0.ɵɵproperty("ngIf", ctx.list);
|
|
182
|
+
i0.ɵɵproperty("ngIf", ctx.list == null ? null : ctx.list.length);
|
|
183
183
|
i0.ɵɵadvance(1);
|
|
184
184
|
i0.ɵɵproperty("status", ctx._status)("customError", ctx.customError);
|
|
185
185
|
} }, styles: ["[_nghost-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] .aui-table{padding:0}[_nghost-%COMP%] .aui-table__row{min-width:auto}[_nghost-%COMP%] .aui-table__scroll-wrapper{padding-left:0}[_nghost-%COMP%] .aui-table__row:not(.aui-table__scroll-shadow .aui-table__row:last-child) .aui-table__cell, [_nghost-%COMP%] .aui-table__row .aui-table__cell:first-of-type{border-left:0}[_nghost-%COMP%] .aui-table__scroll-shadow .aui-table__row .aui-table__cell:first-of-type, [_nghost-%COMP%] .aui-table__scroll-shadow .aui-table__header-row .aui-table__header-cell:first-of-type{padding-left:0}[_nghost-%COMP%] .aui-table__scroll-shadow.hasTableBottomShadow:after{display:none}[_nghost-%COMP%] .aui-table__row, [_nghost-%COMP%] .aui-table__cell, [_nghost-%COMP%] .aui-table__header-row{background-color:transparent}"], changeDetection: 0 }); }
|
|
@@ -190,7 +190,7 @@ __decorate([
|
|
|
190
190
|
], TableChartComponent.prototype, "list$", void 0);
|
|
191
191
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableChartComponent, [{
|
|
192
192
|
type: Component,
|
|
193
|
-
args: [{ selector: 'a-table-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tw-h-full\">\n <div class=\"tw-flex\">\n <div class=\"achart-title tw-flex-1 tw-break-all\">\n <ng-content select=\"a-title\"></ng-content>\n </div>\n </div>\n <div\n class=\"table tw-mt-8\"\n [ngStyle]=\"{ height: 'calc(100% - 15px)' }\"\n *ngIf=\"list\"\n >\n <div [auiTableScrollWrapper]=\"paginator ? 'calc(100% - 48px)' : '100%'\">\n <aui-table\n [dataSource]=\"columns.length ? (tableList$ | async) : []\"\n auiTableScrollable\n >\n <ng-container *ngFor=\"let column of columns\">\n <ng-container [auiTableColumnDef]=\"column\">\n <aui-table-header-cell\n [class]=\"alignment | pure: getAlignmentClass\"\n *auiTableHeaderCellDef\n >\n {{$any(list?.[0]?.[column]?.sourceName) === 'time' && !$any(list?.[0]?.[column]?.displayName) ? (column | translate) : column }}\n <ng-container\n *ngIf=\"$any(tableList$ | async)?.[0]?.[column]?.unit as unit\"\n >\n ({{ unit }})\n </ng-container>\n </aui-table-header-cell>\n <aui-table-cell\n [class]=\"alignment | pure: getAlignmentClass\"\n *auiTableCellDef=\"let item; let index = index\"\n >\n <span\n class=\"tw-text-ellipsis tw-overflow-hidden\"\n [ngStyle]=\"{ color: item?.[column]?.color }\"\n >\n {{ item?.[column]?.value | pure: format:item?.[column]?.sourceName: item?.[column]?.unit | aclFieldNotAvailable }}\n </span>\n </aui-table-cell>\n </ng-container>\n </ng-container>\n\n <aui-table-header-row\n *auiTableHeaderRowDef=\"columns; sticky: true\"\n ></aui-table-header-row>\n <aui-table-row\n *auiTableRowDef=\"let row; columns: columns\"\n ></aui-table-row>\n </aui-table>\n </div>\n <aui-paginator\n *ngIf=\"paginator\"\n layout=\"pager\"\n [currentPage]=\"(paginator$$ | async).currentPage\"\n [pageSize]=\"(paginator$$ | async).pageSize\"\n [total]=\"list.length || 0\"\n (currentPageChange)=\"onPageChange($event)\"\n ></aui-paginator>\n </div>\n <acl-chart-status\n [status]=\"_status\"\n [customError]=\"customError\"\n (refresh)=\"refresh.next()\"\n ></acl-chart-status>\n</div>\n", styles: [":host{width:100%;height:100%}:host ::ng-deep .aui-table{padding:0}:host ::ng-deep .aui-table__row{min-width:auto}:host ::ng-deep .aui-table__scroll-wrapper{padding-left:0}:host ::ng-deep .aui-table__row:not(.aui-table__scroll-shadow .aui-table__row:last-child) .aui-table__cell,:host ::ng-deep .aui-table__row .aui-table__cell:first-of-type{border-left:0}:host ::ng-deep .aui-table__scroll-shadow .aui-table__row .aui-table__cell:first-of-type,:host ::ng-deep .aui-table__scroll-shadow .aui-table__header-row .aui-table__header-cell:first-of-type{padding-left:0}:host ::ng-deep .aui-table__scroll-shadow.hasTableBottomShadow:after{display:none}:host ::ng-deep .aui-table__row,:host ::ng-deep .aui-table__cell,:host ::ng-deep .aui-table__header-row{background-color:transparent}\n"] }]
|
|
193
|
+
args: [{ selector: 'a-table-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"tw-h-full\">\n <div class=\"tw-flex\">\n <div class=\"achart-title tw-flex-1 tw-break-all\">\n <ng-content select=\"a-title\"></ng-content>\n </div>\n </div>\n <div\n class=\"table tw-mt-8\"\n [ngStyle]=\"{ height: 'calc(100% - 15px)' }\"\n *ngIf=\"list?.length\"\n >\n <div [auiTableScrollWrapper]=\"paginator ? 'calc(100% - 48px)' : '100%'\">\n <aui-table\n [dataSource]=\"columns.length ? (tableList$ | async) : []\"\n auiTableScrollable\n >\n <ng-container *ngFor=\"let column of columns\">\n <ng-container [auiTableColumnDef]=\"column\">\n <aui-table-header-cell\n [class]=\"alignment | pure: getAlignmentClass\"\n *auiTableHeaderCellDef\n >\n {{$any(list?.[0]?.[column]?.sourceName) === 'time' && !$any(list?.[0]?.[column]?.displayName) ? (column | translate) : column }}\n <ng-container\n *ngIf=\"$any(tableList$ | async)?.[0]?.[column]?.unit as unit\"\n >\n ({{ unit }})\n </ng-container>\n </aui-table-header-cell>\n <aui-table-cell\n [class]=\"alignment | pure: getAlignmentClass\"\n *auiTableCellDef=\"let item; let index = index\"\n >\n <span\n class=\"tw-text-ellipsis tw-overflow-hidden\"\n [ngStyle]=\"{ color: item?.[column]?.color }\"\n >\n {{ item?.[column]?.value | pure: format:item?.[column]?.sourceName: item?.[column]?.unit | aclFieldNotAvailable }}\n </span>\n </aui-table-cell>\n </ng-container>\n </ng-container>\n\n <aui-table-header-row\n *auiTableHeaderRowDef=\"columns; sticky: true\"\n ></aui-table-header-row>\n <aui-table-row\n *auiTableRowDef=\"let row; columns: columns\"\n ></aui-table-row>\n </aui-table>\n </div>\n <aui-paginator\n *ngIf=\"paginator\"\n layout=\"pager\"\n [currentPage]=\"(paginator$$ | async).currentPage\"\n [pageSize]=\"(paginator$$ | async).pageSize\"\n [total]=\"list.length || 0\"\n (currentPageChange)=\"onPageChange($event)\"\n ></aui-paginator>\n </div>\n <acl-chart-status\n [status]=\"_status\"\n [customError]=\"customError\"\n (refresh)=\"refresh.next()\"\n ></acl-chart-status>\n</div>\n", styles: [":host{width:100%;height:100%}:host ::ng-deep .aui-table{padding:0}:host ::ng-deep .aui-table__row{min-width:auto}:host ::ng-deep .aui-table__scroll-wrapper{padding-left:0}:host ::ng-deep .aui-table__row:not(.aui-table__scroll-shadow .aui-table__row:last-child) .aui-table__cell,:host ::ng-deep .aui-table__row .aui-table__cell:first-of-type{border-left:0}:host ::ng-deep .aui-table__scroll-shadow .aui-table__row .aui-table__cell:first-of-type,:host ::ng-deep .aui-table__scroll-shadow .aui-table__header-row .aui-table__header-cell:first-of-type{padding-left:0}:host ::ng-deep .aui-table__scroll-shadow.hasTableBottomShadow:after{display:none}:host ::ng-deep .aui-table__row,:host ::ng-deep .aui-table__cell,:host ::ng-deep .aui-table__header-row{background-color:transparent}\n"] }]
|
|
194
194
|
}], null, { list: [{
|
|
195
195
|
type: Input
|
|
196
196
|
}], list$: [], alignment: [{
|
|
@@ -198,4 +198,4 @@ __decorate([
|
|
|
198
198
|
}], paginator: [{
|
|
199
199
|
type: Input
|
|
200
200
|
}] }); })();
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2EtbWV0cmljLWNoYXJ0L3RhYmxlLWNoYXJ0L3RhYmxlLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC90YWJsZS1jaGFydC90YWJsZS1jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsVUFBVSxHQUNYLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztJQ2EvQyw2QkFFQztJQUNDLFlBQ0Y7SUFBQSwwQkFBZTs7O0lBRGIsZUFDRjtJQURFLDBDQUNGOzs7SUFURiw2Q0FHQzs7SUFDQyxZQUNBOztJQUFBLG9JQUllOztJQUNqQixpQkFBd0I7Ozs7O0lBVHRCLCtFQUE2QztJQUc3QyxlQUNBO0lBREEsNFhBQ0E7SUFDRyxlQUFvRDtJQUFwRCx5TEFBb0Q7Ozs7SUFLekQsc0NBR0M7O0lBQ0MsZ0NBR0M7SUFDQyxZQUNGOzs7SUFBQSxpQkFBTyxFQUFBOzs7OztJQVJQLCtFQUE2QztJQUszQyxlQUE0QztJQUE1QywrSUFBNEM7SUFFNUMsZUFDRjtJQURFLDRXQUNGOzs7SUF0Qk4sNkJBQTZDLE9BQUE7SUFFekMsK0hBVXdCO0lBQ3hCLGlIQVVpQjtJQUNuQiwwQkFBZSxFQUFBOzs7SUF2QkQsZUFBNEI7SUFBNUIsNkNBQTRCOzs7SUEwQjVDLHVDQUV3Qjs7O0lBQ3hCLGdDQUVpQjs7OztJQUdyQix5Q0FPQztJQURDLHdOQUFxQixlQUFBLDRCQUFvQixDQUFBLElBQUM7OztJQUMzQyxpQkFBZ0I7OztJQUpmLGtGQUFpRCwrREFBQSxrQ0FBQTs7Ozs7SUFoRHJELDhCQUlDLGFBQUEsbUJBQUE7O0lBTUssNEZBeUJlO0lBRWYsNEdBRXdCO0lBQ3hCLCtGQUVpQjtJQUNuQixpQkFBWSxFQUFBO0lBRWQsK0ZBT2lCO0lBQ25CLGlCQUFNOzs7SUFuREoscURBQTJDO0lBR3RDLGVBQWtFO0lBQWxFLHVGQUFrRTtJQUVuRSxlQUF5RDtJQUF6RCwwSEFBeUQ7SUFHeEIsZUFBVTtJQUFWLHdDQUFVO0lBNEJ4QyxlQUErQjtJQUEvQixxREFBK0Isb0NBQUE7SUFHTixlQUFnQjtJQUFoQixzREFBZ0I7SUFLN0MsZUFBZTtJQUFmLHVDQUFlOzs7O0FEaEN0QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBTjNEOztRQVVXLGNBQVMsR0FBZ0MsTUFBTSxDQUFDO1FBK0J6RCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDO1lBQ2hDLFdBQVcsRUFBRSxDQUFDO1lBQ2QsUUFBUSxFQUFFLENBQUM7U0FDWixDQUFDLENBQUM7UUFFSCxlQUFVLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNQLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFnQixHQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBZ0IsQ0FDOUQ7Z0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNULElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxXQUFXLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxFQUFFLENBQ2IsQ0FBQztLQTZCSDtJQXBFQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTTtZQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ2QsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNyRCxFQUFFLENBQ0g7WUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBaUM7UUFDakQsT0FBTztZQUNMLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsTUFBTSxFQUFFLG1CQUFtQjtZQUMzQixLQUFLLEVBQUUsZ0JBQWdCO1NBQ3hCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDVixDQUFDO0lBc0JELE1BQU0sQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFFLElBQVk7UUFDOUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxHQUFvQixLQUFLLENBQUM7UUFDbEMsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQ2hCLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7U0FDdkQ7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUIsT0FBTyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7UUFDRCxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssTUFBTSxDQUFDLENBQUM7Z0JBQ1gsT0FBTyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDckQ7WUFDRCxPQUFPLENBQUMsQ0FBQztnQkFDUCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQW1CO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFdBQVc7WUFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLElBQUksQ0FBQztTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDO3FQQWpGVSxtQkFBbUIsU0FBbkIsbUJBQW1CO29FQUFuQixtQkFBbUI7O1lDcEJoQyw4QkFBdUIsYUFBQSxhQUFBO1lBR2pCLGtCQUEwQztZQUM1QyxpQkFBTSxFQUFBO1lBRVIscUVBcURNO1lBQ04sMkNBSUM7WUFEQyw4R0FBVyxrQkFBYyxJQUFDO1lBQzNCLGlCQUFtQixFQUFBOztZQXZEakIsZUFBVTtZQUFWLCtCQUFVO1lBb0RYLGVBQWtCO1lBQWxCLG9DQUFrQixnQ0FBQTs7O0FEdkNEO0lBQWxCLGVBQWUsRUFBRTs4QkFBUyxVQUFVO2tEQUFjO3VGQUZ4QyxtQkFBbUI7Y0FOL0IsU0FBUzsyQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU07Z0JBR3RDLElBQUk7a0JBQVosS0FBSztZQUNhLEtBQUssTUFFZixTQUFTO2tCQUFqQixLQUFLO1lBRUcsU0FBUztrQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgZ2V0LCB1bmlxIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIERBVEVfVElNRV9GT1JNQVQsXG4gIE9ic2VydmFibGVJbnB1dCxcbiAgcHVibGlzaFJlZixcbn0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnRDaGFydCB9IGZyb20gJy4uL2Jhc2UtY2hhcnQuY29tcG9uZW50JztcblxudHlwZSBUYWJsZUl0ZW0gPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2EtdGFibGUtY2hhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jaGFydC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDaGFydENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnRDaGFydCB7XG4gIEBJbnB1dCgpIGxpc3Q6IFRhYmxlSXRlbVtdO1xuICBAT2JzZXJ2YWJsZUlucHV0KCkgbGlzdCQhOiBPYnNlcnZhYmxlPFRhYmxlSXRlbVtdPjtcblxuICBASW5wdXQoKSBhbGlnbm1lbnQ6ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcblxuICBASW5wdXQoKSBwYWdpbmF0b3I6IHtcbiAgICBsYXlvdXQ6IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIGN1cnJlbnRQYWdlPzogbnVtYmVyO1xuICAgIHBhZ2VJbmRleD86IG51bWJlcjtcbiAgICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgICB0b3RhbD86IG51bWJlcjtcbiAgfTtcblxuICBnZXQgY29sdW1ucygpIHtcbiAgICByZXR1cm4gdGhpcy5saXN0Py5sZW5ndGhcbiAgICAgID8gdGhpcy5saXN0LnJlZHVjZShcbiAgICAgICAgICAocHJldiwgaXRlbSkgPT4gdW5pcShbLi4ucHJldiwgLi4uT2JqZWN0LmtleXMoaXRlbSldKSxcbiAgICAgICAgICBbXSxcbiAgICAgICAgKVxuICAgICAgOiBbXTtcbiAgfVxuXG4gIGdldCBfc3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnMubGVuZ3RoID8gdGhpcy5zdGF0dXMgOiB7IC4uLnRoaXMuc3RhdHVzLCBub0RhdGE6IHRydWUgfTtcbiAgfVxuXG4gIGdldEFsaWdubWVudENsYXNzKHR5cGU6ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0Jykge1xuICAgIHJldHVybiB7XG4gICAgICBsZWZ0OiAndHctanVzdGlmeS1zdGFydCcsXG4gICAgICBjZW50ZXI6ICd0dy1qdXN0aWZ5LWNlbnRlcicsXG4gICAgICByaWdodDogJ3R3LWp1c3RpZnktZW5kJyxcbiAgICB9W3R5cGVdO1xuICB9XG5cbiAgcGFnaW5hdG9yJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHtcbiAgICBjdXJyZW50UGFnZTogMSxcbiAgICBwYWdlU2l6ZTogNSxcbiAgfSk7XG5cbiAgdGFibGVMaXN0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubGlzdCQsIHRoaXMucGFnaW5hdG9yJCRdKS5waXBlKFxuICAgIG1hcCgoW2l0ZW0sIHsgY3VycmVudFBhZ2UsIHBhZ2VTaXplIH1dKSA9PiB7XG4gICAgICBjb25zdCBsaXN0ID0gZ2V0KGl0ZW0/LlswXSwgWyd0aW1lJywgJ3ZhbHVlJ10pXG4gICAgICAgID8gaXRlbS5zb3J0KFxuICAgICAgICAgICAgKGEsIGIpID0+IChiLnRpbWUudmFsdWUgYXMgbnVtYmVyKSAtIChhLnRpbWUudmFsdWUgYXMgbnVtYmVyKSxcbiAgICAgICAgICApXG4gICAgICAgIDogaXRlbTtcbiAgICAgIGlmICghdGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgICB9XG4gICAgICByZXR1cm4gbGlzdC5zbGljZSgoY3VycmVudFBhZ2UgLSAxKSAqIHBhZ2VTaXplLCBjdXJyZW50UGFnZSAqIHBhZ2VTaXplKTtcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgZm9ybWF0KHZhbHVlOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgdW5pdDogc3RyaW5nKSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZGF0YTogc3RyaW5nIHwgbnVtYmVyID0gdmFsdWU7XG4gICAgaWYgKHVuaXQgPT09ICclJykge1xuICAgICAgZGF0YSA9IGlzTmFOKCt2YWx1ZSkgfHwgIXZhbHVlID8gdmFsdWUgOiArdmFsdWUgKiAxMDA7XG4gICAgfVxuICAgIGlmICh0eXBlLmluY2x1ZGVzKCd2YWx1ZScpKSB7XG4gICAgICByZXR1cm4gaXNOYU4oK2RhdGEpIHx8ICFkYXRhID8gZGF0YSA6ICsoK2RhdGEpPy50b0ZpeGVkKDIpO1xuICAgIH1cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3RpbWUnOiB7XG4gICAgICAgIHJldHVybiBkYXlqcygrZGF0YSAqIDEwMDApLmZvcm1hdChEQVRFX1RJTUVfRk9STUFUKTtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25QYWdlQ2hhbmdlKGN1cnJlbnRQYWdlOiBudW1iZXIpIHtcbiAgICB0aGlzLnBhZ2luYXRvciQkLm5leHQoe1xuICAgICAgY3VycmVudFBhZ2UsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdpbmF0b3IucGFnZVNpemUgfHwgNSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInR3LWgtZnVsbFwiPlxuICA8ZGl2IGNsYXNzPVwidHctZmxleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhY2hhcnQtdGl0bGUgdHctZmxleC0xIHR3LWJyZWFrLWFsbFwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYS10aXRsZVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInRhYmxlIHR3LW10LThcIlxuICAgIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiAnY2FsYygxMDAlIC0gMTVweCknIH1cIlxuICAgICpuZ0lmPVwibGlzdFwiXG4gID5cbiAgICA8ZGl2IFthdWlUYWJsZVNjcm9sbFdyYXBwZXJdPVwicGFnaW5hdG9yID8gJ2NhbGMoMTAwJSAtIDQ4cHgpJyA6ICcxMDAlJ1wiPlxuICAgICAgPGF1aS10YWJsZVxuICAgICAgICBbZGF0YVNvdXJjZV09XCJjb2x1bW5zLmxlbmd0aCA/ICh0YWJsZUxpc3QkIHwgYXN5bmMpIDogW11cIlxuICAgICAgICBhdWlUYWJsZVNjcm9sbGFibGVcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFthdWlUYWJsZUNvbHVtbkRlZl09XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxhdWktdGFibGUtaGVhZGVyLWNlbGxcbiAgICAgICAgICAgICAgW2NsYXNzXT1cImFsaWdubWVudCB8IHB1cmU6IGdldEFsaWdubWVudENsYXNzXCJcbiAgICAgICAgICAgICAgKmF1aVRhYmxlSGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyRhbnkobGlzdD8uWzBdPy5bY29sdW1uXT8uc291cmNlTmFtZSkgPT09ICd0aW1lJyAmJiAhJGFueShsaXN0Py5bMF0/Lltjb2x1bW5dPy5kaXNwbGF5TmFtZSkgID8gIChjb2x1bW4gfCB0cmFuc2xhdGUpIDogY29sdW1uIH19XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiRhbnkodGFibGVMaXN0JCB8IGFzeW5jKT8uWzBdPy5bY29sdW1uXT8udW5pdCBhcyB1bml0XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICh7eyB1bml0IH19KVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYXVpLXRhYmxlLWhlYWRlci1jZWxsPlxuICAgICAgICAgICAgPGF1aS10YWJsZS1jZWxsXG4gICAgICAgICAgICAgIFtjbGFzc109XCJhbGlnbm1lbnQgfCBwdXJlOiBnZXRBbGlnbm1lbnRDbGFzc1wiXG4gICAgICAgICAgICAgICphdWlUYWJsZUNlbGxEZWY9XCJsZXQgaXRlbTsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6IGl0ZW0/Lltjb2x1bW5dPy5jb2xvciB9XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0/Lltjb2x1bW5dPy52YWx1ZSB8IHB1cmU6IGZvcm1hdDppdGVtPy5bY29sdW1uXT8uc291cmNlTmFtZTogaXRlbT8uW2NvbHVtbl0/LnVuaXQgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2F1aS10YWJsZS1jZWxsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAgICAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5zOyBzdGlja3k6IHRydWVcIlxuICAgICAgICA+PC9hdWktdGFibGUtaGVhZGVyLXJvdz5cbiAgICAgICAgPGF1aS10YWJsZS1yb3dcbiAgICAgICAgICAqYXVpVGFibGVSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBjb2x1bW5zXCJcbiAgICAgICAgPjwvYXVpLXRhYmxlLXJvdz5cbiAgICAgIDwvYXVpLXRhYmxlPlxuICAgIDwvZGl2PlxuICAgIDxhdWktcGFnaW5hdG9yXG4gICAgICAqbmdJZj1cInBhZ2luYXRvclwiXG4gICAgICBsYXlvdXQ9XCJwYWdlclwiXG4gICAgICBbY3VycmVudFBhZ2VdPVwiKHBhZ2luYXRvciQkIHwgYXN5bmMpLmN1cnJlbnRQYWdlXCJcbiAgICAgIFtwYWdlU2l6ZV09XCIocGFnaW5hdG9yJCQgfCBhc3luYykucGFnZVNpemVcIlxuICAgICAgW3RvdGFsXT1cImxpc3QubGVuZ3RoIHx8IDBcIlxuICAgICAgKGN1cnJlbnRQYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+PC9hdWktcGFnaW5hdG9yPlxuICA8L2Rpdj5cbiAgPGFjbC1jaGFydC1zdGF0dXNcbiAgICBbc3RhdHVzXT1cIl9zdGF0dXNcIlxuICAgIFtjdXN0b21FcnJvcl09XCJjdXN0b21FcnJvclwiXG4gICAgKHJlZnJlc2gpPVwicmVmcmVzaC5uZXh0KClcIlxuICA+PC9hY2wtY2hhcnQtc3RhdHVzPlxuPC9kaXY+XG4iXX0=
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2EtbWV0cmljLWNoYXJ0L3RhYmxlLWNoYXJ0L3RhYmxlLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC90YWJsZS1jaGFydC90YWJsZS1jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsVUFBVSxHQUNYLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztJQ2EvQyw2QkFFQztJQUNDLFlBQ0Y7SUFBQSwwQkFBZTs7O0lBRGIsZUFDRjtJQURFLDBDQUNGOzs7SUFURiw2Q0FHQzs7SUFDQyxZQUNBOztJQUFBLG9JQUllOztJQUNqQixpQkFBd0I7Ozs7O0lBVHRCLCtFQUE2QztJQUc3QyxlQUNBO0lBREEsNFhBQ0E7SUFDRyxlQUFvRDtJQUFwRCx5TEFBb0Q7Ozs7SUFLekQsc0NBR0M7O0lBQ0MsZ0NBR0M7SUFDQyxZQUNGOzs7SUFBQSxpQkFBTyxFQUFBOzs7OztJQVJQLCtFQUE2QztJQUszQyxlQUE0QztJQUE1QywrSUFBNEM7SUFFNUMsZUFDRjtJQURFLDRXQUNGOzs7SUF0Qk4s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RVIscUVBcURNO1lBQ04sMkNBSUM7WUFEQyw4R0FBVyxrQkFBYyxJQUFDO1lBQzNCLGlCQUFtQixFQUFBOztZQXZEakIsZUFBa0I7WUFBbEIsZ0VBQWtCO1lBb0RuQixlQUFrQjtZQUFsQixvQ0FBa0IsZ0NBQUE7OztBRHZDRDtJQUFsQixlQUFlLEVBQUU7OEJBQVMsVUFBVTtrREFBYzt1RkFGeEMsbUJBQW1CO2NBTi9CLFNBQVM7MkJBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd0QyxJQUFJO2tCQUFaLEtBQUs7WUFDYSxLQUFLLE1BRWYsU0FBUztrQkFBakIsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7IGdldCwgdW5pcSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBEQVRFX1RJTUVfRk9STUFULFxuICBPYnNlcnZhYmxlSW5wdXQsXG4gIHB1Ymxpc2hSZWYsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q2hhcnQgfSBmcm9tICcuLi9iYXNlLWNoYXJ0LmNvbXBvbmVudCc7XG5cbnR5cGUgVGFibGVJdGVtID0gUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhLXRhYmxlLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50Q2hhcnQge1xuICBASW5wdXQoKSBsaXN0OiBUYWJsZUl0ZW1bXTtcbiAgQE9ic2VydmFibGVJbnB1dCgpIGxpc3QkITogT2JzZXJ2YWJsZTxUYWJsZUl0ZW1bXT47XG5cbiAgQElucHV0KCkgYWxpZ25tZW50OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcgPSAnbGVmdCc7XG5cbiAgQElucHV0KCkgcGFnaW5hdG9yOiB7XG4gICAgbGF5b3V0OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBjdXJyZW50UGFnZT86IG51bWJlcjtcbiAgICBwYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgcGFnZVNpemU/OiBudW1iZXI7XG4gICAgdG90YWw/OiBudW1iZXI7XG4gIH07XG5cbiAgZ2V0IGNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdD8ubGVuZ3RoXG4gICAgICA/IHRoaXMubGlzdC5yZWR1Y2UoXG4gICAgICAgICAgKHByZXYsIGl0ZW0pID0+IHVuaXEoWy4uLnByZXYsIC4uLk9iamVjdC5rZXlzKGl0ZW0pXSksXG4gICAgICAgICAgW10sXG4gICAgICAgIClcbiAgICAgIDogW107XG4gIH1cblxuICBnZXQgX3N0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLmxlbmd0aCA/IHRoaXMuc3RhdHVzIDogeyAuLi50aGlzLnN0YXR1cywgbm9EYXRhOiB0cnVlIH07XG4gIH1cblxuICBnZXRBbGlnbm1lbnRDbGFzcyh0eXBlOiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGVmdDogJ3R3LWp1c3RpZnktc3RhcnQnLFxuICAgICAgY2VudGVyOiAndHctanVzdGlmeS1jZW50ZXInLFxuICAgICAgcmlnaHQ6ICd0dy1qdXN0aWZ5LWVuZCcsXG4gICAgfVt0eXBlXTtcbiAgfVxuXG4gIHBhZ2luYXRvciQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7XG4gICAgY3VycmVudFBhZ2U6IDEsXG4gICAgcGFnZVNpemU6IDUsXG4gIH0pO1xuXG4gIHRhYmxlTGlzdCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLnBhZ2luYXRvciQkXSkucGlwZShcbiAgICBtYXAoKFtpdGVtLCB7IGN1cnJlbnRQYWdlLCBwYWdlU2l6ZSB9XSkgPT4ge1xuICAgICAgY29uc3QgbGlzdCA9IGdldChpdGVtPy5bMF0sIFsndGltZScsICd2YWx1ZSddKVxuICAgICAgICA/IGl0ZW0uc29ydChcbiAgICAgICAgICAgIChhLCBiKSA9PiAoYi50aW1lLnZhbHVlIGFzIG51bWJlcikgLSAoYS50aW1lLnZhbHVlIGFzIG51bWJlciksXG4gICAgICAgICAgKVxuICAgICAgICA6IGl0ZW07XG4gICAgICBpZiAoIXRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3Quc2xpY2UoKGN1cnJlbnRQYWdlIC0gMSkgKiBwYWdlU2l6ZSwgY3VycmVudFBhZ2UgKiBwYWdlU2l6ZSk7XG4gICAgfSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGZvcm1hdCh2YWx1ZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcsIHVuaXQ6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGRhdGE6IHN0cmluZyB8IG51bWJlciA9IHZhbHVlO1xuICAgIGlmICh1bml0ID09PSAnJScpIHtcbiAgICAgIGRhdGEgPSBpc05hTigrdmFsdWUpIHx8ICF2YWx1ZSA/IHZhbHVlIDogK3ZhbHVlICogMTAwO1xuICAgIH1cbiAgICBpZiAodHlwZS5pbmNsdWRlcygndmFsdWUnKSkge1xuICAgICAgcmV0dXJuIGlzTmFOKCtkYXRhKSB8fCAhZGF0YSA/IGRhdGEgOiArKCtkYXRhKT8udG9GaXhlZCgyKTtcbiAgICB9XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICd0aW1lJzoge1xuICAgICAgICByZXR1cm4gZGF5anMoK2RhdGEgKiAxMDAwKS5mb3JtYXQoREFURV9USU1FX0ZPUk1BVCk7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShjdXJyZW50UGFnZTogbnVtYmVyKSB7XG4gICAgdGhpcy5wYWdpbmF0b3IkJC5uZXh0KHtcbiAgICAgIGN1cnJlbnRQYWdlLFxuICAgICAgcGFnZVNpemU6IHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplIHx8IDUsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0dy1oLWZ1bGxcIj5cbiAgPGRpdiBjbGFzcz1cInR3LWZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNoYXJ0LXRpdGxlIHR3LWZsZXgtMSB0dy1icmVhay1hbGxcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImEtdGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ0YWJsZSB0dy1tdC04XCJcbiAgICBbbmdTdHlsZV09XCJ7IGhlaWdodDogJ2NhbGMoMTAwJSAtIDE1cHgpJyB9XCJcbiAgICAqbmdJZj1cImxpc3Q/Lmxlbmd0aFwiXG4gID5cbiAgICA8ZGl2IFthdWlUYWJsZVNjcm9sbFdyYXBwZXJdPVwicGFnaW5hdG9yID8gJ2NhbGMoMTAwJSAtIDQ4cHgpJyA6ICcxMDAlJ1wiPlxuICAgICAgPGF1aS10YWJsZVxuICAgICAgICBbZGF0YVNvdXJjZV09XCJjb2x1bW5zLmxlbmd0aCA/ICh0YWJsZUxpc3QkIHwgYXN5bmMpIDogW11cIlxuICAgICAgICBhdWlUYWJsZVNjcm9sbGFibGVcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFthdWlUYWJsZUNvbHVtbkRlZl09XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxhdWktdGFibGUtaGVhZGVyLWNlbGxcbiAgICAgICAgICAgICAgW2NsYXNzXT1cImFsaWdubWVudCB8IHB1cmU6IGdldEFsaWdubWVudENsYXNzXCJcbiAgICAgICAgICAgICAgKmF1aVRhYmxlSGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyRhbnkobGlzdD8uWzBdPy5bY29sdW1uXT8uc291cmNlTmFtZSkgPT09ICd0aW1lJyAmJiAhJGFueShsaXN0Py5bMF0/Lltjb2x1bW5dPy5kaXNwbGF5TmFtZSkgID8gIChjb2x1bW4gfCB0cmFuc2xhdGUpIDogY29sdW1uIH19XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiRhbnkodGFibGVMaXN0JCB8IGFzeW5jKT8uWzBdPy5bY29sdW1uXT8udW5pdCBhcyB1bml0XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICh7eyB1bml0IH19KVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYXVpLXRhYmxlLWhlYWRlci1jZWxsPlxuICAgICAgICAgICAgPGF1aS10YWJsZS1jZWxsXG4gICAgICAgICAgICAgIFtjbGFzc109XCJhbGlnbm1lbnQgfCBwdXJlOiBnZXRBbGlnbm1lbnRDbGFzc1wiXG4gICAgICAgICAgICAgICphdWlUYWJsZUNlbGxEZWY9XCJsZXQgaXRlbTsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6IGl0ZW0/Lltjb2x1bW5dPy5jb2xvciB9XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0/Lltjb2x1bW5dPy52YWx1ZSB8IHB1cmU6IGZvcm1hdDppdGVtPy5bY29sdW1uXT8uc291cmNlTmFtZTogaXRlbT8uW2NvbHVtbl0/LnVuaXQgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2F1aS10YWJsZS1jZWxsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAgICAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5zOyBzdGlja3k6IHRydWVcIlxuICAgICAgICA+PC9hdWktdGFibGUtaGVhZGVyLXJvdz5cbiAgICAgICAgPGF1aS10YWJsZS1yb3dcbiAgICAgICAgICAqYXVpVGFibGVSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBjb2x1bW5zXCJcbiAgICAgICAgPjwvYXVpLXRhYmxlLXJvdz5cbiAgICAgIDwvYXVpLXRhYmxlPlxuICAgIDwvZGl2PlxuICAgIDxhdWktcGFnaW5hdG9yXG4gICAgICAqbmdJZj1cInBhZ2luYXRvclwiXG4gICAgICBsYXlvdXQ9XCJwYWdlclwiXG4gICAgICBbY3VycmVudFBhZ2VdPVwiKHBhZ2luYXRvciQkIHwgYXN5bmMpLmN1cnJlbnRQYWdlXCJcbiAgICAgIFtwYWdlU2l6ZV09XCIocGFnaW5hdG9yJCQgfCBhc3luYykucGFnZVNpemVcIlxuICAgICAgW3RvdGFsXT1cImxpc3QubGVuZ3RoIHx8IDBcIlxuICAgICAgKGN1cnJlbnRQYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+PC9hdWktcGFnaW5hdG9yPlxuICA8L2Rpdj5cbiAgPGFjbC1jaGFydC1zdGF0dXNcbiAgICBbc3RhdHVzXT1cIl9zdGF0dXNcIlxuICAgIFtjdXN0b21FcnJvcl09XCJjdXN0b21FcnJvclwiXG4gICAgKHJlZnJlc2gpPVwicmVmcmVzaC5uZXh0KClcIlxuICA+PC9hY2wtY2hhcnQtc3RhdHVzPlxuPC9kaXY+XG4iXX0=
|
|
@@ -117,12 +117,13 @@ function matchLegend(value) {
|
|
|
117
117
|
}
|
|
118
118
|
// 填充空数据
|
|
119
119
|
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
120
|
-
export function fillNullData({ start, end, step }, res = [], stepLine = false) {
|
|
120
|
+
export function fillNullData({ start, end, step }, res = [], isZero = false, stepLine = false) {
|
|
121
121
|
if (!+start || !+end) {
|
|
122
122
|
return res;
|
|
123
123
|
}
|
|
124
124
|
const _step = step || roundInterval(start, end);
|
|
125
125
|
const curStart = +start;
|
|
126
|
+
const nullValue = isZero ? 0 : null;
|
|
126
127
|
const curEnd = start + step * ((end - start) / step);
|
|
127
128
|
const preX = stepLine
|
|
128
129
|
? {
|
|
@@ -132,9 +133,9 @@ export function fillNullData({ start, end, step }, res = [], stepLine = false) {
|
|
|
132
133
|
}
|
|
133
134
|
: {};
|
|
134
135
|
const result = [
|
|
135
|
-
...(curStart === res[0]?.x ? [] : [{ x: curStart, y:
|
|
136
|
+
...(curStart === res[0]?.x ? [] : [{ x: curStart, y: nullValue, ...preX }]),
|
|
136
137
|
...res,
|
|
137
|
-
...(res.at(-1)?.x
|
|
138
|
+
...(res.at(-1)?.x >= curEnd ? [] : [{ x: curEnd, y: nullValue }]),
|
|
138
139
|
];
|
|
139
140
|
// query 返回数据可能存在某个时间段无数据情况,会导致前端bug
|
|
140
141
|
// 通过 step 计算出 总数据。
|
|
@@ -159,7 +160,7 @@ export function fillNullData({ start, end, step }, res = [], stepLine = false) {
|
|
|
159
160
|
...old,
|
|
160
161
|
{
|
|
161
162
|
x: x / 1000,
|
|
162
|
-
y:
|
|
163
|
+
y: nullValue,
|
|
163
164
|
...(stepLine
|
|
164
165
|
? { preX: i === 0 ? result[index].x : old[i - 1].x }
|
|
165
166
|
: {}),
|
|
@@ -221,4 +222,4 @@ export function findTimeRange(diff) {
|
|
|
221
222
|
});
|
|
222
223
|
return time ? { start: time.startTime(), end: time.endTime() } : null;
|
|
223
224
|
}
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC91dGlscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUVMLCtCQUErQixHQUVoQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUF5QixFQUN6QixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWdCO0lBRTNELHdEQUF3RDtJQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUNuQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU87b0JBQ1AsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO29CQUNiLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFB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SSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIHRlbXBsYXRlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERhdGFJdGVtLCBUb29sdGlwVmFsdWUgfSBmcm9tICd6ei1jaGFydCc7XG5cbmltcG9ydCB7IENIQVJUX1RJTUVfRk9STUFULCBBQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vYS1jaGFydC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE1vbml0b3JNZXRyaWMsIE1vbml0b3JNZXRyaWNSZXN1bHQgfSBmcm9tICcuLi8uLi9hcGkvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBGSUVMRF9OT1RfQVZBSUxBQkxFX1BMQUNFSE9MREVSLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBQSUNLRVJfVElNRV9SQU5HRVMgfSBmcm9tICcuLi8uLi9tZXRyaWMtY2hhcnQvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBGZXRjaFBhcmFtcywgSW5kaWNhdG9yUGFyYW1zLCBNZXRyaWNQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IHJvdW5kSW50ZXJ2YWwgfSBmcm9tICcuL3JhbmdlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU1ldHJpY1BhcmFtcyhcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgeyB2YXJpYWJsZVNvdXJjZSwgc3RhcnQsIGVuZCwgc3RlcCwgaXNJbmRleCB9OiBNZXRyaWNQYXJhbXMsXG4pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbiAgY29uc3QgdmFsdWUgPSBwYXJhbXMubWFwKChjdXIsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgdiA9IEFycmF5LmlzQXJyYXkodmFyaWFibGVTb3VyY2UpXG4gICAgICA/IHZhcmlhYmxlU291cmNlLmZpbHRlcihcbiAgICAgICAgICAoaXRlbSwgaSkgPT5cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGl0ZW0pLmxlbmd0aCAmJlxuICAgICAgICAgICAgKChpc0luZGV4XG4gICAgICAgICAgICAgID8gaW5kZXggPT09IGlcbiAgICAgICAgICAgICAgOiBjdXI/LnZhcmlhYmxlcz8uZXZlcnkodiA9PiBPYmplY3Qua2V5cyhpdGVtKS5pbmNsdWRlcyh2KSkpIHx8XG4gICAgICAgICAgICAgIGN1ci5leHByKSxcbiAgICAgICAgKVxuICAgICAgOiBjdXIudmFyaWFibGVzPy5sZW5ndGggJiYgdmFyaWFibGVTb3VyY2VcbiAgICAgID8gW3ZhcmlhYmxlU291cmNlXVxuICAgICAgOiBbXTtcbiAgICBjb25zdCB2YXJpYWJsZTogU3RyaW5nTWFwW10gPSB2Lm1hcCh2YWx1ZSA9PiB7XG4gICAgICByZXR1cm4gY3VyLmV4cHJcbiAgICAgICAgPyB2YWx1ZVxuICAgICAgICA6IGN1ci52YXJpYWJsZXM/LnJlZHVjZShcbiAgICAgICAgICAgIChwcmUsIGtleSkgPT5cbiAgICAgICAgICAgICAgdmFsdWVba2V5XVxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAuLi5wcmUsXG4gICAgICAgICAgICAgICAgICAgIFtrZXldOiB2YWx1ZVtrZXldLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogcHJlLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmRpY2F0b3JzID0gY3VyLmluZGljYXRvcnMgfHwgY3VyLmV4cHI7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGljYXRvcnM6IGN1ci5pbmRpY2F0b3JzLFxuICAgICAgZXhwcnM6IGN1ci5leHByID8gW2luZGljYXRvcnNdIDogW10sXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlLFxuICAgIH07XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGluZGljYXRvcnM6IHZhbHVlLFxuICAgIHN0YXJ0LFxuICAgIGVuZCxcbiAgICBzdGVwLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlQ2hhcnREYXRhKFxuICB7IGluZGljYXRvclBhcmFtcywgbWV0cmljUGFyYW1zIH06IEZldGNoUGFyYW1zLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pIHtcbiAgaWYgKCFkYXRhKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHsgZGVwZW5kZW50RGF0YSB9ID0gbWV0cmljUGFyYW1zO1xuICByZXR1cm4gZGVwZW5kZW50RGF0YVxuICAgID8gZGVwZW5kT25EYXRhKGluZGljYXRvclBhcmFtcywgZGF0YSlcbiAgICA6IGRlcGVuZE9uSW5kaWNhdG9yKGluZGljYXRvclBhcmFtcywgZGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBlbmRPbkluZGljYXRvcihcbiAgaW5kaWNhdG9yUGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKTogQUNoYXJ0RGF0YVtdIHtcbiAgcmV0dXJuIGluZGljYXRvclBhcmFtcy5yZWR1Y2UoKHByZSwgcGFyYW1zKSA9PiB7XG4gICAgY29uc3QgbWV0cmljRGF0YSA9IGRhdGE/LmZpbmQoaXRlbSA9PiBpdGVtLmluZGljYXRvciA9PT0gcGFyYW1zLmluZGljYXRvcnMpO1xuICAgIHJldHVybiBbLi4ucHJlLCBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgbWV0cmljRGF0YT8ucmVzdWx0Py5bMF0pXTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25EYXRhKFxuICBpbmRpY2F0b3JQYXJhbXM6IEluZGljYXRvclBhcmFtc1tdLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pOiBBQ2hhcnREYXRhW10ge1xuICBjb25zdCBwYXJhbXMgPSBpbmRpY2F0b3JQYXJhbXNbMF07XG4gIHJldHVybiBkYXRhPy5yZWR1Y2UoKHByZSwgcmVzKSA9PiB7XG4gICAgaWYgKHBhcmFtcy5pbmRpY2F0b3JzID09PSByZXMuaW5kaWNhdG9yIHx8IHBhcmFtcy5leHByID09PSByZXMucXVlcnkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnByZSxcbiAgICAgICAgLi4ucmVzLnJlc3VsdC5tYXAoaXRlbSA9PiBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgaXRlbSkpLFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHByZTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRGF0YVJlc3VsdChcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXMsXG4gIHJlczogTW9uaXRvck1ldHJpY1Jlc3VsdCxcbikge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGhhbmRsZUxlZ2VuZChwYXJhbXMsIHJlcyksXG4gICAgdmFsdWVzOiByZXM/LnZhbHVlcz8ubWFwKGQgPT4gKHtcbiAgICAgIHg6IGRbMF0sXG4gICAgICB5OiBkWzFdLFxuICAgIH0pKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUxlZ2VuZChcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXMsXG4gIHJlc3VsdDogTW9uaXRvck1ldHJpY1Jlc3VsdCxcbikge1xuICByZXR1cm4gaXNGdW5jdGlvbihwYXJhbXM/LmxlZ2VuZClcbiAgICA/IHBhcmFtcy5sZWdlbmQocGFyYW1zLCByZXN1bHQpXG4gICAgOiBnZXRMZWdlbmROYW1lKHBhcmFtcz8ubGVnZW5kLCByZXN1bHQ/Lm1ldHJpYyB8fCB7fSk7XG59XG5leHBvcnQgY29uc3QgTEVHRU5EX1RFTVBMQVRFX09QVElPTlMgPSBPYmplY3QuZnJlZXplKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlZ2V4cC9tYXRjaC1hbnksIHJlZ2V4cC9zdHJpY3RcbiAgaW50ZXJwb2xhdGU6IC97e1xcLihbXFxTXFxzXSs/KX19L2csXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExlZ2VuZE5hbWUobWV0cmljS2V5OiBzdHJpbmcsIG1ldHJpYzogU3RyaW5nTWFwKSB7XG4gIGlmICghbWV0cmljS2V5ICYmICFPYmplY3Qua2V5cyhtZXRyaWMgfHwge30pPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gRklFTERfTk9UX0FWQUlMQUJMRV9QTEFDRUhPTERFUjtcbiAgfVxuICBpZiAoIW1ldHJpY0tleSAmJiBtZXRyaWMpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobWV0cmljKTtcbiAgfVxuICBjb25zdCBtZXRyaWNLZXlzID0gbWV0cmljS2V5Py5zcGxpdCgnLCcpLm1hcChtYXRjaExlZ2VuZCk7XG4gIGlmIChtZXRyaWNLZXlzPy5sZW5ndGggPiAxKSB7XG4gICAgY29uc3QgdmFsdWUgPSBtZXRyaWM/LlttZXRyaWNLZXlzLmZpbmQoaXRlbSA9PiBtZXRyaWNbaXRlbV0pXTtcbiAgICByZXR1cm4gdmFsdWUgfHwgbWV0cmljS2V5O1xuICB9XG4gIHJldHVybiAoXG4gICAgZ2V0TGVnZW5kVGVtcGxhdGUobWV0cmljS2V5LCBtZXRyaWMpIHx8XG4gICAgbWV0cmljW21hdGNoTGVnZW5kKG1ldHJpY0tleSldIHx8XG4gICAgbWV0cmljS2V5XG4gICk7XG59XG5cbmZ1bmN0aW9uIGdldExlZ2VuZFRlbXBsYXRlKHN0cjogc3RyaW5nLCBvYmo6IG9iamVjdCkge1xuICBsZXQgbmFtZTogc3RyaW5nO1xuICB0cnkge1xuICAgIG5hbWUgPSBnZXQob2JqLCBzdHIpIHx8IHRlbXBsYXRlKHN0ciwgTEVHRU5EX1RFTVBMQVRFX09QVElPTlMpKG9iaik7XG4gIH0gY2F0Y2gge1xuICAgIG5hbWUgPSAnJztcbiAgfVxuICByZXR1cm4gbmFtZTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hMZWdlbmQodmFsdWU6IHN0cmluZykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9iZXR0ZXItcmVnZXhcbiAgcmV0dXJuIHZhbHVlLm1hdGNoKC9cXHtcXHtcXC4oLis/KVxcfVxcfS8pPy5bMV0gfHwgdmFsdWU7XG59XG5cbi8vIOWhq+WFheepuuaVsOaNrlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbmV4cG9ydCBmdW5jdGlvbiBmaWxsTnVsbERhdGEoXG4gIHsgc3RhcnQsIGVuZCwgc3RlcCB9OiBNZXRyaWNQYXJhbXMsXG4gIHJlczogRGF0YUl0ZW1bJ3ZhbHVlcyddID0gW10sXG4gIHN0ZXBMaW5lID0gZmFsc2UsXG4pIHtcbiAgaWYgKCErc3RhcnQgfHwgIStlbmQpIHtcbiAgICByZXR1cm4gcmVzO1xuICB9XG4gIGNvbnN0IF9zdGVwID0gc3RlcCB8fCByb3VuZEludGVydmFsKHN0YXJ0LCBlbmQpO1xuICBjb25zdCBjdXJTdGFydCA9ICtzdGFydDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyBzdGVwICogKChlbmQgLSBzdGFydCkgLyBzdGVwKTtcbiAgY29uc3QgcHJlWCA9IHN0ZXBMaW5lXG4gICAgPyB7XG4gICAgICAgIHByZVg6IGRheWpzKGN1clN0YXJ0KVxuICAgICAgICAgIC5zdWJ0cmFjdCgoZW5kIC0gc3RhcnQpIC8gNiwgJ3MnKVxuICAgICAgICAgIC52YWx1ZU9mKCksXG4gICAgICB9XG4gICAgOiB7fTtcbiAgY29uc3QgcmVzdWx0ID0gW1xuICAgIC4uLihjdXJTdGFydCA9PT0gcmVzWzBdPy54ID8gW10gOiBbeyB4OiBjdXJTdGFydCwgeTogbnVsbCwgLi4ucHJlWCB9XSksXG4gICAgLi4ucmVzLFxuICAgIC4uLihyZXMuYXQoLTEpPy54ID09PSBjdXJFbmQgPyBbXSA6IFt7IHg6IGN1ckVuZCwgeTogbnVsbCB9XSksXG4gIF07XG5cbiAgLy8gcXVlcnkg6L+U5Zue5pWw5o2u5Y+v6IO95a2Y5Zyo5p+Q5Liq5pe26Ze05q615peg5pWw5o2u5oOF5Ya177yM5Lya5a+86Ie05YmN56uvYnVnXG4gIC8vIOmAmui/hyBzdGVwIOiuoeeul+WHuiDmgLvmlbDmja7jgIJcbiAgLy8g5Zyo5Ye6546w5LiA5byA5aeL5pWw5o2u57y65aSx5oOF5Ya177yM5YWI57uZ5pWw5o2u5re75Yqg5byA5aeL5pe26Ze05pWw5o2u77yM5ZKM57uT5p2f5pe26Ze05pWw5o2u44CCXG4gIC8vIOWcqOi/m+ihjOmBjeWOhu+8jOWIpOivu+W9k+WJjeaVsOaNruWSjOS4i+S4gOi3s+aVsOaNruS6i+S7tuW3riDmmK/lkKbmmK/ov5nkuKogc3RlcCxcbiAgLy8g5aaC5p6c5LiN5piv6K6h566X5Ye65Lik6ICF55u45beuIOWHoOadoeaVsOaNru+8jOeEtuWQjui/m+ihjOWhq+WFhVxuICBjb25zdCBkYXRhID0gcmVzdWx0LnJlZHVjZSgoYWNjLCBwcmV2LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGRpZmYgPVxuICAgICAgcmVzdWx0W2luZGV4ICsgMV0gJiYgcmVzdWx0W2luZGV4ICsgMV0ueCAqIDEwMDAgLSBwcmV2LnggKiAxMDAwO1xuICAgIGNvbnN0IHN0ZXBNID0gX3N0ZXAgKiAxMDAwO1xuICAgIC8vIOWQjuerr+WPr+iDveWHuueOsCArSWZuIOWvvOiHtOaIkCBOYU7vvIzorr7nva7kuLogbnVsbFxuICAgIGNvbnN0IGN1clZhbHVlID0ge1xuICAgICAgLi4ucHJldixcbiAgICAgIHk6IHByZXYueSxcbiAgICB9O1xuICAgIGlmIChkaWZmICYmIGRpZmYgIT09IHN0ZXBNKSB7XG4gICAgICBjb25zdCB0b3RhbCA9IE1hdGguY2VpbChkaWZmIC8gc3RlcE0gLSAxKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tPG51bWJlcj4oeyBsZW5ndGg6IHRvdGFsIHx8IDAgfSlcbiAgICAgICAgLmZpbGwoMClcbiAgICAgICAgLnJlZHVjZSgob2xkLCBfY3VyciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPVxuICAgICAgICAgICAgaSA9PT0gMCA/IHByZXYueCAqIDEwMDAgKyBzdGVwTSA6IG9sZFtpIC0gMV0ueCAqIDEwMDAgKyBzdGVwTTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ub2xkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB4OiB4IC8gMTAwMCxcbiAgICAgICAgICAgICAgeTogbnVsbCxcbiAgICAgICAgICAgICAgLi4uKHN0ZXBMaW5lXG4gICAgICAgICAgICAgICAgPyB7IHByZVg6IGkgPT09IDAgPyByZXN1bHRbaW5kZXhdLnggOiBvbGRbaSAtIDFdLnggfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWUsIC4uLmRhdGFdO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWVdO1xuICB9LCBbXSk7XG4gIHJldHVybiBkYXRhLnNvcnQoKGEsIGIpID0+IGEueCAtIGIueCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVEYXRlQXhpc0xhYmVsRm9ybWF0cyhcbiAgcGFyYW1zOiBNZXRyaWNQYXJhbXMsXG4gIGlzUmljaD86IGJvb2xlYW4sXG4pIHtcbiAgaWYgKHBhcmFtcykge1xuICAgIGNvbnN0IGRpZmYgPSBwYXJhbXMuZW5kIC0gcGFyYW1zLnN0YXJ0O1xuICAgIGNvbnN0IG0xID0gMjQgKiA2MCAqIDYwO1xuICAgIGNvbnN0IG0zID0gMyAqIG0xO1xuICAgIGNvbnN0IG03ID0gNyAqIG0xO1xuICAgIGNvbnN0IE1fRF9GT1JNQVQgPSAnTU0tREQnO1xuICAgIGNvbnN0IE1EX0hTX0ZPUk1BVCA9IGAke01fRF9GT1JNQVR9ICR7Q0hBUlRfVElNRV9GT1JNQVR9YDtcbiAgICByZXR1cm4gZGlmZiA+PSBtN1xuICAgICAgPyBpc1JpY2hcbiAgICAgICAgPyBNRF9IU19GT1JNQVRcbiAgICAgICAgOiBNX0RfRk9STUFUXG4gICAgICA6IGRpZmYgPCBtNyAmJiAoZGlmZiA+PSBtMyB8fCBkaWZmID4gbTEpXG4gICAgICA/IE1EX0hTX0ZPUk1BVFxuICAgICAgOiBDSEFSVF9USU1FX0ZPUk1BVDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbGltaXRNYXhUb29sdGlwSXRlbShjb250ZXh0OiBUb29sdGlwVmFsdWVbXSwgbGltaXQgPSAxNSkge1xuICByZXR1cm4gY29udGV4dC5zbGljZSgwLCBsaW1pdCk7XG59XG5cbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9LRVlfQ0xVU1RFUiA9ICckY2x1c3Rlcic7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfS0VZX05BTUVTUEFDRSA9ICckbmFtZXNwYWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VFeHByVmFyaWFibGUoXG4gIGV4cHI6IHN0cmluZyB8IHN0cmluZ1tdLFxuICB2YXJpYWJsZTogRGljdGlvbmFyeTxhbnk+LFxuKSB7XG4gIGxldCBkYXRhID0gQXJyYXkuaXNBcnJheShleHByKSA/IGV4cHIuam9pbignfCcpIDogZXhwcjtcbiAgY29uc3QgdmFyaWFibGVLZXlzID0gT2JqZWN0LmtleXModmFyaWFibGUgfHwge30pO1xuICBjb25zdCB2YXJpYWJsZVZhbHVlcyA9IE9iamVjdC52YWx1ZXModmFyaWFibGUgfHwge30pO1xuICBjb25zdCB2YXJzOiBzdHJpbmdbXSA9XG4gICAgZGF0YSAmJiB0eXBlb2YgZGF0YS5tYXRjaCA9PT0gJ2Z1bmN0aW9uJyA/IGRhdGEubWF0Y2goL1xcJFxcdysvZykgOiBbXTtcbiAgaWYgKFxuICAgICF2YXJpYWJsZUtleXMubGVuZ3RoIHx8XG4gICAgIXZhcmlhYmxlS2V5cy5zb21lKHYgPT4gdmFycz8uc29tZShpdGVtID0+IGl0ZW0ucmVwbGFjZSgnJCcsICcnKSA9PT0gdikpXG4gICkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFyc1xuICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKVxuICAgIC5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCBrID0ga2V5LnJlcGxhY2UoJyQnLCAnJyk7XG4gICAgICBjb25zdCBpbmRleCA9IHZhcmlhYmxlS2V5cy5pbmRleE9mKGspO1xuICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgY29uc3QgdiA9IHZhcmlhYmxlVmFsdWVzW2luZGV4XTtcbiAgICAgICAgZGF0YSA9IGRhdGE/LnJlcGxhY2UoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXFxcXCQke2t9YCwgJ2cnKSxcbiAgICAgICAgICBBcnJheS5pc0FycmF5KHYpID8gdi5qb2luKCd8JykgOiB2LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICByZXR1cm4gZGF0YTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRUaW1lUmFuZ2UoZGlmZjogbnVtYmVyKSB7XG4gIGNvbnN0IHRpbWUgPSBQSUNLRVJfVElNRV9SQU5HRVMuZmluZChpdGVtID0+IHtcbiAgICByZXR1cm4gaXRlbS5lbmRUaW1lKCkgLSBpdGVtLnN0YXJ0VGltZSgpID09PSBkaWZmO1xuICB9KTtcbiAgcmV0dXJuIHRpbWUgPyB7IHN0YXJ0OiB0aW1lLnN0YXJ0VGltZSgpLCBlbmQ6IHRpbWUuZW5kVGltZSgpIH0gOiBudWxsO1xufVxuIl19
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC91dGlscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUVMLCtCQUErQixHQUVoQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUF5QixFQUN6QixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWdCO0lBRTNELHdEQUF3RDtJQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUNuQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU87b0JBQ1AsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO29CQUNiLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFB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TUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgZ2V0LCBpc0Z1bmN0aW9uLCB0ZW1wbGF0ZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBEYXRhSXRlbSwgVG9vbHRpcFZhbHVlIH0gZnJvbSAnenotY2hhcnQnO1xuXG5pbXBvcnQgeyBDSEFSVF9USU1FX0ZPUk1BVCwgQUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL2EtY2hhcnQvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBNb25pdG9yTWV0cmljLCBNb25pdG9yTWV0cmljUmVzdWx0IH0gZnJvbSAnLi4vLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgRGljdGlvbmFyeSxcbiAgRklFTERfTk9UX0FWQUlMQUJMRV9QTEFDRUhPTERFUixcbiAgU3RyaW5nTWFwLFxufSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgUElDS0VSX1RJTUVfUkFOR0VTIH0gZnJvbSAnLi4vLi4vbWV0cmljLWNoYXJ0L3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRmV0Y2hQYXJhbXMsIEluZGljYXRvclBhcmFtcywgTWV0cmljUGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyByb3VuZEludGVydmFsIH0gZnJvbSAnLi9yYW5nZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVNZXRyaWNQYXJhbXMoXG4gIHBhcmFtczogSW5kaWNhdG9yUGFyYW1zW10sXG4gIHsgdmFyaWFibGVTb3VyY2UsIHN0YXJ0LCBlbmQsIHN0ZXAsIGlzSW5kZXggfTogTWV0cmljUGFyYW1zLFxuKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG4gIGNvbnN0IHZhbHVlID0gcGFyYW1zLm1hcCgoY3VyLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHYgPSBBcnJheS5pc0FycmF5KHZhcmlhYmxlU291cmNlKVxuICAgICAgPyB2YXJpYWJsZVNvdXJjZS5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW0sIGkpID0+XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhpdGVtKS5sZW5ndGggJiZcbiAgICAgICAgICAgICgoaXNJbmRleFxuICAgICAgICAgICAgICA/IGluZGV4ID09PSBpXG4gICAgICAgICAgICAgIDogY3VyPy52YXJpYWJsZXM/LmV2ZXJ5KHYgPT4gT2JqZWN0LmtleXMoaXRlbSkuaW5jbHVkZXModikpKSB8fFxuICAgICAgICAgICAgICBjdXIuZXhwciksXG4gICAgICAgIClcbiAgICAgIDogY3VyLnZhcmlhYmxlcz8ubGVuZ3RoICYmIHZhcmlhYmxlU291cmNlXG4gICAgICA/IFt2YXJpYWJsZVNvdXJjZV1cbiAgICAgIDogW107XG4gICAgY29uc3QgdmFyaWFibGU6IFN0cmluZ01hcFtdID0gdi5tYXAodmFsdWUgPT4ge1xuICAgICAgcmV0dXJuIGN1ci5leHByXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjdXIudmFyaWFibGVzPy5yZWR1Y2UoXG4gICAgICAgICAgICAocHJlLCBrZXkpID0+XG4gICAgICAgICAgICAgIHZhbHVlW2tleV1cbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucHJlLFxuICAgICAgICAgICAgICAgICAgICBba2V5XTogdmFsdWVba2V5XSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHByZSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICk7XG4gICAgfSk7XG4gICAgY29uc3QgaW5kaWNhdG9ycyA9IGN1ci5pbmRpY2F0b3JzIHx8IGN1ci5leHByO1xuICAgIHJldHVybiB7XG4gICAgICBpbmRpY2F0b3JzOiBjdXIuaW5kaWNhdG9ycyxcbiAgICAgIGV4cHJzOiBjdXIuZXhwciA/IFtpbmRpY2F0b3JzXSA6IFtdLFxuICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZSxcbiAgICB9O1xuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBpbmRpY2F0b3JzOiB2YWx1ZSxcbiAgICBzdGFydCxcbiAgICBlbmQsXG4gICAgc3RlcCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUNoYXJ0RGF0YShcbiAgeyBpbmRpY2F0b3JQYXJhbXMsIG1ldHJpY1BhcmFtcyB9OiBGZXRjaFBhcmFtcyxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCB7IGRlcGVuZGVudERhdGEgfSA9IG1ldHJpY1BhcmFtcztcbiAgcmV0dXJuIGRlcGVuZGVudERhdGFcbiAgICA/IGRlcGVuZE9uRGF0YShpbmRpY2F0b3JQYXJhbXMsIGRhdGEpXG4gICAgOiBkZXBlbmRPbkluZGljYXRvcihpbmRpY2F0b3JQYXJhbXMsIGRhdGEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25JbmRpY2F0b3IoXG4gIGluZGljYXRvclBhcmFtczogSW5kaWNhdG9yUGFyYW1zW10sXG4gIGRhdGE6IE1vbml0b3JNZXRyaWNbXSxcbik6IEFDaGFydERhdGFbXSB7XG4gIHJldHVybiBpbmRpY2F0b3JQYXJhbXMucmVkdWNlKChwcmUsIHBhcmFtcykgPT4ge1xuICAgIGNvbnN0IG1ldHJpY0RhdGEgPSBkYXRhPy5maW5kKGl0ZW0gPT4gaXRlbS5pbmRpY2F0b3IgPT09IHBhcmFtcy5pbmRpY2F0b3JzKTtcbiAgICByZXR1cm4gWy4uLnByZSwgaGFuZGxlRGF0YVJlc3VsdChwYXJhbXMsIG1ldHJpY0RhdGE/LnJlc3VsdD8uWzBdKV07XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcGVuZE9uRGF0YShcbiAgaW5kaWNhdG9yUGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKTogQUNoYXJ0RGF0YVtdIHtcbiAgY29uc3QgcGFyYW1zID0gaW5kaWNhdG9yUGFyYW1zWzBdO1xuICByZXR1cm4gZGF0YT8ucmVkdWNlKChwcmUsIHJlcykgPT4ge1xuICAgIGlmIChwYXJhbXMuaW5kaWNhdG9ycyA9PT0gcmVzLmluZGljYXRvciB8fCBwYXJhbXMuZXhwciA9PT0gcmVzLnF1ZXJ5KSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5wcmUsXG4gICAgICAgIC4uLnJlcy5yZXN1bHQubWFwKGl0ZW0gPT4gaGFuZGxlRGF0YVJlc3VsdChwYXJhbXMsIGl0ZW0pKSxcbiAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiBwcmU7XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZURhdGFSZXN1bHQoXG4gIHBhcmFtczogSW5kaWNhdG9yUGFyYW1zLFxuICByZXM6IE1vbml0b3JNZXRyaWNSZXN1bHQsXG4pIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBoYW5kbGVMZWdlbmQocGFyYW1zLCByZXMpLFxuICAgIHZhbHVlczogcmVzPy52YWx1ZXM/Lm1hcChkID0+ICh7XG4gICAgICB4OiBkWzBdLFxuICAgICAgeTogZFsxXSxcbiAgICB9KSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVMZWdlbmQoXG4gIHBhcmFtczogSW5kaWNhdG9yUGFyYW1zLFxuICByZXN1bHQ6IE1vbml0b3JNZXRyaWNSZXN1bHQsXG4pIHtcbiAgcmV0dXJuIGlzRnVuY3Rpb24ocGFyYW1zPy5sZWdlbmQpXG4gICAgPyBwYXJhbXMubGVnZW5kKHBhcmFtcywgcmVzdWx0KVxuICAgIDogZ2V0TGVnZW5kTmFtZShwYXJhbXM/LmxlZ2VuZCwgcmVzdWx0Py5tZXRyaWMgfHwge30pO1xufVxuZXhwb3J0IGNvbnN0IExFR0VORF9URU1QTEFURV9PUFRJT05TID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWdleHAvbWF0Y2gtYW55LCByZWdleHAvc3RyaWN0XG4gIGludGVycG9sYXRlOiAve3tcXC4oW1xcU1xcc10rPyl9fS9nLFxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMZWdlbmROYW1lKG1ldHJpY0tleTogc3RyaW5nLCBtZXRyaWM6IFN0cmluZ01hcCkge1xuICBpZiAoIW1ldHJpY0tleSAmJiAhT2JqZWN0LmtleXMobWV0cmljIHx8IHt9KT8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVI7XG4gIH1cbiAgaWYgKCFtZXRyaWNLZXkgJiYgbWV0cmljKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG1ldHJpYyk7XG4gIH1cbiAgY29uc3QgbWV0cmljS2V5cyA9IG1ldHJpY0tleT8uc3BsaXQoJywnKS5tYXAobWF0Y2hMZWdlbmQpO1xuICBpZiAobWV0cmljS2V5cz8ubGVuZ3RoID4gMSkge1xuICAgIGNvbnN0IHZhbHVlID0gbWV0cmljPy5bbWV0cmljS2V5cy5maW5kKGl0ZW0gPT4gbWV0cmljW2l0ZW1dKV07XG4gICAgcmV0dXJuIHZhbHVlIHx8IG1ldHJpY0tleTtcbiAgfVxuICByZXR1cm4gKFxuICAgIGdldExlZ2VuZFRlbXBsYXRlKG1ldHJpY0tleSwgbWV0cmljKSB8fFxuICAgIG1ldHJpY1ttYXRjaExlZ2VuZChtZXRyaWNLZXkpXSB8fFxuICAgIG1ldHJpY0tleVxuICApO1xufVxuXG5mdW5jdGlvbiBnZXRMZWdlbmRUZW1wbGF0ZShzdHI6IHN0cmluZywgb2JqOiBvYmplY3QpIHtcbiAgbGV0IG5hbWU6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBuYW1lID0gZ2V0KG9iaiwgc3RyKSB8fCB0ZW1wbGF0ZShzdHIsIExFR0VORF9URU1QTEFURV9PUFRJT05TKShvYmopO1xuICB9IGNhdGNoIHtcbiAgICBuYW1lID0gJyc7XG4gIH1cbiAgcmV0dXJuIG5hbWU7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTGVnZW5kKHZhbHVlOiBzdHJpbmcpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vYmV0dGVyLXJlZ2V4XG4gIHJldHVybiB2YWx1ZS5tYXRjaCgvXFx7XFx7XFwuKC4rPylcXH1cXH0vKT8uWzFdIHx8IHZhbHVlO1xufVxuXG4vLyDloavlhYXnqbrmlbDmja5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG5leHBvcnQgZnVuY3Rpb24gZmlsbE51bGxEYXRhKFxuICB7IHN0YXJ0LCBlbmQsIHN0ZXAgfTogTWV0cmljUGFyYW1zLFxuICByZXM6IERhdGFJdGVtWyd2YWx1ZXMnXSA9IFtdLFxuICBpc1plcm8gPSBmYWxzZSxcbiAgc3RlcExpbmUgPSBmYWxzZSxcbikge1xuICBpZiAoIStzdGFydCB8fCAhK2VuZCkge1xuICAgIHJldHVybiByZXM7XG4gIH1cbiAgY29uc3QgX3N0ZXAgPSBzdGVwIHx8IHJvdW5kSW50ZXJ2YWwoc3RhcnQsIGVuZCk7XG4gIGNvbnN0IGN1clN0YXJ0ID0gK3N0YXJ0O1xuICBjb25zdCBudWxsVmFsdWUgPSBpc1plcm8gPyAwIDogbnVsbDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyBzdGVwICogKChlbmQgLSBzdGFydCkgLyBzdGVwKTtcbiAgY29uc3QgcHJlWCA9IHN0ZXBMaW5lXG4gICAgPyB7XG4gICAgICAgIHByZVg6IGRheWpzKGN1clN0YXJ0KVxuICAgICAgICAgIC5zdWJ0cmFjdCgoZW5kIC0gc3RhcnQpIC8gNiwgJ3MnKVxuICAgICAgICAgIC52YWx1ZU9mKCksXG4gICAgICB9XG4gICAgOiB7fTtcbiAgY29uc3QgcmVzdWx0ID0gW1xuICAgIC4uLihjdXJTdGFydCA9PT0gcmVzWzBdPy54ID8gW10gOiBbeyB4OiBjdXJTdGFydCwgeTogbnVsbFZhbHVlLCAuLi5wcmVYIH1dKSxcbiAgICAuLi5yZXMsXG4gICAgLi4uKHJlcy5hdCgtMSk/LnggPj0gY3VyRW5kID8gW10gOiBbeyB4OiBjdXJFbmQsIHk6IG51bGxWYWx1ZSB9XSksXG4gIF07XG5cbiAgLy8gcXVlcnkg6L+U5Zue5pWw5o2u5Y+v6IO95a2Y5Zyo5p+Q5Liq5pe26Ze05q615peg5pWw5o2u5oOF5Ya177yM5Lya5a+86Ie05YmN56uvYnVnXG4gIC8vIOmAmui/hyBzdGVwIOiuoeeul+WHuiDmgLvmlbDmja7jgIJcbiAgLy8g5Zyo5Ye6546w5LiA5byA5aeL5pWw5o2u57y65aSx5oOF5Ya177yM5YWI57uZ5pWw5o2u5re75Yqg5byA5aeL5pe26Ze05pWw5o2u77yM5ZKM57uT5p2f5pe26Ze05pWw5o2u44CCXG4gIC8vIOWcqOi/m+ihjOmBjeWOhu+8jOWIpOivu+W9k+WJjeaVsOaNruWSjOS4i+S4gOi3s+aVsOaNruS6i+S7tuW3riDmmK/lkKbmmK/ov5nkuKogc3RlcCxcbiAgLy8g5aaC5p6c5LiN5piv6K6h566X5Ye65Lik6ICF55u45beuIOWHoOadoeaVsOaNru+8jOeEtuWQjui/m+ihjOWhq+WFhVxuICBjb25zdCBkYXRhID0gcmVzdWx0LnJlZHVjZSgoYWNjLCBwcmV2LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGRpZmYgPVxuICAgICAgcmVzdWx0W2luZGV4ICsgMV0gJiYgcmVzdWx0W2luZGV4ICsgMV0ueCAqIDEwMDAgLSBwcmV2LnggKiAxMDAwO1xuICAgIGNvbnN0IHN0ZXBNID0gX3N0ZXAgKiAxMDAwO1xuICAgIC8vIOWQjuerr+WPr+iDveWHuueOsCArSWZuIOWvvOiHtOaIkCBOYU7vvIzorr7nva7kuLogbnVsbFxuICAgIGNvbnN0IGN1clZhbHVlID0ge1xuICAgICAgLi4ucHJldixcbiAgICAgIHk6IHByZXYueSxcbiAgICB9O1xuICAgIGlmIChkaWZmICYmIGRpZmYgIT09IHN0ZXBNKSB7XG4gICAgICBjb25zdCB0b3RhbCA9IE1hdGguY2VpbChkaWZmIC8gc3RlcE0gLSAxKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tPG51bWJlcj4oeyBsZW5ndGg6IHRvdGFsIHx8IDAgfSlcbiAgICAgICAgLmZpbGwoMClcbiAgICAgICAgLnJlZHVjZSgob2xkLCBfY3VyciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPVxuICAgICAgICAgICAgaSA9PT0gMCA/IHByZXYueCAqIDEwMDAgKyBzdGVwTSA6IG9sZFtpIC0gMV0ueCAqIDEwMDAgKyBzdGVwTTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ub2xkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB4OiB4IC8gMTAwMCxcbiAgICAgICAgICAgICAgeTogbnVsbFZhbHVlLFxuICAgICAgICAgICAgICAuLi4oc3RlcExpbmVcbiAgICAgICAgICAgICAgICA/IHsgcHJlWDogaSA9PT0gMCA/IHJlc3VsdFtpbmRleF0ueCA6IG9sZFtpIC0gMV0ueCB9XG4gICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH0sIFtdKTtcbiAgICAgIHJldHVybiBbLi4uYWNjLCBjdXJWYWx1ZSwgLi4uZGF0YV07XG4gICAgfVxuICAgIHJldHVybiBbLi4uYWNjLCBjdXJWYWx1ZV07XG4gIH0sIFtdKTtcbiAgcmV0dXJuIGRhdGEuc29ydCgoYSwgYikgPT4gYS54IC0gYi54KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZURhdGVBeGlzTGFiZWxGb3JtYXRzKFxuICBwYXJhbXM6IE1ldHJpY1BhcmFtcyxcbiAgaXNSaWNoPzogYm9vbGVhbixcbikge1xuICBpZiAocGFyYW1zKSB7XG4gICAgY29uc3QgZGlmZiA9IHBhcmFtcy5lbmQgLSBwYXJhbXMuc3RhcnQ7XG4gICAgY29uc3QgbTEgPSAyNCAqIDYwICogNjA7XG4gICAgY29uc3QgbTMgPSAzICogbTE7XG4gICAgY29uc3QgbTcgPSA3ICogbTE7XG4gICAgY29uc3QgTV9EX0ZPUk1BVCA9ICdNTS1ERCc7XG4gICAgY29uc3QgTURfSFNfRk9STUFUID0gYCR7TV9EX0ZPUk1BVH0gJHtDSEFSVF9USU1FX0ZPUk1BVH1gO1xuICAgIHJldHVybiBkaWZmID49IG03XG4gICAgICA/IGlzUmljaFxuICAgICAgICA/IE1EX0hTX0ZPUk1BVFxuICAgICAgICA6IE1fRF9GT1JNQVRcbiAgICAgIDogZGlmZiA8IG03ICYmIChkaWZmID49IG0zIHx8IGRpZmYgPiBtMSlcbiAgICAgID8gTURfSFNfRk9STUFUXG4gICAgICA6IENIQVJUX1RJTUVfRk9STUFUO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW1pdE1heFRvb2x0aXBJdGVtKGNvbnRleHQ6IFRvb2x0aXBWYWx1ZVtdLCBsaW1pdCA9IDE1KSB7XG4gIHJldHVybiBjb250ZXh0LnNsaWNlKDAsIGxpbWl0KTtcbn1cblxuZXhwb3J0IGNvbnN0IFZBUklBQkxFX0tFWV9DTFVTVEVSID0gJyRjbHVzdGVyJztcbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9LRVlfTkFNRVNQQUNFID0gJyRuYW1lc3BhY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZUV4cHJWYXJpYWJsZShcbiAgZXhwcjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIHZhcmlhYmxlOiBEaWN0aW9uYXJ5PGFueT4sXG4pIHtcbiAgbGV0IGRhdGEgPSBBcnJheS5pc0FycmF5KGV4cHIpID8gZXhwci5qb2luKCd8JykgOiBleHByO1xuICBjb25zdCB2YXJpYWJsZUtleXMgPSBPYmplY3Qua2V5cyh2YXJpYWJsZSB8fCB7fSk7XG4gIGNvbnN0IHZhcmlhYmxlVmFsdWVzID0gT2JqZWN0LnZhbHVlcyh2YXJpYWJsZSB8fCB7fSk7XG4gIGNvbnN0IHZhcnM6IHN0cmluZ1tdID1cbiAgICBkYXRhICYmIHR5cGVvZiBkYXRhLm1hdGNoID09PSAnZnVuY3Rpb24nID8gZGF0YS5tYXRjaCgvXFwkXFx3Ky9nKSA6IFtdO1xuICBpZiAoXG4gICAgIXZhcmlhYmxlS2V5cy5sZW5ndGggfHxcbiAgICAhdmFyaWFibGVLZXlzLnNvbWUodiA9PiB2YXJzPy5zb21lKGl0ZW0gPT4gaXRlbS5yZXBsYWNlKCckJywgJycpID09PSB2KSlcbiAgKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICB2YXJzXG4gICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IGsgPSBrZXkucmVwbGFjZSgnJCcsICcnKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gdmFyaWFibGVLZXlzLmluZGV4T2Yoayk7XG4gICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICBjb25zdCB2ID0gdmFyaWFibGVWYWx1ZXNbaW5kZXhdO1xuICAgICAgICBkYXRhID0gZGF0YT8ucmVwbGFjZShcbiAgICAgICAgICBuZXcgUmVnRXhwKGBcXFxcJCR7a31gLCAnZycpLFxuICAgICAgICAgIEFycmF5LmlzQXJyYXkodikgPyB2LmpvaW4oJ3wnKSA6IHYsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIHJldHVybiBkYXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZFRpbWVSYW5nZShkaWZmOiBudW1iZXIpIHtcbiAgY29uc3QgdGltZSA9IFBJQ0tFUl9USU1FX1JBTkdFUy5maW5kKGl0ZW0gPT4ge1xuICAgIHJldHVybiBpdGVtLmVuZFRpbWUoKSAtIGl0ZW0uc3RhcnRUaW1lKCkgPT09IGRpZmY7XG4gIH0pO1xuICByZXR1cm4gdGltZSA/IHsgc3RhcnQ6IHRpbWUuc3RhcnRUaW1lKCksIGVuZDogdGltZS5lbmRUaW1lKCkgfSA6IG51bGw7XG59XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { API_GATEWAY, } from '../core/public-api';
|
|
4
|
+
import { K8sApiResourceService } from './k8s-api-resource.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
import * as i2 from "./k8s-api-resource.service";
|
|
8
|
+
/**
|
|
9
|
+
* 对应后端组件 archon 的`通用`高级 API 实现
|
|
10
|
+
* 对应 API Gateway 前缀为 /acp/v1
|
|
11
|
+
*
|
|
12
|
+
* /acp/v1 包含多个 api 路径: /kubernetes, /alb, /oam, /metallb;
|
|
13
|
+
* 其中一部分是平台是通用的,在 libs/common 下实现。
|
|
14
|
+
*/
|
|
15
|
+
export class AcpCommonApiService {
|
|
16
|
+
constructor(httpClient, k8sApiResource) {
|
|
17
|
+
this.httpClient = httpClient;
|
|
18
|
+
this.k8sApiResource = k8sApiResource;
|
|
19
|
+
}
|
|
20
|
+
// 获取多项目绑定上下文中,属于某个项目的资源列表
|
|
21
|
+
// @see http://confluence.alauda.cn/pages/viewpage.action?pageId=67553504
|
|
22
|
+
getResourcesByProject(project, resourceParams, queryParams) {
|
|
23
|
+
return this.httpClient.get(`${API_GATEWAY}/acp/v1/resources/project/${project}${this.k8sApiResource
|
|
24
|
+
.getApiPath(resourceParams)
|
|
25
|
+
.replace(API_GATEWAY, '')}`, queryParams ? { params: queryParams } : undefined);
|
|
26
|
+
}
|
|
27
|
+
static { this.ɵfac = function AcpCommonApiService_Factory(t) { return new (t || AcpCommonApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.K8sApiResourceService)); }; }
|
|
28
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AcpCommonApiService, factory: AcpCommonApiService.ɵfac, providedIn: 'root' }); }
|
|
29
|
+
}
|
|
30
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AcpCommonApiService, [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{ providedIn: 'root' }]
|
|
33
|
+
}], function () { return [{ type: i1.HttpClient }, { type: i2.K8sApiResourceService }]; }, null); })();
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNwLWNvbW1vbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hcGkvYWNwLWNvbW1vbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQ0wsV0FBVyxHQUlaLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFFbkU7Ozs7OztHQU1HO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUNtQixVQUFzQixFQUN0QixjQUFxQztRQURyQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtJQUNyRCxDQUFDO0lBRUosMEJBQTBCO0lBQzFCLHlFQUF5RTtJQUN6RSxxQkFBcUIsQ0FDbkIsT0FBZSxFQUNmLGNBT0MsRUFDRCxXQUF1QjtRQUV2QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixHQUFHLFdBQVcsNkJBQTZCLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYzthQUNyRSxVQUFVLENBQUMsY0FBYyxDQUFDO2FBQzFCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFDN0IsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNsRCxDQUFDO0lBQ0osQ0FBQztvRkExQlUsbUJBQW1CO3VFQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CLG1CQUROLE1BQU07O3VGQUNuQixtQkFBbUI7Y0FEL0IsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEFQSV9HQVRFV0FZLFxuICBLdWJlcm5ldGVzUmVzb3VyY2UsXG4gIEt1YmVybmV0ZXNSZXNvdXJjZUxpc3QsXG4gIFN0cmluZ01hcCxcbn0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgSzhzQXBpUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9rOHMtYXBpLXJlc291cmNlLnNlcnZpY2UnO1xuXG4vKipcbiAqIOWvueW6lOWQjuerr+e7hOS7tiBhcmNob24g55qEYOmAmueUqGDpq5jnuqcgQVBJIOWunueOsFxuICog5a+55bqUIEFQSSBHYXRld2F5IOWJjee8gOS4uiAvYWNwL3YxXG4gKlxuICogL2FjcC92MSDljIXlkKvlpJrkuKogYXBpIOi3r+W+hO+8miAva3ViZXJuZXRlcywgL2FsYiwgL29hbSwgL21ldGFsbGLvvJtcbiAqIOWFtuS4reS4gOmDqOWIhuaYr+W5s+WPsOaYr+mAmueUqOeahO+8jOWcqCBsaWJzL2NvbW1vbiDkuIvlrp7njrDjgIJcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBY3BDb21tb25BcGlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzQXBpUmVzb3VyY2U6IEs4c0FwaVJlc291cmNlU2VydmljZSxcbiAgKSB7fVxuXG4gIC8vIOiOt+WPluWkmumhueebrue7keWumuS4iuS4i+aWh+S4rSzlsZ7kuo7mn5DkuKrpobnnm67nmoTotYTmupDliJfooahcbiAgLy8gQHNlZSBodHRwOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD02NzU1MzUwNFxuICBnZXRSZXNvdXJjZXNCeVByb2plY3Q8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcHJvamVjdDogc3RyaW5nLFxuICAgIHJlc291cmNlUGFyYW1zOiB7XG4gICAgICBjbHVzdGVyPzogc3RyaW5nO1xuICAgICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBhcGlHcm91cD86IHN0cmluZztcbiAgICAgIGFwaVZlcnNpb24/OiBzdHJpbmc7XG4gICAgfSxcbiAgICBxdWVyeVBhcmFtcz86IFN0cmluZ01hcCxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8S3ViZXJuZXRlc1Jlc291cmNlTGlzdDxUPj4oXG4gICAgICBgJHtBUElfR0FURVdBWX0vYWNwL3YxL3Jlc291cmNlcy9wcm9qZWN0LyR7cHJvamVjdH0ke3RoaXMuazhzQXBpUmVzb3VyY2VcbiAgICAgICAgLmdldEFwaVBhdGgocmVzb3VyY2VQYXJhbXMpXG4gICAgICAgIC5yZXBsYWNlKEFQSV9HQVRFV0FZLCAnJyl9YCxcbiAgICAgIHF1ZXJ5UGFyYW1zID8geyBwYXJhbXM6IHF1ZXJ5UGFyYW1zIH0gOiB1bmRlZmluZWQsXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -51,12 +51,6 @@ export class ClusterVersionService {
|
|
|
51
51
|
this.store[cluster] = version;
|
|
52
52
|
}));
|
|
53
53
|
}
|
|
54
|
-
set clusterVersion(version) {
|
|
55
|
-
this.version = version;
|
|
56
|
-
}
|
|
57
|
-
get clusterVersion() {
|
|
58
|
-
return this.version;
|
|
59
|
-
}
|
|
60
54
|
static { this.ɵfac = function ClusterVersionService_Factory(t) { return new (t || ClusterVersionService)(i0.ɵɵinject(i1.K8sApiService)); }; }
|
|
61
55
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ClusterVersionService, factory: ClusterVersionService.ɵfac, providedIn: 'root' }); }
|
|
62
56
|
}
|
|
@@ -64,4 +58,4 @@ export class ClusterVersionService {
|
|
|
64
58
|
type: Injectable,
|
|
65
59
|
args: [{ providedIn: 'root' }]
|
|
66
60
|
}], function () { return [{ type: i1.K8sApiService }]; }, null); })();
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci12ZXJzaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYXBpL2NsdXN0ZXItdmVyc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLFVBQVUsRUFDVixhQUFhLEVBQ2IsR0FBRyxFQUVILEVBQUUsRUFDRixXQUFXLEVBQ1gsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsVUFBVSxHQUNYLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFHbEQsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQyxZQUE2QixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBYjFDLFVBQUssR0FBMkIsRUFBRSxDQUFDO1FBRTFCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNO2FBQzVDLGlCQUFpQixDQUE0QztZQUM1RCxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ2xDLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsSUFBSSxFQUFFLFVBQVU7U0FDakIsQ0FBQzthQUNELElBQUksQ0FDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDM0MsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFXSixpQkFBWSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7WUFDakMsT0FBTyxhQUFhLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxlQUFlLEVBQUU7YUFDdkIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQ0QsQ0FBQyxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsRUFBRSxFQUFFLENBQ3BDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQzNELEVBQ0QsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUMzQixVQUFVLEVBQUUsQ0FDYixDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBckJtRCxDQUFDO0lBRXREOztPQUVHO0lBQ0gsU0FBUyxDQUFDLE9BQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFnQkQsY0FBYyxDQUFDLE9BQWUsRUFBRSxPQUFlO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDekMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUN2RSxVQUFVLEVBQUUsQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBZTtRQUMvQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTTthQUNmLGlCQUFpQixDQUFnQztZQUNoRCxVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFFBQVEsRUFBRSxtQkFBbUI7YUFDOUI7WUFDRCxJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzdDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO3NGQW5FVSxxQkFBcUI7dUVBQXJCLHFCQUFxQixXQUFyQixxQkFBcUIsbUJBRFIsTUFBTTs7dUZBQ25CLHFCQUFxQjtjQURqQyxVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgY29tYmluZUxhdGVzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc2hhcmVSZXBsYXksXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIGNvbXBhcmVNaW5vclZlcnNpb24sXG4gIFBVQkxJQ19OQU1FU1BBQ0UsXG4gIHB1Ymxpc2hSZWYsXG59IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UgfSBmcm9tICcuL2s4cy1hcGkuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ2x1c3RlclZlcnNpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdG9yZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1WZXJzaW9uJCA9IHRoaXMuazhzQXBpXG4gICAgLmdldEdsb2JhbFJlc291cmNlPHsgc3BlYzogbnVsbDsgZGF0YTogeyB2ZXJzaW9uOiBzdHJpbmcgfSB9Pih7XG4gICAgICBkZWZpbml0aW9uOiB7IHR5cGU6ICdjb25maWdtYXBzJyB9LFxuICAgICAgbmFtZXNwYWNlOiBQVUJMSUNfTkFNRVNQQUNFLFxuICAgICAgbmFtZTogJ3BsYXRmb3JtJyxcbiAgICB9KVxuICAgIC5waXBlKFxuICAgICAgbWFwKGNvbmZpZyA9PiBjb25maWcuZGF0YS52ZXJzaW9uLnNsaWNlKDEpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBrOHNBcGk6IEs4c0FwaVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBpc1ByZXZMVFMoY2x1c3Rlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNPbGRDbHVzdGVyKGNsdXN0ZXIpO1xuICB9XG5cbiAgaXNPbGRDbHVzdGVyID0gKGNsdXN0ZXI6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZ2V0Q2x1c3RlclZlcnNpb24oY2x1c3RlciksXG4gICAgICB0aGlzLnBsYXRmb3JtVmVyc2lvbigpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbY2x1c3RlclZlcnNpb24sIHBsYXRmb3JtVmVyc2lvbl0pID0+XG4gICAgICAgICAgY29tcGFyZU1pbm9yVmVyc2lvbihjbHVzdGVyVmVyc2lvbiwgcGxhdGZvcm1WZXJzaW9uKSA8IDAsXG4gICAgICApLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gIH07XG5cbiAgY2x1c3Rlck9sZFRoYW4oY2x1c3Rlcjogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDbHVzdGVyVmVyc2lvbihjbHVzdGVyKS5waXBlKFxuICAgICAgbWFwKGNsdXN0ZXJWZXJzaW9uID0+IGNvbXBhcmVNaW5vclZlcnNpb24oY2x1c3RlclZlcnNpb24sIHZlcnNpb24pIDwgMCksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcbiAgfVxuXG4gIHBsYXRmb3JtVmVyc2lvbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBsYXRmb3JtVmVyc2lvbiQ7XG4gIH1cblxuICBnZXRDbHVzdGVyVmVyc2lvbihjbHVzdGVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIGlmICh0aGlzLnN0b3JlW2NsdXN0ZXJdKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5zdG9yZVtjbHVzdGVyXSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLms4c0FwaVxuICAgICAgLmdldEdsb2JhbFJlc291cmNlPHsgc3BlYzogeyB2ZXJzaW9uOiBzdHJpbmcgfSB9Pih7XG4gICAgICAgIGRlZmluaXRpb246IHtcbiAgICAgICAgICB0eXBlOiAnY2x1c3Rlcm1vZHVsZXMnLFxuICAgICAgICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgICAgICAgYXBpR3JvdXA6ICdjbHVzdGVyLmFsYXVkYS5pbycsXG4gICAgICAgIH0sXG4gICAgICAgIG5hbWU6IGNsdXN0ZXIsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChjbHVzdGVyID0+IGNsdXN0ZXIuc3BlYy52ZXJzaW9uLnNsaWNlKDEpKSxcbiAgICAgICAgdGFwKHZlcnNpb24gPT4ge1xuICAgICAgICAgIHRoaXMuc3RvcmVbY2x1c3Rlcl0gPSB2ZXJzaW9uO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { flatMap } from 'lodash-es';
|
|
4
|
+
import { forkJoin, map, pluck, switchMap } from 'rxjs';
|
|
4
5
|
import { API_GATEWAY, skipError, } from '../core/public-api';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/common/http";
|
|
@@ -17,10 +18,22 @@ export class ProjectApiService {
|
|
|
17
18
|
getNamespaces({ project, cluster }) {
|
|
18
19
|
return this.http.get(`${BASE_URL}/${project}/clusters/${cluster}/namespaces`);
|
|
19
20
|
}
|
|
21
|
+
get(name) {
|
|
22
|
+
return this.http.get(`{{API_GATEWAY}}/apis/auth.alauda.io/v1/projects/${name}`);
|
|
23
|
+
}
|
|
20
24
|
getClusterNamespaces(project, cluster) {
|
|
21
25
|
return this.http
|
|
22
|
-
.get(
|
|
23
|
-
.pipe(
|
|
26
|
+
.get(`{{API_GATEWAY}}/auth/v1/projects/${project}/clusters/${cluster}/namespaces`)
|
|
27
|
+
.pipe(map(res => res.items));
|
|
28
|
+
}
|
|
29
|
+
getProjectNamespaces(projectName) {
|
|
30
|
+
return this.get(projectName).pipe(switchMap(project => {
|
|
31
|
+
const clusters = project.spec.clusters;
|
|
32
|
+
return forkJoin(clusters.map(({ name: clusterName }) => this.getClusterNamespaces(projectName, clusterName).pipe(map(list => list.map(item => ({
|
|
33
|
+
namespace: item.metadata.name,
|
|
34
|
+
cluster: clusterName,
|
|
35
|
+
}))))));
|
|
36
|
+
}), map(groups => flatMap(groups)), skipError([]));
|
|
24
37
|
}
|
|
25
38
|
static { this.ɵfac = function ProjectApiService_Factory(t) { return new (t || ProjectApiService)(i0.ɵɵinject(i1.HttpClient)); }; }
|
|
26
39
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ProjectApiService, factory: ProjectApiService.ɵfac, providedIn: 'root' }); }
|
|
@@ -29,4 +42,4 @@ export class ProjectApiService {
|
|
|
29
42
|
type: Injectable,
|
|
30
43
|
args: [{ providedIn: 'root' }]
|
|
31
44
|
}], function () { return [{ type: i1.HttpClient }]; }, null); })();
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hcGkvcHJvamVjdC1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBYyxRQUFRLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkUsT0FBTyxFQUNMLFdBQVcsRUFLWCxTQUFTLEdBQ1YsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRTVCLE1BQU0sUUFBUSxHQUFHLEdBQUcsV0FBVyxtQkFBbUIsQ0FBQztBQUduRCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQTZCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRWpELFdBQVcsQ0FBQyxNQUEyQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUNGLFFBQVEsRUFDUixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDaEM7YUFDQSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxhQUFhLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUF3QztRQUN0RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLFFBQVEsSUFBSSxPQUFPLGFBQWEsT0FBTyxhQUFhLENBQ3hELENBQUM7SUFDSixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixtREFBbUQsSUFBSSxFQUFFLENBQzFELENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBZSxFQUFFLE9BQWU7UUFDbkQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FDRixvQ0FBb0MsT0FBTyxhQUFhLE9BQU8sYUFBYSxDQUM3RTthQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLFdBQW1CO1FBRW5CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQy9CLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUV2QyxPQUFPLFFBQVEsQ0FDYixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUNyQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDdEQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7Z0JBQzdCLE9BQU8sRUFBRSxXQUFXO2FBQ3JCLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FDRixDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDOUIsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUNkLENBQUM7SUFDSixDQUFDO2tGQXZEVSxpQkFBaUI7dUVBQWpCLGlCQUFpQixXQUFqQixpQkFBaUIsbUJBREosTUFBTTs7dUZBQ25CLGlCQUFpQjtjQUQ3QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZsYXRNYXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4sIG1hcCwgcGx1Y2ssIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBBUElfR0FURVdBWSxcbiAgS3ViZXJuZXRlc1Jlc291cmNlTGlzdCxcbiAgTmFtZXNwYWNlLFxuICBQcm9qZWN0LFxuICBSZXNvdXJjZUxpc3RQYXJhbXMsXG4gIHNraXBFcnJvcixcbn0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcblxuY29uc3QgQkFTRV9VUkwgPSBgJHtBUElfR0FURVdBWX0vYXV0aC92MS9wcm9qZWN0c2A7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUHJvamVjdEFwaVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgZ2V0UHJvamVjdHMocGFyYW1zPzogUmVzb3VyY2VMaXN0UGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxLdWJlcm5ldGVzUmVzb3VyY2VMaXN0PFByb2plY3Q+PihcbiAgICAgICAgQkFTRV9VUkwsXG4gICAgICAgIHBhcmFtcyA/IHsgcGFyYW1zIH0gOiB1bmRlZmluZWQsXG4gICAgICApXG4gICAgICAucGlwZShwbHVjaygnaXRlbXMnKSwgc2tpcEVycm9yKFtdIGFzIFByb2plY3RbXSkpO1xuICB9XG5cbiAgZ2V0TmFtZXNwYWNlcyh7IHByb2plY3QsIGNsdXN0ZXIgfTogeyBwcm9qZWN0OiBzdHJpbmc7IGNsdXN0ZXI6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8S3ViZXJuZXRlc1Jlc291cmNlTGlzdDxOYW1lc3BhY2U+PihcbiAgICAgIGAke0JBU0VfVVJMfS8ke3Byb2plY3R9L2NsdXN0ZXJzLyR7Y2x1c3Rlcn0vbmFtZXNwYWNlc2AsXG4gICAgKTtcbiAgfVxuXG4gIGdldChuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2plY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQcm9qZWN0PihcbiAgICAgIGB7e0FQSV9HQVRFV0FZfX0vYXBpcy9hdXRoLmFsYXVkYS5pby92MS9wcm9qZWN0cy8ke25hbWV9YCxcbiAgICApO1xuICB9XG5cbiAgZ2V0Q2x1c3Rlck5hbWVzcGFjZXMocHJvamVjdDogc3RyaW5nLCBjbHVzdGVyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PEt1YmVybmV0ZXNSZXNvdXJjZUxpc3Q8TmFtZXNwYWNlPj4oXG4gICAgICAgIGB7e0FQSV9HQVRFV0FZfX0vYXV0aC92MS9wcm9qZWN0cy8ke3Byb2plY3R9L2NsdXN0ZXJzLyR7Y2x1c3Rlcn0vbmFtZXNwYWNlc2AsXG4gICAgICApXG4gICAgICAucGlwZShtYXAocmVzID0+IHJlcy5pdGVtcykpO1xuICB9XG5cbiAgZ2V0UHJvamVjdE5hbWVzcGFjZXMoXG4gICAgcHJvamVjdE5hbWU6IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTx7IGNsdXN0ZXI6IHN0cmluZzsgbmFtZXNwYWNlOiBzdHJpbmcgfT4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQocHJvamVjdE5hbWUpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocHJvamVjdCA9PiB7XG4gICAgICAgIGNvbnN0IGNsdXN0ZXJzID0gcHJvamVjdC5zcGVjLmNsdXN0ZXJzO1xuXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihcbiAgICAgICAgICBjbHVzdGVycy5tYXAoKHsgbmFtZTogY2x1c3Rlck5hbWUgfSkgPT5cbiAgICAgICAgICAgIHRoaXMuZ2V0Q2x1c3Rlck5hbWVzcGFjZXMocHJvamVjdE5hbWUsIGNsdXN0ZXJOYW1lKS5waXBlKFxuICAgICAgICAgICAgICBtYXAobGlzdCA9PlxuICAgICAgICAgICAgICAgIGxpc3QubWFwKGl0ZW0gPT4gKHtcbiAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZTogaXRlbS5tZXRhZGF0YS5uYW1lLFxuICAgICAgICAgICAgICAgICAgY2x1c3RlcjogY2x1c3Rlck5hbWUsXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBtYXAoZ3JvdXBzID0+IGZsYXRNYXAoZ3JvdXBzKSksXG4gICAgICBza2lwRXJyb3IoW10pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -19,4 +19,5 @@ export * from './product.service';
|
|
|
19
19
|
export * from './project-api.service';
|
|
20
20
|
export * from './platform-ui.service';
|
|
21
21
|
export * from './api-compatible.interceptor';
|
|
22
|
-
|
|
22
|
+
export * from './acp-common-api.service';
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hcGkvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsY0FBYztBQUNkLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogW1tpbmNsdWRlOmFwaS9SRUFETUUubWRdXVxuICogQG1vZHVsZSBhcGlcbiAqIEBwcmVmZXJyZWRcbiAqL1xuXG4vKiogaW1wb3J0cyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hcGktZ2F0ZXdheS5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2FwaS1nYXRld2F5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jbHVzdGVyLXZlcnNpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9rOHMtYXBpLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9rOHMtYXBpLXJlc291cmNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlLXZpc2liaWxpdHkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc291cmNlLXVwZGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25pdG9yLWFwaS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY3J5cHRvLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvamVjdC1hcGkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXRmb3JtLXVpLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGktY29tcGF0aWJsZS5pbnRlcmNlcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2FjcC1jb21tb24tYXBpLnNlcnZpY2UnO1xuIl19
|