@alauda-fe/dynamic-plugin-shared 0.0.1-alpha.13 → 0.0.1-alpha.15

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.
Files changed (113) hide show
  1. package/components/index.d.ts +0 -2
  2. package/components/resource-multi-select/component.d.ts +2 -2
  3. package/esm2022/array-form-table/form/component.mjs +2 -2
  4. package/esm2022/array-form-table/key-value-form/component.mjs +2 -2
  5. package/esm2022/array-form-table/key-value-table/component.mjs +2 -2
  6. package/esm2022/async-data/async-data-loader.mjs +2 -2
  7. package/esm2022/async-data/page-state/component.mjs +2 -3
  8. package/esm2022/code-editor/resource-yaml-display/component.mjs +2 -2
  9. package/esm2022/components/current-time/component.mjs +2 -2
  10. package/esm2022/components/date-range-picker/component.mjs +2 -2
  11. package/esm2022/components/disabled-container/disabled-container.component.mjs +2 -2
  12. package/esm2022/components/foldable-item-in-table/component.mjs +2 -2
  13. package/esm2022/components/help-document/component.mjs +2 -2
  14. package/esm2022/components/index.mjs +1 -3
  15. package/esm2022/components/list-display/component.mjs +2 -2
  16. package/esm2022/components/multi-search/action-input/component.mjs +3 -3
  17. package/esm2022/components/multi-search/form/component.mjs +2 -2
  18. package/esm2022/components/multi-search/multi-search-tags/component.mjs +2 -2
  19. package/esm2022/components/mutable/mosaic/component.mjs +2 -2
  20. package/esm2022/components/page-guard/component/component.mjs +2 -3
  21. package/esm2022/components/password-input/component.mjs +2 -2
  22. package/esm2022/components/pod-status/component.mjs +2 -2
  23. package/esm2022/components/relative-time/component.mjs +2 -2
  24. package/esm2022/components/resource-label/component.mjs +2 -2
  25. package/esm2022/components/resource-multi-select/component.mjs +3 -3
  26. package/esm2022/components/select-prefix-label/directive.mjs +2 -2
  27. package/esm2022/components/status-icon/status-icon.component.mjs +2 -2
  28. package/esm2022/components/table/component.mjs +4 -3
  29. package/esm2022/components/tags-label/component.mjs +3 -3
  30. package/esm2022/components/text-with-url/component.mjs +2 -2
  31. package/esm2022/components/workload-status/component.mjs +2 -2
  32. package/esm2022/components/zero-state/zero-state.component.mjs +2 -3
  33. package/esm2022/directives/disabled.directive.mjs +2 -2
  34. package/esm2022/directives/effect-directive/event.directive.mjs +2 -2
  35. package/esm2022/directives/readonly-field.directive.mjs +3 -3
  36. package/esm2022/directives/value-trace.directive.mjs +2 -2
  37. package/esm2022/form/base-form-container.mjs +2 -3
  38. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +2 -2
  39. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +2 -2
  40. package/esm2022/form/validators/async-function-validator.directive.mjs +2 -2
  41. package/esm2022/form/validators/function-validator.directive.mjs +2 -2
  42. package/esm2022/form/validators/not-be-validator.directive.mjs +2 -2
  43. package/esm2022/form/validators/one-of-validator.directive.mjs +2 -2
  44. package/esm2022/form/validators/utils.mjs +3 -2
  45. package/esm2022/k8s-resource-list/footer/component.mjs +2 -2
  46. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +2 -2
  47. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +2 -2
  48. package/esm2022/page-deactivate/deactivate.directive.mjs +2 -2
  49. package/esm2022/page-deactivate/deactivate.service.mjs +2 -2
  50. package/esm2022/pipes/index.mjs +1 -10
  51. package/esm2022/services/form-row-duplicate/form-row-duplicate.service.mjs +2 -2
  52. package/esm2022/services/yaml-util.service.mjs +3 -2
  53. package/esm2022/types/common.mjs +1 -1
  54. package/esm2022/utils/common.mjs +3 -60
  55. package/esm2022/utils/disabled-state.mjs +2 -2
  56. package/esm2022/utils/index.mjs +1 -7
  57. package/esm2022/utils/unit.mjs +3 -2
  58. package/esm2022/utils/workspace.mjs +1 -1
  59. package/esm2022/utils/yaml.mjs +1 -16
  60. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs +66 -1080
  61. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs.map +1 -1
  62. package/package.json +1 -1
  63. package/pipes/index.d.ts +0 -9
  64. package/styles/lib.scss +1 -1
  65. package/styles/mixins.scss +2 -2
  66. package/styles/var.scss +1 -1
  67. package/types/common.d.ts +1 -5
  68. package/utils/common.d.ts +1 -13
  69. package/utils/index.d.ts +0 -6
  70. package/utils/workspace.d.ts +1 -1
  71. package/utils/yaml.d.ts +0 -5
  72. package/components/loading-mask/loading-mask.component.d.ts +0 -13
  73. package/components/namespace-selector/component.d.ts +0 -28
  74. package/components/namespace-selector/constants.d.ts +0 -2
  75. package/components/namespace-selector/index.d.ts +0 -3
  76. package/components/namespace-selector/namespace-list/component.d.ts +0 -46
  77. package/components/namespace-selector/types.d.ts +0 -5
  78. package/esm2022/components/loading-mask/loading-mask.component.mjs +0 -35
  79. package/esm2022/components/namespace-selector/component.mjs +0 -126
  80. package/esm2022/components/namespace-selector/constants.mjs +0 -3
  81. package/esm2022/components/namespace-selector/index.mjs +0 -4
  82. package/esm2022/components/namespace-selector/namespace-list/component.mjs +0 -191
  83. package/esm2022/components/namespace-selector/types.mjs +0 -2
  84. package/esm2022/pipes/field-not-available.pipe.mjs +0 -25
  85. package/esm2022/pipes/img-header.pipe.mjs +0 -18
  86. package/esm2022/pipes/img-theme.pipe.mjs +0 -38
  87. package/esm2022/pipes/keyvalue.pipe.mjs +0 -20
  88. package/esm2022/pipes/parse-json.pipe.mjs +0 -22
  89. package/esm2022/pipes/pure.pipe.mjs +0 -26
  90. package/esm2022/pipes/safe.pipe.mjs +0 -49
  91. package/esm2022/pipes/sanitize.pipe.mjs +0 -31
  92. package/esm2022/pipes/time.pipe.mjs +0 -113
  93. package/esm2022/utils/browser.mjs +0 -21
  94. package/esm2022/utils/cache-store.mjs +0 -83
  95. package/esm2022/utils/decorators.mjs +0 -137
  96. package/esm2022/utils/observable.mjs +0 -32
  97. package/esm2022/utils/operators.mjs +0 -38
  98. package/esm2022/utils/router.mjs +0 -20
  99. package/pipes/field-not-available.pipe.d.ts +0 -13
  100. package/pipes/img-header.pipe.d.ts +0 -7
  101. package/pipes/img-theme.pipe.d.ts +0 -13
  102. package/pipes/keyvalue.pipe.d.ts +0 -9
  103. package/pipes/parse-json.pipe.d.ts +0 -7
  104. package/pipes/pure.pipe.d.ts +0 -17
  105. package/pipes/safe.pipe.d.ts +0 -10
  106. package/pipes/sanitize.pipe.d.ts +0 -10
  107. package/pipes/time.pipe.d.ts +0 -40
  108. package/utils/browser.d.ts +0 -4
  109. package/utils/cache-store.d.ts +0 -35
  110. package/utils/decorators.d.ts +0 -14
  111. package/utils/observable.d.ts +0 -5
  112. package/utils/operators.d.ts +0 -22
  113. package/utils/router.d.ts +0 -3
