@alauda-fe/workload-util-shared 0.0.7 → 0.0.9
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/esm2022/lib/directives/index.mjs +1 -2
- package/esm2022/lib/pipes/index.mjs +1 -2
- package/esm2022/lib/services/pod-util.service.mjs +28 -5
- package/esm2022/lib/services/terminal.service.mjs +26 -2
- package/esm2022/lib/typings/helpers.mjs +1 -1
- package/esm2022/lib/utils/debug-copy.mjs +111 -0
- package/esm2022/lib/utils/index.mjs +2 -1
- package/esm2022/lib/utils/patterns.mjs +3 -3
- package/esm2022/lib/utils/status.mjs +48 -12
- package/lib/directives/index.d.ts +0 -1
- package/lib/pipes/index.d.ts +0 -1
- package/lib/services/pod-util.service.d.ts +9 -3
- package/lib/services/terminal.service.d.ts +11 -1
- package/lib/typings/helpers.d.ts +4 -0
- package/lib/typings/k8s-resource-definitions/index.d.ts +1 -9
- package/lib/utils/debug-copy.d.ts +38 -0
- package/lib/utils/index.d.ts +1 -0
- package/package.json +1 -1
- package/esm2022/lib/directives/oam-resource-disabled-container.directive.mjs +0 -53
- package/esm2022/lib/pipes/is-oam-resource.pipe.mjs +0 -17
- package/lib/directives/oam-resource-disabled-container.directive.d.ts +0 -17
- package/lib/pipes/is-oam-resource.pipe.d.ts +0 -9
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export * from './oam-resource-disabled-container.directive';
|
|
2
1
|
export * from './sync-control.directive';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3dvcmtsb2FkL3V0aWwtc2hhcmVkL3NyYy9saWIvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zeW5jLWNvbnRyb2wuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './is-oam-resource.pipe';
|
|
2
1
|
export * from './range.pipe';
|
|
3
2
|
export * from './short-num.pipe';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3dvcmtsb2FkL3V0aWwtc2hhcmVkL3NyYy9saWIvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmFuZ2UucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3Nob3J0LW51bS5waXBlJztcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DialogService } from '@alauda/ui';
|
|
1
|
+
import { DialogService, NotificationService } from '@alauda/ui';
|
|
2
2
|
import { K8sApiService, TRUE, TranslateService, catchPromise, } from '@alauda-fe/common';
|
|
3
3
|
import { Injectable } from '@angular/core';
|
|
4
4
|
import { concatMapTo } from 'rxjs';
|
|
@@ -10,11 +10,12 @@ import * as i2 from "@alauda-fe/common";
|
|
|
10
10
|
import * as i3 from "./terminal.service";
|
|
11
11
|
export const DEBUG_CONTAINER_SUFFIX = '-debug';
|
|
12
12
|
export class PodUtilService {
|
|
13
|
-
constructor(dialog, translate, k8sApi, terminal) {
|
|
13
|
+
constructor(dialog, translate, k8sApi, terminal, notification) {
|
|
14
14
|
this.dialog = dialog;
|
|
15
15
|
this.translate = translate;
|
|
16
16
|
this.k8sApi = k8sApi;
|
|
17
17
|
this.terminal = terminal;
|
|
18
|
+
this.notification = notification;
|
|
18
19
|
}
|
|
19
20
|
deletePod(pod, cluster) {
|
|
20
21
|
return catchPromise(this.dialog.confirm({
|
|
@@ -60,11 +61,33 @@ export class PodUtilService {
|
|
|
60
61
|
isDebug: TRUE,
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Debug (Copy Mode):先开终端窗口,副本在窗口内创建
|
|
66
|
+
* 先发异步请求再开窗口会被浏览器当作非用户手势拦截,因此顺序不能调换
|
|
67
|
+
*/
|
|
68
|
+
handleDebugCopyInfo(pod, container, baseParams, data) {
|
|
69
|
+
if (!data) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const opened = this.terminal.openTerminal({
|
|
73
|
+
pods: pod.metadata.name,
|
|
74
|
+
container: container.name,
|
|
75
|
+
namespace: pod.metadata.namespace,
|
|
76
|
+
cluster: baseParams.cluster,
|
|
77
|
+
startupCommand: data.command,
|
|
78
|
+
}, 'terminal/copy-check');
|
|
79
|
+
if (!opened) {
|
|
80
|
+
this.notification.error({
|
|
81
|
+
title: this.translate.get('debug_copy_popup_blocked'),
|
|
82
|
+
content: this.translate.get('debug_copy_popup_blocked_hint'),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
static { this.ɵfac = function PodUtilService_Factory(t) { return new (t || PodUtilService)(i0.ɵɵinject(i1.DialogService), i0.ɵɵinject(i2.TranslateService), i0.ɵɵinject(i2.K8sApiService), i0.ɵɵinject(i3.TerminalService), i0.ɵɵinject(i1.NotificationService)); }; }
|
|
64
87
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PodUtilService, factory: PodUtilService.ɵfac, providedIn: 'root' }); }
|
|
65
88
|
}
|
|
66
89
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PodUtilService, [{
|
|
67
90
|
type: Injectable,
|
|
68
91
|
args: [{ providedIn: 'root' }]
|
|
69
|
-
}], () => [{ type: i1.DialogService }, { type: i2.TranslateService }, { type: i2.K8sApiService }, { type: i3.TerminalService }], null); })();
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
}], () => [{ type: i1.DialogService }, { type: i2.TranslateService }, { type: i2.K8sApiService }, { type: i3.TerminalService }, { type: i1.NotificationService }], null); })();
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9kLXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvd29ya2xvYWQvdXRpbC1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9wb2QtdXRpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEUsT0FBTyxFQUNMLGFBQWEsRUFDYixJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLFlBQVksR0FJYixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuQyxPQUFPLEVBQTJCLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBRXJELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLFFBQVEsQ0FBQztBQUcvQyxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUNtQixNQUFxQixFQUNyQixTQUEyQixFQUMzQixNQUFxQixFQUNyQixRQUF5QixFQUN6QixZQUFpQztRQUpqQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQ2pELENBQUM7SUFFSixTQUFTLENBQUMsR0FBUSxFQUFFLE9BQWU7UUFDakMsT0FBTyxZQUFZLENBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2xCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRTtnQkFD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QUFDLCtCQUErQixDQUFDO2FBQzdELENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOytFQWxHVSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWFsb2dTZXJ2aWNlLCBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBLOHNBcGlTZXJ2aWNlLFxuICBUUlVFLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBjYXRjaFByb21pc2UsXG4gIENvbnRhaW5lcixcbiAgUG9kLFxuICBXb3Jrc3BhY2UsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbmNhdE1hcFRvIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERlYnVnQ29weUluZm8sIEV4ZWNJbmZvLCBSRVNPVVJDRV9UWVBFUyB9IGZyb20gJy4uL3R5cGluZ3MnO1xuXG5pbXBvcnQgeyBUZXJtaW5hbFNlcnZpY2UgfSBmcm9tICcuL3Rlcm1pbmFsLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREVCVUdfQ09OVEFJTkVSX1NVRkZJWCA9ICctZGVidWcnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFBvZFV0aWxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNBcGk6IEs4c0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXJtaW5hbDogVGVybWluYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgZGVsZXRlUG9kKHBvZDogUG9kLCBjbHVzdGVyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gY2F0Y2hQcm9taXNlKFxuICAgICAgdGhpcy5kaWFsb2cuY29uZmlybSh7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3BvZF9kZWxldGVfY29uZmlybScsIHtcbiAgICAgICAgICBuYW1lOiBwb2QubWV0YWRhdGEubmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMudHJhbnNsYXRlLmdldCgncG9kX2RlbGV0ZV9jb25maXJtX2hpbnQnKSxcbiAgICAgICAgY29uZmlybVRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnZGVsZXRlJyksXG4gICAgICAgIGNhbmNlbFRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnY2FuY2VsJyksXG4gICAgICB9KSxcbiAgICApLnBpcGUoXG4gICAgICBjb25jYXRNYXBUbyhcbiAgICAgICAgdGhpcy5rOHNBcGkuZGVsZXRlUmVzb3VyY2U8UG9kPih7XG4gICAgICAgICAgdHlwZTogUkVTT1VSQ0VfVFlQRVMuUE9ELFxuICAgICAgICAgIGNsdXN0ZXIsXG4gICAgICAgICAgcmVzb3VyY2U6IHBvZCxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBoYW5kbGVFeGVjSW5mbyhcbiAgICBwb2Q6IFBvZCxcbiAgICBjb250YWluZXI6IENvbnRhaW5lcixcbiAgICBiYXNlUGFyYW1zOiBXb3Jrc3BhY2UsXG4gICAgZGF0YTogRXhlY0luZm8sXG4gICkge1xuICAgIGlmICghZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwb2ROYW1lID0gcG9kLm1ldGFkYXRhLm5hbWU7XG4gICAgdGhpcy50ZXJtaW5hbC5vcGVuVGVybWluYWwoe1xuICAgICAgcG9kczogcG9kTmFtZSxcbiAgICAgIHNlbGVjdGVkUG9kOiBwb2ROYW1lLFxuICAgICAgY29udGFpbmVyOiBjb250YWluZXIubmFtZSxcbiAgICAgIG5hbWVzcGFjZTogcG9kLm1ldGFkYXRhLm5hbWVzcGFjZSxcbiAgICAgIGNsdXN0ZXI6IGJhc2VQYXJhbXMuY2x1c3RlcixcbiAgICAgIHVzZXI6IGRhdGEudXNlcixcbiAgICAgIGNvbW1hbmQ6IGRhdGEuY29tbWFuZCxcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZURlYnVnSW5mbyhwb2Q6IFBvZCwgY29udGFpbmVyOiBDb250YWluZXIsIGJhc2VQYXJhbXM6IFdvcmtzcGFjZSkge1xuICAgIGNvbnN0IHBvZE5hbWUgPSBwb2QubWV0YWRhdGEubmFtZTtcbiAgICBjb25zdCBjb250YWluZXJOYW1lID0gW2NvbnRhaW5lci5uYW1lLCBERUJVR19DT05UQUlORVJfU1VGRklYXS5qb2luKCcnKTtcbiAgICB0aGlzLnRlcm1pbmFsLm9wZW5UZXJtaW5hbCh7XG4gICAgICBwb2RzOiBwb2ROYW1lLFxuICAgICAgc2VsZWN0ZWRQb2Q6IHBvZE5hbWUsXG4gICAgICBjb250YWluZXI6IGNvbnRhaW5lck5hbWUsXG4gICAgICBuYW1lc3BhY2U6IHBvZC5tZXRhZGF0YS5uYW1lc3BhY2UsXG4gICAgICBjbHVzdGVyOiBiYXNlUGFyYW1zLmNsdXN0ZXIsXG4gICAgICAvLyDmnKzmnJ8gZGVidWcg55So5oi35Zu65a6a77yM5ZCO57ut5pSv5oyB6Ieq5a6a5LmJXG4gICAgICB1c2VyOiAncm9vdCcsXG4gICAgICBjb21tYW5kOiAnL2Jpbi9zaCcsXG4gICAgICBpc0RlYnVnOiBUUlVFLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlYnVnIChDb3B5IE1vZGUp77ya5YWI5byA57uI56uv56qX5Y+j77yM5Ymv5pys5Zyo56qX5Y+j5YaF5Yib5bu6XG4gICAqIOWFiOWPkeW8guatpeivt+axguWGjeW8gOeql+WPo+S8muiiq+a1j+iniOWZqOW9k+S9nOmdnueUqOaIt+aJi+WKv+aLpuaIqu+8jOWboOatpOmhuuW6j+S4jeiDveiwg+aNolxuICAgKi9cbiAgaGFuZGxlRGVidWdDb3B5SW5mbyhcbiAgICBwb2Q6IFBvZCxcbiAgICBjb250YWluZXI6IENvbnRhaW5lcixcbiAgICBiYXNlUGFyYW1zOiBXb3Jrc3BhY2UsXG4gICAgZGF0YTogRGVidWdDb3B5SW5mbyxcbiAgKSB7XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3BlbmVkID0gdGhpcy50ZXJtaW5hbC5vcGVuVGVybWluYWwoXG4gICAgICB7XG4gICAgICAgIHBvZHM6IHBvZC5tZXRhZGF0YS5uYW1lLFxuICAgICAgICBjb250YWluZXI6IGNvbnRhaW5lci5uYW1lLFxuICAgICAgICBuYW1lc3BhY2U6IHBvZC5tZXRhZGF0YS5uYW1lc3BhY2UsXG4gICAgICAgIGNsdXN0ZXI6IGJhc2VQYXJhbXMuY2x1c3RlcixcbiAgICAgICAgc3RhcnR1cENvbW1hbmQ6IGRhdGEuY29tbWFuZCxcbiAgICAgIH0sXG4gICAgICAndGVybWluYWwvY29weS1jaGVjaycsXG4gICAgKTtcblxuICAgIGlmICghb3BlbmVkKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcih7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2RlYnVnX2NvcHlfcG9wdXBfYmxvY2tlZCcpLFxuICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2RlYnVnX2NvcHlfcG9wdXBfYmxvY2tlZF9oaW50JyksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { K8sPermissionService, K8sResourceAction } from '@alauda-fe/common';
|
|
|
2
2
|
import { APP_BASE_HREF } from '@angular/common';
|
|
3
3
|
import { HttpParams } from '@angular/common/http';
|
|
4
4
|
import { Inject, Injectable } from '@angular/core';
|
|
5
|
+
import { combineLatest, map } from 'rxjs';
|
|
5
6
|
import { RESOURCE_TYPES } from '../typings';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@alauda-fe/common";
|
|
@@ -18,6 +19,28 @@ export class TerminalService {
|
|
|
18
19
|
action: [K8sResourceAction.CREATE],
|
|
19
20
|
});
|
|
20
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* 复制模式需要在当前命名空间建副本、退出时删副本,并连进副本的终端;
|
|
24
|
+
* 三者缺一都走不通,所以入口按三个权限的交集控制。
|
|
25
|
+
*/
|
|
26
|
+
getDebugCopyPermissions({ cluster, namespace, }) {
|
|
27
|
+
return combineLatest([
|
|
28
|
+
this.k8sPermission.isAllowed({
|
|
29
|
+
type: RESOURCE_TYPES.POD,
|
|
30
|
+
cluster,
|
|
31
|
+
namespace,
|
|
32
|
+
action: [K8sResourceAction.CREATE, K8sResourceAction.DELETE],
|
|
33
|
+
}),
|
|
34
|
+
this.k8sPermission.isAllowed({
|
|
35
|
+
type: RESOURCE_TYPES.PODS_EXEC,
|
|
36
|
+
cluster,
|
|
37
|
+
namespace,
|
|
38
|
+
action: [K8sResourceAction.CREATE],
|
|
39
|
+
}),
|
|
40
|
+
]).pipe(map(([pod, exec]) => pod[K8sResourceAction.CREATE] &&
|
|
41
|
+
pod[K8sResourceAction.DELETE] &&
|
|
42
|
+
exec[K8sResourceAction.CREATE]));
|
|
43
|
+
}
|
|
21
44
|
openTerminal(queryParams, module = 'terminal') {
|
|
22
45
|
// Following is to center the new window.
|
|
23
46
|
const { w, h } = module === 'vnc' ? { w: 1024, h: 800 } : { w: 800, h: 640 };
|
|
@@ -29,7 +52,8 @@ export class TerminalService {
|
|
|
29
52
|
screen.height;
|
|
30
53
|
const left = width / 2 - w / 2 + dualScreenLeft;
|
|
31
54
|
const top = height / 2 - h / 2 + dualScreenTop;
|
|
32
|
-
|
|
55
|
+
// 返回窗口句柄,调用方据此判断弹窗是否被浏览器拦截
|
|
56
|
+
return window.open(`${this.appBaseHref}${module}?${new HttpParams({
|
|
33
57
|
fromObject: queryParams,
|
|
34
58
|
}).toString()}`, '_blank', `width=${w},height=${h},resizable=yes,left=${left},top=${top}`);
|
|
35
59
|
}
|
|
@@ -43,4 +67,4 @@ export class TerminalService {
|
|
|
43
67
|
type: Inject,
|
|
44
68
|
args: [APP_BASE_HREF]
|
|
45
69
|
}] }], null); })();
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvd29ya2xvYWQvdXRpbC1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy90ZXJtaW5hbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQU01QyxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUNtQixhQUFtQyxFQUNaLFdBQW1CO1FBRDFDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNaLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQzFELENBQUM7SUFFSixjQUFjLENBQUMsRUFDYixPQUFPLEVBQ1AsU0FBUyxHQUlWO1FBQ0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVM7WUFDOUIsT0FBTztZQUNQLFNBQVM7WUFDVCxNQUFNLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILHVCQUF1QixDQUFDLEVBQ3RCLE9BQU8sRUFDUCxTQUFTLEdBSVY7UUFDQyxPQUFPLGFBQWEsQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztnQkFDM0IsSUFBSSxFQUFFLGNBQWMsQ0FBQyxHQUFHO2dCQUN4QixPQUFPO2dCQUNQLFNBQVM7Z0JBQ1QsTUFBTSxFQUFFLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBQzthQUM3RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7Z0JBQzNCLElBQUksRUFBRSxjQUFjLENBQUMsU0FBUztnQkFDOUIsT0FBTztnQkFDUCxTQUFTO2dCQUNULE1BQU0sRUFBRSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQzthQUNuQyxDQUFDO1NBQ0gsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQ0QsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQ2QsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUM3QixHQUFHLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1lBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FDakMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FDVixXQUE0QyxFQUM1QyxTQUF5QixVQUFVO1FBRW5DLHlDQUF5QztRQUN6QyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUNaLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFOUQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzNELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUV6RCxNQUFNLEtBQUssR0FDVCxNQUFNLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDNUUsTUFBTSxNQUFNLEdBQ1YsTUFBTSxDQUFDLFdBQVc7WUFDbEIsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZO1lBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFaEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQztRQUNoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDO1FBRS9DLDJCQUEyQjtRQUMzQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLElBQUksSUFBSSxVQUFVLENBQUM7WUFDN0MsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQ2YsUUFBUSxFQUNSLFNBQVMsQ0FBQyxXQUFXLENBQUMsdUJBQXVCLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FDL0QsQ0FBQztJQUNKLENBQUM7Z0ZBcEZVLGVBQWUsb0RBR2hCLGFBQWE7dUVBSFosZUFBZSxXQUFmLGVBQWUsbUJBREYsTUFBTTs7aUZBQ25CLGVBQWU7Y0FEM0IsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7c0JBSTdCLE1BQU07dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEs4c1Blcm1pc3Npb25TZXJ2aWNlLCBLOHNSZXNvdXJjZUFjdGlvbiB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IEFQUF9CQVNFX0hSRUYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cFBhcmFtcywgSHR0cFBhcmFtc09wdGlvbnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSRVNPVVJDRV9UWVBFUyB9IGZyb20gJy4uL3R5cGluZ3MnO1xuXG4vKiog5paw56qX5Y+j6KaB5omT5byA55qE6aG16Z2i77yM5aSN5Yi25qih5byP5YWI6JC95Zyo5bu65Ymv5pys55qE562J5b6F6aG1ICovXG5leHBvcnQgdHlwZSBUZXJtaW5hbE1vZHVsZSA9ICd0ZXJtaW5hbCcgfCAndGVybWluYWwvY29weS1jaGVjaycgfCAndm5jJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGs4c1Blcm1pc3Npb246IEs4c1Blcm1pc3Npb25TZXJ2aWNlLFxuICAgIEBJbmplY3QoQVBQX0JBU0VfSFJFRikgcHJpdmF0ZSByZWFkb25seSBhcHBCYXNlSHJlZjogc3RyaW5nLFxuICApIHt9XG5cbiAgZ2V0UGVybWlzc2lvbnMoe1xuICAgIGNsdXN0ZXIsXG4gICAgbmFtZXNwYWNlLFxuICB9OiB7XG4gICAgY2x1c3Rlcjogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICB9KSB7XG4gICAgcmV0dXJuIHRoaXMuazhzUGVybWlzc2lvbi5pc0FsbG93ZWQoe1xuICAgICAgdHlwZTogUkVTT1VSQ0VfVFlQRVMuUE9EU19FWEVDLFxuICAgICAgY2x1c3RlcixcbiAgICAgIG5hbWVzcGFjZSxcbiAgICAgIGFjdGlvbjogW0s4c1Jlc291cmNlQWN0aW9uLkNSRUFURV0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICog5aSN5Yi25qih5byP6ZyA6KaB5Zyo5b2T5YmN5ZG95ZCN56m66Ze05bu65Ymv5pys44CB6YCA5Ye65pe25Yig5Ymv5pys77yM5bm26L+e6L+b5Ymv5pys55qE57uI56uv77ybXG4gICAqIOS4ieiAhee8uuS4gOmDvei1sOS4jemAmu+8jOaJgOS7peWFpeWPo+aMieS4ieS4quadg+mZkOeahOS6pOmbhuaOp+WItuOAglxuICAgKi9cbiAgZ2V0RGVidWdDb3B5UGVybWlzc2lvbnMoe1xuICAgIGNsdXN0ZXIsXG4gICAgbmFtZXNwYWNlLFxuICB9OiB7XG4gICAgY2x1c3Rlcjogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICB9KSB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5rOHNQZXJtaXNzaW9uLmlzQWxsb3dlZCh7XG4gICAgICAgIHR5cGU6IFJFU09VUkNFX1RZUEVTLlBPRCxcbiAgICAgICAgY2x1c3RlcixcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBhY3Rpb246IFtLOHNSZXNvdXJjZUFjdGlvbi5DUkVBVEUsIEs4c1Jlc291cmNlQWN0aW9uLkRFTEVURV0sXG4gICAgICB9KSxcbiAgICAgIHRoaXMuazhzUGVybWlzc2lvbi5pc0FsbG93ZWQoe1xuICAgICAgICB0eXBlOiBSRVNPVVJDRV9UWVBFUy5QT0RTX0VYRUMsXG4gICAgICAgIGNsdXN0ZXIsXG4gICAgICAgIG5hbWVzcGFjZSxcbiAgICAgICAgYWN0aW9uOiBbSzhzUmVzb3VyY2VBY3Rpb24uQ1JFQVRFXSxcbiAgICAgIH0pLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbcG9kLCBleGVjXSkgPT5cbiAgICAgICAgICBwb2RbSzhzUmVzb3VyY2VBY3Rpb24uQ1JFQVRFXSAmJlxuICAgICAgICAgIHBvZFtLOHNSZXNvdXJjZUFjdGlvbi5ERUxFVEVdICYmXG4gICAgICAgICAgZXhlY1tLOHNSZXNvdXJjZUFjdGlvbi5DUkVBVEVdLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgb3BlblRlcm1pbmFsKFxuICAgIHF1ZXJ5UGFyYW1zOiBIdHRwUGFyYW1zT3B0aW9uc1snZnJvbU9iamVjdCddLFxuICAgIG1vZHVsZTogVGVybWluYWxNb2R1bGUgPSAndGVybWluYWwnLFxuICApIHtcbiAgICAvLyBGb2xsb3dpbmcgaXMgdG8gY2VudGVyIHRoZSBuZXcgd2luZG93LlxuICAgIGNvbnN0IHsgdywgaCB9ID1cbiAgICAgIG1vZHVsZSA9PT0gJ3ZuYycgPyB7IHc6IDEwMjQsIGg6IDgwMCB9IDogeyB3OiA4MDAsIGg6IDY0MCB9O1xuXG4gICAgY29uc3QgZHVhbFNjcmVlbkxlZnQgPSB3aW5kb3cuc2NyZWVuTGVmdCB8fCB3aW5kb3cuc2NyZWVuWDtcbiAgICBjb25zdCBkdWFsU2NyZWVuVG9wID0gd2luZG93LnNjcmVlblRvcCB8fCB3aW5kb3cuc2NyZWVuWTtcblxuICAgIGNvbnN0IHdpZHRoID1cbiAgICAgIHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCBzY3JlZW4ud2lkdGg7XG4gICAgY29uc3QgaGVpZ2h0ID1cbiAgICAgIHdpbmRvdy5pbm5lckhlaWdodCB8fFxuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCB8fFxuICAgICAgc2NyZWVuLmhlaWdodDtcblxuICAgIGNvbnN0IGxlZnQgPSB3aWR0aCAvIDIgLSB3IC8gMiArIGR1YWxTY3JlZW5MZWZ0O1xuICAgIGNvbnN0IHRvcCA9IGhlaWdodCAvIDIgLSBoIC8gMiArIGR1YWxTY3JlZW5Ub3A7XG5cbiAgICAvLyDov5Tlm57nqpflj6Plj6Xmn4TvvIzosIPnlKjmlrnmja7mraTliKTmlq3lvLnnqpfmmK/lkKbooqvmtY/op4jlmajmi6bmiKpcbiAgICByZXR1cm4gd2luZG93Lm9wZW4oXG4gICAgICBgJHt0aGlzLmFwcEJhc2VIcmVmfSR7bW9kdWxlfT8ke25ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgZnJvbU9iamVjdDogcXVlcnlQYXJhbXMsXG4gICAgICB9KS50b1N0cmluZygpfWAsXG4gICAgICAnX2JsYW5rJyxcbiAgICAgIGB3aWR0aD0ke3d9LGhlaWdodD0ke2h9LHJlc2l6YWJsZT15ZXMsbGVmdD0ke2xlZnR9LHRvcD0ke3RvcH1gLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -11,4 +11,4 @@ export var UnifiedStatus;
|
|
|
11
11
|
UnifiedStatus["IN_PROGRESS"] = "IN_PROGRESS";
|
|
12
12
|
UnifiedStatus["INACTIVE"] = "INACTIVE";
|
|
13
13
|
})(UnifiedStatus || (UnifiedStatus = {}));
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvd29ya2xvYWQvdXRpbC1zaGFyZWQvc3JjL2xpYi90eXBpbmdzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJBOzs7O0dBSUc7QUFDSCxNQUFNLENBQU4sSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZixvQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBMkIsQ0FBQTtJQUMzQixzQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsYUFBYSxLQUFiLGFBQWEsUUFNeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZWNyZXQsXG4gIFJlc291cmNlTGlzdFBhcmFtcyxcbiAgRW52aXJvbm1lbnRzIGFzIF9FbnZpcm9ubWVudHMsXG4gIFRyYW5zbGF0ZUtleSxcbiAgV29ya3NwYWNlLFxufSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IFJlc291cmNlUXVvdGFJdGVtIH0gZnJvbSAnLi9rOHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZURldGFpbFBhcmFtcyBleHRlbmRzIFdvcmtzcGFjZSB7XG4gIG5hbWU/
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvd29ya2xvYWQvdXRpbC1zaGFyZWQvc3JjL2xpYi90eXBpbmdzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJBOzs7O0dBSUc7QUFDSCxNQUFNLENBQU4sSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZixvQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBMkIsQ0FBQTtJQUMzQixzQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsYUFBYSxLQUFiLGFBQWEsUUFNeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZWNyZXQsXG4gIFJlc291cmNlTGlzdFBhcmFtcyxcbiAgRW52aXJvbm1lbnRzIGFzIF9FbnZpcm9ubWVudHMsXG4gIFRyYW5zbGF0ZUtleSxcbiAgV29ya3NwYWNlLFxufSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5cbmltcG9ydCB7IFJlc291cmNlUXVvdGFJdGVtIH0gZnJvbSAnLi9rOHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZURldGFpbFBhcmFtcyBleHRlbmRzIFdvcmtzcGFjZSB7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlTGlzdFBhcmFtcyBleHRlbmRzIFdvcmtzcGFjZSwgUmVzb3VyY2VMaXN0UGFyYW1zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRtaW5CYXNlUGFyYW1zIHtcbiAgY2x1c3Rlcj86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkbWluRGV0YWlsUGFyYW1zIGV4dGVuZHMgQWRtaW5CYXNlUGFyYW1zIHtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZG1pbkxpc3RQYXJhbXMgZXh0ZW5kcyBBZG1pbkJhc2VQYXJhbXMsIFJlc291cmNlTGlzdFBhcmFtcyB7fVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbmV4cG9ydCB0eXBlIEVudmlyb25tZW50cyA9IF9FbnZpcm9ubWVudHM7XG5cbi8qKlxuICogQ29uc29sZSByZWxhdGVkIHN0YXR1cy5cbiAqXG4gKiBBbGwgZmVhdHVyZSByZWxhdGVkIHN0YXR1cyBzaG91bGQgYmUgbWFwcGVkIGludG8gb25lIG9mIHRoZSBjYXRlZ29yaWVzXG4gKi9cbmV4cG9ydCBlbnVtIFVuaWZpZWRTdGF0dXMge1xuICBTVUNDRVNTID0gJ1NVQ0NFU1MnLFxuICBFUlJPUiA9ICdFUlJPUicsXG4gIFBFTkRJTkcgPSAnUEVORElORycsXG4gIElOX1BST0dSRVNTID0gJ0lOX1BST0dSRVNTJyxcbiAgSU5BQ1RJVkUgPSAnSU5BQ1RJVkUnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3JldHNHcm91cCB7XG4gIGdsb2JhbDogU2VjcmV0W107XG4gIG5hbWVzcGFjZTogU2VjcmV0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY0luZm8ge1xuICB1c2VyOiBzdHJpbmc7XG4gIGNvbW1hbmQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWJ1Z0NvcHlJbmZvIHtcbiAgLyoqIOWJr+acrOS4reebruagh+WuueWZqOeahOWQr+WKqOWRveS7pO+8jOaVtOauteS6pOe7mSBzaGVsbCDmiafooYwgKi9cbiAgY29tbWFuZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUXVvdGFEZWZpbml0aW9uIHtcbiAga2V5OiBrZXlvZiBSZXNvdXJjZVF1b3RhSXRlbTtcbiAgZmFsbGJhY2tLZXk/OiBrZXlvZiBSZXNvdXJjZVF1b3RhSXRlbTtcbiAgbmFtZTogVHJhbnNsYXRlS2V5O1xuICB1bml0OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogVHJhbnNsYXRlS2V5O1xuICBub3JtYWxpemVyPzogKHZhbHVlOiBzdHJpbmcpID0+IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/** 副本上的来源标记:来源 Pod 名称 */
|
|
2
|
+
export const DEBUG_COPY_SOURCE_POD_ANNOTATION = 'debug.cpaas.io/source-pod';
|
|
3
|
+
/** 副本上的来源标记:来源容器名称 */
|
|
4
|
+
export const DEBUG_COPY_SOURCE_CONTAINER_ANNOTATION = 'debug.cpaas.io/source-container';
|
|
5
|
+
/** 副本名称后缀,真实名称由 apiserver 通过 generateName 生成 */
|
|
6
|
+
export const DEBUG_COPY_NAME_SUFFIX = '-debug-';
|
|
7
|
+
/** 副本中目标容器之外的容器统一以 shell 启动 */
|
|
8
|
+
export const DEBUG_COPY_SHELL = '/bin/sh';
|
|
9
|
+
/** 拉取镜像失败时副本同样拉不到该镜像,因此不提供入口 */
|
|
10
|
+
const IMAGE_PULL_FAILED_REASONS = ['ErrImagePull', 'ImagePullBackOff'];
|
|
11
|
+
function getContainerStatus(pod, containerName) {
|
|
12
|
+
return pod.status?.containerStatuses?.find(status => status.name === containerName);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 该 Pod 本身是不是 Debug (Copy Mode) 创建的副本
|
|
16
|
+
* 副本上不再提供复制入口,避免对副本再创建副本
|
|
17
|
+
*/
|
|
18
|
+
export function isDebugCopyPod(pod) {
|
|
19
|
+
return !!pod?.metadata?.annotations?.[DEBUG_COPY_SOURCE_POD_ANNOTATION];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 容器能否使用 Debug (Copy Mode)
|
|
23
|
+
* 容器未运行或未就绪时可用,与现有 Debug / EXEC 的可用条件互补;
|
|
24
|
+
* 因拉取镜像失败而等待中的容器除外,副本同样起不来
|
|
25
|
+
*/
|
|
26
|
+
export function canDebugCopyContainer(pod, container) {
|
|
27
|
+
if (!pod || !container || isDebugCopyPod(pod)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const status = getContainerStatus(pod, container.name);
|
|
31
|
+
if (!status) {
|
|
32
|
+
// 容器状态还没上报,说明容器尚未运行,可以复制
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
if (IMAGE_PULL_FAILED_REASONS.includes(status.state?.waiting?.reason)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return !status.state?.running || !status.ready;
|
|
39
|
+
}
|
|
40
|
+
/** Pod 中可以使用 Debug (Copy Mode) 的容器,二级菜单只列出这些容器 */
|
|
41
|
+
export function getDebugCopyContainers(pod) {
|
|
42
|
+
return (pod?.spec?.containers || []).filter(container => canDebugCopyContainer(pod, container));
|
|
43
|
+
}
|
|
44
|
+
/** Pod 中是否还有容器可以使用 Debug (Copy Mode),没有则整个菜单项隐藏 */
|
|
45
|
+
export function hasDebugCopyContainer(pod) {
|
|
46
|
+
return getDebugCopyContainers(pod).length > 0;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* 原启动命令与参数按空格拼接展示,与 Pod 详情页 Container 区块一致
|
|
50
|
+
* 镜像自带的 ENTRYPOINT / CMD 在 Kubernetes 接口中拿不到,未声明时返回空
|
|
51
|
+
*/
|
|
52
|
+
export function formatContainerCommand(command) {
|
|
53
|
+
return (command || []).join(' ');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 按原 Pod 配置构造调试副本
|
|
57
|
+
*
|
|
58
|
+
* 保留:镜像、数据卷、服务账号、密钥、环境变量、资源请求与限制、安全设置、初始化容器;
|
|
59
|
+
* 原 Pod 已分配节点时保留 nodeName,避免带 ReadWriteOnce 数据卷的副本跨节点挂载失败。
|
|
60
|
+
* 清除:名称等唯一标识、标签、注解、归属关系、状态、健康检查、生命周期钩子;
|
|
61
|
+
* 必须清空 ephemeralContainers —— 该字段只能通过子资源添加,创建时带上会被 apiserver 拒绝。
|
|
62
|
+
*/
|
|
63
|
+
export function buildDebugCopyPod(pod, containerName, startupCommand) {
|
|
64
|
+
const source = JSON.parse(JSON.stringify(pod));
|
|
65
|
+
const { namespace } = source.metadata;
|
|
66
|
+
const copy = {
|
|
67
|
+
apiVersion: source.apiVersion,
|
|
68
|
+
kind: source.kind,
|
|
69
|
+
metadata: {
|
|
70
|
+
generateName: `${pod.metadata.name}${DEBUG_COPY_NAME_SUFFIX}`,
|
|
71
|
+
namespace,
|
|
72
|
+
// 注解一律不继承,只写来源标记(对齐 OpenShift:oc debug 与 Web Console 都只保留
|
|
73
|
+
// 其工作负载分区专用的两个注解,ACP 无此机制)。
|
|
74
|
+
// 原 Pod 的注解里混有网络组件写回的地址分配结果(kube-ovn 的 ovn.kubernetes.io/ip_address、
|
|
75
|
+
// 附加网卡的 <nad>.<ns>.kubernetes.io/ip_address 等),副本带上会被判定 AddressConflict
|
|
76
|
+
// 起不来(ACP 实测);按前缀挑着删既漏,又会误伤 k8s.v1.cni.cncf.io/networks 这类用户声明。
|
|
77
|
+
annotations: {
|
|
78
|
+
[DEBUG_COPY_SOURCE_POD_ANNOTATION]: pod.metadata.name,
|
|
79
|
+
[DEBUG_COPY_SOURCE_CONTAINER_ANNOTATION]: containerName,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
spec: source.spec,
|
|
83
|
+
};
|
|
84
|
+
copy.spec.restartPolicy = 'Never';
|
|
85
|
+
// 容器以 shell 为主进程,不响应 SIGTERM;沿用原 Pod 的优雅终止期会让副本在删除后
|
|
86
|
+
// 仍以 Terminating 停留约 30 秒。副本是一次性的,无需优雅退出。
|
|
87
|
+
// 写 1 而不是 0:spec 中的 0 会被 apiserver 改为 1,直接写 1 语义更明确
|
|
88
|
+
copy.spec.terminationGracePeriodSeconds = 1;
|
|
89
|
+
delete copy.spec.ephemeralContainers;
|
|
90
|
+
copy.spec.containers = (copy.spec.containers || []).map(container => {
|
|
91
|
+
const next = {
|
|
92
|
+
...container,
|
|
93
|
+
command: container.name === containerName
|
|
94
|
+
? [DEBUG_COPY_SHELL, '-c', startupCommand]
|
|
95
|
+
: [DEBUG_COPY_SHELL],
|
|
96
|
+
// 以 shell 启动的容器需要保持运行,等待用户从终端接入
|
|
97
|
+
stdin: true,
|
|
98
|
+
tty: true,
|
|
99
|
+
};
|
|
100
|
+
delete next.args;
|
|
101
|
+
delete next.livenessProbe;
|
|
102
|
+
delete next.readinessProbe;
|
|
103
|
+
delete next.startupProbe;
|
|
104
|
+
// 副本不运行原业务进程,postStart 里等应用就绪的脚本或回调必然失败,
|
|
105
|
+
// 而 postStart 失败会让 kubelet 直接杀掉容器
|
|
106
|
+
delete next.lifecycle;
|
|
107
|
+
return next;
|
|
108
|
+
});
|
|
109
|
+
return copy;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvd29ya2xvYWQvdXRpbC1zaGFyZWQvc3JjL2xpYi91dGlscy9kZWJ1Zy1jb3B5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLHlCQUF5QjtBQUN6QixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRywyQkFBMkIsQ0FBQztBQUU1RSxzQkFBc0I7QUFDdEIsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQ2pELGlDQUFpQyxDQUFDO0FBRXBDLGdEQUFnRDtBQUNoRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxTQUFTLENBQUM7QUFFaEQsK0JBQStCO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztBQUUxQyxnQ0FBZ0M7QUFDaEMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBRXZFLFNBQVMsa0JBQWtCLENBQUMsR0FBUSxFQUFFLGFBQXFCO0lBQ3pELE9BQU8sR0FBRyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQ3hDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxhQUFhLENBQ3hDLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFRO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxHQUFRLEVBQUUsU0FBb0I7SUFDbEUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxPQUFPLEtBQUssQ0FBQztJQUNm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LGdCQUFnQixDQUFDO1lBQ3hCLGdDQUFnQztZQUNoQyxLQUFLLEVBQUUsSUFBSTtZQUNYLEdBQUcsRUFBRSxJQUFJO1NBQ1YsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN6Qix5Q0FBeUM7UUFDekMsa0NBQWtDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyLCBDb250YWluZXJTdGF0dXMsIFBvZCB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcblxuLyoqIOWJr+acrOS4iueahOadpea6kOagh+iusO+8muadpea6kCBQb2Qg5ZCN56ewICovXG5leHBvcnQgY29uc3QgREVCVUdfQ09QWV9TT1VSQ0VfUE9EX0FOTk9UQVRJT04gPSAnZGVidWcuY3BhYXMuaW8vc291cmNlLXBvZCc7XG5cbi8qKiDlia/mnKzkuIrnmoTmnaXmupDmoIforrDvvJrmnaXmupDlrrnlmajlkI3np7AgKi9cbmV4cG9ydCBjb25zdCBERUJVR19DT1BZX1NPVVJDRV9DT05UQUlORVJfQU5OT1RBVElPTiA9XG4gICdkZWJ1Zy5jcGFhcy5pby9zb3VyY2UtY29udGFpbmVyJztcblxuLyoqIOWJr+acrOWQjeensOWQjue8gO+8jOecn+WunuWQjeensOeUsSBhcGlzZXJ2ZXIg6YCa6L+HIGdlbmVyYXRlTmFtZSDnlJ/miJAgKi9cbmV4cG9ydCBjb25zdCBERUJVR19DT1BZX05BTUVfU1VGRklYID0gJy1kZWJ1Zy0nO1xuXG4vKiog5Ymv5pys5Lit55uu5qCH5a655Zmo5LmL5aSW55qE5a655Zmo57uf5LiA5LulIHNoZWxsIOWQr+WKqCAqL1xuZXhwb3J0IGNvbnN0IERFQlVHX0NPUFlfU0hFTEwgPSAnL2Jpbi9zaCc7XG5cbi8qKiDmi4nlj5bplZzlg4/lpLHotKXml7blia/mnKzlkIzmoLfmi4nkuI3liLDor6XplZzlg4/vvIzlm6DmraTkuI3mj5DkvpvlhaXlj6MgKi9cbmNvbnN0IElNQUdFX1BVTExfRkFJTEVEX1JFQVNPTlMgPSBbJ0VyckltYWdlUHVsbCcsICdJbWFnZVB1bGxCYWNrT2ZmJ107XG5cbmZ1bmN0aW9uIGdldENvbnRhaW5lclN0YXR1cyhwb2Q6IFBvZCwgY29udGFpbmVyTmFtZTogc3RyaW5nKTogQ29udGFpbmVyU3RhdHVzIHtcbiAgcmV0dXJuIHBvZC5zdGF0dXM/LmNvbnRhaW5lclN0YXR1c2VzPy5maW5kKFxuICAgIHN0YXR1cyA9PiBzdGF0dXMubmFtZSA9PT0gY29udGFpbmVyTmFtZSxcbiAgKTtcbn1cblxuLyoqXG4gKiDor6UgUG9kIOacrOi6q+aYr+S4jeaYryBEZWJ1ZyAoQ29weSBNb2RlKSDliJvlu7rnmoTlia/mnKxcbiAqIOWJr+acrOS4iuS4jeWGjeaPkOS+m+WkjeWItuWFpeWPo++8jOmBv+WFjeWvueWJr+acrOWGjeWIm+W7uuWJr+acrFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEZWJ1Z0NvcHlQb2QocG9kOiBQb2QpIHtcbiAgcmV0dXJuICEhcG9kPy5tZXRhZGF0YT8uYW5ub3RhdGlvbnM/LltERUJVR19DT1BZX1NPVVJDRV9QT0RfQU5OT1RBVElPTl07XG59XG5cbi8qKlxuICog5a655Zmo6IO95ZCm5L2/55SoIERlYnVnIChDb3B5IE1vZGUpXG4gKiDlrrnlmajmnKrov5DooYzmiJbmnKrlsLHnu6rml7blj6/nlKjvvIzkuI7njrDmnIkgRGVidWcgLyBFWEVDIOeahOWPr+eUqOadoeS7tuS6kuihpe+8m1xuICog5Zug5ouJ5Y+W6ZWc5YOP5aSx6LSl6ICM562J5b6F5Lit55qE5a655Zmo6Zmk5aSW77yM5Ymv5pys5ZCM5qC36LW35LiN5p2lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYW5EZWJ1Z0NvcHlDb250YWluZXIocG9kOiBQb2QsIGNvbnRhaW5lcjogQ29udGFpbmVyKSB7XG4gIGlmICghcG9kIHx8ICFjb250YWluZXIgfHwgaXNEZWJ1Z0NvcHlQb2QocG9kKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBzdGF0dXMgPSBnZXRDb250YWluZXJTdGF0dXMocG9kLCBjb250YWluZXIubmFtZSk7XG4gIGlmICghc3RhdHVzKSB7XG4gICAgLy8g5a655Zmo54q25oCB6L+Y5rKh5LiK5oql77yM6K+05piO5a655Zmo5bCa5pyq6L+Q6KGM77yM5Y+v5Lul5aSN5Yi2XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKElNQUdFX1BVTExfRkFJTEVEX1JFQVNPTlMuaW5jbHVkZXMoc3RhdHVzLnN0YXRlPy53YWl0aW5nPy5yZWFzb24pKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAhc3RhdHVzLnN0YXRlPy5ydW5uaW5nIHx8ICFzdGF0dXMucmVhZHk7XG59XG5cbi8qKiBQb2Qg5Lit5Y+v5Lul5L2/55SoIERlYnVnIChDb3B5IE1vZGUpIOeahOWuueWZqO+8jOS6jOe6p+iPnOWNleWPquWIl+WHuui/meS6m+WuueWZqCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29weUNvbnRhaW5lcnMocG9kOiBQb2QpIHtcbiAgcmV0dXJuIChwb2Q/LnNwZWM/LmNvbnRhaW5lcnMgfHwgW10pLmZpbHRlcihjb250YWluZXIgPT5cbiAgICBjYW5EZWJ1Z0NvcHlDb250YWluZXIocG9kLCBjb250YWluZXIpLFxuICApO1xufVxuXG4vKiogUG9kIOS4reaYr+WQpui/mOacieWuueWZqOWPr+S7peS9v+eUqCBEZWJ1ZyAoQ29weSBNb2RlKe+8jOayoeacieWImeaVtOS4quiPnOWNlemhuemakOiXjyAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0RlYnVnQ29weUNvbnRhaW5lcihwb2Q6IFBvZCkge1xuICByZXR1cm4gZ2V0RGVidWdDb3B5Q29udGFpbmVycyhwb2QpLmxlbmd0aCA+IDA7XG59XG5cbi8qKlxuICog5Y6f5ZCv5Yqo5ZG95Luk5LiO5Y+C5pWw5oyJ56m65qC85ou85o6l5bGV56S677yM5LiOIFBvZCDor6bmg4XpobUgQ29udGFpbmVyIOWMuuWdl+S4gOiHtFxuICog6ZWc5YOP6Ieq5bim55qEIEVOVFJZUE9JTlQgLyBDTUQg5ZyoIEt1YmVybmV0ZXMg5o6l5Y+j5Lit5ou/5LiN5Yiw77yM5pyq5aOw5piO5pe26L+U5Zue56m6XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRDb250YWluZXJDb21tYW5kKGNvbW1hbmQ6IHN0cmluZ1tdKSB7XG4gIHJldHVybiAoY29tbWFuZCB8fCBbXSkuam9pbignICcpO1xufVxuXG4vKipcbiAqIOaMieWOnyBQb2Qg6YWN572u5p6E6YCg6LCD6K+V5Ymv5pysXG4gKlxuICog5L+d55WZ77ya6ZWc5YOP44CB5pWw5o2u5Y2344CB5pyN5Yqh6LSm5Y+344CB5a+G6ZKl44CB546v5aKD5Y+Y6YeP44CB6LWE5rqQ6K+35rGC5LiO6ZmQ5Yi244CB5a6J5YWo6K6+572u44CB5Yid5aeL5YyW5a655Zmo77ybXG4gKiDljp8gUG9kIOW3suWIhumFjeiKgueCueaXtuS/neeVmSBub2RlTmFtZe+8jOmBv+WFjeW4piBSZWFkV3JpdGVPbmNlIOaVsOaNruWNt+eahOWJr+acrOi3qOiKgueCueaMgui9veWksei0peOAglxuICog5riF6Zmk77ya5ZCN56ew562J5ZSv5LiA5qCH6K+G44CB5qCH562+44CB5rOo6Kej44CB5b2S5bGe5YWz57O744CB54q25oCB44CB5YGl5bq35qOA5p+l44CB55Sf5ZG95ZGo5pyf6ZKp5a2Q77ybXG4gKiDlv4XpobvmuIXnqbogZXBoZW1lcmFsQ29udGFpbmVycyDigJTigJQg6K+l5a2X5q615Y+q6IO96YCa6L+H5a2Q6LWE5rqQ5re75Yqg77yM5Yib5bu65pe25bim5LiK5Lya6KKrIGFwaXNlcnZlciDmi5Lnu53jgIJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRGVidWdDb3B5UG9kKFxuICBwb2Q6IFBvZCxcbiAgY29udGFpbmVyTmFtZTogc3RyaW5nLFxuICBzdGFydHVwQ29tbWFuZDogc3RyaW5nLFxuKTogUG9kIHtcbiAgY29uc3Qgc291cmNlOiBQb2QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHBvZCkpO1xuICBjb25zdCB7IG5hbWVzcGFjZSB9ID0gc291cmNlLm1ldGFkYXRhO1xuXG4gIGNvbnN0IGNvcHk6IFBvZCA9IHtcbiAgICBhcGlWZXJzaW9uOiBzb3VyY2UuYXBpVmVyc2lvbixcbiAgICBraW5kOiBzb3VyY2Uua2luZCxcbiAgICBtZXRhZGF0YToge1xuICAgICAgZ2VuZXJhdGVOYW1lOiBgJHtwb2QubWV0YWRhdGEubmFtZX0ke0RFQlVHX0NPUFlfTkFNRV9TVUZGSVh9YCxcbiAgICAgIG5hbWVzcGFjZSxcbiAgICAgIC8vIOazqOino+S4gOW+i+S4jee7p+aJv++8jOWPquWGmeadpea6kOagh+iusO+8iOWvuem9kCBPcGVuU2hpZnTvvJpvYyBkZWJ1ZyDkuI4gV2ViIENvbnNvbGUg6YO95Y+q5L+d55WZXG4gICAgICAvLyDlhbblt6XkvZzotJ/ovb3liIbljLrkuJPnlKjnmoTkuKTkuKrms6jop6PvvIxBQ1Ag5peg5q2k5py65Yi277yJ44CCXG4gICAgICAvLyDljp8gUG9kIOeahOazqOino+mHjOa3t+aciee9kee7nOe7hOS7tuWGmeWbnueahOWcsOWdgOWIhumFjee7k+aenO+8iGt1YmUtb3ZuIOeahCBvdm4ua3ViZXJuZXRlcy5pby9pcF9hZGRyZXNz44CBXG4gICAgICAvLyDpmYTliqDnvZHljaHnmoQgPG5hZD4uPG5zPi5rdWJlcm5ldGVzLmlvL2lwX2FkZHJlc3Mg562J77yJ77yM5Ymv5pys5bim5LiK5Lya6KKr5Yik5a6aIEFkZHJlc3NDb25mbGljdFxuICAgICAgLy8g6LW35LiN5p2l77yIQUNQIOWunua1i++8ie+8m+aMieWJjee8gOaMkeedgOWIoOaXoua8j++8jOWPiOS8muivr+S8pCBrOHMudjEuY25pLmNuY2YuaW8vbmV0d29ya3Mg6L+Z57G755So5oi35aOw5piO44CCXG4gICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICBbREVCVUdfQ09QWV9TT1VSQ0VfUE9EX0FOTk9UQVRJT05dOiBwb2QubWV0YWRhdGEubmFtZSxcbiAgICAgICAgW0RFQlVHX0NPUFlfU09VUkNFX0NPTlRBSU5FUl9BTk5PVEFUSU9OXTogY29udGFpbmVyTmFtZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzcGVjOiBzb3VyY2Uuc3BlYyxcbiAgfTtcblxuICBjb3B5LnNwZWMucmVzdGFydFBvbGljeSA9ICdOZXZlcic7XG4gIC8vIOWuueWZqOS7pSBzaGVsbCDkuLrkuLvov5vnqIvvvIzkuI3lk43lupQgU0lHVEVSTe+8m+ayv+eUqOWOnyBQb2Qg55qE5LyY6ZuF57uI5q2i5pyf5Lya6K6p5Ymv5pys5Zyo5Yig6Zmk5ZCOXG4gIC8vIOS7jeS7pSBUZXJtaW5hdGluZyDlgZznlZnnuqYgMzAg56eS44CC5Ymv5pys5piv5LiA5qyh5oCn55qE77yM5peg6ZyA5LyY6ZuF6YCA5Ye644CCXG4gIC8vIOWGmSAxIOiAjOS4jeaYryAw77yac3BlYyDkuK3nmoQgMCDkvJrooqsgYXBpc2VydmVyIOaUueS4uiAx77yM55u05o6l5YaZIDEg6K+t5LmJ5pu05piO56GuXG4gIGNvcHkuc3BlYy50ZXJtaW5hdGlvbkdyYWNlUGVyaW9kU2Vjb25kcyA9IDE7XG4gIGRlbGV0ZSBjb3B5LnNwZWMuZXBoZW1lcmFsQ29udGFpbmVycztcblxuICBjb3B5LnNwZWMuY29udGFpbmVycyA9IChjb3B5LnNwZWMuY29udGFpbmVycyB8fCBbXSkubWFwKGNvbnRhaW5lciA9PiB7XG4gICAgY29uc3QgbmV4dDogQ29udGFpbmVyID0ge1xuICAgICAgLi4uY29udGFpbmVyLFxuICAgICAgY29tbWFuZDpcbiAgICAgICAgY29udGFpbmVyLm5hbWUgPT09IGNvbnRhaW5lck5hbWVcbiAgICAgICAgICA/IFtERUJVR19DT1BZX1NIRUxMLCAnLWMnLCBzdGFydHVwQ29tbWFuZF1cbiAgICAgICAgICA6IFtERUJVR19DT1BZX1NIRUxMXSxcbiAgICAgIC8vIOS7pSBzaGVsbCDlkK/liqjnmoTlrrnlmajpnIDopoHkv53mjIHov5DooYzvvIznrYnlvoXnlKjmiLfku47nu4jnq6/mjqXlhaVcbiAgICAgIHN0ZGluOiB0cnVlLFxuICAgICAgdHR5OiB0cnVlLFxuICAgIH07XG4gICAgZGVsZXRlIG5leHQuYXJncztcbiAgICBkZWxldGUgbmV4dC5saXZlbmVzc1Byb2JlO1xuICAgIGRlbGV0ZSBuZXh0LnJlYWRpbmVzc1Byb2JlO1xuICAgIGRlbGV0ZSBuZXh0LnN0YXJ0dXBQcm9iZTtcbiAgICAvLyDlia/mnKzkuI3ov5DooYzljp/kuJrliqHov5vnqIvvvIxwb3N0U3RhcnQg6YeM562J5bqU55So5bCx57uq55qE6ISa5pys5oiW5Zue6LCD5b+F54S25aSx6LSl77yMXG4gICAgLy8g6ICMIHBvc3RTdGFydCDlpLHotKXkvJrorqkga3ViZWxldCDnm7TmjqXmnYDmjonlrrnlmahcbiAgICBkZWxldGUgbmV4dC5saWZlY3ljbGU7XG4gICAgcmV0dXJuIG5leHQ7XG4gIH0pO1xuXG4gIHJldHVybiBjb3B5O1xufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './code-editor-config';
|
|
2
2
|
export * from './constants';
|
|
3
3
|
export * from './crd';
|
|
4
|
+
export * from './debug-copy';
|
|
4
5
|
export * from './format-number';
|
|
5
6
|
export * from './helpers';
|
|
6
7
|
export * from './k8s-util.service';
|
|
@@ -11,4 +12,4 @@ export * from './resources-config-util';
|
|
|
11
12
|
export * from './status';
|
|
12
13
|
export * from './validator';
|
|
13
14
|
export * from './workspace';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3dvcmtsb2FkL3V0aWwtc2hhcmVkL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb2RlLWVkaXRvci1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWJ1Zy1jb3B5JztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LW51bWJlcic7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9rOHMtdXRpbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0dGVybnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wb2QtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc291cmNlLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc291cmNlcy1jb25maWctdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtzcGFjZSc7XG4iXX0=
|
|
@@ -113,13 +113,13 @@ export const PHONE_PATTERN = {
|
|
|
113
113
|
tip: 'phone_format_limit',
|
|
114
114
|
};
|
|
115
115
|
export const PUBLIC_KEY_PATTERN = {
|
|
116
|
-
pattern: /^(-{5}BEGIN CERTIFICATE-{5}[\d\n+/=A-Za-z]*-{5}END CERTIFICATE-{5}\n*)+$/,
|
|
116
|
+
pattern: /^(-{5}BEGIN CERTIFICATE-{5}[\d\r\n+/=A-Za-z]*-{5}END CERTIFICATE-{5}\r?\n*)+$/,
|
|
117
117
|
placeholder: `-----BEGIN CERTIFICATE-----
|
|
118
118
|
MIIDLjCCAhYCCQDAOF9tLsaXWjANBgkqhkiG9w0BAQsFADBaM
|
|
119
119
|
-----END CERTIFICATE-----`,
|
|
120
120
|
};
|
|
121
121
|
export const PRIVATE_KEY_PATTERN = {
|
|
122
|
-
pattern: /^(-{5}BEGIN (RSA |EC |DSA )?PRIVATE KEY-{5}[\d\n+/=A-Za-z]*-{5}END \2PRIVATE KEY-{5}\n*)+$/,
|
|
122
|
+
pattern: /^(-{5}BEGIN (RSA |EC |DSA )?PRIVATE KEY-{5}[\d\r\n+/=A-Za-z]*-{5}END \2PRIVATE KEY-{5}\r?\n*)+$/,
|
|
123
123
|
placeholder: '',
|
|
124
124
|
};
|
|
125
125
|
export const STRONG_PASSWORD_PATTERN = {
|
|
@@ -139,4 +139,4 @@ export const PATCH_PATH_PATTERN = {
|
|
|
139
139
|
pattern: /^\/.*/,
|
|
140
140
|
tip: 'oam_patch_path_pattern',
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3dvcmtsb2FkL3V0aWwtc2hhcmVkL3NyYy9saWIvdXRpbHMvcGF0dGVybnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLDhCQUE4QjtJQUN2QyxHQUFHLEVBQUUsbUNBQW1DO0NBQ3pDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMxQyxPQUFPLEVBQUUsNkRBQTZEO0lBQ3RFLEdBQUcsRUFBRSxvQ0FBb0M7Q0FDMUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsR0FBRyxFQUFFLDhCQUE4QjtDQUNwQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDbkMsT0FBTyxFQUFFLHNCQUFzQjtJQUMvQixHQUFHLEVBQUUsa0NBQWtDO0NBQ3hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsT0FBTyxFQUNMLDRKQUE0SjtJQUM5SixHQUFHLEVBQUUsa0JBQWtCO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLGlCQUFpQjtDQUN2QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDbEMsT0FBTyxFQUFFLFlBQVk7SUFDckIsR0FBRyxFQUFFLDBCQUEwQjtDQUNoQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsT0FBTyxFQUNMLG9JQUFvSTtJQUN0SSxHQUFHLEVBQUUsMEJBQTBCO0NBQ2hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRztJ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R0FBRztJQUMzQixPQUFPLEVBQ0wsMklBQTJJO0lBQzdJLEdBQUcsRUFBRSxvQkFBb0I7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixPQUFPLEVBQUUsZUFBZTtJQUN4QixHQUFHLEVBQUUsb0JBQW9CO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxPQUFPLEVBQ0wsMEVBQTBFO0lBQzVFLFdBQVcsRUFBRTs7MEJBRVc7Q0FDekIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLE9BQU8sRUFDTCw0RkFBNEY7SUFDOUYsV0FBVyxFQUFFLEVBQUU7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ3JDLE9BQU8sRUFDTCw4RUFBOEU7SUFDaEYsR0FBRyxFQUFFLDRCQUE0QjtDQUNsQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDekMsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixHQUFHLEVBQUUsaUNBQWlDO0NBQ3ZDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QywyQkFBMkI7SUFDM0IsT0FBTyxFQUFFLDBDQUEwQztJQUNuRCxHQUFHLEVBQUUsRUFBRTtDQUNSLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxPQUFPLEVBQUUsT0FBTztJQUNoQixHQUFHLEVBQUUsd0JBQXdCO0NBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgSzhTX1JFU09VUkNFX05BTUVfQkFTRSA9IHtcbiAgcGF0dGVybjogL15bXFxkYS16XShbXFxkYS16LV0qW1xcZGEtel0pPyQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2s4c19yZXNvdXJjZV9uYW1lX2Jhc2UnLFxufTtcblxuZXhwb3J0IGNvbnN0IExPT1NFX0s4U19SRVNPVVJDRV9OQU1FX0JBU0UgPSB7XG4gIHBhdHRlcm46IC9eW1xcZGEtel0oW1xcZGEtei1dKltcXGRhLXpdKT8oXFwuW1xcZGEtel0oW1xcZGEtei1dKltcXGRhLXpdKT8pKiQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2s4c19yZXNvdXJjZV9uYW1lX2xvb3NlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBLOFNfQ09ORklHTUFQX0tFWSA9IHtcbiAgcGF0dGVybjogL15bXFx3LV1bXFx3Li1dKiQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2s4c19jb25maWdtYXBfa2V5Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBLOFNfRU5WX1ZBUklBQkxFX05BTUUgPSB7XG4gIHBhdHRlcm46IC9eWy5BLVpfYS16LV1bXFx3Li1dKiQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2s4c19lbnZfdmFyaWFibGVfbmFtZScsXG59O1xuXG5leHBvcnQgY29uc3QgR0lUX1VSTF9QQVRURVJOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eKCgoKHNzaHxnaXR8aHR0cHM/Oj8pOlxcL1xcLzo/KSgoW15cXHNAXStAfFteQF06PylbLVxcdy5dKyg6XFxkezIsfTo/KT8oXFwvWy1cXHcufi8/W1xcXSEkJicoKSorLDs9OkAlXSopPzo/KSl8KFteXFxzQF0rQFstXFx3Ll0rOlstXFx3Ln4vP1tcXF0hJCYnKCkqKyw7PTpAJV0qPzo/KSkkLyxcbiAgdGlwOiAnZ2l0X3VybF92YWxpZGF0ZScsXG59O1xuXG5leHBvcnQgY29uc3QgSU5UX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eLT9cXGQrJC8sXG4gIHRpcDogJ2ludGVnZXJfcGF0dGVybicsXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJVkVfSU5UX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eWzEtOV1cXGQqJC8sXG4gIHRpcDogJ3Bvc2l0aXZlX2ludGVnZXJfcGF0dGVybicsXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJVkVfSU5UXzMyX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46XG4gICAgL14oXFxkezEsOX18MVxcZHs5fXwyKDBcXGR7OH18MShbMC0zXVxcZHs3fXw0KFswLTZdXFxkezZ9fDcoWzAtM11cXGR7NX18NChbMC03XVxcZHs0fXw4KFswLTJdXFxkezN9fDMoWzAtNV1cXGR7Mn18NihbMC0zXVxcZHw0WzAtN10pKSkpKSkpKSkkLyxcbiAgdGlwOiAncG9zaXRpdmVfaW50ZWdlcl9wYXR0ZXJuJyxcbn07XG5cbmV4cG9ydCBjb25zdCBQT1NJVElWRV9OVU1CRVJfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogL14oWzEtOV1cXGQqXFwuP3wwXFwuKVxcZCokLyxcbiAgdGlwOiAncmVnZXhwX3RpcF9wb3NpdGl2ZV9udW1iZXJfcGF0dGVybicsXG59O1xuXG5leHBvcnQgY29uc3QgTkFUVVJBTF9OVU1CRVJfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogL15cXGQrJC8sXG4gIHRpcDogJ25hdHVyYWxfbnVtYmVyX3BhdHRlcm4nLFxufTtcblxuZXhwb3J0IGNvbnN0IEFVVE9fU0NBTEVSX0NPT0xfVElNRV9QQVRURVJOID0ge1xuICBwYXR0ZXJuOiAvXihcXGR8WzEtOV1cXGR8WzEtOV1cXGRcXGR8WzEyXVxcZFxcZFxcZHwzWzAtNV1cXGRcXGR8KDM2MDApKSQvLFxuICB0aXA6ICduYXR1cmFsX251bWJlcl9sZXNzX3RoYW5fMzYwMCcsXG4gIGVycm9yOiAnbmF0dXJhbF9udW1iZXJfbGVzc190aGFuXzM2MDBfZXJyb3InLFxufTtcblxuZXhwb3J0IGNvbnN0IFJFR0lTVFJZX1BBVEggPSB7XG4gIHBhdHRlcm46IC9eW1xcZGEtel0oW1xcZC5fYS16LV0qW1xcZGEtel0pPyQvLFxuICB0aXA6ICdyZWdpc3RyeV9wYXRoX3J1bGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IElOR1JFU1NfUEFUSF9QQVRURVJOID0ge1xuICBwYXR0ZXJuOiAvXlxcLy4qLyxcbiAgdGlwOiAnaW5ncmVzc19wYXRoX3BhdHRlcm4nLFxufTtcblxuY29uc3QgSVBfUEFUVEVSTl9CQVNFID1cbiAgJ14oPzooPzoyNVswLTVdfDJbMC00XVxcXFxkfFswMV0/XFxcXGR7MSwyfSlcXFxcLil7M30oPzoyNVswLTVdfDJbMC00XVxcXFxkfFswMV0/XFxcXGR7MSwyfSkkJztcblxuZXhwb3J0IGNvbnN0IElQX0FERFJFU1NfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogbmV3IFJlZ0V4cChJUF9QQVRURVJOX0JBU0UpLFxuICB0aXA6ICdyZWdleHBfdGlwX2lwX2FkZHJlc3MnLFxufTtcblxuY29uc3QgSVBfVjZfQUREUkVTU19CQVNFID1cbiAgJ14oKFswLTlhLWZBLUZdezEsNH06KXs3fVswLTlhLWZBLUZdezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDd9OnwoWzAtOWEtZkEtRl17MSw0fTopezEsNn06WzAtOWEtZkEtRl17MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsNX0oOlswLTlhLWZBLUZdezEsNH0pezEsMn18KFswLTlhLWZBLUZdezEsNH06KXsxLDR9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDN9fChbMC05YS1mQS1GXXsxLDR9Oil7MSwzfSg6WzAtOWEtZkEtRl17MSw0fSl7MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsMn0oOlswLTlhLWZBLUZdezEsNH0pezEsNX18WzAtOWEtZkEtRl17MSw0fTooKDpbMC05YS1mQS1GXXsxLDR9KXsxLDZ9KXw6KCg6WzAtOWEtZkEtRl17MSw0fSl7MSw3fXw6KXxmZTgwOig6WzAtOWEtZkEtRl17MCw0fSl7MCw0fSVbMC05YS16QS1aXSt8OjooZmZmZig6MHsxLDR9KT86KT8oKDI1WzAtNV18KDJbMC00XXwxP1swLTldKT9bMC05XSkuKXszfSgyNVswLTVdfCgyWzAtNF18MT9bMC05XSk/WzAtOV0pfChbMC05YS1mQS1GXXsxLDR9Oil7MSw0fTooKDI1WzAtNV18KDJbMC00XXwxP1swLTldKT9bMC05XSkuKXszfSgyNVswLTVdfCgyWzAtNF18MT9bMC05XSk/WzAtOV0pKSQnO1xuXG5leHBvcnQgY29uc3QgSVBfVjZfQUREUkVTU19QQVRURVJOID0ge1xuICBwYXR0ZXJuOiBuZXcgUmVnRXhwKElQX1Y2X0FERFJFU1NfQkFTRSksXG59O1xuXG5leHBvcnQgY29uc3QgSVBfVjRfT1JfVjZfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogbmV3IFJlZ0V4cChgKCR7SVBfUEFUVEVSTl9CQVNFfSl8KCR7SVBfVjZfQUREUkVTU19CQVNFfSlgKSxcbn07XG5cbmV4cG9ydCBjb25zdCBJUF9BRERSRVNTX1BPUlRfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogbmV3IFJlZ0V4cChgJHtJUF9QQVRURVJOX0JBU0Uuc2xpY2UoMCwgLTEpfSg/OjpcXFxcZCspPyRgKSxcbiAgdGlwOiAncmVnZXhwX3RpcF9pcF9hZGRyZXNzJyxcbn07XG5cbmV4cG9ydCBjb25zdCBUQ1BfQUREUkVTU19QQVRURVJOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eKD86KD86WzEtOV0/XFxkfDFcXGR7Mn18MlswLTRdXFxkfDI1WzAtNV0pXFwuKXszfSg/OlsxLTldP1xcZHwxXFxkezJ9fDJbMC00XVxcZHwyNVswLTVdKTpcXGQrJC8sXG4gIHRpcDogJ2lucHV0X3RjcF9wbGFjZWhvbGRlcicsXG59O1xuXG5leHBvcnQgY29uc3QgQ0lEUl9JUF9QQVRURVJOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eKCgyKDVbMC01XXxbMC00XVxcZCkpfDFcXGR7Mn18WzEtOV1cXGR8XFxkKShcXC4oKCgyKDVbMC01XXxbMC00XVxcZCkpfDFcXGR7MSwyfXxbMS05XVxcZHxcXGQpKSl7M30kLyxcbn07XG5cbmV4cG9ydCBjb25zdCBDSURSX0ZVTExfUEFUVEVOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eKCgyKDVbMC01XXxbMC00XVxcZCkpfDFcXGR7Mn18WzEtOV1cXGR8XFxkKShcXC4oKCgyKDVbMC01XXxbMC00XVxcZCkpfDFcXGR7MSwyfXxbMS05XVxcZHxcXGQpKSl7M30oXFwvKFxcZHxbMTJdXFxkfDNbMC0yXSkpJC8sXG4gIHRpcDogJ3JlZ2V4cF9jaWRyX3BhdHRlcm4nLFxufTtcblxuZXhwb3J0IGNvbnN0IENJRFJfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjpcbiAgICAvXigoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezJ9fFsxLTldXFxkfFxcZCkoXFwuKCgoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezEsMn18WzEtOV1cXGR8XFxkKSkpezN9KFxcLyhcXGR8WzEyXVxcZHwzWzAtMl0pKT8kLyxcbiAgdGlwOiAncmVnZXhwX2NpZHJfcGF0dGVybicsXG59O1xuXG5leHBvcnQgY29uc3QgUkVTRVJWRURfSVBfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjpcbiAgICAvXigoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezJ9fFsxLTldXFxkfFxcZCkoXFwuKCgoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezEsMn18WzEtOV1cXGR8XFxkKSkpezN9KFxcLlxcLigoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezJ9fFsxLTldXFxkfFxcZCkoXFwuKCgoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezEsMn18WzEtOV1cXGR8XFxkKSkpezN9KT8kLyxcbn07XG5cbmV4cG9ydCBjb25zdCBSRVNFUlZFRF9JUF9TRUdNRU5UX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46XG4gICAgL14oKDIoNVswLTVdfFswLTRdXFxkKSl8MVxcZHsyfXxbMS05XVxcZHxcXGQpKFxcLigoKDIoNVswLTVdfFswLTRdXFxkKSl8MVxcZHsxLDJ9fFsxLTldXFxkfFxcZCkpKXszfShcXC5cXC4oKDIoNVswLTVdfFswLTRdXFxkKSl8MVxcZHsyfXxbMS05XVxcZHxcXGQpKFxcLigoKDIoNVswLTVdfFswLTRdXFxkKSl8MVxcZHsxLDJ9fFsxLTldXFxkfFxcZCkpKXszfSkkLyxcbn07XG5cbmV4cG9ydCBjb25zdCBDVVNUT01fQUxBUk1fTkFNRV9CQVNFID0ge1xuICBwYXR0ZXJuOiAvXltcXGRhLXpdKFtcXGQuYS16XSpbXFxkYS16XSk/JC8sXG4gIHRpcDogJ2N1c3RvbV9hbGVydF9uYW1lX3BsYWNlaG9sZGVyJyxcbn07XG5cbmV4cG9ydCBjb25zdCBBTEFSTV9MQUJFTF9LRVlfTkFNRV9QQVRURVJOID0ge1xuICBwYXR0ZXJuOiAvXltBLVpfYS16XVxcdyokLyxcbiAgdGlwOiAncmVnZXhwX3RpcF9hbGVydF9sYWJlbF9rZXlfbmFtZScsXG59O1xuXG5leHBvcnQgY29uc3QgQUxBUk1fVEhSRVNIT0xEX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eKD8hMFxcZClcXGR7MCwxN30oXFwuXFxkezEsNH0pPyQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2FsZXJ0X3RocmVzaG9sZCcsXG59O1xuXG5leHBvcnQgY29uc3QgQUxBUk1fTUVUUklDX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eW1xcdTAwMjAtXFx1MDA3RV0qJC8sXG4gIHRpcDogJ3JlZ2V4cF90aXBfYWxlcnRfbWV0cmljJyxcbn07XG5cbmV4cG9ydCBjb25zdCBFTUFJTF9QQVRURVJOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eW1xcdyEjJCUmJyorLz0/XmB7fH1+LV0rKD86XFwuW1xcdyEjJCUmJyorLz0/XmB7fH1+LV0rKSpAKD86W1xcZEEtWmEtel0oPzpbXFxkQS1aYS16LV0qW1xcZEEtWmEtel0pP1xcLikrW1xcZEEtWmEtel0oPzpbXFxkQS1aYS16LV0qW1xcZEEtWmEtel0pPyQvLFxuICB0aXA6ICdlbWFpbF9mb3JtYXRfbGltaXQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFBIT05FX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eXFwrP1xcZHs3LDE1fSQvLFxuICB0aXA6ICdwaG9uZV9mb3JtYXRfbGltaXQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFBVQkxJQ19LRVlfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjpcbiAgICAvXigtezV9QkVHSU4gQ0VSVElGSUNBVEUtezV9W1xcZFxcbisvPUEtWmEtel0qLXs1fUVORCBDRVJUSUZJQ0FURS17NX1cXG4qKSskLyxcbiAgcGxhY2Vob2xkZXI6IGAtLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cbk1JSURMakNDQWhZQ0NRREFPRjl0THNhWFdqQU5CZ2txaGtpRzl3MEJBUXNGQURCYU1cbi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS1gLFxufTtcblxuZXhwb3J0IGNvbnN0IFBSSVZBVEVfS0VZX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46XG4gICAgL14oLXs1fUJFR0lOIChSU0EgfEVDIHxEU0EgKT9QUklWQVRFIEtFWS17NX1bXFxkXFxuKy89QS1aYS16XSotezV9RU5EIFxcMlBSSVZBVEUgS0VZLXs1fVxcbiopKyQvLFxuICBwbGFjZWhvbGRlcjogJycsXG59O1xuXG5leHBvcnQgY29uc3QgU1RST05HX1BBU1NXT1JEX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46XG4gICAgL14oPyFcXC8pKD89LipbQS1aYS16XSkoPz0uKlxcZCkoPz0uKlshIyQlJicoKSorLC4vOjs8PT4/QFtcXF1eX2B7fH1+LV0pLns4LDMwfSQvLFxuICB0aXA6ICdyZWdleHBfdGlwX3N0cm9uZ19wYXNzd29yZCcsXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJVkVfUEVSQ0VOVEFHRV9QQVRURVJOID0ge1xuICBwYXR0ZXJuOiAvXihbMS05XVxcZD98MTAwKSQvLFxuICB0aXA6ICdyZWdleHBfcG9zaXRpdmVfcGVyY2VudGFnZV90aXBzJyxcbn07XG5cbmV4cG9ydCBjb25zdCBDVVNUT01fSU5ESUNBVE9SX1BBVFRFUk4gPSB7XG4gIC8vIGNzcGVsbDpkaXNhYmxlLW5leHQtbGluZVxuICBwYXR0ZXJuOiAvXihbKy1dP1tcXGQuXSspKFtFR0tNUFRlaWttbnVdKlsrLV0/XFxkKikkLyxcbiAgdGlwOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBQQVRDSF9QQVRIX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eXFwvLiovLFxuICB0aXA6ICdvYW1fcGF0Y2hfcGF0aF9wYXR0ZXJuJyxcbn07XG4iXX0=
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3dvcmtsb2FkL3V0aWwtc2hhcmVkL3NyYy9saWIvdXRpbHMvcGF0dGVybnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLDhCQUE4QjtJQUN2QyxHQUFHLEVBQUUsbUNBQW1DO0NBQ3pDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMxQyxPQUFPLEVBQUUsNkRBQTZEO0lBQ3RFLEdBQUcsRUFBRSxvQ0FBb0M7Q0FDMUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsR0FBRyxFQUFFLDhCQUE4QjtDQUNwQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDbkMsT0FBTyxFQUFFLHNCQUFzQjtJQUMvQixHQUFHLEVBQUUsa0NBQWtDO0NBQ3hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsT0FBTyxFQUNMLDRKQUE0SjtJQUM5SixHQUFHLEVBQUUsa0JBQWtCO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLGlCQUFpQjtDQUN2QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDbEMsT0FBTyxFQUFFLFlBQVk7SUFDckIsR0FBRyxFQUFFLDBCQUEwQjtDQUNoQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsT0FBTyxFQUNMLG9JQUFvSTtJQUN0SSxHQUFHLEVBQUUsMEJBQTBCO0NBQ2hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRztJ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R0FBRztJQUMzQixPQUFPLEVBQ0wsMklBQTJJO0lBQzdJLEdBQUcsRUFBRSxvQkFBb0I7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixPQUFPLEVBQUUsZUFBZTtJQUN4QixHQUFHLEVBQUUsb0JBQW9CO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxPQUFPLEVBQ0wsK0VBQStFO0lBQ2pGLFdBQVcsRUFBRTs7MEJBRVc7Q0FDekIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLE9BQU8sRUFDTCxpR0FBaUc7SUFDbkcsV0FBVyxFQUFFLEVBQUU7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ3JDLE9BQU8sRUFDTCw4RUFBOEU7SUFDaEYsR0FBRyxFQUFFLDRCQUE0QjtDQUNsQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDekMsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixHQUFHLEVBQUUsaUNBQWlDO0NBQ3ZDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QywyQkFBMkI7SUFDM0IsT0FBTyxFQUFFLDBDQUEwQztJQUNuRCxHQUFHLEVBQUUsRUFBRTtDQUNSLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxPQUFPLEVBQUUsT0FBTztJQUNoQixHQUFHLEVBQUUsd0JBQXdCO0NBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgSzhTX1JFU09VUkNFX05BTUVfQkFTRSA9IHtcbiAgcGF0dGVybjogL15bXFxkYS16XShbXFxkYS16LV0qW1xcZGEtel0pPyQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2s4c19yZXNvdXJjZV9uYW1lX2Jhc2UnLFxufTtcblxuZXhwb3J0IGNvbnN0IExPT1NFX0s4U19SRVNPVVJDRV9OQU1FX0JBU0UgPSB7XG4gIHBhdHRlcm46IC9eW1xcZGEtel0oW1xcZGEtei1dKltcXGRhLXpdKT8oXFwuW1xcZGEtel0oW1xcZGEtei1dKltcXGRhLXpdKT8pKiQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2s4c19yZXNvdXJjZV9uYW1lX2xvb3NlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBLOFNfQ09ORklHTUFQX0tFWSA9IHtcbiAgcGF0dGVybjogL15bXFx3LV1bXFx3Li1dKiQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2s4c19jb25maWdtYXBfa2V5Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBLOFNfRU5WX1ZBUklBQkxFX05BTUUgPSB7XG4gIHBhdHRlcm46IC9eWy5BLVpfYS16LV1bXFx3Li1dKiQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2s4c19lbnZfdmFyaWFibGVfbmFtZScsXG59O1xuXG5leHBvcnQgY29uc3QgR0lUX1VSTF9QQVRURVJOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eKCgoKHNzaHxnaXR8aHR0cHM/Oj8pOlxcL1xcLzo/KSgoW15cXHNAXStAfFteQF06PylbLVxcdy5dKyg6XFxkezIsfTo/KT8oXFwvWy1cXHcufi8/W1xcXSEkJicoKSorLDs9OkAlXSopPzo/KSl8KFteXFxzQF0rQFstXFx3Ll0rOlstXFx3Ln4vP1tcXF0hJCYnKCkqKyw7PTpAJV0qPzo/KSkkLyxcbiAgdGlwOiAnZ2l0X3VybF92YWxpZGF0ZScsXG59O1xuXG5leHBvcnQgY29uc3QgSU5UX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eLT9cXGQrJC8sXG4gIHRpcDogJ2ludGVnZXJfcGF0dGVybicsXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJVkVfSU5UX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eWzEtOV1cXGQqJC8sXG4gIHRpcDogJ3Bvc2l0aXZlX2ludGVnZXJfcGF0dGVybicsXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJVkVfSU5UXzMyX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46XG4gICAgL14oXFxkezEsOX18MVxcZHs5fXwyKDBcXGR7OH18MShbMC0zXVxcZHs3fXw0KFswLTZdXFxkezZ9fDcoWzAtM11cXGR7NX18NChbMC03XVxcZHs0fXw4KFswLTJdXFxkezN9fDMoWzAtNV1cXGR7Mn18NihbMC0zXVxcZHw0WzAtN10pKSkpKSkpKSkkLyxcbiAgdGlwOiAncG9zaXRpdmVfaW50ZWdlcl9wYXR0ZXJuJyxcbn07XG5cbmV4cG9ydCBjb25zdCBQT1NJVElWRV9OVU1CRVJfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogL14oWzEtOV1cXGQqXFwuP3wwXFwuKVxcZCokLyxcbiAgdGlwOiAncmVnZXhwX3RpcF9wb3NpdGl2ZV9udW1iZXJfcGF0dGVybicsXG59O1xuXG5leHBvcnQgY29uc3QgTkFUVVJBTF9OVU1CRVJfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogL15cXGQrJC8sXG4gIHRpcDogJ25hdHVyYWxfbnVtYmVyX3BhdHRlcm4nLFxufTtcblxuZXhwb3J0IGNvbnN0IEFVVE9fU0NBTEVSX0NPT0xfVElNRV9QQVRURVJOID0ge1xuICBwYXR0ZXJuOiAvXihcXGR8WzEtOV1cXGR8WzEtOV1cXGRcXGR8WzEyXVxcZFxcZFxcZHwzWzAtNV1cXGRcXGR8KDM2MDApKSQvLFxuICB0aXA6ICduYXR1cmFsX251bWJlcl9sZXNzX3RoYW5fMzYwMCcsXG4gIGVycm9yOiAnbmF0dXJhbF9udW1iZXJfbGVzc190aGFuXzM2MDBfZXJyb3InLFxufTtcblxuZXhwb3J0IGNvbnN0IFJFR0lTVFJZX1BBVEggPSB7XG4gIHBhdHRlcm46IC9eW1xcZGEtel0oW1xcZC5fYS16LV0qW1xcZGEtel0pPyQvLFxuICB0aXA6ICdyZWdpc3RyeV9wYXRoX3J1bGUnLFxufTtcblxuZXhwb3J0IGNvbnN0IElOR1JFU1NfUEFUSF9QQVRURVJOID0ge1xuICBwYXR0ZXJuOiAvXlxcLy4qLyxcbiAgdGlwOiAnaW5ncmVzc19wYXRoX3BhdHRlcm4nLFxufTtcblxuY29uc3QgSVBfUEFUVEVSTl9CQVNFID1cbiAgJ14oPzooPzoyNVswLTVdfDJbMC00XVxcXFxkfFswMV0/XFxcXGR7MSwyfSlcXFxcLil7M30oPzoyNVswLTVdfDJbMC00XVxcXFxkfFswMV0/XFxcXGR7MSwyfSkkJztcblxuZXhwb3J0IGNvbnN0IElQX0FERFJFU1NfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogbmV3IFJlZ0V4cChJUF9QQVRURVJOX0JBU0UpLFxuICB0aXA6ICdyZWdleHBfdGlwX2lwX2FkZHJlc3MnLFxufTtcblxuY29uc3QgSVBfVjZfQUREUkVTU19CQVNFID1cbiAgJ14oKFswLTlhLWZBLUZdezEsNH06KXs3fVswLTlhLWZBLUZdezEsNH18KFswLTlhLWZBLUZdezEsNH06KXsxLDd9OnwoWzAtOWEtZkEtRl17MSw0fTopezEsNn06WzAtOWEtZkEtRl17MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsNX0oOlswLTlhLWZBLUZdezEsNH0pezEsMn18KFswLTlhLWZBLUZdezEsNH06KXsxLDR9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDN9fChbMC05YS1mQS1GXXsxLDR9Oil7MSwzfSg6WzAtOWEtZkEtRl17MSw0fSl7MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsMn0oOlswLTlhLWZBLUZdezEsNH0pezEsNX18WzAtOWEtZkEtRl17MSw0fTooKDpbMC05YS1mQS1GXXsxLDR9KXsxLDZ9KXw6KCg6WzAtOWEtZkEtRl17MSw0fSl7MSw3fXw6KXxmZTgwOig6WzAtOWEtZkEtRl17MCw0fSl7MCw0fSVbMC05YS16QS1aXSt8OjooZmZmZig6MHsxLDR9KT86KT8oKDI1WzAtNV18KDJbMC00XXwxP1swLTldKT9bMC05XSkuKXszfSgyNVswLTVdfCgyWzAtNF18MT9bMC05XSk/WzAtOV0pfChbMC05YS1mQS1GXXsxLDR9Oil7MSw0fTooKDI1WzAtNV18KDJbMC00XXwxP1swLTldKT9bMC05XSkuKXszfSgyNVswLTVdfCgyWzAtNF18MT9bMC05XSk/WzAtOV0pKSQnO1xuXG5leHBvcnQgY29uc3QgSVBfVjZfQUREUkVTU19QQVRURVJOID0ge1xuICBwYXR0ZXJuOiBuZXcgUmVnRXhwKElQX1Y2X0FERFJFU1NfQkFTRSksXG59O1xuXG5leHBvcnQgY29uc3QgSVBfVjRfT1JfVjZfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogbmV3IFJlZ0V4cChgKCR7SVBfUEFUVEVSTl9CQVNFfSl8KCR7SVBfVjZfQUREUkVTU19CQVNFfSlgKSxcbn07XG5cbmV4cG9ydCBjb25zdCBJUF9BRERSRVNTX1BPUlRfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogbmV3IFJlZ0V4cChgJHtJUF9QQVRURVJOX0JBU0Uuc2xpY2UoMCwgLTEpfSg/OjpcXFxcZCspPyRgKSxcbiAgdGlwOiAncmVnZXhwX3RpcF9pcF9hZGRyZXNzJyxcbn07XG5cbmV4cG9ydCBjb25zdCBUQ1BfQUREUkVTU19QQVRURVJOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eKD86KD86WzEtOV0/XFxkfDFcXGR7Mn18MlswLTRdXFxkfDI1WzAtNV0pXFwuKXszfSg/OlsxLTldP1xcZHwxXFxkezJ9fDJbMC00XVxcZHwyNVswLTVdKTpcXGQrJC8sXG4gIHRpcDogJ2lucHV0X3RjcF9wbGFjZWhvbGRlcicsXG59O1xuXG5leHBvcnQgY29uc3QgQ0lEUl9JUF9QQVRURVJOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eKCgyKDVbMC01XXxbMC00XVxcZCkpfDFcXGR7Mn18WzEtOV1cXGR8XFxkKShcXC4oKCgyKDVbMC01XXxbMC00XVxcZCkpfDFcXGR7MSwyfXxbMS05XVxcZHxcXGQpKSl7M30kLyxcbn07XG5cbmV4cG9ydCBjb25zdCBDSURSX0ZVTExfUEFUVEVOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eKCgyKDVbMC01XXxbMC00XVxcZCkpfDFcXGR7Mn18WzEtOV1cXGR8XFxkKShcXC4oKCgyKDVbMC01XXxbMC00XVxcZCkpfDFcXGR7MSwyfXxbMS05XVxcZHxcXGQpKSl7M30oXFwvKFxcZHxbMTJdXFxkfDNbMC0yXSkpJC8sXG4gIHRpcDogJ3JlZ2V4cF9jaWRyX3BhdHRlcm4nLFxufTtcblxuZXhwb3J0IGNvbnN0IENJRFJfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjpcbiAgICAvXigoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezJ9fFsxLTldXFxkfFxcZCkoXFwuKCgoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezEsMn18WzEtOV1cXGR8XFxkKSkpezN9KFxcLyhcXGR8WzEyXVxcZHwzWzAtMl0pKT8kLyxcbiAgdGlwOiAncmVnZXhwX2NpZHJfcGF0dGVybicsXG59O1xuXG5leHBvcnQgY29uc3QgUkVTRVJWRURfSVBfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjpcbiAgICAvXigoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezJ9fFsxLTldXFxkfFxcZCkoXFwuKCgoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezEsMn18WzEtOV1cXGR8XFxkKSkpezN9KFxcLlxcLigoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezJ9fFsxLTldXFxkfFxcZCkoXFwuKCgoMig1WzAtNV18WzAtNF1cXGQpKXwxXFxkezEsMn18WzEtOV1cXGR8XFxkKSkpezN9KT8kLyxcbn07XG5cbmV4cG9ydCBjb25zdCBSRVNFUlZFRF9JUF9TRUdNRU5UX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46XG4gICAgL14oKDIoNVswLTVdfFswLTRdXFxkKSl8MVxcZHsyfXxbMS05XVxcZHxcXGQpKFxcLigoKDIoNVswLTVdfFswLTRdXFxkKSl8MVxcZHsxLDJ9fFsxLTldXFxkfFxcZCkpKXszfShcXC5cXC4oKDIoNVswLTVdfFswLTRdXFxkKSl8MVxcZHsyfXxbMS05XVxcZHxcXGQpKFxcLigoKDIoNVswLTVdfFswLTRdXFxkKSl8MVxcZHsxLDJ9fFsxLTldXFxkfFxcZCkpKXszfSkkLyxcbn07XG5cbmV4cG9ydCBjb25zdCBDVVNUT01fQUxBUk1fTkFNRV9CQVNFID0ge1xuICBwYXR0ZXJuOiAvXltcXGRhLXpdKFtcXGQuYS16XSpbXFxkYS16XSk/JC8sXG4gIHRpcDogJ2N1c3RvbV9hbGVydF9uYW1lX3BsYWNlaG9sZGVyJyxcbn07XG5cbmV4cG9ydCBjb25zdCBBTEFSTV9MQUJFTF9LRVlfTkFNRV9QQVRURVJOID0ge1xuICBwYXR0ZXJuOiAvXltBLVpfYS16XVxcdyokLyxcbiAgdGlwOiAncmVnZXhwX3RpcF9hbGVydF9sYWJlbF9rZXlfbmFtZScsXG59O1xuXG5leHBvcnQgY29uc3QgQUxBUk1fVEhSRVNIT0xEX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eKD8hMFxcZClcXGR7MCwxN30oXFwuXFxkezEsNH0pPyQvLFxuICB0aXA6ICdyZWdleHBfdGlwX2FsZXJ0X3RocmVzaG9sZCcsXG59O1xuXG5leHBvcnQgY29uc3QgQUxBUk1fTUVUUklDX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eW1xcdTAwMjAtXFx1MDA3RV0qJC8sXG4gIHRpcDogJ3JlZ2V4cF90aXBfYWxlcnRfbWV0cmljJyxcbn07XG5cbmV4cG9ydCBjb25zdCBFTUFJTF9QQVRURVJOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eW1xcdyEjJCUmJyorLz0/XmB7fH1+LV0rKD86XFwuW1xcdyEjJCUmJyorLz0/XmB7fH1+LV0rKSpAKD86W1xcZEEtWmEtel0oPzpbXFxkQS1aYS16LV0qW1xcZEEtWmEtel0pP1xcLikrW1xcZEEtWmEtel0oPzpbXFxkQS1aYS16LV0qW1xcZEEtWmEtel0pPyQvLFxuICB0aXA6ICdlbWFpbF9mb3JtYXRfbGltaXQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFBIT05FX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eXFwrP1xcZHs3LDE1fSQvLFxuICB0aXA6ICdwaG9uZV9mb3JtYXRfbGltaXQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFBVQkxJQ19LRVlfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjpcbiAgICAvXigtezV9QkVHSU4gQ0VSVElGSUNBVEUtezV9W1xcZFxcclxcbisvPUEtWmEtel0qLXs1fUVORCBDRVJUSUZJQ0FURS17NX1cXHI/XFxuKikrJC8sXG4gIHBsYWNlaG9sZGVyOiBgLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tXG5NSUlETGpDQ0FoWUNDUURBT0Y5dExzYVhXakFOQmdrcWhraUc5dzBCQVFzRkFEQmFNXG4tLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tYCxcbn07XG5cbmV4cG9ydCBjb25zdCBQUklWQVRFX0tFWV9QQVRURVJOID0ge1xuICBwYXR0ZXJuOlxuICAgIC9eKC17NX1CRUdJTiAoUlNBIHxFQyB8RFNBICk/UFJJVkFURSBLRVktezV9W1xcZFxcclxcbisvPUEtWmEtel0qLXs1fUVORCBcXDJQUklWQVRFIEtFWS17NX1cXHI/XFxuKikrJC8sXG4gIHBsYWNlaG9sZGVyOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBTVFJPTkdfUEFTU1dPUkRfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjpcbiAgICAvXig/IVxcLykoPz0uKltBLVphLXpdKSg/PS4qXFxkKSg/PS4qWyEjJCUmJygpKissLi86Ozw9Pj9AW1xcXV5fYHt8fX4tXSkuezgsMzB9JC8sXG4gIHRpcDogJ3JlZ2V4cF90aXBfc3Ryb25nX3Bhc3N3b3JkJyxcbn07XG5cbmV4cG9ydCBjb25zdCBQT1NJVElWRV9QRVJDRU5UQUdFX1BBVFRFUk4gPSB7XG4gIHBhdHRlcm46IC9eKFsxLTldXFxkP3wxMDApJC8sXG4gIHRpcDogJ3JlZ2V4cF9wb3NpdGl2ZV9wZXJjZW50YWdlX3RpcHMnLFxufTtcblxuZXhwb3J0IGNvbnN0IENVU1RPTV9JTkRJQ0FUT1JfUEFUVEVSTiA9IHtcbiAgLy8gY3NwZWxsOmRpc2FibGUtbmV4dC1saW5lXG4gIHBhdHRlcm46IC9eKFsrLV0/W1xcZC5dKykoW0VHS01QVGVpa21udV0qWystXT9cXGQqKSQvLFxuICB0aXA6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IFBBVENIX1BBVEhfUEFUVEVSTiA9IHtcbiAgcGF0dGVybjogL15cXC8uKi8sXG4gIHRpcDogJ29hbV9wYXRjaF9wYXRoX3BhdHRlcm4nLFxufTtcbiJdfQ==
|
|
@@ -33,7 +33,34 @@ function getPodContainerStatus(pod, reason) {
|
|
|
33
33
|
}
|
|
34
34
|
function getPodInitStatus(pod, reason) {
|
|
35
35
|
let initializing = false;
|
|
36
|
-
const
|
|
36
|
+
const initStatuses = pod.status?.initContainerStatuses ?? [];
|
|
37
|
+
const initContainers = pod.spec?.initContainers ?? [];
|
|
38
|
+
const specSidecarNames = new Set(initContainers
|
|
39
|
+
.filter(c => c?.restartPolicy === 'Always')
|
|
40
|
+
.map(c => c?.name)
|
|
41
|
+
.filter((name) => !!name));
|
|
42
|
+
// Native sidecars are excluded from init progress only after they have
|
|
43
|
+
// successfully started. A restartPolicy: Always sidecar that is still waiting
|
|
44
|
+
// or failed must remain visible so ImagePullBackOff/CrashLoopBackOff/non-zero
|
|
45
|
+
// exits are surfaced. [AIT-71104]
|
|
46
|
+
// 仅当 Pod 已 Running(普通 init 必已全部跑完)时才用运行态兜底识别 sidecar,
|
|
47
|
+
// 避免把恰好在 running 的普通 init 容器误判为 sidecar。[AIT-71104]
|
|
48
|
+
const podRunning = get(pod, ['status', 'phase']) === 'Running';
|
|
49
|
+
const sidecarNames = [
|
|
50
|
+
...initStatuses
|
|
51
|
+
.filter(s => !!s.name &&
|
|
52
|
+
specSidecarNames.has(s.name) &&
|
|
53
|
+
s?.started &&
|
|
54
|
+
get(s, ['state', 'running']))
|
|
55
|
+
.map(s => s?.name),
|
|
56
|
+
...(podRunning
|
|
57
|
+
? initStatuses
|
|
58
|
+
.filter(s => s?.started && get(s, ['state', 'running']))
|
|
59
|
+
.map(s => s?.name)
|
|
60
|
+
: []),
|
|
61
|
+
].filter((name) => !!name);
|
|
62
|
+
// Exclude sidecar statuses from init status calculation
|
|
63
|
+
const initContainerStatuses = initStatuses.filter(s => !s.name || !sidecarNames.includes(s.name));
|
|
37
64
|
for (let i = initContainerStatuses.length - 1; i >= 0; i--) {
|
|
38
65
|
const status = initContainerStatuses[i];
|
|
39
66
|
if (get(status, ['state', 'terminated', 'exitCode']) === 0) {
|
|
@@ -48,12 +75,13 @@ function getPodInitStatus(pod, reason) {
|
|
|
48
75
|
? `Init:ExitCode:${terminated.exitCode}`
|
|
49
76
|
: `Init:Signal:${terminated.signal}`;
|
|
50
77
|
}
|
|
51
|
-
else if ((waitingReason = get(status, ['state', 'waiting', reason])) &&
|
|
78
|
+
else if ((waitingReason = get(status, ['state', 'waiting', 'reason'])) &&
|
|
52
79
|
waitingReason !== 'PodInitializing') {
|
|
53
80
|
reason = `Initing:${waitingReason}`;
|
|
54
81
|
}
|
|
55
82
|
else {
|
|
56
|
-
|
|
83
|
+
const initCount = initContainers.filter(container => !container.name || !sidecarNames.includes(container.name)).length;
|
|
84
|
+
reason = `Initing:${i}/${initCount}`;
|
|
57
85
|
}
|
|
58
86
|
initializing = true;
|
|
59
87
|
break;
|
|
@@ -63,14 +91,22 @@ function getPodInitStatus(pod, reason) {
|
|
|
63
91
|
// 将 getPodStatus 得到的多种状态映射到标签类型
|
|
64
92
|
// reference: https://bitbucket.org/mathildetech/link/src/c81161f02f981904b716462a305e09414e5617d3/src/backend/resource/common/podinfo.go#lines-68
|
|
65
93
|
export function getPodAggregatedStatus(status) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
'
|
|
70
|
-
'
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
94
|
+
const [phase, initReason] = status.split(':');
|
|
95
|
+
if (phase === 'Initing') {
|
|
96
|
+
return !initReason ||
|
|
97
|
+
initReason === 'PodInitializing' ||
|
|
98
|
+
initReason === 'ContainerCreating' ||
|
|
99
|
+
/^\d+\/\d+$/.test(initReason)
|
|
100
|
+
? PodStatusEnum.pending
|
|
101
|
+
: PodStatusEnum.error;
|
|
102
|
+
}
|
|
103
|
+
if ([
|
|
104
|
+
'Initing',
|
|
105
|
+
'Pending',
|
|
106
|
+
'PodInitializing',
|
|
107
|
+
'ContainerCreating',
|
|
108
|
+
'Terminating',
|
|
109
|
+
].includes(status)) {
|
|
74
110
|
return PodStatusEnum.pending;
|
|
75
111
|
}
|
|
76
112
|
if (status === 'Completed') {
|
|
@@ -81,4 +117,4 @@ export function getPodAggregatedStatus(status) {
|
|
|
81
117
|
}
|
|
82
118
|
return PodStatusEnum.error;
|
|
83
119
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy93b3JrbG9hZC91dGlsLXNoYXJlZC9zcmMvbGliL3V0aWxzL3N0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEMsK0lBQStJO0FBQy9JLE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBUTtJQUNuQyxJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNuRCxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0UsTUFBTSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFeEUsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLGlCQUFpQixJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3ZFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDckIsQ0FBQztTQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFDLE1BQU0sR0FBRyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLEdBQVEsRUFBRSxNQUFjO0lBQ3JELE1BQU0saUJBQWlCLEdBQXNCLEdBQUcsQ0FDOUMsR0FBRyxFQUNILENBQUMsUUFBUSxFQUFFLG1CQUFtQixDQUFDLEVB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QUFJLENBQUM7UUFDcEIsTUFBTTtJQUNSLENBQUM7SUFDRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQ2xDLENBQUM7QUFFRCxnQ0FBZ0M7QUFDaEMsa0pBQWtKO0FBQ2xKLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUFjO0lBQ25ELElBQ0UsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTO1FBQ2xDO1lBQ0UsU0FBUztZQUNULFNBQVM7WUFDVCxpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGFBQWE7U0FDZCxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDbEIsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDM0IsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QixPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQztBQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyU3RhdHVzLCBQb2QsIFBvZFN0YXR1c0VudW0gfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG4vLyByZWZlcmVuY2U6IGh0dHBzOi8vYml0YnVja2V0Lm9yZy9tYXRoaWxkZXRlY2gvbGluay9zcmMvYzgxMTYxZjAyZjk4MTkwNGI3MTY0NjJhMzA1ZTA5NDE0ZTU2MTdkMy9zcmMvYmFja2VuZC9yZXNvdXJjZS9jb21tb24vcG9kLmdvI2xpbmVzLTE3OVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBvZFN0YXR1cyhwb2Q6IFBvZCk6IHN0cmluZyB7XG4gIGxldCByZWFzb24gPSBwb2Quc3RhdHVzLnBoYXNlIHx8IHBvZC5zdGF0dXMucmVhc29uO1xuICBjb25zdCB7IGluaXRpYWxpemluZywgcmVhc29uOiBpbml0UmVhc29uIH0gPSBnZXRQb2RJbml0U3RhdHVzKHBvZCwgcmVhc29uKTtcbiAgcmVhc29uID0gaW5pdGlhbGl6aW5nID8gaW5pdFJlYXNvbiA6IGdldFBvZENvbnRhaW5lclN0YXR1cyhwb2QsIHJlYXNvbik7XG5cbiAgaWYgKHBvZC5tZXRhZGF0YS5kZWxldGlvblRpbWVzdGFtcCAmJiBwb2Quc3RhdHVzLnJlYXNvbiA9PT0gJ05vZGVMb3N0Jykge1xuICAgIHJlYXNvbiA9ICdVbmtub3duJztcbiAgfSBlbHNlIGlmIChwb2QubWV0YWRhdGEuZGVsZXRpb25UaW1lc3RhbXApIHtcbiAgICByZWFzb24gPSAnVGVybWluYXRpbmcnO1xuICB9XG4gIHJldHVybiByZWFzb247XG59XG5cbmZ1bmN0aW9uIGdldFBvZENvbnRhaW5lclN0YXR1cyhwb2Q6IFBvZCwgcmVhc29uOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBjb250YWluZXJTdGF0dXNlczogQ29udGFpbmVyU3RhdHVzW10gPSBnZXQoXG4gICAgcG9kLFxuICAgIFsnc3RhdHVzJywgJ2NvbnRhaW5lclN0YXR1c2VzJ10sXG4gICAgW10sXG4gICk7XG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBjb250YWluZXJTdGF0dXNlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclN0YXR1c2VzW2ldO1xuICAgIGxldCB3YWl0aW5nUmVhc29uLCB0ZXJtaW5hdGVkUmVhc29uO1xuICAgIGlmICgod2FpdGluZ1JlYXNvbiA9IGdldChjb250YWluZXIsIFsnc3RhdGUnLCAnd2FpdGluZycsICdyZWFzb24nXSkpKSB7XG4gICAgICByZXR1cm4gd2FpdGluZ1JlYXNvbjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKHRlcm1pbmF0ZWRSZWFzb24gPSBnZXQoY29udGFpbmVyLCBbJ3N0YXRlJywgJ3Rlcm1pbmF0ZWQnLCAncmVhc29uJ10pKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRlcm1pbmF0ZWRSZWFzb247XG4gICAgfVxuICAgIGlmIChnZXQoY29udGFpbmVyLCBbJ3N0YXRlJywgJ3Rlcm1pbmF0ZWQnXSkpIHtcbiAgICAgIGNvbnN0IHsgc2lnbmFsLCBleGl0Q29kZSB9ID0gY29udGFpbmVyLnN0YXRlLnRlcm1pbmF0ZWQ7XG4gICAgICByZXR1cm4gc2lnbmFsID09PSAwID8gYEV4aXRDb2RlOiR7ZXhpdENvZGV9YCA6IGBTaWduYWw6JHtzaWduYWx9YDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlYXNvbjtcbn1cblxuZnVuY3Rpb24gZ2V0UG9kSW5pdFN0YXR1cyhwb2Q6IFBvZCwgcmVhc29uOiBzdHJpbmcpIHtcbiAgbGV0IGluaXRpYWxpemluZyA9IGZhbHNlO1xuICBjb25zdCBpbml0Q29udGFpbmVyU3RhdHVzZXMgPSBnZXQoXG4gICAgcG9kLFxuICAgIFsnc3RhdHVzJywgJ2luaXRDb250YWluZXJTdGF0dXNlcyddLFxuICAgIFtdIGFzIENvbnRhaW5lclN0YXR1c1tdLFxuICApO1xuICBmb3IgKGxldCBpID0gaW5pdENvbnRhaW5lclN0YXR1c2VzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgY29uc3Qgc3RhdHVzID0gaW5pdENvbnRhaW5lclN0YXR1c2VzW2ldO1xuICAgIGlmIChnZXQoc3RhdHVzLCBbJ3N0YXRlJywgJ3Rlcm1pbmF0ZWQnLCAnZXhpdENvZGUnXSkgPT09IDApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBsZXQgd2FpdGluZ1JlYXNvbjogc3RyaW5nO1xuICAgIGNvbnN0IHRlcm1pbmF0ZWQgPSBnZXQoc3RhdHVzLCBbJ3N0YXRlJywgJ3Rlcm1pbmF0ZWQnXSk7XG4gICAgaWYgKHRlcm1pbmF0ZWQpIHtcbiAgICAgIHJlYXNvbiA9IHRlcm1pbmF0ZWQucmVhc29uXG4gICAgICAgID8gYEluaXQ6JHt0ZXJtaW5hdGVkLnJlYXNvbn1gXG4gICAgICAgIDogdGVybWluYXRlZC5zaWduYWwgPT09IDBcbiAgICAgICAgICA/IGBJbml0OkV4aXRDb2RlOiR7dGVybWluYXRlZC5leGl0Q29kZX1gXG4gICAgICAgICAgOiBgSW5pdDpTaWduYWw6JHt0ZXJtaW5hdGVkLnNpZ25hbH1gO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAod2FpdGluZ1JlYXNvbiA9IGdldChzdGF0dXMsIFsnc3RhdGUnLCAnd2FpdGluZycsIHJlYXNvbl0pKSAmJlxuICAgICAgd2FpdGluZ1JlYXNvbiAhPT0gJ1BvZEluaXRpYWxpemluZydcbiAgICApIHtcbiAgICAgIHJlYXNvbiA9IGBJbml0aW5nOiR7d2FpdGluZ1JlYXNvbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZWFzb24gPSBgSW5pdGluZzoke2l9LyR7cG9kLnNwZWMuaW5pdENvbnRhaW5lcnMubGVuZ3RofWA7XG4gICAgfVxuICAgIGluaXRpYWxpemluZyA9IHRydWU7XG4gICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIHsgaW5pdGlhbGl6aW5nLCByZWFzb24gfTtcbn1cblxuLy8g5bCGIGdldFBvZFN0YXR1cyDlvpfliLDnmoTlpJrnp43nirbmgIHmmKDlsITliLDmoIfnrb7nsbvlnotcbi8vIHJlZmVyZW5jZTogaHR0cHM6Ly9iaXRidWNrZXQub3JnL21hdGhpbGRldGVjaC9saW5rL3NyYy9jODExNjFmMDJmOTgxOTA0YjcxNjQ2MmEzMDVlMDk0MTRlNTYxN2QzL3NyYy9iYWNrZW5kL3Jlc291cmNlL2NvbW1vbi9wb2RpbmZvLmdvI2xpbmVzLTY4XG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9kQWdncmVnYXRlZFN0YXR1cyhzdGF0dXM6IHN0cmluZyk6IFBvZFN0YXR1c0VudW0ge1xuICBpZiAoXG4gICAgc3RhdHVzLnNwbGl0KCc6JylbMF0gPT09ICdJbml0aW5nJyB8fFxuICAgIFtcbiAgICAgICdJbml0aW5nJyxcbiAgICAgICdQZW5kaW5nJyxcbiAgICAgICdQb2RJbml0aWFsaXppbmcnLFxuICAgICAgJ0NvbnRhaW5lckNyZWF0aW5nJyxcbiAgICAgICdUZXJtaW5hdGluZycsXG4gICAgXS5pbmNsdWRlcyhzdGF0dXMpXG4gICkge1xuICAgIHJldHVybiBQb2RTdGF0dXNFbnVtLnBlbmRpbmc7XG4gIH1cblxuICBpZiAoc3RhdHVzID09PSAnQ29tcGxldGVkJykge1xuICAgIHJldHVybiBQb2RTdGF0dXNFbnVtLmNvbXBsZXRlZDtcbiAgfVxuICBpZiAoc3RhdHVzID09PSAnUnVubmluZycpIHtcbiAgICByZXR1cm4gUG9kU3RhdHVzRW51bS5ydW5uaW5nO1xuICB9XG5cbiAgcmV0dXJuIFBvZFN0YXR1c0VudW0uZXJyb3I7XG59XG4iXX0=
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy93b3JrbG9hZC91dGlsLXNoYXJlZC9zcmMvbGliL3V0aWxzL3N0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEMsK0lBQStJO0FBQy9JLE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBUTtJQUNuQyxJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNuRCxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0UsTUFBTSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFeEUsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLGlCQUFpQixJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3ZFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDckIsQ0FBQztTQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFDLE1BQU0sR0FBRyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLEdBQVEsRUFBRSxNQUFjO0lBQ3JELE1BQU0saUJBQWlCLEdBQXNCLEdBQUcsQ0FDOUMsR0FBRyxFQUNILENBQUMsUUFBUSxFQUFFLG1CQUFtQixDQUFDLEVB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LENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUNsQixDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUMzQixPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWluZXJTdGF0dXMsIFBvZCwgUG9kU3RhdHVzRW51bSB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8vIHJlZmVyZW5jZTogaHR0cHM6Ly9iaXRidWNrZXQub3JnL21hdGhpbGRldGVjaC9saW5rL3NyYy9jODExNjFmMDJmOTgxOTA0YjcxNjQ2MmEzMDVlMDk0MTRlNTYxN2QzL3NyYy9iYWNrZW5kL3Jlc291cmNlL2NvbW1vbi9wb2QuZ28jbGluZXMtMTc5XG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9kU3RhdHVzKHBvZDogUG9kKTogc3RyaW5nIHtcbiAgbGV0IHJlYXNvbiA9IHBvZC5zdGF0dXMucGhhc2UgfHwgcG9kLnN0YXR1cy5yZWFzb247XG4gIGNvbnN0IHsgaW5pdGlhbGl6aW5nLCByZWFzb246IGluaXRSZWFzb24gfSA9IGdldFBvZEluaXRTdGF0dXMocG9kLCByZWFzb24pO1xuICByZWFzb24gPSBpbml0aWFsaXppbmcgPyBpbml0UmVhc29uIDogZ2V0UG9kQ29udGFpbmVyU3RhdHVzKHBvZCwgcmVhc29uKTtcblxuICBpZiAocG9kLm1ldGFkYXRhLmRlbGV0aW9uVGltZXN0YW1wICYmIHBvZC5zdGF0dXMucmVhc29uID09PSAnTm9kZUxvc3QnKSB7XG4gICAgcmVhc29uID0gJ1Vua25vd24nO1xuICB9IGVsc2UgaWYgKHBvZC5tZXRhZGF0YS5kZWxldGlvblRpbWVzdGFtcCkge1xuICAgIHJlYXNvbiA9ICdUZXJtaW5hdGluZyc7XG4gIH1cbiAgcmV0dXJuIHJlYXNvbjtcbn1cblxuZnVuY3Rpb24gZ2V0UG9kQ29udGFpbmVyU3RhdHVzKHBvZDogUG9kLCByZWFzb246IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGNvbnRhaW5lclN0YXR1c2VzOiBDb250YWluZXJTdGF0dXNbXSA9IGdldChcbiAgICBwb2QsXG4gICAgWydzdGF0dXMnLCAnY29udGFpbmVyU3RhdHVzZXMnXSxcbiAgICBbXSxcbiAgKTtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGNvbnRhaW5lclN0YXR1c2VzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyU3RhdHVzZXNbaV07XG4gICAgbGV0IHdhaXRpbmdSZWFzb24sIHRlcm1pbmF0ZWRSZWFzb247XG4gICAgaWYgKCh3YWl0aW5nUmVhc29uID0gZ2V0KGNvbnRhaW5lciwgWydzdGF0ZScsICd3YWl0aW5nJywgJ3JlYXNvbiddKSkpIHtcbiAgICAgIHJldHVybiB3YWl0aW5nUmVhc29uO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICAodGVybWluYXRlZFJlYXNvbiA9IGdldChjb250YWluZXIsIFsnc3RhdGUnLCAndGVybWluYXRlZCcsICdyZWFzb24nXSkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGVybWluYXRlZFJlYXNvbjtcbiAgICB9XG4gICAgaWYgKGdldChjb250YWluZXIsIFsnc3RhdGUnLCAndGVybWluYXRlZCddKSkge1xuICAgICAgY29uc3QgeyBzaWduYWwsIGV4aXRDb2RlIH0gPSBjb250YWluZXIuc3RhdGUudGVybWluYXRlZDtcbiAgICAgIHJldHVybiBzaWduYWwgPT09IDAgPyBgRXhpdENvZGU6JHtleGl0Q29kZX1gIDogYFNpZ25hbDoke3NpZ25hbH1gO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVhc29uO1xufVxuXG5mdW5jdGlvbiBnZXRQb2RJbml0U3RhdHVzKHBvZDogUG9kLCByZWFzb246IHN0cmluZykge1xuICBsZXQgaW5pdGlhbGl6aW5nID0gZmFsc2U7XG4gIGNvbnN0IGluaXRTdGF0dXNlcyA9IHBvZC5zdGF0dXM/LmluaXRDb250YWluZXJTdGF0dXNlcyA/PyBbXTtcbiAgY29uc3QgaW5pdENvbnRhaW5lcnMgPSBwb2Quc3BlYz8uaW5pdENvbnRhaW5lcnMgPz8gW107XG4gIGNvbnN0IHNwZWNTaWRlY2FyTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oXG4gICAgaW5pdENvbnRhaW5lcnNcbiAgICAgIC5maWx0ZXIoYyA9PiBjPy5yZXN0YXJ0UG9saWN5ID09PSAnQWx3YXlzJylcbiAgICAgIC5tYXAoYyA9PiBjPy5uYW1lKVxuICAgICAgLmZpbHRlcigobmFtZSk6IG5hbWUgaXMgc3RyaW5nID0+ICEhbmFtZSksXG4gICk7XG4gIC8vIE5hdGl2ZSBzaWRlY2FycyBhcmUgZXhjbHVkZWQgZnJvbSBpbml0IHByb2dyZXNzIG9ubHkgYWZ0ZXIgdGhleSBoYXZlXG4gIC8vIHN1Y2Nlc3NmdWxseSBzdGFydGVkLiBBIHJlc3RhcnRQb2xpY3k6IEFsd2F5cyBzaWRlY2FyIHRoYXQgaXMgc3RpbGwgd2FpdGluZ1xuICAvLyBvciBmYWlsZWQgbXVzdCByZW1haW4gdmlzaWJsZSBzbyBJbWFnZVB1bGxCYWNrT2ZmL0NyYXNoTG9vcEJhY2tPZmYvbm9uLXplcm9cbiAgLy8gZXhpdHMgYXJlIHN1cmZhY2VkLiBbQUlULTcxMTA0XVxuICAvLyDku4XlvZMgUG9kIOW3siBSdW5uaW5n77yI5pmu6YCaIGluaXQg5b+F5bey5YWo6YOo6LeR5a6M77yJ5pe25omN55So6L+Q6KGM5oCB5YWc5bqV6K+G5YirIHNpZGVjYXLvvIxcbiAgLy8g6YG/5YWN5oqK5oGw5aW95ZyoIHJ1bm5pbmcg55qE5pmu6YCaIGluaXQg5a655Zmo6K+v5Yik5Li6IHNpZGVjYXLjgIJbQUlULTcxMTA0XVxuICBjb25zdCBwb2RSdW5uaW5nID0gZ2V0KHBvZCwgWydzdGF0dXMnLCAncGhhc2UnXSkgPT09ICdSdW5uaW5nJztcbiAgY29uc3Qgc2lkZWNhck5hbWVzOiBzdHJpbmdbXSA9IFtcbiAgICAuLi5pbml0U3RhdHVzZXNcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIHMgPT5cbiAgICAgICAgICAhIXMubmFtZSAmJlxuICAgICAgICAgIHNwZWNTaWRlY2FyTmFtZXMuaGFzKHMubmFtZSkgJiZcbiAgICAgICAgICBzPy5zdGFydGVkICYmXG4gICAgICAgICAgZ2V0KHMsIFsnc3RhdGUnLCAncnVubmluZyddKSxcbiAgICAgIClcbiAgICAgIC5tYXAocyA9PiBzPy5uYW1lKSxcbiAgICAuLi4ocG9kUnVubmluZ1xuICAgICAgPyBpbml0U3RhdHVzZXNcbiAgICAgICAgICAuZmlsdGVyKHMgPT4gcz8uc3RhcnRlZCAmJiBnZXQocywgWydzdGF0ZScsICdydW5uaW5nJ10pKVxuICAgICAgICAgIC5tYXAocyA9PiBzPy5uYW1lKVxuICAgICAgOiBbXSksXG4gIF0uZmlsdGVyKChuYW1lKTogbmFtZSBpcyBzdHJpbmcgPT4gISFuYW1lKTtcblxuICAvLyBFeGNsdWRlIHNpZGVjYXIgc3RhdHVzZXMgZnJvbSBpbml0IHN0YXR1cyBjYWxjdWxhdGlvblxuICBjb25zdCBpbml0Q29udGFpbmVyU3RhdHVzZXMgPSBpbml0U3RhdHVzZXMuZmlsdGVyKFxuICAgIHMgPT4gIXMubmFtZSB8fCAhc2lkZWNhck5hbWVzLmluY2x1ZGVzKHMubmFtZSksXG4gICk7XG4gIGZvciAobGV0IGkgPSBpbml0Q29udGFpbmVyU3RhdHVzZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBjb25zdCBzdGF0dXMgPSBpbml0Q29udGFpbmVyU3RhdHVzZXNbaV07XG4gICAgaWYgKGdldChzdGF0dXMsIFsnc3RhdGUnLCAndGVybWluYXRlZCcsICdleGl0Q29kZSddKSA9PT0gMCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGxldCB3YWl0aW5nUmVhc29uOiBzdHJpbmc7XG4gICAgY29uc3QgdGVybWluYXRlZCA9IGdldChzdGF0dXMsIFsnc3RhdGUnLCAndGVybWluYXRlZCddKTtcbiAgICBpZiAodGVybWluYXRlZCkge1xuICAgICAgcmVhc29uID0gdGVybWluYXRlZC5yZWFzb25cbiAgICAgICAgPyBgSW5pdDoke3Rlcm1pbmF0ZWQucmVhc29ufWBcbiAgICAgICAgOiB0ZXJtaW5hdGVkLnNpZ25hbCA9PT0gMFxuICAgICAgICAgID8gYEluaXQ6RXhpdENvZGU6JHt0ZXJtaW5hdGVkLmV4aXRDb2RlfWBcbiAgICAgICAgICA6IGBJbml0OlNpZ25hbDoke3Rlcm1pbmF0ZWQuc2lnbmFsfWA7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgICh3YWl0aW5nUmVhc29uID0gZ2V0KHN0YXR1cywgWydzdGF0ZScsICd3YWl0aW5nJywgJ3JlYXNvbiddKSkgJiZcbiAgICAgIHdhaXRpbmdSZWFzb24gIT09ICdQb2RJbml0aWFsaXppbmcnXG4gICAgKSB7XG4gICAgICByZWFzb24gPSBgSW5pdGluZzoke3dhaXRpbmdSZWFzb259YDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5pdENvdW50ID0gaW5pdENvbnRhaW5lcnMuZmlsdGVyKFxuICAgICAgICBjb250YWluZXIgPT4gIWNvbnRhaW5lci5uYW1lIHx8ICFzaWRlY2FyTmFtZXMuaW5jbHVkZXMoY29udGFpbmVyLm5hbWUpLFxuICAgICAgKS5sZW5ndGg7XG4gICAgICByZWFzb24gPSBgSW5pdGluZzoke2l9LyR7aW5pdENvdW50fWA7XG4gICAgfVxuICAgIGluaXRpYWxpemluZyA9IHRydWU7XG4gICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIHsgaW5pdGlhbGl6aW5nLCByZWFzb24gfTtcbn1cblxuLy8g5bCGIGdldFBvZFN0YXR1cyDlvpfliLDnmoTlpJrnp43nirbmgIHmmKDlsITliLDmoIfnrb7nsbvlnotcbi8vIHJlZmVyZW5jZTogaHR0cHM6Ly9iaXRidWNrZXQub3JnL21hdGhpbGRldGVjaC9saW5rL3NyYy9jODExNjFmMDJmOTgxOTA0YjcxNjQ2MmEzMDVlMDk0MTRlNTYxN2QzL3NyYy9iYWNrZW5kL3Jlc291cmNlL2NvbW1vbi9wb2RpbmZvLmdvI2xpbmVzLTY4XG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9kQWdncmVnYXRlZFN0YXR1cyhzdGF0dXM6IHN0cmluZyk6IFBvZFN0YXR1c0VudW0ge1xuICBjb25zdCBbcGhhc2UsIGluaXRSZWFzb25dID0gc3RhdHVzLnNwbGl0KCc6Jyk7XG4gIGlmIChwaGFzZSA9PT0gJ0luaXRpbmcnKSB7XG4gICAgcmV0dXJuICFpbml0UmVhc29uIHx8XG4gICAgICBpbml0UmVhc29uID09PSAnUG9kSW5pdGlhbGl6aW5nJyB8fFxuICAgICAgaW5pdFJlYXNvbiA9PT0gJ0NvbnRhaW5lckNyZWF0aW5nJyB8fFxuICAgICAgL15cXGQrXFwvXFxkKyQvLnRlc3QoaW5pdFJlYXNvbilcbiAgICAgID8gUG9kU3RhdHVzRW51bS5wZW5kaW5nXG4gICAgICA6IFBvZFN0YXR1c0VudW0uZXJyb3I7XG4gIH1cblxuICBpZiAoXG4gICAgW1xuICAgICAgJ0luaXRpbmcnLFxuICAgICAgJ1BlbmRpbmcnLFxuICAgICAgJ1BvZEluaXRpYWxpemluZycsXG4gICAgICAnQ29udGFpbmVyQ3JlYXRpbmcnLFxuICAgICAgJ1Rlcm1pbmF0aW5nJyxcbiAgICBdLmluY2x1ZGVzKHN0YXR1cylcbiAgKSB7XG4gICAgcmV0dXJuIFBvZFN0YXR1c0VudW0ucGVuZGluZztcbiAgfVxuXG4gIGlmIChzdGF0dXMgPT09ICdDb21wbGV0ZWQnKSB7XG4gICAgcmV0dXJuIFBvZFN0YXR1c0VudW0uY29tcGxldGVkO1xuICB9XG4gIGlmIChzdGF0dXMgPT09ICdSdW5uaW5nJykge1xuICAgIHJldHVybiBQb2RTdGF0dXNFbnVtLnJ1bm5pbmc7XG4gIH1cblxuICByZXR1cm4gUG9kU3RhdHVzRW51bS5lcnJvcjtcbn1cbiJdfQ==
|
package/lib/pipes/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DialogService } from '@alauda/ui';
|
|
1
|
+
import { DialogService, NotificationService } from '@alauda/ui';
|
|
2
2
|
import { K8sApiService, TranslateService, Container, Pod, Workspace } from '@alauda-fe/common';
|
|
3
|
-
import { ExecInfo } from '../typings';
|
|
3
|
+
import { DebugCopyInfo, ExecInfo } from '../typings';
|
|
4
4
|
import { TerminalService } from './terminal.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare const DEBUG_CONTAINER_SUFFIX = "-debug";
|
|
@@ -9,10 +9,16 @@ export declare class PodUtilService {
|
|
|
9
9
|
private readonly translate;
|
|
10
10
|
private readonly k8sApi;
|
|
11
11
|
private readonly terminal;
|
|
12
|
-
|
|
12
|
+
private readonly notification;
|
|
13
|
+
constructor(dialog: DialogService, translate: TranslateService, k8sApi: K8sApiService, terminal: TerminalService, notification: NotificationService);
|
|
13
14
|
deletePod(pod: Pod, cluster: string): import("rxjs").Observable<Pod>;
|
|
14
15
|
handleExecInfo(pod: Pod, container: Container, baseParams: Workspace, data: ExecInfo): void;
|
|
15
16
|
handleDebugInfo(pod: Pod, container: Container, baseParams: Workspace): void;
|
|
17
|
+
/**
|
|
18
|
+
* Debug (Copy Mode):先开终端窗口,副本在窗口内创建
|
|
19
|
+
* 先发异步请求再开窗口会被浏览器当作非用户手势拦截,因此顺序不能调换
|
|
20
|
+
*/
|
|
21
|
+
handleDebugCopyInfo(pod: Pod, container: Container, baseParams: Workspace, data: DebugCopyInfo): void;
|
|
16
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<PodUtilService, never>;
|
|
17
23
|
static ɵprov: i0.ɵɵInjectableDeclaration<PodUtilService>;
|
|
18
24
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { K8sPermissionService, K8sResourceAction } from '@alauda-fe/common';
|
|
2
2
|
import { HttpParamsOptions } from '@angular/common/http';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
/** 新窗口要打开的页面,复制模式先落在建副本的等待页 */
|
|
5
|
+
export type TerminalModule = 'terminal' | 'terminal/copy-check' | 'vnc';
|
|
4
6
|
export declare class TerminalService {
|
|
5
7
|
private readonly k8sPermission;
|
|
6
8
|
private readonly appBaseHref;
|
|
@@ -9,7 +11,15 @@ export declare class TerminalService {
|
|
|
9
11
|
cluster: string;
|
|
10
12
|
namespace: string;
|
|
11
13
|
}): import("rxjs").Observable<Record<K8sResourceAction.CREATE, boolean>>;
|
|
12
|
-
|
|
14
|
+
/**
|
|
15
|
+
* 复制模式需要在当前命名空间建副本、退出时删副本,并连进副本的终端;
|
|
16
|
+
* 三者缺一都走不通,所以入口按三个权限的交集控制。
|
|
17
|
+
*/
|
|
18
|
+
getDebugCopyPermissions({ cluster, namespace, }: {
|
|
19
|
+
cluster: string;
|
|
20
|
+
namespace: string;
|
|
21
|
+
}): import("rxjs").Observable<boolean>;
|
|
22
|
+
openTerminal(queryParams: HttpParamsOptions['fromObject'], module?: TerminalModule): Window;
|
|
13
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<TerminalService, never>;
|
|
14
24
|
static ɵprov: i0.ɵɵInjectableDeclaration<TerminalService>;
|
|
15
25
|
}
|
package/lib/typings/helpers.d.ts
CHANGED
|
@@ -35,6 +35,10 @@ export interface ExecInfo {
|
|
|
35
35
|
user: string;
|
|
36
36
|
command: string;
|
|
37
37
|
}
|
|
38
|
+
export interface DebugCopyInfo {
|
|
39
|
+
/** 副本中目标容器的启动命令,整段交给 shell 执行 */
|
|
40
|
+
command: string;
|
|
41
|
+
}
|
|
38
42
|
export interface ResourceQuotaDefinition {
|
|
39
43
|
key: keyof ResourceQuotaItem;
|
|
40
44
|
fallbackKey?: keyof ResourceQuotaItem;
|
|
@@ -849,10 +849,6 @@ export declare const RESOURCE_DEFINITIONS: {
|
|
|
849
849
|
readonly apiVersion: string;
|
|
850
850
|
readonly type: string;
|
|
851
851
|
};
|
|
852
|
-
readonly CERTIFICATE: {
|
|
853
|
-
readonly type: string;
|
|
854
|
-
readonly apiGroup: string;
|
|
855
|
-
};
|
|
856
852
|
readonly SECURITY_RULE: {
|
|
857
853
|
readonly type: string;
|
|
858
854
|
readonly apiGroup: string;
|
|
@@ -1125,7 +1121,6 @@ export declare const RESOURCE_TYPES: {
|
|
|
1125
1121
|
readonly CODING: "CODING";
|
|
1126
1122
|
readonly TI_MATRIX: "TI_MATRIX";
|
|
1127
1123
|
readonly SYSTEM_CONFIG: "SYSTEM_CONFIG";
|
|
1128
|
-
readonly CERTIFICATE: "CERTIFICATE";
|
|
1129
1124
|
readonly SECURITY_RULE: "SECURITY_RULE";
|
|
1130
1125
|
readonly REGION: "REGION";
|
|
1131
1126
|
readonly TOPOLVM_CLUSTER_V2: "TOPOLVM_CLUSTER_V2";
|
|
@@ -1808,9 +1803,6 @@ export declare const getYamlApiVersion: (definition: {
|
|
|
1808
1803
|
readonly apiGroup: string;
|
|
1809
1804
|
readonly apiVersion: string;
|
|
1810
1805
|
readonly type: string;
|
|
1811
|
-
} | {
|
|
1812
|
-
readonly type: string;
|
|
1813
|
-
readonly apiGroup: string;
|
|
1814
1806
|
} | {
|
|
1815
1807
|
readonly type: string;
|
|
1816
1808
|
readonly apiGroup: string;
|
|
@@ -1877,7 +1869,7 @@ export declare const getYamlApiVersion: (definition: {
|
|
|
1877
1869
|
readonly type: string;
|
|
1878
1870
|
readonly apiGroup: string;
|
|
1879
1871
|
readonly apiVersion: string;
|
|
1880
|
-
} | "VERTICAL_POD_AUTOSCALER" | "POD_AUTOSCALER" | "ROUTE" | "ADDON" | "INSTALLPLAN" | "CEPH_CLUSTER" | "CEPH_FILE_SYSTEM" | "ARTIFACT" | "TDSQL_INSTANCE" | "TDSQL_INSTANCE_BINDING" | "TDSQL_ACCOUNTS" | "TDSQL_INSTANCE_SET" | "CEPH_BLOCK_POOL" | "CSI_DRIVER" | "EPHEMERAL_CONTAINERS" | "APP_CONFIG" | "CEPH_OBJECT_STORE" | "TOPOLVM_CLUSTER" | "VLAN" | "PROVIDER_NETWORK" | "INGRESS_CLASS" | "INGRESS_V1BEAT1" | "NAMESPACE_AUDIT" | "OAM_APP_STATUS" | "OAM_COMPONENT_DEFINITION" | "OAM_TRAIT_DEFINITION" | "OAM_APP_REVISION" | "ALAUDA_BUCKET_REQUEST" | "BUCKET_ACCESS_CLASS" | "BUCKET_ACCESS_REQUEST" | "GATEWAY_CLASS" | "GATEWAY" | "HTTP_ROUTE" | "ENVOY_PROXY" | "TCP_ROUTE" | "UDP_ROUTE" | "ALAUDA_ARTIFACT" | "ALAUDA_ARTIFACT_VERSION" | "ARTIFACT_UPLOAD_PROCESSOR" | "GIT_COMMIT" | "GITOPS_IGNORE_DIFFERENCE" | "GATEKEEPER_CONSTRAINTS" | "ARTIFACT_APP" | "ARTIFACT_VERSION" | "APP_PACKAGE_MANIFEST" | "MINIO_PEER" | "GITOPS_APPLICATIONS" | "GIT_BUILD" | "GIT_BUILD_RUN" | "GIT_BUILDER_IMAGE_CATEGORY" | "VOLUME_SNAPSHOT" | "SUBNET_KUBE_OVN" | "SUBNET_KUBE_OVN_IP" | "L2_ADVERTISEMENT" | "IP_POOL" | "BGP_PEER" | "BGP_ADVERTISEMENT" | "INTER_CONNECTION_SUBNET" | "DATA_VOLUME" | "VM_SNAPSHOT" | "VM_RESTORE" | "VM_IMAGE" | "LIVE_MIGRATION" | "VIRTUAL_MACHINE" | "VIRTUAL_MACHINE_INSTANCE" | "VIRTUAL_MACHINE_POOL" | "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "DAEMONSET" | "STATEFULSET" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROJECT" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "MODULE_CONFIG" | "MODULE_PLUGIN" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_SECURITY_POLICY" | "CONNECTOR" | "ACCESS_TOKEN_INFO" | "FUNCTION_RESOURCE" | "USER_BINDING" | "USER" | "GROUP" | "PROJECT_MEMBER" | "ROLE_TEMPLATE" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | "OPERATOR_VIEW" | "MODULE_PLUGIN_VIEW" | "RESOURCE_PATCH" | "COMPONENT_PROBER" | "INSPECTION" | "INSPECTION_DETAILS" | "INSPECTION_ITEMS" | "MESSAGE" | "MODULE_HEALTH" | "MODULE_HEALTH_RECORD" | "AUDIT" | "LOG_POLICY" | "FUNCTION_TEST" | "PROJECT_BINDING" | "PROBE" | "REPORT" | "NAMESPACE_RESOURCE_RATIO" | "CUSTOM_RESOURCE_DEFINITION" | "LICENSE" | "RECORD" | "CSI_NODE" | "TSF" | "TDSQL" | "PORTAL" | "NAMESPACE_IMPORT" | "CLUSTER_ADDON_TYPE" | "CLUSTER_CREDENTIAL" | "CODING" | "TI_MATRIX" | "SYSTEM_CONFIG" | "
|
|
1872
|
+
} | "VERTICAL_POD_AUTOSCALER" | "POD_AUTOSCALER" | "ROUTE" | "ADDON" | "INSTALLPLAN" | "CEPH_CLUSTER" | "CEPH_FILE_SYSTEM" | "ARTIFACT" | "TDSQL_INSTANCE" | "TDSQL_INSTANCE_BINDING" | "TDSQL_ACCOUNTS" | "TDSQL_INSTANCE_SET" | "CEPH_BLOCK_POOL" | "CSI_DRIVER" | "EPHEMERAL_CONTAINERS" | "APP_CONFIG" | "CEPH_OBJECT_STORE" | "TOPOLVM_CLUSTER" | "VLAN" | "PROVIDER_NETWORK" | "INGRESS_CLASS" | "INGRESS_V1BEAT1" | "NAMESPACE_AUDIT" | "OAM_APP_STATUS" | "OAM_COMPONENT_DEFINITION" | "OAM_TRAIT_DEFINITION" | "OAM_APP_REVISION" | "ALAUDA_BUCKET_REQUEST" | "BUCKET_ACCESS_CLASS" | "BUCKET_ACCESS_REQUEST" | "GATEWAY_CLASS" | "GATEWAY" | "HTTP_ROUTE" | "ENVOY_PROXY" | "TCP_ROUTE" | "UDP_ROUTE" | "ALAUDA_ARTIFACT" | "ALAUDA_ARTIFACT_VERSION" | "ARTIFACT_UPLOAD_PROCESSOR" | "GIT_COMMIT" | "GITOPS_IGNORE_DIFFERENCE" | "GATEKEEPER_CONSTRAINTS" | "ARTIFACT_APP" | "ARTIFACT_VERSION" | "APP_PACKAGE_MANIFEST" | "MINIO_PEER" | "GITOPS_APPLICATIONS" | "GIT_BUILD" | "GIT_BUILD_RUN" | "GIT_BUILDER_IMAGE_CATEGORY" | "VOLUME_SNAPSHOT" | "SUBNET_KUBE_OVN" | "SUBNET_KUBE_OVN_IP" | "L2_ADVERTISEMENT" | "IP_POOL" | "BGP_PEER" | "BGP_ADVERTISEMENT" | "INTER_CONNECTION_SUBNET" | "DATA_VOLUME" | "VM_SNAPSHOT" | "VM_RESTORE" | "VM_IMAGE" | "LIVE_MIGRATION" | "VIRTUAL_MACHINE" | "VIRTUAL_MACHINE_INSTANCE" | "VIRTUAL_MACHINE_POOL" | "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "DAEMONSET" | "STATEFULSET" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROJECT" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "MODULE_CONFIG" | "MODULE_PLUGIN" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_SECURITY_POLICY" | "CONNECTOR" | "ACCESS_TOKEN_INFO" | "FUNCTION_RESOURCE" | "USER_BINDING" | "USER" | "GROUP" | "PROJECT_MEMBER" | "ROLE_TEMPLATE" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | "OPERATOR_VIEW" | "MODULE_PLUGIN_VIEW" | "RESOURCE_PATCH" | "COMPONENT_PROBER" | "INSPECTION" | "INSPECTION_DETAILS" | "INSPECTION_ITEMS" | "MESSAGE" | "MODULE_HEALTH" | "MODULE_HEALTH_RECORD" | "AUDIT" | "LOG_POLICY" | "FUNCTION_TEST" | "PROJECT_BINDING" | "PROBE" | "REPORT" | "NAMESPACE_RESOURCE_RATIO" | "CUSTOM_RESOURCE_DEFINITION" | "LICENSE" | "RECORD" | "CSI_NODE" | "TSF" | "TDSQL" | "PORTAL" | "NAMESPACE_IMPORT" | "CLUSTER_ADDON_TYPE" | "CLUSTER_CREDENTIAL" | "CODING" | "TI_MATRIX" | "SYSTEM_CONFIG" | "SECURITY_RULE" | "REGION" | "TOPOLVM_CLUSTER_V2" | "BUCKET" | "SCHEDULE" | "BACKUP_STORAGE_LOCATION" | "BACKUP_STORAGE_LOCATION_REPO" | "BACKUP" | "DELETE_BACKUP_REQUEST" | "ETCD_BACKUP_RECORD" | "RESTORE" | "RAW_DEVICE" | "APP_RELEASES" | "NOTIFICATION_TEMPLATE" | "NOTIFICATION_GROUP" | "NOTIFICATION" | "TUNNEL_CLUSTER" | "K8S_CLUSTER") => string;
|
|
1881
1873
|
export type ResourceType = keyof typeof RESOURCE_TYPES;
|
|
1882
1874
|
export type WorkloadType = typeof RESOURCE_TYPES.DEPLOYMENT | typeof RESOURCE_TYPES.DAEMON_SET | typeof RESOURCE_TYPES.STATEFUL_SET | typeof RESOURCE_TYPES.CRON_JOB;
|
|
1883
1875
|
export declare const ApplicationTypeMeta: TypeMeta;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Container, Pod } from '@alauda-fe/common';
|
|
2
|
+
/** 副本上的来源标记:来源 Pod 名称 */
|
|
3
|
+
export declare const DEBUG_COPY_SOURCE_POD_ANNOTATION = "debug.cpaas.io/source-pod";
|
|
4
|
+
/** 副本上的来源标记:来源容器名称 */
|
|
5
|
+
export declare const DEBUG_COPY_SOURCE_CONTAINER_ANNOTATION = "debug.cpaas.io/source-container";
|
|
6
|
+
/** 副本名称后缀,真实名称由 apiserver 通过 generateName 生成 */
|
|
7
|
+
export declare const DEBUG_COPY_NAME_SUFFIX = "-debug-";
|
|
8
|
+
/** 副本中目标容器之外的容器统一以 shell 启动 */
|
|
9
|
+
export declare const DEBUG_COPY_SHELL = "/bin/sh";
|
|
10
|
+
/**
|
|
11
|
+
* 该 Pod 本身是不是 Debug (Copy Mode) 创建的副本
|
|
12
|
+
* 副本上不再提供复制入口,避免对副本再创建副本
|
|
13
|
+
*/
|
|
14
|
+
export declare function isDebugCopyPod(pod: Pod): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 容器能否使用 Debug (Copy Mode)
|
|
17
|
+
* 容器未运行或未就绪时可用,与现有 Debug / EXEC 的可用条件互补;
|
|
18
|
+
* 因拉取镜像失败而等待中的容器除外,副本同样起不来
|
|
19
|
+
*/
|
|
20
|
+
export declare function canDebugCopyContainer(pod: Pod, container: Container): boolean;
|
|
21
|
+
/** Pod 中可以使用 Debug (Copy Mode) 的容器,二级菜单只列出这些容器 */
|
|
22
|
+
export declare function getDebugCopyContainers(pod: Pod): Container[];
|
|
23
|
+
/** Pod 中是否还有容器可以使用 Debug (Copy Mode),没有则整个菜单项隐藏 */
|
|
24
|
+
export declare function hasDebugCopyContainer(pod: Pod): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* 原启动命令与参数按空格拼接展示,与 Pod 详情页 Container 区块一致
|
|
27
|
+
* 镜像自带的 ENTRYPOINT / CMD 在 Kubernetes 接口中拿不到,未声明时返回空
|
|
28
|
+
*/
|
|
29
|
+
export declare function formatContainerCommand(command: string[]): string;
|
|
30
|
+
/**
|
|
31
|
+
* 按原 Pod 配置构造调试副本
|
|
32
|
+
*
|
|
33
|
+
* 保留:镜像、数据卷、服务账号、密钥、环境变量、资源请求与限制、安全设置、初始化容器;
|
|
34
|
+
* 原 Pod 已分配节点时保留 nodeName,避免带 ReadWriteOnce 数据卷的副本跨节点挂载失败。
|
|
35
|
+
* 清除:名称等唯一标识、标签、注解、归属关系、状态、健康检查、生命周期钩子;
|
|
36
|
+
* 必须清空 ephemeralContainers —— 该字段只能通过子资源添加,创建时带上会被 apiserver 拒绝。
|
|
37
|
+
*/
|
|
38
|
+
export declare function buildDebugCopyPod(pod: Pod, containerName: string, startupCommand: string): Pod;
|
package/lib/utils/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { DisabledContainerComponent, TranslateService, ValueHook, } from '@alauda-fe/common';
|
|
3
|
-
import { ChangeDetectorRef, Directive, Input } from '@angular/core';
|
|
4
|
-
import { distinctUntilChanged } from 'rxjs';
|
|
5
|
-
import { isOamResource } from '../pipes/is-oam-resource.pipe';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@alauda-fe/common";
|
|
8
|
-
/**
|
|
9
|
-
* @description acl-disabled-container 增强指令。
|
|
10
|
-
*
|
|
11
|
-
* 需要注意对 acl-disabled-container的副作用,一旦满足 isOam 的条件,禁用的 tip 会一直保留,并且优先级最高,除非数据源本身发生变化。
|
|
12
|
-
*/
|
|
13
|
-
export class OamResourceDisabledContainerDirective {
|
|
14
|
-
constructor(disabledContainer, translate, cdr) {
|
|
15
|
-
this.disabledContainer = disabledContainer;
|
|
16
|
-
this.translate = translate;
|
|
17
|
-
this.cdr = cdr;
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = function OamResourceDisabledContainerDirective_Factory(t) { return new (t || OamResourceDisabledContainerDirective)(i0.ɵɵdirectiveInject(i1.DisabledContainerComponent), i0.ɵɵdirectiveInject(i1.TranslateService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|
|
20
|
-
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: OamResourceDisabledContainerDirective, selectors: [["acl-disabled-container", "rcIsOamDisabled", ""]], inputs: { rcIsOamDisabled: "rcIsOamDisabled" }, standalone: true }); }
|
|
21
|
-
}
|
|
22
|
-
__decorate([
|
|
23
|
-
ValueHook(function (resource) {
|
|
24
|
-
const oamDisabledTooltip = this.translate.get('oam_asset_action_disabled_tip');
|
|
25
|
-
if (isOamResource(resource)) {
|
|
26
|
-
this.disabledContainer.isDisabled$
|
|
27
|
-
.pipe(distinctUntilChanged())
|
|
28
|
-
.subscribe(() => {
|
|
29
|
-
Promise.resolve().then(() => {
|
|
30
|
-
this.disabledContainer.isDisabled = true;
|
|
31
|
-
this.cdr.markForCheck();
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
this.disabledContainer.tooltip$
|
|
35
|
-
.pipe(distinctUntilChanged())
|
|
36
|
-
.subscribe(() => {
|
|
37
|
-
this.disabledContainer.tooltip = oamDisabledTooltip;
|
|
38
|
-
this.cdr.markForCheck();
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}),
|
|
42
|
-
__metadata("design:type", Object)
|
|
43
|
-
], OamResourceDisabledContainerDirective.prototype, "rcIsOamDisabled", void 0);
|
|
44
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OamResourceDisabledContainerDirective, [{
|
|
45
|
-
type: Directive,
|
|
46
|
-
args: [{
|
|
47
|
-
standalone: true,
|
|
48
|
-
selector: 'acl-disabled-container[rcIsOamDisabled]',
|
|
49
|
-
}]
|
|
50
|
-
}], () => [{ type: i1.DisabledContainerComponent }, { type: i1.TranslateService }, { type: i0.ChangeDetectorRef }], { rcIsOamDisabled: [{
|
|
51
|
-
type: Input
|
|
52
|
-
}] }); })();
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2FtLXJlc291cmNlLWRpc2FibGVkLWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3dvcmtsb2FkL3V0aWwtc2hhcmVkL3NyYy9saWIvZGlyZWN0aXZlcy9vYW0tcmVzb3VyY2UtZGlzYWJsZWQtY29udGFpbmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLDBCQUEwQixFQUUxQixnQkFBZ0IsRUFDaEIsU0FBUyxHQUNWLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRTlEOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8scUNBQXFDO0lBNEJoRCxZQUNtQixpQkFBNkMsRUFDN0MsU0FBMkIsRUFDM0IsR0FBc0I7UUFGdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE0QjtRQUM3QyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUN0QyxDQUFDO3NHQWhDTyxxQ0FBcUM7b0VBQXJDLHFDQUFxQzs7QUEwQmhEO0lBekJDLFNBQVMsQ0FBQyxVQUVULFFBQTRCO1FBRTVCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQzNDLCtCQUErQixDQUNoQyxDQUFDO1FBQ0YsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVztpQkFDL0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7aUJBQzVCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO29CQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMxQixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVE7aUJBQzVCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2lCQUM1QixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQyxDQUFDOzs4RUFFa0M7aUZBMUJ6QixxQ0FBcUM7Y0FKakQsU0FBUztlQUFDO2dCQUNULFVBQVUsRUFBRSxJQUFJO2dCQUNoQixRQUFRLEVBQUUseUNBQXlDO2FBQ3BEOzBIQTJCQyxlQUFlO2tCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXNhYmxlZENvbnRhaW5lckNvbXBvbmVudCxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBWYWx1ZUhvb2ssXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBpc09hbVJlc291cmNlIH0gZnJvbSAnLi4vcGlwZXMvaXMtb2FtLXJlc291cmNlLnBpcGUnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBhY2wtZGlzYWJsZWQtY29udGFpbmVyIOWinuW8uuaMh+S7pOOAglxuICpcbiAqIOmcgOimgeazqOaEj+WvuSBhY2wtZGlzYWJsZWQtY29udGFpbmVy55qE5Ymv5L2c55So77yM5LiA5pem5ruh6LazIGlzT2FtIOeahOadoeS7tu+8jOemgeeUqOeahCB0aXAg5Lya5LiA55u05L+d55WZ77yM5bm25LiU5LyY5YWI57qn5pyA6auY77yM6Zmk6Z2e5pWw5o2u5rqQ5pys6Lqr5Y+R55Sf5Y+Y5YyW44CCXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FjbC1kaXNhYmxlZC1jb250YWluZXJbcmNJc09hbURpc2FibGVkXScsXG59KVxuZXhwb3J0IGNsYXNzIE9hbVJlc291cmNlRGlzYWJsZWRDb250YWluZXJEaXJlY3RpdmUge1xuICBAVmFsdWVIb29rKGZ1bmN0aW9uIChcbiAgICB0aGlzOiBPYW1SZXNvdXJjZURpc2FibGVkQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgIHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UsXG4gICkge1xuICAgIGNvbnN0IG9hbURpc2FibGVkVG9vbHRpcCA9IHRoaXMudHJhbnNsYXRlLmdldChcbiAgICAgICdvYW1fYXNzZXRfYWN0aW9uX2Rpc2FibGVkX3RpcCcsXG4gICAgKTtcbiAgICBpZiAoaXNPYW1SZXNvdXJjZShyZXNvdXJjZSkpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWRDb250YWluZXIuaXNEaXNhYmxlZCRcbiAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkQ29udGFpbmVyLmlzRGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5kaXNhYmxlZENvbnRhaW5lci50b29sdGlwJFxuICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmRpc2FibGVkQ29udGFpbmVyLnRvb2x0aXAgPSBvYW1EaXNhYmxlZFRvb2x0aXA7XG4gICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfSlcbiAgQElucHV0KClcbiAgcmNJc09hbURpc2FibGVkOiBLdWJlcm5ldGVzUmVzb3VyY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlZENvbnRhaW5lcjogRGlzYWJsZWRDb250YWluZXJDb21wb25lbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG59XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { LABELS, METADATA } from '@alauda-fe/common';
|
|
2
|
-
import { Pipe } from '@angular/core';
|
|
3
|
-
import { get } from 'lodash-es';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export const isOamResource = (resource) => !!get(resource, [METADATA, LABELS, 'app.oam.dev/name']);
|
|
6
|
-
export class isOamResourcePipe {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.transform = isOamResource;
|
|
9
|
-
}
|
|
10
|
-
static { this.ɵfac = function isOamResourcePipe_Factory(t) { return new (t || isOamResourcePipe)(); }; }
|
|
11
|
-
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "rcIsOamResource", type: isOamResourcePipe, pure: true, standalone: true }); }
|
|
12
|
-
}
|
|
13
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(isOamResourcePipe, [{
|
|
14
|
-
type: Pipe,
|
|
15
|
-
args: [{ name: 'rcIsOamResource', standalone: true }]
|
|
16
|
-
}], null, null); })();
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtb2FtLXJlc291cmNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3dvcmtsb2FkL3V0aWwtc2hhcmVkL3NyYy9saWIvcGlwZXMvaXMtb2FtLXJlc291cmNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFaEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQStCLFFBQVcsRUFBRSxFQUFFLENBQ3pFLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7QUFHMUQsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVFLGNBQVMsR0FBRyxhQUFhLENBQUM7S0FDM0I7a0ZBRlksaUJBQWlCO3lGQUFqQixpQkFBaUI7O2lGQUFqQixpQkFBaUI7Y0FEN0IsSUFBSTtlQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLdWJlcm5ldGVzUmVzb3VyY2UsIExBQkVMUywgTUVUQURBVEEgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5leHBvcnQgY29uc3QgaXNPYW1SZXNvdXJjZSA9IDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCkgPT5cbiAgISFnZXQocmVzb3VyY2UsIFtNRVRBREFUQSwgTEFCRUxTLCAnYXBwLm9hbS5kZXYvbmFtZSddKTtcblxuQFBpcGUoeyBuYW1lOiAncmNJc09hbVJlc291cmNlJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIGlzT2FtUmVzb3VyY2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSA9IGlzT2FtUmVzb3VyY2U7XG59XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DisabledContainerComponent, KubernetesResource, TranslateService } from '@alauda-fe/common';
|
|
2
|
-
import { ChangeDetectorRef } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* @description acl-disabled-container 增强指令。
|
|
6
|
-
*
|
|
7
|
-
* 需要注意对 acl-disabled-container的副作用,一旦满足 isOam 的条件,禁用的 tip 会一直保留,并且优先级最高,除非数据源本身发生变化。
|
|
8
|
-
*/
|
|
9
|
-
export declare class OamResourceDisabledContainerDirective {
|
|
10
|
-
private readonly disabledContainer;
|
|
11
|
-
private readonly translate;
|
|
12
|
-
private readonly cdr;
|
|
13
|
-
rcIsOamDisabled: KubernetesResource;
|
|
14
|
-
constructor(disabledContainer: DisabledContainerComponent, translate: TranslateService, cdr: ChangeDetectorRef);
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<OamResourceDisabledContainerDirective, never>;
|
|
16
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<OamResourceDisabledContainerDirective, "acl-disabled-container[rcIsOamDisabled]", never, { "rcIsOamDisabled": { "alias": "rcIsOamDisabled"; "required": false; }; }, {}, never, never, true, never>;
|
|
17
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { KubernetesResource } from '@alauda-fe/common';
|
|
2
|
-
import { PipeTransform } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare const isOamResource: <T extends KubernetesResource>(resource: T) => boolean;
|
|
5
|
-
export declare class isOamResourcePipe implements PipeTransform {
|
|
6
|
-
transform: <T extends KubernetesResource>(resource: T) => boolean;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<isOamResourcePipe, never>;
|
|
8
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<isOamResourcePipe, "rcIsOamResource", true>;
|
|
9
|
-
}
|