@alauda-fe/crd-form 0.0.1

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 (95) hide show
  1. package/esm2022/alauda-fe-crd-form.mjs +5 -0
  2. package/esm2022/lib/abstract/base-array.mjs +117 -0
  3. package/esm2022/lib/crd-form/component.mjs +334 -0
  4. package/esm2022/lib/crd-form/helper.mjs +32 -0
  5. package/esm2022/lib/crd-form.module.mjs +117 -0
  6. package/esm2022/lib/field-controls/expressions/expression-core.mjs +2 -0
  7. package/esm2022/lib/field-controls/expressions/props-expression.mjs +58 -0
  8. package/esm2022/lib/field-controls/form-item.component.mjs +121 -0
  9. package/esm2022/lib/field-controls/index.mjs +8 -0
  10. package/esm2022/lib/field-controls/module.mjs +141 -0
  11. package/esm2022/lib/field-controls/operand-advanced-field-group.component.mjs +80 -0
  12. package/esm2022/lib/field-controls/operand-array-field-group.component.mjs +112 -0
  13. package/esm2022/lib/field-controls/operand-field-group.component.mjs +98 -0
  14. package/esm2022/lib/field-controls/operand-field.component.mjs +870 -0
  15. package/esm2022/lib/field-controls/widgets/array-table/component.mjs +109 -0
  16. package/esm2022/lib/field-controls/widgets/basic-auth-secret/component.mjs +116 -0
  17. package/esm2022/lib/field-controls/widgets/basic-auth-secret/create/component.mjs +211 -0
  18. package/esm2022/lib/field-controls/widgets/basic-auth-secret/type.mjs +2 -0
  19. package/esm2022/lib/field-controls/widgets/index.mjs +8 -0
  20. package/esm2022/lib/field-controls/widgets/k8s-resource-prefix/component.mjs +169 -0
  21. package/esm2022/lib/field-controls/widgets/k8s-resource-prefix/util.mjs +40 -0
  22. package/esm2022/lib/field-controls/widgets/link/component.mjs +68 -0
  23. package/esm2022/lib/field-controls/widgets/resource-requirements/resource-requirements.component.mjs +524 -0
  24. package/esm2022/lib/field-controls/widgets/utils.mjs +73 -0
  25. package/esm2022/lib/field-controls/widgets/yaml-editor/yaml-editor.component.mjs +94 -0
  26. package/esm2022/lib/field-widgets/htpasswd/component.mjs +35 -0
  27. package/esm2022/lib/field-widgets/htpasswd/form.mjs +171 -0
  28. package/esm2022/lib/field-widgets/htpasswd/index.mjs +4 -0
  29. package/esm2022/lib/field-widgets/htpasswd/module.mjs +54 -0
  30. package/esm2022/lib/field-widgets/index.mjs +2 -0
  31. package/esm2022/lib/remote-widgets/constants.mjs +4 -0
  32. package/esm2022/lib/remote-widgets/index.mjs +4 -0
  33. package/esm2022/lib/remote-widgets/remote-widget.service.mjs +42 -0
  34. package/esm2022/lib/remote-widgets/token.mjs +7 -0
  35. package/esm2022/lib/spec-descriptors/capability/capability.component.mjs +139 -0
  36. package/esm2022/lib/spec-descriptors/capability-list/capability-list.component.mjs +189 -0
  37. package/esm2022/lib/spec-descriptors/index.mjs +4 -0
  38. package/esm2022/lib/spec-descriptors/util.mjs +13 -0
  39. package/esm2022/lib/types/index.mjs +73 -0
  40. package/esm2022/lib/utils/capability.mjs +295 -0
  41. package/esm2022/lib/utils/constant.mjs +22 -0
  42. package/esm2022/lib/utils/directives.mjs +19 -0
  43. package/esm2022/lib/utils/helper.mjs +201 -0
  44. package/esm2022/lib/utils/index.mjs +7 -0
  45. package/esm2022/lib/utils/service-model.mjs +12 -0
  46. package/esm2022/lib/utils/util.mjs +310 -0
  47. package/esm2022/public-api.mjs +13 -0
  48. package/index.d.ts +5 -0
  49. package/lib/abstract/base-array.d.ts +31 -0
  50. package/lib/crd-form/component.d.ts +61 -0
  51. package/lib/crd-form/helper.d.ts +7 -0
  52. package/lib/crd-form.module.d.ts +16 -0
  53. package/lib/field-controls/expressions/expression-core.d.ts +6 -0
  54. package/lib/field-controls/expressions/props-expression.d.ts +36 -0
  55. package/lib/field-controls/form-item.component.d.ts +11 -0
  56. package/lib/field-controls/index.d.ts +7 -0
  57. package/lib/field-controls/module.d.ts +23 -0
  58. package/lib/field-controls/operand-advanced-field-group.component.d.ts +16 -0
  59. package/lib/field-controls/operand-array-field-group.component.d.ts +8 -0
  60. package/lib/field-controls/operand-field-group.component.d.ts +24 -0
  61. package/lib/field-controls/operand-field.component.d.ts +110 -0
  62. package/lib/field-controls/widgets/array-table/component.d.ts +8 -0
  63. package/lib/field-controls/widgets/basic-auth-secret/component.d.ts +26 -0
  64. package/lib/field-controls/widgets/basic-auth-secret/create/component.d.ts +45 -0
  65. package/lib/field-controls/widgets/basic-auth-secret/type.d.ts +11 -0
  66. package/lib/field-controls/widgets/index.d.ts +7 -0
  67. package/lib/field-controls/widgets/k8s-resource-prefix/component.d.ts +35 -0
  68. package/lib/field-controls/widgets/k8s-resource-prefix/util.d.ts +3 -0
  69. package/lib/field-controls/widgets/link/component.d.ts +20 -0
  70. package/lib/field-controls/widgets/resource-requirements/resource-requirements.component.d.ts +88 -0
  71. package/lib/field-controls/widgets/utils.d.ts +17 -0
  72. package/lib/field-controls/widgets/yaml-editor/yaml-editor.component.d.ts +36 -0
  73. package/lib/field-widgets/htpasswd/component.d.ts +9 -0
  74. package/lib/field-widgets/htpasswd/form.d.ts +32 -0
  75. package/lib/field-widgets/htpasswd/index.d.ts +3 -0
  76. package/lib/field-widgets/htpasswd/module.d.ts +13 -0
  77. package/lib/field-widgets/index.d.ts +1 -0
  78. package/lib/remote-widgets/constants.d.ts +3 -0
  79. package/lib/remote-widgets/index.d.ts +3 -0
  80. package/lib/remote-widgets/remote-widget.service.d.ts +28 -0
  81. package/lib/remote-widgets/token.d.ts +3 -0
  82. package/lib/spec-descriptors/capability/capability.component.d.ts +20 -0
  83. package/lib/spec-descriptors/capability-list/capability-list.component.d.ts +34 -0
  84. package/lib/spec-descriptors/index.d.ts +3 -0
  85. package/lib/spec-descriptors/util.d.ts +4 -0
  86. package/lib/types/index.d.ts +122 -0
  87. package/lib/utils/capability.d.ts +54 -0
  88. package/lib/utils/constant.d.ts +12 -0
  89. package/lib/utils/directives.d.ts +9 -0
  90. package/lib/utils/helper.d.ts +61 -0
  91. package/lib/utils/index.d.ts +6 -0
  92. package/lib/utils/service-model.d.ts +44 -0
  93. package/lib/utils/util.d.ts +48 -0
  94. package/package.json +30 -0
  95. package/public-api.d.ts +9 -0