@@ -1,191 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { IconComponent, SearchComponent, SELECT_MODULE, TOOLTIP_MODULE, } from '@alauda/ui';
3
- import { K8S_UTIL_PIPES_MODULE, K8sUtilService, TranslatePipe, } from '@alauda-fe/dynamic-plugin-sdk';
4
- import { AsyncPipe, NgClass, NgFor, NgIf } from '@angular/common';
5
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
6
- import { FormsModule } from '@angular/forms';
7
- import { BehaviorSubject, combineLatest, map, Observable, ReplaySubject, startWith, Subject, takeUntil, } from 'rxjs';
8
- import { PurePipe } from '../../../pipes';
9
- import { ObservableInput, onDestroy } from '../../../utils';
10
- import { LoadingMaskComponent } from '../../loading-mask/loading-mask.component';
11
- import { ZeroStateComponent } from '../../zero-state/zero-state.component';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@alauda-fe/dynamic-plugin-sdk";
14
- import * as i2 from "@alauda/ui";
15
- export class NamespaceListComponent {
16
- constructor(cdr, k8sUtil) {
17
- this.cdr = cdr;
18
- this.k8sUtil = k8sUtil;
19
- this.selectItem = new EventEmitter();
20
- this.loading = true;
21
- this.reload$$ = new Subject();
22
- this.destroy$$ = onDestroy();
23
- this.load$$ = new ReplaySubject(1);
24
- this.keyword$$ = new BehaviorSubject('');
25
- this.namespaceType$$ = new BehaviorSubject('all');
26
- this.scrollInitialized = false;
27
- this.namespaceTypes = [
28
- {
29
- value: 'all',
30
- key: 'all_namespace',
31
- },
32
- {
33
- value: 'project',
34
- key: 'project_shared_namespace',
35
- },
36
- ];
37
- this.statusIcon = {
38
- normal: 'check_circle_s',
39
- abnormal: 'exclamation_triangle_s',
40
- enabled: 'check_circle_s',
41
- disabled: 'minus_circle_s',
42
- };
43
- this.filteredList$ = combineLatest([
44
- this.namespaces$,
45
- this.keyword$$.pipe(startWith('')),
46
- this.namespaceType$$.pipe(startWith('all')),
47
- ]).pipe(map(([data, keyword, type]) => {
48
- return (data || []).filter(item => {
49
- const k = keyword.toLowerCase();
50
- return ((item.metadata.name.toLowerCase().includes(k) ||
51
- this.k8sUtil.getDisplayName(item)?.toLowerCase()?.includes(k)) &&
52
- (type === 'all' ||
53
- (type === 'project' &&
54
- !!this.k8sUtil.getLabel(item, 'inner-namespace'))));
55
- });
56
- }));
57
- this.getHighlightedNameStrs = (item) => {
58
- const keyword = this.keyword$$.value;
59
- if (!keyword) {
60
- return [
61
- {
62
- text: item.metadata.name,
63
- },
64
- ];
65
- }
66
- const original = item.metadata.name;
67
- const strs = item.metadata.name.toLowerCase().split(keyword.toLowerCase());
68
- const ret = [];
69
- let pos = 0;
70
- for (const [i, str] of strs.entries()) {
71
- const end = pos + str.length;
72
- ret.push({
73
- text: original.slice(pos, end),
74
- });
75
- if (i !== strs.length - 1) {
76
- ret.push({
77
- text: original.slice(end, end + keyword.length),
78
- isHighlighted: true,
79
- });
80
- }
81
- pos = end + keyword.length;
82
- }
83
- return ret;
84
- };
85
- this.getHighlightedDisplayNameStrs = (item) => {
86
- const keyword = this.keyword$$.value;
87
- const displayName = this.k8sUtil.getDisplayName(item);
88
- if (!keyword || !displayName) {
89
- return [
90
- {
91
- text: displayName,
92
- },
93
- ];
94
- }
95
- const original = displayName;
96
- const strs = displayName.toLowerCase().split(keyword.toLowerCase());
97
- const ret = [];
98
- let pos = 0;
99
- for (const [i, str] of strs.entries()) {
100
- const end = pos + str.length;
101
- ret.push({
102
- text: original.slice(pos, end),
103
- });
104
- if (i !== strs.length - 1) {
105
- ret.push({
106
- text: original.slice(end, end + keyword.length),
107
- isHighlighted: true,
108
- });
109
- }
110
- pos = end + keyword.length;
111
- }
112
- return ret;
113
- };
114
- this.namespaces$.pipe(takeUntil(this.destroy$$)).subscribe(data => {
115
- if (this.grid) {
116
- this.initScroll(this.grid.nativeElement, data);
117
- }
118
- });
119
- this.reload$$
120
- .asObservable()
121
- .pipe(takeUntil(this.destroy$$))
122
- .subscribe(() => {
123
- this.reload();
124
- this.cdr.markForCheck();
125
- });
126
- }
127
- reload() {
128
- this.reload$$.next();
129
- }
130
- onSelect(selected) {
131
- this.selectItem.emit(selected);
132
- }
133
- initScroll(scrollEl, data) {
134
- if (this.scrollInitialized || !data?.length) {
135
- return;
136
- }
137
- const currentIndex = data.findIndex(item => item.metadata.name === this.value);
138
- const rowHeight = scrollEl.scrollHeight / data.length;
139
- if (currentIndex > -1 &&
140
- rowHeight * (currentIndex + 1) > scrollEl.offsetHeight) {
141
- scrollEl.scrollTo({
142
- top: rowHeight * currentIndex,
143
- });
144
- }
145
- this.scrollInitialized = true;
146
- }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NamespaceListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.K8sUtilService }], target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NamespaceListComponent, isStandalone: true, selector: "acl-namespace-list", inputs: { namespaces: "namespaces", value: "value", cluster: "cluster", loading: "loading" }, outputs: { selectItem: "selectItem" }, viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], ngImport: i0, template: "<div class=\"header header--lite\">\n <div class=\"header__row\">\n <span class=\"header__title\">\n <span>{{ 'namespaces' | translate }}</span\n ><span class=\"header__desc\"\n >\uFF08{{ (filteredList$ | async)?.length || 0 }}\uFF09</span\n >\n </span>\n </div>\n\n <!-- <div class=\"tw-flex-1\"></div> -->\n <div class=\"header__row\">\n <aui-select\n size=\"small\"\n class=\"tw-mr-8\"\n [filterable]=\"false\"\n [value]=\"namespaceType$$ | async\"\n (valueChange)=\"namespaceType$$.next($event)\"\n >\n <aui-option\n *ngFor=\"let item of namespaceTypes\"\n [value]=\"item.value\"\n [label]=\"item.key | translate\"\n >\n {{ item.key | translate }}\n </aui-option>\n <aui-option-placeholder>\n {{ 'no_data' | translate }}\n </aui-option-placeholder>\n </aui-select>\n <span class=\"tw-flex-1\"></span>\n <aui-search\n [searchButton]=\"false\"\n [placeholder]=\"'filter_by_name_or_display_name' | translate\"\n [keyword]=\"keyword$$ | async\"\n (keywordChange)=\"keyword$$.next($event)\"\n [clearable]=\"true\"\n size=\"small\"\n ></aui-search>\n </div>\n</div>\n<ng-container *ngIf=\"filteredList$ | async as displayData\">\n <div\n class=\"grid grid--popup grid--popup--lite\"\n *ngIf=\"displayData.length\"\n #grid\n >\n <div\n class=\"grid__item\"\n *ngFor=\"let item of displayData\"\n [ngClass]=\"{\n 'grid__item--selected': value === item.metadata.name,\n }\"\n (click)=\"onSelect(item)\"\n >\n <aui-icon\n *ngIf=\"value === item.metadata.name\"\n class=\"check-triangle-badge\"\n icon=\"check\"\n ></aui-icon>\n <!-- icon -->\n <div class=\"grid__field grid__field-icon\">\n <aui-icon\n class=\"acl-colorful-icon\"\n [icon]=\"'bicolor:namespace'\"\n ></aui-icon>\n </div>\n <!-- name -->\n <div class=\"grid__field grid__field-name\">\n <div class=\"name\">\n <ng-container *ngFor=\"let str of item | pure: getHighlightedNameStrs\">\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n <div class=\"des\">\n <ng-container\n *ngFor=\"let str of item | pure: getHighlightedDisplayNameStrs\"\n >\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n </div>\n\n <div class=\"grid__field tw-flex grid__field-project\">\n <span\n *ngIf=\"item | aclLabel: 'project' as project\"\n class=\"belonged-project tw-flex\"\n auiTooltip=\"{{ ('project' | translate) + ': ' + project }}\"\n >\n <span class=\"with-colon\">{{ 'project' | translate }}</span>\n <span class=\"tw-text-ellipsis tw-overflow-hidden\">\n {{ project }}\n </span>\n </span>\n </div>\n </div>\n </div>\n <acl-zero-state\n *ngIf=\"!displayData?.length\"\n context=\"table\"\n ></acl-zero-state>\n</ng-container>\n<div\n class=\"loading\"\n *ngIf=\"!(namespaces$ | async)\"\n>\n <acl-loading-mask\n [loading]=\"loading\"\n type=\"content\"\n ></acl-loading-mask>\n</div>\n", styles: [":host{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:10px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header{display:flex;flex-direction:column;margin-bottom:4px}.header__row{margin-bottom:8px;display:flex}.header--lite{margin-top:8px}.header--lite .header__title{font-size:16px;font-weight:var(--aui-font-weight-bolder);line-height:22px}.header aui-search{width:260px}.header__title{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__desc{color:rgb(var(--aui-color-n-4))}.header__custom{flex:1;padding:0 36px}.header__display-mode{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.grid{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid::-webkit-scrollbar{width:8px;height:4px}.grid::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}.grid::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}.grid::-webkit-scrollbar-corner{background-color:transparent}.grid__item{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item:not(:last-child){margin-bottom:8px}.grid__item:hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__field{flex:2;line-height:20px}.grid__field:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field-icon{max-width:30px;display:inline-flex}.grid__field-name{flex:2;flex-direction:column;max-width:280px}.grid__field-name .name,.grid__field-name .des{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name .name{font-size:14px;font-weight:500;line-height:20px}.grid__field-name .name aui-icon{margin-left:4px}.grid__field-name .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid--popup{max-height:382px;padding:12px}.grid--popup .grid__field-name .name{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup--lite{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite .grid__item{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite .grid__item .grid__field-name{margin-right:12px}.grid--popup--lite .grid__item .grid__field-name .name{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite .grid__item .grid__field-icon{max-width:16px;margin-right:4px}.grid--popup--lite .grid__item .grid__item-selected-icon{display:inline-flex}.grid--popup--lite .grid__item .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite .grid__item .with-colon{font-weight:500}.grid--popup--lite .grid__item ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item--selected{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon{font-weight:500}.with-colon:after{content:\":\";margin-right:8px}.icon-normal,.icon-enabled{color:rgb(var(--aui-color-green))}.icon-abnormal{color:rgb(var(--aui-color-red))}.icon-disabled{color:rgb(var(--aui-color-n-6))}.belonged-project{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgb(var(--aui-color-n-4));position:relative}.belonged-project .with-colon+span{margin-right:8px}.belonged-project aui-tag{display:inline-flex}.loading{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data{flex:1;margin:40px 0 80px}acl-zero-state ::ng-deep .zero-placeholder{min-height:44px;padding:12px 10px}\n"], dependencies: [{ kind: "component", type: SearchComponent, selector: "aui-search", inputs: ["size", "searchButton", "clearable", "searching", "placeholder", "disabled", "keyword"], outputs: ["keywordChange", "search", "clear"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "pipe", type: PurePipe, name: "pure" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ZeroStateComponent, selector: "acl-zero-state", inputs: ["resourceName", "resourceNameTranslated", "customPlaceholder", "zeroState", "fetching", "context", "minHeight"] }, { kind: "component", type: LoadingMaskComponent, selector: "acl-loading-mask", inputs: ["loading", "type", "text"] }, { kind: "pipe", type: i1.K8sLabelPipe, name: "aclLabel" }, { kind: "directive", type: i2.TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick", "auiTooltipAnimType"], outputs: ["auiTooltipVisibleChange"], exportAs: ["auiTooltip"] }, { kind: "component", type: i2.SelectComponent, selector: "aui-select" }, { kind: "component", type: i2.OptionComponent, selector: "aui-option", inputs: ["label", "labelContext", "value", "disabled"] }, { kind: "component", type: i2.OptionPlaceholderComponent, selector: "aui-option-placeholder" }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
149
- }
150
- __decorate([
151
- ObservableInput(),
152
- __metadata("design:type", Observable)
153
- ], NamespaceListComponent.prototype, "namespaces$", void 0);
154
- __decorate([
155
- ObservableInput(),
156
- __metadata("design:type", Observable)
157
- ], NamespaceListComponent.prototype, "cluster$", void 0);
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NamespaceListComponent, decorators: [{
159
- type: Component,
160
- args: [{ selector: 'acl-namespace-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
161
- SearchComponent,
162
- NgClass,
163
- NgIf,
164
- NgFor,
165
- AsyncPipe,
166
- IconComponent,
167
- PurePipe,
168
- IconComponent,
169
- TranslatePipe,
170
- ZeroStateComponent,
171
- LoadingMaskComponent,
172
- K8S_UTIL_PIPES_MODULE,
173
- TOOLTIP_MODULE,
174
- SELECT_MODULE,
175
- FormsModule,
176
- ], template: "<div class=\"header header--lite\">\n <div class=\"header__row\">\n <span class=\"header__title\">\n <span>{{ 'namespaces' | translate }}</span\n ><span class=\"header__desc\"\n >\uFF08{{ (filteredList$ | async)?.length || 0 }}\uFF09</span\n >\n </span>\n </div>\n\n <!-- <div class=\"tw-flex-1\"></div> -->\n <div class=\"header__row\">\n <aui-select\n size=\"small\"\n class=\"tw-mr-8\"\n [filterable]=\"false\"\n [value]=\"namespaceType$$ | async\"\n (valueChange)=\"namespaceType$$.next($event)\"\n >\n <aui-option\n *ngFor=\"let item of namespaceTypes\"\n [value]=\"item.value\"\n [label]=\"item.key | translate\"\n >\n {{ item.key | translate }}\n </aui-option>\n <aui-option-placeholder>\n {{ 'no_data' | translate }}\n </aui-option-placeholder>\n </aui-select>\n <span class=\"tw-flex-1\"></span>\n <aui-search\n [searchButton]=\"false\"\n [placeholder]=\"'filter_by_name_or_display_name' | translate\"\n [keyword]=\"keyword$$ | async\"\n (keywordChange)=\"keyword$$.next($event)\"\n [clearable]=\"true\"\n size=\"small\"\n ></aui-search>\n </div>\n</div>\n<ng-container *ngIf=\"filteredList$ | async as displayData\">\n <div\n class=\"grid grid--popup grid--popup--lite\"\n *ngIf=\"displayData.length\"\n #grid\n >\n <div\n class=\"grid__item\"\n *ngFor=\"let item of displayData\"\n [ngClass]=\"{\n 'grid__item--selected': value === item.metadata.name,\n }\"\n (click)=\"onSelect(item)\"\n >\n <aui-icon\n *ngIf=\"value === item.metadata.name\"\n class=\"check-triangle-badge\"\n icon=\"check\"\n ></aui-icon>\n <!-- icon -->\n <div class=\"grid__field grid__field-icon\">\n <aui-icon\n class=\"acl-colorful-icon\"\n [icon]=\"'bicolor:namespace'\"\n ></aui-icon>\n </div>\n <!-- name -->\n <div class=\"grid__field grid__field-name\">\n <div class=\"name\">\n <ng-container *ngFor=\"let str of item | pure: getHighlightedNameStrs\">\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n <div class=\"des\">\n <ng-container\n *ngFor=\"let str of item | pure: getHighlightedDisplayNameStrs\"\n >\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n </div>\n\n <div class=\"grid__field tw-flex grid__field-project\">\n <span\n *ngIf=\"item | aclLabel: 'project' as project\"\n class=\"belonged-project tw-flex\"\n auiTooltip=\"{{ ('project' | translate) + ': ' + project }}\"\n >\n <span class=\"with-colon\">{{ 'project' | translate }}</span>\n <span class=\"tw-text-ellipsis tw-overflow-hidden\">\n {{ project }}\n </span>\n </span>\n </div>\n </div>\n </div>\n <acl-zero-state\n *ngIf=\"!displayData?.length\"\n context=\"table\"\n ></acl-zero-state>\n</ng-container>\n<div\n class=\"loading\"\n *ngIf=\"!(namespaces$ | async)\"\n>\n <acl-loading-mask\n [loading]=\"loading\"\n type=\"content\"\n ></acl-loading-mask>\n</div>\n", styles: [":host{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:10px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header{display:flex;flex-direction:column;margin-bottom:4px}.header__row{margin-bottom:8px;display:flex}.header--lite{margin-top:8px}.header--lite .header__title{font-size:16px;font-weight:var(--aui-font-weight-bolder);line-height:22px}.header aui-search{width:260px}.header__title{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__desc{color:rgb(var(--aui-color-n-4))}.header__custom{flex:1;padding:0 36px}.header__display-mode{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.grid{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid::-webkit-scrollbar{width:8px;height:4px}.grid::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}.grid::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}.grid::-webkit-scrollbar-corner{background-color:transparent}.grid__item{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item:not(:last-child){margin-bottom:8px}.grid__item:hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__field{flex:2;line-height:20px}.grid__field:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field-icon{max-width:30px;display:inline-flex}.grid__field-name{flex:2;flex-direction:column;max-width:280px}.grid__field-name .name,.grid__field-name .des{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name .name{font-size:14px;font-weight:500;line-height:20px}.grid__field-name .name aui-icon{margin-left:4px}.grid__field-name .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid--popup{max-height:382px;padding:12px}.grid--popup .grid__field-name .name{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup--lite{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite .grid__item{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite .grid__item .grid__field-name{margin-right:12px}.grid--popup--lite .grid__item .grid__field-name .name{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite .grid__item .grid__field-icon{max-width:16px;margin-right:4px}.grid--popup--lite .grid__item .grid__item-selected-icon{display:inline-flex}.grid--popup--lite .grid__item .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite .grid__item .with-colon{font-weight:500}.grid--popup--lite .grid__item ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item--selected{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon{font-weight:500}.with-colon:after{content:\":\";margin-right:8px}.icon-normal,.icon-enabled{color:rgb(var(--aui-color-green))}.icon-abnormal{color:rgb(var(--aui-color-red))}.icon-disabled{color:rgb(var(--aui-color-n-6))}.belonged-project{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgb(var(--aui-color-n-4));position:relative}.belonged-project .with-colon+span{margin-right:8px}.belonged-project aui-tag{display:inline-flex}.loading{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data{flex:1;margin:40px 0 80px}acl-zero-state ::ng-deep .zero-placeholder{min-height:44px;padding:12px 10px}\n"] }]
177
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.K8sUtilService }], propDecorators: { grid: [{
178
- type: ViewChild,
179
- args: ['grid']
180
- }], namespaces: [{
181
- type: Input
182
- }], namespaces$: [], value: [{
183
- type: Input
184
- }], cluster: [{
185
- type: Input
186
- }], cluster$: [], selectItem: [{
187
- type: Output
188
- }], loading: [{
189
- type: Input
190
- }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2NvbXBvbmVudHMvbmFtZXNwYWNlLXNlbGVjdG9yL25hbWVzcGFjZS1saXN0L2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9jb21wb25lbnRzL25hbWVzcGFjZS1zZWxlY3Rvci9uYW1lc3BhY2UtbGlzdC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGVBQWUsRUFDZixhQUFhLEVBQ2IsY0FBYyxHQUNmLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGFBQWEsR0FDZCxNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsR0FBRyxFQUNILFVBQVUsRUFDVixhQUFhLEVBQ2IsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVB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R0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQzs4R0FsTFUsc0JBQXNCO2tHQUF0QixzQkFBc0IsaVRDaEVuQyw0MkdBbUhBLCtuSURwRUksZUFBZSx3TUFDZixPQUFPLG9GQUNQLElBQUksNkZBQ0osS0FBSyw4R0FDTCxTQUFTLDhDQUNULGFBQWEsdUpBQ2IsUUFBUSx3Q0FFUixhQUFhLGtEQUNiLGtCQUFrQixxTEFDbEIsb0JBQW9CLG94QkFJcEIsV0FBVzs7QUFRYjtJQURDLGVBQWUsRUFBRTs4QkFDSixVQUFVOzJEQUF1QjtBQVMvQztJQURDLGVBQWUsRUFBRTs4QkFDUCxVQUFVO3dEQUFTOzJGQWRuQixzQkFBc0I7a0JBeEJsQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixRQUFRO3dCQUNSLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsV0FBVztxQkFDWjttSEFHa0IsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNO2dCQUVSLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRU4sV0FBVyxNQUdYLEtBQUs7c0JBREosS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sUUFBUSxNQUdSLFVBQVU7c0JBRFQsTUFBTTtnQkFHRSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJY29uQ29tcG9uZW50LFxuICBTZWFyY2hDb21wb25lbnQsXG4gIFNFTEVDVF9NT0RVTEUsXG4gIFRPT0xUSVBfTU9EVUxFLFxufSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIEs4U19VVElMX1BJUEVTX01PRFVMRSxcbiAgSzhzVXRpbFNlcnZpY2UsXG4gIFRyYW5zbGF0ZVBpcGUsXG59IGZyb20gJ0BhbGF1ZGEtZmUvZHluYW1pYy1wbHVnaW4tc2RrJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIFJlcGxheVN1YmplY3QsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUHVyZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBLdWJlcm5ldGVzUmVzb3VyY2UsIFByb2plY3QgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIG9uRGVzdHJveSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IExvYWRpbmdNYXNrQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbG9hZGluZy1tYXNrL2xvYWRpbmctbWFzay5jb21wb25lbnQnO1xuaW1wb3J0IHsgWmVyb1N0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vemVyby1zdGF0ZS96ZXJvLXN0YXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1uYW1lc3BhY2UtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFNlYXJjaENvbXBvbmVudCxcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgTmdGb3IsXG4gICAgQXN5bmNQaXBlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgUHVyZVBpcGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIFplcm9TdGF0ZUNvbXBvbmVudCxcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBLOFNfVVRJTF9QSVBFU19NT0RVTEUsXG4gICAgVE9PTFRJUF9NT0RVTEUsXG4gICAgU0VMRUNUX01PRFVMRSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmFtZXNwYWNlTGlzdENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2dyaWQnKSBncmlkOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBASW5wdXQoKSBuYW1lc3BhY2VzOiBLdWJlcm5ldGVzUmVzb3VyY2VbXTtcbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIG5hbWVzcGFjZXMkITogT2JzZXJ2YWJsZTxLdWJlcm5ldGVzUmVzb3VyY2VbXT47XG5cbiAgQElucHV0KClcbiAgdmFsdWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBjbHVzdGVyITogc3RyaW5nO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBjbHVzdGVyJCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8S3ViZXJuZXRlc1Jlc291cmNlPigpO1xuXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSB0cnVlO1xuXG4gIHJlbG9hZCQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBkZXN0cm95JCQgPSBvbkRlc3Ryb3koKTtcblxuICBsb2FkJCQgPSBuZXcgUmVwbGF5U3ViamVjdDx7IHByb2plY3Q6IFByb2plY3Q7IGNsdXN0ZXI6IHN0cmluZyB9PigxKTtcblxuICBrZXl3b3JkJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIG5hbWVzcGFjZVR5cGUkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignYWxsJyk7XG5cbiAgcHJpdmF0ZSBzY3JvbGxJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIG5hbWVzcGFjZVR5cGVzID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAnYWxsJyxcbiAgICAgIGtleTogJ2FsbF9uYW1lc3BhY2UnLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICdwcm9qZWN0JyxcbiAgICAgIGtleTogJ3Byb2plY3Rfc2hhcmVkX25hbWVzcGFjZScsXG4gICAgfSxcbiAgXTtcblxuICBzdGF0dXNJY29uOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIG5vcm1hbDogJ2NoZWNrX2NpcmNsZV9zJyxcbiAgICBhYm5vcm1hbDogJ2V4Y2xhbWF0aW9uX3RyaWFuZ2xlX3MnLFxuICAgIGVuYWJsZWQ6ICdjaGVja19jaXJjbGVfcycsXG4gICAgZGlzYWJsZWQ6ICdtaW51c19jaXJjbGVfcycsXG4gIH07XG5cbiAgZmlsdGVyZWRMaXN0JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubmFtZXNwYWNlcyQsXG4gICAgdGhpcy5rZXl3b3JkJCQucGlwZShzdGFydFdpdGgoJycpKSxcbiAgICB0aGlzLm5hbWVzcGFjZVR5cGUkJC5waXBlKHN0YXJ0V2l0aCgnYWxsJykpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2RhdGEsIGtleXdvcmQsIHR5cGVdKSA9PiB7XG4gICAgICByZXR1cm4gKGRhdGEgfHwgW10pLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgY29uc3QgayA9IGtleXdvcmQudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAoaXRlbS5tZXRhZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaykgfHxcbiAgICAgICAgICAgIHRoaXMuazhzVXRpbC5nZXREaXNwbGF5TmFtZShpdGVtKT8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoaykpICYmXG4gICAgICAgICAgKHR5cGUgPT09ICdhbGwnIHx8XG4gICAgICAgICAgICAodHlwZSA9PT0gJ3Byb2plY3QnICYmXG4gICAgICAgICAgICAgICEhdGhpcy5rOHNVdGlsLmdldExhYmVsKGl0ZW0sICdpbm5lci1uYW1lc3BhY2UnKSkpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5uYW1lc3BhY2VzJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgIGlmICh0aGlzLmdyaWQpIHtcbiAgICAgICAgdGhpcy5pbml0U2Nyb2xsKHRoaXMuZ3JpZC5uYXRpdmVFbGVtZW50LCBkYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnJlbG9hZCQkXG4gICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLnJlbG9hZCQkLm5leHQoKTtcbiAgfVxuXG4gIG9uU2VsZWN0KHNlbGVjdGVkOiBLdWJlcm5ldGVzUmVzb3VyY2UpIHtcbiAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdChzZWxlY3RlZCk7XG4gIH1cblxuICBnZXRIaWdobGlnaHRlZE5hbWVTdHJzID0gKGl0ZW06IEt1YmVybmV0ZXNSZXNvdXJjZSkgPT4ge1xuICAgIGNvbnN0IGtleXdvcmQgPSB0aGlzLmtleXdvcmQkJC52YWx1ZTtcbiAgICBpZiAoIWtleXdvcmQpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBpdGVtLm1ldGFkYXRhLm5hbWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cbiAgICBjb25zdCBvcmlnaW5hbCA9IGl0ZW0ubWV0YWRhdGEubmFtZTtcbiAgICBjb25zdCBzdHJzID0gaXRlbS5tZXRhZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkuc3BsaXQoa2V5d29yZC50b0xvd2VyQ2FzZSgpKTtcbiAgICBjb25zdCByZXQ6IEFycmF5PHtcbiAgICAgIHRleHQ6IHN0cmluZztcbiAgICAgIGlzSGlnaGxpZ2h0ZWQ/OiBib29sZWFuO1xuICAgIH0+ID0gW107XG4gICAgbGV0IHBvcyA9IDA7XG4gICAgZm9yIChjb25zdCBbaSwgc3RyXSBvZiBzdHJzLmVudHJpZXMoKSkge1xuICAgICAgY29uc3QgZW5kID0gcG9zICsgc3RyLmxlbmd0aDtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UocG9zLCBlbmQpLFxuICAgICAgfSk7XG4gICAgICBpZiAoaSAhPT0gc3Rycy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgICB0ZXh0OiBvcmlnaW5hbC5zbGljZShlbmQsIGVuZCArIGtleXdvcmQubGVuZ3RoKSxcbiAgICAgICAgICBpc0hpZ2hsaWdodGVkOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHBvcyA9IGVuZCArIGtleXdvcmQubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9O1xuXG4gIGdldEhpZ2hsaWdodGVkRGlzcGxheU5hbWVTdHJzID0gKGl0ZW06IEt1YmVybmV0ZXNSZXNvdXJjZSkgPT4ge1xuICAgIGNvbnN0IGtleXdvcmQgPSB0aGlzLmtleXdvcmQkJC52YWx1ZTtcbiAgICBjb25zdCBkaXNwbGF5TmFtZSA9IHRoaXMuazhzVXRpbC5nZXREaXNwbGF5TmFtZShpdGVtKTtcbiAgICBpZiAoIWtleXdvcmQgfHwgIWRpc3BsYXlOYW1lKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogZGlzcGxheU5hbWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cbiAgICBjb25zdCBvcmlnaW5hbCA9IGRpc3BsYXlOYW1lO1xuICAgIGNvbnN0IHN0cnMgPSBkaXNwbGF5TmFtZS50b0xvd2VyQ2FzZSgpLnNwbGl0KGtleXdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgY29uc3QgcmV0OiBBcnJheTx7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBpc0hpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICB9PiA9IFtdO1xuICAgIGxldCBwb3MgPSAwO1xuICAgIGZvciAoY29uc3QgW2ksIHN0cl0gb2Ygc3Rycy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IGVuZCA9IHBvcyArIHN0ci5sZW5ndGg7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKHBvcywgZW5kKSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGkgIT09IHN0cnMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXQucHVzaCh7XG4gICAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UoZW5kLCBlbmQgKyBrZXl3b3JkLmxlbmd0aCksXG4gICAgICAgICAgaXNIaWdobGlnaHRlZDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBwb3MgPSBlbmQgKyBrZXl3b3JkLmxlbmd0aDtcbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfTtcblxuICBwcml2YXRlIGluaXRTY3JvbGwoc2Nyb2xsRWw6IEhUTUxFbGVtZW50LCBkYXRhOiBLdWJlcm5ldGVzUmVzb3VyY2VbXSkge1xuICAgIGlmICh0aGlzLnNjcm9sbEluaXRpYWxpemVkIHx8ICFkYXRhPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgY3VycmVudEluZGV4ID0gZGF0YS5maW5kSW5kZXgoXG4gICAgICBpdGVtID0+IGl0ZW0ubWV0YWRhdGEubmFtZSA9PT0gdGhpcy52YWx1ZSxcbiAgICApO1xuICAgIGNvbnN0IHJvd0hlaWdodCA9IHNjcm9sbEVsLnNjcm9sbEhlaWdodCAvIGRhdGEubGVuZ3RoO1xuICAgIGlmIChcbiAgICAgIGN1cnJlbnRJbmRleCA+IC0xICYmXG4gICAgICByb3dIZWlnaHQgKiAoY3VycmVudEluZGV4ICsgMSkgPiBzY3JvbGxFbC5vZmZzZXRIZWlnaHRcbiAgICApIHtcbiAgICAgIHNjcm9sbEVsLnNjcm9sbFRvKHtcbiAgICAgICAgdG9wOiByb3dIZWlnaHQgKiBjdXJyZW50SW5kZXgsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zY3JvbGxJbml0aWFsaXplZCA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXIgaGVhZGVyLS1saXRlXCI+XG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJfX3Jvd1wiPlxuICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyX190aXRsZVwiPlxuICAgICAgPHNwYW4+e3sgJ25hbWVzcGFjZXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICA+PHNwYW4gY2xhc3M9XCJoZWFkZXJfX2Rlc2NcIlxuICAgICAgICA+77yIe3sgKGZpbHRlcmVkTGlzdCQgfCBhc3luYyk/Lmxlbmd0aCB8fCAwIH1977yJPC9zcGFuXG4gICAgICA+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8IS0tIDxkaXYgY2xhc3M9XCJ0dy1mbGV4LTFcIj48L2Rpdj4gLS0+XG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJfX3Jvd1wiPlxuICAgIDxhdWktc2VsZWN0XG4gICAgICBzaXplPVwic21hbGxcIlxuICAgICAgY2xhc3M9XCJ0dy1tci04XCJcbiAgICAgIFtmaWx0ZXJhYmxlXT1cImZhbHNlXCJcbiAgICAgIFt2YWx1ZV09XCJuYW1lc3BhY2VUeXBlJCQgfCBhc3luY1wiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwibmFtZXNwYWNlVHlwZSQkLm5leHQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGF1aS1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbmFtZXNwYWNlVHlwZXNcIlxuICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgIFtsYWJlbF09XCJpdGVtLmtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IGl0ZW0ua2V5IHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2F1aS1vcHRpb24+XG4gICAgICA8YXVpLW9wdGlvbi1wbGFjZWhvbGRlcj5cbiAgICAgICAge3sgJ25vX2RhdGEnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2F1aS1vcHRpb24tcGxhY2Vob2xkZXI+XG4gICAgPC9hdWktc2VsZWN0PlxuICAgIDxzcGFuIGNsYXNzPVwidHctZmxleC0xXCI+PC9zcGFuPlxuICAgIDxhdWktc2VhcmNoXG4gICAgICBbc2VhcmNoQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInZmlsdGVyX2J5X25hbWVfb3JfZGlzcGxheV9uYW1lJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBba2V5d29yZF09XCJrZXl3b3JkJCQgfCBhc3luY1wiXG4gICAgICAoa2V5d29yZENoYW5nZSk9XCJrZXl3b3JkJCQubmV4dCgkZXZlbnQpXCJcbiAgICAgIFtjbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICBzaXplPVwic21hbGxcIlxuICAgID48L2F1aS1zZWFyY2g+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyZWRMaXN0JCB8IGFzeW5jIGFzIGRpc3BsYXlEYXRhXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImdyaWQgZ3JpZC0tcG9wdXAgZ3JpZC0tcG9wdXAtLWxpdGVcIlxuICAgICpuZ0lmPVwiZGlzcGxheURhdGEubGVuZ3RoXCJcbiAgICAjZ3JpZFxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzogdmFsdWUgPT09IGl0ZW0ubWV0YWRhdGEubmFtZSxcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICA+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJ2YWx1ZSA9PT0gaXRlbS5tZXRhZGF0YS5uYW1lXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhdWktaWNvblxuICAgICAgICAgIGNsYXNzPVwiYWNsLWNvbG9yZnVsLWljb25cIlxuICAgICAgICAgIFtpY29uXT1cIidiaWNvbG9yOm5hbWVzcGFjZSdcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBuYW1lIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLW5hbWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdHIgb2YgaXRlbSB8IHB1cmU6IGdldEhpZ2hsaWdodGVkTmFtZVN0cnNcIj5cbiAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsgaGlnaGxpZ2h0ZWQ6IHN0ci5pc0hpZ2hsaWdodGVkIH1cIj57e1xuICAgICAgICAgICAgICBzdHIudGV4dFxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHN0ciBvZiBpdGVtIHwgcHVyZTogZ2V0SGlnaGxpZ2h0ZWREaXNwbGF5TmFtZVN0cnNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsgaGlnaGxpZ2h0ZWQ6IHN0ci5pc0hpZ2hsaWdodGVkIH1cIj57e1xuICAgICAgICAgICAgICBzdHIudGV4dFxuICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCB0dy1mbGV4IGdyaWRfX2ZpZWxkLXByb2plY3RcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cIml0ZW0gfCBhY2xMYWJlbDogJ3Byb2plY3QnIGFzIHByb2plY3RcIlxuICAgICAgICAgIGNsYXNzPVwiYmVsb25nZWQtcHJvamVjdCB0dy1mbGV4XCJcbiAgICAgICAgICBhdWlUb29sdGlwPVwie3sgKCdwcm9qZWN0JyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgcHJvamVjdCB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAncHJvamVjdCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0dy10ZXh0LWVsbGlwc2lzIHR3LW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAge3sgcHJvamVjdCB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXplcm8tc3RhdGVcbiAgICAqbmdJZj1cIiFkaXNwbGF5RGF0YT8ubGVuZ3RoXCJcbiAgICBjb250ZXh0PVwidGFibGVcIlxuICA+PC9hY2wtemVyby1zdGF0ZT5cbjwvbmctY29udGFpbmVyPlxuPGRpdlxuICBjbGFzcz1cImxvYWRpbmdcIlxuICAqbmdJZj1cIiEobmFtZXNwYWNlcyQgfCBhc3luYylcIlxuPlxuICA8YWNsLWxvYWRpbmctbWFza1xuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIHR5cGU9XCJjb250ZW50XCJcbiAgPjwvYWNsLWxvYWRpbmctbWFzaz5cbjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvY29tcG9uZW50cy9uYW1lc3BhY2Utc2VsZWN0b3IvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWROYW1lc3BhY2VWYWx1ZSB7XG4gIHByb2plY3Q6IHN0cmluZztcbiAgY2x1c3Rlcjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,25 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * @module utils
4
- */
5
- import { Pipe } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- export const FIELD_NOT_AVAILABLE_PLACEHOLDER = '-';
8
- export const isFieldNotAvailable = (field) => field == null || Number.isNaN(field) || !String(field).trim();
9
- export class FieldNotAvailablePipe {
10
- transform(field) {
11
- return isFieldNotAvailable(field)
12
- ? FIELD_NOT_AVAILABLE_PLACEHOLDER
13
- : String(field);
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: FieldNotAvailablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: FieldNotAvailablePipe, isStandalone: true, name: "aclFieldNotAvailable" }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: FieldNotAvailablePipe, decorators: [{
19
- type: Pipe,
20
- args: [{
21
- name: 'aclFieldNotAvailable',
22
- standalone: true,
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbm90LWF2YWlsYWJsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3BpcGVzL2ZpZWxkLW5vdC1hdmFpbGFibGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBYyxFQUFXLEVBQUUsQ0FDN0QsS0FBSyxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBTTFFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsU0FBUyxDQUFDLEtBQWM7UUFDdEIsT0FBTyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7WUFDL0IsQ0FBQyxDQUFDLCtCQUErQjtZQUNqQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BCLENBQUM7OEdBTFUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSmpDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHNCQUFzQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGSUVMRF9OT1RfQVZBSUxBQkxFX1BMQUNFSE9MREVSID0gJy0nO1xuXG5leHBvcnQgY29uc3QgaXNGaWVsZE5vdEF2YWlsYWJsZSA9IChmaWVsZDogdW5rbm93bik6IGJvb2xlYW4gPT5cbiAgZmllbGQgPT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4oZmllbGQgYXMgbnVtYmVyKSB8fCAhU3RyaW5nKGZpZWxkKS50cmltKCk7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2FjbEZpZWxkTm90QXZhaWxhYmxlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGROb3RBdmFpbGFibGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShmaWVsZDogdW5rbm93bikge1xuICAgIHJldHVybiBpc0ZpZWxkTm90QXZhaWxhYmxlKGZpZWxkKVxuICAgICAgPyBGSUVMRF9OT1RfQVZBSUxBQkxFX1BMQUNFSE9MREVSXG4gICAgICA6IFN0cmluZyhmaWVsZCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { appendImageHeader } from '../utils';
3
- import * as i0 from "@angular/core";
4
- export class ImgHeaderPipe {
5
- transform(value, prefix) {
6
- return appendImageHeader(value, prefix);
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ImgHeaderPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: ImgHeaderPipe, isStandalone: true, name: "aclImageHeader" }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ImgHeaderPipe, decorators: [{
12
- type: Pipe,
13
- args: [{
14
- name: 'aclImageHeader',
15
- standalone: true,
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLWhlYWRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3BpcGVzL2ltZy1oZWFkZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBZTtRQUN0QyxPQUFPLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQUhVLGFBQWE7NEdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGFwcGVuZEltYWdlSGVhZGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhY2xJbWFnZUhlYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEltZ0hlYWRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZykge1xuICAgIHJldHVybiBhcHBlbmRJbWFnZUhlYWRlcih2YWx1ZSwgcHJlZml4KTtcbiAgfVxufVxuIl19
@@ -1,38 +0,0 @@
1
- import { ThemeService } from '@alauda/ui';
2
- import { ChangeDetectorRef, Pipe, } from '@angular/core';
3
- import { Subject, takeUntil } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@alauda/ui";
6
- /*
7
- 因为业务中有很多图片需要在浅色和暗色两个主题切换后使用不同的图片。
8
- 推荐在业务中建两个图片的文件夹,light 和 dark,把两种主题对应的图片放在这两个目录下
9
- <img src="icons/xxx/xxx.svg" > 变更为 <img [src]="'icons/$theme/xxx/xxx.svg' | aclImageTheme" >
10
- */
11
- export class ImgThemePipe {
12
- constructor(theme, cdr) {
13
- this.theme = theme;
14
- this.cdr = cdr;
15
- this.destroy$$ = new Subject();
16
- this.theme.currentTheme$.pipe(takeUntil(this.destroy$$)).subscribe(() => {
17
- this.cdr.markForCheck();
18
- });
19
- }
20
- transform(value) {
21
- return value.replace('$theme', this.theme.currentTheme());
22
- }
23
- ngOnDestroy() {
24
- this.destroy$$.next();
25
- this.destroy$$.complete();
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ImgThemePipe, deps: [{ token: i1.ThemeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe }); }
28
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: ImgThemePipe, isStandalone: true, name: "aclImageTheme", pure: false }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ImgThemePipe, decorators: [{
31
- type: Pipe,
32
- args: [{
33
- name: 'aclImageTheme',
34
- pure: false,
35
- standalone: true,
36
- }]
37
- }], ctorParameters: () => [{ type: i1.ThemeService }, { type: i0.ChangeDetectorRef }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLXRoZW1lLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvcGlwZXMvaW1nLXRoZW1lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLElBQUksR0FFTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRTFDOzs7O0VBSUU7QUFNRixNQUFNLE9BQU8sWUFBWTtJQUd2QixZQUNtQixLQUFtQixFQUNuQixHQUFzQjtRQUR0QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBSnhCLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTS9DLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0RSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBbkJVLFlBQVk7NEdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFMeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25EZXN0cm95LFxuICBQaXBlLFxuICBQaXBlVHJhbnNmb3JtLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vKlxuICDlm6DkuLrkuJrliqHkuK3mnInlvojlpJrlm77niYfpnIDopoHlnKjmtYXoibLlkozmmpfoibLkuKTkuKrkuLvpopjliIfmjaLlkI7kvb/nlKjkuI3lkIznmoTlm77niYfjgIJcbiAg5o6o6I2Q5Zyo5Lia5Yqh5Lit5bu65Lik5Liq5Zu+54mH55qE5paH5Lu25aS577yMbGlnaHQg5ZKMIGRhcmvvvIzmiorkuKTnp43kuLvpopjlr7nlupTnmoTlm77niYfmlL7lnKjov5nkuKTkuKrnm67lvZXkuItcbiAgPGltZyBzcmM9XCJpY29ucy94eHgveHh4LnN2Z1wiID4g5Y+Y5pu05Li6IDxpbWcgW3NyY109XCInaWNvbnMvJHRoZW1lL3h4eC94eHguc3ZnJyB8IGFjbEltYWdlVGhlbWVcIiA+XG4qL1xuQFBpcGUoe1xuICBuYW1lOiAnYWNsSW1hZ2VUaGVtZScsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJbWdUaGVtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aGVtZTogVGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy50aGVtZS5jdXJyZW50VGhlbWUkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgnJHRoZW1lJywgdGhpcy50aGVtZS5jdXJyZW50VGhlbWUoKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -1,20 +0,0 @@
1
- import { KeyValuePipe as _KeyValuePipe } from '@angular/common';
2
- import { Pipe } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export const asIsComparator = (_a, _b) => 0;
5
- export class KeyValuePipe extends _KeyValuePipe {
6
- // @ts-expect-error - no idea how to fix thi shit
7
- transform(input) {
8
- return super.transform(input, asIsComparator);
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: KeyValuePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
11
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: KeyValuePipe, isStandalone: true, name: "aclKeyvalue" }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: KeyValuePipe, decorators: [{
14
- type: Pipe,
15
- args: [{
16
- name: 'aclKeyvalue',
17
- standalone: true,
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5dmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9waXBlcy9rZXl2YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLElBQUksYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEVBQVcsRUFBRSxFQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQU05RCxNQUFNLE9BQU8sWUFBYSxTQUFRLGFBQWE7SUFDN0MsaURBQWlEO0lBQ3hDLFNBQVMsQ0FBeUIsS0FBbUI7UUFDNUQsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNoRCxDQUFDOzhHQUpVLFlBQVk7NEdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2V5VmFsdWVQaXBlIGFzIF9LZXlWYWx1ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgYXNJc0NvbXBhcmF0b3IgPSAoX2E6IHVua25vd24sIF9iOiB1bmtub3duKSA9PiAwO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhY2xLZXl2YWx1ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEtleVZhbHVlUGlwZSBleHRlbmRzIF9LZXlWYWx1ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIG5vIGlkZWEgaG93IHRvIGZpeCB0aGkgc2hpdFxuICBvdmVycmlkZSB0cmFuc2Zvcm08SyBleHRlbmRzIGtleW9mIGFueSwgVj4oaW5wdXQ6IFJlY29yZDxLLCBWPikge1xuICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oaW5wdXQsIGFzSXNDb21wYXJhdG9yKTtcbiAgfVxufVxuIl19
@@ -1,22 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ParseJsonPipe {
4
- transform(value) {
5
- try {
6
- return JSON.parse(value);
7
- }
8
- catch {
9
- return value;
10
- }
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ParseJsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: ParseJsonPipe, isStandalone: true, name: "aclParseJson" }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ParseJsonPipe, decorators: [{
16
- type: Pipe,
17
- args: [{
18
- name: 'aclParseJson',
19
- standalone: true,
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtanNvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3BpcGVzL3BhcnNlLWpzb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDOzhHQVBVLGFBQWE7NEdBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFKekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhY2xQYXJzZUpzb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQYXJzZUpzb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,26 +0,0 @@
1
- /**
2
- * @packageDocumentation
3
- * @module utils
4
- */
5
- import { Pipe } from '@angular/core';
6
- import { last } from 'lodash-es';
7
- import * as i0 from "@angular/core";
8
- export class PurePipe {
9
- /**
10
- * ! Notice: function overload is not supported for `mapper`,
11
- * you may have to use `$any` to workaround in template.
12
- */
13
- transform(value, mapper, ...args) {
14
- return mapper.call(last(args), value, ...args);
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PurePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: PurePipe, isStandalone: true, name: "pure" }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: PurePipe, decorators: [{
20
- type: Pipe,
21
- args: [{
22
- name: 'pure',
23
- standalone: true,
24
- }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3BpcGVzL3B1cmUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQVlqQyxNQUFNLE9BQU8sUUFBUTtJQUNuQjs7O09BR0c7SUFDSCxTQUFTLENBQ1AsS0FBdUIsRUFDdkIsTUFBUyxFQUNULEdBQUcsSUFBMEQ7UUFFN0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQWtCLENBQUM7SUFDbEUsQ0FBQzs4R0FYVSxRQUFROzRHQUFSLFFBQVE7OzJGQUFSLFFBQVE7a0JBSnBCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLE1BQU07b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsYXN0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgSWZFcXVhbCB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgT21pdEZpcnN0PFQgZXh0ZW5kcyB1bmtub3duW10+ID0gVCBleHRlbmRzIFt1bmtub3duLCAuLi5pbmZlciBSXVxuICA/IFJcbiAgOiBbXTtcblxuQFBpcGUoe1xuICBuYW1lOiAncHVyZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFB1cmVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIC8qKlxuICAgKiAhIE5vdGljZTogZnVuY3Rpb24gb3ZlcmxvYWQgaXMgbm90IHN1cHBvcnRlZCBmb3IgYG1hcHBlcmAsXG4gICAqIHlvdSBtYXkgaGF2ZSB0byB1c2UgYCRhbnlgIHRvIHdvcmthcm91bmQgaW4gdGVtcGxhdGUuXG4gICAqL1xuICB0cmFuc2Zvcm08VCBleHRlbmRzICguLi5hcmdzOiB1bmtub3duW10pID0+IHVua25vd24+KFxuICAgIHZhbHVlOiBQYXJhbWV0ZXJzPFQ+WzBdLFxuICAgIG1hcHBlcjogVCxcbiAgICAuLi5hcmdzOiBJZkVxdWFsPFQsIGFueSwgdW5rbm93bltdLCBPbWl0Rmlyc3Q8UGFyYW1ldGVyczxUPj4+XG4gICkge1xuICAgIHJldHVybiBtYXBwZXIuY2FsbChsYXN0KGFyZ3MpLCB2YWx1ZSwgLi4uYXJncykgYXMgUmV0dXJuVHlwZTxUPjtcbiAgfVxufVxuIl19
@@ -1,49 +0,0 @@
1
- import { Pipe, isDevMode } from '@angular/core';
2
- import { DomSanitizer, } from '@angular/platform-browser';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/platform-browser";
5
- export class SafePipe {
6
- constructor(sanitizer) {
7
- this.sanitizer = sanitizer;
8
- }
9
- transform(value, type) {
10
- if (!value) {
11
- return value;
12
- }
13
- if (isDevMode()) {
14
- console.warn(`Make sure the ${type} content is XSS safe${['html', 'url'].includes(type)
15
- ? ", otherwise replace with 'aclSanitize'"
16
- : ''}`);
17
- }
18
- switch (type) {
19
- case 'html': {
20
- return this.sanitizer.bypassSecurityTrustHtml(value);
21
- }
22
- case 'style': {
23
- return this.sanitizer.bypassSecurityTrustStyle(value);
24
- }
25
- case 'script': {
26
- return this.sanitizer.bypassSecurityTrustScript(value);
27
- }
28
- case 'url': {
29
- return this.sanitizer.bypassSecurityTrustUrl(value);
30
- }
31
- case 'resourceUrl': {
32
- return this.sanitizer.bypassSecurityTrustResourceUrl(value);
33
- }
34
- default: {
35
- throw new Error(`Invalid safe type specified: ${type}`);
36
- }
37
- }
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
40
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: SafePipe, isStandalone: true, name: "aclSafe" }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SafePipe, decorators: [{
43
- type: Pipe,
44
- args: [{
45
- name: 'aclSafe',
46
- standalone: true,
47
- }]
48
- }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3BpcGVzL3NhZmUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUNMLFlBQVksR0FNYixNQUFNLDJCQUEyQixDQUFDOzs7QUFNbkMsTUFBTSxPQUFPLFFBQVE7SUFDbkIsWUFBNkIsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFHLENBQUM7SUFFeEQsU0FBUyxDQUNQLEtBQWEsRUFDYixJQUFZO1FBRVosSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsaUJBQWlCLElBQUksdUJBQ25CLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzVCLENBQUMsQ0FBQyx3Q0FBd0M7Z0JBQzFDLENBQUMsQ0FBQyxFQUNOLEVBQUUsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVELFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELENBQUM7WUFDRCxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRCxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pELENBQUM7WUFDRCxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFDRCxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5RCxDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDUixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzFELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0F6Q1UsUUFBUTs0R0FBUixRQUFROzsyRkFBUixRQUFRO2tCQUpwQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO29CQUNmLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRG9tU2FuaXRpemVyLFxuICBTYWZlSHRtbCxcbiAgU2FmZVJlc291cmNlVXJsLFxuICBTYWZlU2NyaXB0LFxuICBTYWZlU3R5bGUsXG4gIFNhZmVVcmwsXG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhY2xTYWZlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2FmZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICk6IFNhZmVIdG1sIHwgU2FmZVN0eWxlIHwgU2FmZVNjcmlwdCB8IFNhZmVVcmwgfCBTYWZlUmVzb3VyY2VVcmwge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE1ha2Ugc3VyZSB0aGUgJHt0eXBlfSBjb250ZW50IGlzIFhTUyBzYWZlJHtcbiAgICAgICAgICBbJ2h0bWwnLCAndXJsJ10uaW5jbHVkZXModHlwZSlcbiAgICAgICAgICAgID8gXCIsIG90aGVyd2lzZSByZXBsYWNlIHdpdGggJ2FjbFNhbml0aXplJ1wiXG4gICAgICAgICAgICA6ICcnXG4gICAgICAgIH1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2h0bWwnOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBjYXNlICdzdHlsZSc6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBjYXNlICdzY3JpcHQnOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U2NyaXB0KHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3VybCc6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwodmFsdWUpO1xuICAgICAgfVxuICAgICAgY2FzZSAncmVzb3VyY2VVcmwnOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodmFsdWUpO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2FmZSB0eXBlIHNwZWNpZmllZDogJHt0eXBlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,31 +0,0 @@
1
- import { Pipe, SecurityContext } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- import { sanitize } from 'dompurify';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/platform-browser";
6
- export class SanitizePipe {
7
- constructor(sanitizer) {
8
- this.sanitizer = sanitizer;
9
- }
10
- transform(value, type = 'html') {
11
- const valueSanitizer = sanitize(value ?? '');
12
- switch (type) {
13
- case 'html': {
14
- return this.sanitizer.bypassSecurityTrustHtml(valueSanitizer);
15
- }
16
- case 'url': {
17
- return this.sanitizer.sanitize(SecurityContext.URL, valueSanitizer);
18
- }
19
- }
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SanitizePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
22
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: SanitizePipe, isStandalone: true, name: "aclSanitize" }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SanitizePipe, decorators: [{
25
- type: Pipe,
26
- args: [{
27
- name: 'aclSanitize',
28
- standalone: true,
29
- }]
30
- }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9waXBlcy9zYW5pdGl6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBTXJDLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQTZCLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFBRyxDQUFDO0lBRXhELFNBQVMsQ0FBQyxLQUFhLEVBQUUsT0FBdUIsTUFBTTtRQUNwRCxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFDRCxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0FiVSxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGFBQWE7b0JBQ25CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIFNlY3VyaXR5Q29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgc2FuaXRpemUgfSBmcm9tICdkb21wdXJpZnknO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdhY2xTYW5pdGl6ZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNhbml0aXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCB0eXBlOiAnaHRtbCcgfCAndXJsJyA9ICdodG1sJyk6IFNhZmVIdG1sIHtcbiAgICBjb25zdCB2YWx1ZVNhbml0aXplciA9IHNhbml0aXplKHZhbHVlID8/ICcnKTtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ2h0bWwnOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZVNhbml0aXplcik7XG4gICAgICB9XG4gICAgICBjYXNlICd1cmwnOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuVVJMLCB2YWx1ZVNhbml0aXplcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=