vc-create-dashboard 3.0.83 → 3.0.85
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/README.md +24 -24
- package/esm2022/lib/configurations.mjs +7 -7
- package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +2 -2
- package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +212 -212
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +350 -350
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +2 -2
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +47 -47
- package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +37 -37
- package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +2 -2
- package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +1601 -1520
- package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +127 -127
- package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +24 -24
- package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +36 -36
- package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +153 -153
- package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +309 -309
- package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +2 -2
- package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +30 -30
- package/esm2022/lib/create-dashboard-container/pipes/search-program.pipe.mjs +37 -37
- package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +25 -25
- package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +18 -19
- package/esm2022/lib/create-dashboard-container/program-list/constant.mjs +31 -31
- package/esm2022/lib/create-dashboard-container/program-list/information-block/information-block.component.mjs +13 -13
- package/esm2022/lib/create-dashboard-container/program-list/interfaces/list-item.interface.mjs +2 -2
- package/esm2022/lib/create-dashboard-container/program-list/list-container/list-container.component.mjs +50 -50
- package/esm2022/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.mjs +23 -23
- package/esm2022/lib/create-dashboard-container/program-list/program-list/program-list.component.mjs +294 -294
- package/esm2022/lib/create-dashboard-container/program-list/program-list.module.mjs +60 -60
- package/esm2022/lib/create-dashboard-container/program-list/services/list-utils.service.mjs +27 -27
- package/esm2022/lib/create-dashboard-container/program-list/services/program-list-api.service.mjs +28 -35
- package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +224 -149
- package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +2 -2
- package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +206 -206
- package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +233 -238
- package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +227 -243
- package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +28 -28
- package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +440 -440
- package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +2 -2
- package/esm2022/lib/create-dashboard-container/utils/dashboard-edit.utils.mjs +181 -181
- package/esm2022/lib/create-dashboard.service.mjs +14 -14
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +52 -52
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +2 -2
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +32 -32
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +7 -7
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +17 -17
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -11
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +96 -96
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -20
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +56 -56
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +17 -17
- package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +57 -57
- package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +32 -32
- package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +30 -30
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +29 -29
- package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +34 -34
- package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -14
- package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +119 -119
- package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +39 -39
- package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +55 -55
- package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -19
- package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -24
- package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +24 -24
- package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +18 -18
- package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +47 -47
- package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -18
- package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +130 -130
- package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +18 -18
- package/esm2022/lib/ui-kit/popover/popover.component.mjs +129 -129
- package/esm2022/lib/ui-kit/popover/popover.directive.mjs +93 -93
- package/esm2022/lib/ui-kit/popover/popover.module.mjs +21 -21
- package/esm2022/lib/ui-kit/popover/popover.service.mjs +23 -23
- package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +41 -41
- package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +107 -107
- package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +21 -21
- package/esm2022/lib/ui-kit/select/select.module.mjs +21 -21
- package/esm2022/lib/ui-kit/services/cs-select.service.mjs +16 -16
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +52 -52
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -18
- package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +46 -46
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -18
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +23 -23
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +168 -168
- package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -18
- package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +24 -24
- package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +24 -24
- package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +19 -19
- package/esm2022/public-api.mjs +10 -10
- package/esm2022/vc-create-dashboard.mjs +4 -4
- package/fesm2022/vc-create-dashboard.mjs +6438 -6333
- package/fesm2022/vc-create-dashboard.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/configurations.d.ts +4 -4
- package/lib/create-dashboard-container/categories/categories-config.d.ts +18 -18
- package/lib/create-dashboard-container/categories/categories.component.d.ts +66 -66
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +113 -113
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +9 -9
- package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +14 -14
- package/lib/create-dashboard-container/constants/assets.constant.d.ts +35 -35
- package/lib/create-dashboard-container/create-dashboard-config.d.ts +18 -18
- package/lib/create-dashboard-container/create-dashboard.component.d.ts +219 -216
- package/lib/create-dashboard-container/create-dashboard.module.d.ts +37 -37
- package/lib/create-dashboard-container/directives/directives.module.d.ts +8 -8
- package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +12 -12
- package/lib/create-dashboard-container/form-group/form-group.component.d.ts +48 -48
- package/lib/create-dashboard-container/frequency/frequency.component.d.ts +39 -39
- package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +8 -8
- package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +7 -7
- package/lib/create-dashboard-container/pipes/search-program.pipe.d.ts +7 -7
- package/lib/create-dashboard-container/pipes/search.pipe.d.ts +7 -7
- package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +7 -7
- package/lib/create-dashboard-container/program-list/constant.d.ts +24 -24
- package/lib/create-dashboard-container/program-list/information-block/information-block.component.d.ts +6 -6
- package/lib/create-dashboard-container/program-list/interfaces/list-item.interface.d.ts +5 -5
- package/lib/create-dashboard-container/program-list/list-container/list-container.component.d.ts +9 -9
- package/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.d.ts +7 -7
- package/lib/create-dashboard-container/program-list/program-list/program-list.component.d.ts +119 -119
- package/lib/create-dashboard-container/program-list/program-list.module.d.ts +17 -17
- package/lib/create-dashboard-container/program-list/services/list-utils.service.d.ts +7 -7
- package/lib/create-dashboard-container/program-list/services/program-list-api.service.d.ts +12 -14
- package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +70 -62
- package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +18 -18
- package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +66 -66
- package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +21 -23
- package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +80 -82
- package/lib/create-dashboard-container/services/pagination.service.d.ts +12 -12
- package/lib/create-dashboard-container/user-list/user-list.component.d.ts +123 -123
- package/lib/create-dashboard-container/user-list/user-list.config.d.ts +13 -13
- package/lib/create-dashboard-container/utils/dashboard-edit.utils.d.ts +16 -16
- package/lib/create-dashboard.service.d.ts +6 -6
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +17 -17
- package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +11 -11
- package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +10 -10
- package/lib/ui-kit/dialog/dialog-config.d.ts +6 -6
- package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -7
- package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -7
- package/lib/ui-kit/dialog/dialog.component.d.ts +33 -33
- package/lib/ui-kit/dialog/dialog.module.d.ts +9 -9
- package/lib/ui-kit/dialog/dialog.service.d.ts +17 -17
- package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -8
- package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +20 -20
- package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +10 -10
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +10 -10
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +13 -13
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +15 -15
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +8 -8
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +36 -36
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +15 -15
- package/lib/ui-kit/formgroup/formgroup.module.d.ts +17 -17
- package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +7 -7
- package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +7 -7
- package/lib/ui-kit/loaders/loaders.module.d.ts +8 -8
- package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +9 -9
- package/lib/ui-kit/no-data/no-data.component.d.ts +19 -19
- package/lib/ui-kit/no-data/no-data.module.d.ts +8 -8
- package/lib/ui-kit/pagination/pagination.component.d.ts +21 -21
- package/lib/ui-kit/pagination/pagination.module.d.ts +8 -8
- package/lib/ui-kit/popover/popover.component.d.ts +28 -28
- package/lib/ui-kit/popover/popover.directive.d.ts +17 -17
- package/lib/ui-kit/popover/popover.module.d.ts +9 -9
- package/lib/ui-kit/popover/popover.service.d.ts +13 -13
- package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +16 -16
- package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +32 -32
- package/lib/ui-kit/select/safe-html.pipe.d.ts +10 -10
- package/lib/ui-kit/select/select.module.d.ts +11 -11
- package/lib/ui-kit/services/cs-select.service.d.ts +7 -7
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +17 -17
- package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +8 -8
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +17 -17
- package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -8
- package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +9 -9
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +28 -28
- package/lib/ui-kit/tooltip/tooltip.module.d.ts +8 -8
- package/lib/ui-kit/v-loader/loader/loader.component.d.ts +11 -11
- package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +11 -11
- package/lib/ui-kit/v-loader/v-loader.module.d.ts +9 -9
- package/package.json +1 -1
- package/public-api.d.ts +3 -3
- package/esm2022/lib/create-dashboard-container/services/auth.service.mjs +0 -31
- package/lib/create-dashboard-container/services/auth.service.d.ts +0 -11
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CsRadioComponent {
|
|
4
|
-
disabled;
|
|
5
|
-
readonly;
|
|
6
|
-
name;
|
|
7
|
-
checked;
|
|
8
|
-
value;
|
|
9
|
-
checkedEvent = new EventEmitter();
|
|
10
|
-
constructor() { }
|
|
11
|
-
ngOnInit() { }
|
|
12
|
-
changeState(evt) {
|
|
13
|
-
this.checkedEvent.emit(evt);
|
|
14
|
-
}
|
|
15
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsRadioComponent, selector: "app-cs-radio", inputs: { disabled: "disabled", readonly: "readonly", name: "name", checked: "checked", value: "value" }, outputs: { checkedEvent: "checkedEvent" }, ngImport: i0, template: "<label class=\"radio-item\" [class.readonly]=\"readonly\">\n <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\n <span class=\"radio\">\n <span class=\"inner\"></span>\n </span>\n <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\n <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\n </svg>\n <span class=\"value\"><ng-content></ng-content></span>\n</label>\n", styles: ["label{max-width:600px}label.radio-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;padding:0;max-width:100%}label.radio-item.readonly{pointer-events:none}label.radio-item span{display:inline-flex;align-items:center}label.radio-item span.radio{background:#fff;height:16px;width:16px;border-radius:50%;border:1px solid #dbdbdb;position:relative;padding:5px;margin-top:0}label.radio-item span.radio .inner{height:10px;width:10px;border-radius:50%;background:#fff;display:none}label.radio-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px)}label.radio-item span.value:empty{display:none}label.radio-item svg{display:none;margin-top:0}label.radio-item input[type=radio]{display:none}label.radio-item input[type=radio]:checked+span.radio{display:none}label.radio-item input[type=radio]:checked~svg{display:block}label.radio-item input[type=radio]:disabled~*{opacity:.7}.radiomark{width:16px;height:16px;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.radiomark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.radiomark__check{stroke-dasharray:100;stroke-dashoffset:100;stroke-width:10;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"] });
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioComponent, decorators: [{
|
|
19
|
-
type: Component,
|
|
20
|
-
args: [{ selector: 'app-cs-radio', template: "<label class=\"radio-item\" [class.readonly]=\"readonly\">\n <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\n <span class=\"radio\">\n <span class=\"inner\"></span>\n </span>\n <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\n <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\n </svg>\n <span class=\"value\"><ng-content></ng-content></span>\n</label>\n", styles: ["label{max-width:600px}label.radio-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;padding:0;max-width:100%}label.radio-item.readonly{pointer-events:none}label.radio-item span{display:inline-flex;align-items:center}label.radio-item span.radio{background:#fff;height:16px;width:16px;border-radius:50%;border:1px solid #dbdbdb;position:relative;padding:5px;margin-top:0}label.radio-item span.radio .inner{height:10px;width:10px;border-radius:50%;background:#fff;display:none}label.radio-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px)}label.radio-item span.value:empty{display:none}label.radio-item svg{display:none;margin-top:0}label.radio-item input[type=radio]{display:none}label.radio-item input[type=radio]:checked+span.radio{display:none}label.radio-item input[type=radio]:checked~svg{display:block}label.radio-item input[type=radio]:disabled~*{opacity:.7}.radiomark{width:16px;height:16px;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.radiomark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.radiomark__check{stroke-dasharray:100;stroke-dashoffset:100;stroke-width:10;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"] }]
|
|
21
|
-
}], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
|
|
22
|
-
type: Input
|
|
23
|
-
}], readonly: [{
|
|
24
|
-
type: Input
|
|
25
|
-
}], name: [{
|
|
26
|
-
type: Input
|
|
27
|
-
}], checked: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}], value: [{
|
|
30
|
-
type: Input
|
|
31
|
-
}], checkedEvent: [{
|
|
32
|
-
type: Output
|
|
33
|
-
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class CsRadioComponent {
|
|
4
|
+
disabled;
|
|
5
|
+
readonly;
|
|
6
|
+
name;
|
|
7
|
+
checked;
|
|
8
|
+
value;
|
|
9
|
+
checkedEvent = new EventEmitter();
|
|
10
|
+
constructor() { }
|
|
11
|
+
ngOnInit() { }
|
|
12
|
+
changeState(evt) {
|
|
13
|
+
this.checkedEvent.emit(evt);
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsRadioComponent, selector: "app-cs-radio", inputs: { disabled: "disabled", readonly: "readonly", name: "name", checked: "checked", value: "value" }, outputs: { checkedEvent: "checkedEvent" }, ngImport: i0, template: "<label class=\"radio-item\" [class.readonly]=\"readonly\">\r\n <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\r\n <span class=\"radio\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n", styles: ["label{max-width:600px}label.radio-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;padding:0;max-width:100%}label.radio-item.readonly{pointer-events:none}label.radio-item span{display:inline-flex;align-items:center}label.radio-item span.radio{background:#fff;height:16px;width:16px;border-radius:50%;border:1px solid #dbdbdb;position:relative;padding:5px;margin-top:0}label.radio-item span.radio .inner{height:10px;width:10px;border-radius:50%;background:#fff;display:none}label.radio-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px)}label.radio-item span.value:empty{display:none}label.radio-item svg{display:none;margin-top:0}label.radio-item input[type=radio]{display:none}label.radio-item input[type=radio]:checked+span.radio{display:none}label.radio-item input[type=radio]:checked~svg{display:block}label.radio-item input[type=radio]:disabled~*{opacity:.7}.radiomark{width:16px;height:16px;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.radiomark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.radiomark__check{stroke-dasharray:100;stroke-dashoffset:100;stroke-width:10;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"] });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'app-cs-radio', template: "<label class=\"radio-item\" [class.readonly]=\"readonly\">\r\n <input type=\"radio\" [disabled]=\"disabled\" [name]=\"name\" [value]=\"value\" [checked]=\"checked\" (change)=\"changeState($event)\" />\r\n <span class=\"radio\">\r\n <span class=\"inner\"></span>\r\n </span>\r\n <svg class=\"radiomark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"radiomark__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <circle class=\"radiomark__check\" cx=\"26\" cy=\"26\" r=\"5\" fill=\"none\" />\r\n </svg>\r\n <span class=\"value\"><ng-content></ng-content></span>\r\n</label>\r\n", styles: ["label{max-width:600px}label.radio-item{display:inline-flex;align-items:center;cursor:pointer;margin:0;padding:0;max-width:100%}label.radio-item.readonly{pointer-events:none}label.radio-item span{display:inline-flex;align-items:center}label.radio-item span.radio{background:#fff;height:16px;width:16px;border-radius:50%;border:1px solid #dbdbdb;position:relative;padding:5px;margin-top:0}label.radio-item span.radio .inner{height:10px;width:10px;border-radius:50%;background:#fff;display:none}label.radio-item span.value{color:#4e4e4e;font-size:14px;line-height:16px;font-weight:400;margin-left:10px;max-width:calc(100% - 26px)}label.radio-item span.value:empty{display:none}label.radio-item svg{display:none;margin-top:0}label.radio-item input[type=radio]{display:none}label.radio-item input[type=radio]:checked+span.radio{display:none}label.radio-item input[type=radio]:checked~svg{display:block}label.radio-item input[type=radio]:disabled~*{opacity:.7}.radiomark{width:16px;height:16px;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.radiomark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.radiomark__check{stroke-dasharray:100;stroke-dashoffset:100;stroke-width:10;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #34aa44}}\n"] }]
|
|
21
|
+
}], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], readonly: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], name: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], checked: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], value: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], checkedEvent: [{
|
|
32
|
+
type: Output
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3MtcmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL3VpLWtpdC9mb3JtZ3JvdXAvY3MtcmFkaW8vY3MtcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL3VpLWtpdC9mb3JtZ3JvdXAvY3MtcmFkaW8vY3MtcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPL0UsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixRQUFRLENBQVc7SUFDbkIsUUFBUSxDQUFXO0lBQ25CLElBQUksQ0FBVTtJQUNkLE9BQU8sQ0FBVztJQUNsQixLQUFLLENBQU07SUFDVixZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QyxnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDO0lBQ25CLFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7d0dBWlUsZ0JBQWdCOzRGQUFoQixnQkFBZ0IseU1DUDdCLDJuQkFXQTs7NEZESmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGNBQWM7MEVBS2YsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jcy1yYWRpbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NzLXJhZGlvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcy1yYWRpby5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3NSYWRpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHJlYWRvbmx5ITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBuYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNoZWNrZWQhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XHJcbiAgQE91dHB1dCgpIGNoZWNrZWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuICBjaGFuZ2VTdGF0ZShldnQ6IGFueSkge1xyXG4gICAgdGhpcy5jaGVja2VkRXZlbnQuZW1pdChldnQpO1xyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgY2xhc3M9XCJyYWRpby1pdGVtXCIgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCI+XHJcbiAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtuYW1lXT1cIm5hbWVcIiBbdmFsdWVdPVwidmFsdWVcIiBbY2hlY2tlZF09XCJjaGVja2VkXCIgKGNoYW5nZSk9XCJjaGFuZ2VTdGF0ZSgkZXZlbnQpXCIgLz5cclxuICA8c3BhbiBjbGFzcz1cInJhZGlvXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImlubmVyXCI+PC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuICA8c3ZnIGNsYXNzPVwicmFkaW9tYXJrXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIgNTJcIj5cclxuICAgIDxjaXJjbGUgY2xhc3M9XCJyYWRpb21hcmtfX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgPGNpcmNsZSBjbGFzcz1cInJhZGlvbWFya19fY2hlY2tcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCI1XCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gIDwvc3ZnPlxyXG4gIDxzcGFuIGNsYXNzPVwidmFsdWVcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxyXG48L2xhYmVsPlxyXG4iXX0=
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../cs-radio/cs-radio.component";
|
|
4
|
-
export class CsRadioGroupComponent {
|
|
5
|
-
constructor() { }
|
|
6
|
-
ngOnInit() { }
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsRadioGroupComponent, selector: "app-cs-radio-group", ngImport: i0, template: "<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n", styles: [""], dependencies: [{ kind: "component", type: i1.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value"], outputs: ["checkedEvent"] }] });
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioGroupComponent, decorators: [{
|
|
11
|
-
type: Component,
|
|
12
|
-
args: [{ selector: 'app-cs-radio-group', template: "<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n<app-cs-radio>fefre</app-cs-radio>\n" }]
|
|
13
|
-
}], ctorParameters: function () { return []; } });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../cs-radio/cs-radio.component";
|
|
4
|
+
export class CsRadioGroupComponent {
|
|
5
|
+
constructor() { }
|
|
6
|
+
ngOnInit() { }
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsRadioGroupComponent, selector: "app-cs-radio-group", ngImport: i0, template: "<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value"], outputs: ["checkedEvent"] }] });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsRadioGroupComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'app-cs-radio-group', template: "<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n<app-cs-radio>fefre</app-cs-radio>\r\n" }]
|
|
13
|
+
}], ctorParameters: function () { return []; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3MtcmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL3VpLWtpdC9mb3JtZ3JvdXAvY3MtcmFkaW8tZ3JvdXAvY3MtcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL3VpLWtpdC9mb3JtZ3JvdXAvY3MtcmFkaW8tZ3JvdXAvY3MtcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2xELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzt3R0FIUixxQkFBcUI7NEZBQXJCLHFCQUFxQiwwRENQbEMsMEpBSUE7OzRGREdhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY3MtcmFkaW8tZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcy1yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3MtcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENzUmFkaW9Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcbn1cclxuIiwiPGFwcC1jcy1yYWRpbz5mZWZyZTwvYXBwLWNzLXJhZGlvPlxyXG48YXBwLWNzLXJhZGlvPmZlZnJlPC9hcHAtY3MtcmFkaW8+XHJcbjxhcHAtY3MtcmFkaW8+ZmVmcmU8L2FwcC1jcy1yYWRpbz5cclxuPGFwcC1jcy1yYWRpbz5mZWZyZTwvYXBwLWNzLXJhZGlvPlxyXG4iXX0=
|
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../click-outside.directive";
|
|
5
|
-
import * as i3 from "../pipes/pascal.pipe";
|
|
6
|
-
export class CsFormSelectComponent {
|
|
7
|
-
dataList;
|
|
8
|
-
dropdownLabel;
|
|
9
|
-
displayProperty;
|
|
10
|
-
selectedValue;
|
|
11
|
-
isRequired;
|
|
12
|
-
dropdownSubLabel;
|
|
13
|
-
disabled;
|
|
14
|
-
option;
|
|
15
|
-
selectedData = new EventEmitter();
|
|
16
|
-
selectedValueChange = new EventEmitter();
|
|
17
|
-
placeholder;
|
|
18
|
-
stylex;
|
|
19
|
-
valueKey;
|
|
20
|
-
multipleSelect;
|
|
21
|
-
colorProperty;
|
|
22
|
-
colorSelected;
|
|
23
|
-
colorCode;
|
|
24
|
-
dropdownOption = false;
|
|
25
|
-
positionReset;
|
|
26
|
-
getLeft;
|
|
27
|
-
getTop;
|
|
28
|
-
getWidth;
|
|
29
|
-
maxWidth;
|
|
30
|
-
activeDoropdown = false;
|
|
31
|
-
optionList;
|
|
32
|
-
set content(content) {
|
|
33
|
-
if (content) {
|
|
34
|
-
// initially setter gets called with undefined
|
|
35
|
-
this.optionList = content;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
ngOnChanges(changes) {
|
|
39
|
-
if (changes.selectedValue) {
|
|
40
|
-
this.selectedValue = this.selectedValue || '--';
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
openDropdown(event) {
|
|
44
|
-
this.dropdownOption = true;
|
|
45
|
-
setTimeout(() => {
|
|
46
|
-
const dropdown = event.target.getBoundingClientRect();
|
|
47
|
-
const selectOption = this.optionList.nativeElement.offsetHeight;
|
|
48
|
-
if (dropdown.top + selectOption * 2 > window.innerHeight) {
|
|
49
|
-
this.getTop = dropdown.top - selectOption;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
this.getTop = dropdown.top + dropdown.height;
|
|
53
|
-
}
|
|
54
|
-
this.getLeft = dropdown.left;
|
|
55
|
-
this.getWidth = dropdown.width;
|
|
56
|
-
this.maxWidth = dropdown.width * 1.25;
|
|
57
|
-
}, 10);
|
|
58
|
-
setTimeout(() => {
|
|
59
|
-
this.activeDoropdown = true;
|
|
60
|
-
}, 100);
|
|
61
|
-
}
|
|
62
|
-
selectOption(selectedData) {
|
|
63
|
-
if (typeof selectedData === 'object') {
|
|
64
|
-
this.selectedValue = selectedData[this.displayProperty];
|
|
65
|
-
this.colorSelected = selectedData[this.colorProperty];
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
this.selectedValue = selectedData;
|
|
69
|
-
}
|
|
70
|
-
this.selectedData.emit(selectedData);
|
|
71
|
-
this.dropdownOption = false;
|
|
72
|
-
}
|
|
73
|
-
closeDropdown() {
|
|
74
|
-
this.dropdownOption = false;
|
|
75
|
-
}
|
|
76
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsFormSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsFormSelectComponent, selector: "app-cs-select", inputs: { dataList: "dataList", dropdownLabel: "dropdownLabel", displayProperty: "displayProperty", selectedValue: "selectedValue", isRequired: "isRequired", dropdownSubLabel: "dropdownSubLabel", disabled: "disabled", placeholder: "placeholder", stylex: "stylex", valueKey: "valueKey", multipleSelect: "multipleSelect", colorProperty: "colorProperty", colorSelected: "colorSelected" }, outputs: { selectedData: "selectedData", selectedValueChange: "selectedValueChange" }, viewQueries: [{ propertyName: "option", first: true, predicate: ["option"], descendants: true }, { propertyName: "content", first: true, predicate: ["optionList"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\n <label *ngIf=\"dropdownLabel != undefined\">\n {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span> <span class=\"required\" *ngIf=\"isRequired\">*</span></label\n >\n <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\n <input\n type=\"text\"\n [class.line]=\"stylex\"\n [placeholder]=\"placeholder\"\n [value]=\"selectedValue | pascal\"\n readonly\n (click)=\"openDropdown($event)\"\n (keyup.enter)=\"openDropdown($event)\"\n (keyup.arrowup)=\"openDropdown($event)\"\n (keyup.arrowdown)=\"openDropdown($event)\"\n *ngIf=\"!colorProperty\"\n />\n <span class=\"show-label\" *ngIf=\"colorProperty\" (click)=\"openDropdown($event)\">\n <span class=\"label\" [innerHTML]=\"selectedValue\" [style.backgroundColor]=\"colorSelected + '1A'\" [style.color]=\"colorSelected\"></span>\n </span>\n <span class=\"arrow\" [class.line]=\"stylex\">\n <i class=\"risk-icons\"></i>\n </span>\n <div class=\"overlay active\" *ngIf=\"dropdownOption === true\" (click)=\"closeDropdown()\"></div>\n <ul\n class=\"list-of-option\"\n *ngIf=\"dropdownOption === true && !colorProperty\"\n #optionList\n (keyup.Escape)=\"closeDropdown()\"\n [style.top.px]=\"getTop\"\n [style.left.px]=\"getLeft\"\n [style.min-width.px]=\"getWidth\"\n [style.max-width.px]=\"maxWidth\"\n [class.active]=\"activeDoropdown\"\n >\n <li *ngFor=\"let data of dataList\">\n <label>\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (change)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"displayProperty && displayProperty !== ''\" class=\"value\">{{ data[displayProperty] }}</span>\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"!displayProperty || displayProperty === ''\" class=\"value\">{{ data }}</span>\n </label>\n </li>\n </ul>\n <ul\n class=\"list-of-option\"\n *ngIf=\"dropdownOption === true && colorProperty\"\n #optionList\n (keyup.Escape)=\"closeDropdown()\"\n [style.top.px]=\"getTop\"\n [style.left.px]=\"getLeft\"\n [style.min-width.px]=\"getWidth\"\n [style.max-width.px]=\"maxWidth\"\n [class.active]=\"activeDoropdown\"\n >\n <li *ngFor=\"let data of dataList\">\n <label class=\"colors\">\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (click)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\n <span\n (click)=\"selectOption(data)\"\n *ngIf=\"displayProperty && displayProperty !== ''\"\n class=\"value\"\n [ngStyle]=\"{ color: data.segment_color }\"\n [style.backgroundColor]=\"data.segment_color + '1A'\"\n >{{ data[displayProperty] }}</span\n >\n <span\n (click)=\"selectOption(data)\"\n *ngIf=\"!displayProperty || displayProperty === ''\"\n class=\"value\"\n [ngStyle]=\"{ color: data.segment_color }\"\n [style.backgroundColor]=\"data.segment_color + '1A'\"\n >{{ data }}</span\n >\n </label>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".input-group{position:relative;margin-bottom:0}.input-group label{font-size:11px;color:#161b2f;font-weight:500;line-height:16px;margin-bottom:5px;text-transform:uppercase;display:block}.input-group label span.required{color:#eb2424;font-size:14px}.input-group label span.sub-label{color:#747576;font-size:11px;font-weight:400;margin-left:3px}.input-group input[type=text],.input-group .show-label{height:36px;line-height:16px;font-size:13px;color:#747576;font-weight:400;background:#fff;border:1px solid #dbdbdb;border-radius:4px;width:100%;padding:10px 13px;display:block;outline:none;overflow:hidden;text-overflow:ellipsis}.input-group input[type=text].line,.input-group .show-label.line{border:none;border-bottom:1px solid #dbdbdb;border-radius:0;padding-left:0}.input-group .show-label{display:flex;padding:6px;padding-right:25px!important;cursor:pointer}.input-group .show-label .label{white-space:nowrap;padding:2px 5px;height:100%;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;text-transform:uppercase;font-size:11px;font-weight:600;line-height:15px;pointer-events:none}.input-group:focus-within input[type=text]{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd333}.input-group:focus-within input[type=text].line{box-shadow:none}.input-group .custom-select-box{position:relative}.input-group .custom-select-box input[type=text],.input-group .custom-select-box .input{cursor:pointer;padding-right:30px}.input-group .custom-select-box input[type=text].line,.input-group .custom-select-box .input.line{padding-right:20px}.input-group .custom-select-box.disabled{filter:grayscale(1);pointer-events:none}.input-group .arrow{position:absolute;right:17px;color:#747576;bottom:8px;font-size:10px;pointer-events:none}.input-group .arrow.line{right:5px}ul.list-of-option{position:fixed;overflow:auto;max-height:200px;padding:0;margin:0;display:block;border:1px solid #dbdbdb;box-shadow:0 3px 6px #1e5dd333;z-index:2147483002;background:#fff;border-radius:2px;opacity:0}ul.list-of-option.reset{top:inherit;bottom:100%;box-shadow:0 -3px 6px #1e5dd333}ul.list-of-option.active{opacity:1}ul.list-of-option li{width:100%;display:block;margin-bottom:0;padding:0;height:auto}ul.list-of-option li label{line-height:23px;font-size:13px;font-weight:400;border-radius:4px;display:flex;position:relative;margin:0;align-items:center}ul.list-of-option li label input[type=radio]{position:absolute;margin:0;height:100%;width:100%;opacity:0;left:0;cursor:pointer}ul.list-of-option li label input[type=radio]:checked+span,ul.list-of-option li label input[type=radio]:hover+span{background:#dcdcdc}ul.list-of-option li label span.value{color:#747576;font-size:14px;line-height:21px;font-weight:400;max-width:100%;white-space:nowrap;overflow:hidden;display:block;text-overflow:ellipsis;padding:5px 15px;width:100%;text-transform:none;cursor:pointer;text-align:left}ul.list-of-option li label.multiselect{padding:0 15px}ul.list-of-option li label.multiselect span.checkbox{display:inline-block;border:1px solid #dbdbdb;border-radius:2px;height:16px;width:16px;position:relative;padding:2px}ul.list-of-option li label input[type=checkbox]{position:absolute;margin:0;height:100%;width:100%;opacity:0;cursor:pointer}ul.list-of-option li label input[type=checkbox]:checked+span{background:#dcdcdc}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox{border-color:#34aa44;background:#34aa44}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox:after{width:8px;height:3px;border-bottom:2px solid #ffffff;border-left:2px solid #ffffff;transform:rotate(-45deg);content:\"\";position:absolute;top:3px;left:2px}ul.list-of-option li label.colors{padding:3px 5px}ul.list-of-option li label.colors span.value{padding:3px 6px;line-height:16px;font-size:11px;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "pipe", type: i3.PascalPipe, name: "pascal" }] });
|
|
78
|
-
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsFormSelectComponent, decorators: [{
|
|
80
|
-
type: Component,
|
|
81
|
-
args: [{ selector: 'app-cs-select', template: "<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\n <label *ngIf=\"dropdownLabel != undefined\">\n {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span> <span class=\"required\" *ngIf=\"isRequired\">*</span></label\n >\n <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\n <input\n type=\"text\"\n [class.line]=\"stylex\"\n [placeholder]=\"placeholder\"\n [value]=\"selectedValue | pascal\"\n readonly\n (click)=\"openDropdown($event)\"\n (keyup.enter)=\"openDropdown($event)\"\n (keyup.arrowup)=\"openDropdown($event)\"\n (keyup.arrowdown)=\"openDropdown($event)\"\n *ngIf=\"!colorProperty\"\n />\n <span class=\"show-label\" *ngIf=\"colorProperty\" (click)=\"openDropdown($event)\">\n <span class=\"label\" [innerHTML]=\"selectedValue\" [style.backgroundColor]=\"colorSelected + '1A'\" [style.color]=\"colorSelected\"></span>\n </span>\n <span class=\"arrow\" [class.line]=\"stylex\">\n <i class=\"risk-icons\"></i>\n </span>\n <div class=\"overlay active\" *ngIf=\"dropdownOption === true\" (click)=\"closeDropdown()\"></div>\n <ul\n class=\"list-of-option\"\n *ngIf=\"dropdownOption === true && !colorProperty\"\n #optionList\n (keyup.Escape)=\"closeDropdown()\"\n [style.top.px]=\"getTop\"\n [style.left.px]=\"getLeft\"\n [style.min-width.px]=\"getWidth\"\n [style.max-width.px]=\"maxWidth\"\n [class.active]=\"activeDoropdown\"\n >\n <li *ngFor=\"let data of dataList\">\n <label>\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (change)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"displayProperty && displayProperty !== ''\" class=\"value\">{{ data[displayProperty] }}</span>\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"!displayProperty || displayProperty === ''\" class=\"value\">{{ data }}</span>\n </label>\n </li>\n </ul>\n <ul\n class=\"list-of-option\"\n *ngIf=\"dropdownOption === true && colorProperty\"\n #optionList\n (keyup.Escape)=\"closeDropdown()\"\n [style.top.px]=\"getTop\"\n [style.left.px]=\"getLeft\"\n [style.min-width.px]=\"getWidth\"\n [style.max-width.px]=\"maxWidth\"\n [class.active]=\"activeDoropdown\"\n >\n <li *ngFor=\"let data of dataList\">\n <label class=\"colors\">\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (click)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\n <span\n (click)=\"selectOption(data)\"\n *ngIf=\"displayProperty && displayProperty !== ''\"\n class=\"value\"\n [ngStyle]=\"{ color: data.segment_color }\"\n [style.backgroundColor]=\"data.segment_color + '1A'\"\n >{{ data[displayProperty] }}</span\n >\n <span\n (click)=\"selectOption(data)\"\n *ngIf=\"!displayProperty || displayProperty === ''\"\n class=\"value\"\n [ngStyle]=\"{ color: data.segment_color }\"\n [style.backgroundColor]=\"data.segment_color + '1A'\"\n >{{ data }}</span\n >\n </label>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".input-group{position:relative;margin-bottom:0}.input-group label{font-size:11px;color:#161b2f;font-weight:500;line-height:16px;margin-bottom:5px;text-transform:uppercase;display:block}.input-group label span.required{color:#eb2424;font-size:14px}.input-group label span.sub-label{color:#747576;font-size:11px;font-weight:400;margin-left:3px}.input-group input[type=text],.input-group .show-label{height:36px;line-height:16px;font-size:13px;color:#747576;font-weight:400;background:#fff;border:1px solid #dbdbdb;border-radius:4px;width:100%;padding:10px 13px;display:block;outline:none;overflow:hidden;text-overflow:ellipsis}.input-group input[type=text].line,.input-group .show-label.line{border:none;border-bottom:1px solid #dbdbdb;border-radius:0;padding-left:0}.input-group .show-label{display:flex;padding:6px;padding-right:25px!important;cursor:pointer}.input-group .show-label .label{white-space:nowrap;padding:2px 5px;height:100%;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;text-transform:uppercase;font-size:11px;font-weight:600;line-height:15px;pointer-events:none}.input-group:focus-within input[type=text]{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd333}.input-group:focus-within input[type=text].line{box-shadow:none}.input-group .custom-select-box{position:relative}.input-group .custom-select-box input[type=text],.input-group .custom-select-box .input{cursor:pointer;padding-right:30px}.input-group .custom-select-box input[type=text].line,.input-group .custom-select-box .input.line{padding-right:20px}.input-group .custom-select-box.disabled{filter:grayscale(1);pointer-events:none}.input-group .arrow{position:absolute;right:17px;color:#747576;bottom:8px;font-size:10px;pointer-events:none}.input-group .arrow.line{right:5px}ul.list-of-option{position:fixed;overflow:auto;max-height:200px;padding:0;margin:0;display:block;border:1px solid #dbdbdb;box-shadow:0 3px 6px #1e5dd333;z-index:2147483002;background:#fff;border-radius:2px;opacity:0}ul.list-of-option.reset{top:inherit;bottom:100%;box-shadow:0 -3px 6px #1e5dd333}ul.list-of-option.active{opacity:1}ul.list-of-option li{width:100%;display:block;margin-bottom:0;padding:0;height:auto}ul.list-of-option li label{line-height:23px;font-size:13px;font-weight:400;border-radius:4px;display:flex;position:relative;margin:0;align-items:center}ul.list-of-option li label input[type=radio]{position:absolute;margin:0;height:100%;width:100%;opacity:0;left:0;cursor:pointer}ul.list-of-option li label input[type=radio]:checked+span,ul.list-of-option li label input[type=radio]:hover+span{background:#dcdcdc}ul.list-of-option li label span.value{color:#747576;font-size:14px;line-height:21px;font-weight:400;max-width:100%;white-space:nowrap;overflow:hidden;display:block;text-overflow:ellipsis;padding:5px 15px;width:100%;text-transform:none;cursor:pointer;text-align:left}ul.list-of-option li label.multiselect{padding:0 15px}ul.list-of-option li label.multiselect span.checkbox{display:inline-block;border:1px solid #dbdbdb;border-radius:2px;height:16px;width:16px;position:relative;padding:2px}ul.list-of-option li label input[type=checkbox]{position:absolute;margin:0;height:100%;width:100%;opacity:0;cursor:pointer}ul.list-of-option li label input[type=checkbox]:checked+span{background:#dcdcdc}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox{border-color:#34aa44;background:#34aa44}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox:after{width:8px;height:3px;border-bottom:2px solid #ffffff;border-left:2px solid #ffffff;transform:rotate(-45deg);content:\"\";position:absolute;top:3px;left:2px}ul.list-of-option li label.colors{padding:3px 5px}ul.list-of-option li label.colors span.value{padding:3px 6px;line-height:16px;font-size:11px;font-weight:600}\n"] }]
|
|
82
|
-
}], propDecorators: { dataList: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}], dropdownLabel: [{
|
|
85
|
-
type: Input
|
|
86
|
-
}], displayProperty: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], selectedValue: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], isRequired: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], dropdownSubLabel: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], disabled: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], option: [{
|
|
97
|
-
type: ViewChild,
|
|
98
|
-
args: ['option']
|
|
99
|
-
}], selectedData: [{
|
|
100
|
-
type: Output
|
|
101
|
-
}], selectedValueChange: [{
|
|
102
|
-
type: Output
|
|
103
|
-
}], placeholder: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], stylex: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], valueKey: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], multipleSelect: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], colorProperty: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], colorSelected: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], content: [{
|
|
116
|
-
type: ViewChild,
|
|
117
|
-
args: ['optionList']
|
|
118
|
-
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Mtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi91aS1raXQvZm9ybWdyb3VwL2NzLXNlbGVjdC9jcy1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL3VpLWtpdC9mb3JtZ3JvdXAvY3Mtc2VsZWN0L2NzLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPdkIsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixRQUFRLENBQVM7SUFDakIsYUFBYSxDQUFVO0lBQ3ZCLGVBQWUsQ0FBVTtJQUN6QixhQUFhLENBQVU7SUFDdkIsVUFBVSxDQUFXO0lBQ3JCLGdCQUFnQixDQUFVO0lBQzFCLFFBQVEsQ0FBVztJQUNQLE1BQU0sQ0FBYztJQUUvQixZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNsQyxtQkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzFDLFdBQVcsQ0FBTTtJQUNqQixNQUFNLENBQU07SUFDWixRQUFRLENBQU07SUFDZCxjQUFjLENBQU07SUFDcEIsYUFBYSxDQUFVO0lBRXZCLGFBQWEsQ0FBVTtJQUNoQyxTQUFTLENBQVU7SUFFbkIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixhQUFhLENBQVc7SUFDeEIsT0FBTyxDQUFVO0lBQ2pCLE1BQU0sQ0FBVTtJQUNoQixRQUFRLENBQVU7SUFDbEIsUUFBUSxDQUFVO0lBQ2xCLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFFaEIsVUFBVSxDQUFjO0lBRWhDLElBQTZCLE9BQU8sQ0FB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ZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jcy1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3Mtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3Mtc2VsZWN0LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENzRm9ybVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGRhdGFMaXN0ITogYW55W107XG4gIEBJbnB1dCgpIGRyb3Bkb3duTGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc3BsYXlQcm9wZXJ0eSE6IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZSE6IHN0cmluZztcbiAgQElucHV0KCkgaXNSZXF1aXJlZCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRyb3Bkb3duU3ViTGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkITogYm9vbGVhbjtcbiAgQFZpZXdDaGlsZCgnb3B0aW9uJykgb3B0aW9uITogRWxlbWVudFJlZjtcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWREYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IGFueTtcbiAgQElucHV0KCkgc3R5bGV4OiBhbnk7XG4gIEBJbnB1dCgpIHZhbHVlS2V5OiBhbnk7XG4gIEBJbnB1dCgpIG11bHRpcGxlU2VsZWN0OiBhbnk7XG4gIEBJbnB1dCgpIGNvbG9yUHJvcGVydHkhOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgY29sb3JTZWxlY3RlZCE6IHN0cmluZztcbiAgY29sb3JDb2RlITogc3RyaW5nO1xuXG4gIGRyb3Bkb3duT3B0aW9uID0gZmFsc2U7XG4gIHBvc2l0aW9uUmVzZXQhOiBib29sZWFuO1xuICBnZXRMZWZ0ITogbnVtYmVyO1xuICBnZXRUb3AhOiBudW1iZXI7XG4gIGdldFdpZHRoITogbnVtYmVyO1xuICBtYXhXaWR0aCE6IG51bWJlcjtcbiAgYWN0aXZlRG9yb3Bkb3duID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBvcHRpb25MaXN0ITogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdvcHRpb25MaXN0Jykgc2V0IGNvbnRlbnQoY29udGVudDogRWxlbWVudFJlZikge1xuICAgIGlmIChjb250ZW50KSB7XG4gICAgICAvLyBpbml0aWFsbHkgc2V0dGVyIGdldHMgY2FsbGVkIHdpdGggdW5kZWZpbmVkXG4gICAgICB0aGlzLm9wdGlvbkxpc3QgPSBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnNlbGVjdGVkVmFsdWUgfHwgJy0tJztcbiAgICB9XG4gIH1cblxuICBvcGVuRHJvcGRvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25PcHRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgZHJvcGRvd24gPSBldmVudC50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBzZWxlY3RPcHRpb24gPSB0aGlzLm9wdGlvbkxpc3QubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICBpZiAoZHJvcGRvd24udG9wICsgc2VsZWN0T3B0aW9uICogMiA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xuICAgICAgICB0aGlzLmdldFRvcCA9IGRyb3Bkb3duLnRvcCAtIHNlbGVjdE9wdGlvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZ2V0VG9wID0gZHJvcGRvd24udG9wICsgZHJvcGRvd24uaGVpZ2h0O1xuICAgICAgfVxuICAgICAgdGhpcy5nZXRMZWZ0ID0gZHJvcGRvd24ubGVmdDtcbiAgICAgIHRoaXMuZ2V0V2lkdGggPSBkcm9wZG93bi53aWR0aDtcbiAgICAgIHRoaXMubWF4V2lkdGggPSBkcm9wZG93bi53aWR0aCAqIDEuMjU7XG4gICAgfSwgMTApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVEb3JvcGRvd24gPSB0cnVlO1xuICAgIH0sIDEwMCk7XG4gIH1cbiAgc2VsZWN0T3B0aW9uKHNlbGVjdGVkRGF0YTogYW55KSB7XG4gICAgaWYgKHR5cGVvZiBzZWxlY3RlZERhdGEgPT09ICdvYmplY3QnKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZERhdGFbdGhpcy5kaXNwbGF5UHJvcGVydHldO1xuICAgICAgdGhpcy5jb2xvclNlbGVjdGVkID0gc2VsZWN0ZWREYXRhW3RoaXMuY29sb3JQcm9wZXJ0eV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHNlbGVjdGVkRGF0YTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZERhdGEuZW1pdChzZWxlY3RlZERhdGEpO1xuICAgIHRoaXMuZHJvcGRvd25PcHRpb24gPSBmYWxzZTtcbiAgfVxuICBjbG9zZURyb3Bkb3duKCkge1xuICAgIHRoaXMuZHJvcGRvd25PcHRpb24gPSBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgKGNsaWNrT3V0c2lkZSk9XCJkcm9wZG93bk9wdGlvbiA9IGZhbHNlXCI+XG4gIDxsYWJlbCAqbmdJZj1cImRyb3Bkb3duTGFiZWwgIT0gdW5kZWZpbmVkXCI+XG4gICAge3sgZHJvcGRvd25MYWJlbCB9fSA8c3BhbiBjbGFzcz1cInN1Yi1sYWJlbFwiPnt7IGRyb3Bkb3duU3ViTGFiZWwgfX08L3NwYW4+IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIiAqbmdJZj1cImlzUmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWxcbiAgPlxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1ib3hcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFtjbGFzcy5saW5lXT1cInN0eWxleFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkVmFsdWUgfCBwYXNjYWxcIlxuICAgICAgcmVhZG9ubHlcbiAgICAgIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib3BlbkRyb3Bkb3duKCRldmVudClcIlxuICAgICAgKGtleXVwLmFycm93dXApPVwib3BlbkRyb3Bkb3duKCRldmVudClcIlxuICAgICAgKGtleXVwLmFycm93ZG93bik9XCJvcGVuRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAqbmdJZj1cIiFjb2xvclByb3BlcnR5XCJcbiAgICAvPlxuICAgIDxzcGFuIGNsYXNzPVwic2hvdy1sYWJlbFwiICpuZ0lmPVwiY29sb3JQcm9wZXJ0eVwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50KVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFtpbm5lckhUTUxdPVwic2VsZWN0ZWRWYWx1ZVwiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiY29sb3JTZWxlY3RlZCArICcxQSdcIiBbc3R5bGUuY29sb3JdPVwiY29sb3JTZWxlY3RlZFwiPjwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJhcnJvd1wiIFtjbGFzcy5saW5lXT1cInN0eWxleFwiPlxuICAgICAgPGkgY2xhc3M9XCJyaXNrLWljb25zXCI+JiN4ZTkxOTs8L2k+XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5IGFjdGl2ZVwiICpuZ0lmPVwiZHJvcGRvd25PcHRpb24gPT09IHRydWVcIiAoY2xpY2spPVwiY2xvc2VEcm9wZG93bigpXCI+PC9kaXY+XG4gICAgPHVsXG4gICAgICBjbGFzcz1cImxpc3Qtb2Ytb3B0aW9uXCJcbiAgICAgICpuZ0lmPVwiZHJvcGRvd25PcHRpb24gPT09IHRydWUgJiYgIWNvbG9yUHJvcGVydHlcIlxuICAgICAgI29wdGlvbkxpc3RcbiAgICAgIChrZXl1cC5Fc2NhcGUpPVwiY2xvc2VEcm9wZG93bigpXCJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwiZ2V0VG9wXCJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldExlZnRcIlxuICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJnZXRXaWR0aFwiXG4gICAgICBbc3R5bGUubWF4LXdpZHRoLnB4XT1cIm1heFdpZHRoXCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlRG9yb3Bkb3duXCJcbiAgICA+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGRhdGEgb2YgZGF0YUxpc3RcIj5cbiAgICAgICAgPGxhYmVsPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiZGF0YVt2YWx1ZUtleV1cIiBuYW1lPVwic2xpY2VMYWJlbFwiIChjaGFuZ2UpPVwic2VsZWN0T3B0aW9uKGRhdGEpXCIgI29wdGlvbiAoa2V5dXAuZW50ZXIpPVwiY2xvc2VEcm9wZG93bigpXCIgY2xhc3M9XCJwb2ludGVyLW5vbmVcIiAvPlxuICAgICAgICAgIDxzcGFuIChjbGljayk9XCJjbG9zZURyb3Bkb3duKCk7IHNlbGVjdE9wdGlvbihkYXRhKVwiICpuZ0lmPVwiZGlzcGxheVByb3BlcnR5ICYmIGRpc3BsYXlQcm9wZXJ0eSAhPT0gJydcIiBjbGFzcz1cInZhbHVlXCI+e3sgZGF0YVtkaXNwbGF5UHJvcGVydHldIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIChjbGljayk9XCJjbG9zZURyb3Bkb3duKCk7IHNlbGVjdE9wdGlvbihkYXRhKVwiICpuZ0lmPVwiIWRpc3BsYXlQcm9wZXJ0eSB8fCBkaXNwbGF5UHJvcGVydHkgPT09ICcnXCIgY2xhc3M9XCJ2YWx1ZVwiPnt7IGRhdGEgfX08L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gICAgPHVsXG4gICAgICBjbGFzcz1cImxpc3Qtb2Ytb3B0aW9uXCJcbiAgICAgICpuZ0lmPVwiZHJvcGRvd25PcHRpb24gPT09IHRydWUgJiYgY29sb3JQcm9wZXJ0eVwiXG4gICAgICAjb3B0aW9uTGlzdFxuICAgICAgKGtleXVwLkVzY2FwZSk9XCJjbG9zZURyb3Bkb3duKClcIlxuICAgICAgW3N0eWxlLnRvcC5weF09XCJnZXRUb3BcIlxuICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0TGVmdFwiXG4gICAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cImdldFdpZHRoXCJcbiAgICAgIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwibWF4V2lkdGhcIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVEb3JvcGRvd25cIlxuICAgID5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZGF0YSBvZiBkYXRhTGlzdFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2xvcnNcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cImRhdGFbdmFsdWVLZXldXCIgbmFtZT1cInNsaWNlTGFiZWxcIiAoY2xpY2spPVwic2VsZWN0T3B0aW9uKGRhdGEpXCIgI29wdGlvbiAoa2V5dXAuZW50ZXIpPVwiY2xvc2VEcm9wZG93bigpXCIgY2xhc3M9XCJwb2ludGVyLW5vbmVcIiAvPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKGRhdGEpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheVByb3BlcnR5ICYmIGRpc3BsYXlQcm9wZXJ0eSAhPT0gJydcIlxuICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBkYXRhLnNlZ21lbnRfY29sb3IgfVwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImRhdGEuc2VnbWVudF9jb2xvciArICcxQSdcIlxuICAgICAgICAgICAgPnt7IGRhdGFbZGlzcGxheVByb3BlcnR5XSB9fTwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihkYXRhKVwiXG4gICAgICAgICAgICAqbmdJZj1cIiFkaXNwbGF5UHJvcGVydHkgfHwgZGlzcGxheVByb3BlcnR5ID09PSAnJ1wiXG4gICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6IGRhdGEuc2VnbWVudF9jb2xvciB9XCJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiZGF0YS5zZWdtZW50X2NvbG9yICsgJzFBJ1wiXG4gICAgICAgICAgICA+e3sgZGF0YSB9fTwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../click-outside.directive";
|
|
5
|
+
import * as i3 from "../pipes/pascal.pipe";
|
|
6
|
+
export class CsFormSelectComponent {
|
|
7
|
+
dataList;
|
|
8
|
+
dropdownLabel;
|
|
9
|
+
displayProperty;
|
|
10
|
+
selectedValue;
|
|
11
|
+
isRequired;
|
|
12
|
+
dropdownSubLabel;
|
|
13
|
+
disabled;
|
|
14
|
+
option;
|
|
15
|
+
selectedData = new EventEmitter();
|
|
16
|
+
selectedValueChange = new EventEmitter();
|
|
17
|
+
placeholder;
|
|
18
|
+
stylex;
|
|
19
|
+
valueKey;
|
|
20
|
+
multipleSelect;
|
|
21
|
+
colorProperty;
|
|
22
|
+
colorSelected;
|
|
23
|
+
colorCode;
|
|
24
|
+
dropdownOption = false;
|
|
25
|
+
positionReset;
|
|
26
|
+
getLeft;
|
|
27
|
+
getTop;
|
|
28
|
+
getWidth;
|
|
29
|
+
maxWidth;
|
|
30
|
+
activeDoropdown = false;
|
|
31
|
+
optionList;
|
|
32
|
+
set content(content) {
|
|
33
|
+
if (content) {
|
|
34
|
+
// initially setter gets called with undefined
|
|
35
|
+
this.optionList = content;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
ngOnChanges(changes) {
|
|
39
|
+
if (changes.selectedValue) {
|
|
40
|
+
this.selectedValue = this.selectedValue || '--';
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
openDropdown(event) {
|
|
44
|
+
this.dropdownOption = true;
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
const dropdown = event.target.getBoundingClientRect();
|
|
47
|
+
const selectOption = this.optionList.nativeElement.offsetHeight;
|
|
48
|
+
if (dropdown.top + selectOption * 2 > window.innerHeight) {
|
|
49
|
+
this.getTop = dropdown.top - selectOption;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.getTop = dropdown.top + dropdown.height;
|
|
53
|
+
}
|
|
54
|
+
this.getLeft = dropdown.left;
|
|
55
|
+
this.getWidth = dropdown.width;
|
|
56
|
+
this.maxWidth = dropdown.width * 1.25;
|
|
57
|
+
}, 10);
|
|
58
|
+
setTimeout(() => {
|
|
59
|
+
this.activeDoropdown = true;
|
|
60
|
+
}, 100);
|
|
61
|
+
}
|
|
62
|
+
selectOption(selectedData) {
|
|
63
|
+
if (typeof selectedData === 'object') {
|
|
64
|
+
this.selectedValue = selectedData[this.displayProperty];
|
|
65
|
+
this.colorSelected = selectedData[this.colorProperty];
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.selectedValue = selectedData;
|
|
69
|
+
}
|
|
70
|
+
this.selectedData.emit(selectedData);
|
|
71
|
+
this.dropdownOption = false;
|
|
72
|
+
}
|
|
73
|
+
closeDropdown() {
|
|
74
|
+
this.dropdownOption = false;
|
|
75
|
+
}
|
|
76
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsFormSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CsFormSelectComponent, selector: "app-cs-select", inputs: { dataList: "dataList", dropdownLabel: "dropdownLabel", displayProperty: "displayProperty", selectedValue: "selectedValue", isRequired: "isRequired", dropdownSubLabel: "dropdownSubLabel", disabled: "disabled", placeholder: "placeholder", stylex: "stylex", valueKey: "valueKey", multipleSelect: "multipleSelect", colorProperty: "colorProperty", colorSelected: "colorSelected" }, outputs: { selectedData: "selectedData", selectedValueChange: "selectedValueChange" }, viewQueries: [{ propertyName: "option", first: true, predicate: ["option"], descendants: true }, { propertyName: "content", first: true, predicate: ["optionList"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\r\n <label *ngIf=\"dropdownLabel != undefined\">\r\n {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span> <span class=\"required\" *ngIf=\"isRequired\">*</span></label\r\n >\r\n <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\r\n <input\r\n type=\"text\"\r\n [class.line]=\"stylex\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"selectedValue | pascal\"\r\n readonly\r\n (click)=\"openDropdown($event)\"\r\n (keyup.enter)=\"openDropdown($event)\"\r\n (keyup.arrowup)=\"openDropdown($event)\"\r\n (keyup.arrowdown)=\"openDropdown($event)\"\r\n *ngIf=\"!colorProperty\"\r\n />\r\n <span class=\"show-label\" *ngIf=\"colorProperty\" (click)=\"openDropdown($event)\">\r\n <span class=\"label\" [innerHTML]=\"selectedValue\" [style.backgroundColor]=\"colorSelected + '1A'\" [style.color]=\"colorSelected\"></span>\r\n </span>\r\n <span class=\"arrow\" [class.line]=\"stylex\">\r\n <i class=\"risk-icons\"></i>\r\n </span>\r\n <div class=\"overlay active\" *ngIf=\"dropdownOption === true\" (click)=\"closeDropdown()\"></div>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && !colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label>\r\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (change)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\r\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"displayProperty && displayProperty !== ''\" class=\"value\">{{ data[displayProperty] }}</span>\r\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"!displayProperty || displayProperty === ''\" class=\"value\">{{ data }}</span>\r\n </label>\r\n </li>\r\n </ul>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label class=\"colors\">\r\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (click)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"displayProperty && displayProperty !== ''\"\r\n class=\"value\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data[displayProperty] }}</span\r\n >\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"!displayProperty || displayProperty === ''\"\r\n class=\"value\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data }}</span\r\n >\r\n </label>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [".input-group{position:relative;margin-bottom:0}.input-group label{font-size:11px;color:#161b2f;font-weight:500;line-height:16px;margin-bottom:5px;text-transform:uppercase;display:block}.input-group label span.required{color:#eb2424;font-size:14px}.input-group label span.sub-label{color:#747576;font-size:11px;font-weight:400;margin-left:3px}.input-group input[type=text],.input-group .show-label{height:36px;line-height:16px;font-size:13px;color:#747576;font-weight:400;background:#fff;border:1px solid #dbdbdb;border-radius:4px;width:100%;padding:10px 13px;display:block;outline:none;overflow:hidden;text-overflow:ellipsis}.input-group input[type=text].line,.input-group .show-label.line{border:none;border-bottom:1px solid #dbdbdb;border-radius:0;padding-left:0}.input-group .show-label{display:flex;padding:6px;padding-right:25px!important;cursor:pointer}.input-group .show-label .label{white-space:nowrap;padding:2px 5px;height:100%;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;text-transform:uppercase;font-size:11px;font-weight:600;line-height:15px;pointer-events:none}.input-group:focus-within input[type=text]{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd333}.input-group:focus-within input[type=text].line{box-shadow:none}.input-group .custom-select-box{position:relative}.input-group .custom-select-box input[type=text],.input-group .custom-select-box .input{cursor:pointer;padding-right:30px}.input-group .custom-select-box input[type=text].line,.input-group .custom-select-box .input.line{padding-right:20px}.input-group .custom-select-box.disabled{filter:grayscale(1);pointer-events:none}.input-group .arrow{position:absolute;right:17px;color:#747576;bottom:8px;font-size:10px;pointer-events:none}.input-group .arrow.line{right:5px}ul.list-of-option{position:fixed;overflow:auto;max-height:200px;padding:0;margin:0;display:block;border:1px solid #dbdbdb;box-shadow:0 3px 6px #1e5dd333;z-index:2147483002;background:#fff;border-radius:2px;opacity:0}ul.list-of-option.reset{top:inherit;bottom:100%;box-shadow:0 -3px 6px #1e5dd333}ul.list-of-option.active{opacity:1}ul.list-of-option li{width:100%;display:block;margin-bottom:0;padding:0;height:auto}ul.list-of-option li label{line-height:23px;font-size:13px;font-weight:400;border-radius:4px;display:flex;position:relative;margin:0;align-items:center}ul.list-of-option li label input[type=radio]{position:absolute;margin:0;height:100%;width:100%;opacity:0;left:0;cursor:pointer}ul.list-of-option li label input[type=radio]:checked+span,ul.list-of-option li label input[type=radio]:hover+span{background:#dcdcdc}ul.list-of-option li label span.value{color:#747576;font-size:14px;line-height:21px;font-weight:400;max-width:100%;white-space:nowrap;overflow:hidden;display:block;text-overflow:ellipsis;padding:5px 15px;width:100%;text-transform:none;cursor:pointer;text-align:left}ul.list-of-option li label.multiselect{padding:0 15px}ul.list-of-option li label.multiselect span.checkbox{display:inline-block;border:1px solid #dbdbdb;border-radius:2px;height:16px;width:16px;position:relative;padding:2px}ul.list-of-option li label input[type=checkbox]{position:absolute;margin:0;height:100%;width:100%;opacity:0;cursor:pointer}ul.list-of-option li label input[type=checkbox]:checked+span{background:#dcdcdc}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox{border-color:#34aa44;background:#34aa44}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox:after{width:8px;height:3px;border-bottom:2px solid #ffffff;border-left:2px solid #ffffff;transform:rotate(-45deg);content:\"\";position:absolute;top:3px;left:2px}ul.list-of-option li label.colors{padding:3px 5px}ul.list-of-option li label.colors span.value{padding:3px 6px;line-height:16px;font-size:11px;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "pipe", type: i3.PascalPipe, name: "pascal" }] });
|
|
78
|
+
}
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CsFormSelectComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ selector: 'app-cs-select', template: "<div class=\"input-group\" (clickOutside)=\"dropdownOption = false\">\r\n <label *ngIf=\"dropdownLabel != undefined\">\r\n {{ dropdownLabel }} <span class=\"sub-label\">{{ dropdownSubLabel }}</span> <span class=\"required\" *ngIf=\"isRequired\">*</span></label\r\n >\r\n <div class=\"custom-select-box\" [class.disabled]=\"disabled\">\r\n <input\r\n type=\"text\"\r\n [class.line]=\"stylex\"\r\n [placeholder]=\"placeholder\"\r\n [value]=\"selectedValue | pascal\"\r\n readonly\r\n (click)=\"openDropdown($event)\"\r\n (keyup.enter)=\"openDropdown($event)\"\r\n (keyup.arrowup)=\"openDropdown($event)\"\r\n (keyup.arrowdown)=\"openDropdown($event)\"\r\n *ngIf=\"!colorProperty\"\r\n />\r\n <span class=\"show-label\" *ngIf=\"colorProperty\" (click)=\"openDropdown($event)\">\r\n <span class=\"label\" [innerHTML]=\"selectedValue\" [style.backgroundColor]=\"colorSelected + '1A'\" [style.color]=\"colorSelected\"></span>\r\n </span>\r\n <span class=\"arrow\" [class.line]=\"stylex\">\r\n <i class=\"risk-icons\"></i>\r\n </span>\r\n <div class=\"overlay active\" *ngIf=\"dropdownOption === true\" (click)=\"closeDropdown()\"></div>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && !colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label>\r\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (change)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\r\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"displayProperty && displayProperty !== ''\" class=\"value\">{{ data[displayProperty] }}</span>\r\n <span (click)=\"closeDropdown(); selectOption(data)\" *ngIf=\"!displayProperty || displayProperty === ''\" class=\"value\">{{ data }}</span>\r\n </label>\r\n </li>\r\n </ul>\r\n <ul\r\n class=\"list-of-option\"\r\n *ngIf=\"dropdownOption === true && colorProperty\"\r\n #optionList\r\n (keyup.Escape)=\"closeDropdown()\"\r\n [style.top.px]=\"getTop\"\r\n [style.left.px]=\"getLeft\"\r\n [style.min-width.px]=\"getWidth\"\r\n [style.max-width.px]=\"maxWidth\"\r\n [class.active]=\"activeDoropdown\"\r\n >\r\n <li *ngFor=\"let data of dataList\">\r\n <label class=\"colors\">\r\n <input type=\"radio\" [value]=\"data[valueKey]\" name=\"sliceLabel\" (click)=\"selectOption(data)\" #option (keyup.enter)=\"closeDropdown()\" class=\"pointer-none\" />\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"displayProperty && displayProperty !== ''\"\r\n class=\"value\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data[displayProperty] }}</span\r\n >\r\n <span\r\n (click)=\"selectOption(data)\"\r\n *ngIf=\"!displayProperty || displayProperty === ''\"\r\n class=\"value\"\r\n [ngStyle]=\"{ color: data.segment_color }\"\r\n [style.backgroundColor]=\"data.segment_color + '1A'\"\r\n >{{ data }}</span\r\n >\r\n </label>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: [".input-group{position:relative;margin-bottom:0}.input-group label{font-size:11px;color:#161b2f;font-weight:500;line-height:16px;margin-bottom:5px;text-transform:uppercase;display:block}.input-group label span.required{color:#eb2424;font-size:14px}.input-group label span.sub-label{color:#747576;font-size:11px;font-weight:400;margin-left:3px}.input-group input[type=text],.input-group .show-label{height:36px;line-height:16px;font-size:13px;color:#747576;font-weight:400;background:#fff;border:1px solid #dbdbdb;border-radius:4px;width:100%;padding:10px 13px;display:block;outline:none;overflow:hidden;text-overflow:ellipsis}.input-group input[type=text].line,.input-group .show-label.line{border:none;border-bottom:1px solid #dbdbdb;border-radius:0;padding-left:0}.input-group .show-label{display:flex;padding:6px;padding-right:25px!important;cursor:pointer}.input-group .show-label .label{white-space:nowrap;padding:2px 5px;height:100%;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;text-transform:uppercase;font-size:11px;font-weight:600;line-height:15px;pointer-events:none}.input-group:focus-within input[type=text]{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd333}.input-group:focus-within input[type=text].line{box-shadow:none}.input-group .custom-select-box{position:relative}.input-group .custom-select-box input[type=text],.input-group .custom-select-box .input{cursor:pointer;padding-right:30px}.input-group .custom-select-box input[type=text].line,.input-group .custom-select-box .input.line{padding-right:20px}.input-group .custom-select-box.disabled{filter:grayscale(1);pointer-events:none}.input-group .arrow{position:absolute;right:17px;color:#747576;bottom:8px;font-size:10px;pointer-events:none}.input-group .arrow.line{right:5px}ul.list-of-option{position:fixed;overflow:auto;max-height:200px;padding:0;margin:0;display:block;border:1px solid #dbdbdb;box-shadow:0 3px 6px #1e5dd333;z-index:2147483002;background:#fff;border-radius:2px;opacity:0}ul.list-of-option.reset{top:inherit;bottom:100%;box-shadow:0 -3px 6px #1e5dd333}ul.list-of-option.active{opacity:1}ul.list-of-option li{width:100%;display:block;margin-bottom:0;padding:0;height:auto}ul.list-of-option li label{line-height:23px;font-size:13px;font-weight:400;border-radius:4px;display:flex;position:relative;margin:0;align-items:center}ul.list-of-option li label input[type=radio]{position:absolute;margin:0;height:100%;width:100%;opacity:0;left:0;cursor:pointer}ul.list-of-option li label input[type=radio]:checked+span,ul.list-of-option li label input[type=radio]:hover+span{background:#dcdcdc}ul.list-of-option li label span.value{color:#747576;font-size:14px;line-height:21px;font-weight:400;max-width:100%;white-space:nowrap;overflow:hidden;display:block;text-overflow:ellipsis;padding:5px 15px;width:100%;text-transform:none;cursor:pointer;text-align:left}ul.list-of-option li label.multiselect{padding:0 15px}ul.list-of-option li label.multiselect span.checkbox{display:inline-block;border:1px solid #dbdbdb;border-radius:2px;height:16px;width:16px;position:relative;padding:2px}ul.list-of-option li label input[type=checkbox]{position:absolute;margin:0;height:100%;width:100%;opacity:0;cursor:pointer}ul.list-of-option li label input[type=checkbox]:checked+span{background:#dcdcdc}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox{border-color:#34aa44;background:#34aa44}ul.list-of-option li label input[type=checkbox]:checked+span.checkbox:after{width:8px;height:3px;border-bottom:2px solid #ffffff;border-left:2px solid #ffffff;transform:rotate(-45deg);content:\"\";position:absolute;top:3px;left:2px}ul.list-of-option li label.colors{padding:3px 5px}ul.list-of-option li label.colors span.value{padding:3px 6px;line-height:16px;font-size:11px;font-weight:600}\n"] }]
|
|
82
|
+
}], propDecorators: { dataList: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], dropdownLabel: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], displayProperty: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], selectedValue: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], isRequired: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], dropdownSubLabel: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], disabled: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], option: [{
|
|
97
|
+
type: ViewChild,
|
|
98
|
+
args: ['option']
|
|
99
|
+
}], selectedData: [{
|
|
100
|
+
type: Output
|
|
101
|
+
}], selectedValueChange: [{
|
|
102
|
+
type: Output
|
|
103
|
+
}], placeholder: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], stylex: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], valueKey: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], multipleSelect: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], colorProperty: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], colorSelected: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], content: [{
|
|
116
|
+
type: ViewChild,
|
|
117
|
+
args: ['optionList']
|
|
118
|
+
}] } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Mtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi91aS1raXQvZm9ybWdyb3VwL2NzLXNlbGVjdC9jcy1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL3VpLWtpdC9mb3JtZ3JvdXAvY3Mtc2VsZWN0L2NzLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPdkIsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixRQUFRLENBQVM7SUFDakIsYUFBYSxDQUFVO0lBQ3ZCLGVBQWUsQ0FBVTtJQUN6QixhQUFhLENBQVU7SUFDdkIsVUFBVSxDQUFXO0lBQ3JCLGdCQUFnQixDQUFVO0lBQzFCLFFBQVEsQ0FBVztJQUNQLE1BQU0sQ0FBYztJQUUvQixZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNsQyxtQkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzFDLFdBQVcsQ0FBTTtJQUNqQixNQUFNLENBQU07SUFDWixRQUFRLENBQU07SUFDZCxjQUFjLENBQU07SUFDcEIsYUFBYSxDQUFVO0lBRXZCLGFBQWEsQ0FBVTtJQUNoQyxTQUFTLENBQVU7SUFFbkIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixhQUFhLENBQVc7SUFDeEIsT0FBTyxDQUFVO0lBQ2pCLE1BQU0sQ0FBVTtJQUNoQixRQUFRLENBQVU7SUFDbEIsUUFBUSxDQUFVO0lBQ2xCLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFFaEIsVUFBVSxDQUFjO0lBRWhDLElBQTZCLE9BQU8sQ0FB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ZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jcy1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcy1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NzLXNlbGVjdC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3NGb3JtU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBkYXRhTGlzdCE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGRyb3Bkb3duTGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlzcGxheVByb3BlcnR5ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkVmFsdWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNSZXF1aXJlZCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZHJvcGRvd25TdWJMYWJlbCE6IHN0cmluZztcclxuICBASW5wdXQoKSBkaXNhYmxlZCE6IGJvb2xlYW47XHJcbiAgQFZpZXdDaGlsZCgnb3B0aW9uJykgb3B0aW9uITogRWxlbWVudFJlZjtcclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogYW55O1xyXG4gIEBJbnB1dCgpIHN0eWxleDogYW55O1xyXG4gIEBJbnB1dCgpIHZhbHVlS2V5OiBhbnk7XHJcbiAgQElucHV0KCkgbXVsdGlwbGVTZWxlY3Q6IGFueTtcclxuICBASW5wdXQoKSBjb2xvclByb3BlcnR5ITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBjb2xvclNlbGVjdGVkITogc3RyaW5nO1xyXG4gIGNvbG9yQ29kZSE6IHN0cmluZztcclxuXHJcbiAgZHJvcGRvd25PcHRpb24gPSBmYWxzZTtcclxuICBwb3NpdGlvblJlc2V0ITogYm9vbGVhbjtcclxuICBnZXRMZWZ0ITogbnVtYmVyO1xyXG4gIGdldFRvcCE6IG51bWJlcjtcclxuICBnZXRXaWR0aCE6IG51bWJlcjtcclxuICBtYXhXaWR0aCE6IG51bWJlcjtcclxuICBhY3RpdmVEb3JvcGRvd24gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBvcHRpb25MaXN0ITogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnb3B0aW9uTGlzdCcpIHNldCBjb250ZW50KGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcclxuICAgIGlmIChjb250ZW50KSB7XHJcbiAgICAgIC8vIGluaXRpYWxseSBzZXR0ZXIgZ2V0cyBjYWxsZWQgd2l0aCB1bmRlZmluZWRcclxuICAgICAgdGhpcy5vcHRpb25MaXN0ID0gY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLnNlbGVjdGVkVmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlIHx8ICctLSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuRHJvcGRvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5kcm9wZG93bk9wdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgZHJvcGRvd24gPSBldmVudC50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgIGNvbnN0IHNlbGVjdE9wdGlvbiA9IHRoaXMub3B0aW9uTGlzdC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgICAgaWYgKGRyb3Bkb3duLnRvcCArIHNlbGVjdE9wdGlvbiAqIDIgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcclxuICAgICAgICB0aGlzLmdldFRvcCA9IGRyb3Bkb3duLnRvcCAtIHNlbGVjdE9wdGlvbjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmdldFRvcCA9IGRyb3Bkb3duLnRvcCArIGRyb3Bkb3duLmhlaWdodDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldExlZnQgPSBkcm9wZG93bi5sZWZ0O1xyXG4gICAgICB0aGlzLmdldFdpZHRoID0gZHJvcGRvd24ud2lkdGg7XHJcbiAgICAgIHRoaXMubWF4V2lkdGggPSBkcm9wZG93bi53aWR0aCAqIDEuMjU7XHJcbiAgICB9LCAxMCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hY3RpdmVEb3JvcGRvd24gPSB0cnVlO1xyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcbiAgc2VsZWN0T3B0aW9uKHNlbGVjdGVkRGF0YTogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIHNlbGVjdGVkRGF0YSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gc2VsZWN0ZWREYXRhW3RoaXMuZGlzcGxheVByb3BlcnR5XTtcclxuICAgICAgdGhpcy5jb2xvclNlbGVjdGVkID0gc2VsZWN0ZWREYXRhW3RoaXMuY29sb3JQcm9wZXJ0eV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBzZWxlY3RlZERhdGE7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0YS5lbWl0KHNlbGVjdGVkRGF0YSk7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3B0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG4gIGNsb3NlRHJvcGRvd24oKSB7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3B0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIChjbGlja091dHNpZGUpPVwiZHJvcGRvd25PcHRpb24gPSBmYWxzZVwiPlxyXG4gIDxsYWJlbCAqbmdJZj1cImRyb3Bkb3duTGFiZWwgIT0gdW5kZWZpbmVkXCI+XHJcbiAgICB7eyBkcm9wZG93bkxhYmVsIH19IDxzcGFuIGNsYXNzPVwic3ViLWxhYmVsXCI+e3sgZHJvcGRvd25TdWJMYWJlbCB9fTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiICpuZ0lmPVwiaXNSZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbFxyXG4gID5cclxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1ib3hcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIFtjbGFzcy5saW5lXT1cInN0eWxleFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZFZhbHVlIHwgcGFzY2FsXCJcclxuICAgICAgcmVhZG9ubHlcclxuICAgICAgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgKGtleXVwLmVudGVyKT1cIm9wZW5Ecm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgKGtleXVwLmFycm93dXApPVwib3BlbkRyb3Bkb3duKCRldmVudClcIlxyXG4gICAgICAoa2V5dXAuYXJyb3dkb3duKT1cIm9wZW5Ecm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgKm5nSWY9XCIhY29sb3JQcm9wZXJ0eVwiXHJcbiAgICAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzaG93LWxhYmVsXCIgKm5nSWY9XCJjb2xvclByb3BlcnR5XCIgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigkZXZlbnQpXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbaW5uZXJIVE1MXT1cInNlbGVjdGVkVmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImNvbG9yU2VsZWN0ZWQgKyAnMUEnXCIgW3N0eWxlLmNvbG9yXT1cImNvbG9yU2VsZWN0ZWRcIj48L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cImFycm93XCIgW2NsYXNzLmxpbmVdPVwic3R5bGV4XCI+XHJcbiAgICAgIDxpIGNsYXNzPVwicmlzay1pY29uc1wiPiYjeGU5MTk7PC9pPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPGRpdiBjbGFzcz1cIm92ZXJsYXkgYWN0aXZlXCIgKm5nSWY9XCJkcm9wZG93bk9wdGlvbiA9PT0gdHJ1ZVwiIChjbGljayk9XCJjbG9zZURyb3Bkb3duKClcIj48L2Rpdj5cclxuICAgIDx1bFxyXG4gICAgICBjbGFzcz1cImxpc3Qtb2Ytb3B0aW9uXCJcclxuICAgICAgKm5nSWY9XCJkcm9wZG93bk9wdGlvbiA9PT0gdHJ1ZSAmJiAhY29sb3JQcm9wZXJ0eVwiXHJcbiAgICAgICNvcHRpb25MaXN0XHJcbiAgICAgIChrZXl1cC5Fc2NhcGUpPVwiY2xvc2VEcm9wZG93bigpXCJcclxuICAgICAgW3N0eWxlLnRvcC5weF09XCJnZXRUb3BcIlxyXG4gICAgICBbc3R5bGUubGVmdC5weF09XCJnZXRMZWZ0XCJcclxuICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJnZXRXaWR0aFwiXHJcbiAgICAgIFtzdHlsZS5tYXgtd2lkdGgucHhdPVwibWF4V2lkdGhcIlxyXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZURvcm9wZG93blwiXHJcbiAgICA+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZGF0YSBvZiBkYXRhTGlzdFwiPlxyXG4gICAgICAgIDxsYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiZGF0YVt2YWx1ZUtleV1cIiBuYW1lPVwic2xpY2VMYWJlbFwiIChjaGFuZ2UpPVwic2VsZWN0T3B0aW9uKGRhdGEpXCIgI29wdGlvbiAoa2V5dXAuZW50ZXIpPVwiY2xvc2VEcm9wZG93bigpXCIgY2xhc3M9XCJwb2ludGVyLW5vbmVcIiAvPlxyXG4gICAgICAgICAgPHNwYW4gKGNsaWNrKT1cImNsb3NlRHJvcGRvd24oKTsgc2VsZWN0T3B0aW9uKGRhdGEpXCIgKm5nSWY9XCJkaXNwbGF5UHJvcGVydHkgJiYgZGlzcGxheVByb3BlcnR5ICE9PSAnJ1wiIGNsYXNzPVwidmFsdWVcIj57eyBkYXRhW2Rpc3BsYXlQcm9wZXJ0eV0gfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiY2xvc2VEcm9wZG93bigpOyBzZWxlY3RPcHRpb24oZGF0YSlcIiAqbmdJZj1cIiFkaXNwbGF5UHJvcGVydHkgfHwgZGlzcGxheVByb3BlcnR5ID09PSAnJ1wiIGNsYXNzPVwidmFsdWVcIj57eyBkYXRhIH19PC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gICAgPHVsXHJcbiAgICAgIGNsYXNzPVwibGlzdC1vZi1vcHRpb25cIlxyXG4gICAgICAqbmdJZj1cImRyb3Bkb3duT3B0aW9uID09PSB0cnVlICYmIGNvbG9yUHJvcGVydHlcIlxyXG4gICAgICAjb3B0aW9uTGlzdFxyXG4gICAgICAoa2V5dXAuRXNjYXBlKT1cImNsb3NlRHJvcGRvd24oKVwiXHJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwiZ2V0VG9wXCJcclxuICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0TGVmdFwiXHJcbiAgICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwiZ2V0V2lkdGhcIlxyXG4gICAgICBbc3R5bGUubWF4LXdpZHRoLnB4XT1cIm1heFdpZHRoXCJcclxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVEb3JvcGRvd25cIlxyXG4gICAgPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGRhdGEgb2YgZGF0YUxpc3RcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2xvcnNcIj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwiZGF0YVt2YWx1ZUtleV1cIiBuYW1lPVwic2xpY2VMYWJlbFwiIChjbGljayk9XCJzZWxlY3RPcHRpb24oZGF0YSlcIiAjb3B0aW9uIChrZXl1cC5lbnRlcik9XCJjbG9zZURyb3Bkb3duKClcIiBjbGFzcz1cInBvaW50ZXItbm9uZVwiIC8+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0T3B0aW9uKGRhdGEpXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5UHJvcGVydHkgJiYgZGlzcGxheVByb3BlcnR5ICE9PSAnJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBkYXRhLnNlZ21lbnRfY29sb3IgfVwiXHJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiZGF0YS5zZWdtZW50X2NvbG9yICsgJzFBJ1wiXHJcbiAgICAgICAgICAgID57eyBkYXRhW2Rpc3BsYXlQcm9wZXJ0eV0gfX08L3NwYW5cclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24oZGF0YSlcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIiFkaXNwbGF5UHJvcGVydHkgfHwgZGlzcGxheVByb3BlcnR5ID09PSAnJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBkYXRhLnNlZ21lbnRfY29sb3IgfVwiXHJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiZGF0YS5zZWdtZW50X2NvbG9yICsgJzFBJ1wiXHJcbiAgICAgICAgICAgID57eyBkYXRhIH19PC9zcGFuXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9sYWJlbD5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|