@@ -0,0 +1,139 @@
1
+ import { viewActions, yamlReadOptions } from '@alauda-fe/common';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, } from '@angular/core';
3
+ import { get, toString } from 'lodash-es';
4
+ import { SpecCapability } from '../../types';
5
+ import { convertValue, getDefaultValue, getFieldDescription, getFieldDisplayName, normalizePath, } from '../../utils';
6
+ import { isArrayField } from '../../utils/helper';
7
+ import { capabilityFor } from '../util';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/forms";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "../../field-controls/widgets/resource-requirements/resource-requirements.component";
12
+ import * as i4 from "../../field-controls/widgets/yaml-editor/yaml-editor.component";
13
+ import * as i5 from "@alauda-fe/common";
14
+ function SpecCapabilityComponent_ng_container_0_ng_container_6_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵelementContainerStart(0);
16
+ i0.ɵɵelement(1, "acl-crd-resource-requirements", 5);
17
+ i0.ɵɵelementContainerEnd();
18
+ } if (rf & 2) {
19
+ const ctx_r0 = i0.ɵɵnextContext(2);
20
+ i0.ɵɵadvance();
21
+ i0.ɵɵproperty("ngModel", ctx_r0.field == null ? null : ctx_r0.field.value)("field", ctx_r0.field)("readOnly", true);
22
+ } }
23
+ function SpecCapabilityComponent_ng_container_0_ng_container_7_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelementContainerStart(0);
25
+ i0.ɵɵtext(1);
26
+ i0.ɵɵpipe(2, "translate");
27
+ i0.ɵɵelementContainerEnd();
28
+ } if (rf & 2) {
29
+ const ctx_r0 = i0.ɵɵnextContext(2);
30
+ i0.ɵɵadvance();
31
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.field.value ? "switch_open" : "switch_close"), " ");
32
+ } }
33
+ function SpecCapabilityComponent_ng_container_0_ng_container_8_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelementContainerStart(0);
35
+ i0.ɵɵelement(1, "acl-crd-yaml-editor", 6);
36
+ i0.ɵɵelementContainerEnd();
37
+ } if (rf & 2) {
38
+ const ctx_r0 = i0.ɵɵnextContext(2);
39
+ i0.ɵɵadvance();
40
+ i0.ɵɵproperty("ngModel", ctx_r0.field == null ? null : ctx_r0.field.value)("actionsConfig", ctx_r0.viewActions)("options", ctx_r0.yamlReadOptions);
41
+ } }
42
+ function SpecCapabilityComponent_ng_container_0_div_10_Template(rf, ctx) { if (rf & 1) {
43
+ i0.ɵɵelementStart(0, "div", 7);
44
+ i0.ɵɵtext(1);
45
+ i0.ɵɵpipe(2, "pure");
46
+ i0.ɵɵelementEnd();
47
+ } if (rf & 2) {
48
+ const ctx_r0 = i0.ɵɵnextContext(2);
49
+ i0.ɵɵadvance();
50
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, ctx_r0.field == null ? null : ctx_r0.field.value, ctx_r0.toDefault), " ");
51
+ } }
52
+ function SpecCapabilityComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
53
+ i0.ɵɵelementContainerStart(0);
54
+ i0.ɵɵelementStart(1, "div", 1);
55
+ i0.ɵɵtext(2);
56
+ i0.ɵɵpipe(3, "pure");
57
+ i0.ɵɵpipe(4, "translate");
58
+ i0.ɵɵelementEnd();
59
+ i0.ɵɵelementContainerStart(5, 2);
60
+ i0.ɵɵtemplate(6, SpecCapabilityComponent_ng_container_0_ng_container_6_Template, 2, 3, "ng-container", 3)(7, SpecCapabilityComponent_ng_container_0_ng_container_7_Template, 3, 3, "ng-container", 3)(8, SpecCapabilityComponent_ng_container_0_ng_container_8_Template, 2, 3, "ng-container", 3);
61
+ i0.ɵɵelementContainerStart(9);
62
+ i0.ɵɵtemplate(10, SpecCapabilityComponent_ng_container_0_div_10_Template, 3, 4, "div", 4);
63
+ i0.ɵɵelementContainerEnd()()();
64
+ } if (rf & 2) {
65
+ const type_r2 = ctx.ngIf;
66
+ const ctx_r0 = i0.ɵɵnextContext();
67
+ i0.ɵɵadvance(2);
68
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 8, i0.ɵɵpipeBind2(3, 5, ctx_r0.field, ctx_r0.getFieldDisplayName)), " ");
69
+ i0.ɵɵadvance(3);
70
+ i0.ɵɵproperty("ngSwitch", type_r2);
71
+ i0.ɵɵadvance();
72
+ i0.ɵɵproperty("ngSwitchCase", ctx_r0.SpecCapability.resourceRequirements);
73
+ i0.ɵɵadvance();
74
+ i0.ɵɵproperty("ngSwitchCase", ctx_r0.SpecCapability.booleanSwitch);
75
+ i0.ɵɵadvance();
76
+ i0.ɵɵproperty("ngSwitchCase", ctx_r0.SpecCapability.yaml);
77
+ } }
78
+ export class SpecCapabilityComponent {
79
+ constructor() {
80
+ this.fields = [];
81
+ this.SpecCapability = SpecCapability;
82
+ this.getFieldDisplayName = getFieldDisplayName;
83
+ this.getFieldDescription = getFieldDescription;
84
+ this.yamlReadOptions = yamlReadOptions;
85
+ this.viewActions = viewActions;
86
+ this.isArrayField = isArrayField;
87
+ }
88
+ get isHidden() {
89
+ return this.shouldBeHidden();
90
+ }
91
+ getCapability(capabilities) {
92
+ const capability = capabilities.find(c => c.startsWith(SpecCapability.resourceRequirements) ||
93
+ c.startsWith(SpecCapability.booleanSwitch) ||
94
+ c.startsWith(SpecCapability.yaml) ||
95
+ c.startsWith(SpecCapability.object) ||
96
+ c.startsWith(SpecCapability.array));
97
+ return capabilityFor(capability);
98
+ }
99
+ toDefault(input) {
100
+ return input ? toString(input) : '-';
101
+ }
102
+ shouldBeHidden() {
103
+ if (this.field.capabilities.some(c => c.startsWith(SpecCapability.fieldDependency))) {
104
+ const dependency = this.field.capabilities
105
+ .find(c => c.startsWith(SpecCapability.fieldDependency))
106
+ .split(SpecCapability.fieldDependency)[1];
107
+ const [path, value] = dependency.split(':');
108
+ const dependencyField = this.fields.find(f => f.path === normalizePath(path));
109
+ const dependencyDefaultValue = getDefaultValue(dependencyField);
110
+ return ((get(this.data, dependencyField.path) ?? dependencyDefaultValue) !==
111
+ convertValue(value, dependencyField.type));
112
+ }
113
+ return false;
114
+ }
115
+ static { this.ɵfac = function SpecCapabilityComponent_Factory(t) { return new (t || SpecCapabilityComponent)(); }; }
116
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SpecCapabilityComponent, selectors: [["acl-spec-descriptor-capability"]], hostVars: 2, hostBindings: function SpecCapabilityComponent_HostBindings(rf, ctx) { if (rf & 2) {
117
+ i0.ɵɵclassProp("hidden", ctx.isHidden);
118
+ } }, inputs: { field: "field", fields: "fields", data: "data" }, decls: 2, vars: 4, consts: [[4, "ngIf"], [1, "field-set-item__label"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "field-set-item__value field-set-item__value__overflow field-set-item__value__wrap", 4, "ngSwitchDefault"], [3, "ngModel", "field", "readOnly"], [3, "ngModel", "actionsConfig", "options"], [1, "field-set-item__value", "field-set-item__value__overflow", "field-set-item__value__wrap"]], template: function SpecCapabilityComponent_Template(rf, ctx) { if (rf & 1) {
119
+ i0.ɵɵtemplate(0, SpecCapabilityComponent_ng_container_0_Template, 11, 10, "ng-container", 0);
120
+ i0.ɵɵpipe(1, "pure");
121
+ } if (rf & 2) {
122
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(1, 1, ctx.field == null ? null : ctx.field.capabilities, ctx.getCapability));
123
+ } }, dependencies: [i1.NgControlStatus, i1.NgModel, i2.NgIf, i2.NgSwitch, i2.NgSwitchCase, i2.NgSwitchDefault, i3.ResourceRequirementsComponent, i4.YamlEditorComponent, i5.PurePipe, i5.TranslatePipe], styles: ["[_nghost-%COMP%]{display:flex;min-height:20px;line-height:20px;align-items:flex-start;overflow:hidden;color:use-rgb(n-1)}.hidden[_nghost-%COMP%]{display:none}[_nghost-%COMP%] .edit-icon{margin-left:9px;cursor:pointer}.field-set-item__label[_ngcontent-%COMP%]{margin-right:8px;text-align:right}.field-set-item__label[_ngcontent-%COMP%]:not(:empty):after{content:\":\";margin-left:2px}.field-set-item__value[_ngcontent-%COMP%]{min-width:0;flex:1;white-space:nowrap;display:flex}.field-set-item__value__overflow[_ngcontent-%COMP%]{display:block;overflow:hidden;text-overflow:ellipsis}.field-set-item__value__wrap[_ngcontent-%COMP%]{white-space:pre-wrap;flex-wrap:wrap}.field-set-item__label[_ngcontent-%COMP%], .field-set-item__value[_ngcontent-%COMP%]{height:100%;align-items:flex-start}"], changeDetection: 0 }); }
124
+ }
125
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpecCapabilityComponent, [{
126
+ type: Component,
127
+ args: [{ selector: 'acl-spec-descriptor-capability', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"field?.capabilities | pure: getCapability as type\">\n <div class=\"field-set-item__label\">\n {{ field | pure: getFieldDisplayName | translate }}\n </div>\n\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"SpecCapability.resourceRequirements\">\n <acl-crd-resource-requirements\n [ngModel]=\"field?.value\"\n [field]=\"field\"\n [readOnly]=\"true\"\n >\n </acl-crd-resource-requirements>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"SpecCapability.booleanSwitch\">\n {{ (field.value ? 'switch_open' : 'switch_close') | translate }}\n </ng-container>\n\n <ng-container *ngSwitchCase=\"SpecCapability.yaml\">\n <acl-crd-yaml-editor\n [ngModel]=\"field?.value\"\n [actionsConfig]=\"viewActions\"\n [options]=\"yamlReadOptions\"\n >\n </acl-crd-yaml-editor>\n </ng-container>\n\n <ng-container>\n <div\n *ngSwitchDefault\n class=\"field-set-item__value field-set-item__value__overflow field-set-item__value__wrap\"\n >\n {{ field?.value | pure: toDefault }}\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;min-height:20px;line-height:20px;align-items:flex-start;overflow:hidden;color:use-rgb(n-1)}:host.hidden{display:none}:host ::ng-deep .edit-icon{margin-left:9px;cursor:pointer}.field-set-item__label{margin-right:8px;text-align:right}.field-set-item__label:not(:empty):after{content:\":\";margin-left:2px}.field-set-item__value{min-width:0;flex:1;white-space:nowrap;display:flex}.field-set-item__value__overflow{display:block;overflow:hidden;text-overflow:ellipsis}.field-set-item__value__wrap{white-space:pre-wrap;flex-wrap:wrap}.field-set-item__label,.field-set-item__value{height:100%;align-items:flex-start}\n"] }]
128
+ }], null, { field: [{
129
+ type: Input
130
+ }], fields: [{
131
+ type: Input
132
+ }], data: [{
133
+ type: Input
134
+ }], isHidden: [{
135
+ type: HostBinding,
136
+ args: ['class.hidden']
137
+ }] }); })();
138
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SpecCapabilityComponent, { className: "SpecCapabilityComponent", filePath: "lib/spec-descriptors/capability/capability.component.ts", lineNumber: 27 }); })();
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyZC1mb3JtL3NyYy9saWIvc3BlYy1kZXNjcmlwdG9ycy9jYXBhYmlsaXR5L2NhcGFiaWxpdHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL3NwZWMtZGVzY3JpcHRvcnMvY2FwYWJpbGl0eS9jYXBhYmlsaXR5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUxQyxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGFBQWEsR0FDZCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7Ozs7SUNacEMsNkJBQWtFO0lBQ2hFLG1EQUtnQzs7OztJQUo5QixjQUF3QjtJQUV4QixBQURBLEFBREEsMEVBQXdCLHVCQUNULGtCQUNFOzs7SUFLckIsNkJBQTJEO0lBQ3pELFlBQ0Y7Ozs7O0lBREUsY0FDRjtJQURFLDBHQUNGOzs7SUFFQSw2QkFBa0Q7SUFDaEQseUNBS3NCOzs7O0lBSnBCLGNBQXdCO0lBRXhCLEFBREEsQUFEQSwwRUFBd0IscUNBQ0ssbUNBQ0Y7OztJQU03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QUssQ0FBQztJQUNmLENBQUM7d0ZBM0RVLHVCQUF1QjtvRUFBdkIsdUJBQXVCO1lBQXZCLHNDQUF1Qjs7WUMxQnBDLDRGQUF3RTs7O1lBQXpELGlIQUFnRDs7O2lGRDBCbEQsdUJBQXVCO2NBTm5DLFNBQVM7MkJBQ0UsZ0NBQWdDLG1CQUd6Qix1QkFBdUIsQ0FBQyxNQUFNO2dCQUkvQyxLQUFLO2tCQURKLEtBQUs7WUFJTixNQUFNO2tCQURMLEtBQUs7WUFJTixJQUFJO2tCQURILEtBQUs7WUFJRixRQUFRO2tCQURYLFdBQVc7bUJBQUMsY0FBYzs7a0ZBVmhCLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHZpZXdBY3Rpb25zLCB5YW1sUmVhZE9wdGlvbnMgfSBmcm9tICdAYWxhdWRhLWZlL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0LCB0b1N0cmluZyB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IE9wZXJhbmRGaWVsZCwgU3BlY0NhcGFiaWxpdHkgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge1xuICBjb252ZXJ0VmFsdWUsXG4gIGdldERlZmF1bHRWYWx1ZSxcbiAgZ2V0RmllbGREZXNjcmlwdGlvbixcbiAgZ2V0RmllbGREaXNwbGF5TmFtZSxcbiAgbm9ybWFsaXplUGF0aCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgaXNBcnJheUZpZWxkIH0gZnJvbSAnLi4vLi4vdXRpbHMvaGVscGVyJztcbmltcG9ydCB7IGNhcGFiaWxpdHlGb3IgfSBmcm9tICcuLi91dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXNwZWMtZGVzY3JpcHRvci1jYXBhYmlsaXR5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcGFiaWxpdHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXBhYmlsaXR5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTcGVjQ2FwYWJpbGl0eUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGZpZWxkOiBPcGVyYW5kRmllbGQ7XG5cbiAgQElucHV0KClcbiAgZmllbGRzOiBPcGVyYW5kRmllbGRbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGRhdGE6IHVua25vd247XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRkZW4nKVxuICBnZXQgaXNIaWRkZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkQmVIaWRkZW4oKTtcbiAgfVxuXG4gIFNwZWNDYXBhYmlsaXR5ID0gU3BlY0NhcGFiaWxpdHk7XG4gIGdldEZpZWxkRGlzcGxheU5hbWUgPSBnZXRGaWVsZERpc3BsYXlOYW1lO1xuICBnZXRGaWVsZERlc2NyaXB0aW9uID0gZ2V0RmllbGREZXNjcmlwdGlvbjtcbiAgeWFtbFJlYWRPcHRpb25zID0geWFtbFJlYWRPcHRpb25zO1xuICB2aWV3QWN0aW9ucyA9IHZpZXdBY3Rpb25zO1xuICBpc0FycmF5RmllbGQgPSBpc0FycmF5RmllbGQ7XG5cbiAgZ2V0Q2FwYWJpbGl0eShjYXBhYmlsaXRpZXM6IFNwZWNDYXBhYmlsaXR5W10pOiBTcGVjQ2FwYWJpbGl0eSB7XG4gICAgY29uc3QgY2FwYWJpbGl0eSA9IGNhcGFiaWxpdGllcy5maW5kKFxuICAgICAgYyA9PlxuICAgICAgICBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkucmVzb3VyY2VSZXF1aXJlbWVudHMpIHx8XG4gICAgICAgIGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5ib29sZWFuU3dpdGNoKSB8fFxuICAgICAgICBjLnN0YXJ0c1dpdGgoU3BlY0NhcGFiaWxpdHkueWFtbCkgfHxcbiAgICAgICAgYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5Lm9iamVjdCkgfHxcbiAgICAgICAgYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LmFycmF5KSxcbiAgICApO1xuICAgIHJldHVybiBjYXBhYmlsaXR5Rm9yKGNhcGFiaWxpdHkpO1xuICB9XG5cbiAgdG9EZWZhdWx0KGlucHV0OiB1bmtub3duKSB7XG4gICAgcmV0dXJuIGlucHV0ID8gdG9TdHJpbmcoaW5wdXQpIDogJy0nO1xuICB9XG5cbiAgc2hvdWxkQmVIaWRkZW4oKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5maWVsZC5jYXBhYmlsaXRpZXMuc29tZShjID0+XG4gICAgICAgIGMuc3RhcnRzV2l0aChTcGVjQ2FwYWJpbGl0eS5maWVsZERlcGVuZGVuY3kpLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc3QgZGVwZW5kZW5jeSA9IHRoaXMuZmllbGQuY2FwYWJpbGl0aWVzXG4gICAgICAgIC5maW5kKGMgPT4gYy5zdGFydHNXaXRoKFNwZWNDYXBhYmlsaXR5LmZpZWxkRGVwZW5kZW5jeSkpXG4gICAgICAgIC5zcGxpdChTcGVjQ2FwYWJpbGl0eS5maWVsZERlcGVuZGVuY3kpWzFdO1xuICAgICAgY29uc3QgW3BhdGgsIHZhbHVlXSA9IGRlcGVuZGVuY3kuc3BsaXQoJzonKTtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lGaWVsZCA9IHRoaXMuZmllbGRzLmZpbmQoXG4gICAgICAgIGYgPT4gZi5wYXRoID09PSBub3JtYWxpemVQYXRoKHBhdGgpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGRlcGVuZGVuY3lEZWZhdWx0VmFsdWUgPSBnZXREZWZhdWx0VmFsdWUoZGVwZW5kZW5jeUZpZWxkKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgKGdldCh0aGlzLmRhdGEsIGRlcGVuZGVuY3lGaWVsZC5wYXRoKSA/PyBkZXBlbmRlbmN5RGVmYXVsdFZhbHVlKSAhPT1cbiAgICAgICAgY29udmVydFZhbHVlKHZhbHVlLCBkZXBlbmRlbmN5RmllbGQudHlwZSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkPy5jYXBhYmlsaXRpZXMgfCBwdXJlOiBnZXRDYXBhYmlsaXR5IGFzIHR5cGVcIj5cbiAgPGRpdiBjbGFzcz1cImZpZWxkLXNldC1pdGVtX19sYWJlbFwiPlxuICAgIHt7IGZpZWxkIHwgcHVyZTogZ2V0RmllbGREaXNwbGF5TmFtZSB8IHRyYW5zbGF0ZSB9fVxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiU3BlY0NhcGFiaWxpdHkucmVzb3VyY2VSZXF1aXJlbWVudHNcIj5cbiAgICAgIDxhY2wtY3JkLXJlc291cmNlLXJlcXVpcmVtZW50c1xuICAgICAgICBbbmdNb2RlbF09XCJmaWVsZD8udmFsdWVcIlxuICAgICAgICBbZmllbGRdPVwiZmllbGRcIlxuICAgICAgICBbcmVhZE9ubHldPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICA8L2FjbC1jcmQtcmVzb3VyY2UtcmVxdWlyZW1lbnRzPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiU3BlY0NhcGFiaWxpdHkuYm9vbGVhblN3aXRjaFwiPlxuICAgICAge3sgKGZpZWxkLnZhbHVlID8gJ3N3aXRjaF9vcGVuJyA6ICdzd2l0Y2hfY2xvc2UnKSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiU3BlY0NhcGFiaWxpdHkueWFtbFwiPlxuICAgICAgPGFjbC1jcmQteWFtbC1lZGl0b3JcbiAgICAgICAgW25nTW9kZWxdPVwiZmllbGQ/LnZhbHVlXCJcbiAgICAgICAgW2FjdGlvbnNDb25maWddPVwidmlld0FjdGlvbnNcIlxuICAgICAgICBbb3B0aW9uc109XCJ5YW1sUmVhZE9wdGlvbnNcIlxuICAgICAgPlxuICAgICAgPC9hY2wtY3JkLXlhbWwtZWRpdG9yPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgICAgICBjbGFzcz1cImZpZWxkLXNldC1pdGVtX192YWx1ZSBmaWVsZC1zZXQtaXRlbV9fdmFsdWVfX292ZXJmbG93IGZpZWxkLXNldC1pdGVtX192YWx1ZV9fd3JhcFwiXG4gICAgICA+XG4gICAgICAgIHt7IGZpZWxkPy52YWx1ZSB8IHB1cmU6IHRvRGVmYXVsdCB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,189 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { SCHEMA_PATH, createCapabilityField, getFieldType } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../capability/capability.component";
6
+ import * as i3 from "@alauda-fe/common";
7
+ const _c0 = (a0, a1, a2, a3, a4) => [a0, a1, a2, a3, a4];
8
+ function SpecCapabilityListComponent_ng_container_0_acl_spec_descriptor_capability_1_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelement(0, "acl-spec-descriptor-capability", 3);
10
+ } if (rf & 2) {
11
+ const field_r1 = ctx.$implicit;
12
+ const fields_r2 = i0.ɵɵnextContext().ngIf;
13
+ const ctx_r2 = i0.ɵɵnextContext();
14
+ i0.ɵɵproperty("field", field_r1)("fields", fields_r2.basicFields)("data", ctx_r2.data);
15
+ } }
16
+ function SpecCapabilityListComponent_ng_container_0_ng_container_3_div_1_acl_spec_descriptor_capability_4_Template(rf, ctx) { if (rf & 1) {
17
+ i0.ɵɵelement(0, "acl-spec-descriptor-capability", 3);
18
+ } if (rf & 2) {
19
+ const field_r4 = ctx.$implicit;
20
+ const fields_r2 = i0.ɵɵnextContext(3).ngIf;
21
+ const ctx_r2 = i0.ɵɵnextContext();
22
+ i0.ɵɵproperty("field", field_r4)("fields", fields_r2.basicFields)("data", ctx_r2.data);
23
+ } }
24
+ function SpecCapabilityListComponent_ng_container_0_ng_container_3_div_1_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "div", 5)(1, "div", 6);
26
+ i0.ɵɵtext(2);
27
+ i0.ɵɵelementEnd();
28
+ i0.ɵɵelementStart(3, "div", 7);
29
+ i0.ɵɵtemplate(4, SpecCapabilityListComponent_ng_container_0_ng_container_3_div_1_acl_spec_descriptor_capability_4_Template, 1, 3, "acl-spec-descriptor-capability", 1);
30
+ i0.ɵɵpipe(5, "pure");
31
+ i0.ɵɵelementEnd()();
32
+ } if (rf & 2) {
33
+ const group_r5 = ctx.$implicit;
34
+ const ctx_r2 = i0.ɵɵnextContext(3);
35
+ i0.ɵɵadvance(2);
36
+ i0.ɵɵtextInterpolate(group_r5.groupName);
37
+ i0.ɵɵadvance(2);
38
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(5, 2, group_r5.fieldList, ctx_r2.excludes));
39
+ } }
40
+ function SpecCapabilityListComponent_ng_container_0_ng_container_3_Template(rf, ctx) { if (rf & 1) {
41
+ i0.ɵɵelementContainerStart(0);
42
+ i0.ɵɵtemplate(1, SpecCapabilityListComponent_ng_container_0_ng_container_3_div_1_Template, 6, 5, "div", 4);
43
+ i0.ɵɵelementContainerEnd();
44
+ } if (rf & 2) {
45
+ const groups_r6 = ctx.ngIf;
46
+ i0.ɵɵadvance();
47
+ i0.ɵɵproperty("ngForOf", groups_r6);
48
+ } }
49
+ function SpecCapabilityListComponent_ng_container_0_ng_container_4_div_1_acl_spec_descriptor_capability_5_Template(rf, ctx) { if (rf & 1) {
50
+ i0.ɵɵelement(0, "acl-spec-descriptor-capability", 3);
51
+ } if (rf & 2) {
52
+ const field_r7 = ctx.$implicit;
53
+ const fields_r2 = i0.ɵɵnextContext(3).ngIf;
54
+ const ctx_r2 = i0.ɵɵnextContext();
55
+ i0.ɵɵproperty("field", field_r7)("fields", fields_r2.basicFields)("data", ctx_r2.data);
56
+ } }
57
+ function SpecCapabilityListComponent_ng_container_0_ng_container_4_div_1_Template(rf, ctx) { if (rf & 1) {
58
+ i0.ɵɵelementStart(0, "div", 5)(1, "div", 6);
59
+ i0.ɵɵtext(2);
60
+ i0.ɵɵpipe(3, "translate");
61
+ i0.ɵɵelementEnd();
62
+ i0.ɵɵelementStart(4, "div", 7);
63
+ i0.ɵɵtemplate(5, SpecCapabilityListComponent_ng_container_0_ng_container_4_div_1_acl_spec_descriptor_capability_5_Template, 1, 3, "acl-spec-descriptor-capability", 1);
64
+ i0.ɵɵpipe(6, "pure");
65
+ i0.ɵɵelementEnd()();
66
+ } if (rf & 2) {
67
+ const advanced_r8 = i0.ɵɵnextContext().ngIf;
68
+ const ctx_r2 = i0.ɵɵnextContext(2);
69
+ i0.ɵɵadvance(2);
70
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "advanced_fields"), " ");
71
+ i0.ɵɵadvance(3);
72
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(6, 4, advanced_r8, ctx_r2.excludes));
73
+ } }
74
+ function SpecCapabilityListComponent_ng_container_0_ng_container_4_Template(rf, ctx) { if (rf & 1) {
75
+ i0.ɵɵelementContainerStart(0);
76
+ i0.ɵɵtemplate(1, SpecCapabilityListComponent_ng_container_0_ng_container_4_div_1_Template, 7, 7, "div", 8);
77
+ i0.ɵɵelementContainerEnd();
78
+ } if (rf & 2) {
79
+ const advanced_r8 = ctx.ngIf;
80
+ i0.ɵɵadvance();
81
+ i0.ɵɵproperty("ngIf", advanced_r8.length > 0);
82
+ } }
83
+ function SpecCapabilityListComponent_ng_container_0_div_5_div_1_div_4_acl_spec_descriptor_capability_1_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelement(0, "acl-spec-descriptor-capability", 3);
85
+ } if (rf & 2) {
86
+ const field_r9 = ctx.$implicit;
87
+ const fields_r2 = i0.ɵɵnextContext(4).ngIf;
88
+ const ctx_r2 = i0.ɵɵnextContext();
89
+ i0.ɵɵproperty("field", field_r9)("fields", fields_r2.basicFields)("data", ctx_r2.data);
90
+ } }
91
+ function SpecCapabilityListComponent_ng_container_0_div_5_div_1_div_4_Template(rf, ctx) { if (rf & 1) {
92
+ i0.ɵɵelementStart(0, "div", 7);
93
+ i0.ɵɵtemplate(1, SpecCapabilityListComponent_ng_container_0_div_5_div_1_div_4_acl_spec_descriptor_capability_1_Template, 1, 3, "acl-spec-descriptor-capability", 1);
94
+ i0.ɵɵpipe(2, "pure");
95
+ i0.ɵɵelementEnd();
96
+ } if (rf & 2) {
97
+ const fieldList_r10 = ctx.$implicit;
98
+ const ctx_r2 = i0.ɵɵnextContext(4);
99
+ i0.ɵɵadvance();
100
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 1, fieldList_r10, ctx_r2.excludes));
101
+ } }
102
+ function SpecCapabilityListComponent_ng_container_0_div_5_div_1_Template(rf, ctx) { if (rf & 1) {
103
+ i0.ɵɵelementStart(0, "div", 5)(1, "div", 6);
104
+ i0.ɵɵtext(2);
105
+ i0.ɵɵpipe(3, "translate");
106
+ i0.ɵɵelementEnd();
107
+ i0.ɵɵtemplate(4, SpecCapabilityListComponent_ng_container_0_div_5_div_1_div_4_Template, 3, 4, "div", 10);
108
+ i0.ɵɵelementEnd();
109
+ } if (rf & 2) {
110
+ const groups_r11 = ctx.$implicit;
111
+ i0.ɵɵadvance(2);
112
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, groups_r11.groupName), " ");
113
+ i0.ɵɵadvance(2);
114
+ i0.ɵɵproperty("ngForOf", groups_r11.fieldLists);
115
+ } }
116
+ function SpecCapabilityListComponent_ng_container_0_div_5_Template(rf, ctx) { if (rf & 1) {
117
+ i0.ɵɵelementStart(0, "div", 9);
118
+ i0.ɵɵtemplate(1, SpecCapabilityListComponent_ng_container_0_div_5_div_1_Template, 5, 4, "div", 4);
119
+ i0.ɵɵelementEnd();
120
+ } if (rf & 2) {
121
+ const arrayGroups_r12 = ctx.ngIf;
122
+ i0.ɵɵadvance();
123
+ i0.ɵɵproperty("ngForOf", arrayGroups_r12);
124
+ } }
125
+ function SpecCapabilityListComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
126
+ i0.ɵɵelementContainerStart(0);
127
+ i0.ɵɵtemplate(1, SpecCapabilityListComponent_ng_container_0_acl_spec_descriptor_capability_1_Template, 1, 3, "acl-spec-descriptor-capability", 1);
128
+ i0.ɵɵpipe(2, "pure");
129
+ i0.ɵɵtemplate(3, SpecCapabilityListComponent_ng_container_0_ng_container_3_Template, 2, 1, "ng-container", 0)(4, SpecCapabilityListComponent_ng_container_0_ng_container_4_Template, 2, 1, "ng-container", 0)(5, SpecCapabilityListComponent_ng_container_0_div_5_Template, 2, 1, "div", 2);
130
+ i0.ɵɵelementContainerEnd();
131
+ } if (rf & 2) {
132
+ const fields_r2 = ctx.ngIf;
133
+ const ctx_r2 = i0.ɵɵnextContext();
134
+ i0.ɵɵadvance();
135
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 4, fields_r2.normalFields, ctx_r2.excludes));
136
+ i0.ɵɵadvance(2);
137
+ i0.ɵɵproperty("ngIf", fields_r2.fieldGroups);
138
+ i0.ɵɵadvance();
139
+ i0.ɵɵproperty("ngIf", fields_r2.advancedFields);
140
+ i0.ɵɵadvance();
141
+ i0.ɵɵproperty("ngIf", fields_r2.arrayFieldGroups);
142
+ } }
143
+ export class SpecCapabilityListComponent {
144
+ constructor() {
145
+ this.openApiSchemaPath = SCHEMA_PATH;
146
+ this.createCapabilityField = createCapabilityField;
147
+ // TODO: Need Correct Ux For Deep Object & Array Type
148
+ this.excludes = (fields) => fields.filter(field => !['object', 'array'].includes(getFieldType(field) || field.type));
149
+ this.debugLog = (fields) => {
150
+ /* eslint-disable no-console */
151
+ if (this.debug) {
152
+ console.log('treeFields:', fields.treeFields);
153
+ console.log('openApiFields:', fields.openApiFields);
154
+ console.log('descriptorFields:', fields.descriptorFields);
155
+ console.log('basicFields:', fields.basicFields);
156
+ console.log('normalFields', fields.normalFields);
157
+ console.log('fieldGroups:', fields.fieldGroups);
158
+ console.log('arrayFieldGroups:', fields.arrayFieldGroups);
159
+ console.log('advancedFields:', fields.advancedFields);
160
+ }
161
+ /* eslint-enable no-console */
162
+ return fields;
163
+ };
164
+ }
165
+ static { this.ɵfac = function SpecCapabilityListComponent_Factory(t) { return new (t || SpecCapabilityListComponent)(); }; }
166
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SpecCapabilityListComponent, selectors: [["acl-spec-descriptor-capability-list"]], inputs: { descriptors: "descriptors", debug: "debug", data: "data", openApiSchema: "openApiSchema", openApiSchemaPath: "openApiSchemaPath" }, decls: 3, vars: 16, consts: [[4, "ngIf"], [3, "field", "fields", "data", 4, "ngFor", "ngForOf"], ["class", "array-group-field-capability", 4, "ngIf"], [3, "field", "fields", "data"], ["class", "group-field-capability", 4, "ngFor", "ngForOf"], [1, "group-field-capability"], [1, "group-field-capability--header"], [1, "group-field-capability--content"], ["class", "group-field-capability", 4, "ngIf"], [1, "array-group-field-capability"], ["class", "group-field-capability--content", 4, "ngFor", "ngForOf"]], template: function SpecCapabilityListComponent_Template(rf, ctx) { if (rf & 1) {
167
+ i0.ɵɵtemplate(0, SpecCapabilityListComponent_ng_container_0_Template, 6, 7, "ng-container", 0);
168
+ i0.ɵɵpipe(1, "pure");
169
+ i0.ɵɵpipe(2, "pure");
170
+ } if (rf & 2) {
171
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(2, 7, i0.ɵɵpipeBindV(1, 1, i0.ɵɵpureFunction5(10, _c0, ctx.descriptors, ctx.createCapabilityField, ctx.openApiSchema, ctx.data, ctx.openApiSchemaPath)), ctx.debugLog));
172
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.SpecCapabilityComponent, i3.PurePipe, i3.TranslatePipe], styles: ["[_nghost-%COMP%]:after{clear:both;content:\".\";display:block;width:0;height:0;visibility:hidden}[_nghost-%COMP%] acl-spec-descriptor-capability[_ngcontent-%COMP%]{margin-bottom:12px;min-height:22px}[_nghost-%COMP%] > acl-spec-descriptor-capability[_ngcontent-%COMP%]{width:100%;box-sizing:border-box}[_nghost-%COMP%] .group-field-capability[_ngcontent-%COMP%]{padding:15px 0 12px;border-top:1px dashed #ededed}[_nghost-%COMP%] .group-field-capability--header[_ngcontent-%COMP%]{font-size:16px;font-weight:500;display:flex;line-height:22px;color:rgb(var(--aui-color-n-1))}[_nghost-%COMP%] .group-field-capability--content[_ngcontent-%COMP%] acl-spec-descriptor-capability[_ngcontent-%COMP%]:first-child{margin-top:12px}[_nghost-%COMP%] .group-field-capability--content[_ngcontent-%COMP%] acl-spec-descriptor-capability[_ngcontent-%COMP%]:last-child{margin-bottom:0}[_nghost-%COMP%] .array-group-field-capability[_ngcontent-%COMP%] .group-field-capability--content[_ngcontent-%COMP%]{padding:8px;margin-top:8px;background-color:#fafafa;border-left:4px solid #f0f0f0}[_nghost-%COMP%] .array-group-field-capability[_ngcontent-%COMP%] .group-field-capability--content[_ngcontent-%COMP%] acl-spec-descriptor-capability[_ngcontent-%COMP%]:first-child{margin-top:0}"], changeDetection: 0 }); }
173
+ }
174
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpecCapabilityListComponent, [{
175
+ type: Component,
176
+ args: [{ selector: 'acl-spec-descriptor-capability-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container\n *ngIf=\"\n descriptors\n | pure: createCapabilityField:openApiSchema:data:openApiSchemaPath\n | pure: debugLog as fields\n \"\n>\n <acl-spec-descriptor-capability\n *ngFor=\"let field of fields.normalFields | pure: excludes\"\n [field]=\"field\"\n [fields]=\"fields.basicFields\"\n [data]=\"data\"\n ></acl-spec-descriptor-capability>\n\n <ng-container *ngIf=\"fields.fieldGroups as groups\">\n <div\n class=\"group-field-capability\"\n *ngFor=\"let group of groups\"\n >\n <div class=\"group-field-capability--header\">{{ group.groupName }}</div>\n <div class=\"group-field-capability--content\">\n <acl-spec-descriptor-capability\n *ngFor=\"let field of group.fieldList | pure: excludes\"\n [field]=\"$any(field)\"\n [fields]=\"fields.basicFields\"\n [data]=\"data\"\n ></acl-spec-descriptor-capability>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"fields.advancedFields as advanced\">\n <div\n class=\"group-field-capability\"\n *ngIf=\"advanced.length > 0\"\n >\n <div class=\"group-field-capability--header\">\n {{ 'advanced_fields' | translate }}\n </div>\n <div class=\"group-field-capability--content\">\n <acl-spec-descriptor-capability\n *ngFor=\"let field of advanced | pure: excludes\"\n [field]=\"field\"\n [fields]=\"fields.basicFields\"\n [data]=\"data\"\n ></acl-spec-descriptor-capability>\n </div>\n </div>\n </ng-container>\n\n <div\n class=\"array-group-field-capability\"\n *ngIf=\"fields.arrayFieldGroups as arrayGroups\"\n >\n <div\n class=\"group-field-capability\"\n *ngFor=\"let groups of arrayGroups\"\n >\n <div class=\"group-field-capability--header\">\n {{ groups.groupName | translate }}\n </div>\n <div\n class=\"group-field-capability--content\"\n *ngFor=\"let fieldList of groups.fieldLists\"\n >\n <acl-spec-descriptor-capability\n *ngFor=\"let field of fieldList | pure: excludes\"\n [field]=\"field\"\n [fields]=\"fields.basicFields\"\n [data]=\"data\"\n ></acl-spec-descriptor-capability>\n </div>\n </div>\n </div>\n</ng-container>\n", styles: [":host:after{clear:both;content:\".\";display:block;width:0;height:0;visibility:hidden}:host acl-spec-descriptor-capability{margin-bottom:12px;min-height:22px}:host>acl-spec-descriptor-capability{width:100%;box-sizing:border-box}:host .group-field-capability{padding:15px 0 12px;border-top:1px dashed #ededed}:host .group-field-capability--header{font-size:16px;font-weight:500;display:flex;line-height:22px;color:rgb(var(--aui-color-n-1))}:host .group-field-capability--content acl-spec-descriptor-capability:first-child{margin-top:12px}:host .group-field-capability--content acl-spec-descriptor-capability:last-child{margin-bottom:0}:host .array-group-field-capability .group-field-capability--content{padding:8px;margin-top:8px;background-color:#fafafa;border-left:4px solid #f0f0f0}:host .array-group-field-capability .group-field-capability--content acl-spec-descriptor-capability:first-child{margin-top:0}\n"] }]
177
+ }], null, { descriptors: [{
178
+ type: Input
179
+ }], debug: [{
180
+ type: Input
181
+ }], data: [{
182
+ type: Input
183
+ }], openApiSchema: [{
184
+ type: Input
185
+ }], openApiSchemaPath: [{
186
+ type: Input
187
+ }] }); })();
188
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SpecCapabilityListComponent, { className: "SpecCapabilityListComponent", filePath: "lib/spec-descriptors/capability-list/capability-list.component.ts", lineNumber: 18 }); })();
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3JkLWZvcm0vc3JjL2xpYi9zcGVjLWRlc2NyaXB0b3JzL2NhcGFiaWxpdHktbGlzdC9jYXBhYmlsaXR5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmQtZm9ybS9zcmMvbGliL3NwZWMtZGVzY3JpcHRvcnMvY2FwYWJpbGl0eS1saXN0L2NhcGFiaWxpdHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVExRSxPQUFPLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztJQ0Y3RSxvREFLa0M7Ozs7O0lBRGhDLEFBREEsQUFEQSxnQ0FBZSxpQ0FDYyxxQkFDaEI7OztJQVVULG9EQUtrQzs7Ozs7SUFEaEMsQUFEQSxBQURBLGdDQUFxQixpQ0FDUSxxQkFDaEI7OztJQU5qQixBQUpGLDhCQUdDLGFBQzZDO0lBQUEsWUFBcUI7SUFBQSxpQkFBTTtJQUN2RSw4QkFBNkM7SUFDM0Msc0tBS0M7O0lBRUwsQUFERSxpQkFBTSxFQUNGOzs7O0lBVHdDLGVBQXFCO0lBQXJCLHdDQUFxQjtJQUczQyxlQUFtQztJQUFuQyxtRkFBbUM7OztJQVI3RCw2QkFBbUQ7SUFDakQsMEdBR0M7Ozs7SUFEbUIsY0FBUztJQUFULG1DQUFTOzs7SUF1QnpCLG9EQUtrQzs7Ozs7SUFEaEMsQUFEQSxBQURBLGdDQUFlLGlDQUNjLHFCQUNoQjs7O0lBUmpCLEFBSkYsOEJBR0MsYUFDNkM7SUFDMUMsWUFDRjs7SUFBQSxpQkFBTTtJQUNOLDhCQUE2QztJQUMzQyxzS0FLQzs7SUFFTCxBQURFLGlCQUFNLEVB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UElWM1NjaGVtYU9iamVjdCB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIERlc2NyaXB0b3IsXG4gIE9wZXJhbmRBcnJheUZpZWxkR3JvdXAsXG4gIE9wZXJhbmRGaWVsZCxcbiAgT3BlcmFuZEZpZWxkR3JvdXAsXG59IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFNDSEVNQV9QQVRILCBjcmVhdGVDYXBhYmlsaXR5RmllbGQsIGdldEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXNwZWMtZGVzY3JpcHRvci1jYXBhYmlsaXR5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FwYWJpbGl0eS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FwYWJpbGl0eS1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTcGVjQ2FwYWJpbGl0eUxpc3RDb21wb25lbnQge1xuICBASW5wdXQoKSBkZXNjcmlwdG9yczogRGVzY3JpcHRvcltdO1xuICBASW5wdXQoKSBkZWJ1ZzogYm9vbGVhbjtcbiAgQElucHV0KCkgZGF0YTogdW5rbm93bjtcbiAgQElucHV0KCkgb3BlbkFwaVNjaGVtYTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0O1xuICBASW5wdXQoKSBvcGVuQXBpU2NoZW1hUGF0aDogc3RyaW5nIHwgc3RyaW5nW10gPSBTQ0hFTUFfUEFUSDtcblxuICBjcmVhdGVDYXBhYmlsaXR5RmllbGQgPSBjcmVhdGVDYXBhYmlsaXR5RmllbGQ7XG5cbiAgLy8gVE9ETzogTmVlZCBDb3JyZWN0IFV4IEZvciBEZWVwIE9iamVjdCAmIEFycmF5IFR5cGVcbiAgZXhjbHVkZXMgPSAoZmllbGRzOiBPcGVyYW5kRmllbGRbXSkgPT5cbiAgICBmaWVsZHMuZmlsdGVyKFxuICAgICAgZmllbGQgPT4gIVsnb2JqZWN0JywgJ2FycmF5J10uaW5jbHVkZXMoZ2V0RmllbGRUeXBlKGZpZWxkKSB8fCBmaWVsZC50eXBlKSxcbiAgICApO1xuXG4gIGRlYnVnTG9nID0gKGZpZWxkczoge1xuICAgIG5vcm1hbEZpZWxkczogT3BlcmFuZEZpZWxkW107XG4gICAgZmllbGRHcm91cHM6IE9wZXJhbmRGaWVsZEdyb3VwW107XG4gICAgYXJyYXlGaWVsZEdyb3VwczogT3BlcmFuZEFycmF5RmllbGRHcm91cFtdO1xuICAgIGFkdmFuY2VkRmllbGRzOiBPcGVyYW5kRmllbGRbXTtcbiAgICBkZXNjcmlwdG9yRmllbGRzOiBPcGVyYW5kRmllbGRbXTtcbiAgICBvcGVuQXBpRmllbGRzOiBPcGVyYW5kRmllbGRbXTtcbiAgICBiYXNpY0ZpZWxkczogT3BlcmFuZEZpZWxkW107XG4gICAgdHJlZUZpZWxkczogT3BlcmFuZEZpZWxkW107XG4gIH0pID0+IHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGNvbnNvbGUubG9nKCd0cmVlRmllbGRzOicsIGZpZWxkcy50cmVlRmllbGRzKTtcbiAgICAgIGNvbnNvbGUubG9nKCdvcGVuQXBpRmllbGRzOicsIGZpZWxkcy5vcGVuQXBpRmllbGRzKTtcbiAgICAgIGNvbnNvbGUubG9nKCdkZXNjcmlwdG9yRmllbGRzOicsIGZpZWxkcy5kZXNjcmlwdG9yRmllbGRzKTtcbiAgICAgIGNvbnNvbGUubG9nKCdiYXNpY0ZpZWxkczonLCBmaWVsZHMuYmFzaWNGaWVsZHMpO1xuXG4gICAgICBjb25zb2xlLmxvZygnbm9ybWFsRmllbGRzJywgZmllbGRzLm5vcm1hbEZpZWxkcyk7XG5cbiAgICAgIGNvbnNvbGUubG9nKCdmaWVsZEdyb3VwczonLCBmaWVsZHMuZmllbGRHcm91cHMpO1xuICAgICAgY29uc29sZS5sb2coJ2FycmF5RmllbGRHcm91cHM6JywgZmllbGRzLmFycmF5RmllbGRHcm91cHMpO1xuICAgICAgY29uc29sZS5sb2coJ2FkdmFuY2VkRmllbGRzOicsIGZpZWxkcy5hZHZhbmNlZEZpZWxkcyk7XG4gICAgfVxuICAgIC8qIGVzbGludC1lbmFibGUgbm8tY29uc29sZSAqL1xuICAgIHJldHVybiBmaWVsZHM7XG4gIH07XG59XG4iLCI8bmctY29udGFpbmVyXG4gICpuZ0lmPVwiXG4gICAgZGVzY3JpcHRvcnNcbiAgICAgIHwgcHVyZTogY3JlYXRlQ2FwYWJpbGl0eUZpZWxkOm9wZW5BcGlTY2hlbWE6ZGF0YTpvcGVuQXBpU2NoZW1hUGF0aFxuICAgICAgfCBwdXJlOiBkZWJ1Z0xvZyBhcyBmaWVsZHNcbiAgXCJcbj5cbiAgPGFjbC1zcGVjLWRlc2NyaXB0b3ItY2FwYWJpbGl0eVxuICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHMubm9ybWFsRmllbGRzIHwgcHVyZTogZXhjbHVkZXNcIlxuICAgIFtmaWVsZF09XCJmaWVsZFwiXG4gICAgW2ZpZWxkc109XCJmaWVsZHMuYmFzaWNGaWVsZHNcIlxuICAgIFtkYXRhXT1cImRhdGFcIlxuICA+PC9hY2wtc3BlYy1kZXNjcmlwdG9yLWNhcGFiaWxpdHk+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkcy5maWVsZEdyb3VwcyBhcyBncm91cHNcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdyb3VwLWZpZWxkLWNhcGFiaWxpdHlcIlxuICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3Vwc1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLWZpZWxkLWNhcGFiaWxpdHktLWhlYWRlclwiPnt7IGdyb3VwLmdyb3VwTmFtZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLWZpZWxkLWNhcGFiaWxpdHktLWNvbnRlbnRcIj5cbiAgICAgICAgPGFjbC1zcGVjLWRlc2NyaXB0b3ItY2FwYWJpbGl0eVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBncm91cC5maWVsZExpc3QgfCBwdXJlOiBleGNsdWRlc1wiXG4gICAgICAgICAgW2ZpZWxkXT1cIiRhbnkoZmllbGQpXCJcbiAgICAgICAgICBbZmllbGRzXT1cImZpZWxkcy5iYXNpY0ZpZWxkc1wiXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgICAgID48L2FjbC1zcGVjLWRlc2NyaXB0b3ItY2FwYWJpbGl0eT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGRzLmFkdmFuY2VkRmllbGRzIGFzIGFkdmFuY2VkXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncm91cC1maWVsZC1jYXBhYmlsaXR5XCJcbiAgICAgICpuZ0lmPVwiYWR2YW5jZWQubGVuZ3RoID4gMFwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLWZpZWxkLWNhcGFiaWxpdHktLWhlYWRlclwiPlxuICAgICAgICB7eyAnYWR2YW5jZWRfZmllbGRzJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtZmllbGQtY2FwYWJpbGl0eS0tY29udGVudFwiPlxuICAgICAgICA8YWNsLXNwZWMtZGVzY3JpcHRvci1jYXBhYmlsaXR5XG4gICAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGFkdmFuY2VkIHwgcHVyZTogZXhjbHVkZXNcIlxuICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXG4gICAgICAgICAgW2ZpZWxkc109XCJmaWVsZHMuYmFzaWNGaWVsZHNcIlxuICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICA+PC9hY2wtc3BlYy1kZXNjcmlwdG9yLWNhcGFiaWxpdHk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXJyYXktZ3JvdXAtZmllbGQtY2FwYWJpbGl0eVwiXG4gICAgKm5nSWY9XCJmaWVsZHMuYXJyYXlGaWVsZEdyb3VwcyBhcyBhcnJheUdyb3Vwc1wiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImdyb3VwLWZpZWxkLWNhcGFiaWxpdHlcIlxuICAgICAgKm5nRm9yPVwibGV0IGdyb3VwcyBvZiBhcnJheUdyb3Vwc1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3VwLWZpZWxkLWNhcGFiaWxpdHktLWhlYWRlclwiPlxuICAgICAgICB7eyBncm91cHMuZ3JvdXBOYW1lIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncm91cC1maWVsZC1jYXBhYmlsaXR5LS1jb250ZW50XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGZpZWxkTGlzdCBvZiBncm91cHMuZmllbGRMaXN0c1wiXG4gICAgICA+XG4gICAgICAgIDxhY2wtc3BlYy1kZXNjcmlwdG9yLWNhcGFiaWxpdHlcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRMaXN0IHwgcHVyZTogZXhjbHVkZXNcIlxuICAgICAgICAgIFtmaWVsZF09XCJmaWVsZFwiXG4gICAgICAgICAgW2ZpZWxkc109XCJmaWVsZHMuYmFzaWNGaWVsZHNcIlxuICAgICAgICAgIFtkYXRhXT1cImRhdGFcIlxuICAgICAgICA+PC9hY2wtc3BlYy1kZXNjcmlwdG9yLWNhcGFiaWxpdHk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './capability/capability.component';
2
+ export * from './capability-list/capability-list.component';
3
+ export * from './util';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyZC1mb3JtL3NyYy9saWIvc3BlYy1kZXNjcmlwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhcGFiaWxpdHkvY2FwYWJpbGl0eS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXBhYmlsaXR5LWxpc3QvY2FwYWJpbGl0eS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwnO1xuIl19
@@ -0,0 +1,13 @@
1
+ import { Map } from 'immutable';
2
+ import { isEmpty } from 'lodash-es';
3
+ import { SpecCapability } from '../types';
4
+ export const capabilityComponents = Map()
5
+ .set(SpecCapability.resourceRequirements, SpecCapability.resourceRequirements)
6
+ .set(SpecCapability.select, SpecCapability.resourceRequirements);
7
+ export const capabilityFor = (specCapability) => {
8
+ if (isEmpty(specCapability)) {
9
+ return SpecCapability.text;
10
+ }
11
+ return specCapability;
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3JkLWZvcm0vc3JjL2xpYi9zcGVjLWRlc2NyaXB0b3JzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFMUMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFrQztLQUN0RSxHQUFHLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQztLQUM3RSxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUVuRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FDM0IsY0FBOEIsRUFDZCxFQUFFO0lBQ2xCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFDRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXAgfSBmcm9tICdpbW11dGFibGUnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IFNwZWNDYXBhYmlsaXR5IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgY2FwYWJpbGl0eUNvbXBvbmVudHMgPSBNYXA8U3BlY0NhcGFiaWxpdHksIFNwZWNDYXBhYmlsaXR5PigpXG4gIC5zZXQoU3BlY0NhcGFiaWxpdHkucmVzb3VyY2VSZXF1aXJlbWVudHMsIFNwZWNDYXBhYmlsaXR5LnJlc291cmNlUmVxdWlyZW1lbnRzKVxuICAuc2V0KFNwZWNDYXBhYmlsaXR5LnNlbGVjdCwgU3BlY0NhcGFiaWxpdHkucmVzb3VyY2VSZXF1aXJlbWVudHMpO1xuXG5leHBvcnQgY29uc3QgY2FwYWJpbGl0eUZvciA9IChcbiAgc3BlY0NhcGFiaWxpdHk6IFNwZWNDYXBhYmlsaXR5LFxuKTogU3BlY0NhcGFiaWxpdHkgPT4ge1xuICBpZiAoaXNFbXB0eShzcGVjQ2FwYWJpbGl0eSkpIHtcbiAgICByZXR1cm4gU3BlY0NhcGFiaWxpdHkudGV4dDtcbiAgfVxuICByZXR1cm4gc3BlY0NhcGFiaWxpdHk7XG59O1xuIl19
@@ -0,0 +1,73 @@
1
+ export var Validations;
2
+ (function (Validations) {
3
+ Validations["maximum"] = "maximum";
4
+ Validations["minimum"] = "minimum";
5
+ Validations["maxLength"] = "maxLength";
6
+ Validations["minLength"] = "minLength";
7
+ Validations["pattern"] = "pattern";
8
+ Validations["required"] = "required";
9
+ })(Validations || (Validations = {}));
10
+ export const SpecCapabilityUIPrefix = 'urn:alm:descriptor:com.tectonic.ui';
11
+ export const SpecCapabilityWidgetsPrefix = 'urn:alm:descriptor:widgets';
12
+ export var SpecCapability;
13
+ (function (SpecCapability) {
14
+ // 想要更多的类型可以参考 https://github.com/openshift/console/blob/79c6d1118674cb1a2c8dcfcfd1797f25492e699b/frontend/packages/operator-lifecycle-manager/src/components/descriptors/types.ts#L8
15
+ SpecCapability["podCount"] = "urn:alm:descriptor:com.tectonic.ui:podCount";
16
+ SpecCapability["resourceRequirements"] = "urn:alm:descriptor:com.tectonic.ui:resourceRequirements";
17
+ SpecCapability["booleanSwitch"] = "urn:alm:descriptor:com.tectonic.ui:booleanSwitch";
18
+ SpecCapability["text"] = "urn:alm:descriptor:com.tectonic.ui:text";
19
+ SpecCapability["textarea"] = "urn:alm:descriptor:com.tectonic.ui:textarea";
20
+ SpecCapability["password"] = "urn:alm:descriptor:com.tectonic.ui:password";
21
+ SpecCapability["confirmPassword"] = "urn:alm:descriptor:com.tectonic.ui:password:confirm";
22
+ SpecCapability["externalPassword"] = "urn:alm:descriptor:com.tectonic.ui:externalPassword";
23
+ SpecCapability["number"] = "urn:alm:descriptor:com.tectonic.ui:number";
24
+ SpecCapability["tagsInput"] = "urn:alm:descriptor:com.tectonic.ui:tagsInput";
25
+ SpecCapability["fieldGroup"] = "urn:alm:descriptor:com.tectonic.ui:fieldGroup:";
26
+ SpecCapability["arrayFieldGroup"] = "urn:alm:descriptor:com.tectonic.ui:arrayFieldGroup:";
27
+ SpecCapability["select"] = "urn:alm:descriptor:com.tectonic.ui:select:";
28
+ SpecCapability["advanced"] = "urn:alm:descriptor:com.tectonic.ui:advanced";
29
+ SpecCapability["fieldDependency"] = "urn:alm:descriptor:com.tectonic.ui:fieldDependency:";
30
+ SpecCapability["defaultValue"] = "urn:alm:descriptor:com.tectonic.default:";
31
+ SpecCapability["hidden"] = "urn:alm:descriptor:com.tectonic.ui:hidden";
32
+ SpecCapability["k8sResourcePrefix"] = "urn:alm:descriptor:io.kubernetes:";
33
+ SpecCapability["labelEn"] = "urn:alm:descriptor:label:en:";
34
+ SpecCapability["labelZh"] = "urn:alm:descriptor:label:zh:";
35
+ SpecCapability["descriptionEn"] = "urn:alm:descriptor:description:en:";
36
+ SpecCapability["descriptionZh"] = "urn:alm:descriptor:description:zh:";
37
+ SpecCapability["placeholder"] = "urn:alm:descriptor:placeholder:";
38
+ SpecCapability["fieldGroupName"] = "urn:alm:descriptor:fieldGroupName:";
39
+ SpecCapability["tooltip"] = "urn:alm:descriptor:tooltip:";
40
+ /** Using String Expressions */
41
+ SpecCapability["expression"] = "urn:alm:descriptor:expression:";
42
+ /** 自定义 Urn */
43
+ SpecCapability["yaml"] = "urn:alm:descriptor:com.tectonic.ui:yaml";
44
+ // urn:alm:descriptor:yaml:actions:disabled:diffMode,recover
45
+ SpecCapability["yamlActionsDisabled"] = "urn:alm:descriptor:yaml:actions:disabled:";
46
+ // json or stringify
47
+ SpecCapability["yamlResult"] = "urn:alm:descriptor:yaml:result:";
48
+ SpecCapability["oneOf"] = "urn:alm:descriptor:oneOf:";
49
+ SpecCapability["object"] = "urn:alm:descriptor:com.tectonic.ui:object";
50
+ SpecCapability["array"] = "urn:alm:descriptor:com.tectonic.ui:array";
51
+ // object 和 array 组件折叠, 默认为展开
52
+ SpecCapability["folded"] = "urn:alm:descriptor:com.tectonic.ui:folded";
53
+ // array 组件在没有 Value 的前提下支持不保留首项
54
+ SpecCapability["emptyArray"] = "urn:alm:descriptor:com.tectonic.ui:emptyArray";
55
+ SpecCapability["validation"] = "urn:alm:descriptor:com.tectonic.ui:validation:";
56
+ // 用于支持复数场景,如 multiselect,tags-input 等
57
+ SpecCapability["multiple"] = "urn:alm:descriptor:com.tectonic.ui:multiple";
58
+ SpecCapability["allowCreate"] = "urn:alm:descriptor:com.tectonic.ui:allowCreate";
59
+ SpecCapability["creatable"] = "urn:alm:descriptor:com.tectonic.ui:creatable";
60
+ SpecCapability["clearable"] = "urn:alm:descriptor:com.tectonic.ui:clearable";
61
+ SpecCapability["disabled"] = "urn:alm:descriptor:com.tectonic.ui:disabled";
62
+ SpecCapability["radio"] = "urn:alm:descriptor:com.tectonic.ui:radio:";
63
+ SpecCapability["customDescriptionZh"] = "urn:alm:descriptor:custom:description:zh:";
64
+ SpecCapability["customDescriptionEn"] = "urn:alm:descriptor:custom:description:en:";
65
+ SpecCapability["customDescriptionLink"] = "urn:alm:descriptor:custom:description:link:";
66
+ SpecCapability["custom"] = "urn:alm:descriptor:widgets:";
67
+ // 保存密码的 Secret
68
+ SpecCapability["basicAuthSecret"] = "urn:alm:descriptor:com.tectonic.ui:basicAuthSecret";
69
+ SpecCapability["remote"] = "urn:alm:descriptor:remote:";
70
+ // 用于做control唯一识别的依据,缺省情况下 path 将作为依据
71
+ SpecCapability["pathTag"] = "urn:alm:descriptor:com.tectonic.ui:path.tag:";
72
+ })(SpecCapability || (SpecCapability = {}));
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyZC1mb3JtL3NyYy9saWIvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFOLElBQVksV0FPWDtBQVBELFdBQVksV0FBVztJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBdUIsQ0FBQTtJQUN2QixrQ0FBbUIsQ0FBQTtJQUNuQixvQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBUFcsV0FBVyxLQUFYLFdBQVcsUUFPdEI7QUFFRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUMzRSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyw0QkFBNEIsQ0FBQztBQUV4RSxNQUFNLENBQU4sSUFBWSxjQTJEWDtBQTNERCxXQUFZLGNBQWM7SUFDeEIscUxBQXFMO0lBQ3JMLDBFQUF3RCxDQUFBO0lBQ3hELGtHQUFnRixDQUFBO0lBQ2hGLG9GQUFrRSxDQUFBO0lBQ2xFLGtFQUFnRCxDQUFBO0lBQ2hELDBFQUF3RCxDQUFBO0lBQ3hELDBFQUF3RCxDQUFBO0lBQ3hELHlGQUF1RSxDQUFBO0lBQ3ZFLDBGQUF3RSxDQUFBO0lBQ3hFLHNFQUFvRCxDQUFBO0lBQ3BELDRFQUEwRCxDQUFBO0lBQzFELCtFQUE2RCxDQUFBO0lBQzdELHlGQUF1RSxDQUFBO0lBQ3ZFLHVFQUFxRCxDQUFBO0lBQ3JELDBFQUF3RCxDQUFBO0lBQ3hELHlGQUF1RSxDQUFBO0lBQ3ZFLDJFQUF5RCxDQUFBO0lBQ3pELHNFQUFvRCxDQUFBO0lBQ3BELHlFQUF1RCxDQUFBO0lBQ3ZELDBEQUF3QyxDQUFBO0lBQ3hDLDBEQUF3QyxDQUFBO0lBQ3hDLHNFQUFvRCxDQUFBO0lBQ3BELHNFQUFvRCxDQUFBO0lBQ3BELGlFQUErQyxDQUFBO0lBQy9DLHVFQUFxRCxDQUFBO0lBQ3JELHlEQUF1QyxDQUFBO0lBQ3ZDLCtCQUErQjtJQUMvQiwrREFBNkMsQ0FBQTtJQUM3QyxjQUFjO0lBQ2Qsa0VBQWdELENBQUE7SUFDaEQsNERBQTREO0lBQzVELG1GQUFpRSxDQUFBO0lBQ2pFLG9CQUFvQjtJQUNwQixnRUFBOEMsQ0FBQTtJQUM5QyxxREFBbUMsQ0FBQTtJQUNuQyxzRUFBb0QsQ0FBQTtJQUNwRCxvRUFBa0QsQ0FBQTtJQUNsRCw2QkFBNkI7SUFDN0Isc0VBQW9ELENBQUE7SUFDcEQsZ0NBQWdDO0lBQ2hDLDhFQUE0RCxDQUFBO0lBQzVELCtFQUE2RCxDQUFBO0lBQzdELHNDQUFzQztJQUN0QywwRUFBd0QsQ0FBQTtJQUN4RCxnRkFBOEQsQ0FBQTtJQUM5RCw0RUFBMEQsQ0FBQTtJQUMxRCw0RUFBMEQsQ0FBQTtJQUMxRCwwRUFBd0QsQ0FBQTtJQUN4RCxxRUFBbUQsQ0FBQTtJQUNuRCxtRkFBaUUsQ0FBQTtJQUNqRSxtRkFBaUUsQ0FBQTtJQUNqRSx1RkFBcUUsQ0FBQTtJQUNyRSx3REFBc0MsQ0FBQTtJQUN0QyxlQUFlO0lBQ2Ysd0ZBQXNFLENBQUE7SUFDdEUsdURBQXFDLENBQUE7SUFDckMscUNBQXFDO0lBQ3JDLDBFQUF3RCxDQUFBO0FBQzFELENBQUMsRUEzRFcsY0FBYyxLQUFkLGNBQWMsUUEyRHpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSlNPTlNjaGVtYTZUeXBlTmFtZSwgTG9jYWxlRGlzcGxheSB9IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdpbW11dGFibGUnO1xuXG5leHBvcnQgZW51bSBWYWxpZGF0aW9ucyB7XG4gIG1heGltdW0gPSAnbWF4aW11bScsXG4gIG1pbmltdW0gPSAnbWluaW11bScsXG4gIG1heExlbmd0aCA9ICdtYXhMZW5ndGgnLFxuICBtaW5MZW5ndGggPSAnbWluTGVuZ3RoJyxcbiAgcGF0dGVybiA9ICdwYXR0ZXJuJyxcbiAgcmVxdWlyZWQgPSAncmVxdWlyZWQnLFxufVxuXG5leHBvcnQgY29uc3QgU3BlY0NhcGFiaWxpdHlVSVByZWZpeCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpJztcbmV4cG9ydCBjb25zdCBTcGVjQ2FwYWJpbGl0eVdpZGdldHNQcmVmaXggPSAndXJuOmFsbTpkZXNjcmlwdG9yOndpZGdldHMnO1xuXG5leHBvcnQgZW51bSBTcGVjQ2FwYWJpbGl0eSB7XG4gIC8vIOaDs+imgeabtOWkmueahOexu+Wei+WPr+S7peWPguiAgyBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNoaWZ0L2NvbnNvbGUvYmxvYi83OWM2ZDExMTg2NzRjYjFhMmM4ZGNmY2ZkMTc5N2YyNTQ5MmU2OTliL2Zyb250ZW5kL3BhY2thZ2VzL29wZXJhdG9yLWxpZmVjeWNsZS1tYW5hZ2VyL3NyYy9jb21wb25lbnRzL2Rlc2NyaXB0b3JzL3R5cGVzLnRzI0w4XG4gIHBvZENvdW50ID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cG9kQ291bnQnLFxuICByZXNvdXJjZVJlcXVpcmVtZW50cyA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJlc291cmNlUmVxdWlyZW1lbnRzJyxcbiAgYm9vbGVhblN3aXRjaCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmJvb2xlYW5Td2l0Y2gnLFxuICB0ZXh0ID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dGV4dCcsXG4gIHRleHRhcmVhID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dGV4dGFyZWEnLFxuICBwYXNzd29yZCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnBhc3N3b3JkJyxcbiAgY29uZmlybVBhc3N3b3JkID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6cGFzc3dvcmQ6Y29uZmlybScsXG4gIGV4dGVybmFsUGFzc3dvcmQgPSAndXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpleHRlcm5hbFBhc3N3b3JkJyxcbiAgbnVtYmVyID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6bnVtYmVyJyxcbiAgdGFnc0lucHV0ID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dGFnc0lucHV0JyxcbiAgZmllbGRHcm91cCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZpZWxkR3JvdXA6JyxcbiAgYXJyYXlGaWVsZEdyb3VwID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6YXJyYXlGaWVsZEdyb3VwOicsXG4gIHNlbGVjdCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnNlbGVjdDonLFxuICBhZHZhbmNlZCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmFkdmFuY2VkJyxcbiAgZmllbGREZXBlbmRlbmN5ID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZmllbGREZXBlbmRlbmN5OicsXG4gIGRlZmF1bHRWYWx1ZSA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLmRlZmF1bHQ6JyxcbiAgaGlkZGVuID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6aGlkZGVuJyxcbiAgazhzUmVzb3VyY2VQcmVmaXggPSAndXJuOmFsbTpkZXNjcmlwdG9yOmlvLmt1YmVybmV0ZXM6JyxcbiAgbGFiZWxFbiA9ICd1cm46YWxtOmRlc2NyaXB0b3I6bGFiZWw6ZW46JyxcbiAgbGFiZWxaaCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6bGFiZWw6emg6JyxcbiAgZGVzY3JpcHRpb25FbiA9ICd1cm46YWxtOmRlc2NyaXB0b3I6ZGVzY3JpcHRpb246ZW46JyxcbiAgZGVzY3JpcHRpb25aaCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6ZGVzY3JpcHRpb246emg6JyxcbiAgcGxhY2Vob2xkZXIgPSAndXJuOmFsbTpkZXNjcmlwdG9yOnBsYWNlaG9sZGVyOicsXG4gIGZpZWxkR3JvdXBOYW1lID0gJ3VybjphbG06ZGVzY3JpcHRvcjpmaWVsZEdyb3VwTmFtZTonLFxuICB0b29sdGlwID0gJ3VybjphbG06ZGVzY3JpcHRvcjp0b29sdGlwOicsXG4gIC8qKiBVc2luZyBTdHJpbmcgRXhwcmVzc2lvbnMgKi9cbiAgZXhwcmVzc2lvbiA9ICd1cm46YWxtOmRlc2NyaXB0b3I6ZXhwcmVzc2lvbjonLFxuICAvKiog6Ieq5a6a5LmJIFVybiAqL1xuICB5YW1sID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6eWFtbCcsXG4gIC8vIHVybjphbG06ZGVzY3JpcHRvcjp5YW1sOmFjdGlvbnM6ZGlzYWJsZWQ6ZGlmZk1vZGUscmVjb3ZlclxuICB5YW1sQWN0aW9uc0Rpc2FibGVkID0gJ3VybjphbG06ZGVzY3JpcHRvcjp5YW1sOmFjdGlvbnM6ZGlzYWJsZWQ6JyxcbiAgLy8ganNvbiBvciBzdHJpbmdpZnlcbiAgeWFtbFJlc3VsdCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6eWFtbDpyZXN1bHQ6JyxcbiAgb25lT2YgPSAndXJuOmFsbTpkZXNjcmlwdG9yOm9uZU9mOicsXG4gIG9iamVjdCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOm9iamVjdCcsXG4gIGFycmF5ID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6YXJyYXknLFxuICAvLyBvYmplY3Qg5ZKMIGFycmF5IOe7hOS7tuaKmOWPoCwg6buY6K6k5Li65bGV5byAXG4gIGZvbGRlZCA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmZvbGRlZCcsXG4gIC8vIGFycmF5IOe7hOS7tuWcqOayoeaciSBWYWx1ZSDnmoTliY3mj5DkuIvmlK/mjIHkuI3kv53nlZnpppbpoblcbiAgZW1wdHlBcnJheSA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmVtcHR5QXJyYXknLFxuICB2YWxpZGF0aW9uID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6dmFsaWRhdGlvbjonLFxuICAvLyDnlKjkuo7mlK/mjIHlpI3mlbDlnLrmma/vvIzlpoIgbXVsdGlzZWxlY3TvvIx0YWdzLWlucHV0IOetiVxuICBtdWx0aXBsZSA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOm11bHRpcGxlJyxcbiAgYWxsb3dDcmVhdGUgPSAndXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTphbGxvd0NyZWF0ZScsXG4gIGNyZWF0YWJsZSA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmNyZWF0YWJsZScsXG4gIGNsZWFyYWJsZSA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOmNsZWFyYWJsZScsXG4gIGRpc2FibGVkID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjb20udGVjdG9uaWMudWk6ZGlzYWJsZWQnLFxuICByYWRpbyA9ICd1cm46YWxtOmRlc2NyaXB0b3I6Y29tLnRlY3RvbmljLnVpOnJhZGlvOicsXG4gIGN1c3RvbURlc2NyaXB0aW9uWmggPSAndXJuOmFsbTpkZXNjcmlwdG9yOmN1c3RvbTpkZXNjcmlwdGlvbjp6aDonLFxuICBjdXN0b21EZXNjcmlwdGlvbkVuID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjdXN0b206ZGVzY3JpcHRpb246ZW46JyxcbiAgY3VzdG9tRGVzY3JpcHRpb25MaW5rID0gJ3VybjphbG06ZGVzY3JpcHRvcjpjdXN0b206ZGVzY3JpcHRpb246bGluazonLFxuICBjdXN0b20gPSAndXJuOmFsbTpkZXNjcmlwdG9yOndpZGdldHM6JyxcbiAgLy8g5L+d5a2Y5a+G56CB55qEIFNlY3JldFxuICBiYXNpY0F1dGhTZWNyZXQgPSAndXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpiYXNpY0F1dGhTZWNyZXQnLFxuICByZW1vdGUgPSAndXJuOmFsbTpkZXNjcmlwdG9yOnJlbW90ZTonLFxuICAvLyDnlKjkuo7lgZpjb250cm9s5ZSv5LiA6K+G5Yir55qE5L6d5o2u77yM57y655yB5oOF5Ya15LiLIHBhdGgg5bCG5L2c5Li65L6d5o2uXG4gIHBhdGhUYWcgPSAndXJuOmFsbTpkZXNjcmlwdG9yOmNvbS50ZWN0b25pYy51aTpwYXRoLnRhZzonLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlc2NyaXB0b3Ige1xuICBwYXRoOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICd4LWRlc2NyaXB0b3JzJzogU3BlY0NhcGFiaWxpdHlbXTtcbiAgdmFsdWU/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVzY3JpcHRvclByb3BzIHtcbiAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjtcbiAgdmFsdWU6IGFueTtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhbmRGaWVsZFZhbGlkYXRpb24ge1xuICBbVmFsaWRhdGlvbnMubWF4aW11bV0/OiBudW1iZXI7XG4gIFtWYWxpZGF0aW9ucy5taW5pbXVtXT86IG51bWJlcjtcbiAgW1ZhbGlkYXRpb25zLm1heExlbmd0aF0/OiBudW1iZXI7XG4gIFtWYWxpZGF0aW9ucy5taW5MZW5ndGhdPzogbnVtYmVyO1xuICBbVmFsaWRhdGlvbnMucGF0dGVybl0/OiBzdHJpbmc7XG4gIFtWYWxpZGF0aW9ucy5yZXF1aXJlZF0/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wZXJhbmRGaWVsZCB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIHR5cGU/OiBKU09OU2NoZW1hNlR5cGVOYW1lO1xuICBjYXBhYmlsaXRpZXM/OiBTcGVjQ2FwYWJpbGl0eVtdOyAvLyBTcGVjQ2FwYWJpbGl0eVxuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdmFsaWRhdGlvbnM/OiBPcGVyYW5kRmllbGRWYWxpZGF0aW9uO1xuICB2YWx1ZT86IHVua25vd247XG4gIGRlc2NyaXB0b3I/OiBEZXNjcmlwdG9yO1xuICBfZGlydHk/OiBib29sZWFuO1xuICBwYXJlbnQ/OiBzdHJpbmc7XG4gIGluUGFyZW50SW5kZXg/OiBudW1iZXI7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcGVyYW5kRmllbGRHcm91cCBleHRlbmRzIE9wZXJhbmRGaWVsZCB7XG4gIGdyb3VwTmFtZTogc3RyaW5nO1xuICBncm91cERpc3BsYXk6IExvY2FsZURpc3BsYXk7XG4gIGZpZWxkTGlzdDogT3BlcmFuZEZpZWxkW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3BlcmFuZEFycmF5RmllbGRHcm91cCBleHRlbmRzIE9wZXJhbmRGaWVsZCB7XG4gIGdyb3VwTmFtZTogc3RyaW5nO1xuICBmaWVsZExpc3RzOiBPcGVyYW5kRmllbGRbXVtdO1xufVxuXG5leHBvcnQgdHlwZSBGb3JtRGF0YVN0YXRlID0gTWFwPHN0cmluZywgYW55PjtcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQge1xuICBmaWVsZDogT3BlcmFuZEZpZWxkO1xuICBkYXRhOiB1bmtub3duO1xuICBlcnJvcnM6IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUVycm9ycyB7XG4gIFtrZXk6IHN0cmluZ106IFZhbGlkYXRpb25FcnJvcnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVN0YXRlIHtcbiAgZGF0YTogdW5rbm93bjtcbiAgZXJyb3JzOiBGb3JtRXJyb3JzO1xufVxuIl19