monkey-front-components 0.0.413 → 0.0.414
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/esm2020/lib/components/base/base-component.mjs +324 -324
- package/esm2020/lib/components/base/base-dynamic-array.mjs +221 -221
- package/esm2020/lib/components/base/base-dynamic.mjs +102 -102
- package/esm2020/lib/components/base/base-scroll-component.mjs +55 -55
- package/esm2020/lib/components/base/base-validators.mjs +18 -18
- package/esm2020/lib/components/base/index.mjs +5 -5
- package/esm2020/lib/components/dynamic/button/button.component.mjs +52 -52
- package/esm2020/lib/components/dynamic/button/index.mjs +1 -1
- package/esm2020/lib/components/dynamic/dynamic-directive.mjs +95 -95
- package/esm2020/lib/components/dynamic/dynamic.module.mjs +84 -84
- package/esm2020/lib/components/dynamic/file-upload/file-upload.component.mjs +53 -53
- package/esm2020/lib/components/dynamic/file-upload/index.mjs +1 -1
- package/esm2020/lib/components/dynamic/form/dynamic-form-array.component.mjs +72 -72
- package/esm2020/lib/components/dynamic/form/dynamic-form.component.mjs +46 -46
- package/esm2020/lib/components/dynamic/form/index.mjs +2 -2
- package/esm2020/lib/components/dynamic/index.mjs +8 -8
- package/esm2020/lib/components/dynamic/input/index.mjs +1 -1
- package/esm2020/lib/components/dynamic/input/input.component.mjs +65 -65
- package/esm2020/lib/components/dynamic/input-phone/index.mjs +1 -1
- package/esm2020/lib/components/dynamic/input-phone/input-phone.component.mjs +65 -65
- package/esm2020/lib/components/dynamic/radio/index.mjs +1 -1
- package/esm2020/lib/components/dynamic/radio/radio.component.mjs +33 -33
- package/esm2020/lib/components/dynamic/select/index.mjs +1 -1
- package/esm2020/lib/components/dynamic/select/select.component.mjs +80 -80
- package/esm2020/lib/components/dynamic/select-search/index.mjs +1 -1
- package/esm2020/lib/components/dynamic/select-search/select-search.component.mjs +86 -86
- package/esm2020/lib/components/index.mjs +3 -3
- package/esm2020/lib/components/shared/filter/filter.component.mjs +119 -119
- package/esm2020/lib/components/shared/filter/filter.module.mjs +63 -63
- package/esm2020/lib/components/shared/filter/index.mjs +2 -2
- package/esm2020/lib/components/shared/filter/menu/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/menu/menu.component.mjs +120 -120
- package/esm2020/lib/components/shared/filter/menu/menu.module.mjs +70 -70
- package/esm2020/lib/components/shared/filter/options/children/children.component.mjs +50 -50
- package/esm2020/lib/components/shared/filter/options/children/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/options/currency/currency.component.mjs +46 -46
- package/esm2020/lib/components/shared/filter/options/currency/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/options/date-range/date-range.component.mjs +65 -65
- package/esm2020/lib/components/shared/filter/options/date-range/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/options/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/options/input/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/options/input/input.component.mjs +46 -46
- package/esm2020/lib/components/shared/filter/options/options.component.mjs +68 -68
- package/esm2020/lib/components/shared/filter/options/options.module.mjs +95 -95
- package/esm2020/lib/components/shared/filter/options/status/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/options/status/status.component.mjs +66 -66
- package/esm2020/lib/components/shared/filter/selected/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/selected/item/children/children.component.mjs +57 -57
- package/esm2020/lib/components/shared/filter/selected/item/children/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/selected/item/currency/currency.component.mjs +29 -29
- package/esm2020/lib/components/shared/filter/selected/item/currency/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/selected/item/date-range/date-range.component.mjs +42 -42
- package/esm2020/lib/components/shared/filter/selected/item/date-range/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/selected/item/date-with-action/date-with-action.component.mjs +33 -33
- package/esm2020/lib/components/shared/filter/selected/item/date-with-action/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/selected/item/index.mjs +7 -7
- package/esm2020/lib/components/shared/filter/selected/item/input/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/selected/item/input/input.component.mjs +28 -28
- package/esm2020/lib/components/shared/filter/selected/item/item.component.mjs +74 -74
- package/esm2020/lib/components/shared/filter/selected/item/status/index.mjs +1 -1
- package/esm2020/lib/components/shared/filter/selected/item/status/status.component.mjs +39 -39
- package/esm2020/lib/components/shared/filter/selected/selected.component.mjs +80 -80
- package/esm2020/lib/components/shared/filter/selected/selected.module.mjs +90 -90
- package/esm2020/lib/components/shared/index.mjs +4 -4
- package/esm2020/lib/components/shared/password-strength/index.mjs +2 -2
- package/esm2020/lib/components/shared/password-strength/password-strength.component.mjs +85 -85
- package/esm2020/lib/components/shared/password-strength/password-strength.mjs +1 -1
- package/esm2020/lib/components/shared/password-strength/password-strength.module.mjs +50 -50
- package/esm2020/lib/components/shared/products/filter/filter.component.mjs +36 -36
- package/esm2020/lib/components/shared/products/index.mjs +2 -2
- package/esm2020/lib/components/shared/products/products.component.mjs +91 -91
- package/esm2020/lib/components/shared/products/products.module.mjs +22 -22
- package/esm2020/lib/components/shared/products/providers/index.mjs +1 -1
- package/esm2020/lib/components/shared/products/providers/products.model.mjs +37 -37
- package/esm2020/lib/components/shared/progress-bar/index.mjs +3 -3
- package/esm2020/lib/components/shared/progress-bar/progress-bar.component.mjs +28 -28
- package/esm2020/lib/components/shared/progress-bar/progress-bar.module.mjs +18 -18
- package/esm2020/lib/components/shared/progress-bar/progress-bar.service.mjs +49 -49
- package/esm2020/lib/interfaces/field-config.mjs +1 -1
- package/esm2020/lib/interfaces/index.mjs +1 -1
- package/esm2020/monkey-front-components.mjs +4 -4
- package/esm2020/public-api.mjs +4 -4
- package/fesm2015/monkey-front-components.mjs +2776 -2776
- package/fesm2015/monkey-front-components.mjs.map +1 -1
- package/fesm2020/monkey-front-components.mjs +2758 -2758
- package/fesm2020/monkey-front-components.mjs.map +1 -1
- package/lib/components/base/base-component.d.ts +52 -52
- package/lib/components/base/base-dynamic-array.d.ts +34 -34
- package/lib/components/base/base-dynamic.d.ts +25 -25
- package/lib/components/base/base-scroll-component.d.ts +16 -16
- package/lib/components/base/base-validators.d.ts +1 -1
- package/lib/components/base/index.d.ts +5 -5
- package/lib/components/dynamic/button/button.component.d.ts +17 -17
- package/lib/components/dynamic/button/index.d.ts +1 -1
- package/lib/components/dynamic/dynamic-directive.d.ts +22 -22
- package/lib/components/dynamic/dynamic.module.d.ts +20 -20
- package/lib/components/dynamic/file-upload/file-upload.component.d.ts +17 -17
- package/lib/components/dynamic/file-upload/index.d.ts +1 -1
- package/lib/components/dynamic/form/dynamic-form-array.component.d.ts +16 -16
- package/lib/components/dynamic/form/dynamic-form.component.d.ts +14 -14
- package/lib/components/dynamic/form/index.d.ts +2 -2
- package/lib/components/dynamic/index.d.ts +8 -8
- package/lib/components/dynamic/input/index.d.ts +1 -1
- package/lib/components/dynamic/input/input.component.d.ts +20 -20
- package/lib/components/dynamic/input-phone/index.d.ts +1 -1
- package/lib/components/dynamic/input-phone/input-phone.component.d.ts +20 -20
- package/lib/components/dynamic/radio/index.d.ts +1 -1
- package/lib/components/dynamic/radio/radio.component.d.ts +11 -11
- package/lib/components/dynamic/select/index.d.ts +1 -1
- package/lib/components/dynamic/select/select.component.d.ts +16 -16
- package/lib/components/dynamic/select-search/index.d.ts +1 -1
- package/lib/components/dynamic/select-search/select-search.component.d.ts +18 -18
- package/lib/components/index.d.ts +3 -3
- package/lib/components/shared/filter/filter.component.d.ts +32 -32
- package/lib/components/shared/filter/filter.module.d.ts +14 -14
- package/lib/components/shared/filter/index.d.ts +2 -2
- package/lib/components/shared/filter/menu/index.d.ts +1 -1
- package/lib/components/shared/filter/menu/menu.component.d.ts +24 -24
- package/lib/components/shared/filter/menu/menu.module.d.ts +14 -14
- package/lib/components/shared/filter/options/children/children.component.d.ts +17 -17
- package/lib/components/shared/filter/options/children/index.d.ts +1 -1
- package/lib/components/shared/filter/options/currency/currency.component.d.ts +17 -17
- package/lib/components/shared/filter/options/currency/index.d.ts +1 -1
- package/lib/components/shared/filter/options/date-range/date-range.component.d.ts +24 -24
- package/lib/components/shared/filter/options/date-range/index.d.ts +1 -1
- package/lib/components/shared/filter/options/index.d.ts +1 -1
- package/lib/components/shared/filter/options/input/index.d.ts +1 -1
- package/lib/components/shared/filter/options/input/input.component.d.ts +17 -17
- package/lib/components/shared/filter/options/options.component.d.ts +20 -20
- package/lib/components/shared/filter/options/options.module.d.ts +18 -18
- package/lib/components/shared/filter/options/status/index.d.ts +1 -1
- package/lib/components/shared/filter/options/status/status.component.d.ts +19 -19
- package/lib/components/shared/filter/selected/index.d.ts +1 -1
- package/lib/components/shared/filter/selected/item/children/children.component.d.ts +16 -16
- package/lib/components/shared/filter/selected/item/children/index.d.ts +1 -1
- package/lib/components/shared/filter/selected/item/currency/currency.component.d.ts +11 -11
- package/lib/components/shared/filter/selected/item/currency/index.d.ts +1 -1
- package/lib/components/shared/filter/selected/item/date-range/date-range.component.d.ts +12 -12
- package/lib/components/shared/filter/selected/item/date-range/index.d.ts +1 -1
- package/lib/components/shared/filter/selected/item/date-with-action/date-with-action.component.d.ts +11 -11
- package/lib/components/shared/filter/selected/item/date-with-action/index.d.ts +1 -1
- package/lib/components/shared/filter/selected/item/index.d.ts +7 -7
- package/lib/components/shared/filter/selected/item/input/index.d.ts +1 -1
- package/lib/components/shared/filter/selected/item/input/input.component.d.ts +11 -11
- package/lib/components/shared/filter/selected/item/item.component.d.ts +20 -20
- package/lib/components/shared/filter/selected/item/status/index.d.ts +1 -1
- package/lib/components/shared/filter/selected/item/status/status.component.d.ts +13 -13
- package/lib/components/shared/filter/selected/selected.component.d.ts +18 -18
- package/lib/components/shared/filter/selected/selected.module.d.ts +21 -21
- package/lib/components/shared/index.d.ts +4 -4
- package/lib/components/shared/password-strength/index.d.ts +2 -2
- package/lib/components/shared/password-strength/password-strength.component.d.ts +23 -23
- package/lib/components/shared/password-strength/password-strength.d.ts +5 -5
- package/lib/components/shared/password-strength/password-strength.module.d.ts +12 -12
- package/lib/components/shared/products/filter/filter.component.d.ts +12 -12
- package/lib/components/shared/products/index.d.ts +2 -2
- package/lib/components/shared/products/products.component.d.ts +20 -20
- package/lib/components/shared/products/products.module.d.ts +11 -11
- package/lib/components/shared/products/providers/index.d.ts +1 -1
- package/lib/components/shared/products/providers/products.model.d.ts +13 -13
- package/lib/components/shared/progress-bar/index.d.ts +3 -3
- package/lib/components/shared/progress-bar/progress-bar.component.d.ts +12 -12
- package/lib/components/shared/progress-bar/progress-bar.module.d.ts +8 -8
- package/lib/components/shared/progress-bar/progress-bar.service.d.ts +14 -14
- package/lib/interfaces/field-config.d.ts +54 -54
- package/lib/interfaces/index.d.ts +1 -1
- package/monkey-front-components-0.0.414.tgz +0 -0
- package/monkey-front-components.d.ts +5 -5
- package/package.json +5 -5
- package/public-api.d.ts +1 -1
- package/monkey-front-components-0.0.413.tgz +0 -0
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
import { Component, HostBinding, Input, EventEmitter, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "monkey-style-guide";
|
|
4
|
-
import * as i2 from "@angular/forms";
|
|
5
|
-
import * as i3 from "@angular/common";
|
|
6
|
-
import * as i4 from "@ngx-translate/core";
|
|
7
|
-
export class MECXDynamicSelectSearchComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this._field = null;
|
|
10
|
-
this._form = null;
|
|
11
|
-
// eslint-disable-next-line object-curly-newline
|
|
12
|
-
this._formErrors = {};
|
|
13
|
-
this._onHandleOptions = new EventEmitter();
|
|
14
|
-
this._options = [];
|
|
15
|
-
}
|
|
16
|
-
set options(value) {
|
|
17
|
-
this._options = value;
|
|
18
|
-
}
|
|
19
|
-
get className() {
|
|
20
|
-
return this._field?.style?.class;
|
|
21
|
-
}
|
|
22
|
-
onHandleGenericLoad() {
|
|
23
|
-
const { _form, _field, self } = this;
|
|
24
|
-
if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad)
|
|
25
|
-
return;
|
|
26
|
-
const { name } = _field;
|
|
27
|
-
const { func, url } = _field?.functions?.onHandleGenericLoad || {
|
|
28
|
-
func: null, url: ''
|
|
29
|
-
};
|
|
30
|
-
if (!func || !self[func]) {
|
|
31
|
-
console.error('onHandleGenericLoad not declared');
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
_form?.disable();
|
|
35
|
-
self[func]({
|
|
36
|
-
name,
|
|
37
|
-
url,
|
|
38
|
-
form: _form,
|
|
39
|
-
callback: (data) => {
|
|
40
|
-
if (this._field) {
|
|
41
|
-
this._options = data;
|
|
42
|
-
}
|
|
43
|
-
this._form?.enable();
|
|
44
|
-
this._onHandleOptions.next(null);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
onChange(event) {
|
|
49
|
-
const { _form, _field, self } = this;
|
|
50
|
-
if (!_field || !_form)
|
|
51
|
-
return;
|
|
52
|
-
const { name } = _field;
|
|
53
|
-
const func = _field?.functions?.onChange;
|
|
54
|
-
const isValid = _form?.get(_field?.name)?.valid;
|
|
55
|
-
if (func) {
|
|
56
|
-
self[func]({
|
|
57
|
-
name,
|
|
58
|
-
isValid,
|
|
59
|
-
event,
|
|
60
|
-
ctrl: _form.get(this._field?.name),
|
|
61
|
-
form: _form,
|
|
62
|
-
value: _field.value
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
MECXDynamicSelectSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
68
|
-
MECXDynamicSelectSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
70
|
-
type: Component,
|
|
71
|
-
args: [{ selector: 'mecx-dynamic-select-search', encapsulation: ViewEncapsulation.None, template: "<monkey-select-search\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [fieldToCompare]=\"_field?.fieldToCompare\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length && !_options?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of (_field?.value || _options)\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select-search>" }]
|
|
72
|
-
}], propDecorators: { _field: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], _form: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], _formErrors: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], self: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], options: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], className: [{
|
|
83
|
-
type: HostBinding,
|
|
84
|
-
args: ['class']
|
|
85
|
-
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, HostBinding, Input, EventEmitter, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "monkey-style-guide";
|
|
4
|
+
import * as i2 from "@angular/forms";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
import * as i4 from "@ngx-translate/core";
|
|
7
|
+
export class MECXDynamicSelectSearchComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this._field = null;
|
|
10
|
+
this._form = null;
|
|
11
|
+
// eslint-disable-next-line object-curly-newline
|
|
12
|
+
this._formErrors = {};
|
|
13
|
+
this._onHandleOptions = new EventEmitter();
|
|
14
|
+
this._options = [];
|
|
15
|
+
}
|
|
16
|
+
set options(value) {
|
|
17
|
+
this._options = value;
|
|
18
|
+
}
|
|
19
|
+
get className() {
|
|
20
|
+
return this._field?.style?.class;
|
|
21
|
+
}
|
|
22
|
+
onHandleGenericLoad() {
|
|
23
|
+
const { _form, _field, self } = this;
|
|
24
|
+
if (_form?.disabled || !_field || !_field?.functions?.onHandleGenericLoad)
|
|
25
|
+
return;
|
|
26
|
+
const { name } = _field;
|
|
27
|
+
const { func, url } = _field?.functions?.onHandleGenericLoad || {
|
|
28
|
+
func: null, url: ''
|
|
29
|
+
};
|
|
30
|
+
if (!func || !self[func]) {
|
|
31
|
+
console.error('onHandleGenericLoad not declared');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
_form?.disable();
|
|
35
|
+
self[func]({
|
|
36
|
+
name,
|
|
37
|
+
url,
|
|
38
|
+
form: _form,
|
|
39
|
+
callback: (data) => {
|
|
40
|
+
if (this._field) {
|
|
41
|
+
this._options = data;
|
|
42
|
+
}
|
|
43
|
+
this._form?.enable();
|
|
44
|
+
this._onHandleOptions.next(null);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
onChange(event) {
|
|
49
|
+
const { _form, _field, self } = this;
|
|
50
|
+
if (!_field || !_form)
|
|
51
|
+
return;
|
|
52
|
+
const { name } = _field;
|
|
53
|
+
const func = _field?.functions?.onChange;
|
|
54
|
+
const isValid = _form?.get(_field?.name)?.valid;
|
|
55
|
+
if (func) {
|
|
56
|
+
self[func]({
|
|
57
|
+
name,
|
|
58
|
+
isValid,
|
|
59
|
+
event,
|
|
60
|
+
ctrl: _form.get(this._field?.name),
|
|
61
|
+
form: _form,
|
|
62
|
+
value: _field.value
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
MECXDynamicSelectSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXDynamicSelectSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
MECXDynamicSelectSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXDynamicSelectSearchComponent, selector: "mecx-dynamic-select-search", inputs: { _field: "_field", _form: "_form", _formErrors: "_formErrors", self: "self", options: "options" }, host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<monkey-select-search\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [fieldToCompare]=\"_field?.fieldToCompare\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length && !_options?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of (_field?.value || _options)\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select-search>", components: [{ type: i1.MonkeySelectSearchComponent, selector: "monkey-select-search", inputs: ["label", "helperMessage", "placeholder", "icon", "infoMessage", "errorMessage", "labelSelect", "fieldToCompare", "onHandleOptions", "value"], outputs: ["onChange", "onSearch"] }, { type: i1.MonkeyOptionComponent, selector: "monkey-option", inputs: ["type", "label", "value", "selectAll", "selected", "enableClick"], outputs: ["onSelectOption"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXDynamicSelectSearchComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'mecx-dynamic-select-search', encapsulation: ViewEncapsulation.None, template: "<monkey-select-search\n errorMessage=\"{{ _formErrors[_field?.name]?.firstMessage | translate }} {{ _formErrors[_field?.name]?.lastMessage }}\"\n [formControl]=\"_form.controls[_field?.name]\" [helperMessage]=\"_field?.helperMessage | translate\"\n [label]=\"_field?.label | translate\" (click)=\"onHandleGenericLoad()\"\n [onHandleOptions]=\"_onHandleOptions\" (onChange)=\"onChange($event)\"\n [fieldToCompare]=\"_field?.fieldToCompare\"\n [labelSelect]=\"_form.get(_field?.name).value || ('FIELD.SELECT' | translate)\"\n [placeholder]=\"_field?.placeholder | translate\">\n <monkey-option [label]=\"'FIELD.LOADING' | translate\" *ngIf=\"!_field?.value?.length && !_options?.length\"\n enableClick=\"false\">\n </monkey-option>\n <monkey-option *ngFor=\"let value of (_field?.value || _options)\" [label]=\"value.description | translate\"\n [value]=\"value.value\">\n </monkey-option>\n</monkey-select-search>" }]
|
|
72
|
+
}], propDecorators: { _field: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], _form: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], _formErrors: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], self: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], options: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], className: [{
|
|
83
|
+
type: HostBinding,
|
|
84
|
+
args: ['class']
|
|
85
|
+
}] } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy9zZWxlY3Qtc2VhcmNoL3NlbGVjdC1zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMvc2VsZWN0LXNlYXJjaC9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTdkIsTUFBTSxPQUFPLGdDQUFnQztJQUw3QztRQU1XLFdBQU0sR0FBMkIsSUFBSSxDQUFDO1FBRXRDLFVBQUssR0FBcUIsSUFBSSxDQUFDO1FBRXhDLGdEQUFnRDtRQUN2QyxnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFhdkMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUUzQyxhQUFRLEdBQVUsRUFBRSxDQUFDO0tBNkN0QjtJQXhEQyxJQUFhLE9BQU8sQ0FBQyxLQUFZO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBTUQsbUJBQW1CO1FBQ2pCLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztRQUNyQyxJQUFJLEtBQUssRUFBRSxRQUFRLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLG1CQUFtQjtZQUFFLE9BQU87UUFDbEYsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUN4QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLElBQUk7WUFDOUQsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtTQUNwQixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDbEQsT0FBTztTQUNSO1FBQ0QsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNULElBQUk7WUFDSixHQUFHO1lBQ0gsSUFBSSxFQUFFLEtBQUs7WUFDWCxRQUFRLEVBQUUsQ0FBQyxJQUFXLEVBQUUsRUFBRTtnQkFDeEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2lCQUN0QjtnQkFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUM5QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLElBQWMsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUMxRCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDVCxJQUFJO2dCQUNKLE9BQU87Z0JBQ1AsS0FBSztnQkFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQWMsQ0FBQztnQkFDNUMsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2FBQ3BCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7NkhBakVVLGdDQUFnQztpSEFBaEMsZ0NBQWdDLG1PQ2Y3QyxrNkJBY3VCOzJGRENWLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSw0QkFBNEIsaUJBRXZCLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLE1BQU07c0JBQWQsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRU8sT0FBTztzQkFBbkIsS0FBSztnQkFLRixTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUVDWEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21lY3gtZHluYW1pYy1zZWxlY3Qtc2VhcmNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1FQ1hEeW5hbWljU2VsZWN0U2VhcmNoQ29tcG9uZW50IHtcbiAgQElucHV0KCkgX2ZpZWxkOiBNRUNYRmllbGRDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSBfZm9ybTogRm9ybUdyb3VwIHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9iamVjdC1jdXJseS1uZXdsaW5lXG4gIEBJbnB1dCgpIF9mb3JtRXJyb3JzOiBhbnkgfCBhbnlbXSA9IHt9O1xuXG4gIEBJbnB1dCgpIHNlbGY6IGFueTtcblxuICBASW5wdXQoKSBzZXQgb3B0aW9ucyh2YWx1ZTogYW55W10pIHtcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGNsYXNzTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmllbGQ/LnN0eWxlPy5jbGFzcztcbiAgfVxuXG4gIF9vbkhhbmRsZU9wdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBfb3B0aW9uczogYW55W10gPSBbXTtcblxuICBvbkhhbmRsZUdlbmVyaWNMb2FkKCkge1xuICAgIGNvbnN0IHsgX2Zvcm0sIF9maWVsZCwgc2VsZiB9ID0gdGhpcztcbiAgICBpZiAoX2Zvcm0/LmRpc2FibGVkIHx8ICFfZmllbGQgfHwgIV9maWVsZD8uZnVuY3Rpb25zPy5vbkhhbmRsZUdlbmVyaWNMb2FkKSByZXR1cm47XG4gICAgY29uc3QgeyBuYW1lIH0gPSBfZmllbGQ7XG4gICAgY29uc3QgeyBmdW5jLCB1cmwgfSA9IF9maWVsZD8uZnVuY3Rpb25zPy5vbkhhbmRsZUdlbmVyaWNMb2FkIHx8IHtcbiAgICAgIGZ1bmM6IG51bGwsIHVybDogJydcbiAgICB9O1xuICAgIGlmICghZnVuYyB8fCAhc2VsZltmdW5jXSkge1xuICAgICAgY29uc29sZS5lcnJvcignb25IYW5kbGVHZW5lcmljTG9hZCBub3QgZGVjbGFyZWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgX2Zvcm0/LmRpc2FibGUoKTtcbiAgICBzZWxmW2Z1bmNdKHtcbiAgICAgIG5hbWUsXG4gICAgICB1cmwsXG4gICAgICBmb3JtOiBfZm9ybSxcbiAgICAgIGNhbGxiYWNrOiAoZGF0YTogYW55W10pID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2ZpZWxkKSB7XG4gICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9ybT8uZW5hYmxlKCk7XG4gICAgICAgIHRoaXMuX29uSGFuZGxlT3B0aW9ucy5uZXh0KG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb25DaGFuZ2UoZXZlbnQ6IHN0cmluZykge1xuICAgIGNvbnN0IHsgX2Zvcm0sIF9maWVsZCwgc2VsZiB9ID0gdGhpcztcbiAgICBpZiAoIV9maWVsZCB8fCAhX2Zvcm0pIHJldHVybjtcbiAgICBjb25zdCB7IG5hbWUgfSA9IF9maWVsZDtcbiAgICBjb25zdCBmdW5jID0gX2ZpZWxkPy5mdW5jdGlvbnM/Lm9uQ2hhbmdlO1xuICAgIGNvbnN0IGlzVmFsaWQgPSBfZm9ybT8uZ2V0KF9maWVsZD8ubmFtZSBhcyBzdHJpbmcpPy52YWxpZDtcbiAgICBpZiAoZnVuYykge1xuICAgICAgc2VsZltmdW5jXSh7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIGlzVmFsaWQsXG4gICAgICAgIGV2ZW50LFxuICAgICAgICBjdHJsOiBfZm9ybS5nZXQodGhpcy5fZmllbGQ/Lm5hbWUgYXMgc3RyaW5nKSxcbiAgICAgICAgZm9ybTogX2Zvcm0sXG4gICAgICAgIHZhbHVlOiBfZmllbGQudmFsdWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG1vbmtleS1zZWxlY3Qtc2VhcmNoXG4gIGVycm9yTWVzc2FnZT1cInt7IF9mb3JtRXJyb3JzW19maWVsZD8ubmFtZV0/LmZpcnN0TWVzc2FnZSB8IHRyYW5zbGF0ZSB9fSB7eyBfZm9ybUVycm9yc1tfZmllbGQ/Lm5hbWVdPy5sYXN0TWVzc2FnZSB9fVwiXG4gIFtmb3JtQ29udHJvbF09XCJfZm9ybS5jb250cm9sc1tfZmllbGQ/Lm5hbWVdXCIgW2hlbHBlck1lc3NhZ2VdPVwiX2ZpZWxkPy5oZWxwZXJNZXNzYWdlIHwgdHJhbnNsYXRlXCJcbiAgW2xhYmVsXT1cIl9maWVsZD8ubGFiZWwgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwib25IYW5kbGVHZW5lcmljTG9hZCgpXCJcbiAgW29uSGFuZGxlT3B0aW9uc109XCJfb25IYW5kbGVPcHRpb25zXCIgKG9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICBbZmllbGRUb0NvbXBhcmVdPVwiX2ZpZWxkPy5maWVsZFRvQ29tcGFyZVwiXG4gIFtsYWJlbFNlbGVjdF09XCJfZm9ybS5nZXQoX2ZpZWxkPy5uYW1lKS52YWx1ZSB8fCAoJ0ZJRUxELlNFTEVDVCcgfCB0cmFuc2xhdGUpXCJcbiAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZD8ucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIj5cbiAgPG1vbmtleS1vcHRpb24gW2xhYmVsXT1cIidGSUVMRC5MT0FESU5HJyB8IHRyYW5zbGF0ZVwiICpuZ0lmPVwiIV9maWVsZD8udmFsdWU/Lmxlbmd0aCAmJiAhX29wdGlvbnM/Lmxlbmd0aFwiXG4gICAgZW5hYmxlQ2xpY2s9XCJmYWxzZVwiPlxuICA8L21vbmtleS1vcHRpb24+XG4gIDxtb25rZXktb3B0aW9uICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiAoX2ZpZWxkPy52YWx1ZSB8fCBfb3B0aW9ucylcIiBbbGFiZWxdPVwidmFsdWUuZGVzY3JpcHRpb24gfCB0cmFuc2xhdGVcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZS52YWx1ZVwiPlxuICA8L21vbmtleS1vcHRpb24+XG48L21vbmtleS1zZWxlY3Qtc2VhcmNoPiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './base';
|
|
2
|
-
export * from './dynamic';
|
|
3
|
-
export * from './shared';
|
|
1
|
+
export * from './base';
|
|
2
|
+
export * from './dynamic';
|
|
3
|
+
export * from './shared';
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbiJdfQ==
|
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { MonkeyEcxUtils } from 'monkey-front-core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "monkey-style-guide";
|
|
5
|
-
import * as i2 from "./selected/selected.component";
|
|
6
|
-
import * as i3 from "./menu/menu.component";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
import * as i5 from "monkey-front-core";
|
|
9
|
-
import * as i6 from "@ngx-translate/core";
|
|
10
|
-
export class MECXFilterComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.searchPlaceholder = '';
|
|
13
|
-
this.orderPlaceholder = '';
|
|
14
|
-
this.menus = [];
|
|
15
|
-
this.orders = [];
|
|
16
|
-
this.enableSearch = true;
|
|
17
|
-
this.isLoading = false;
|
|
18
|
-
this.onFilter = new EventEmitter();
|
|
19
|
-
this._order = null;
|
|
20
|
-
this._search = '';
|
|
21
|
-
this._showMenu = false;
|
|
22
|
-
this._hasFilterByMenu = false;
|
|
23
|
-
this._actionElement = null;
|
|
24
|
-
this.closeMenu = () => {
|
|
25
|
-
this._showMenu = false;
|
|
26
|
-
};
|
|
27
|
-
// not to do
|
|
28
|
-
}
|
|
29
|
-
set search(value) {
|
|
30
|
-
this._search = value;
|
|
31
|
-
}
|
|
32
|
-
set order(value) {
|
|
33
|
-
this._order = value;
|
|
34
|
-
}
|
|
35
|
-
validateValue({ field, value, getValue }) {
|
|
36
|
-
try {
|
|
37
|
-
value = value || getValue()?.[field];
|
|
38
|
-
if (!value)
|
|
39
|
-
return false;
|
|
40
|
-
if (typeof value === 'object') {
|
|
41
|
-
return value && JSON.stringify(value) !== '{}';
|
|
42
|
-
}
|
|
43
|
-
return MonkeyEcxUtils.persistNullEmptyUndefined(value);
|
|
44
|
-
}
|
|
45
|
-
catch (e) {
|
|
46
|
-
// not to do
|
|
47
|
-
}
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
handleFilters() {
|
|
51
|
-
const { menus } = this;
|
|
52
|
-
let found = menus.find((_) => {
|
|
53
|
-
return this.validateValue(_);
|
|
54
|
-
});
|
|
55
|
-
if (!found) {
|
|
56
|
-
found = menus.find(({ children }) => {
|
|
57
|
-
return (children || [])?.find((_) => {
|
|
58
|
-
return this.validateValue(_);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
this._hasFilterByMenu = !!found;
|
|
63
|
-
}
|
|
64
|
-
ngOnChanges(changes) {
|
|
65
|
-
if (changes.menus) {
|
|
66
|
-
const { currentValue } = changes.menus;
|
|
67
|
-
if (currentValue && JSON.stringify(currentValue) !== '{}') {
|
|
68
|
-
this.handleFilters();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
onSearchFilter(event) {
|
|
73
|
-
this.onFilter.next({ search: event });
|
|
74
|
-
}
|
|
75
|
-
onClearFilter() {
|
|
76
|
-
this._search = '';
|
|
77
|
-
this.onFilter.next({ search: null });
|
|
78
|
-
}
|
|
79
|
-
onHandleSubmit(event) {
|
|
80
|
-
this.onFilter.next(event);
|
|
81
|
-
}
|
|
82
|
-
onHandleShowMenu() {
|
|
83
|
-
this._actionElement = document.getElementById('mecx-filters-add-filter');
|
|
84
|
-
setTimeout(() => {
|
|
85
|
-
this._showMenu = true;
|
|
86
|
-
}, 0);
|
|
87
|
-
}
|
|
88
|
-
onHandleClose() {
|
|
89
|
-
this._showMenu = false;
|
|
90
|
-
}
|
|
91
|
-
onHandleOrder(event) {
|
|
92
|
-
this.onFilter.next({ sort: event });
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
MECXFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
96
|
-
MECXFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
98
|
-
type: Component,
|
|
99
|
-
args: [{ selector: 'mecx-filter', template: "<div class=\"d-flex flex-column full-width\">\n <div class=\"d-flex flex-column flex-md-row justify-content-between\">\n <div class=\"d-flex full-width\">\n <ng-container *ngIf=\"enableSearch\">\n <monkey-input-filter [placeholder]=\"searchPlaceholder | translate\"\n (onChange)=\"onSearchFilter($event)\" icon=\"search-16\" iconPosition=\"left\"\n [(value)]=\"_search\">\n </monkey-input-filter>\n </ng-container>\n <ng-container *ngIf=\"!_hasFilterByMenu\">\n <div class=\"d-flex actions\" id=\"mecx-filters-add-filter\">\n <monkey-button type=\"filter\" color=\"border\" (click)=\"onHandleShowMenu()\" icon=\"more-16\"\n iconPosition=\"right\">\n {{ 'BUTTONS.ADD-FILTER' | translate }}\n </monkey-button>\n </div>\n </ng-container>\n </div>\n <div class=\"order hidden-sm hidden-xs\">\n <ng-container *ngTemplateOutlet=\"orderBy\"></ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"_hasFilterByMenu\">\n <div class=\"separator\"></div>\n <div class=\"d-flex full-width\">\n <mecx-filter-selected (onSubmit)=\"onHandleSubmit($event)\" (onClose)=\"onHandleClose()\"\n [model]=\"menus\"></mecx-filter-selected>\n <div class=\"more-filters\">\n <monkey-button type=\"filter\" color=\"border\" icon=\"more-16\" id=\"mecx-filters-add-filter\"\n (click)=\"onHandleShowMenu()\">\n </monkey-button>\n </div>\n </div>\n </ng-container>\n <div class=\"order hidden-md hidden-lg\">\n <ng-container *ngTemplateOutlet=\"orderBy\"></ng-container>\n </div>\n</div>\n\n<mecx-filter-menu\n *monkeyecxPopover=\"_showMenu; target: $any(_actionElement); closed: closeMenu; dir: 'ltr'\"\n (onSubmit)=\"onHandleSubmit($event)\" (onClose)=\"onHandleClose()\" [model]=\"menus\">\n</mecx-filter-menu>\n\n<ng-template #orderBy>\n <monkey-select-filter (onChange)=\"onHandleOrder($event)\" [placeholder]=\"orderPlaceholder | translate\" type=\"none\"\n [(value)]=\"_order\">\n <monkey-option *ngFor=\"let ordBy of orders\" [label]=\"ordBy?.label | translate\" [value]=\"ordBy?.value\">\n </monkey-option>\n </monkey-select-filter>\n</ng-template>", styles: [":host{display:flex;width:100%;align-items:center}@media screen and (max-width: 959px){:host{flex-direction:column;max-width:100%}:host ::ng-deep monkey-input-filter{width:100%}:host ::ng-deep monkey-select-filter{width:100%}:host ::ng-deep monkey-button{width:100%}:host ::ng-deep monkey-button button{width:100%}}@media screen and (min-width: 960px){:host .actions ::ng-deep monkey-button{margin-left:8px}:host .actions ::ng-deep monkey-button button{width:170px}}:host .more-filters ::ng-deep monkey-button monkey-icon{margin-right:unset!important}@media screen and (min-width: 960px){:host .order{width:230px}}@media screen and (max-width: 959px){:host .order{margin-top:8px}}:host ::ng-deep monkey-button{margin-bottom:0}:host ::ng-deep mecx-form-field-filter mecx-form-field-body{height:40px;margin:0}@media screen and (min-width: 960px){:host ::ng-deep monkey-input-filter{width:464px}}:host .separator{border-bottom:1px solid #ebebeb;margin-top:16px;margin-bottom:16px}\n"] }]
|
|
100
|
-
}], ctorParameters: function () { return []; }, propDecorators: { searchPlaceholder: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], orderPlaceholder: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], menus: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], orders: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], enableSearch: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], search: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], order: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], isLoading: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], onFilter: [{
|
|
117
|
-
type: Output
|
|
118
|
-
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUE2QyxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7QUFPOUYsTUFBTSxPQUFPLG1CQUFtQjtJQXVDOUI7UUF0Q1Msc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBRXZCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUV0QixVQUFLLEdBQTBCLEVBQUUsQ0FBQztRQUVsQyxXQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUVwQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQVlwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTdDLFdBQU0sR0FBeUIsSUFBSSxDQUFDO1FBRXBDLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFYixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixtQkFBYyxHQUFnQixJQUFJLENBQUM7UUFFbkMsY0FBUyxHQUFHLEdBQUcsRUFBRTtZQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQUdBLFlBQVk7SUFDZCxDQUFDO0lBOUJE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QUFDLEtBQVU7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOztpSEEzR1UsbUJBQW1CO3FHQUFuQixtQkFBbUIsK1RDUmhDLHFyRUFrRGM7NEZEMUNELG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhOzBFQUtkLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdGLE1BQU07c0JBRFQsS0FBSztnQkFNRixLQUFLO3NCQURSLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RmlsdGVyTWVudSwgTW9ua2V5RWN4RmlsdGVyT3JkZXIsIE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnbW9ua2V5LWZyb250LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZWN4LWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNRUNYRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKSBvcmRlclBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KCkgbWVudXM6IE1vbmtleUVjeEZpbHRlck1lbnVbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIG9yZGVyczogTW9ua2V5RWN4RmlsdGVyT3JkZXJbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIGVuYWJsZVNlYXJjaCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2V0IHNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VhcmNoID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgb3JkZXIodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX29yZGVyID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgb25GaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBfb3JkZXI6IE1vbmtleUVjeEZpbHRlck9yZGVyID0gbnVsbDtcblxuICBfc2VhcmNoID0gJyc7XG5cbiAgX3Nob3dNZW51ID0gZmFsc2U7XG5cbiAgX2hhc0ZpbHRlckJ5TWVudSA9IGZhbHNlO1xuXG4gIF9hY3Rpb25FbGVtZW50OiBIVE1MRWxlbWVudCA9IG51bGw7XG5cbiAgY2xvc2VNZW51ID0gKCkgPT4ge1xuICAgIHRoaXMuX3Nob3dNZW51ID0gZmFsc2U7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlVmFsdWUoeyBmaWVsZCwgdmFsdWUsIGdldFZhbHVlIH06IGFueSkge1xuICAgIHRyeSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlIHx8IGdldFZhbHVlKCk/LltmaWVsZF07XG4gICAgICBpZiAoIXZhbHVlKSByZXR1cm4gZmFsc2U7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gdmFsdWUgJiYgSlNPTi5zdHJpbmdpZnkodmFsdWUpICE9PSAne30nO1xuICAgICAgfVxuICAgICAgcmV0dXJuIE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodmFsdWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG5vdCB0byBkb1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUZpbHRlcnMoKSB7XG4gICAgY29uc3QgeyBtZW51cyB9ID0gdGhpcztcbiAgICBsZXQgZm91bmQgPSBtZW51cy5maW5kKChfOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlVmFsdWUoXyk7XG4gICAgfSk7XG4gICAgaWYgKCFmb3VuZCkge1xuICAgICAgZm91bmQgPSBtZW51cy5maW5kKCh7IGNoaWxkcmVuIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIChjaGlsZHJlbiB8fCBbXSk/LmZpbmQoKF86IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlVmFsdWUoXyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuX2hhc0ZpbHRlckJ5TWVudSA9ICEhZm91bmQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMubWVudXMpIHtcbiAgICAgIGNvbnN0IHsgY3VycmVudFZhbHVlIH0gPSBjaGFuZ2VzLm1lbnVzO1xuICAgICAgaWYgKGN1cnJlbnRWYWx1ZSAmJiBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpICE9PSAne30nKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRmlsdGVycygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoRmlsdGVyKGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLm9uRmlsdGVyLm5leHQoeyBzZWFyY2g6IGV2ZW50IH0pO1xuICB9XG5cbiAgb25DbGVhckZpbHRlcigpIHtcbiAgICB0aGlzLl9zZWFyY2ggPSAnJztcbiAgICB0aGlzLm9uRmlsdGVyLm5leHQoeyBzZWFyY2g6IG51bGwgfSk7XG4gIH1cblxuICBvbkhhbmRsZVN1Ym1pdChldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkZpbHRlci5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIG9uSGFuZGxlU2hvd01lbnUoKSB7XG4gICAgdGhpcy5fYWN0aW9uRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWN4LWZpbHRlcnMtYWRkLWZpbHRlcicpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fc2hvd01lbnUgPSB0cnVlO1xuICAgIH0sIDApO1xuICB9XG5cbiAgb25IYW5kbGVDbG9zZSgpIHtcbiAgICB0aGlzLl9zaG93TWVudSA9IGZhbHNlO1xuICB9XG5cbiAgb25IYW5kbGVPcmRlcihldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkZpbHRlci5uZXh0KHsgc29ydDogZXZlbnQgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZnVsbC13aWR0aFwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbWQtcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmdWxsLXdpZHRoXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW5hYmxlU2VhcmNoXCI+XG4gICAgICAgIDxtb25rZXktaW5wdXQtZmlsdGVyIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uU2VhcmNoRmlsdGVyKCRldmVudClcIiBpY29uPVwic2VhcmNoLTE2XCIgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgWyh2YWx1ZSldPVwiX3NlYXJjaFwiPlxuICAgICAgICA8L21vbmtleS1pbnB1dC1maWx0ZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhX2hhc0ZpbHRlckJ5TWVudVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFjdGlvbnNcIiBpZD1cIm1lY3gtZmlsdGVycy1hZGQtZmlsdGVyXCI+XG4gICAgICAgICAgPG1vbmtleS1idXR0b24gdHlwZT1cImZpbHRlclwiIGNvbG9yPVwiYm9yZGVyXCIgKGNsaWNrKT1cIm9uSGFuZGxlU2hvd01lbnUoKVwiIGljb249XCJtb3JlLTE2XCJcbiAgICAgICAgICAgIGljb25Qb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICAgICAgICB7eyAnQlVUVE9OUy5BREQtRklMVEVSJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwib3JkZXIgaGlkZGVuLXNtIGhpZGRlbi14c1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm9yZGVyQnlcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJfaGFzRmlsdGVyQnlNZW51XCI+XG4gICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZnVsbC13aWR0aFwiPlxuICAgICAgPG1lY3gtZmlsdGVyLXNlbGVjdGVkIChvblN1Ym1pdCk9XCJvbkhhbmRsZVN1Ym1pdCgkZXZlbnQpXCIgKG9uQ2xvc2UpPVwib25IYW5kbGVDbG9zZSgpXCJcbiAgICAgICAgW21vZGVsXT1cIm1lbnVzXCI+PC9tZWN4LWZpbHRlci1zZWxlY3RlZD5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLWZpbHRlcnNcIj5cbiAgICAgICAgPG1vbmtleS1idXR0b24gdHlwZT1cImZpbHRlclwiIGNvbG9yPVwiYm9yZGVyXCIgaWNvbj1cIm1vcmUtMTZcIiBpZD1cIm1lY3gtZmlsdGVycy1hZGQtZmlsdGVyXCJcbiAgICAgICAgICAoY2xpY2spPVwib25IYW5kbGVTaG93TWVudSgpXCI+XG4gICAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cIm9yZGVyIGhpZGRlbi1tZCBoaWRkZW4tbGdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwib3JkZXJCeVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bWVjeC1maWx0ZXItbWVudVxuICAqbW9ua2V5ZWN4UG9wb3Zlcj1cIl9zaG93TWVudTsgdGFyZ2V0OiAkYW55KF9hY3Rpb25FbGVtZW50KTsgY2xvc2VkOiBjbG9zZU1lbnU7IGRpcjogJ2x0cidcIlxuICAob25TdWJtaXQpPVwib25IYW5kbGVTdWJtaXQoJGV2ZW50KVwiIChvbkNsb3NlKT1cIm9uSGFuZGxlQ2xvc2UoKVwiIFttb2RlbF09XCJtZW51c1wiPlxuPC9tZWN4LWZpbHRlci1tZW51PlxuXG48bmctdGVtcGxhdGUgI29yZGVyQnk+XG4gIDxtb25rZXktc2VsZWN0LWZpbHRlciAob25DaGFuZ2UpPVwib25IYW5kbGVPcmRlcigkZXZlbnQpXCIgW3BsYWNlaG9sZGVyXT1cIm9yZGVyUGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiB0eXBlPVwibm9uZVwiXG4gICAgWyh2YWx1ZSldPVwiX29yZGVyXCI+XG4gICAgPG1vbmtleS1vcHRpb24gKm5nRm9yPVwibGV0IG9yZEJ5IG9mIG9yZGVyc1wiIFtsYWJlbF09XCJvcmRCeT8ubGFiZWwgfCB0cmFuc2xhdGVcIiBbdmFsdWVdPVwib3JkQnk/LnZhbHVlXCI+XG4gICAgPC9tb25rZXktb3B0aW9uPlxuICA8L21vbmtleS1zZWxlY3QtZmlsdGVyPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { MonkeyEcxUtils } from 'monkey-front-core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "monkey-style-guide";
|
|
5
|
+
import * as i2 from "./selected/selected.component";
|
|
6
|
+
import * as i3 from "./menu/menu.component";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "monkey-front-core";
|
|
9
|
+
import * as i6 from "@ngx-translate/core";
|
|
10
|
+
export class MECXFilterComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.searchPlaceholder = '';
|
|
13
|
+
this.orderPlaceholder = '';
|
|
14
|
+
this.menus = [];
|
|
15
|
+
this.orders = [];
|
|
16
|
+
this.enableSearch = true;
|
|
17
|
+
this.isLoading = false;
|
|
18
|
+
this.onFilter = new EventEmitter();
|
|
19
|
+
this._order = null;
|
|
20
|
+
this._search = '';
|
|
21
|
+
this._showMenu = false;
|
|
22
|
+
this._hasFilterByMenu = false;
|
|
23
|
+
this._actionElement = null;
|
|
24
|
+
this.closeMenu = () => {
|
|
25
|
+
this._showMenu = false;
|
|
26
|
+
};
|
|
27
|
+
// not to do
|
|
28
|
+
}
|
|
29
|
+
set search(value) {
|
|
30
|
+
this._search = value;
|
|
31
|
+
}
|
|
32
|
+
set order(value) {
|
|
33
|
+
this._order = value;
|
|
34
|
+
}
|
|
35
|
+
validateValue({ field, value, getValue }) {
|
|
36
|
+
try {
|
|
37
|
+
value = value || getValue()?.[field];
|
|
38
|
+
if (!value)
|
|
39
|
+
return false;
|
|
40
|
+
if (typeof value === 'object') {
|
|
41
|
+
return value && JSON.stringify(value) !== '{}';
|
|
42
|
+
}
|
|
43
|
+
return MonkeyEcxUtils.persistNullEmptyUndefined(value);
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
// not to do
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
handleFilters() {
|
|
51
|
+
const { menus } = this;
|
|
52
|
+
let found = menus.find((_) => {
|
|
53
|
+
return this.validateValue(_);
|
|
54
|
+
});
|
|
55
|
+
if (!found) {
|
|
56
|
+
found = menus.find(({ children }) => {
|
|
57
|
+
return (children || [])?.find((_) => {
|
|
58
|
+
return this.validateValue(_);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
this._hasFilterByMenu = !!found;
|
|
63
|
+
}
|
|
64
|
+
ngOnChanges(changes) {
|
|
65
|
+
if (changes.menus) {
|
|
66
|
+
const { currentValue } = changes.menus;
|
|
67
|
+
if (currentValue && JSON.stringify(currentValue) !== '{}') {
|
|
68
|
+
this.handleFilters();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
onSearchFilter(event) {
|
|
73
|
+
this.onFilter.next({ search: event });
|
|
74
|
+
}
|
|
75
|
+
onClearFilter() {
|
|
76
|
+
this._search = '';
|
|
77
|
+
this.onFilter.next({ search: null });
|
|
78
|
+
}
|
|
79
|
+
onHandleSubmit(event) {
|
|
80
|
+
this.onFilter.next(event);
|
|
81
|
+
}
|
|
82
|
+
onHandleShowMenu() {
|
|
83
|
+
this._actionElement = document.getElementById('mecx-filters-add-filter');
|
|
84
|
+
setTimeout(() => {
|
|
85
|
+
this._showMenu = true;
|
|
86
|
+
}, 0);
|
|
87
|
+
}
|
|
88
|
+
onHandleClose() {
|
|
89
|
+
this._showMenu = false;
|
|
90
|
+
}
|
|
91
|
+
onHandleOrder(event) {
|
|
92
|
+
this.onFilter.next({ sort: event });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
MECXFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
+
MECXFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXFilterComponent, selector: "mecx-filter", inputs: { searchPlaceholder: "searchPlaceholder", orderPlaceholder: "orderPlaceholder", menus: "menus", orders: "orders", enableSearch: "enableSearch", search: "search", order: "order", isLoading: "isLoading" }, outputs: { onFilter: "onFilter" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex flex-column full-width\">\n <div class=\"d-flex flex-column flex-md-row justify-content-between\">\n <div class=\"d-flex full-width\">\n <ng-container *ngIf=\"enableSearch\">\n <monkey-input-filter [placeholder]=\"searchPlaceholder | translate\"\n (onChange)=\"onSearchFilter($event)\" icon=\"search-16\" iconPosition=\"left\"\n [(value)]=\"_search\">\n </monkey-input-filter>\n </ng-container>\n <ng-container *ngIf=\"!_hasFilterByMenu\">\n <div class=\"d-flex actions\" id=\"mecx-filters-add-filter\">\n <monkey-button type=\"filter\" color=\"border\" (click)=\"onHandleShowMenu()\" icon=\"more-16\"\n iconPosition=\"right\">\n {{ 'BUTTONS.ADD-FILTER' | translate }}\n </monkey-button>\n </div>\n </ng-container>\n </div>\n <div class=\"order hidden-sm hidden-xs\">\n <ng-container *ngTemplateOutlet=\"orderBy\"></ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"_hasFilterByMenu\">\n <div class=\"separator\"></div>\n <div class=\"d-flex full-width\">\n <mecx-filter-selected (onSubmit)=\"onHandleSubmit($event)\" (onClose)=\"onHandleClose()\"\n [model]=\"menus\"></mecx-filter-selected>\n <div class=\"more-filters\">\n <monkey-button type=\"filter\" color=\"border\" icon=\"more-16\" id=\"mecx-filters-add-filter\"\n (click)=\"onHandleShowMenu()\">\n </monkey-button>\n </div>\n </div>\n </ng-container>\n <div class=\"order hidden-md hidden-lg\">\n <ng-container *ngTemplateOutlet=\"orderBy\"></ng-container>\n </div>\n</div>\n\n<mecx-filter-menu\n *monkeyecxPopover=\"_showMenu; target: $any(_actionElement); closed: closeMenu; dir: 'ltr'\"\n (onSubmit)=\"onHandleSubmit($event)\" (onClose)=\"onHandleClose()\" [model]=\"menus\">\n</mecx-filter-menu>\n\n<ng-template #orderBy>\n <monkey-select-filter (onChange)=\"onHandleOrder($event)\" [placeholder]=\"orderPlaceholder | translate\" type=\"none\"\n [(value)]=\"_order\">\n <monkey-option *ngFor=\"let ordBy of orders\" [label]=\"ordBy?.label | translate\" [value]=\"ordBy?.value\">\n </monkey-option>\n </monkey-select-filter>\n</ng-template>", styles: [":host{display:flex;width:100%;align-items:center}@media screen and (max-width: 959px){:host{flex-direction:column;max-width:100%}:host ::ng-deep monkey-input-filter{width:100%}:host ::ng-deep monkey-select-filter{width:100%}:host ::ng-deep monkey-button{width:100%}:host ::ng-deep monkey-button button{width:100%}}@media screen and (min-width: 960px){:host .actions ::ng-deep monkey-button{margin-left:8px}:host .actions ::ng-deep monkey-button button{width:170px}}:host .more-filters ::ng-deep monkey-button monkey-icon{margin-right:unset!important}@media screen and (min-width: 960px){:host .order{width:230px}}@media screen and (max-width: 959px){:host .order{margin-top:8px}}:host ::ng-deep monkey-button{margin-bottom:0}:host ::ng-deep mecx-form-field-filter mecx-form-field-body{height:40px;margin:0}@media screen and (min-width: 960px){:host ::ng-deep monkey-input-filter{width:464px}}:host .separator{border-bottom:1px solid #ebebeb;margin-top:16px;margin-bottom:16px}\n"], components: [{ type: i1.MonkeyInputFilterComponent, selector: "monkey-input-filter", inputs: ["name", "label", "helperMessage", "placeholder", "icon", "type", "infoMessage", "errorMessage", "mask", "prefix", "onlyNumber", "onlyAlphaNumeric", "upperCase", "lowerCase", "capitalize", "currency", "iconPosition", "value"], outputs: ["onChange"] }, { type: i1.MonkeyButtonComponent, selector: "monkey-button", inputs: ["label", "icon", "iconPosition", "type", "color", "disabled", "size"] }, { type: i2.MECXFilterSelectedComponent, selector: "mecx-filter-selected", inputs: ["model"], outputs: ["onOpenFilters", "onClose", "onSubmit"] }, { type: i3.MECXFilterMenuComponent, selector: "mecx-filter-menu", inputs: ["model"], outputs: ["onClose", "onSubmit"] }, { type: i1.MonkeySelectFilterComponent, selector: "monkey-select-filter", inputs: ["placeholder", "icon", "type", "value"], outputs: ["onChange"] }, { type: i1.MonkeyOptionComponent, selector: "monkey-option", inputs: ["type", "label", "value", "selectAll", "selected", "enableClick"], outputs: ["onSelectOption"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.MonkeyEcxPopoverDirective, selector: "[monkeyecxPopover]", inputs: ["monkeyecxPopover", "monkeyecxPopoverClosed", "monkeyecxPopoverTarget", "monkeyecxPopoverMinwidth", "monkeyecxPopoverBackdrop", "monkeyecxPopoverWatch", "monkeyecxPopoverDir", "monkeyecxPopoverContextmenu", "monkeyecxPopoverHeight"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i6.TranslatePipe } });
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXFilterComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'mecx-filter', template: "<div class=\"d-flex flex-column full-width\">\n <div class=\"d-flex flex-column flex-md-row justify-content-between\">\n <div class=\"d-flex full-width\">\n <ng-container *ngIf=\"enableSearch\">\n <monkey-input-filter [placeholder]=\"searchPlaceholder | translate\"\n (onChange)=\"onSearchFilter($event)\" icon=\"search-16\" iconPosition=\"left\"\n [(value)]=\"_search\">\n </monkey-input-filter>\n </ng-container>\n <ng-container *ngIf=\"!_hasFilterByMenu\">\n <div class=\"d-flex actions\" id=\"mecx-filters-add-filter\">\n <monkey-button type=\"filter\" color=\"border\" (click)=\"onHandleShowMenu()\" icon=\"more-16\"\n iconPosition=\"right\">\n {{ 'BUTTONS.ADD-FILTER' | translate }}\n </monkey-button>\n </div>\n </ng-container>\n </div>\n <div class=\"order hidden-sm hidden-xs\">\n <ng-container *ngTemplateOutlet=\"orderBy\"></ng-container>\n </div>\n </div>\n <ng-container *ngIf=\"_hasFilterByMenu\">\n <div class=\"separator\"></div>\n <div class=\"d-flex full-width\">\n <mecx-filter-selected (onSubmit)=\"onHandleSubmit($event)\" (onClose)=\"onHandleClose()\"\n [model]=\"menus\"></mecx-filter-selected>\n <div class=\"more-filters\">\n <monkey-button type=\"filter\" color=\"border\" icon=\"more-16\" id=\"mecx-filters-add-filter\"\n (click)=\"onHandleShowMenu()\">\n </monkey-button>\n </div>\n </div>\n </ng-container>\n <div class=\"order hidden-md hidden-lg\">\n <ng-container *ngTemplateOutlet=\"orderBy\"></ng-container>\n </div>\n</div>\n\n<mecx-filter-menu\n *monkeyecxPopover=\"_showMenu; target: $any(_actionElement); closed: closeMenu; dir: 'ltr'\"\n (onSubmit)=\"onHandleSubmit($event)\" (onClose)=\"onHandleClose()\" [model]=\"menus\">\n</mecx-filter-menu>\n\n<ng-template #orderBy>\n <monkey-select-filter (onChange)=\"onHandleOrder($event)\" [placeholder]=\"orderPlaceholder | translate\" type=\"none\"\n [(value)]=\"_order\">\n <monkey-option *ngFor=\"let ordBy of orders\" [label]=\"ordBy?.label | translate\" [value]=\"ordBy?.value\">\n </monkey-option>\n </monkey-select-filter>\n</ng-template>", styles: [":host{display:flex;width:100%;align-items:center}@media screen and (max-width: 959px){:host{flex-direction:column;max-width:100%}:host ::ng-deep monkey-input-filter{width:100%}:host ::ng-deep monkey-select-filter{width:100%}:host ::ng-deep monkey-button{width:100%}:host ::ng-deep monkey-button button{width:100%}}@media screen and (min-width: 960px){:host .actions ::ng-deep monkey-button{margin-left:8px}:host .actions ::ng-deep monkey-button button{width:170px}}:host .more-filters ::ng-deep monkey-button monkey-icon{margin-right:unset!important}@media screen and (min-width: 960px){:host .order{width:230px}}@media screen and (max-width: 959px){:host .order{margin-top:8px}}:host ::ng-deep monkey-button{margin-bottom:0}:host ::ng-deep mecx-form-field-filter mecx-form-field-body{height:40px;margin:0}@media screen and (min-width: 960px){:host ::ng-deep monkey-input-filter{width:464px}}:host .separator{border-bottom:1px solid #ebebeb;margin-top:16px;margin-bottom:16px}\n"] }]
|
|
100
|
+
}], ctorParameters: function () { return []; }, propDecorators: { searchPlaceholder: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], orderPlaceholder: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], menus: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], orders: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], enableSearch: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], search: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], order: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], isLoading: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], onFilter: [{
|
|
117
|
+
type: Output
|
|
118
|
+
}] } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUE2QyxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7QUFPOUYsTUFBTSxPQUFPLG1CQUFtQjtJQXVDOUI7UUF0Q1Msc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBRXZCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUV0QixVQUFLLEdBQTBCLEVBQUUsQ0FBQztRQUVsQyxXQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUVwQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQVlwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTdDLFdBQU0sR0FBeUIsSUFBSSxDQUFDO1FBRXBDLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFYixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixtQkFBYyxHQUFnQixJQUFJLENBQUM7UUFFbkMsY0FBUyxHQUFHLEdBQUcsRUFBRTtZQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQUdBLFlBQVk7SUFDZCxDQUFDO0lBOUJE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QUFDLEtBQVU7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOztnSEEzR1UsbUJBQW1CO29HQUFuQixtQkFBbUIsK1RDUmhDLHFyRUFrRGM7MkZEMUNELG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhOzBFQUtkLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdGLE1BQU07c0JBRFQsS0FBSztnQkFNRixLQUFLO3NCQURSLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RmlsdGVyTWVudSwgTW9ua2V5RWN4RmlsdGVyT3JkZXIsIE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnbW9ua2V5LWZyb250LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZWN4LWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNRUNYRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKSBvcmRlclBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KCkgbWVudXM6IE1vbmtleUVjeEZpbHRlck1lbnVbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIG9yZGVyczogTW9ua2V5RWN4RmlsdGVyT3JkZXJbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIGVuYWJsZVNlYXJjaCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2V0IHNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VhcmNoID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgb3JkZXIodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX29yZGVyID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgb25GaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBfb3JkZXI6IE1vbmtleUVjeEZpbHRlck9yZGVyID0gbnVsbDtcblxuICBfc2VhcmNoID0gJyc7XG5cbiAgX3Nob3dNZW51ID0gZmFsc2U7XG5cbiAgX2hhc0ZpbHRlckJ5TWVudSA9IGZhbHNlO1xuXG4gIF9hY3Rpb25FbGVtZW50OiBIVE1MRWxlbWVudCA9IG51bGw7XG5cbiAgY2xvc2VNZW51ID0gKCkgPT4ge1xuICAgIHRoaXMuX3Nob3dNZW51ID0gZmFsc2U7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlVmFsdWUoeyBmaWVsZCwgdmFsdWUsIGdldFZhbHVlIH06IGFueSkge1xuICAgIHRyeSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlIHx8IGdldFZhbHVlKCk/LltmaWVsZF07XG4gICAgICBpZiAoIXZhbHVlKSByZXR1cm4gZmFsc2U7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gdmFsdWUgJiYgSlNPTi5zdHJpbmdpZnkodmFsdWUpICE9PSAne30nO1xuICAgICAgfVxuICAgICAgcmV0dXJuIE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodmFsdWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG5vdCB0byBkb1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUZpbHRlcnMoKSB7XG4gICAgY29uc3QgeyBtZW51cyB9ID0gdGhpcztcbiAgICBsZXQgZm91bmQgPSBtZW51cy5maW5kKChfOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlVmFsdWUoXyk7XG4gICAgfSk7XG4gICAgaWYgKCFmb3VuZCkge1xuICAgICAgZm91bmQgPSBtZW51cy5maW5kKCh7IGNoaWxkcmVuIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIChjaGlsZHJlbiB8fCBbXSk/LmZpbmQoKF86IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlVmFsdWUoXyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuX2hhc0ZpbHRlckJ5TWVudSA9ICEhZm91bmQ7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMubWVudXMpIHtcbiAgICAgIGNvbnN0IHsgY3VycmVudFZhbHVlIH0gPSBjaGFuZ2VzLm1lbnVzO1xuICAgICAgaWYgKGN1cnJlbnRWYWx1ZSAmJiBKU09OLnN0cmluZ2lmeShjdXJyZW50VmFsdWUpICE9PSAne30nKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRmlsdGVycygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoRmlsdGVyKGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLm9uRmlsdGVyLm5leHQoeyBzZWFyY2g6IGV2ZW50IH0pO1xuICB9XG5cbiAgb25DbGVhckZpbHRlcigpIHtcbiAgICB0aGlzLl9zZWFyY2ggPSAnJztcbiAgICB0aGlzLm9uRmlsdGVyLm5leHQoeyBzZWFyY2g6IG51bGwgfSk7XG4gIH1cblxuICBvbkhhbmRsZVN1Ym1pdChldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkZpbHRlci5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIG9uSGFuZGxlU2hvd01lbnUoKSB7XG4gICAgdGhpcy5fYWN0aW9uRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWN4LWZpbHRlcnMtYWRkLWZpbHRlcicpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fc2hvd01lbnUgPSB0cnVlO1xuICAgIH0sIDApO1xuICB9XG5cbiAgb25IYW5kbGVDbG9zZSgpIHtcbiAgICB0aGlzLl9zaG93TWVudSA9IGZhbHNlO1xuICB9XG5cbiAgb25IYW5kbGVPcmRlcihldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkZpbHRlci5uZXh0KHsgc29ydDogZXZlbnQgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZnVsbC13aWR0aFwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbWQtcm93IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmdWxsLXdpZHRoXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW5hYmxlU2VhcmNoXCI+XG4gICAgICAgIDxtb25rZXktaW5wdXQtZmlsdGVyIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uU2VhcmNoRmlsdGVyKCRldmVudClcIiBpY29uPVwic2VhcmNoLTE2XCIgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgWyh2YWx1ZSldPVwiX3NlYXJjaFwiPlxuICAgICAgICA8L21vbmtleS1pbnB1dC1maWx0ZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhX2hhc0ZpbHRlckJ5TWVudVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFjdGlvbnNcIiBpZD1cIm1lY3gtZmlsdGVycy1hZGQtZmlsdGVyXCI+XG4gICAgICAgICAgPG1vbmtleS1idXR0b24gdHlwZT1cImZpbHRlclwiIGNvbG9yPVwiYm9yZGVyXCIgKGNsaWNrKT1cIm9uSGFuZGxlU2hvd01lbnUoKVwiIGljb249XCJtb3JlLTE2XCJcbiAgICAgICAgICAgIGljb25Qb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICAgICAgICB7eyAnQlVUVE9OUy5BREQtRklMVEVSJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwib3JkZXIgaGlkZGVuLXNtIGhpZGRlbi14c1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm9yZGVyQnlcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJfaGFzRmlsdGVyQnlNZW51XCI+XG4gICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZnVsbC13aWR0aFwiPlxuICAgICAgPG1lY3gtZmlsdGVyLXNlbGVjdGVkIChvblN1Ym1pdCk9XCJvbkhhbmRsZVN1Ym1pdCgkZXZlbnQpXCIgKG9uQ2xvc2UpPVwib25IYW5kbGVDbG9zZSgpXCJcbiAgICAgICAgW21vZGVsXT1cIm1lbnVzXCI+PC9tZWN4LWZpbHRlci1zZWxlY3RlZD5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLWZpbHRlcnNcIj5cbiAgICAgICAgPG1vbmtleS1idXR0b24gdHlwZT1cImZpbHRlclwiIGNvbG9yPVwiYm9yZGVyXCIgaWNvbj1cIm1vcmUtMTZcIiBpZD1cIm1lY3gtZmlsdGVycy1hZGQtZmlsdGVyXCJcbiAgICAgICAgICAoY2xpY2spPVwib25IYW5kbGVTaG93TWVudSgpXCI+XG4gICAgICAgIDwvbW9ua2V5LWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cIm9yZGVyIGhpZGRlbi1tZCBoaWRkZW4tbGdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwib3JkZXJCeVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bWVjeC1maWx0ZXItbWVudVxuICAqbW9ua2V5ZWN4UG9wb3Zlcj1cIl9zaG93TWVudTsgdGFyZ2V0OiAkYW55KF9hY3Rpb25FbGVtZW50KTsgY2xvc2VkOiBjbG9zZU1lbnU7IGRpcjogJ2x0cidcIlxuICAob25TdWJtaXQpPVwib25IYW5kbGVTdWJtaXQoJGV2ZW50KVwiIChvbkNsb3NlKT1cIm9uSGFuZGxlQ2xvc2UoKVwiIFttb2RlbF09XCJtZW51c1wiPlxuPC9tZWN4LWZpbHRlci1tZW51PlxuXG48bmctdGVtcGxhdGUgI29yZGVyQnk+XG4gIDxtb25rZXktc2VsZWN0LWZpbHRlciAob25DaGFuZ2UpPVwib25IYW5kbGVPcmRlcigkZXZlbnQpXCIgW3BsYWNlaG9sZGVyXT1cIm9yZGVyUGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiB0eXBlPVwibm9uZVwiXG4gICAgWyh2YWx1ZSldPVwiX29yZGVyXCI+XG4gICAgPG1vbmtleS1vcHRpb24gKm5nRm9yPVwibGV0IG9yZEJ5IG9mIG9yZGVyc1wiIFtsYWJlbF09XCJvcmRCeT8ubGFiZWwgfCB0cmFuc2xhdGVcIiBbdmFsdWVdPVwib3JkQnk/LnZhbHVlXCI+XG4gICAgPC9tb25rZXktb3B0aW9uPlxuICA8L21vbmtleS1zZWxlY3QtZmlsdGVyPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|