@alauda-fe/common 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/a-chart/base-chart.d.ts +2 -2
- package/a-chart/chart.component.d.ts +3 -2
- package/a-chart/types.d.ts +5 -0
- package/a-metric-chart/a-metric-chart.component.d.ts +45 -2
- package/a-metric-chart/a-metric-chart.module.d.ts +2 -2
- package/a-metric-chart/utils/util.d.ts +1 -1
- package/api/acp-common-api.service.d.ts +26 -0
- package/api/cluster-version.service.d.ts +0 -3
- package/api/project-api.service.d.ts +5 -0
- package/api/public-api.d.ts +1 -0
- package/assets/icons/prod-icons.js +1 -1
- package/core/constants/patterns.d.ts +5 -0
- package/core/constants/status-icons.d.ts +1 -0
- package/core/directives/aui-code-editor.directive.d.ts +13 -0
- package/core/directives/feature-gate.directive.d.ts +1 -1
- package/core/directives/public-api.d.ts +2 -0
- package/core/guards/feature.guard.d.ts +1 -1
- package/core/module.d.ts +10 -10
- package/core/pipes/k8s-util.pipe.d.ts +13 -13
- package/core/pipes/k8s-util.pipe.module.d.ts +6 -1
- package/core/pipes/public-api.d.ts +3 -0
- package/{scm/pure-pipe/module.d.ts → core/pipes/pure.pipe.module.d.ts} +3 -0
- package/core/services/context.service.d.ts +1 -1
- package/core/utils/unit.d.ts +1 -0
- package/disabled-container/disabled-container.component.d.ts +1 -1
- package/disabled-container/disabled-container.module.d.ts +4 -4
- package/effect-directive/module.d.ts +1 -1
- package/esm2022/a-chart/a-chart.module.mjs +1 -1
- package/esm2022/a-chart/base-chart.mjs +7 -7
- package/esm2022/a-chart/chart.component.mjs +11 -3
- package/esm2022/a-chart/types.mjs +7 -2
- package/esm2022/a-metric-chart/a-metric-chart.component.mjs +38 -13
- package/esm2022/a-metric-chart/a-metric-chart.module.mjs +6 -8
- package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +6 -5
- package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +26 -12
- package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +3 -3
- package/esm2022/a-metric-chart/utils/util.mjs +6 -5
- package/esm2022/api/acp-common-api.service.mjs +34 -0
- package/esm2022/api/cluster-version.service.mjs +1 -7
- package/esm2022/api/project-api.service.mjs +17 -4
- package/esm2022/api/public-api.mjs +2 -1
- package/esm2022/array-form-table/form/component.mjs +2 -2
- package/esm2022/array-form-table/key-value-table/component.mjs +2 -2
- package/esm2022/business/resource-select/module.mjs +2 -2
- package/esm2022/chart/chart.module.mjs +1 -1
- package/esm2022/core/constants/patterns.mjs +6 -1
- package/esm2022/core/constants/status-icons.mjs +2 -1
- package/esm2022/core/directives/aui-code-editor.directive.mjs +30 -0
- package/esm2022/core/directives/declare.directive.mjs +27 -0
- package/esm2022/core/directives/feature-gate.directive.mjs +3 -3
- package/esm2022/core/directives/public-api.mjs +3 -1
- package/esm2022/core/guards/feature.guard.mjs +3 -5
- package/esm2022/core/module.mjs +19 -17
- package/esm2022/core/pipes/calc.pipe.mjs +21 -0
- package/esm2022/core/pipes/k8s-util.pipe.mjs +27 -27
- package/esm2022/core/pipes/k8s-util.pipe.module.mjs +8 -5
- package/esm2022/core/pipes/public-api.mjs +4 -1
- package/esm2022/core/pipes/pure.pipe.mjs +26 -0
- package/esm2022/core/pipes/pure.pipe.module.mjs +21 -0
- package/esm2022/core/services/context.service.mjs +5 -3
- package/esm2022/core/utils/common.mjs +3 -3
- package/esm2022/core/utils/unit.mjs +5 -1
- package/esm2022/disabled-container/disabled-container.component.mjs +7 -5
- package/esm2022/disabled-container/disabled-container.module.mjs +7 -11
- package/esm2022/effect-directive/module.mjs +4 -5
- package/esm2022/exec/module.mjs +3 -4
- package/esm2022/form/errors-mapper/errors-mapper.module.mjs +13 -4
- package/esm2022/form/labels-editor/component.mjs +8 -8
- package/esm2022/form/taints-editor/component.mjs +4 -6
- package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +9 -10
- package/esm2022/form/validators/utils.mjs +47 -2
- package/esm2022/graphql/graphql.module.mjs +62 -0
- package/esm2022/graphql/graphql.service.mjs +45 -0
- package/esm2022/graphql/public-api.mjs +4 -0
- package/esm2022/graphql/queries.mjs +29 -0
- package/esm2022/graphql/types.mjs +6 -0
- package/esm2022/grid-layout/utils/grid.utils.mjs +2 -20
- package/esm2022/help-document/directive.mjs +3 -2
- package/esm2022/help-document/module.mjs +6 -4
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +3 -2
- package/esm2022/license/license-error/module.mjs +1 -1
- package/esm2022/multi-search/action-input/component.mjs +6 -7
- package/esm2022/multi-search/form/component.mjs +3 -4
- package/esm2022/multi-search/multi-search-tags/component.mjs +9 -9
- package/esm2022/overview-banner/overview-banner.component.mjs +5 -5
- package/esm2022/overview-banner/overview-banner.module.mjs +7 -7
- package/esm2022/page-guard/module.mjs +7 -4
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -2
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +23 -5
- package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +16 -31
- package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -2
- package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +6 -3
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
- package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +5 -7
- package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +4 -4
- package/esm2022/page-scaffold/page-header/help-menu/module.mjs +13 -14
- package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +2 -2
- package/esm2022/public-api.mjs +2 -2
- package/esm2022/searchable-selector/module.mjs +1 -1
- package/esm2022/skeleton/module.mjs +1 -1
- package/esm2022/table/module.mjs +5 -5
- package/esm2022/translate/en.json +44 -1
- package/esm2022/translate/translate.directive.mjs +7 -7
- package/esm2022/translate/translate.module.mjs +18 -17
- package/esm2022/translate/translate.pipe.mjs +4 -3
- package/esm2022/translate/zh.json +42 -1
- package/esm2022/widget/card-section/card-section.component.mjs +23 -6
- package/esm2022/widget/current-time/component.mjs +6 -4
- package/esm2022/widget/date-range-picker/component.mjs +12 -9
- package/esm2022/widget/foldable-item-in-table/component.mjs +28 -6
- package/esm2022/widget/password-input/component.mjs +283 -0
- package/esm2022/widget/public-api.mjs +8 -1
- package/esm2022/widget/resource-multi-select/component.mjs +211 -0
- package/esm2022/widget/resource-multi-select/util.mjs +24 -0
- package/esm2022/{scm → widget}/search-panel/component.mjs +1 -1
- package/esm2022/{scm → widget}/search-panel/helper.directive.mjs +1 -1
- package/esm2022/{scm → widget}/search-panel/search-item/component.mjs +1 -1
- package/esm2022/widget/status-icon/status-icon.component.mjs +2 -2
- package/esm2022/widget/tags-label/component.mjs +2 -3
- package/esm2022/widget/terminating-tag/component.mjs +7 -4
- package/esm2022/{scm → widget}/text-ellipsis/component.mjs +1 -1
- package/esm2022/widget/text-with-url/component.mjs +6 -4
- package/esm2022/widget/widget.module.mjs +54 -86
- package/esm2022/widget/zero-state/zero-state.component.mjs +6 -6
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +102 -65
- package/exec/module.d.ts +1 -1
- package/form/errors-mapper/errors-mapper.module.d.ts +6 -0
- package/form/validators/strong-password/strong-password-validator.directive.d.ts +3 -3
- package/form/validators/utils.d.ts +3 -0
- package/graphql/graphql.module.d.ts +12 -0
- package/graphql/graphql.service.d.ts +14 -0
- package/graphql/public-api.d.ts +3 -0
- package/graphql/queries.d.ts +5 -0
- package/graphql/types.d.ts +46 -0
- package/help-document/directive.d.ts +1 -1
- package/help-document/module.d.ts +7 -7
- package/overview-banner/overview-banner.component.d.ts +1 -1
- package/overview-banner/overview-banner.module.d.ts +4 -3
- package/package.json +1 -1
- package/page-guard/module.d.ts +4 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.d.ts +1 -1
- package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/page-scaffold/navigation/breadcrumb/module.d.ts +8 -6
- package/page-scaffold/navigation/lottie-icons/lottie-icon.directive.d.ts +1 -1
- package/page-scaffold/navigation/lottie-icons/module.d.ts +4 -1
- package/page-scaffold/page-header/common-layout/common-layout.module.d.ts +2 -2
- package/page-scaffold/page-header/help-menu/module.d.ts +6 -5
- package/public-api.d.ts +1 -1
- package/styles/tailwind-preset.scss +1 -1
- package/translate/translate.directive.d.ts +3 -3
- package/translate/translate.module.d.ts +97 -4
- package/translate/translate.pipe.d.ts +1 -1
- package/widget/card-section/card-section.component.d.ts +4 -2
- package/widget/current-time/component.d.ts +1 -1
- package/widget/foldable-item-in-table/component.d.ts +1 -1
- package/{scm → widget}/password-input/component.d.ts +1 -1
- package/widget/public-api.d.ts +7 -0
- package/widget/terminating-tag/component.d.ts +1 -1
- package/widget/text-with-url/component.d.ts +1 -1
- package/widget/widget.module.d.ts +37 -21
- package/xterm/xterm-terminal/xterm-terminal.component.d.ts +14 -1
- package/esm2022/scm/declare.directive.mjs +0 -27
- package/esm2022/scm/password-input/component.mjs +0 -261
- package/esm2022/scm/password-input/module.mjs +0 -67
- package/esm2022/scm/password-input/public-api.mjs +0 -3
- package/esm2022/scm/public-api.mjs +0 -10
- package/esm2022/scm/pure-pipe/calc.pipe.mjs +0 -21
- package/esm2022/scm/pure-pipe/module.mjs +0 -18
- package/esm2022/scm/pure-pipe/public-api.mjs +0 -4
- package/esm2022/scm/pure-pipe/pure.pipe.mjs +0 -26
- package/esm2022/scm/resource-multi-select/component.mjs +0 -212
- package/esm2022/scm/resource-multi-select/util.mjs +0 -24
- package/scm/password-input/module.d.ts +0 -14
- package/scm/password-input/public-api.d.ts +0 -2
- package/scm/public-api.d.ts +0 -9
- package/scm/pure-pipe/public-api.d.ts +0 -3
- /package/{scm → core/directives}/declare.directive.d.ts +0 -0
- /package/{scm/pure-pipe → core/pipes}/calc.pipe.d.ts +0 -0
- /package/{scm/pure-pipe → core/pipes}/pure.pipe.d.ts +0 -0
- /package/{scm → widget}/resource-multi-select/component.d.ts +0 -0
- /package/{scm → widget}/resource-multi-select/util.d.ts +0 -0
- /package/{scm → widget}/search-panel/component.d.ts +0 -0
- /package/{scm → widget}/search-panel/helper.directive.d.ts +0 -0
- /package/{scm → widget}/search-panel/search-item/component.d.ts +0 -0
- /package/{scm → widget}/text-ellipsis/component.d.ts +0 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { coerceAttrBoolean, FormItemWidth, FormModule, IconComponent, INPUT_GROUP_MODULE, InputComponent, isTemplateRef, } from '@alauda/ui';
|
|
2
|
+
import { NgIf } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, Input, forwardRef, } from '@angular/core';
|
|
4
|
+
import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
5
|
+
import { decode, encode } from 'ab64';
|
|
6
|
+
import { assocPath } from 'ramda';
|
|
7
|
+
import { BaseNestedFormControlPure, PurePipe } from '../../core/public-api';
|
|
8
|
+
import { ERRORS_MAPPER_MODULE } from '../../form/errors-mapper/public-api';
|
|
9
|
+
import { STRONG_PASSWORD_SPECIAL_CHARS, ValidatorsModule, } from '../../form/validators/public-api';
|
|
10
|
+
import { TranslatePipe } from '../../translate/public-api';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@alauda/ui";
|
|
13
|
+
import * as i2 from "@angular/forms";
|
|
14
|
+
import * as i3 from "../../form/errors-mapper/errors-mapper-component/component";
|
|
15
|
+
import * as i4 from "../../form/errors-mapper/errors-mapper.directive";
|
|
16
|
+
import * as i5 from "../../form/validators/function-validator.directive";
|
|
17
|
+
import * as i6 from "../../form/validators/strong-password/strong-password-validator.directive";
|
|
18
|
+
function PasswordInputComponent_aui_input_group_4_aui_icon_5_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
20
|
+
i0.ɵɵelementStart(0, "aui-icon", 12);
|
|
21
|
+
i0.ɵɵlistener("click", function PasswordInputComponent_aui_input_group_4_aui_icon_5_Template_aui_icon_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.showPassword = !ctx_r7.showPassword); });
|
|
22
|
+
i0.ɵɵelementEnd();
|
|
23
|
+
} if (rf & 2) {
|
|
24
|
+
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
25
|
+
i0.ɵɵproperty("icon", ctx_r6.showPassword ? "eye_s" : "eye_slash_s");
|
|
26
|
+
} }
|
|
27
|
+
const _c0 = function (a0) { return { chars: a0 }; };
|
|
28
|
+
const _c1 = function (a0) { return { pattern: a0 }; };
|
|
29
|
+
function PasswordInputComponent_aui_input_group_4_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
31
|
+
i0.ɵɵelementStart(0, "aui-input-group", 8)(1, "input", 9, 10);
|
|
32
|
+
i0.ɵɵlistener("ngModelChange", function PasswordInputComponent_aui_input_group_4_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.emitModel($event)); });
|
|
33
|
+
i0.ɵɵpipe(3, "translate");
|
|
34
|
+
i0.ɵɵpipe(4, "translate");
|
|
35
|
+
i0.ɵɵelementEnd();
|
|
36
|
+
i0.ɵɵtemplate(5, PasswordInputComponent_aui_input_group_4_aui_icon_5_Template, 1, 1, "aui-icon", 11);
|
|
37
|
+
i0.ɵɵelementEnd();
|
|
38
|
+
} if (rf & 2) {
|
|
39
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
40
|
+
const _r2 = i0.ɵɵreference(7);
|
|
41
|
+
i0.ɵɵproperty("required", ctx_r0.required);
|
|
42
|
+
i0.ɵɵadvance(1);
|
|
43
|
+
i0.ɵɵproperty("type", ctx_r0.showPassword ? "text" : "password")("ngModel", ctx_r0.model)("required", ctx_r0.required)("aclStrongPassword", ctx_r0.strongPassword)("specialChars", ctx_r0.specialChars)("pattern", ctx_r0.strongPassword ? null : ctx_r0.pattern)("placeholder", ctx_r0.placeholder)("aclErrorsMapperOutlet", _r2)("aclErrorsMapper", i0.ɵɵpureFunction1(18, _c1, ctx_r0.strongPassword ? i0.ɵɵpipeBind2(3, 11, "strong_password_pattern_tip", i0.ɵɵpureFunction1(16, _c0, ctx_r0.specialChars.split("").join(", "))) : i0.ɵɵpipeBind1(4, 14, "invalid_pattern")));
|
|
44
|
+
i0.ɵɵadvance(4);
|
|
45
|
+
i0.ɵɵproperty("ngIf", ctx_r0.toggleable);
|
|
46
|
+
} }
|
|
47
|
+
function PasswordInputComponent_div_5_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
+
i0.ɵɵelementContainer(0);
|
|
49
|
+
} }
|
|
50
|
+
function PasswordInputComponent_div_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵelementContainerStart(0);
|
|
52
|
+
i0.ɵɵtemplate(1, PasswordInputComponent_div_5_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 16);
|
|
53
|
+
i0.ɵɵelementContainerEnd();
|
|
54
|
+
} if (rf & 2) {
|
|
55
|
+
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
56
|
+
i0.ɵɵadvance(1);
|
|
57
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r11.hint);
|
|
58
|
+
} }
|
|
59
|
+
function PasswordInputComponent_div_5_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
i0.ɵɵtext(0);
|
|
61
|
+
} if (rf & 2) {
|
|
62
|
+
const ctx_r13 = i0.ɵɵnextContext(2);
|
|
63
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r13.hint, " ");
|
|
64
|
+
} }
|
|
65
|
+
function PasswordInputComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
67
|
+
i0.ɵɵtemplate(1, PasswordInputComponent_div_5_ng_container_1_Template, 2, 1, "ng-container", 14);
|
|
68
|
+
i0.ɵɵtemplate(2, PasswordInputComponent_div_5_ng_template_2_Template, 1, 1, "ng-template", null, 15, i0.ɵɵtemplateRefExtractor);
|
|
69
|
+
i0.ɵɵelementEnd();
|
|
70
|
+
} if (rf & 2) {
|
|
71
|
+
const _r12 = i0.ɵɵreference(3);
|
|
72
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
73
|
+
i0.ɵɵadvance(1);
|
|
74
|
+
i0.ɵɵproperty("ngIf", ctx_r1.isTemplateRef(ctx_r1.hint))("ngIfElse", _r12);
|
|
75
|
+
} }
|
|
76
|
+
function PasswordInputComponent_ng_container_8_button_3_Template(rf, ctx) { if (rf & 1) {
|
|
77
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
78
|
+
i0.ɵɵelementStart(0, "button", 18);
|
|
79
|
+
i0.ɵɵlistener("click", function PasswordInputComponent_ng_container_8_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r16.updatePasswd()); });
|
|
80
|
+
i0.ɵɵelement(1, "aui-icon", 19);
|
|
81
|
+
i0.ɵɵelementEnd();
|
|
82
|
+
} }
|
|
83
|
+
function PasswordInputComponent_ng_container_8_Template(rf, ctx) { if (rf & 1) {
|
|
84
|
+
i0.ɵɵelementContainerStart(0);
|
|
85
|
+
i0.ɵɵelementStart(1, "span");
|
|
86
|
+
i0.ɵɵtext(2, "******");
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
88
|
+
i0.ɵɵtemplate(3, PasswordInputComponent_ng_container_8_button_3_Template, 2, 0, "button", 17);
|
|
89
|
+
i0.ɵɵelementContainerEnd();
|
|
90
|
+
} if (rf & 2) {
|
|
91
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
92
|
+
i0.ɵɵadvance(3);
|
|
93
|
+
i0.ɵɵproperty("ngIf", !ctx_r3.readonly);
|
|
94
|
+
} }
|
|
95
|
+
function PasswordInputComponent_aui_form_item_9_aui_icon_8_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
97
|
+
i0.ɵɵelementStart(0, "aui-icon", 12);
|
|
98
|
+
i0.ɵɵlistener("click", function PasswordInputComponent_aui_form_item_9_aui_icon_8_Template_aui_icon_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r20.showPassword = !ctx_r20.showPassword); });
|
|
99
|
+
i0.ɵɵelementEnd();
|
|
100
|
+
} if (rf & 2) {
|
|
101
|
+
const ctx_r19 = i0.ɵɵnextContext(2);
|
|
102
|
+
i0.ɵɵproperty("icon", ctx_r19.showPassword ? "eye_s" : "eye_slash_s");
|
|
103
|
+
} }
|
|
104
|
+
const _c2 = function (a0) { return { notMatch: a0 }; };
|
|
105
|
+
function PasswordInputComponent_aui_form_item_9_Template(rf, ctx) { if (rf & 1) {
|
|
106
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
107
|
+
i0.ɵɵelementStart(0, "aui-form-item", 0)(1, "label", 1);
|
|
108
|
+
i0.ɵɵtext(2);
|
|
109
|
+
i0.ɵɵpipe(3, "translate");
|
|
110
|
+
i0.ɵɵelementEnd();
|
|
111
|
+
i0.ɵɵelementStart(4, "aui-input-group", 8)(5, "input", 20, 21);
|
|
112
|
+
i0.ɵɵlistener("ngModelChange", function PasswordInputComponent_aui_form_item_9_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r22.confirmPassword = $event); });
|
|
113
|
+
i0.ɵɵpipe(7, "pure");
|
|
114
|
+
i0.ɵɵelementEnd();
|
|
115
|
+
i0.ɵɵtemplate(8, PasswordInputComponent_aui_form_item_9_aui_icon_8_Template, 1, 1, "aui-icon", 11);
|
|
116
|
+
i0.ɵɵelementEnd();
|
|
117
|
+
i0.ɵɵelement(9, "acl-errors-mapper", 22);
|
|
118
|
+
i0.ɵɵpipe(10, "translate");
|
|
119
|
+
i0.ɵɵelementEnd();
|
|
120
|
+
} if (rf & 2) {
|
|
121
|
+
const _r18 = i0.ɵɵreference(6);
|
|
122
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
123
|
+
i0.ɵɵproperty("width", ctx_r4.width);
|
|
124
|
+
i0.ɵɵadvance(2);
|
|
125
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "confirm_password"));
|
|
126
|
+
i0.ɵɵadvance(2);
|
|
127
|
+
i0.ɵɵproperty("required", ctx_r4.required);
|
|
128
|
+
i0.ɵɵadvance(1);
|
|
129
|
+
i0.ɵɵproperty("type", ctx_r4.showPassword ? "text" : "password")("ngModel", ctx_r4.confirmPassword)("required", ctx_r4.required)("aclValidateFn", i0.ɵɵpipeBind2(7, 12, ctx_r4.model, ctx_r4.validateConfirmPassword));
|
|
130
|
+
i0.ɵɵadvance(3);
|
|
131
|
+
i0.ɵɵproperty("ngIf", ctx_r4.toggleable);
|
|
132
|
+
i0.ɵɵadvance(1);
|
|
133
|
+
i0.ɵɵproperty("errors", _r18 == null ? null : _r18.errors)("errorsMapper", i0.ɵɵpureFunction1(17, _c2, i0.ɵɵpipeBind1(10, 15, "confirm_password_not_match")));
|
|
134
|
+
} }
|
|
135
|
+
export class PasswordInputComponent extends BaseNestedFormControlPure {
|
|
136
|
+
constructor() {
|
|
137
|
+
super(...arguments);
|
|
138
|
+
this.specialChars = STRONG_PASSWORD_SPECIAL_CHARS;
|
|
139
|
+
this.strongPassword = true;
|
|
140
|
+
this.enableConfirm = true;
|
|
141
|
+
this.width = 'medium';
|
|
142
|
+
this.toggleable = true;
|
|
143
|
+
this.encoding = {
|
|
144
|
+
encode,
|
|
145
|
+
decode,
|
|
146
|
+
};
|
|
147
|
+
this.placeholder = '';
|
|
148
|
+
this.showPassword = false;
|
|
149
|
+
this.showInput = true;
|
|
150
|
+
this.confirmPassword = '';
|
|
151
|
+
this.isTemplateRef = isTemplateRef;
|
|
152
|
+
this._required = true;
|
|
153
|
+
}
|
|
154
|
+
set required(required) {
|
|
155
|
+
this._required = coerceAttrBoolean(required);
|
|
156
|
+
}
|
|
157
|
+
get required() {
|
|
158
|
+
return this._required;
|
|
159
|
+
}
|
|
160
|
+
ngOnInit() {
|
|
161
|
+
this.confirmPassword = this.encoding.decode(this.initPassword ?? '');
|
|
162
|
+
this.showInput = !this.isUpdate;
|
|
163
|
+
}
|
|
164
|
+
valueIn(v) {
|
|
165
|
+
return this.encoding.decode(v ?? '');
|
|
166
|
+
}
|
|
167
|
+
modelOut(v) {
|
|
168
|
+
return this.encoding.encode(v);
|
|
169
|
+
}
|
|
170
|
+
validate() {
|
|
171
|
+
let errors = super.validate();
|
|
172
|
+
if (coerceAttrBoolean(this.enableConfirm) &&
|
|
173
|
+
this.confirmPassword !== this.model) {
|
|
174
|
+
errors = assocPath(['confirmPassword', 'notMatch'], true, errors);
|
|
175
|
+
}
|
|
176
|
+
return errors;
|
|
177
|
+
}
|
|
178
|
+
validateConfirmPassword(password) {
|
|
179
|
+
return (control) => {
|
|
180
|
+
if (!password) {
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
return password === control.value ? null : { notMatch: true };
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
updatePasswd() {
|
|
187
|
+
this.emitModel('');
|
|
188
|
+
this.showInput = true;
|
|
189
|
+
}
|
|
190
|
+
static { this.ɵfac = /*@__PURE__*/ function () { let ɵPasswordInputComponent_BaseFactory; return function PasswordInputComponent_Factory(t) { return (ɵPasswordInputComponent_BaseFactory || (ɵPasswordInputComponent_BaseFactory = i0.ɵɵgetInheritedFactory(PasswordInputComponent)))(t || PasswordInputComponent); }; }(); }
|
|
191
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PasswordInputComponent, selectors: [["acl-password-input"]], inputs: { initPassword: "initPassword", label: "label", hint: "hint", specialChars: "specialChars", strongPassword: "strongPassword", enableConfirm: "enableConfirm", width: "width", toggleable: "toggleable", pattern: "pattern", encoding: "encoding", placeholder: "placeholder", readonly: "readonly", isUpdate: "isUpdate", required: "required" }, standalone: true, features: [i0.ɵɵProvidersFeature([
|
|
192
|
+
{
|
|
193
|
+
provide: NG_VALUE_ACCESSOR,
|
|
194
|
+
useExisting: forwardRef(() => PasswordInputComponent),
|
|
195
|
+
multi: true,
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
provide: NG_VALIDATORS,
|
|
199
|
+
useExisting: forwardRef(() => PasswordInputComponent),
|
|
200
|
+
multi: true,
|
|
201
|
+
},
|
|
202
|
+
]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 10, vars: 8, consts: [[3, "width"], ["auiFormItemLabel", ""], ["class", "tw-flex-1", "auiFormItemControl", "", 3, "required", 4, "ngIf"], ["auiFormItemHint", "", 4, "ngIf"], ["auiFormItemError", ""], ["passwordError", ""], [4, "ngIf"], [3, "width", 4, "ngIf"], ["auiFormItemControl", "", 1, "tw-flex-1", 3, "required"], ["aui-input", "", "name", "password", "autocomplete", "new-password", 3, "type", "ngModel", "required", "aclStrongPassword", "specialChars", "pattern", "placeholder", "aclErrorsMapperOutlet", "aclErrorsMapper", "ngModelChange"], ["password", "ngModel"], ["auiInputSuffix", "", "class", "tw-icon-m tw-cursor-pointer hover:tw-text-primary", 3, "icon", "click", 4, "ngIf"], ["auiInputSuffix", "", 1, "tw-icon-m", "tw-cursor-pointer", "hover:tw-text-primary", 3, "icon", "click"], ["auiFormItemHint", ""], [4, "ngIf", "ngIfElse"], ["defaultDescription", ""], [4, "ngTemplateOutlet"], ["aui-button", "text", 3, "click", 4, "ngIf"], ["aui-button", "text", 3, "click"], ["icon", "pencil"], ["aui-input", "", "name", "confirmPassword", "autocomplete", "new-password", 3, "type", "ngModel", "required", "aclValidateFn", "ngModelChange"], ["confirm", "ngModel"], ["auiFormItemError", "", 3, "errors", "errorsMapper"]], template: function PasswordInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
203
|
+
i0.ɵɵelementStart(0, "aui-form-item", 0)(1, "label", 1);
|
|
204
|
+
i0.ɵɵtext(2);
|
|
205
|
+
i0.ɵɵpipe(3, "translate");
|
|
206
|
+
i0.ɵɵelementEnd();
|
|
207
|
+
i0.ɵɵtemplate(4, PasswordInputComponent_aui_input_group_4_Template, 6, 20, "aui-input-group", 2);
|
|
208
|
+
i0.ɵɵtemplate(5, PasswordInputComponent_div_5_Template, 4, 2, "div", 3);
|
|
209
|
+
i0.ɵɵelement(6, "div", 4, 5);
|
|
210
|
+
i0.ɵɵtemplate(8, PasswordInputComponent_ng_container_8_Template, 4, 1, "ng-container", 6);
|
|
211
|
+
i0.ɵɵelementEnd();
|
|
212
|
+
i0.ɵɵtemplate(9, PasswordInputComponent_aui_form_item_9_Template, 11, 19, "aui-form-item", 7);
|
|
213
|
+
} if (rf & 2) {
|
|
214
|
+
i0.ɵɵproperty("width", ctx.width);
|
|
215
|
+
i0.ɵɵadvance(2);
|
|
216
|
+
i0.ɵɵtextInterpolate(ctx.label || i0.ɵɵpipeBind1(3, 6, "password"));
|
|
217
|
+
i0.ɵɵadvance(2);
|
|
218
|
+
i0.ɵɵproperty("ngIf", ctx.showInput);
|
|
219
|
+
i0.ɵɵadvance(1);
|
|
220
|
+
i0.ɵɵproperty("ngIf", ctx.hint);
|
|
221
|
+
i0.ɵɵadvance(3);
|
|
222
|
+
i0.ɵɵproperty("ngIf", !ctx.showInput);
|
|
223
|
+
i0.ɵɵadvance(1);
|
|
224
|
+
i0.ɵɵproperty("ngIf", ctx.showInput && ctx.enableConfirm);
|
|
225
|
+
} }, dependencies: [FormModule, i1.FormItemComponent, i1.FormItemErrorDirective, i1.FormItemHintDirective, i1.FormItemLabelDirective, i1.FormItemControlDirective, NgIf,
|
|
226
|
+
InputComponent, i1.InputGroupComponent, i1.InputSuffixDirective, FormsModule, i2.DefaultValueAccessor, i2.NgControlStatus, i2.RequiredValidator, i2.PatternValidator, i2.NgModel, IconComponent, i3.ErrorsMapperComponent, i4.ErrorsMapperDirective, ValidatorsModule, i5.FunctionValidatorDirective, i6.StrongPasswordDirective, TranslatePipe,
|
|
227
|
+
PurePipe], encapsulation: 2, changeDetection: 0 }); }
|
|
228
|
+
}
|
|
229
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PasswordInputComponent, [{
|
|
230
|
+
type: Component,
|
|
231
|
+
args: [{ selector: 'acl-password-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
232
|
+
FormModule,
|
|
233
|
+
NgIf,
|
|
234
|
+
InputComponent,
|
|
235
|
+
INPUT_GROUP_MODULE,
|
|
236
|
+
FormsModule,
|
|
237
|
+
IconComponent,
|
|
238
|
+
ERRORS_MAPPER_MODULE,
|
|
239
|
+
ValidatorsModule,
|
|
240
|
+
TranslatePipe,
|
|
241
|
+
PurePipe,
|
|
242
|
+
], providers: [
|
|
243
|
+
{
|
|
244
|
+
provide: NG_VALUE_ACCESSOR,
|
|
245
|
+
useExisting: forwardRef(() => PasswordInputComponent),
|
|
246
|
+
multi: true,
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
provide: NG_VALIDATORS,
|
|
250
|
+
useExisting: forwardRef(() => PasswordInputComponent),
|
|
251
|
+
multi: true,
|
|
252
|
+
},
|
|
253
|
+
], template: "<aui-form-item [width]=\"width\">\n <label auiFormItemLabel>{{ label || ('password' | translate) }}</label>\n <aui-input-group\n *ngIf=\"showInput\"\n class=\"tw-flex-1\"\n auiFormItemControl\n [required]=\"required\"\n >\n <input\n aui-input\n [type]=\"showPassword ? 'text' : 'password'\"\n name=\"password\"\n #password=\"ngModel\"\n [ngModel]=\"model\"\n (ngModelChange)=\"emitModel($event)\"\n autocomplete=\"new-password\"\n [required]=\"required\"\n [aclStrongPassword]=\"strongPassword\"\n [specialChars]=\"specialChars\"\n [pattern]=\"strongPassword ? null : pattern\"\n [placeholder]=\"placeholder\"\n [aclErrorsMapperOutlet]=\"passwordError\"\n [aclErrorsMapper]=\"{\n pattern: strongPassword\n ? ('strong_password_pattern_tip'\n | translate\n : {\n chars: specialChars.split('').join(', ')\n })\n : ('invalid_pattern' | translate)\n }\"\n />\n <aui-icon\n *ngIf=\"toggleable\"\n auiInputSuffix\n class=\"tw-icon-m tw-cursor-pointer hover:tw-text-primary\"\n [icon]=\"showPassword ? 'eye_s' : 'eye_slash_s'\"\n (click)=\"showPassword = !showPassword\"\n ></aui-icon>\n </aui-input-group>\n <div\n *ngIf=\"hint\"\n auiFormItemHint\n >\n <ng-container *ngIf=\"isTemplateRef(hint); else defaultDescription\">\n <ng-container *ngTemplateOutlet=\"hint\"></ng-container>\n </ng-container>\n <ng-template #defaultDescription>\n {{ hint }}\n </ng-template>\n </div>\n <div\n #passwordError\n auiFormItemError\n ></div>\n <ng-container *ngIf=\"!showInput\">\n <span>******</span>\n <button\n *ngIf=\"!readonly\"\n aui-button=\"text\"\n (click)=\"updatePasswd()\"\n >\n <aui-icon icon=\"pencil\"></aui-icon>\n </button>\n </ng-container>\n</aui-form-item>\n<aui-form-item\n *ngIf=\"showInput && enableConfirm\"\n [width]=\"width\"\n>\n <label auiFormItemLabel>{{ 'confirm_password' | translate }}</label>\n <aui-input-group\n class=\"tw-flex-1\"\n auiFormItemControl\n [required]=\"required\"\n >\n <input\n aui-input\n [type]=\"showPassword ? 'text' : 'password'\"\n name=\"confirmPassword\"\n #confirm=\"ngModel\"\n [(ngModel)]=\"confirmPassword\"\n autocomplete=\"new-password\"\n [required]=\"required\"\n [aclValidateFn]=\"model | pure: validateConfirmPassword\"\n />\n <aui-icon\n *ngIf=\"toggleable\"\n auiInputSuffix\n class=\"tw-icon-m tw-cursor-pointer hover:tw-text-primary\"\n [icon]=\"showPassword ? 'eye_s' : 'eye_slash_s'\"\n (click)=\"showPassword = !showPassword\"\n ></aui-icon>\n </aui-input-group>\n <acl-errors-mapper\n auiFormItemError\n [errors]=\"confirm?.errors\"\n [errorsMapper]=\"{\n notMatch: 'confirm_password_not_match' | translate\n }\"\n ></acl-errors-mapper>\n</aui-form-item>\n" }]
|
|
254
|
+
}], null, { initPassword: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], label: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], hint: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], specialChars: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], strongPassword: [{
|
|
263
|
+
type: Input
|
|
264
|
+
}], enableConfirm: [{
|
|
265
|
+
type: Input
|
|
266
|
+
}], width: [{
|
|
267
|
+
type: Input
|
|
268
|
+
}], toggleable: [{
|
|
269
|
+
type: Input
|
|
270
|
+
}], pattern: [{
|
|
271
|
+
type: Input
|
|
272
|
+
}], encoding: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], placeholder: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], readonly: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], isUpdate: [{
|
|
279
|
+
type: Input
|
|
280
|
+
}], required: [{
|
|
281
|
+
type: Input
|
|
282
|
+
}] }); })();
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9wYXNzd29yZC1pbnB1dC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvd2lkZ2V0L3Bhc3N3b3JkLWlucHV0L3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNWLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLGFBQWEsR0FDZCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUVMLFVBQVUsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsR0FFbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLGdCQUFnQixHQUNqQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7OztJQ0Z2RCxvQ0FNQztJQURDLDJQQUFzQztJQUN2QyxpQkFBVzs7O0lBRlYsb0VBQStDOzs7Ozs7SUFsQ25ELDBDQUtDLG1CQUFBO0lBT0cs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WUFJTixRQUFRO2tCQURQLEtBQUs7WUFPTixXQUFXO2tCQURWLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJRixRQUFRO2tCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjb2VyY2VBdHRyQm9vbGVhbixcbiAgRm9ybUl0ZW1XaWR0aCxcbiAgRm9ybU1vZHVsZSxcbiAgSWNvbkNvbXBvbmVudCxcbiAgSU5QVVRfR1JPVVBfTU9EVUxFLFxuICBJbnB1dENvbXBvbmVudCxcbiAgaXNUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIGZvcndhcmRSZWYsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybXNNb2R1bGUsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWNvZGUsIGVuY29kZSB9IGZyb20gJ2FiNjQnO1xuaW1wb3J0IHsgYXNzb2NQYXRoIH0gZnJvbSAncmFtZGEnO1xuXG5pbXBvcnQgeyBCYXNlTmVzdGVkRm9ybUNvbnRyb2xQdXJlLCBQdXJlUGlwZSB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFUlJPUlNfTUFQUEVSX01PRFVMRSB9IGZyb20gJy4uLy4uL2Zvcm0vZXJyb3JzLW1hcHBlci9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIFNUUk9OR19QQVNTV09SRF9TUEVDSUFMX0NIQVJTLFxuICBWYWxpZGF0b3JzTW9kdWxlLFxufSBmcm9tICcuLi8uLi9mb3JtL3ZhbGlkYXRvcnMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVuY29kaW5nIHtcbiAgZGVjb2RlOiAodjogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIGVuY29kZTogKHY6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcGFzc3dvcmQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1Nb2R1bGUsXG4gICAgTmdJZixcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBJTlBVVF9HUk9VUF9NT0RVTEUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBFUlJPUlNfTUFQUEVSX01PRFVMRSxcbiAgICBWYWxpZGF0b3JzTW9kdWxlLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgUHVyZVBpcGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGFzc3dvcmRJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQYXNzd29yZElucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkSW5wdXRDb21wb25lbnRcbiAgZXh0ZW5kcyBCYXNlTmVzdGVkRm9ybUNvbnRyb2xQdXJlPHN0cmluZz5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgQElucHV0KClcbiAgaW5pdFBhc3N3b3JkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBoaW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHNwZWNpYWxDaGFycyA9IFNUUk9OR19QQVNTV09SRF9TUEVDSUFMX0NIQVJTO1xuXG4gIEBJbnB1dCgpXG4gIHN0cm9uZ1Bhc3N3b3JkOiBib29sZWFuIHwgJycgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGVuYWJsZUNvbmZpcm06IGJvb2xlYW4gfCAnJyA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgd2lkdGg6IEZvcm1JdGVtV2lkdGggPSAnbWVkaXVtJztcblxuICBASW5wdXQoKVxuICB0b2dnbGVhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwYXR0ZXJuOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZW5jb2Rpbmc6IEVuY29kaW5nID0ge1xuICAgIGVuY29kZSxcbiAgICBkZWNvZGUsXG4gIH07XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBpc1VwZGF0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBzZXQgcmVxdWlyZWQocmVxdWlyZWQ6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQXR0ckJvb2xlYW4ocmVxdWlyZWQpO1xuICB9XG5cbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcbiAgfVxuXG4gIHNob3dQYXNzd29yZCA9IGZhbHNlO1xuICBzaG93SW5wdXQgPSB0cnVlO1xuICBjb25maXJtUGFzc3dvcmQgPSAnJztcbiAgaXNUZW1wbGF0ZVJlZiA9IGlzVGVtcGxhdGVSZWY7XG5cbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSB0cnVlO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29uZmlybVBhc3N3b3JkID0gdGhpcy5lbmNvZGluZy5kZWNvZGUodGhpcy5pbml0UGFzc3dvcmQgPz8gJycpO1xuICAgIHRoaXMuc2hvd0lucHV0ID0gIXRoaXMuaXNVcGRhdGU7XG4gIH1cblxuICBvdmVycmlkZSB2YWx1ZUluKHY6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmVuY29kaW5nLmRlY29kZSh2ID8/ICcnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG1vZGVsT3V0KHY6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmVuY29kaW5nLmVuY29kZSh2KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHZhbGlkYXRlKCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGxldCBlcnJvcnMgPSBzdXBlci52YWxpZGF0ZSgpO1xuICAgIGlmIChcbiAgICAgIGNvZXJjZUF0dHJCb29sZWFuKHRoaXMuZW5hYmxlQ29uZmlybSkgJiZcbiAgICAgIHRoaXMuY29uZmlybVBhc3N3b3JkICE9PSB0aGlzLm1vZGVsXG4gICAgKSB7XG4gICAgICBlcnJvcnMgPSBhc3NvY1BhdGgoWydjb25maXJtUGFzc3dvcmQnLCAnbm90TWF0Y2gnXSwgdHJ1ZSwgZXJyb3JzKTtcbiAgICB9XG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIHZhbGlkYXRlQ29uZmlybVBhc3N3b3JkKHBhc3N3b3JkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgPT4ge1xuICAgICAgaWYgKCFwYXNzd29yZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhc3N3b3JkID09PSBjb250cm9sLnZhbHVlID8gbnVsbCA6IHsgbm90TWF0Y2g6IHRydWUgfTtcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlUGFzc3dkKCkge1xuICAgIHRoaXMuZW1pdE1vZGVsKCcnKTtcbiAgICB0aGlzLnNob3dJbnB1dCA9IHRydWU7XG4gIH1cbn1cbiIsIjxhdWktZm9ybS1pdGVtIFt3aWR0aF09XCJ3aWR0aFwiPlxuICA8bGFiZWwgYXVpRm9ybUl0ZW1MYWJlbD57eyBsYWJlbCB8fCAoJ3Bhc3N3b3JkJyB8IHRyYW5zbGF0ZSkgfX08L2xhYmVsPlxuICA8YXVpLWlucHV0LWdyb3VwXG4gICAgKm5nSWY9XCJzaG93SW5wdXRcIlxuICAgIGNsYXNzPVwidHctZmxleC0xXCJcbiAgICBhdWlGb3JtSXRlbUNvbnRyb2xcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICA+XG4gICAgPGlucHV0XG4gICAgICBhdWktaW5wdXRcbiAgICAgIFt0eXBlXT1cInNob3dQYXNzd29yZCA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxuICAgICAgbmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICNwYXNzd29yZD1cIm5nTW9kZWxcIlxuICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZW1pdE1vZGVsKCRldmVudClcIlxuICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbYWNsU3Ryb25nUGFzc3dvcmRdPVwic3Ryb25nUGFzc3dvcmRcIlxuICAgICAgW3NwZWNpYWxDaGFyc109XCJzcGVjaWFsQ2hhcnNcIlxuICAgICAgW3BhdHRlcm5dPVwic3Ryb25nUGFzc3dvcmQgPyBudWxsIDogcGF0dGVyblwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW2FjbEVycm9yc01hcHBlck91dGxldF09XCJwYXNzd29yZEVycm9yXCJcbiAgICAgIFthY2xFcnJvcnNNYXBwZXJdPVwie1xuICAgICAgICBwYXR0ZXJuOiBzdHJvbmdQYXNzd29yZFxuICAgICAgICAgID8gKCdzdHJvbmdfcGFzc3dvcmRfcGF0dGVybl90aXAnXG4gICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgIGNoYXJzOiBzcGVjaWFsQ2hhcnMuc3BsaXQoJycpLmpvaW4oJywgJylcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgIDogKCdpbnZhbGlkX3BhdHRlcm4nIHwgdHJhbnNsYXRlKVxuICAgICAgfVwiXG4gICAgLz5cbiAgICA8YXVpLWljb25cbiAgICAgICpuZ0lmPVwidG9nZ2xlYWJsZVwiXG4gICAgICBhdWlJbnB1dFN1ZmZpeFxuICAgICAgY2xhc3M9XCJ0dy1pY29uLW0gdHctY3Vyc29yLXBvaW50ZXIgaG92ZXI6dHctdGV4dC1wcmltYXJ5XCJcbiAgICAgIFtpY29uXT1cInNob3dQYXNzd29yZCA/ICdleWVfcycgOiAnZXllX3NsYXNoX3MnXCJcbiAgICAgIChjbGljayk9XCJzaG93UGFzc3dvcmQgPSAhc2hvd1Bhc3N3b3JkXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9hdWktaW5wdXQtZ3JvdXA+XG4gIDxkaXZcbiAgICAqbmdJZj1cImhpbnRcIlxuICAgIGF1aUZvcm1JdGVtSGludFxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoaGludCk7IGVsc2UgZGVmYXVsdERlc2NyaXB0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGludFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdERlc2NyaXB0aW9uPlxuICAgICAge3sgaGludCB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgI3Bhc3N3b3JkRXJyb3JcbiAgICBhdWlGb3JtSXRlbUVycm9yXG4gID48L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93SW5wdXRcIj5cbiAgICA8c3Bhbj4qKioqKio8L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhcmVhZG9ubHlcIlxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgKGNsaWNrKT1cInVwZGF0ZVBhc3N3ZCgpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gaWNvbj1cInBlbmNpbFwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hdWktZm9ybS1pdGVtPlxuPGF1aS1mb3JtLWl0ZW1cbiAgKm5nSWY9XCJzaG93SW5wdXQgJiYgZW5hYmxlQ29uZmlybVwiXG4gIFt3aWR0aF09XCJ3aWR0aFwiXG4+XG4gIDxsYWJlbCBhdWlGb3JtSXRlbUxhYmVsPnt7ICdjb25maXJtX3Bhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gIDxhdWktaW5wdXQtZ3JvdXBcbiAgICBjbGFzcz1cInR3LWZsZXgtMVwiXG4gICAgYXVpRm9ybUl0ZW1Db250cm9sXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgYXVpLWlucHV0XG4gICAgICBbdHlwZV09XCJzaG93UGFzc3dvcmQgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcbiAgICAgIG5hbWU9XCJjb25maXJtUGFzc3dvcmRcIlxuICAgICAgI2NvbmZpcm09XCJuZ01vZGVsXCJcbiAgICAgIFsobmdNb2RlbCldPVwiY29uZmlybVBhc3N3b3JkXCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgW2FjbFZhbGlkYXRlRm5dPVwibW9kZWwgfCBwdXJlOiB2YWxpZGF0ZUNvbmZpcm1QYXNzd29yZFwiXG4gICAgLz5cbiAgICA8YXVpLWljb25cbiAgICAgICpuZ0lmPVwidG9nZ2xlYWJsZVwiXG4gICAgICBhdWlJbnB1dFN1ZmZpeFxuICAgICAgY2xhc3M9XCJ0dy1pY29uLW0gdHctY3Vyc29yLXBvaW50ZXIgaG92ZXI6dHctdGV4dC1wcmltYXJ5XCJcbiAgICAgIFtpY29uXT1cInNob3dQYXNzd29yZCA/ICdleWVfcycgOiAnZXllX3NsYXNoX3MnXCJcbiAgICAgIChjbGljayk9XCJzaG93UGFzc3dvcmQgPSAhc2hvd1Bhc3N3b3JkXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9hdWktaW5wdXQtZ3JvdXA+XG4gIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgIGF1aUZvcm1JdGVtRXJyb3JcbiAgICBbZXJyb3JzXT1cImNvbmZpcm0/LmVycm9yc1wiXG4gICAgW2Vycm9yc01hcHBlcl09XCJ7XG4gICAgICBub3RNYXRjaDogJ2NvbmZpcm1fcGFzc3dvcmRfbm90X21hdGNoJyB8IHRyYW5zbGF0ZVxuICAgIH1cIlxuICA+PC9hY2wtZXJyb3JzLW1hcHBlcj5cbjwvYXVpLWZvcm0taXRlbT5cbiJdfQ==
|
|
@@ -16,4 +16,11 @@ export * from './text-tooltip/directive';
|
|
|
16
16
|
export * from './date-range-picker/public-api';
|
|
17
17
|
export * from './tags-label/component';
|
|
18
18
|
export * from './status-icon/status-icon.component';
|
|
19
|
-
|
|
19
|
+
export * from './text-ellipsis/component';
|
|
20
|
+
export * from './password-input/component';
|
|
21
|
+
export { ResourceMultiSelectComponent } from './resource-multi-select/component';
|
|
22
|
+
export { isSelectAll, ALL_VALUE, checkValueExit, } from './resource-multi-select/util';
|
|
23
|
+
export { SearchItemComponent } from './search-panel/search-item/component';
|
|
24
|
+
export { SearchPanelComponent } from './search-panel/component';
|
|
25
|
+
export { SearchItemLabelDirective } from './search-panel/helper.directive';
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy93aWRnZXQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGNBQWMsR0FDZixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maXJtLWRlbGV0ZS9jb25maXJtLWRlbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtLWRlbGV0ZS91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkLXNldCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRpbmctbWFzay9sb2FkaW5nLW1hc2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LXByZWZpeC1sYWJlbC9kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi96ZXJvLXN0YXRlL3plcm8tc3RhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVsYXRpdmUtdGltZS9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mb2xkYWJsZS1ibG9jay9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb2xkYWJsZS1pdGVtLWluLXRhYmxlL2NvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Rlcm1pbmF0aW5nLXRhZy9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LXdpdGgtdXJsL2NvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtc2VjdGlvbi9jYXJkLXNlY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVudC10aW1lL2NvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtdG9vbHRpcC9kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXJhbmdlLXBpY2tlci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdGFncy1sYWJlbC9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXMtaWNvbi9zdGF0dXMtaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LWVsbGlwc2lzL2NvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcGFzc3dvcmQtaW5wdXQvY29tcG9uZW50JztcblxuZXhwb3J0IHsgUmVzb3VyY2VNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vcmVzb3VyY2UtbXVsdGktc2VsZWN0L2NvbXBvbmVudCc7XG5leHBvcnQge1xuICBpc1NlbGVjdEFsbCxcbiAgQUxMX1ZBTFVFLFxuICBjaGVja1ZhbHVlRXhpdCxcbn0gZnJvbSAnLi9yZXNvdXJjZS1tdWx0aS1zZWxlY3QvdXRpbCc7XG5leHBvcnQgeyBTZWFyY2hJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcGFuZWwvc2VhcmNoLWl0ZW0vY29tcG9uZW50JztcbmV4cG9ydCB7IFNlYXJjaFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcGFuZWwvY29tcG9uZW50JztcbmV4cG9ydCB7IFNlYXJjaEl0ZW1MYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoLXBhbmVsL2hlbHBlci5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { FORM_MODULE, SelectModule, TooltipDirective, } from '@alauda/ui';
|
|
2
|
+
import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
3
|
+
import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, forwardRef, TemplateRef, ChangeDetectorRef, } from '@angular/core';
|
|
4
|
+
import { FormsModule, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import { PurePipe, noop } from '../../core/public-api';
|
|
7
|
+
import { EffectDirectiveModule } from '../../effect-directive/module';
|
|
8
|
+
import { TranslateModule } from '../../translate/public-api';
|
|
9
|
+
import { SelectPrefixLabelDirective } from '../../widget/select-prefix-label/directive';
|
|
10
|
+
import { DEFAULT_LIMIT_COUNT, ALL_VALUE, checkValueExit } from './util';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/forms";
|
|
13
|
+
import * as i2 from "../../translate/translate.pipe";
|
|
14
|
+
import * as i3 from "@alauda/ui";
|
|
15
|
+
import * as i4 from "../../effect-directive/e2e-attribute-binding.directive";
|
|
16
|
+
import * as i5 from "../../effect-directive/validators.directive";
|
|
17
|
+
function ResourceMultiSelectComponent_aui_option_group_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
i0.ɵɵelementContainer(0);
|
|
19
|
+
} }
|
|
20
|
+
const _c0 = function (a0) { return { $implicit: a0 }; };
|
|
21
|
+
function ResourceMultiSelectComponent_aui_option_group_3_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
+
i0.ɵɵelementStart(0, "aui-option-group")(1, "aui-option", 3);
|
|
23
|
+
i0.ɵɵtemplate(2, ResourceMultiSelectComponent_aui_option_group_3_ng_container_2_Template, 1, 0, "ng-container", 4);
|
|
24
|
+
i0.ɵɵelementEnd()();
|
|
25
|
+
} if (rf & 2) {
|
|
26
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
27
|
+
i0.ɵɵadvance(1);
|
|
28
|
+
i0.ɵɵproperty("value", ctx_r0.ALL_VALUE)("label", ctx_r0.allOptionTemplate);
|
|
29
|
+
i0.ɵɵadvance(1);
|
|
30
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.allOptionTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(4, _c0, ctx_r0.allOptionTemplateContext));
|
|
31
|
+
} }
|
|
32
|
+
const _c1 = function (a0) { return { count: a0 }; };
|
|
33
|
+
const _c2 = function (a0) { return { resource: a0 }; };
|
|
34
|
+
const _c3 = function (a0) { return { resource: a0, inOption: true }; };
|
|
35
|
+
function ResourceMultiSelectComponent_aui_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
36
|
+
i0.ɵɵelementStart(0, "aui-option", 5);
|
|
37
|
+
i0.ɵɵpipe(1, "pure");
|
|
38
|
+
i0.ɵɵpipe(2, "async");
|
|
39
|
+
i0.ɵɵpipe(3, "translate");
|
|
40
|
+
i0.ɵɵelementContainer(4, 6);
|
|
41
|
+
i0.ɵɵelementEnd();
|
|
42
|
+
} if (rf & 2) {
|
|
43
|
+
const option_r3 = ctx.$implicit;
|
|
44
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
45
|
+
i0.ɵɵproperty("value", option_r3)("label", ctx_r1.optionTemplate)("disabled", i0.ɵɵpipeBind3(1, 8, option_r3, ctx_r1.disableOption, i0.ɵɵpipeBind1(2, 12, ctx_r1.values$$)))("auiTooltip", i0.ɵɵpipeBind2(3, 14, "multi_select_limit", i0.ɵɵpureFunction1(17, _c1, ctx_r1.limit)))("auiTooltipDisabled", !ctx_r1.countLimited ? true : !ctx_r1.isPartial)("labelContext", i0.ɵɵpureFunction1(19, _c2, option_r3));
|
|
46
|
+
i0.ɵɵadvance(4);
|
|
47
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.optionTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction1(21, _c3, option_r3));
|
|
48
|
+
} }
|
|
49
|
+
export class ResourceMultiSelectComponent {
|
|
50
|
+
constructor(cdr) {
|
|
51
|
+
this.cdr = cdr;
|
|
52
|
+
this.limit = DEFAULT_LIMIT_COUNT;
|
|
53
|
+
this.disabled = false;
|
|
54
|
+
this.required = false;
|
|
55
|
+
this.readonly = false;
|
|
56
|
+
this.placeholder = '';
|
|
57
|
+
this.countLimited = true;
|
|
58
|
+
this.filter = (filter, option) => option.value?.includes(filter);
|
|
59
|
+
this.trackBy = (val) => val;
|
|
60
|
+
this.allowEmpty = false;
|
|
61
|
+
this.valueChange = new EventEmitter();
|
|
62
|
+
this.values$$ = new BehaviorSubject([]);
|
|
63
|
+
this.values = [];
|
|
64
|
+
this.isSelectAllOption = false;
|
|
65
|
+
this.isPartial = false;
|
|
66
|
+
this.ALL_VALUE = ALL_VALUE;
|
|
67
|
+
this.onChange = noop;
|
|
68
|
+
this.onTouched = noop;
|
|
69
|
+
this.disableOption = (checkedValue, values) => {
|
|
70
|
+
this.isPartial = false;
|
|
71
|
+
if (!checkedValue) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
if (this.isSelectAllOption) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
// 如果不限制个数直接返回 false
|
|
78
|
+
if (!this.countLimited) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
if (values?.length === this.limit && values?.length < this.list?.length) {
|
|
82
|
+
this.isPartial = true;
|
|
83
|
+
return !checkValueExit(checkedValue, values);
|
|
84
|
+
}
|
|
85
|
+
return false;
|
|
86
|
+
};
|
|
87
|
+
this.filterFn = (filter, option) => {
|
|
88
|
+
const value = option.value;
|
|
89
|
+
if (value === ALL_VALUE) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
return this.filter?.(filter, option);
|
|
93
|
+
};
|
|
94
|
+
this.trackByFn = (value) => {
|
|
95
|
+
if (value === ALL_VALUE) {
|
|
96
|
+
return ALL_VALUE;
|
|
97
|
+
}
|
|
98
|
+
return this.trackBy?.(value);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
writeValue(values) {
|
|
102
|
+
this.values$$.next(values);
|
|
103
|
+
this.isSelectAllOption = checkValueExit(ALL_VALUE, values);
|
|
104
|
+
this.cdr.markForCheck();
|
|
105
|
+
}
|
|
106
|
+
registerOnChange(fn) {
|
|
107
|
+
this.onChange = fn;
|
|
108
|
+
}
|
|
109
|
+
registerOnTouched(fn) {
|
|
110
|
+
this.onTouched = fn;
|
|
111
|
+
}
|
|
112
|
+
onValueChange(values) {
|
|
113
|
+
this.isSelectAllOption = checkValueExit(ALL_VALUE, values);
|
|
114
|
+
const currentValue = this.isSelectAllOption
|
|
115
|
+
? [ALL_VALUE]
|
|
116
|
+
: values;
|
|
117
|
+
this.values$$.next(currentValue);
|
|
118
|
+
this.valueChange.emit(currentValue);
|
|
119
|
+
this.onChange(currentValue);
|
|
120
|
+
this.onTouched();
|
|
121
|
+
}
|
|
122
|
+
static { this.ɵfac = function ResourceMultiSelectComponent_Factory(t) { return new (t || ResourceMultiSelectComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|
|
123
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ResourceMultiSelectComponent, selectors: [["acl-resource-multi-select"]], inputs: { list: "list", limit: "limit", prefixLabel: "prefixLabel", disabled: "disabled", required: "required", readonly: "readonly", allOptionTemplate: "allOptionTemplate", allOptionTemplateContext: "allOptionTemplateContext", optionTemplate: "optionTemplate", placeholder: "placeholder", countLimited: "countLimited", filter: "filter", trackBy: "trackBy", allowEmpty: "allowEmpty" }, outputs: { valueChange: "valueChange" }, standalone: true, features: [i0.ɵɵProvidersFeature([
|
|
124
|
+
{
|
|
125
|
+
provide: NG_VALUE_ACCESSOR,
|
|
126
|
+
useExisting: forwardRef(() => ResourceMultiSelectComponent),
|
|
127
|
+
multi: true,
|
|
128
|
+
},
|
|
129
|
+
]), i0.ɵɵStandaloneFeature], decls: 9, vars: 23, consts: [["auiFormItemControl", "", 3, "ngModel", "filterFn", "trackFn", "aclPrefixLabel", "placeholder", "maxRowCount", "disabled", "required", "readonly", "filterable", "clearable", "ngModelChange"], [4, "ngIf"], [3, "value", "label", "disabled", "auiTooltip", "auiTooltipDisabled", "labelContext", 4, "ngFor", "ngForOf"], [3, "value", "label"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "value", "label", "disabled", "auiTooltip", "auiTooltipDisabled", "labelContext"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function ResourceMultiSelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
130
|
+
i0.ɵɵelementStart(0, "aui-multi-select", 0);
|
|
131
|
+
i0.ɵɵlistener("ngModelChange", function ResourceMultiSelectComponent_Template_aui_multi_select_ngModelChange_0_listener($event) { return ctx.onValueChange($event); });
|
|
132
|
+
i0.ɵɵpipe(1, "async");
|
|
133
|
+
i0.ɵɵpipe(2, "translate");
|
|
134
|
+
i0.ɵɵtemplate(3, ResourceMultiSelectComponent_aui_option_group_3_Template, 3, 6, "aui-option-group", 1);
|
|
135
|
+
i0.ɵɵelementStart(4, "aui-option-group");
|
|
136
|
+
i0.ɵɵtemplate(5, ResourceMultiSelectComponent_aui_option_5_Template, 5, 23, "aui-option", 2);
|
|
137
|
+
i0.ɵɵelementEnd();
|
|
138
|
+
i0.ɵɵelementStart(6, "aui-option-placeholder");
|
|
139
|
+
i0.ɵɵtext(7);
|
|
140
|
+
i0.ɵɵpipe(8, "translate");
|
|
141
|
+
i0.ɵɵelementEnd()();
|
|
142
|
+
} if (rf & 2) {
|
|
143
|
+
i0.ɵɵproperty("ngModel", i0.ɵɵpipeBind1(1, 14, ctx.values$$))("filterFn", ctx.filterFn)("trackFn", ctx.trackByFn)("aclPrefixLabel", ctx.prefixLabel)("placeholder", ctx.placeholder || ctx.countLimited ? i0.ɵɵpipeBind2(2, 16, "multi_select_limit", i0.ɵɵpureFunction1(21, _c1, ctx.limit)) : "")("maxRowCount", 6)("disabled", ctx.disabled)("required", ctx.required)("readonly", ctx.readonly)("filterable", true)("clearable", true);
|
|
144
|
+
i0.ɵɵadvance(3);
|
|
145
|
+
i0.ɵɵproperty("ngIf", ctx.allOptionTemplate && (ctx.list == null ? null : ctx.list.length) || ctx.allowEmpty);
|
|
146
|
+
i0.ɵɵadvance(2);
|
|
147
|
+
i0.ɵɵproperty("ngForOf", ctx.list);
|
|
148
|
+
i0.ɵɵadvance(2);
|
|
149
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 19, "no_data"), " ");
|
|
150
|
+
} }, dependencies: [FormsModule, i1.NgControlStatus, i1.RequiredValidator, i1.NgModel, AsyncPipe,
|
|
151
|
+
NgIf,
|
|
152
|
+
TranslateModule, i2.TranslatePipe, SelectModule, i3.OptionComponent, i3.OptionGroupComponent, i3.OptionPlaceholderComponent, i3.MultiSelectComponent, NgForOf,
|
|
153
|
+
NgTemplateOutlet,
|
|
154
|
+
PurePipe,
|
|
155
|
+
TooltipDirective, i3.FormItemControlDirective, SelectPrefixLabelDirective,
|
|
156
|
+
EffectDirectiveModule, i4.E2eAttributeBindingDirective, i5.ValidatorsDirective], encapsulation: 2, changeDetection: 0 }); }
|
|
157
|
+
}
|
|
158
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResourceMultiSelectComponent, [{
|
|
159
|
+
type: Component,
|
|
160
|
+
args: [{ selector: 'acl-resource-multi-select', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
161
|
+
{
|
|
162
|
+
provide: NG_VALUE_ACCESSOR,
|
|
163
|
+
useExisting: forwardRef(() => ResourceMultiSelectComponent),
|
|
164
|
+
multi: true,
|
|
165
|
+
},
|
|
166
|
+
], standalone: true, imports: [
|
|
167
|
+
FormsModule,
|
|
168
|
+
AsyncPipe,
|
|
169
|
+
NgIf,
|
|
170
|
+
TranslateModule,
|
|
171
|
+
SelectModule,
|
|
172
|
+
NgForOf,
|
|
173
|
+
NgTemplateOutlet,
|
|
174
|
+
PurePipe,
|
|
175
|
+
TooltipDirective,
|
|
176
|
+
...FORM_MODULE,
|
|
177
|
+
SelectPrefixLabelDirective,
|
|
178
|
+
EffectDirectiveModule,
|
|
179
|
+
], template: "<aui-multi-select\n [ngModel]=\"values$$ | async\"\n auiFormItemControl\n [filterFn]=\"filterFn\"\n [trackFn]=\"trackByFn\"\n (ngModelChange)=\"onValueChange($event)\"\n [aclPrefixLabel]=\"prefixLabel\"\n [placeholder]=\"\n placeholder || countLimited\n ? ('multi_select_limit' | translate: { count: limit })\n : ''\n \"\n [maxRowCount]=\"6\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [filterable]=\"true\"\n [clearable]=\"true\"\n>\n <aui-option-group *ngIf=\"(allOptionTemplate && list?.length) || allowEmpty\">\n <aui-option\n [value]=\"ALL_VALUE\"\n [label]=\"allOptionTemplate\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n allOptionTemplate;\n context: { $implicit: allOptionTemplateContext }\n \"\n ></ng-container>\n </aui-option>\n </aui-option-group>\n\n <aui-option-group>\n <aui-option\n *ngFor=\"let option of list\"\n [value]=\"option\"\n [label]=\"optionTemplate\"\n [disabled]=\"option | pure: disableOption:(values$$ | async)\"\n [auiTooltip]=\"'multi_select_limit' | translate: { count: limit }\"\n [auiTooltipDisabled]=\"!countLimited ? true : !isPartial\"\n [labelContext]=\"{ resource: option }\"\n >\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ resource: option, inOption: true }\"\n ></ng-container>\n </aui-option>\n </aui-option-group>\n <aui-option-placeholder>\n {{ 'no_data' | translate }}\n </aui-option-placeholder>\n</aui-multi-select>\n" }]
|
|
180
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { list: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], limit: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], prefixLabel: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], disabled: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], required: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], readonly: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], allOptionTemplate: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], allOptionTemplateContext: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], optionTemplate: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], placeholder: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], countLimited: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}], filter: [{
|
|
203
|
+
type: Input
|
|
204
|
+
}], trackBy: [{
|
|
205
|
+
type: Input
|
|
206
|
+
}], allowEmpty: [{
|
|
207
|
+
type: Input
|
|
208
|
+
}], valueChange: [{
|
|
209
|
+
type: Output
|
|
210
|
+
}] }); })();
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9yZXNvdXJjZS1tdWx0aS1zZWxlY3QvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3dpZGdldC9yZXNvdXJjZS1tdWx0aS1zZWxlY3QvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUdYLFlBQVksRUFDWixnQkFBZ0IsR0FFakIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0UsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxRQUFRLEVBQWEsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7OztJQ1BsRSx3QkFLZ0I7Ozs7SUFWcEIsd0NBQTRFLG9CQUFBO0lBS3hFLGtIQUtnQjtJQUNsQixpQkFBYSxFQUFBOzs7SUFUWCxlQUFtQjtJQUFuQix3Q0FBbUIsbUNBQUE7SUFJaEIsZUFFWTtJQUZaLDJEQUVZLHdGQUFBOzs7Ozs7SUFPakIscUNBUUM7Ozs7SUFDQywyQkFHZ0I7SUFDbEIsaUJBQWE7Ozs7SUFYWCxpQ0FBZ0IsZ0NBQUEsMkdBQUEsc0dBQUEsdUVBQUEsd0RBQUE7SUFRZCxlQUFtQztJQUFuQyx3REFBbUMsbUVBQUE7O0FEZ0IzQyxNQUFNLE9BQU8sNEJBQTRCO0lBdUR2QyxZQUE2QixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWxEbkQsVUFBSyxHQUFXLG1CQUFtQixDQUFDO1FBTXBDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBWWpCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBR2pCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBR3BCLFdBQU0sR0FBMkIsQ0FDL0IsTUFBYyxFQUNkLE1BQWtDLEVBQ2xDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUdwQyxZQUFPLEdBQW9CLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFHaEQsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFFM0MsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFDdEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQVV0QixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFVakIsa0JBQWEsR0FBRyxDQUFDLFlBQW9CLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO1lBQ3pELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2pCLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFFRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELG9CQUFvQjtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUNELElBQUksTUFBTSxFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUMsS0FBSyxJQUFJLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQ3ZFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQzthQUM5QztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBYUYsYUFBUSxHQUFHLENBQUMsTUFBYyxFQUFFLE1BQWtDLEVBQUUsRUFBRTtZQUNoRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtnQkFDdkIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUM7UUFFRixjQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUM1QixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQ3ZCLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1lBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDO0lBaEVvRCxDQUFDO0lBRXZELFVBQVUsQ0FBQyxNQUFnQjtRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsY0FBYyxDQUFDLFNBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBTUQsZ0JBQWdCLENBQUMsRUFBYztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBc0JELGFBQWEsQ0FBQyxNQUFnQjtRQUM1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsY0FBYyxDQUFDLFNBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QyxDQUFDLENBQUMsQ0FBQyxTQUFtQixDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDOzZGQXhHVSw0QkFBNEI7b0VBQTVCLDRCQUE0Qiw0Z0JBdkI1QjtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDO29CQUMzRCxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1lDM0NILDJDQWtCQztZQWJDLHlJQUFpQix5QkFBcUIsSUFBQzs7O1lBY3ZDLHVHQVltQjtZQUVuQix3Q0FBa0I7WUFDaEIsNEZBYWE7WUFDZixpQkFBbUI7WUFDbkIsOENBQXdCO1lBQ3RCLFlBQ0Y7O1lBQUEsaUJBQXlCLEVBQUE7O1lBbER6Qiw2REFBNEIsMEJBQUEsMEJBQUEsbUNBQUEsK0lBQUEsa0JBQUEsMEJBQUEsMEJBQUEsMEJBQUEsb0JBQUEsbUJBQUE7WUFrQlQsZUFBdUQ7WUFBdkQsNkdBQXVEO1lBZ0JuRCxlQUFPO1lBQVAsa0NBQU87WUFlNUIsZUFDRjtZQURFLGlFQUNGOzRCRExFLFdBQVcsd0RBQ1gsU0FBUztZQUNULElBQUk7WUFDSixlQUFlLG9CQUNmLFlBQVksdUdBQ1osT0FBTztZQUNQLGdCQUFnQjtZQUNoQixRQUFRO1lBQ1IsZ0JBQWdCLCtCQUVoQiwwQkFBMEI7WUFDMUIscUJBQXFCOzt1RkFHWiw0QkFBNEI7Y0EzQnhDLFNBQVM7MkJBQ0UsMkJBQTJCLG1CQUVwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDO3dCQUMzRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRixjQUNXLElBQUksV0FDUDtvQkFDUCxXQUFXO29CQUNYLFNBQVM7b0JBQ1QsSUFBSTtvQkFDSixlQUFlO29CQUNmLFlBQVk7b0JBQ1osT0FBTztvQkFDUCxnQkFBZ0I7b0JBQ2hCLFFBQVE7b0JBQ1IsZ0JBQWdCO29CQUNoQixHQUFHLFdBQVc7b0JBQ2QsMEJBQTBCO29CQUMxQixxQkFBcUI7aUJBQ3RCO29FQUlELElBQUk7a0JBREgsS0FBSztZQUlOLEtBQUs7a0JBREosS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLFFBQVE7a0JBRFAsS0FBSztZQUlOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLHdCQUF3QjtrQkFEdkIsS0FBSztZQUlOLGNBQWM7a0JBRGIsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLFlBQVk7a0JBRFgsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQU9OLE9BQU87a0JBRE4sS0FBSztZQUlOLFVBQVU7a0JBRFQsS0FBSztZQUlOLFdBQVc7a0JBRFYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZPUk1fTU9EVUxFLFxuICBPcHRpb25GaWx0ZXJGbixcbiAgU2VsZWN0RmlsdGVyT3B0aW9uLFxuICBTZWxlY3RNb2R1bGUsXG4gIFRvb2x0aXBEaXJlY3RpdmUsXG4gIFRyYWNrRm4sXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgVGVtcGxhdGVSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3Jtc01vZHVsZSxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQdXJlUGlwZSwgU3RyaW5nTWFwLCBub29wIH0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVmZmVjdERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uL2VmZmVjdC1kaXJlY3RpdmUvbW9kdWxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFNlbGVjdFByZWZpeExhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vd2lkZ2V0L3NlbGVjdC1wcmVmaXgtbGFiZWwvZGlyZWN0aXZlJztcblxuaW1wb3J0IHsgREVGQVVMVF9MSU1JVF9DT1VOVCwgQUxMX1ZBTFVFLCBjaGVja1ZhbHVlRXhpdCB9IGZyb20gJy4vdXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1yZXNvdXJjZS1tdWx0aS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJlc291cmNlTXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBOZ0lmLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgTmdGb3JPZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFB1cmVQaXBlLFxuICAgIFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgLi4uRk9STV9NT0RVTEUsXG4gICAgU2VsZWN0UHJlZml4TGFiZWxEaXJlY3RpdmUsXG4gICAgRWZmZWN0RGlyZWN0aXZlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZU11bHRpU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKVxuICBsaXN0OiBzdHJpbmdbXTtcblxuICBASW5wdXQoKVxuICBsaW1pdDogbnVtYmVyID0gREVGQVVMVF9MSU1JVF9DT1VOVDtcblxuICBASW5wdXQoKVxuICBwcmVmaXhMYWJlbDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcmVxdWlyZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZWFkb25seSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFsbE9wdGlvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIGFsbE9wdGlvblRlbXBsYXRlQ29udGV4dDogU3RyaW5nTWFwO1xuXG4gIEBJbnB1dCgpXG4gIG9wdGlvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KClcbiAgY291bnRMaW1pdGVkID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBmaWx0ZXI6IE9wdGlvbkZpbHRlckZuPHN0cmluZz4gPSAoXG4gICAgZmlsdGVyOiBzdHJpbmcsXG4gICAgb3B0aW9uOiBTZWxlY3RGaWx0ZXJPcHRpb248c3RyaW5nPixcbiAgKSA9PiBvcHRpb24udmFsdWU/LmluY2x1ZGVzKGZpbHRlcik7XG5cbiAgQElucHV0KClcbiAgdHJhY2tCeTogVHJhY2tGbjxzdHJpbmc+ID0gKHZhbDogc3RyaW5nKSA9PiB2YWw7XG5cbiAgQElucHV0KClcbiAgYWxsb3dFbXB0eSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgdmFsdWVzJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gIHZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgaXNTZWxlY3RBbGxPcHRpb24gPSBmYWxzZTtcbiAgaXNQYXJ0aWFsID0gZmFsc2U7XG4gIEFMTF9WQUxVRSA9IEFMTF9WQUxVRTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy52YWx1ZXMkJC5uZXh0KHZhbHVlcyk7XG4gICAgdGhpcy5pc1NlbGVjdEFsbE9wdGlvbiA9IGNoZWNrVmFsdWVFeGl0KEFMTF9WQUxVRSBhcyBzdHJpbmcsIHZhbHVlcyk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNoYW5nZSA9IG5vb3A7XG5cbiAgb25Ub3VjaGVkID0gbm9vcDtcblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgZGlzYWJsZU9wdGlvbiA9IChjaGVja2VkVmFsdWU6IHN0cmluZywgdmFsdWVzOiBzdHJpbmdbXSkgPT4ge1xuICAgIHRoaXMuaXNQYXJ0aWFsID0gZmFsc2U7XG4gICAgaWYgKCFjaGVja2VkVmFsdWUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc1NlbGVjdEFsbE9wdGlvbikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIOWmguaenOS4jemZkOWItuS4quaVsOebtOaOpei/lOWbniBmYWxzZVxuICAgIGlmICghdGhpcy5jb3VudExpbWl0ZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHZhbHVlcz8ubGVuZ3RoID09PSB0aGlzLmxpbWl0ICYmIHZhbHVlcz8ubGVuZ3RoIDwgdGhpcy5saXN0Py5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaXNQYXJ0aWFsID0gdHJ1ZTtcbiAgICAgIHJldHVybiAhY2hlY2tWYWx1ZUV4aXQoY2hlY2tlZFZhbHVlLCB2YWx1ZXMpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5pc1NlbGVjdEFsbE9wdGlvbiA9IGNoZWNrVmFsdWVFeGl0KEFMTF9WQUxVRSBhcyBzdHJpbmcsIHZhbHVlcyk7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5pc1NlbGVjdEFsbE9wdGlvblxuICAgICAgPyBbQUxMX1ZBTFVFIGFzIHN0cmluZ11cbiAgICAgIDogdmFsdWVzO1xuICAgIHRoaXMudmFsdWVzJCQubmV4dChjdXJyZW50VmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChjdXJyZW50VmFsdWUpO1xuICAgIHRoaXMub25DaGFuZ2UoY3VycmVudFZhbHVlKTtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgZmlsdGVyRm4gPSAoZmlsdGVyOiBzdHJpbmcsIG9wdGlvbjogU2VsZWN0RmlsdGVyT3B0aW9uPHN0cmluZz4pID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IG9wdGlvbi52YWx1ZTtcbiAgICBpZiAodmFsdWUgPT09IEFMTF9WQUxVRSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZpbHRlcj8uKGZpbHRlciwgb3B0aW9uKTtcbiAgfTtcblxuICB0cmFja0J5Rm4gPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gQUxMX1ZBTFVFKSB7XG4gICAgICByZXR1cm4gQUxMX1ZBTFVFO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy50cmFja0J5Py4odmFsdWUpO1xuICB9O1xufVxuIiwiPGF1aS1tdWx0aS1zZWxlY3RcbiAgW25nTW9kZWxdPVwidmFsdWVzJCQgfCBhc3luY1wiXG4gIGF1aUZvcm1JdGVtQ29udHJvbFxuICBbZmlsdGVyRm5dPVwiZmlsdGVyRm5cIlxuICBbdHJhY2tGbl09XCJ0cmFja0J5Rm5cIlxuICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICBbYWNsUHJlZml4TGFiZWxdPVwicHJlZml4TGFiZWxcIlxuICBbcGxhY2Vob2xkZXJdPVwiXG4gICAgcGxhY2Vob2xkZXIgfHwgY291bnRMaW1pdGVkXG4gICAgICA/ICgnbXVsdGlfc2VsZWN0X2xpbWl0JyB8IHRyYW5zbGF0ZTogeyBjb3VudDogbGltaXQgfSlcbiAgICAgIDogJydcbiAgXCJcbiAgW21heFJvd0NvdW50XT1cIjZcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICBbZmlsdGVyYWJsZV09XCJ0cnVlXCJcbiAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbj5cbiAgPGF1aS1vcHRpb24tZ3JvdXAgKm5nSWY9XCIoYWxsT3B0aW9uVGVtcGxhdGUgJiYgbGlzdD8ubGVuZ3RoKSB8fCBhbGxvd0VtcHR5XCI+XG4gICAgPGF1aS1vcHRpb25cbiAgICAgIFt2YWx1ZV09XCJBTExfVkFMVUVcIlxuICAgICAgW2xhYmVsXT1cImFsbE9wdGlvblRlbXBsYXRlXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgYWxsT3B0aW9uVGVtcGxhdGU7XG4gICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGFsbE9wdGlvblRlbXBsYXRlQ29udGV4dCB9XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9hdWktb3B0aW9uPlxuICA8L2F1aS1vcHRpb24tZ3JvdXA+XG5cbiAgPGF1aS1vcHRpb24tZ3JvdXA+XG4gICAgPGF1aS1vcHRpb25cbiAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbGlzdFwiXG4gICAgICBbdmFsdWVdPVwib3B0aW9uXCJcbiAgICAgIFtsYWJlbF09XCJvcHRpb25UZW1wbGF0ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwib3B0aW9uIHwgcHVyZTogZGlzYWJsZU9wdGlvbjoodmFsdWVzJCQgfCBhc3luYylcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiJ211bHRpX3NlbGVjdF9saW1pdCcgfCB0cmFuc2xhdGU6IHsgY291bnQ6IGxpbWl0IH1cIlxuICAgICAgW2F1aVRvb2x0aXBEaXNhYmxlZF09XCIhY291bnRMaW1pdGVkID8gdHJ1ZSA6ICFpc1BhcnRpYWxcIlxuICAgICAgW2xhYmVsQ29udGV4dF09XCJ7IHJlc291cmNlOiBvcHRpb24gfVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHJlc291cmNlOiBvcHRpb24sIGluT3B0aW9uOiB0cnVlIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvYXVpLW9wdGlvbj5cbiAgPC9hdWktb3B0aW9uLWdyb3VwPlxuICA8YXVpLW9wdGlvbi1wbGFjZWhvbGRlcj5cbiAgICB7eyAnbm9fZGF0YScgfCB0cmFuc2xhdGUgfX1cbiAgPC9hdWktb3B0aW9uLXBsYWNlaG9sZGVyPlxuPC9hdWktbXVsdGktc2VsZWN0PlxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { first, isString } from 'lodash-es';
|
|
2
|
+
export const DEFAULT_LIMIT_COUNT = 30;
|
|
3
|
+
export const ALL_VALUE = 'All';
|
|
4
|
+
export var OptionAction;
|
|
5
|
+
(function (OptionAction) {
|
|
6
|
+
OptionAction["Active"] = "active";
|
|
7
|
+
OptionAction["Disabled"] = "disabled";
|
|
8
|
+
OptionAction["Partial"] = "partial";
|
|
9
|
+
})(OptionAction || (OptionAction = {}));
|
|
10
|
+
export const checkValueExit = (checkedValue, values) => {
|
|
11
|
+
if (typeof checkedValue === 'string') {
|
|
12
|
+
return values?.some(value => value === checkedValue);
|
|
13
|
+
}
|
|
14
|
+
return values?.some(value => value.metadata.name ===
|
|
15
|
+
checkedValue.metadata.name);
|
|
16
|
+
};
|
|
17
|
+
export const isSelectAll = (values, allVal = ALL_VALUE) => {
|
|
18
|
+
if (values?.length === 1) {
|
|
19
|
+
const value = first(values);
|
|
20
|
+
return isString(value) && value === allVal;
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy93aWRnZXQvcmVzb3VyY2UtbXVsdGktc2VsZWN0L3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJNUMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFFL0IsTUFBTSxDQUFOLElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUN0QixpQ0FBaUIsQ0FBQTtJQUNqQixxQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkI7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FDNUIsWUFBZSxFQUNmLE1BQVcsRUFDWCxFQUFFO0lBQ0YsSUFBSSxPQUFPLFlBQVksS0FBSyxRQUFRLEVBQUU7UUFDcEMsT0FBTyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUUsS0FBZ0IsS0FBSyxZQUFZLENBQUMsQ0FBQztLQUNsRTtJQUVELE9BQU8sTUFBTSxFQUFFLElBQUksQ0FDakIsS0FBSyxDQUFDLEVBQUUsQ0FDTCxLQUE0QixDQUFDLFFBQVEsQ0FBQyxJQUFJO1FBQzNDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUM3QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQ3pCLE1BQVcsRUFDWCxNQUFNLEdBQUcsU0FBUyxFQUNsQixFQUFFO0lBQ0YsSUFBSSxNQUFNLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN4QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLE1BQU0sQ0FBQztLQUM1QztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyc3QsIGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlIH0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElNSVRfQ09VTlQgPSAzMDtcblxuZXhwb3J0IGNvbnN0IEFMTF9WQUxVRSA9ICdBbGwnO1xuXG5leHBvcnQgZW51bSBPcHRpb25BY3Rpb24ge1xuICBBY3RpdmUgPSAnYWN0aXZlJyxcbiAgRGlzYWJsZWQgPSAnZGlzYWJsZWQnLFxuICBQYXJ0aWFsID0gJ3BhcnRpYWwnLFxufVxuXG5leHBvcnQgY29uc3QgY2hlY2tWYWx1ZUV4aXQgPSA8VCBleHRlbmRzIHN0cmluZyB8IEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gIGNoZWNrZWRWYWx1ZTogVCxcbiAgdmFsdWVzOiBUW10sXG4pID0+IHtcbiAgaWYgKHR5cGVvZiBjaGVja2VkVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlcz8uc29tZSh2YWx1ZSA9PiAodmFsdWUgYXMgc3RyaW5nKSA9PT0gY2hlY2tlZFZhbHVlKTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZXM/LnNvbWUoXG4gICAgdmFsdWUgPT5cbiAgICAgICh2YWx1ZSBhcyBLdWJlcm5ldGVzUmVzb3VyY2UpLm1ldGFkYXRhLm5hbWUgPT09XG4gICAgICBjaGVja2VkVmFsdWUubWV0YWRhdGEubmFtZSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1NlbGVjdEFsbCA9IDxUIGV4dGVuZHMgc3RyaW5nIHwgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgdmFsdWVzOiBUW10sXG4gIGFsbFZhbCA9IEFMTF9WQUxVRSxcbikgPT4ge1xuICBpZiAodmFsdWVzPy5sZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGZpcnN0KHZhbHVlcyk7XG4gICAgcmV0dXJuIGlzU3RyaW5nKHZhbHVlKSAmJiB2YWx1ZSA9PT0gYWxsVmFsO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG4iXX0=
|