@alauda-fe/dynamic-plugin-shared 0.0.1-alpha.3 → 0.0.1-alpha.4

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.
@@ -82,7 +82,7 @@ export declare class ArrayFormTableComponent implements OnDestroy {
82
82
  addDisabled: boolean | '';
83
83
  actionColumnDivider: boolean | '';
84
84
  showZeroState: boolean;
85
- get formDirective(): FormGroupDirective | NgForm;
85
+ get formDirective(): NgForm | FormGroupDirective;
86
86
  /**
87
87
  * 自定义是否展示错误内容
88
88
  * 例如 control 是 FormGroup,只有在内部子 control 错误时才需要展示错误内容
@@ -1,2 +1,2 @@
1
- import { ArrayFormTableComponent, ArrayFormTableFooterDirective } from './component';
2
- export declare const ARRAY_FORM_TABLE_MODULE: (typeof ArrayFormTableComponent | typeof ArrayFormTableFooterDirective)[];
1
+ import { ArrayFormTableComponent, ArrayFormTableHeaderDirective } from './component';
2
+ export declare const ARRAY_FORM_TABLE_MODULE: (typeof ArrayFormTableHeaderDirective | typeof ArrayFormTableComponent)[];
@@ -13,7 +13,7 @@ export declare class ScrollToFirstInvalidDirective {
13
13
  private readonly cdkScrollable;
14
14
  labelOffset: number;
15
15
  aclScrollToFirstInvalid: boolean | '';
16
- get containerEl(): (Window & typeof globalThis) | HTMLElement;
16
+ get containerEl(): HTMLElement | (Window & typeof globalThis);
17
17
  onSubmit(): void;
18
18
  constructor(elRef: ElementRef<HTMLElement>, controlContainer: ControlContainer, cdkScrollable: CdkScrollable);
19
19
  scrollToFirstInvalid(): void;
@@ -1,12 +1,12 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { NotificationService } from '@alauda/ui';
3
- import { InterceptDeactivateService } from '@alauda-fe/dynamic-plugin-sdk';
4
3
  import { Location } from '@angular/common';
5
4
  import { Directive, Injector, Input, ViewChild } from '@angular/core';
6
5
  import { FormBuilder, NgForm } from '@angular/forms';
7
6
  import { identity } from 'lodash-es';
8
7
  import { Observable } from 'rxjs';
9
8
  import { createActions, yamlWriteOptions, } from '../code-editor/code-editor-configs';
9
+ import { InterceptDeactivateService } from '../page-deactivate';
10
10
  import { isErrorMessage } from '../types';
11
11
  import { ObservableInput } from '../utils';
12
12
  import { parseAll, stringify } from '../utils/yaml';
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
123
123
  type: ViewChild,
124
124
  args: ['resourceForm', { static: false }]
125
125
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9mb3JtL2Jhc2UtZm9ybS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixHQUNqQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7OztHQUdHO0FBRUgsTUFBTSxPQUFnQixpQkFBaUI7SUFpQ3JDLFlBQVksUUFBa0I7UUEvQjlCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFXakIsc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDL0IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQWFULGlCQUFZ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OzhHQXZIbUIsaUJBQWlCO2tHQUFqQixpQkFBaUI7O0FBUXJDO0lBREMsZUFBZSxFQUFFOzhCQUNILFVBQVU7d0RBQUk7MkZBUlQsaUJBQWlCO2tCQUR0QyxTQUFTOzZFQUdSLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sYUFBYSxNQUdJLE1BQU07c0JBRHRCLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS1mZS9keW5hbWljLXBsdWdpbi1zZGsnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpZGVudGl0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZUFjdGlvbnMsXG4gIHlhbWxXcml0ZU9wdGlvbnMsXG59IGZyb20gJy4uL2NvZGUtZWRpdG9yL2NvZGUtZWRpdG9yLWNvbmZpZ3MnO1xuaW1wb3J0IHsgaXNFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBwYXJzZUFsbCwgc3RyaW5naWZ5IH0gZnJvbSAnLi4vdXRpbHMveWFtbCc7XG5cbi8qKlxuICogaHR0cDovL2NvbmZsdWVuY2UuYWxhdWRhLmNuL2Rpc3BsYXkvRlJPTi9Jc3N1ZS1Bbmd1bGFyK3JlbGF0ZWRcbiAqIOeUseS6jmZvcm1Db250cm9s5a2Y5Zyo5YaF5a2Y5rOE5ryP6Zeu6aKY77yM5YaF6YOoIGZvcm0g5bGV56S6LemakOiXj+WIh+aNouW6lOW9k+mHh+eUqCBoaWRkZW4g6L+b6KGM5o6n5Yi2XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VGb3JtQ29udGFpbmVyPFQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgaXNVcGRhdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBpbml0UmVzb3VyY2U6IFQ7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGluaXRSZXNvdXJjZSQ6IE9ic2VydmFibGU8VD47XG5cbiAgQFZpZXdDaGlsZCgncmVzb3VyY2VGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdGb3JtOiBOZ0Zvcm07XG5cbiAgY29kZUVkaXRvck9wdGlvbnMgPSB5YW1sV3JpdGVPcHRpb25zO1xuICBhY3Rpb25zQ29uZmlnID0gY3JlYXRlQWN0aW9ucztcbiAgZm9ybVZpZXc6ICdVSScgfCAnWUFNTCcgPSAnVUknO1xuICBzdWJtaXR0aW5nID0gZmFsc2U7XG5cbiAgcmVzb3VyY2U6IFQ7XG4gIHlhbWw6IHN0cmluZztcbiAgLy8g5pSv5oyB5bimICfmgaLlpI0nIOeahCBjb2RlRWRpdG9yXG4gIG9yaWdpbmFsWWFtbDogc3RyaW5nO1xuICBmYjogRm9ybUJ1aWxkZXI7XG4gIGludGVyY2VwdERlYWN0aXZhdGU6IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBwcm90ZWN0ZWQgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlO1xuICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uO1xuICBwcm90ZWN0ZWQgZmlsbFJlc291cmNlOiAocmVzb3VyY2U6IFQpID0+IFQgPSBpZGVudGl0eTtcblxuICBhYnN0cmFjdCBzdWJtaXQocGFyYW1zPzogdW5rbm93bik6IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb24gPSBpbmplY3Rvci5nZXQoTm90aWZpY2F0aW9uU2VydmljZSk7XG4gICAgdGhpcy5sb2NhdGlvbiA9IGluamVjdG9yLmdldChMb2NhdGlvbik7XG4gICAgdGhpcy5mYiA9IGluamVjdG9yLmdldChGb3JtQnVpbGRlcik7XG4gICAgdGhpcy5pbnRlcmNlcHREZWFjdGl2YXRlID0gaW5qZWN0b3IuZ2V0KEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHsgcmVzb3VyY2U6IHRoaXMuZmIuY29udHJvbCgnJykgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc291cmNlID0gdGhpcy5pbml0UmVzb3VyY2U7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgcmVzb3VyY2U6IHRoaXMuaW5pdFJlc291cmNlLFxuICAgIH0pO1xuICB9XG5cbiAgc3dpdGNoRm9ybVZpZXcodmlldzogJ1lBTUwnIHwgJ1VJJykge1xuICAgIGxldCByZXNvdXJjZTogVDtcbiAgICBpZiAodmlldyA9PT0gJ1VJJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzb3VyY2UgPSB0aGlzLnlhbWxUb1Jlc291cmNlKHRoaXMueWFtbCk7XG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICByZXNvdXJjZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXNvdXJjZSA9IHRoaXMuZm9ybS5nZXQoJ3Jlc291cmNlJykudmFsdWU7XG4gICAgICB0aGlzLm9yaWdpbmFsWWFtbCA9IHRoaXMueWFtbCA9IHRoaXMucmVzb3VyY2VUb1lhbWwocmVzb3VyY2UpO1xuICAgIH1cbiAgICB0aGlzLnJlc291cmNlID0gcmVzb3VyY2U7XG4gICAgdGhpcy5mb3JtVmlldyA9IHZpZXc7XG4gIH1cblxuICBjYW5jZWwoZXNjYXBlPzogYm9vbGVhbikge1xuICAgIHRoaXMuaW50ZXJjZXB0RGVhY3RpdmF0ZS5iYWNrKGVzY2FwZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tGb3JtKCkge1xuICAgIHRoaXMubmdGb3JtLm9uU3VibWl0KG51bGwpO1xuICAgIGlmICh0aGlzLmZvcm1WaWV3ID09PSAnVUknICYmIHRoaXMubmdGb3JtLmludmFsaWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybVZpZXcgPT09ICdZQU1MJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHRoaXMueWFtbFRvUmVzb3VyY2UodGhpcy55YW1sKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuZm9ybS5nZXQoJ3Jlc291cmNlJykudmFsdWUgYXMgVDtcbiAgICB0aGlzLnJlc291cmNlID0gdGhpcy5maWxsUmVzb3VyY2UocmVzb3VyY2UpO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgeWFtbFRvUmVzb3VyY2UoeWFtbDogc3RyaW5nKTogVCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFsbCA9IHBhcnNlQWxsKHlhbWwpO1xuICAgICAgcmV0dXJuIChBcnJheS5pc0FycmF5KHRoaXMucmVzb3VyY2UpID8gYWxsIDogYWxsWzBdKSBhcyBUO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChpc0Vycm9yTWVzc2FnZShlKSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcihlLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb3VyY2VUb1lhbWwocmVzb3VyY2U6IFQpIHtcbiAgICB0cnkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzb3VyY2UpKSB7XG4gICAgICAgIHJldHVybiByZXNvdXJjZVxuICAgICAgICAgIC5tYXAociA9PiBzdHJpbmdpZnkociwgeyBibG9ja1F1b3RlOiAnbGl0ZXJhbCcgfSkpXG4gICAgICAgICAgLmpvaW4oJ1xcbi0tLVxcclxcblxcbicpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0cmluZ2lmeShyZXNvdXJjZSwgeyBibG9ja1F1b3RlOiAnbGl0ZXJhbCcgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgcmV0dXJuICd7fSc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZVJlc291cmNlKHJlc291cmNlOiBUKSB7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyByZXNvdXJjZSB9KTtcbiAgICB0aGlzLnJlc291cmNlID0gcmVzb3VyY2U7XG4gIH1cbn1cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9mb3JtL2Jhc2UtZm9ybS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixHQUNqQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFcEQ7OztHQUdHO0FBRUgsTUFBTSxPQUFnQixpQkFBaUI7SUFpQ3JDLFlBQVksUUFBa0I7UUEvQjlCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFXakIsc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDL0IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQWFULGlCQUFZ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OzhHQXZIbUIsaUJBQWlCO2tHQUFqQixpQkFBaUI7O0FBUXJDO0lBREMsZUFBZSxFQUFFOzhCQUNILFVBQVU7d0RBQUk7MkZBUlQsaUJBQWlCO2tCQUR0QyxTQUFTOzZFQUdSLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sYUFBYSxNQUdJLE1BQU07c0JBRHRCLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaWRlbnRpdHkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBjcmVhdGVBY3Rpb25zLFxuICB5YW1sV3JpdGVPcHRpb25zLFxufSBmcm9tICcuLi9jb2RlLWVkaXRvci9jb2RlLWVkaXRvci1jb25maWdzJztcbmltcG9ydCB7IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vcGFnZS1kZWFjdGl2YXRlJztcbmltcG9ydCB7IGlzRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgcGFyc2VBbGwsIHN0cmluZ2lmeSB9IGZyb20gJy4uL3V0aWxzL3lhbWwnO1xuXG4vKipcbiAqIGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYS5jbi9kaXNwbGF5L0ZST04vSXNzdWUtQW5ndWxhcityZWxhdGVkXG4gKiDnlLHkuo5mb3JtQ29udHJvbOWtmOWcqOWGheWtmOazhOa8j+mXrumimO+8jOWGhemDqCBmb3JtIOWxleekui3pmpDol4/liIfmjaLlupTlvZPph4fnlKggaGlkZGVuIOi/m+ihjOaOp+WItlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRm9ybUNvbnRhaW5lcjxUID0gYW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGlzVXBkYXRlID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgaW5pdFJlc291cmNlOiBUO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBpbml0UmVzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3Jlc291cmNlRm9ybScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcml2YXRlIHJlYWRvbmx5IG5nRm9ybTogTmdGb3JtO1xuXG4gIGNvZGVFZGl0b3JPcHRpb25zID0geWFtbFdyaXRlT3B0aW9ucztcbiAgYWN0aW9uc0NvbmZpZyA9IGNyZWF0ZUFjdGlvbnM7XG4gIGZvcm1WaWV3OiAnVUknIHwgJ1lBTUwnID0gJ1VJJztcbiAgc3VibWl0dGluZyA9IGZhbHNlO1xuXG4gIHJlc291cmNlOiBUO1xuICB5YW1sOiBzdHJpbmc7XG4gIC8vIOaUr+aMgeW4piAn5oGi5aSNJyDnmoQgY29kZUVkaXRvclxuICBvcmlnaW5hbFlhbWw6IHN0cmluZztcbiAgZmI6IEZvcm1CdWlsZGVyO1xuICBpbnRlcmNlcHREZWFjdGl2YXRlOiBJbnRlcmNlcHREZWFjdGl2YXRlU2VydmljZTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgcHJvdGVjdGVkIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZTtcbiAgcHJvdGVjdGVkIGxvY2F0aW9uOiBMb2NhdGlvbjtcbiAgcHJvdGVjdGVkIGZpbGxSZXNvdXJjZTogKHJlc291cmNlOiBUKSA9PiBUID0gaWRlbnRpdHk7XG5cbiAgYWJzdHJhY3Qgc3VibWl0KHBhcmFtcz86IHVua25vd24pOiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMubm90aWZpY2F0aW9uID0gaW5qZWN0b3IuZ2V0KE5vdGlmaWNhdGlvblNlcnZpY2UpO1xuICAgIHRoaXMubG9jYXRpb24gPSBpbmplY3Rvci5nZXQoTG9jYXRpb24pO1xuICAgIHRoaXMuZmIgPSBpbmplY3Rvci5nZXQoRm9ybUJ1aWxkZXIpO1xuICAgIHRoaXMuaW50ZXJjZXB0RGVhY3RpdmF0ZSA9IGluamVjdG9yLmdldChJbnRlcmNlcHREZWFjdGl2YXRlU2VydmljZSk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7IHJlc291cmNlOiB0aGlzLmZiLmNvbnRyb2woJycpIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXNvdXJjZSA9IHRoaXMuaW5pdFJlc291cmNlO1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIHJlc291cmNlOiB0aGlzLmluaXRSZXNvdXJjZSxcbiAgICB9KTtcbiAgfVxuXG4gIHN3aXRjaEZvcm1WaWV3KHZpZXc6ICdZQU1MJyB8ICdVSScpIHtcbiAgICBsZXQgcmVzb3VyY2U6IFQ7XG4gICAgaWYgKHZpZXcgPT09ICdVSScpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlc291cmNlID0gdGhpcy55YW1sVG9SZXNvdXJjZSh0aGlzLnlhbWwpO1xuICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgcmVzb3VyY2UsXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb3VyY2UgPSB0aGlzLmZvcm0uZ2V0KCdyZXNvdXJjZScpLnZhbHVlO1xuICAgICAgdGhpcy5vcmlnaW5hbFlhbWwgPSB0aGlzLnlhbWwgPSB0aGlzLnJlc291cmNlVG9ZYW1sKHJlc291cmNlKTtcbiAgICB9XG4gICAgdGhpcy5yZXNvdXJjZSA9IHJlc291cmNlO1xuICAgIHRoaXMuZm9ybVZpZXcgPSB2aWV3O1xuICB9XG5cbiAgY2FuY2VsKGVzY2FwZT86IGJvb2xlYW4pIHtcbiAgICB0aGlzLmludGVyY2VwdERlYWN0aXZhdGUuYmFjayhlc2NhcGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrRm9ybSgpIHtcbiAgICB0aGlzLm5nRm9ybS5vblN1Ym1pdChudWxsKTtcbiAgICBpZiAodGhpcy5mb3JtVmlldyA9PT0gJ1VJJyAmJiB0aGlzLm5nRm9ybS5pbnZhbGlkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1WaWV3ID09PSAnWUFNTCcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMucmVzb3VyY2UgPSB0aGlzLnlhbWxUb1Jlc291cmNlKHRoaXMueWFtbCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmVzb3VyY2UgPSB0aGlzLmZvcm0uZ2V0KCdyZXNvdXJjZScpLnZhbHVlIGFzIFQ7XG4gICAgdGhpcy5yZXNvdXJjZSA9IHRoaXMuZmlsbFJlc291cmNlKHJlc291cmNlKTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHlhbWxUb1Jlc291cmNlKHlhbWw6IHN0cmluZyk6IFQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhbGwgPSBwYXJzZUFsbCh5YW1sKTtcbiAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheSh0aGlzLnJlc291cmNlKSA/IGFsbCA6IGFsbFswXSkgYXMgVDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoaXNFcnJvck1lc3NhZ2UoZSkpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlc291cmNlVG9ZYW1sKHJlc291cmNlOiBUKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc291cmNlKSkge1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VcbiAgICAgICAgICAubWFwKHIgPT4gc3RyaW5naWZ5KHIsIHsgYmxvY2tRdW90ZTogJ2xpdGVyYWwnIH0pKVxuICAgICAgICAgIC5qb2luKCdcXG4tLS1cXHJcXG5cXG4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHJpbmdpZnkocmVzb3VyY2UsIHsgYmxvY2tRdW90ZTogJ2xpdGVyYWwnIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHJldHVybiAne30nO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVSZXNvdXJjZShyZXNvdXJjZTogVCkge1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHsgcmVzb3VyY2UgfSk7XG4gICAgdGhpcy5yZXNvdXJjZSA9IHJlc291cmNlO1xuICB9XG59XG4iXX0=
package/esm2022/index.mjs CHANGED
@@ -11,5 +11,5 @@ export * from './code-editor';
11
11
  export * from './form';
12
12
  export * from './array-form-table';
13
13
  export * from './async-data';
14
- // export * from './page-deactivate';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsY0FBYyxDQUFDO0FBQzdCLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2s4cy1yZXNvdXJjZS1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vazhzLXNoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL2NvZGUtZWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2FycmF5LWZvcm0tdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3luYy1kYXRhJztcbi8vIGV4cG9ydCAqIGZyb20gJy4vcGFnZS1kZWFjdGl2YXRlJztcbiJdfQ==
14
+ export * from './page-deactivate';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9rOHMtcmVzb3VyY2UtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2s4cy1zaGFyZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2RlLWVkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9hcnJheS1mb3JtLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtZGVhY3RpdmF0ZSc7XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { coerceAttrBoolean } from '@alauda/ui';
3
+ import { Directive, ElementRef, HostListener, Input, isDevMode, } from '@angular/core';
4
+ import { fromEvent, map, Observable, Subject, takeUntil, withLatestFrom, } from 'rxjs';
5
+ import { ObservableInput } from '../utils';
6
+ import { InterceptDeactivateService } from './deactivate.service';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./deactivate.service";
9
+ export class InterceptDeactivateDirective {
10
+ constructor(elRef, interceptDeactivate) {
11
+ this.elRef = elRef;
12
+ this.interceptDeactivate = interceptDeactivate;
13
+ this.enabled$ = this.enabled$$.pipe(map(coerceAttrBoolean));
14
+ this.destroy$$ = new Subject();
15
+ }
16
+ ngAfterViewInit() {
17
+ fromEvent(this.elRef.nativeElement, 'click')
18
+ .pipe(withLatestFrom(this.enabled$), takeUntil(this.destroy$$))
19
+ .subscribe(([, enabled]) => {
20
+ this.interceptDeactivate.back(!enabled);
21
+ });
22
+ }
23
+ ngOnDestroy() {
24
+ this.destroy$$.next();
25
+ this.destroy$$.complete();
26
+ }
27
+ onBeforeUnload() {
28
+ return isDevMode() || !this.enabled;
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateDirective, deps: [{ token: i0.ElementRef }, { token: i1.InterceptDeactivateService }], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: InterceptDeactivateDirective, isStandalone: true, selector: "[aclInterceptDeactivate]", inputs: { enabled: ["aclInterceptDeactivate", "enabled"] }, host: { listeners: { "window:beforeunload": "onBeforeUnload()" } }, ngImport: i0 }); }
32
+ }
33
+ __decorate([
34
+ ObservableInput(),
35
+ __metadata("design:type", Observable)
36
+ ], InterceptDeactivateDirective.prototype, "enabled$$", void 0);
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[aclInterceptDeactivate]',
41
+ standalone: true,
42
+ }]
43
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.InterceptDeactivateService }], propDecorators: { enabled: [{
44
+ type: Input,
45
+ args: ['aclInterceptDeactivate']
46
+ }], enabled$$: [], onBeforeUnload: [{
47
+ type: HostListener,
48
+ args: ['window:beforeunload']
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVhY3RpdmF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvcGFnZS1kZWFjdGl2YXRlL2RlYWN0aXZhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsRUFDVCxHQUFHLEVBQ0gsVUFBVSxFQUNWLE9BQU8sRUFDUCxTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTWxFLE1BQU0sT0FBTyw0QkFBNEI7SUFXdkMsWUFDbUIsS0FBOEIsRUFDOUIsbUJBQStDO1FBRC9DLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBNEI7UUFObEUsYUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFFdkQsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFLN0IsQ0FBQztJQUVKLGVBQWU7UUFDYixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO2FBQ3pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDOUQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUdELGNBQWM7UUFDWixPQUFPLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDOzhHQWhDVSw0QkFBNEI7a0dBQTVCLDRCQUE0Qjs7QUFLdkM7SUFEQyxlQUFlLEVBQUU7OEJBQ04sVUFBVTsrREFBZTsyRkFMMUIsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt3SEFHQyxPQUFPO3NCQUROLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUkvQixTQUFTLE1BeUJULGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgdGFrZVVudGlsLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgSW50ZXJjZXB0RGVhY3RpdmF0ZVNlcnZpY2UgfSBmcm9tICcuL2RlYWN0aXZhdGUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xJbnRlcmNlcHREZWFjdGl2YXRlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEludGVyY2VwdERlYWN0aXZhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2FjbEludGVyY2VwdERlYWN0aXZhdGUnKVxuICBlbmFibGVkOiBib29sZWFuIHwgJyc7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGVuYWJsZWQkJCE6IE9ic2VydmFibGU8Ym9vbGVhbiB8ICcnPjtcblxuICBlbmFibGVkJCA9IHRoaXMuZW5hYmxlZCQkLnBpcGUobWFwKGNvZXJjZUF0dHJCb29sZWFuKSk7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGludGVyY2VwdERlYWN0aXZhdGU6IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGZyb21FdmVudCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh3aXRoTGF0ZXN0RnJvbSh0aGlzLmVuYWJsZWQkKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFssIGVuYWJsZWRdKSA9PiB7XG4gICAgICAgIHRoaXMuaW50ZXJjZXB0RGVhY3RpdmF0ZS5iYWNrKCFlbmFibGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6YmVmb3JldW5sb2FkJylcbiAgb25CZWZvcmVVbmxvYWQoKSB7XG4gICAgcmV0dXJuIGlzRGV2TW9kZSgpIHx8ICF0aGlzLmVuYWJsZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Injectable, Injector } from '@angular/core';
2
+ import { from, Observable, of, switchMap } from 'rxjs';
3
+ import { InterceptDeactivateService } from './deactivate.service';
4
+ import * as i0 from "@angular/core";
5
+ export const ESCAPE_DEACTIVATE_GUARD = '__ESCAPE_DEACTIVATE_GUARD__';
6
+ export const CURR_ESCAPE_DEACTIVATE_GUARD = '__CURR_ESCAPE_DEACTIVATE_GUARD__';
7
+ export class InterceptDeactivateGuard {
8
+ constructor(injector) {
9
+ this.injector = injector;
10
+ }
11
+ canDeactivate(component, currentRoute, currentState, nextState) {
12
+ let { canDeactivate } = component;
13
+ if (typeof canDeactivate === 'function') {
14
+ canDeactivate = canDeactivate();
15
+ }
16
+ const result$ = canDeactivate instanceof Observable || canDeactivate instanceof Promise
17
+ ? from(canDeactivate)
18
+ : of(!!canDeactivate);
19
+ return result$.pipe(switchMap(canDeactivate => {
20
+ if (canDeactivate ||
21
+ CURR_ESCAPE_DEACTIVATE_GUARD === currentState.root.fragment ||
22
+ CURR_ESCAPE_DEACTIVATE_GUARD === nextState.root.fragment ||
23
+ ESCAPE_DEACTIVATE_GUARD === nextState.root.fragment) {
24
+ return of(true);
25
+ }
26
+ return this.injector.get(InterceptDeactivateService).intercept({
27
+ title: currentRoute.data.interceptDeactivateTitle,
28
+ content: currentRoute.data.interceptDeactivateContent,
29
+ context: component,
30
+ errorFallback: false,
31
+ });
32
+ }));
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateGuard, providedIn: 'root' }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateGuard, decorators: [{
38
+ type: Injectable,
39
+ args: [{ providedIn: 'root' }]
40
+ }], ctorParameters: () => [{ type: i0.Injector }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVhY3RpdmF0ZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9wYWdlLWRlYWN0aXZhdGUvZGVhY3RpdmF0ZS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1yRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVsRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxrQ0FBa0MsQ0FBQztBQUcvRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQTZCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRW5ELGFBQWEsQ0FDWCxTQUFpQixFQUNqQixZQUFvQyxFQUNwQyxZQUFpQyxFQUNqQyxTQUE4QjtRQUU5QixJQUFJLEVBQUUsYUFBYSxFQUFFLEdBQUcsU0FBd0MsQ0FBQztRQUVqRSxJQUFJLE9BQU8sYUFBYSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3hDLGFBQWEsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQ1gsYUFBYSxZQUFZLFVBQVUsSUFBSSxhQUFhLFlBQVksT0FBTztZQUNyRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNyQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUxQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN4QixJQUNFLGFBQWE7Z0JBQ2IsNEJBQTRCLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUMzRCw0QkFBNEIsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQ3hELHVCQUF1QixLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUNuRCxDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUM3RCxLQUFLLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyx3QkFBd0I7Z0JBQ2pELE9BQU8sRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLDBCQUEwQjtnQkFDckQsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLGFBQWEsRUFBRSxLQUFLO2FBQ3JCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzhHQXZDVSx3QkFBd0I7a0hBQXhCLHdCQUF3QixjQURYLE1BQU07OzJGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIENhbkRlYWN0aXZhdGUsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlIH0gZnJvbSAnLi9kZWFjdGl2YXRlLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgRVNDQVBFX0RFQUNUSVZBVEVfR1VBUkQgPSAnX19FU0NBUEVfREVBQ1RJVkFURV9HVUFSRF9fJztcbmV4cG9ydCBjb25zdCBDVVJSX0VTQ0FQRV9ERUFDVElWQVRFX0dVQVJEID0gJ19fQ1VSUl9FU0NBUEVfREVBQ1RJVkFURV9HVUFSRF9fJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcmNlcHREZWFjdGl2YXRlR3VhcmQgaW1wbGVtZW50cyBDYW5EZWFjdGl2YXRlPHVua25vd24+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgY2FuRGVhY3RpdmF0ZShcbiAgICBjb21wb25lbnQ6IG9iamVjdCxcbiAgICBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICAgIG5leHRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgKSB7XG4gICAgbGV0IHsgY2FuRGVhY3RpdmF0ZSB9ID0gY29tcG9uZW50IGFzIHsgY2FuRGVhY3RpdmF0ZT86IHVua25vd24gfTtcblxuICAgIGlmICh0eXBlb2YgY2FuRGVhY3RpdmF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY2FuRGVhY3RpdmF0ZSA9IGNhbkRlYWN0aXZhdGUoKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQkID1cbiAgICAgIGNhbkRlYWN0aXZhdGUgaW5zdGFuY2VvZiBPYnNlcnZhYmxlIHx8IGNhbkRlYWN0aXZhdGUgaW5zdGFuY2VvZiBQcm9taXNlXG4gICAgICAgID8gZnJvbShjYW5EZWFjdGl2YXRlKVxuICAgICAgICA6IG9mKCEhY2FuRGVhY3RpdmF0ZSk7XG5cbiAgICByZXR1cm4gcmVzdWx0JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGNhbkRlYWN0aXZhdGUgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY2FuRGVhY3RpdmF0ZSB8fFxuICAgICAgICAgIENVUlJfRVNDQVBFX0RFQUNUSVZBVEVfR1VBUkQgPT09IGN1cnJlbnRTdGF0ZS5yb290LmZyYWdtZW50IHx8XG4gICAgICAgICAgQ1VSUl9FU0NBUEVfREVBQ1RJVkFURV9HVUFSRCA9PT0gbmV4dFN0YXRlLnJvb3QuZnJhZ21lbnQgfHxcbiAgICAgICAgICBFU0NBUEVfREVBQ1RJVkFURV9HVUFSRCA9PT0gbmV4dFN0YXRlLnJvb3QuZnJhZ21lbnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlKS5pbnRlcmNlcHQoe1xuICAgICAgICAgIHRpdGxlOiBjdXJyZW50Um91dGUuZGF0YS5pbnRlcmNlcHREZWFjdGl2YXRlVGl0bGUsXG4gICAgICAgICAgY29udGVudDogY3VycmVudFJvdXRlLmRhdGEuaW50ZXJjZXB0RGVhY3RpdmF0ZUNvbnRlbnQsXG4gICAgICAgICAgY29udGV4dDogY29tcG9uZW50LFxuICAgICAgICAgIGVycm9yRmFsbGJhY2s6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,78 @@
1
+ import { DialogService } from '@alauda/ui';
2
+ import { TranslateService } from '@alauda-fe/dynamic-plugin-sdk';
3
+ import { Location } from '@angular/common';
4
+ import { Injectable } from '@angular/core';
5
+ import { NavigationEnd, Router } from '@angular/router';
6
+ import { Subject, filter, takeUntil, from, map } from 'rxjs';
7
+ import { skipError } from '../utils';
8
+ import { CURR_ESCAPE_DEACTIVATE_GUARD, ESCAPE_DEACTIVATE_GUARD, } from './deactivate.guard';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "@angular/router";
12
+ import * as i3 from "@alauda/ui";
13
+ import * as i4 from "@alauda-fe/dynamic-plugin-sdk";
14
+ export class InterceptDeactivateService {
15
+ constructor(location, router, dialog, translate) {
16
+ this.location = location;
17
+ this.router = router;
18
+ this.dialog = dialog;
19
+ this.translate = translate;
20
+ this.destroy$$ = new Subject();
21
+ this.router.events
22
+ .pipe(filter(ev => ev instanceof NavigationEnd), takeUntil(this.destroy$$))
23
+ .subscribe(() => {
24
+ const url = new URL(this.location.path(true), window.location.href);
25
+ if (url.hash === '#' + ESCAPE_DEACTIVATE_GUARD ||
26
+ url.hash === '#' + CURR_ESCAPE_DEACTIVATE_GUARD) {
27
+ this.location.replaceState(url.pathname, url.search.slice(1));
28
+ }
29
+ });
30
+ }
31
+ ngOnDestroy() {
32
+ this.destroy$$.next();
33
+ this.destroy$$.complete();
34
+ }
35
+ intercept({ title, content, context, errorFallback, } = {}) {
36
+ return from(this.dialog.confirm({
37
+ title: this.translate.get(title || 'intercept_deactivate_title', context),
38
+ content: this.translate.get(content || 'intercept_deactivate_content', context),
39
+ confirmText: this.translate.get('confirm'),
40
+ cancelText: this.translate.get('cancel'),
41
+ })).pipe(map(() => true), skipError(errorFallback));
42
+ }
43
+ async back(escape) {
44
+ if (escape) {
45
+ await this.escape();
46
+ }
47
+ this.location.back();
48
+ }
49
+ async forward(escape) {
50
+ if (escape) {
51
+ await this.escape();
52
+ }
53
+ this.location.forward();
54
+ }
55
+ searchParamsToQueryParams(searchParams) {
56
+ const queryParams = {};
57
+ searchParams.forEach((_value, key) => {
58
+ const values = searchParams.getAll(key);
59
+ queryParams[key] = values.length <= 1 ? values[0] : values;
60
+ });
61
+ return queryParams;
62
+ }
63
+ async escape() {
64
+ const url = new URL(this.location.path(), location.href);
65
+ await this.router.navigate([url.pathname], {
66
+ replaceUrl: true,
67
+ fragment: CURR_ESCAPE_DEACTIVATE_GUARD,
68
+ queryParams: this.searchParamsToQueryParams(url.searchParams),
69
+ });
70
+ }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateService, deps: [{ token: i1.Location }, { token: i2.Router }, { token: i3.DialogService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
72
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateService, providedIn: 'root' }); }
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateService, decorators: [{
75
+ type: Injectable,
76
+ args: [{ providedIn: 'root' }]
77
+ }], ctorParameters: () => [{ type: i1.Location }, { type: i2.Router }, { type: i3.DialogService }, { type: i4.TranslateService }] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVhY3RpdmF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3BhZ2UtZGVhY3RpdmF0ZS9kZWFjdGl2YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFckMsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qix1QkFBdUIsR0FDeEIsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBRzVCLE1BQU0sT0FBTywwQkFBMEI7SUFHckMsWUFDbUIsUUFBa0IsRUFDbEIsTUFBYyxFQUNkLE1BQXFCLEVBQ3JCLFNBQTJCO1FBSDNCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFOOUMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFROUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2YsSUFBSSxDQUNILE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxhQUFhLENBQUMs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SUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekMsVUFBVSxFQUFFLElBQUk7WUFDaEIsUUFBUSxFQUFFLDRCQUE0QjtZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7U0FDOUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E3RlUsMEJBQTBCO2tIQUExQiwwQkFBMEIsY0FEYixNQUFNOzsyRkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAYWxhdWRhLWZlL2R5bmFtaWMtcGx1Z2luLXNkayc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJqZWN0LCBmaWx0ZXIsIHRha2VVbnRpbCwgZnJvbSwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHNraXBFcnJvciB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHtcbiAgQ1VSUl9FU0NBUEVfREVBQ1RJVkFURV9HVUFSRCxcbiAgRVNDQVBFX0RFQUNUSVZBVEVfR1VBUkQsXG59IGZyb20gJy4vZGVhY3RpdmF0ZS5ndWFyZCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSW50ZXJjZXB0RGVhY3RpdmF0ZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihldiA9PiBldiBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodGhpcy5sb2NhdGlvbi5wYXRoKHRydWUpLCB3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB1cmwuaGFzaCA9PT0gJyMnICsgRVNDQVBFX0RFQUNUSVZBVEVfR1VBUkQgfHxcbiAgICAgICAgICB1cmwuaGFzaCA9PT0gJyMnICsgQ1VSUl9FU0NBUEVfREVBQ1RJVkFURV9HVUFSRFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh1cmwucGF0aG5hbWUsIHVybC5zZWFyY2guc2xpY2UoMSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgaW50ZXJjZXB0KHtcbiAgICB0aXRsZSxcbiAgICBjb250ZW50LFxuICAgIGNvbnRleHQsXG4gICAgZXJyb3JGYWxsYmFjayxcbiAgfToge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGNvbnRlbnQ/OiBzdHJpbmc7XG4gICAgY29udGV4dD86IHVua25vd247XG4gICAgZXJyb3JGYWxsYmFjaz86IGJvb2xlYW47XG4gIH0gPSB7fSkge1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5kaWFsb2cuY29uZmlybSh7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoXG4gICAgICAgICAgdGl0bGUgfHwgJ2ludGVyY2VwdF9kZWFjdGl2YXRlX3RpdGxlJyxcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICApLFxuICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZS5nZXQoXG4gICAgICAgICAgY29udGVudCB8fCAnaW50ZXJjZXB0X2RlYWN0aXZhdGVfY29udGVudCcsXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgKSxcbiAgICAgICAgY29uZmlybVRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnY29uZmlybScpLFxuICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgfSksXG4gICAgKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgc2tpcEVycm9yKGVycm9yRmFsbGJhY2spLFxuICAgICk7XG4gIH1cblxuICBhc3luYyBiYWNrKGVzY2FwZT86IGJvb2xlYW4pIHtcbiAgICBpZiAoZXNjYXBlKSB7XG4gICAgICBhd2FpdCB0aGlzLmVzY2FwZSgpO1xuICAgIH1cblxuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICB9XG5cbiAgYXN5bmMgZm9yd2FyZChlc2NhcGU/OiBib29sZWFuKSB7XG4gICAgaWYgKGVzY2FwZSkge1xuICAgICAgYXdhaXQgdGhpcy5lc2NhcGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmxvY2F0aW9uLmZvcndhcmQoKTtcbiAgfVxuXG4gIHNlYXJjaFBhcmFtc1RvUXVlcnlQYXJhbXMoc2VhcmNoUGFyYW1zOiBVUkxTZWFyY2hQYXJhbXMpIHtcbiAgICBjb25zdCBxdWVyeVBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+ID0ge307XG4gICAgc2VhcmNoUGFyYW1zLmZvckVhY2goKF92YWx1ZSwga2V5KSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBzZWFyY2hQYXJhbXMuZ2V0QWxsKGtleSk7XG4gICAgICBxdWVyeVBhcmFtc1trZXldID0gdmFsdWVzLmxlbmd0aCA8PSAxID8gdmFsdWVzWzBdIDogdmFsdWVzO1xuICAgIH0pO1xuICAgIHJldHVybiBxdWVyeVBhcmFtcztcbiAgfVxuXG4gIGFzeW5jIGVzY2FwZSgpIHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMubG9jYXRpb24ucGF0aCgpLCBsb2NhdGlvbi5ocmVmKTtcblxuICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFt1cmwucGF0aG5hbWVdLCB7XG4gICAgICByZXBsYWNlVXJsOiB0cnVlLFxuICAgICAgZnJhZ21lbnQ6IENVUlJfRVNDQVBFX0RFQUNUSVZBVEVfR1VBUkQsXG4gICAgICBxdWVyeVBhcmFtczogdGhpcy5zZWFyY2hQYXJhbXNUb1F1ZXJ5UGFyYW1zKHVybC5zZWFyY2hQYXJhbXMpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './deactivate.guard';
2
+ export * from './deactivate.service';
3
+ export * from './deactivate.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvcGFnZS1kZWFjdGl2YXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kZWFjdGl2YXRlLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vZGVhY3RpdmF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGVhY3RpdmF0ZS5kaXJlY3RpdmUnO1xuIl19
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { isDevMode, assertInInjectionContext, inject, DestroyRef, Directive, Injectable, Inject, Pipe, SecurityContext, Input, Self, Optional, ɵstringify as _stringify, HostBinding, ChangeDetectionStrategy, Component, EventEmitter, Output, HostListener, ViewContainerRef, TemplateRef, Host, booleanAttribute, forwardRef, ContentChild, ChangeDetectorRef, ViewEncapsulation, ViewChild, NgModule, ViewChildren, ContentChildren, InjectionToken, Injector, input, computed } from '@angular/core';
3
3
  import { get, isNumber, debounce, last, isEqual as isEqual$1, cloneDeep, has, unset, isBoolean, sortBy, set, trim, isFunction, range, uniq, identity, first, isString, snakeCase } from 'lodash-es';
4
- import { ReplaySubject, share, pipe, takeUntil, shareReplay, catchError, EMPTY as EMPTY$1, of, Observable, from, startWith, filter, map, switchMap, ignoreElements, concatWith, Subject, delay as delay$1, tap, defer, BehaviorSubject, finalize, distinctUntilChanged, isObservable, animationFrameScheduler, fromEvent, auditTime, combineLatest, debounceTime, take, merge, pairwise, timer, takeWhile, concat, scan, exhaustMap, interval, withLatestFrom, NEVER, switchScan, mapTo } from 'rxjs';
4
+ import { ReplaySubject, share, pipe, takeUntil, shareReplay, catchError, EMPTY as EMPTY$1, of, Observable, from, startWith, filter, map, switchMap, ignoreElements, concatWith, Subject, delay as delay$1, tap, defer, BehaviorSubject, finalize, distinctUntilChanged, isObservable, animationFrameScheduler, fromEvent, auditTime, combineLatest, debounceTime, take, merge, pairwise, timer, withLatestFrom, takeWhile, concat, scan, exhaustMap, interval, NEVER, switchScan, mapTo } from 'rxjs';
5
5
  import * as i1$1 from '@alauda/ui';
6
6
  import { rgbColor, coerceAttrBoolean, observeResizeOn, DIALOG_DATA, DialogModule, ButtonModule, InputModule, IconModule, FormModule, handlePixel, isTemplateRef, ThemePickerPipe, TooltipModule, TooltipType, ButtonComponent, IconComponent, TagComponent, TooltipDirective, DateNavRange, InputGroupComponent, InputSuffixDirective, InputComponent, DateRangePickerPanelComponent, TagType, TagModule, TooltipComponent, BaseTooltip, TooltipTrigger, NotificationService, INPUT_GROUP_MODULE, SelectModule, FORM_MODULE, DropdownModule, CheckboxModule, CardComponent, BackTopComponent, DIALOG_MODULE, CARD_MODULE, CHECKBOX_MODULE } from '@alauda/ui';
7
7
  import * as i1$6 from '@angular/router';
@@ -12,7 +12,7 @@ export { stringify } from 'yaml';
12
12
  import { compare } from 'compare-versions';
13
13
  export { compareVersions as compareVersionToNum, satisfies as satisfiesVersion } from 'compare-versions';
14
14
  import * as i1 from '@alauda-fe/dynamic-plugin-sdk';
15
- import { TOKEN_BASE_DOMAIN, isZhLang, FALLBACK_LANGUAGE, TranslatePipe, TranslateService, InterceptDeactivateService, WatchEvent, K8S_UTIL_PIPES_MODULE, TRANSLATE_MODULE, isEqual as isEqual$2, K8sUtilService } from '@alauda-fe/dynamic-plugin-sdk';
15
+ import { TOKEN_BASE_DOMAIN, isZhLang, FALLBACK_LANGUAGE, TranslatePipe, TranslateService, WatchEvent, K8S_UTIL_PIPES_MODULE, TRANSLATE_MODULE, isEqual as isEqual$2, K8sUtilService } from '@alauda-fe/dynamic-plugin-sdk';
16
16
  import parser from 'cron-parser';
17
17
  import dayjs from 'dayjs';
18
18
  import timezone from 'dayjs/plugin/timezone';
@@ -7447,6 +7447,150 @@ const logsReadOptions = {
7447
7447
  renderLineHighlight: 'none',
7448
7448
  };
7449
7449
 
7450
+ class InterceptDeactivateService {
7451
+ constructor(location, router, dialog, translate) {
7452
+ this.location = location;
7453
+ this.router = router;
7454
+ this.dialog = dialog;
7455
+ this.translate = translate;
7456
+ this.destroy$$ = new Subject();
7457
+ this.router.events
7458
+ .pipe(filter(ev => ev instanceof NavigationEnd), takeUntil(this.destroy$$))
7459
+ .subscribe(() => {
7460
+ const url = new URL(this.location.path(true), window.location.href);
7461
+ if (url.hash === '#' + ESCAPE_DEACTIVATE_GUARD ||
7462
+ url.hash === '#' + CURR_ESCAPE_DEACTIVATE_GUARD) {
7463
+ this.location.replaceState(url.pathname, url.search.slice(1));
7464
+ }
7465
+ });
7466
+ }
7467
+ ngOnDestroy() {
7468
+ this.destroy$$.next();
7469
+ this.destroy$$.complete();
7470
+ }
7471
+ intercept({ title, content, context, errorFallback, } = {}) {
7472
+ return from(this.dialog.confirm({
7473
+ title: this.translate.get(title || 'intercept_deactivate_title', context),
7474
+ content: this.translate.get(content || 'intercept_deactivate_content', context),
7475
+ confirmText: this.translate.get('confirm'),
7476
+ cancelText: this.translate.get('cancel'),
7477
+ })).pipe(map(() => true), skipError(errorFallback));
7478
+ }
7479
+ async back(escape) {
7480
+ if (escape) {
7481
+ await this.escape();
7482
+ }
7483
+ this.location.back();
7484
+ }
7485
+ async forward(escape) {
7486
+ if (escape) {
7487
+ await this.escape();
7488
+ }
7489
+ this.location.forward();
7490
+ }
7491
+ searchParamsToQueryParams(searchParams) {
7492
+ const queryParams = {};
7493
+ searchParams.forEach((_value, key) => {
7494
+ const values = searchParams.getAll(key);
7495
+ queryParams[key] = values.length <= 1 ? values[0] : values;
7496
+ });
7497
+ return queryParams;
7498
+ }
7499
+ async escape() {
7500
+ const url = new URL(this.location.path(), location.href);
7501
+ await this.router.navigate([url.pathname], {
7502
+ replaceUrl: true,
7503
+ fragment: CURR_ESCAPE_DEACTIVATE_GUARD,
7504
+ queryParams: this.searchParamsToQueryParams(url.searchParams),
7505
+ });
7506
+ }
7507
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateService, deps: [{ token: i1$3.Location }, { token: i1$6.Router }, { token: i1$1.DialogService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
7508
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateService, providedIn: 'root' }); }
7509
+ }
7510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateService, decorators: [{
7511
+ type: Injectable,
7512
+ args: [{ providedIn: 'root' }]
7513
+ }], ctorParameters: () => [{ type: i1$3.Location }, { type: i1$6.Router }, { type: i1$1.DialogService }, { type: i1.TranslateService }] });
7514
+
7515
+ const ESCAPE_DEACTIVATE_GUARD = '__ESCAPE_DEACTIVATE_GUARD__';
7516
+ const CURR_ESCAPE_DEACTIVATE_GUARD = '__CURR_ESCAPE_DEACTIVATE_GUARD__';
7517
+ class InterceptDeactivateGuard {
7518
+ constructor(injector) {
7519
+ this.injector = injector;
7520
+ }
7521
+ canDeactivate(component, currentRoute, currentState, nextState) {
7522
+ let { canDeactivate } = component;
7523
+ if (typeof canDeactivate === 'function') {
7524
+ canDeactivate = canDeactivate();
7525
+ }
7526
+ const result$ = canDeactivate instanceof Observable || canDeactivate instanceof Promise
7527
+ ? from(canDeactivate)
7528
+ : of(!!canDeactivate);
7529
+ return result$.pipe(switchMap(canDeactivate => {
7530
+ if (canDeactivate ||
7531
+ CURR_ESCAPE_DEACTIVATE_GUARD === currentState.root.fragment ||
7532
+ CURR_ESCAPE_DEACTIVATE_GUARD === nextState.root.fragment ||
7533
+ ESCAPE_DEACTIVATE_GUARD === nextState.root.fragment) {
7534
+ return of(true);
7535
+ }
7536
+ return this.injector.get(InterceptDeactivateService).intercept({
7537
+ title: currentRoute.data.interceptDeactivateTitle,
7538
+ content: currentRoute.data.interceptDeactivateContent,
7539
+ context: component,
7540
+ errorFallback: false,
7541
+ });
7542
+ }));
7543
+ }
7544
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
7545
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateGuard, providedIn: 'root' }); }
7546
+ }
7547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateGuard, decorators: [{
7548
+ type: Injectable,
7549
+ args: [{ providedIn: 'root' }]
7550
+ }], ctorParameters: () => [{ type: i0.Injector }] });
7551
+
7552
+ class InterceptDeactivateDirective {
7553
+ constructor(elRef, interceptDeactivate) {
7554
+ this.elRef = elRef;
7555
+ this.interceptDeactivate = interceptDeactivate;
7556
+ this.enabled$ = this.enabled$$.pipe(map(coerceAttrBoolean));
7557
+ this.destroy$$ = new Subject();
7558
+ }
7559
+ ngAfterViewInit() {
7560
+ fromEvent(this.elRef.nativeElement, 'click')
7561
+ .pipe(withLatestFrom(this.enabled$), takeUntil(this.destroy$$))
7562
+ .subscribe(([, enabled]) => {
7563
+ this.interceptDeactivate.back(!enabled);
7564
+ });
7565
+ }
7566
+ ngOnDestroy() {
7567
+ this.destroy$$.next();
7568
+ this.destroy$$.complete();
7569
+ }
7570
+ onBeforeUnload() {
7571
+ return isDevMode() || !this.enabled;
7572
+ }
7573
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateDirective, deps: [{ token: i0.ElementRef }, { token: InterceptDeactivateService }], target: i0.ɵɵFactoryTarget.Directive }); }
7574
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: InterceptDeactivateDirective, isStandalone: true, selector: "[aclInterceptDeactivate]", inputs: { enabled: ["aclInterceptDeactivate", "enabled"] }, host: { listeners: { "window:beforeunload": "onBeforeUnload()" } }, ngImport: i0 }); }
7575
+ }
7576
+ __decorate([
7577
+ ObservableInput(),
7578
+ __metadata("design:type", Observable)
7579
+ ], InterceptDeactivateDirective.prototype, "enabled$$", void 0);
7580
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateDirective, decorators: [{
7581
+ type: Directive,
7582
+ args: [{
7583
+ selector: '[aclInterceptDeactivate]',
7584
+ standalone: true,
7585
+ }]
7586
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: InterceptDeactivateService }], propDecorators: { enabled: [{
7587
+ type: Input,
7588
+ args: ['aclInterceptDeactivate']
7589
+ }], enabled$$: [], onBeforeUnload: [{
7590
+ type: HostListener,
7591
+ args: ['window:beforeunload']
7592
+ }] } });
7593
+
7450
7594
  /**
7451
7595
  * http://confluence.alauda.cn/display/FRON/Issue-Angular+related
7452
7596
  * 由于formControl存在内存泄漏问题,内部 form 展示-隐藏切换应当采用 hidden 进行控制
@@ -11009,11 +11153,9 @@ const ASYNC_DATA_MODULE = [
11009
11153
  ErrorStateComponent,
11010
11154
  ];
11011
11155
 
11012
- // export * from './page-deactivate';
11013
-
11014
11156
  /**
11015
11157
  * Generated bundle index. Do not edit.
11016
11158
  */
11017
11159
 
11018
- export { ACTION, AIT_API_GROUP, ALL, ALL_VALUE, ANNOTATIONS, API_GATEWAY, ARGOCD_GROUP, ARRAY_TABLE_FORM_ERROR_BG, ASSIGN_ALL, ASYNC_DATA_MODULE, AccessMode, AccessModes, AlaudaDeployStatus, AlaudaRunningStatus, ArrayFormTableComponent, ArrayFormTableFooterDirective, ArrayFormTableHeaderDirective, ArrayFormTableRowControlDirective, ArrayFormTableRowDirective, ArrayFormTableRowErrorDirective, ArrayFormTableRowSeparatorDirective, ArrayFormTableZeroStateDirective, AsyncDataLoader, AsyncFunctionValidatorDirective, AuiCodeEditorHelperDirective, BASE_TIMEZONE, BaseFormContainer, BaseNestedFormControl, BaseNestedFormControlPure, BaseStringMapFormComponent, Bracket, CHART_PICKER_TIME_RANGES, CLUSTER, COMMON_RESOURCE_DEFINITIONS, CORE_UNITS, CORE_UNIT_REG, CREATE, CREATED_AT, CREATION_TIMESTAMP, CREATOR, CRON_ENABLE_7_FOR_SUNDAY, CRON_FORMAT_ERROR, CRON_MIN_INTERVAL_ERROR, CRYPTO_HEADER_KEY, CRYPTO_KEY, CRYPTO_RANDOM_HEADER_KEY, CRYPTO_TYPE, CUSTOM, CUSTOMIZED, CUSTOM_RANGE, CacheStore, CalcPipe, CardSectionComponent, ClickOutsideDirective, CloudHelmRequestStateEnum, CodeDisplayDialogComponent, CoerceNumberDirective, ConfirmDeleteComponent, ConfirmDeleteContentDirective, ConfirmDeleteLabelDirective, ConfirmDeleteTipDirective, ControlValueTraceDirective, CronHumanReadablePipe, CronWeekDays, CrontabNextPipe, CurrentTimeComponent, DATE_FORMAT, DATE_TIME_FORMAT, DEFAULT_CODE_EDITOR_OPTIONS, DEFAULT_CONTAINER_ANNOTATION, DEFAULT_OPTIONS, DEFAULT_REASON, DELIMITER, DESCRIPTION, DISPLAY_NAME, DNS1123SubdomainValidator, DOMAIN_PATTERN, DOMAIN_PATTERN_BASE, DOT, DOWNGRADE_WATCH_ENABLED, DOWNGRADE_WATCH_POLLING, DUPLICATE_ERROR_KEY, DUPLICATION_JUSTIFY_STRATEGY, DataSource, DateRangePickerComponent, DateTimePipe, DeclareDirective, DefaultStatusColorMapper, DefaultStatusIconMapper, DeleteType, DisabledContainerComponent, DisabledDirective, DurationPipe, E2eAttributeBindingDirective, EFFECT_DIRECTIVE_MODULE, EMAIL_PATTERN, EMPTY, ERRORS_MAPPER_MODULE, ESCAPE_DEACTIVATE_CHECK, ErrorStateComponent, ErrorsMapperComponent, ErrorsMapperDirective, FALSE, FIELDSET_GROUP_COMPONENTS, FIELD_NOT_AVAILABLE_PLACEHOLDER, FeatureGateDirective, FieldNotAvailablePipe, FieldSetColumnComponent, FieldSetColumnGroupComponent, FieldSetGroupComponent, FieldSetItemActionDirective, FieldSetItemComponent, FileResultType, FoldableBlockComponent, FoldableItemInTableComponent, FormItemMarginEffectDirective, FunctionValidatorDirective, GLOBAL_CLUSTER, GenericStatusColor, GenericStatusIcon, GuardStatus, HTTP_ADDRESS_PATTERN, HTTP_DUAL_IP_OR_DOMAIN_PATTERN, HTTP_IP_OR_DOMAIN_PATTERN, HYPHEN, HelmRequestPhaseEnum, HelpDocDirective, HelpDocUrlPipe, HelpDocumentComponent, HelpDocumentService, IMAGE_TAG_PATTERN, INT_PATTERN, INT_ZERO_PATTERN, IPV4_IPV6_ADDRESS_HOSTNAME_PORT_PATTERN, IPV6_ADDRESS_HOSTNAME_PATTERN, IPV6_ADDRESS_HOSTNAME_PORT_PATTERN, IPV6_PATTERN_BASE, IP_ADDRESS_HOSTNAME_PATTERN, IP_ADDRESS_HOSTNAME_PATTERN_EXTEND, IP_ADDRESS_HOSTNAME_PORT_PATTERN, IP_ADDRESS_PATTERN, IP_ADDRESS_PORT_PATTERN, IP_ADDRESS_SUBNET_PATTERN, IP_PATTERN, IP_PATTERN_BASE, IP_V4_OR_V6_PATTERN, IP_V6_ADDRESS_PATTERN, IP_V6_PATTERN, ImgHeaderPipe, ImgThemePipe, JobStatusColorMapper, JobStatusEnum, JobStatusIconMapper, K8SResourceList, K8SResourceListFooterComponent, K8SResourcePagedList, K8S_APP_API_GROUP, K8S_CORE_API_GROUP, K8S_RESOURCE_LABEL_KEY_NAME_PATTERN, K8S_RESOURCE_LABEL_KEY_PREFIX_PATTERN, K8S_RESOURCE_LABEL_VALUE_PATTERN, K8S_RESOURCE_LIST_MODULE, K8S_RESOURCE_NAME_BASE, K8S_RESOURCE_NAME_START_WITH_CHARS_ONLY, K8S_RESOURCE_TRANSLATE_KEY, K8sListFooterLoadingErrorDirective, K8sListFooterNoDataDirective, K8sResourceAction, K8sResourceMarkComponent, K8sResourceTranslateKeyPipe, K8sSharedUtilService, K8sYamlDisplayDialogComponent, KeyValueFormTableComponent, KeyValuePipe, KeyValueTableComponent, LABELS, LINK, LOCAL_STORAGE_KEY_THEME_MODE, ListenResizeDirective, LoadAction, LoadingMaskComponent, LocaleTransformPipe, MACHINE_API_GROUP, METADATA, MarkedPipe, MaxLengthValidatorDirective, MaxValidatorDirective, MinLengthValidatorDirective, MinValidatorDirective, MinimumFormatPipe, NAME, NAMESPACE, NOTIFICATION_SERVER_NAME, NOTIFY_DURATION_HEADER, NOTIFY_ON_ERROR_HEADER, NOTIFY_ON_ERROR_HEADERS, NOT_NOTIFY_ON_ERROR_HEADERS, NUMBER_PATTERN, NotBeValidatorDirective, OAM_GROUP, ObservableInput, OnResizeChangeService, OneOfValidatorDirective, PACKAGE_RUNTIME_VALUE, PAGE_GUARD_MODULE, PLATFORM_OPS_MODE, PORT_PATTERN, POSITIVE_INT_PATTERN, POSITIVE_NUMBER_PATTERN, PREFIX_LABEL_CLASS, PROJECT, PUBLIC_NAMESPACE, PageGuardComponent, PageGuardContentDirective, PageGuardDescriptionDirective, PageGuardImageDirective, PageGuardOperationDirective, PageStateComponent, ParseJsonPipe, ParseJsonTranslatePipe, PasswordInputComponent, PodStatusColorMapper, PodStatusComponent, PodStatusEnum, PodStatusIconMapper, PreventClipboardDirective, PreventDirective, PreventHandler, ProductKey, PurePipe, REASON_MAP, RESOURCE_MAC_TYPES, RESOURCE_REQUIREMENT_KEYS, ReadonlyFieldDirective, Reason, RelativeTimeComponent, RelativeTimePipe, RequestPool, ResizeDirective, ResourceLabelComponent, ResourceMultiSelectComponent, ResourceYamlDisplayComponent, SERVICE_PORT_BASE_PROTOCOLS, SERVICE_PORT_PROTOCOLS, SERVICE_SESSION_AFFINITIES, SERVICE_TYPES, SLASH, SPACE, SPEC, STATUS, STRATEGY_JUDGE_MAPPER, STRONG_PASSWORD_SPECIAL_CHARS, SafePipe, SanitizePipe, ScrollBorderObserverDirective, ScrollToFirstInvalidDirective, ScrollToFirstInvalidMarkerDirective, SearchItemComponent, SearchItemLabelDirective, SearchPanelComponent, SecretType, SelectPrefixLabelDirective, SpanComponent, StandardDatePipe, StandardTimePipe, StatusIconComponent, StopDirective, StringArrayFormTableComponent, StrongPasswordDirective, StrongPasswordTooltipComponent, StrongPasswordValidatorModule, TEMPLATE_OPTIONS, TIMEZONES, TIME_FORMAT, TOKEN_HELP_DOC_DATA, TRUE, TableCustomColumnsComponent, TagsLabelComponent, TaintEffect, TerminatingTagComponent, TextEllipsisComponent, TextTooltipDirective, TextWithUrlComponent, ThemeTransformPipe, TimezoneDisplayPipe, TolerationOperator, TrimDirective, UNDERSCORE, UNITS, UNIT_REG, UPDATE, UPDATED_AT, UPDATED__AT, UpdateDescriptionDialogComponent, UpdateDisplayNameDialogComponent, UpdateKeyValueDialogComponent, UploadFileComponent, UserSecurityPolicyRule, UserState, VOLUME_SNAPSHOT_GROUP, ValidateRowDuplicateService, ValidatorsDirective, ValueHook, VolumeMode, VolumeModes, VolumeTypeEnum, WEEK_DAYS, WILDCARD, WORKSPACE_PARAMS, WorkloadKind, WorkloadStatusColorMapper, WorkloadStatusEnum, WorkloadStatusIconMapper, YamlUtilService, ZeroStateComponent, addUnitCoreM, addUnitGi, addUnitMi, appendImageHeader, arrayify, asIsComparator, atobWithFallback, bind, buildImageAddress, buildUrl, catchPromise, checkValueExit, clearWindowsXtermTools, commonOptions, compareMinorVersion, compareVersion, copyValue, createActions, createNestedFormControl, createPollObservable, cronValidator, cronValidatorBasic, dataTransfer, dateValueOf, debounceFn, delay, emptyObjectRemoveRuleFactory, errorColor, extractListParamsFromRoute, extractPagedListParams, extractWorkspace, extractWorkspaceFromRoute, filterEmptyValue, filterTrees, findPath, firstPath, formatCPU, formatMemory, formatNumber, genControlDepsMap, getAppropriateMemory, getBaseHref, getCpu, getCronWeekDayNumbers, getDisabledState, getDisabledState$, getHelpDocUrl, getHostname, getJobStatus, getK8sResourceAnnotationErrorMapper, getK8sResourceAnnotationErrorMapper$, getK8sResourceLabelErrorMapper, getK8sResourceLabelErrorMapper$, getMemory, getParamFromParent, getPickerTimeRanges, getPodAggregatedStatus, getPodIPs, getPodStatus, getPrivateIP, getPrivateIPv4, getPrivateIPv6, getRelativePath, getResourceLimitAsyncValidatorFn, getResourceLimitValidatorFn, getResourceValue, getResourceViewModel, getToPath, getTopWindow, getValidVersion, getWorkloadStatus, ifExist, initGreaterValidator, initParamFromParent$, isAbsoluteUrl, isBlank, isCronFieldCountCorrect, isCronWeekDayCorrect, isCronWeekDaysContinuous, isEqual, isErrorMessage, isFieldNotAvailable, isJsonObjectString, isK8sResource, isMac, isSelectAll, isValidRID, isValidWorkspace, isWindows, k8sResourceAnnotationKeyValidator, k8sResourceAnnotationValidator, k8sResourceLabelKeyValidator, k8sResourceLabelValidator, k8sResourceLabelValueValidator, loadEnv, logsActions, logsReadOptions, mapTrees, matchExpressionsToString, matchLabelsToString, maxParallelByHttpVersion, noShowRowError, noop, normalizeParams, numToStr, onDestroy, parse, parseAll, parseBase64Type, parseDaemonSetStatus, parseDeploymentStatus, parseImageAddress, parseJSONStream, parseJson, parseRID, parseStatefulSetStatus, parseToWorkloadStatus, parseUrlInText, parseValidImageName, parseValueAndUnit, parseVersion, parseWorkspace, prefixFilterRuleFactory, primaryColor, publishRef, queryListParams, randomPassword, readonlyOptions, reduceTrees, removeDirtyFieldsBeforeUpdate, resourceUnits, rowBackgroundColorFn, safeAssign, safeParseYaml, safePluck, saveAs, scrollIntoView, setNode, setupErrorMapper, shareUntil, shareUntilDestroyed, shortNum, skipError, sleep, sortByCreationTimestamp, startWithCondition, stringToMatchLabels, stringifyRID, stringifyWorkspace, successColor, switchTap, tableSort, tableSortAdvance, tagRenderDefault, tapSkip, textWriteOptions, toKeys, toLowerFirstLetter, toUnitGi, toUnitI, toUnitMi, toUnitNum, toUnitNumM, trackByName, trackByUid, transferResource, updateActions, versionRegex, viewActions, warnColor, withLoadState, workspaceToPath, wrapText, yamlFilterField, yamlReadOptions, yamlWriteOptions };
11160
+ export { ACTION, AIT_API_GROUP, ALL, ALL_VALUE, ANNOTATIONS, API_GATEWAY, ARGOCD_GROUP, ARRAY_TABLE_FORM_ERROR_BG, ASSIGN_ALL, ASYNC_DATA_MODULE, AccessMode, AccessModes, AlaudaDeployStatus, AlaudaRunningStatus, ArrayFormTableComponent, ArrayFormTableFooterDirective, ArrayFormTableHeaderDirective, ArrayFormTableRowControlDirective, ArrayFormTableRowDirective, ArrayFormTableRowErrorDirective, ArrayFormTableRowSeparatorDirective, ArrayFormTableZeroStateDirective, AsyncDataLoader, AsyncFunctionValidatorDirective, AuiCodeEditorHelperDirective, BASE_TIMEZONE, BaseFormContainer, BaseNestedFormControl, BaseNestedFormControlPure, BaseStringMapFormComponent, Bracket, CHART_PICKER_TIME_RANGES, CLUSTER, COMMON_RESOURCE_DEFINITIONS, CORE_UNITS, CORE_UNIT_REG, CREATE, CREATED_AT, CREATION_TIMESTAMP, CREATOR, CRON_ENABLE_7_FOR_SUNDAY, CRON_FORMAT_ERROR, CRON_MIN_INTERVAL_ERROR, CRYPTO_HEADER_KEY, CRYPTO_KEY, CRYPTO_RANDOM_HEADER_KEY, CRYPTO_TYPE, CURR_ESCAPE_DEACTIVATE_GUARD, CUSTOM, CUSTOMIZED, CUSTOM_RANGE, CacheStore, CalcPipe, CardSectionComponent, ClickOutsideDirective, CloudHelmRequestStateEnum, CodeDisplayDialogComponent, CoerceNumberDirective, ConfirmDeleteComponent, ConfirmDeleteContentDirective, ConfirmDeleteLabelDirective, ConfirmDeleteTipDirective, ControlValueTraceDirective, CronHumanReadablePipe, CronWeekDays, CrontabNextPipe, CurrentTimeComponent, DATE_FORMAT, DATE_TIME_FORMAT, DEFAULT_CODE_EDITOR_OPTIONS, DEFAULT_CONTAINER_ANNOTATION, DEFAULT_OPTIONS, DEFAULT_REASON, DELIMITER, DESCRIPTION, DISPLAY_NAME, DNS1123SubdomainValidator, DOMAIN_PATTERN, DOMAIN_PATTERN_BASE, DOT, DOWNGRADE_WATCH_ENABLED, DOWNGRADE_WATCH_POLLING, DUPLICATE_ERROR_KEY, DUPLICATION_JUSTIFY_STRATEGY, DataSource, DateRangePickerComponent, DateTimePipe, DeclareDirective, DefaultStatusColorMapper, DefaultStatusIconMapper, DeleteType, DisabledContainerComponent, DisabledDirective, DurationPipe, E2eAttributeBindingDirective, EFFECT_DIRECTIVE_MODULE, EMAIL_PATTERN, EMPTY, ERRORS_MAPPER_MODULE, ESCAPE_DEACTIVATE_CHECK, ESCAPE_DEACTIVATE_GUARD, ErrorStateComponent, ErrorsMapperComponent, ErrorsMapperDirective, FALSE, FIELDSET_GROUP_COMPONENTS, FIELD_NOT_AVAILABLE_PLACEHOLDER, FeatureGateDirective, FieldNotAvailablePipe, FieldSetColumnComponent, FieldSetColumnGroupComponent, FieldSetGroupComponent, FieldSetItemActionDirective, FieldSetItemComponent, FileResultType, FoldableBlockComponent, FoldableItemInTableComponent, FormItemMarginEffectDirective, FunctionValidatorDirective, GLOBAL_CLUSTER, GenericStatusColor, GenericStatusIcon, GuardStatus, HTTP_ADDRESS_PATTERN, HTTP_DUAL_IP_OR_DOMAIN_PATTERN, HTTP_IP_OR_DOMAIN_PATTERN, HYPHEN, HelmRequestPhaseEnum, HelpDocDirective, HelpDocUrlPipe, HelpDocumentComponent, HelpDocumentService, IMAGE_TAG_PATTERN, INT_PATTERN, INT_ZERO_PATTERN, IPV4_IPV6_ADDRESS_HOSTNAME_PORT_PATTERN, IPV6_ADDRESS_HOSTNAME_PATTERN, IPV6_ADDRESS_HOSTNAME_PORT_PATTERN, IPV6_PATTERN_BASE, IP_ADDRESS_HOSTNAME_PATTERN, IP_ADDRESS_HOSTNAME_PATTERN_EXTEND, IP_ADDRESS_HOSTNAME_PORT_PATTERN, IP_ADDRESS_PATTERN, IP_ADDRESS_PORT_PATTERN, IP_ADDRESS_SUBNET_PATTERN, IP_PATTERN, IP_PATTERN_BASE, IP_V4_OR_V6_PATTERN, IP_V6_ADDRESS_PATTERN, IP_V6_PATTERN, ImgHeaderPipe, ImgThemePipe, InterceptDeactivateDirective, InterceptDeactivateGuard, InterceptDeactivateService, JobStatusColorMapper, JobStatusEnum, JobStatusIconMapper, K8SResourceList, K8SResourceListFooterComponent, K8SResourcePagedList, K8S_APP_API_GROUP, K8S_CORE_API_GROUP, K8S_RESOURCE_LABEL_KEY_NAME_PATTERN, K8S_RESOURCE_LABEL_KEY_PREFIX_PATTERN, K8S_RESOURCE_LABEL_VALUE_PATTERN, K8S_RESOURCE_LIST_MODULE, K8S_RESOURCE_NAME_BASE, K8S_RESOURCE_NAME_START_WITH_CHARS_ONLY, K8S_RESOURCE_TRANSLATE_KEY, K8sListFooterLoadingErrorDirective, K8sListFooterNoDataDirective, K8sResourceAction, K8sResourceMarkComponent, K8sResourceTranslateKeyPipe, K8sSharedUtilService, K8sYamlDisplayDialogComponent, KeyValueFormTableComponent, KeyValuePipe, KeyValueTableComponent, LABELS, LINK, LOCAL_STORAGE_KEY_THEME_MODE, ListenResizeDirective, LoadAction, LoadingMaskComponent, LocaleTransformPipe, MACHINE_API_GROUP, METADATA, MarkedPipe, MaxLengthValidatorDirective, MaxValidatorDirective, MinLengthValidatorDirective, MinValidatorDirective, MinimumFormatPipe, NAME, NAMESPACE, NOTIFICATION_SERVER_NAME, NOTIFY_DURATION_HEADER, NOTIFY_ON_ERROR_HEADER, NOTIFY_ON_ERROR_HEADERS, NOT_NOTIFY_ON_ERROR_HEADERS, NUMBER_PATTERN, NotBeValidatorDirective, OAM_GROUP, ObservableInput, OnResizeChangeService, OneOfValidatorDirective, PACKAGE_RUNTIME_VALUE, PAGE_GUARD_MODULE, PLATFORM_OPS_MODE, PORT_PATTERN, POSITIVE_INT_PATTERN, POSITIVE_NUMBER_PATTERN, PREFIX_LABEL_CLASS, PROJECT, PUBLIC_NAMESPACE, PageGuardComponent, PageGuardContentDirective, PageGuardDescriptionDirective, PageGuardImageDirective, PageGuardOperationDirective, PageStateComponent, ParseJsonPipe, ParseJsonTranslatePipe, PasswordInputComponent, PodStatusColorMapper, PodStatusComponent, PodStatusEnum, PodStatusIconMapper, PreventClipboardDirective, PreventDirective, PreventHandler, ProductKey, PurePipe, REASON_MAP, RESOURCE_MAC_TYPES, RESOURCE_REQUIREMENT_KEYS, ReadonlyFieldDirective, Reason, RelativeTimeComponent, RelativeTimePipe, RequestPool, ResizeDirective, ResourceLabelComponent, ResourceMultiSelectComponent, ResourceYamlDisplayComponent, SERVICE_PORT_BASE_PROTOCOLS, SERVICE_PORT_PROTOCOLS, SERVICE_SESSION_AFFINITIES, SERVICE_TYPES, SLASH, SPACE, SPEC, STATUS, STRATEGY_JUDGE_MAPPER, STRONG_PASSWORD_SPECIAL_CHARS, SafePipe, SanitizePipe, ScrollBorderObserverDirective, ScrollToFirstInvalidDirective, ScrollToFirstInvalidMarkerDirective, SearchItemComponent, SearchItemLabelDirective, SearchPanelComponent, SecretType, SelectPrefixLabelDirective, SpanComponent, StandardDatePipe, StandardTimePipe, StatusIconComponent, StopDirective, StringArrayFormTableComponent, StrongPasswordDirective, StrongPasswordTooltipComponent, StrongPasswordValidatorModule, TEMPLATE_OPTIONS, TIMEZONES, TIME_FORMAT, TOKEN_HELP_DOC_DATA, TRUE, TableCustomColumnsComponent, TagsLabelComponent, TaintEffect, TerminatingTagComponent, TextEllipsisComponent, TextTooltipDirective, TextWithUrlComponent, ThemeTransformPipe, TimezoneDisplayPipe, TolerationOperator, TrimDirective, UNDERSCORE, UNITS, UNIT_REG, UPDATE, UPDATED_AT, UPDATED__AT, UpdateDescriptionDialogComponent, UpdateDisplayNameDialogComponent, UpdateKeyValueDialogComponent, UploadFileComponent, UserSecurityPolicyRule, UserState, VOLUME_SNAPSHOT_GROUP, ValidateRowDuplicateService, ValidatorsDirective, ValueHook, VolumeMode, VolumeModes, VolumeTypeEnum, WEEK_DAYS, WILDCARD, WORKSPACE_PARAMS, WorkloadKind, WorkloadStatusColorMapper, WorkloadStatusEnum, WorkloadStatusIconMapper, YamlUtilService, ZeroStateComponent, addUnitCoreM, addUnitGi, addUnitMi, appendImageHeader, arrayify, asIsComparator, atobWithFallback, bind, buildImageAddress, buildUrl, catchPromise, checkValueExit, clearWindowsXtermTools, commonOptions, compareMinorVersion, compareVersion, copyValue, createActions, createNestedFormControl, createPollObservable, cronValidator, cronValidatorBasic, dataTransfer, dateValueOf, debounceFn, delay, emptyObjectRemoveRuleFactory, errorColor, extractListParamsFromRoute, extractPagedListParams, extractWorkspace, extractWorkspaceFromRoute, filterEmptyValue, filterTrees, findPath, firstPath, formatCPU, formatMemory, formatNumber, genControlDepsMap, getAppropriateMemory, getBaseHref, getCpu, getCronWeekDayNumbers, getDisabledState, getDisabledState$, getHelpDocUrl, getHostname, getJobStatus, getK8sResourceAnnotationErrorMapper, getK8sResourceAnnotationErrorMapper$, getK8sResourceLabelErrorMapper, getK8sResourceLabelErrorMapper$, getMemory, getParamFromParent, getPickerTimeRanges, getPodAggregatedStatus, getPodIPs, getPodStatus, getPrivateIP, getPrivateIPv4, getPrivateIPv6, getRelativePath, getResourceLimitAsyncValidatorFn, getResourceLimitValidatorFn, getResourceValue, getResourceViewModel, getToPath, getTopWindow, getValidVersion, getWorkloadStatus, ifExist, initGreaterValidator, initParamFromParent$, isAbsoluteUrl, isBlank, isCronFieldCountCorrect, isCronWeekDayCorrect, isCronWeekDaysContinuous, isEqual, isErrorMessage, isFieldNotAvailable, isJsonObjectString, isK8sResource, isMac, isSelectAll, isValidRID, isValidWorkspace, isWindows, k8sResourceAnnotationKeyValidator, k8sResourceAnnotationValidator, k8sResourceLabelKeyValidator, k8sResourceLabelValidator, k8sResourceLabelValueValidator, loadEnv, logsActions, logsReadOptions, mapTrees, matchExpressionsToString, matchLabelsToString, maxParallelByHttpVersion, noShowRowError, noop, normalizeParams, numToStr, onDestroy, parse, parseAll, parseBase64Type, parseDaemonSetStatus, parseDeploymentStatus, parseImageAddress, parseJSONStream, parseJson, parseRID, parseStatefulSetStatus, parseToWorkloadStatus, parseUrlInText, parseValidImageName, parseValueAndUnit, parseVersion, parseWorkspace, prefixFilterRuleFactory, primaryColor, publishRef, queryListParams, randomPassword, readonlyOptions, reduceTrees, removeDirtyFieldsBeforeUpdate, resourceUnits, rowBackgroundColorFn, safeAssign, safeParseYaml, safePluck, saveAs, scrollIntoView, setNode, setupErrorMapper, shareUntil, shareUntilDestroyed, shortNum, skipError, sleep, sortByCreationTimestamp, startWithCondition, stringToMatchLabels, stringifyRID, stringifyWorkspace, successColor, switchTap, tableSort, tableSortAdvance, tagRenderDefault, tapSkip, textWriteOptions, toKeys, toLowerFirstLetter, toUnitGi, toUnitI, toUnitMi, toUnitNum, toUnitNumM, trackByName, trackByUid, transferResource, updateActions, versionRegex, viewActions, warnColor, withLoadState, workspaceToPath, wrapText, yamlFilterField, yamlReadOptions, yamlWriteOptions };
11019
11161
  //# sourceMappingURL=alauda-fe-dynamic-plugin-shared.mjs.map