@firestitch/filter 12.6.0 → 12.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/classes/actions-controller.d.ts +38 -38
- package/app/components/action-button/action-button.component.d.ts +7 -7
- package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
- package/app/components/actions/actions.component.d.ts +8 -8
- package/app/components/filter/filter.component.d.ts +192 -192
- package/app/components/filter-chip/filter-chip.component.d.ts +26 -26
- package/app/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
- package/app/components/filter-chips/filter-chips.component.d.ts +8 -8
- package/app/components/filter-drawer/filter-drawer.component.d.ts +30 -30
- package/app/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +15 -15
- package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +13 -13
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +20 -20
- package/app/components/filters-item/base-item/base-item.component.d.ts +23 -23
- package/app/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
- package/app/components/filters-item/chips/chips.component.d.ts +13 -13
- package/app/components/filters-item/date/date.component.d.ts +19 -19
- package/app/components/filters-item/date-range/date-range.component.d.ts +14 -14
- package/app/components/filters-item/filter-item.component.d.ts +15 -15
- package/app/components/filters-item/range/range.component.d.ts +15 -15
- package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
- package/app/components/filters-item/select/groups/groups.component.d.ts +12 -12
- package/app/components/filters-item/select/multiple/multiple.component.d.ts +15 -14
- package/app/components/filters-item/select/select.component.d.ts +16 -16
- package/app/components/filters-item/select/simple/simple.component.d.ts +14 -14
- package/app/components/filters-item/text/text.component.d.ts +19 -19
- package/app/components/filters-item/week/week.component.d.ts +12 -12
- package/app/components/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
- package/app/components/saved-filters-menu/saved-filters-menu.component.d.ts +23 -23
- package/app/consts/query-param-delimiter.d.ts +1 -1
- package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
- package/app/directives/status-bar/status-bar.directive.d.ts +5 -5
- package/app/enums/action-mode.enum.d.ts +5 -5
- package/app/enums/action-type.enum.d.ts +7 -7
- package/app/enums/item-date-mode.enum.d.ts +5 -5
- package/app/enums/item-type.enum.d.ts +15 -15
- package/app/fs-filter.module.d.ts +64 -64
- package/app/helpers/build-query-params.d.ts +3 -3
- package/app/helpers/compare.d.ts +2 -2
- package/app/helpers/create-filter-item.d.ts +13 -13
- package/app/helpers/find-value.d.ts +1 -1
- package/app/helpers/get-range-name.d.ts +1 -1
- package/app/helpers/parse-date.d.ts +1 -1
- package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
- package/app/helpers/query-param-transformers.d.ts +2 -2
- package/app/helpers/restore-items.d.ts +12 -12
- package/app/helpers/try-convert-to-number.d.ts +1 -1
- package/app/injectors/filter-config.d.ts +2 -2
- package/app/injectors/filter-drawer-data.d.ts +2 -2
- package/app/injectors/filter-drawer-overlay.d.ts +2 -2
- package/app/interfaces/action.interface.d.ts +69 -69
- package/app/interfaces/config.interface.d.ts +61 -61
- package/app/interfaces/external-params.interface.d.ts +3 -3
- package/app/interfaces/filter.interface.d.ts +4 -4
- package/app/interfaces/items/autocomplete-chips.interface.d.ts +12 -12
- package/app/interfaces/items/autocomplete.interface.d.ts +6 -6
- package/app/interfaces/items/base.interface.d.ts +27 -27
- package/app/interfaces/items/checkbox.interface.d.ts +7 -7
- package/app/interfaces/items/chips.interface.d.ts +6 -6
- package/app/interfaces/items/date-range.interface.d.ts +8 -8
- package/app/interfaces/items/date.interface.d.ts +7 -7
- package/app/interfaces/items/range.interface.d.ts +13 -13
- package/app/interfaces/items/select.interface.d.ts +20 -20
- package/app/interfaces/items/text.interface.d.ts +9 -9
- package/app/interfaces/items/week.interface.d.ts +7 -7
- package/app/interfaces/saved-filters.interface.d.ts +18 -18
- package/app/interfaces/update-filter-item.interface.d.ts +4 -4
- package/app/models/action-menu-item.model.d.ts +23 -23
- package/app/models/action.model.d.ts +45 -45
- package/app/models/filter-config.d.ts +30 -30
- package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
- package/app/models/items/autocomplete-chips-item.d.ts +19 -19
- package/app/models/items/autocomplete-item.d.ts +10 -10
- package/app/models/items/base-item.d.ts +75 -75
- package/app/models/items/checkbox-item.d.ts +16 -16
- package/app/models/items/chips-item.d.ts +17 -17
- package/app/models/items/date/base-date-item.d.ts +14 -14
- package/app/models/items/date-item.d.ts +7 -7
- package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
- package/app/models/items/date-range-item.d.ts +5 -5
- package/app/models/items/date-time-item.d.ts +6 -6
- package/app/models/items/date-time-range-item.d.ts +5 -5
- package/app/models/items/range-item.d.ts +22 -22
- package/app/models/items/select/base-select-item.d.ts +13 -13
- package/app/models/items/select/multiple-select-item.d.ts +13 -12
- package/app/models/items/select/simple-select-item.d.ts +12 -12
- package/app/models/items/select-item.d.ts +7 -7
- package/app/models/items/text-item.d.ts +14 -14
- package/app/models/items/week-item.d.ts +17 -17
- package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
- package/app/providers/filter-meta.d.ts +5 -5
- package/app/services/external-params/persistance-params-controller.service.d.ts +22 -22
- package/app/services/external-params/query-params-controller.service.d.ts +22 -22
- package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
- package/app/services/external-params-controller.service.d.ts +44 -44
- package/app/services/filter-overlay.service.d.ts +34 -34
- package/app/services/focus-controller.service.d.ts +18 -18
- package/app/services/items-store.service.d.ts +65 -65
- package/bundles/firestitch-filter.umd.js +5371 -5334
- package/bundles/firestitch-filter.umd.js.map +1 -1
- package/esm2015/app/classes/actions-controller.js +123 -122
- package/esm2015/app/components/action-button/action-button.component.js +24 -23
- package/esm2015/app/components/action-kebab-actions/action-kebab-actions.component.js +21 -21
- package/esm2015/app/components/actions/actions.component.js +29 -29
- package/esm2015/app/components/filter/filter.component.js +617 -617
- package/esm2015/app/components/filter-chip/filter-chip.component.js +91 -89
- package/esm2015/app/components/filter-chip-content/filter-chip-content.component.js +84 -83
- package/esm2015/app/components/filter-chips/filter-chips.component.js +24 -24
- package/esm2015/app/components/filter-drawer/filter-drawer.component.js +76 -73
- package/esm2015/app/components/filter-drawer-actions/filter-drawer-actions.component.js +43 -42
- package/esm2015/app/components/filters-item/autocomplete/autocomplete.component.js +30 -30
- package/esm2015/app/components/filters-item/autocompletechips/autocompletechips.component.js +52 -52
- package/esm2015/app/components/filters-item/base-item/base-item.component.js +59 -59
- package/esm2015/app/components/filters-item/checkbox/checkbox.component.js +25 -25
- package/esm2015/app/components/filters-item/chips/chips.component.js +32 -32
- package/esm2015/app/components/filters-item/date/date.component.js +45 -45
- package/esm2015/app/components/filters-item/date-range/date-range.component.js +36 -36
- package/esm2015/app/components/filters-item/filter-item.component.js +48 -47
- package/esm2015/app/components/filters-item/range/range.component.js +49 -49
- package/esm2015/app/components/filters-item/select/backdrop/backdrop.component.js +16 -16
- package/esm2015/app/components/filters-item/select/groups/groups.component.js +33 -32
- package/esm2015/app/components/filters-item/select/multiple/multiple.component.js +61 -59
- package/esm2015/app/components/filters-item/select/select.component.js +44 -44
- package/esm2015/app/components/filters-item/select/simple/simple.component.js +47 -45
- package/esm2015/app/components/filters-item/text/text.component.js +54 -54
- package/esm2015/app/components/filters-item/week/week.component.js +28 -28
- package/esm2015/app/components/saved-filter-edit/saved-filter-edit.component.js +55 -55
- package/esm2015/app/components/saved-filters-menu/saved-filters-menu.component.js +58 -55
- package/esm2015/app/consts/query-param-delimiter.js +1 -1
- package/esm2015/app/directives/focus-to-item/focus-to-item.directive.js +130 -125
- package/esm2015/app/directives/status-bar/status-bar.directive.js +12 -12
- package/esm2015/app/enums/action-mode.enum.js +6 -6
- package/esm2015/app/enums/action-type.enum.js +8 -8
- package/esm2015/app/enums/item-date-mode.enum.js +6 -6
- package/esm2015/app/enums/item-type.enum.js +16 -16
- package/esm2015/app/fs-filter.module.js +234 -234
- package/esm2015/app/helpers/build-query-params.js +32 -32
- package/esm2015/app/helpers/compare.js +37 -37
- package/esm2015/app/helpers/create-filter-item.js +54 -54
- package/esm2015/app/helpers/find-value.js +12 -12
- package/esm2015/app/helpers/get-range-name.js +8 -8
- package/esm2015/app/helpers/parse-date.js +7 -7
- package/esm2015/app/helpers/parse-item-value-from-stored.js +81 -81
- package/esm2015/app/helpers/query-param-transformers.js +8 -8
- package/esm2015/app/helpers/restore-items.js +48 -48
- package/esm2015/app/helpers/try-convert-to-number.js +5 -5
- package/esm2015/app/injectors/filter-config.js +2 -2
- package/esm2015/app/injectors/filter-drawer-data.js +2 -2
- package/esm2015/app/injectors/filter-drawer-overlay.js +2 -2
- package/esm2015/app/interfaces/action.interface.js +1 -1
- package/esm2015/app/interfaces/config.interface.js +1 -1
- package/esm2015/app/interfaces/external-params.interface.js +1 -1
- package/esm2015/app/interfaces/filter.interface.js +1 -1
- package/esm2015/app/interfaces/items/autocomplete-chips.interface.js +1 -1
- package/esm2015/app/interfaces/items/autocomplete.interface.js +1 -1
- package/esm2015/app/interfaces/items/base.interface.js +1 -1
- package/esm2015/app/interfaces/items/checkbox.interface.js +1 -1
- package/esm2015/app/interfaces/items/chips.interface.js +1 -1
- package/esm2015/app/interfaces/items/date-range.interface.js +1 -1
- package/esm2015/app/interfaces/items/date.interface.js +1 -1
- package/esm2015/app/interfaces/items/range.interface.js +1 -1
- package/esm2015/app/interfaces/items/select.interface.js +1 -1
- package/esm2015/app/interfaces/items/text.interface.js +1 -1
- package/esm2015/app/interfaces/items/week.interface.js +1 -1
- package/esm2015/app/interfaces/saved-filters.interface.js +1 -1
- package/esm2015/app/interfaces/update-filter-item.interface.js +1 -1
- package/esm2015/app/models/action-menu-item.model.js +66 -66
- package/esm2015/app/models/action.model.js +102 -102
- package/esm2015/app/models/filter-config.js +65 -65
- package/esm2015/app/models/items/autocomplete/base-autocomplete-item.js +13 -13
- package/esm2015/app/models/items/autocomplete-chips-item.js +61 -61
- package/esm2015/app/models/items/autocomplete-item.js +31 -31
- package/esm2015/app/models/items/base-item.js +233 -233
- package/esm2015/app/models/items/checkbox-item.js +47 -47
- package/esm2015/app/models/items/chips-item.js +83 -83
- package/esm2015/app/models/items/date/base-date-item.js +47 -47
- package/esm2015/app/models/items/date-item.js +18 -18
- package/esm2015/app/models/items/date-range/base-date-range-item.js +136 -136
- package/esm2015/app/models/items/date-range-item.js +6 -6
- package/esm2015/app/models/items/date-time-item.js +9 -9
- package/esm2015/app/models/items/date-time-range-item.js +6 -6
- package/esm2015/app/models/items/range-item.js +88 -88
- package/esm2015/app/models/items/select/base-select-item.js +33 -33
- package/esm2015/app/models/items/select/multiple-select-item.js +90 -69
- package/esm2015/app/models/items/select/simple-select-item.js +62 -62
- package/esm2015/app/models/items/select-item.js +12 -12
- package/esm2015/app/models/items/text-item.js +29 -29
- package/esm2015/app/models/items/week-item.js +96 -96
- package/esm2015/app/pipes/remove-isolate-value.pipe.js +22 -22
- package/esm2015/app/providers/filter-meta.js +9 -9
- package/esm2015/app/services/external-params/persistance-params-controller.service.js +58 -52
- package/esm2015/app/services/external-params/query-params-controller.service.js +57 -55
- package/esm2015/app/services/external-params/saved-filters-controller.service.js +165 -163
- package/esm2015/app/services/external-params-controller.service.js +166 -161
- package/esm2015/app/services/filter-overlay.service.js +116 -115
- package/esm2015/app/services/focus-controller.service.js +29 -29
- package/esm2015/app/services/items-store.service.js +338 -324
- package/esm2015/firestitch-filter.js +4 -4
- package/esm2015/public_api.js +36 -36
- package/fesm2015/firestitch-filter.js +4290 -4257
- package/fesm2015/firestitch-filter.js.map +1 -1
- package/firestitch-filter.d.ts +5 -5
- package/package.json +1 -1
- package/public_api.d.ts +40 -40
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { BaseDateItem } from './date/base-date-item';
|
|
2
|
-
export class DateTimeItem extends BaseDateItem {
|
|
3
|
-
static create(config) {
|
|
4
|
-
return new DateTimeItem(config, null);
|
|
5
|
-
}
|
|
6
|
-
_clearValue(defaultValue = undefined) {
|
|
7
|
-
this.model = defaultValue !== null && defaultValue !== void 0 ? defaultValue : null;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
1
|
+
import { BaseDateItem } from './date/base-date-item';
|
|
2
|
+
export class DateTimeItem extends BaseDateItem {
|
|
3
|
+
static create(config) {
|
|
4
|
+
return new DateTimeItem(config, null);
|
|
5
|
+
}
|
|
6
|
+
_clearValue(defaultValue = undefined) {
|
|
7
|
+
this.model = defaultValue !== null && defaultValue !== void 0 ? defaultValue : null;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
10
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHckQsTUFBTSxPQUFPLFlBQWEsU0FBUSxZQUFZO0lBRXJDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBNkI7UUFDaEQsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVTLFdBQVcsQ0FBQyxlQUF3QixTQUFTO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxhQUFaLFlBQVksY0FBWixZQUFZLEdBQUksSUFBSSxDQUFDO0lBQ3BDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdEYXRlSXRlbSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9kYXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcblxuaW1wb3J0IHsgQmFzZURhdGVJdGVtIH0gZnJvbSAnLi9kYXRlL2Jhc2UtZGF0ZS1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVJdGVtIGV4dGVuZHMgQmFzZURhdGVJdGVtIHtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdEYXRlSXRlbSkge1xuICAgIHJldHVybiBuZXcgRGF0ZVRpbWVJdGVtKGNvbmZpZywgbnVsbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/PyBudWxsO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseDateRangeItem } from './date-range/base-date-range-item';
|
|
2
|
-
export class DateTimeRangeItem extends BaseDateRangeItem {
|
|
3
|
-
static create(config) {
|
|
4
|
-
return new DateTimeRangeItem(config, null);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
1
|
+
import { BaseDateRangeItem } from './date-range/base-date-range-item';
|
|
2
|
+
export class DateTimeRangeItem extends BaseDateRangeItem {
|
|
3
|
+
static create(config) {
|
|
4
|
+
return new DateTimeRangeItem(config, null);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
7
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXJhbmdlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtcmFuZ2UtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUd0RSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBRS9DLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBa0M7UUFDckQsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9pdGVtLXR5cGUuZW51bSc7XG5cbmltcG9ydCB7IEJhc2VEYXRlUmFuZ2VJdGVtIH0gZnJvbSAnLi9kYXRlLXJhbmdlL2Jhc2UtZGF0ZS1yYW5nZS1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVSYW5nZUl0ZW0gZXh0ZW5kcyBCYXNlRGF0ZVJhbmdlSXRlbSB7XG5cbiAgcHVibGljIHN0YXRpYyBjcmVhdGUoY29uZmlnOiBJRmlsdGVyQ29uZmlnRGF0ZVJhbmdlSXRlbSkge1xuICAgIHJldHVybiBuZXcgRGF0ZVRpbWVSYW5nZUl0ZW0oY29uZmlnLCBudWxsKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
import { clone, isObject } from 'lodash-es';
|
|
2
|
-
import { isEmpty } from '@firestitch/common';
|
|
3
|
-
import { getRangeName } from '../../helpers/get-range-name';
|
|
4
|
-
import { BaseItem } from './base-item';
|
|
5
|
-
export class RangeItem extends BaseItem {
|
|
6
|
-
static create(config, additionalConfig) {
|
|
7
|
-
return new RangeItem(config, additionalConfig);
|
|
8
|
-
}
|
|
9
|
-
get value() {
|
|
10
|
-
let value = clone(this.model);
|
|
11
|
-
if (!isObject(this.model) ||
|
|
12
|
-
(isEmpty(this.model.max, { zero: true }) && isEmpty(this.model.min, { zero: true }))) {
|
|
13
|
-
value = null;
|
|
14
|
-
}
|
|
15
|
-
return value;
|
|
16
|
-
}
|
|
17
|
-
get queryObject() {
|
|
18
|
-
const value = this.value;
|
|
19
|
-
const name = this.name;
|
|
20
|
-
const params = {};
|
|
21
|
-
const paramMinName = getRangeName(this.case, name, 'min');
|
|
22
|
-
const paramMaxName = getRangeName(this.case, name, 'max');
|
|
23
|
-
if (isObject(value)) {
|
|
24
|
-
params[paramMinName] = value.min || null;
|
|
25
|
-
params[paramMaxName] = value.max || null;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
params[paramMinName] = null;
|
|
29
|
-
params[paramMaxName] = null;
|
|
30
|
-
}
|
|
31
|
-
return params;
|
|
32
|
-
}
|
|
33
|
-
get isChipVisible() {
|
|
34
|
-
return this.model && (this.model.min !== undefined || this.model.max !== undefined);
|
|
35
|
-
}
|
|
36
|
-
getChipsContent(type) {
|
|
37
|
-
if (type === 'from') {
|
|
38
|
-
const min = this.model.min;
|
|
39
|
-
return `${min}`;
|
|
40
|
-
}
|
|
41
|
-
else if (type === 'to') {
|
|
42
|
-
const max = this.model.max;
|
|
43
|
-
return `${max}`;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
clearRange(type = null, defaultValue = undefined) {
|
|
47
|
-
if (type === 'from') {
|
|
48
|
-
delete this.model.min;
|
|
49
|
-
if (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.min) {
|
|
50
|
-
this.model.min = defaultValue.min;
|
|
51
|
-
}
|
|
52
|
-
this.model = Object.assign({}, this.model);
|
|
53
|
-
}
|
|
54
|
-
else if (type === 'to') {
|
|
55
|
-
delete this.model.max;
|
|
56
|
-
if (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.max) {
|
|
57
|
-
this.model.max = defaultValue.max;
|
|
58
|
-
}
|
|
59
|
-
this.model = Object.assign({}, this.model);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
if (defaultValue) {
|
|
63
|
-
this.model = Object.assign({}, defaultValue);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
this.model = {};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
_validateModel() {
|
|
71
|
-
}
|
|
72
|
-
_parseConfig(item) {
|
|
73
|
-
var _a, _b;
|
|
74
|
-
this.options = item.options;
|
|
75
|
-
this.prefix = item.prefix;
|
|
76
|
-
this.suffix = item.suffix;
|
|
77
|
-
this.case = (_b = (_a = this._additionalConfig) === null || _a === void 0 ? void 0 : _a.case) !== null && _b !== void 0 ? _b : 'camel';
|
|
78
|
-
super._parseConfig(item);
|
|
79
|
-
}
|
|
80
|
-
_init() {
|
|
81
|
-
if (!this.label) {
|
|
82
|
-
this.label = ['Min', 'Max'];
|
|
83
|
-
}
|
|
84
|
-
if (!this.model) {
|
|
85
|
-
this.model = this.defaultValue || {};
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
1
|
+
import { clone, isObject } from 'lodash-es';
|
|
2
|
+
import { isEmpty } from '@firestitch/common';
|
|
3
|
+
import { getRangeName } from '../../helpers/get-range-name';
|
|
4
|
+
import { BaseItem } from './base-item';
|
|
5
|
+
export class RangeItem extends BaseItem {
|
|
6
|
+
static create(config, additionalConfig) {
|
|
7
|
+
return new RangeItem(config, additionalConfig);
|
|
8
|
+
}
|
|
9
|
+
get value() {
|
|
10
|
+
let value = clone(this.model);
|
|
11
|
+
if (!isObject(this.model) ||
|
|
12
|
+
(isEmpty(this.model.max, { zero: true }) && isEmpty(this.model.min, { zero: true }))) {
|
|
13
|
+
value = null;
|
|
14
|
+
}
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
get queryObject() {
|
|
18
|
+
const value = this.value;
|
|
19
|
+
const name = this.name;
|
|
20
|
+
const params = {};
|
|
21
|
+
const paramMinName = getRangeName(this.case, name, 'min');
|
|
22
|
+
const paramMaxName = getRangeName(this.case, name, 'max');
|
|
23
|
+
if (isObject(value)) {
|
|
24
|
+
params[paramMinName] = value.min || null;
|
|
25
|
+
params[paramMaxName] = value.max || null;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
params[paramMinName] = null;
|
|
29
|
+
params[paramMaxName] = null;
|
|
30
|
+
}
|
|
31
|
+
return params;
|
|
32
|
+
}
|
|
33
|
+
get isChipVisible() {
|
|
34
|
+
return this.model && (this.model.min !== undefined || this.model.max !== undefined);
|
|
35
|
+
}
|
|
36
|
+
getChipsContent(type) {
|
|
37
|
+
if (type === 'from') {
|
|
38
|
+
const min = this.model.min;
|
|
39
|
+
return `${min}`;
|
|
40
|
+
}
|
|
41
|
+
else if (type === 'to') {
|
|
42
|
+
const max = this.model.max;
|
|
43
|
+
return `${max}`;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
clearRange(type = null, defaultValue = undefined) {
|
|
47
|
+
if (type === 'from') {
|
|
48
|
+
delete this.model.min;
|
|
49
|
+
if (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.min) {
|
|
50
|
+
this.model.min = defaultValue.min;
|
|
51
|
+
}
|
|
52
|
+
this.model = Object.assign({}, this.model);
|
|
53
|
+
}
|
|
54
|
+
else if (type === 'to') {
|
|
55
|
+
delete this.model.max;
|
|
56
|
+
if (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.max) {
|
|
57
|
+
this.model.max = defaultValue.max;
|
|
58
|
+
}
|
|
59
|
+
this.model = Object.assign({}, this.model);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
if (defaultValue) {
|
|
63
|
+
this.model = Object.assign({}, defaultValue);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.model = {};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
_validateModel() {
|
|
71
|
+
}
|
|
72
|
+
_parseConfig(item) {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
this.options = item.options;
|
|
75
|
+
this.prefix = item.prefix;
|
|
76
|
+
this.suffix = item.suffix;
|
|
77
|
+
this.case = (_b = (_a = this._additionalConfig) === null || _a === void 0 ? void 0 : _a.case) !== null && _b !== void 0 ? _b : 'camel';
|
|
78
|
+
super._parseConfig(item);
|
|
79
|
+
}
|
|
80
|
+
_init() {
|
|
81
|
+
if (!this.label) {
|
|
82
|
+
this.label = ['Min', 'Max'];
|
|
83
|
+
}
|
|
84
|
+
if (!this.model) {
|
|
85
|
+
this.model = this.defaultValue || {};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
89
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2l0ZW1zL3JhbmdlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU01RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3ZDLE1BQU0sT0FBTyxTQUFVLFNBQVEsUUFBZ0M7SUFFdEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUE4QixFQUFFLGdCQUF5QjtRQUM1RSxPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFTRCxJQUFXLEtBQUs7UUFDZCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDdEYsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNkO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2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TyxDQUFDO1FBRXBELEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVTLEtBQUs7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDN0I7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7U0FDdEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbG9uZSwgaXNPYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5cbmltcG9ydCB7IGdldFJhbmdlTmFtZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZ2V0LXJhbmdlLW5hbWUnO1xuaW1wb3J0IHtcbiAgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSxcbiAgSUZpbHRlckl0ZW1EZWZhdWx0UmFuZ2UsXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuL2Jhc2UtaXRlbSc7XG5cblxuZXhwb3J0IGNsYXNzIFJhbmdlSXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdSYW5nZUl0ZW0+IHtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdSYW5nZUl0ZW0sIGFkZGl0aW9uYWxDb25maWc6IHVua25vd24pIHtcbiAgICByZXR1cm4gbmV3IFJhbmdlSXRlbShjb25maWcsIGFkZGl0aW9uYWxDb25maWcpO1xuICB9XG5cbiAgcHVibGljIGNhc2U6ICdzbmFrZScgfCAnY2FtZWwnO1xuICBwdWJsaWMgb3B0aW9uczogeyBzY2FsZT86IG51bWJlciB9XG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZztcbiAgcHVibGljIHN1ZmZpeDogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfYWRkaXRpb25hbENvbmZpZzogeyBjYXNlOiAnY2FtZWwnIHwgJ3NuYWtlJyB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICBsZXQgdmFsdWUgPSBjbG9uZSh0aGlzLm1vZGVsKTtcblxuICAgIGlmICghaXNPYmplY3QodGhpcy5tb2RlbCkgfHxcbiAgICAgIChpc0VtcHR5KHRoaXMubW9kZWwubWF4LCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh0aGlzLm1vZGVsLm1pbiwgeyB6ZXJvOiB0cnVlIH0pKSkge1xuICAgICAgdmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgY29uc3QgcGFyYW1NaW5OYW1lID0gZ2V0UmFuZ2VOYW1lKHRoaXMuY2FzZSwgbmFtZSwgJ21pbicpO1xuICAgIGNvbnN0IHBhcmFtTWF4TmFtZSA9IGdldFJhbmdlTmFtZSh0aGlzLmNhc2UsIG5hbWUsICdtYXgnKTtcblxuICAgIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgIHBhcmFtc1twYXJhbU1pbk5hbWVdID0gdmFsdWUubWluIHx8IG51bGw7XG4gICAgICBwYXJhbXNbcGFyYW1NYXhOYW1lXSA9IHZhbHVlLm1heCB8fCBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXNbcGFyYW1NaW5OYW1lXSA9IG51bGw7XG4gICAgICBwYXJhbXNbcGFyYW1NYXhOYW1lXSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDaGlwVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCAmJiAodGhpcy5tb2RlbC5taW4gIT09IHVuZGVmaW5lZCB8fCB0aGlzLm1vZGVsLm1heCAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQodHlwZSk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGUgPT09ICdmcm9tJykge1xuICAgICAgY29uc3QgbWluID0gdGhpcy5tb2RlbC5taW47XG4gICAgICByZXR1cm4gYCR7bWlufWA7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBjb25zdCBtYXggPSB0aGlzLm1vZGVsLm1heDtcbiAgICAgIHJldHVybiBgJHttYXh9YDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXJSYW5nZSh0eXBlOiAnZnJvbScgfCAndG8nID0gbnVsbCwgZGVmYXVsdFZhbHVlOiBJRmlsdGVySXRlbURlZmF1bHRSYW5nZSA9IHVuZGVmaW5lZCkge1xuICAgIGlmICh0eXBlID09PSAnZnJvbScpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLm1vZGVsLm1pbjtcblxuICAgICAgaWYgKGRlZmF1bHRWYWx1ZT8ubWluKSB7XG4gICAgICAgIHRoaXMubW9kZWwubWluID0gZGVmYXVsdFZhbHVlLm1pbjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5tb2RlbCA9IHsgLi4udGhpcy5tb2RlbCB9O1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RvJykge1xuICAgICAgZGVsZXRlIHRoaXMubW9kZWwubWF4O1xuXG4gICAgICBpZiAoZGVmYXVsdFZhbHVlPy5tYXgpIHtcbiAgICAgICAgdGhpcy5tb2RlbC5tYXggPSBkZWZhdWx0VmFsdWUubWF4O1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1vZGVsID0geyAuLi50aGlzLm1vZGVsIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChkZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IHsgLi4uZGVmYXVsdFZhbHVlIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vZGVsID0ge307XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICB9XG5cbiAgcHJvdGVjdGVkIF9wYXJzZUNvbmZpZyhpdGVtOiBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtKSB7XG4gICAgdGhpcy5vcHRpb25zID0gaXRlbS5vcHRpb25zO1xuICAgIHRoaXMucHJlZml4ID0gaXRlbS5wcmVmaXg7XG4gICAgdGhpcy5zdWZmaXggPSBpdGVtLnN1ZmZpeDtcbiAgICB0aGlzLmNhc2UgPSB0aGlzLl9hZGRpdGlvbmFsQ29uZmlnPy5jYXNlID8/ICdjYW1lbCc7XG5cbiAgICBzdXBlci5fcGFyc2VDb25maWcoaXRlbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLmxhYmVsID0gWydNaW4nLCAnTWF4J107XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5kZWZhdWx0VmFsdWUgfHwge307XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { BaseItem } from '../base-item';
|
|
2
|
-
export class BaseSelectItem extends BaseItem {
|
|
3
|
-
_parseConfig(item) {
|
|
4
|
-
this.multiple = item.multiple;
|
|
5
|
-
this.children = item.children;
|
|
6
|
-
// TODO nullish
|
|
7
|
-
if (item.isolate) {
|
|
8
|
-
this.isolate = Object.assign(Object.assign({}, item.isolate), { enabled: false });
|
|
9
|
-
}
|
|
10
|
-
super._parseConfig(item);
|
|
11
|
-
}
|
|
12
|
-
_init() {
|
|
13
|
-
if (!Array.isArray(this.values)) {
|
|
14
|
-
this.values = [];
|
|
15
|
-
}
|
|
16
|
-
// TODO Refactor
|
|
17
|
-
if (this.isolate) {
|
|
18
|
-
this.values = this.values.filter((item) => {
|
|
19
|
-
if (Array.isArray(this.isolate.value)) {
|
|
20
|
-
return this.isolate.value.indexOf(item.value) === -1;
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
return item.value !== this.isolate.value;
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
_clearValue(defaultValue = undefined) {
|
|
29
|
-
if (this.isolate) {
|
|
30
|
-
this.isolate.enabled = false;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
1
|
+
import { BaseItem } from '../base-item';
|
|
2
|
+
export class BaseSelectItem extends BaseItem {
|
|
3
|
+
_parseConfig(item) {
|
|
4
|
+
this.multiple = item.multiple;
|
|
5
|
+
this.children = item.children;
|
|
6
|
+
// TODO nullish
|
|
7
|
+
if (item.isolate) {
|
|
8
|
+
this.isolate = Object.assign(Object.assign({}, item.isolate), { enabled: false });
|
|
9
|
+
}
|
|
10
|
+
super._parseConfig(item);
|
|
11
|
+
}
|
|
12
|
+
_init() {
|
|
13
|
+
if (!Array.isArray(this.values)) {
|
|
14
|
+
this.values = [];
|
|
15
|
+
}
|
|
16
|
+
// TODO Refactor
|
|
17
|
+
if (this.isolate) {
|
|
18
|
+
this.values = this.values.filter((item) => {
|
|
19
|
+
if (Array.isArray(this.isolate.value)) {
|
|
20
|
+
return this.isolate.value.indexOf(item.value) === -1;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return item.value !== this.isolate.value;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
_clearValue(defaultValue = undefined) {
|
|
29
|
+
if (this.isolate) {
|
|
30
|
+
this.isolate.enabled = false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2l0ZW1zL3NlbGVjdC9iYXNlLXNlbGVjdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFVeEMsTUFBTSxPQUFnQixjQUFlLFNBQVEsUUFBaUM7SUFNbEUsWUFBWSxDQUFDLElBQTZCO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFOUIsZUFBZTtRQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxtQ0FDUCxJQUFJLENBQUMsT0FBTyxLQUNmLE9BQU8sRUFBRSxLQUFLLEdBQ2YsQ0FBQztTQUNIO1FBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRVMsS0FBSztRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNsQjtRQUVELGdCQUFnQjtRQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNyQyxPQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUNyRTtxQkFBTTtvQkFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7aUJBQzFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFUyxXQUFXLENBQUMsZUFBd0IsU0FBUztRQUNyRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi9iYXNlLWl0ZW0nO1xuaW1wb3J0IHtcbiAgSUZpbHRlckNvbmZpZ1NlbGVjdElzb2xhdGUsXG4gIElGaWx0ZXJDb25maWdTZWxlY3RJdGVtXG59IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvc2VsZWN0LmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpbHRlcklzb2xhdGUgZXh0ZW5kcyBJRmlsdGVyQ29uZmlnU2VsZWN0SXNvbGF0ZSB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VsZWN0SXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdTZWxlY3RJdGVtPiB7XG5cbiAgcHVibGljIGNoaWxkcmVuOiBzdHJpbmc7XG4gIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbjtcbiAgcHVibGljIGlzb2xhdGU6IElGaWx0ZXJJc29sYXRlO1xuXG4gIHByb3RlY3RlZCBfcGFyc2VDb25maWcoaXRlbTogSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0pIHtcbiAgICB0aGlzLm11bHRpcGxlID0gaXRlbS5tdWx0aXBsZTtcbiAgICB0aGlzLmNoaWxkcmVuID0gaXRlbS5jaGlsZHJlbjtcblxuICAgIC8vIFRPRE8gbnVsbGlzaFxuICAgIGlmIChpdGVtLmlzb2xhdGUpIHtcbiAgICAgIHRoaXMuaXNvbGF0ZSA9IHtcbiAgICAgICAgLi4uaXRlbS5pc29sYXRlLFxuICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgc3VwZXIuX3BhcnNlQ29uZmlnKGl0ZW0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pbml0KCkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlcykpIHtcbiAgICAgIHRoaXMudmFsdWVzID0gW107XG4gICAgfVxuXG4gICAgLy8gVE9ETyBSZWZhY3RvclxuICAgICBpZiAodGhpcy5pc29sYXRlKSB7XG4gICAgICB0aGlzLnZhbHVlcyA9IHRoaXMudmFsdWVzLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmlzb2xhdGUudmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuICh0aGlzLmlzb2xhdGUudmFsdWUgYXMgdW5rbm93bltdKS5pbmRleE9mKGl0ZW0udmFsdWUpID09PSAtMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gaXRlbS52YWx1ZSAhPT0gdGhpcy5pc29sYXRlLnZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuaXNvbGF0ZSkge1xuICAgICAgdGhpcy5pc29sYXRlLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
@@ -1,69 +1,90 @@
|
|
|
1
|
-
import { filter, isArrayEqual } from '@firestitch/common';
|
|
2
|
-
import { clone } from 'lodash-es';
|
|
3
|
-
import { BaseSelectItem } from './base-select-item';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
1
|
+
import { filter, isArrayEqual } from '@firestitch/common';
|
|
2
|
+
import { clone } from 'lodash-es';
|
|
3
|
+
import { BaseSelectItem } from './base-select-item';
|
|
4
|
+
import { arraysAreEquals } from '../../../helpers/compare';
|
|
5
|
+
export class MultipleSelectItem extends BaseSelectItem {
|
|
6
|
+
constructor(itemConfig, _persistedValues) {
|
|
7
|
+
super(itemConfig, _persistedValues);
|
|
8
|
+
}
|
|
9
|
+
get value() {
|
|
10
|
+
let value = clone(this.model);
|
|
11
|
+
if (this.isolateOptionNotSelected) {
|
|
12
|
+
value = this.values.map((v) => v.value);
|
|
13
|
+
}
|
|
14
|
+
else if (!Array.isArray(value) || value.length === 0 || value.indexOf('__all') > -1) {
|
|
15
|
+
value = null;
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
get isChipVisible() {
|
|
20
|
+
return Array.isArray(this.model) && this.model.length > 0;
|
|
21
|
+
}
|
|
22
|
+
get isolateOptionNotSelected() {
|
|
23
|
+
const modelValue = this.model;
|
|
24
|
+
const isolate = this.isolate;
|
|
25
|
+
return isolate && !isolate.enabled && (modelValue === null || modelValue === void 0 ? void 0 : modelValue.length) === 0;
|
|
26
|
+
}
|
|
27
|
+
getChipsContent(type = null) {
|
|
28
|
+
const options = this.model.reduce((acc, key) => {
|
|
29
|
+
const itemValue = this.values.find((val) => val.value === key);
|
|
30
|
+
let itemLabel;
|
|
31
|
+
if (itemValue) {
|
|
32
|
+
itemLabel = itemValue.name;
|
|
33
|
+
}
|
|
34
|
+
else if (this.isolate && this.isolate.enabled) {
|
|
35
|
+
itemLabel = this.isolate.label;
|
|
36
|
+
}
|
|
37
|
+
if (!acc.includes(itemLabel)) {
|
|
38
|
+
acc.push(itemLabel);
|
|
39
|
+
}
|
|
40
|
+
return acc;
|
|
41
|
+
}, []);
|
|
42
|
+
return options.join(', ');
|
|
43
|
+
}
|
|
44
|
+
_init() {
|
|
45
|
+
super._init();
|
|
46
|
+
const values = this.values.map((itemv) => itemv.value);
|
|
47
|
+
const wrongDefaultValue = this.model === undefined && !Array.isArray(this.defaultValue);
|
|
48
|
+
/**
|
|
49
|
+
* When multiple select is in isolate mode and have no options selected
|
|
50
|
+
* it should send to the server all it's possible values,
|
|
51
|
+
* but should not show them as selected in interfaces as well as in query params & persistance
|
|
52
|
+
*
|
|
53
|
+
* Code below prevents filling model with values from query params if query params contain all possible values
|
|
54
|
+
*/
|
|
55
|
+
const isolate = !wrongDefaultValue
|
|
56
|
+
&& !this.isolateOptionNotSelected
|
|
57
|
+
&& arraysAreEquals(this.model, values);
|
|
58
|
+
if (wrongDefaultValue || isolate) {
|
|
59
|
+
this.model = [];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
_setModel(value) {
|
|
63
|
+
if (Array.isArray(value)) {
|
|
64
|
+
value = value.map((val) => {
|
|
65
|
+
if (isNaN(val)) {
|
|
66
|
+
return val;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
return +val;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
super._setModel(value);
|
|
74
|
+
}
|
|
75
|
+
_validateModel() {
|
|
76
|
+
const possibleValues = filter(this.model || [], (item) => {
|
|
77
|
+
return this.values.find(value => {
|
|
78
|
+
return value.value == item;
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
if (!isArrayEqual(this.model, possibleValues)) {
|
|
82
|
+
this.model = possibleValues;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
_clearValue(defaultValue = undefined) {
|
|
86
|
+
super._clearValue(defaultValue);
|
|
87
|
+
this.model = defaultValue !== null && defaultValue !== void 0 ? defaultValue : [];
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9zZWxlY3QvbXVsdGlwbGUtc2VsZWN0LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHM0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFFcEQsWUFDRSxVQUFtQyxFQUNuQyxnQkFBcUI7UUFFckIsS0FBSyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ2pDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO2FBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUNyRixLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ2Q7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxLQUFLLENBQUMsT0FB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SSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM5QixPQUFPLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRVMsV0FBVyxDQUFDLGVBQXdCLFNBQVM7UUFDckQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIGlzQXJyYXlFcXVhbCB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5cbmltcG9ydCB7IGNsb25lIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFzZVNlbGVjdEl0ZW0gfSBmcm9tICcuL2Jhc2Utc2VsZWN0LWl0ZW0nO1xuaW1wb3J0IHsgYXJyYXlzQXJlRXF1YWxzIH0gZnJvbSAnLi4vLi4vLi4vaGVscGVycy9jb21wYXJlJztcblxuXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVTZWxlY3RJdGVtIGV4dGVuZHMgQmFzZVNlbGVjdEl0ZW0ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGl0ZW1Db25maWc6IElGaWx0ZXJDb25maWdTZWxlY3RJdGVtLFxuICAgIF9wZXJzaXN0ZWRWYWx1ZXM6IGFueVxuICApIHtcbiAgICBzdXBlcihpdGVtQ29uZmlnLCBfcGVyc2lzdGVkVmFsdWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gY2xvbmUodGhpcy5tb2RlbCk7XG5cbiAgICBpZiAodGhpcy5pc29sYXRlT3B0aW9uTm90U2VsZWN0ZWQpIHtcbiAgICAgIHZhbHVlID0gdGhpcy52YWx1ZXMubWFwKCh2KSA9PiB2LnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5sZW5ndGggPT09IDAgfHwgdmFsdWUuaW5kZXhPZignX19hbGwnKSA+IC0xKSB7XG4gICAgICB2YWx1ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0NoaXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubW9kZWwpICYmIHRoaXMubW9kZWwubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNvbGF0ZU9wdGlvbk5vdFNlbGVjdGVkKCkge1xuICAgIGNvbnN0IG1vZGVsVmFsdWUgPSB0aGlzLm1vZGVsO1xuICAgIGNvbnN0IGlzb2xhdGUgPSB0aGlzLmlzb2xhdGU7XG5cbiAgICByZXR1cm4gaXNvbGF0ZSAmJiAhaXNvbGF0ZS5lbmFibGVkICYmIG1vZGVsVmFsdWU/Lmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQodHlwZSA9IG51bGwpOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm1vZGVsLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMudmFsdWVzLmZpbmQoKHZhbCkgPT4gdmFsLnZhbHVlID09PSBrZXkpO1xuICAgICAgbGV0IGl0ZW1MYWJlbDogc3RyaW5nO1xuXG4gICAgICBpZiAoaXRlbVZhbHVlKSB7XG4gICAgICAgIGl0ZW1MYWJlbCA9IGl0ZW1WYWx1ZS5uYW1lO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzb2xhdGUgJiYgdGhpcy5pc29sYXRlLmVuYWJsZWQpIHtcbiAgICAgICAgaXRlbUxhYmVsID0gdGhpcy5pc29sYXRlLmxhYmVsO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWFjYy5pbmNsdWRlcyhpdGVtTGFiZWwpKSB7XG4gICAgICAgIGFjYy5wdXNoKGl0ZW1MYWJlbClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gb3B0aW9ucy5qb2luKCcsICcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pbml0KCkge1xuICAgIHN1cGVyLl9pbml0KCk7XG5cbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnZhbHVlcy5tYXAoKGl0ZW12KSA9PiBpdGVtdi52YWx1ZSk7XG4gICAgY29uc3Qgd3JvbmdEZWZhdWx0VmFsdWUgPSB0aGlzLm1vZGVsID09PSB1bmRlZmluZWQgJiYgIUFycmF5LmlzQXJyYXkodGhpcy5kZWZhdWx0VmFsdWUpO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBtdWx0aXBsZSBzZWxlY3QgaXMgaW4gaXNvbGF0ZSBtb2RlIGFuZCBoYXZlIG5vIG9wdGlvbnMgc2VsZWN0ZWRcbiAgICAgKiBpdCBzaG91bGQgc2VuZCB0byB0aGUgc2VydmVyIGFsbCBpdCdzIHBvc3NpYmxlIHZhbHVlcyxcbiAgICAgKiBidXQgc2hvdWxkIG5vdCBzaG93IHRoZW0gYXMgc2VsZWN0ZWQgaW4gaW50ZXJmYWNlcyBhcyB3ZWxsIGFzIGluIHF1ZXJ5IHBhcmFtcyAmIHBlcnNpc3RhbmNlXG4gICAgICpcbiAgICAgKiBDb2RlIGJlbG93IHByZXZlbnRzIGZpbGxpbmcgbW9kZWwgd2l0aCB2YWx1ZXMgZnJvbSBxdWVyeSBwYXJhbXMgaWYgcXVlcnkgcGFyYW1zIGNvbnRhaW4gYWxsIHBvc3NpYmxlIHZhbHVlc1xuICAgICAqL1xuICAgIGNvbnN0IGlzb2xhdGUgPSAhd3JvbmdEZWZhdWx0VmFsdWVcbiAgICAgICYmICF0aGlzLmlzb2xhdGVPcHRpb25Ob3RTZWxlY3RlZFxuICAgICAgJiYgYXJyYXlzQXJlRXF1YWxzKHRoaXMubW9kZWwsIHZhbHVlcyk7XG5cbiAgICBpZiAod3JvbmdEZWZhdWx0VmFsdWUgfHwgaXNvbGF0ZSkge1xuICAgICAgdGhpcy5tb2RlbCA9IFtdO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgX3NldE1vZGVsKHZhbHVlKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLm1hcCgodmFsKSA9PiB7XG4gICAgICAgIGlmIChpc05hTih2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gK3ZhbDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICBzdXBlci5fc2V0TW9kZWwodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICAgIGNvbnN0IHBvc3NpYmxlVmFsdWVzID0gZmlsdGVyKHRoaXMubW9kZWwgfHwgW10sIChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZmluZCh2YWx1ZSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS52YWx1ZSA9PSBpdGVtO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoIWlzQXJyYXlFcXVhbCh0aGlzLm1vZGVsLCBwb3NzaWJsZVZhbHVlcykpIHtcbiAgICAgIHRoaXMubW9kZWwgPSBwb3NzaWJsZVZhbHVlcztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgc3VwZXIuX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlKTtcblxuICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPz8gW107XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { findValue } from '../../../helpers/find-value';
|
|
2
|
-
import { BaseSelectItem } from './base-select-item';
|
|
3
|
-
export class SimpleSelectItem extends BaseSelectItem {
|
|
4
|
-
constructor(itemConfig, _persistedValues) {
|
|
5
|
-
super(itemConfig, _persistedValues);
|
|
6
|
-
}
|
|
7
|
-
get value() {
|
|
8
|
-
let value = this.model;
|
|
9
|
-
if (value == '__all' || value === undefined) {
|
|
10
|
-
value = null;
|
|
11
|
-
}
|
|
12
|
-
return value;
|
|
13
|
-
}
|
|
14
|
-
getChipsContent(type = null) {
|
|
15
|
-
if (this.children) {
|
|
16
|
-
const itemValue = findValue(this.values, this.model, this.children);
|
|
17
|
-
return itemValue && itemValue.name;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
const itemValue = this.values.find((val) => val.value === this.model);
|
|
21
|
-
if (itemValue) {
|
|
22
|
-
return itemValue.name;
|
|
23
|
-
}
|
|
24
|
-
else if (this.isolate) {
|
|
25
|
-
return this.isolate.label;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
get isChipVisible() {
|
|
30
|
-
return this.model !== '__all' && this.model !== undefined;
|
|
31
|
-
}
|
|
32
|
-
_init() {
|
|
33
|
-
super._init();
|
|
34
|
-
if (this.model === undefined && this.defaultValue === undefined) {
|
|
35
|
-
this._model = '__all';
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
_setModel(value) {
|
|
39
|
-
if (value) {
|
|
40
|
-
if (!isNaN(value)) {
|
|
41
|
-
value = +value;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
super._setModel(value);
|
|
45
|
-
}
|
|
46
|
-
_validateModel() {
|
|
47
|
-
const item = this.values.find(value => {
|
|
48
|
-
return value.value == this.model;
|
|
49
|
-
});
|
|
50
|
-
const value = item ? item.value : '__all';
|
|
51
|
-
if (this._model !== value) {
|
|
52
|
-
this.model = value;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
_clearValue(defaultValue = undefined) {
|
|
56
|
-
super._clearValue(defaultValue);
|
|
57
|
-
const value = Array.isArray(this.values) && this.values.some((val) => val.value === '__all')
|
|
58
|
-
? '__all'
|
|
59
|
-
: null;
|
|
60
|
-
this.model = defaultValue !== null && defaultValue !== void 0 ? defaultValue : value;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
1
|
+
import { findValue } from '../../../helpers/find-value';
|
|
2
|
+
import { BaseSelectItem } from './base-select-item';
|
|
3
|
+
export class SimpleSelectItem extends BaseSelectItem {
|
|
4
|
+
constructor(itemConfig, _persistedValues) {
|
|
5
|
+
super(itemConfig, _persistedValues);
|
|
6
|
+
}
|
|
7
|
+
get value() {
|
|
8
|
+
let value = this.model;
|
|
9
|
+
if (value == '__all' || value === undefined) {
|
|
10
|
+
value = null;
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
getChipsContent(type = null) {
|
|
15
|
+
if (this.children) {
|
|
16
|
+
const itemValue = findValue(this.values, this.model, this.children);
|
|
17
|
+
return itemValue && itemValue.name;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const itemValue = this.values.find((val) => val.value === this.model);
|
|
21
|
+
if (itemValue) {
|
|
22
|
+
return itemValue.name;
|
|
23
|
+
}
|
|
24
|
+
else if (this.isolate) {
|
|
25
|
+
return this.isolate.label;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
get isChipVisible() {
|
|
30
|
+
return this.model !== '__all' && this.model !== undefined;
|
|
31
|
+
}
|
|
32
|
+
_init() {
|
|
33
|
+
super._init();
|
|
34
|
+
if (this.model === undefined && this.defaultValue === undefined) {
|
|
35
|
+
this._model = '__all';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
_setModel(value) {
|
|
39
|
+
if (value) {
|
|
40
|
+
if (!isNaN(value)) {
|
|
41
|
+
value = +value;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
super._setModel(value);
|
|
45
|
+
}
|
|
46
|
+
_validateModel() {
|
|
47
|
+
const item = this.values.find(value => {
|
|
48
|
+
return value.value == this.model;
|
|
49
|
+
});
|
|
50
|
+
const value = item ? item.value : '__all';
|
|
51
|
+
if (this._model !== value) {
|
|
52
|
+
this.model = value;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
_clearValue(defaultValue = undefined) {
|
|
56
|
+
super._clearValue(defaultValue);
|
|
57
|
+
const value = Array.isArray(this.values) && this.values.some((val) => val.value === '__all')
|
|
58
|
+
? '__all'
|
|
59
|
+
: null;
|
|
60
|
+
this.model = defaultValue !== null && defaultValue !== void 0 ? defaultValue : value;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
63
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXNlbGVjdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvc2VsZWN0L3NpbXBsZS1zZWxlY3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUFjO0lBRWxELFlBQ0UsVUFBbUMsRUFDbkMsZ0JBQXFCO1FBRXJCLEtBQUssQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV2QixJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUMzQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ2Q7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBSSxHQUFHLElBQUk7UUFDaEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXBFLE9BQU8sU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUE7U0FDbkM7YUFBTTtZQUNMLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV0RSxJQUFJLFNBQVMsRUFBRTtnQkFDYixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUE7YUFDdEI7aUJBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFBO2FBQzFCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7SUFDNUQsQ0FBQztJQUVTLEtBQUs7UUFDYixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFZCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO1lBQy9ELElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFLO1FBQ3ZCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDakIsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDO2FBQ2hCO1NBQ0Y7UUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQTtTQUNuQjtJQUNILENBQUM7SUFFUyxXQUFXLENBQUMsZUFBd0IsU0FBUztRQUNyRCxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQztZQUMxRixDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFVCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksYUFBWixZQUFZLGNBQVosWUFBWSxHQUFJLEtBQUssQ0FBQztJQUNyQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRmlsdGVyQ29uZmlnU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvc2VsZWN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBmaW5kVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL2ZpbmQtdmFsdWUnO1xuaW1wb3J0IHsgQmFzZVNlbGVjdEl0ZW0gfSBmcm9tICcuL2Jhc2Utc2VsZWN0LWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBTaW1wbGVTZWxlY3RJdGVtIGV4dGVuZHMgQmFzZVNlbGVjdEl0ZW0ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGl0ZW1Db25maWc6IElGaWx0ZXJDb25maWdTZWxlY3RJdGVtLFxuICAgIF9wZXJzaXN0ZWRWYWx1ZXM6IGFueVxuICApIHtcbiAgICBzdXBlcihpdGVtQ29uZmlnLCBfcGVyc2lzdGVkVmFsdWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5tb2RlbDtcblxuICAgIGlmICh2YWx1ZSA9PSAnX19hbGwnIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhbHVlID0gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KHR5cGUgPSBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jaGlsZHJlbikge1xuICAgICAgY29uc3QgaXRlbVZhbHVlID0gZmluZFZhbHVlKHRoaXMudmFsdWVzLCB0aGlzLm1vZGVsLCB0aGlzLmNoaWxkcmVuKTtcblxuICAgICAgcmV0dXJuIGl0ZW1WYWx1ZSAmJiBpdGVtVmFsdWUubmFtZVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpdGVtVmFsdWUgPSB0aGlzLnZhbHVlcy5maW5kKCh2YWwpID0+IHZhbC52YWx1ZSA9PT0gdGhpcy5tb2RlbCk7XG5cbiAgICAgIGlmIChpdGVtVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1WYWx1ZS5uYW1lXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNvbGF0ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc29sYXRlLmxhYmVsXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpc0NoaXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1vZGVsICE9PSAnX19hbGwnICYmIHRoaXMubW9kZWwgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHtcbiAgICBzdXBlci5faW5pdCgpO1xuXG4gICAgaWYgKHRoaXMubW9kZWwgPT09IHVuZGVmaW5lZCAmJiB0aGlzLmRlZmF1bHRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9tb2RlbCA9ICdfX2FsbCc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9zZXRNb2RlbCh2YWx1ZSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKCFpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUgPSArdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwZXIuX3NldE1vZGVsKHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdmFsaWRhdGVNb2RlbCgpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy52YWx1ZXMuZmluZCh2YWx1ZSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUudmFsdWUgPT0gdGhpcy5tb2RlbDtcbiAgICB9KTtcblxuICAgIGNvbnN0IHZhbHVlID0gaXRlbSA/IGl0ZW0udmFsdWUgOiAnX19hbGwnO1xuXG4gICAgaWYgKHRoaXMuX21vZGVsICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5tb2RlbCA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZCkge1xuICAgIHN1cGVyLl9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZSk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZXMpICYmIHRoaXMudmFsdWVzLnNvbWUoKHZhbCkgPT4gdmFsLnZhbHVlID09PSAnX19hbGwnKVxuICAgICAgPyAnX19hbGwnXG4gICAgICA6IG51bGw7XG5cbiAgICB0aGlzLm1vZGVsID0gZGVmYXVsdFZhbHVlID8/IHZhbHVlO1xuICB9XG59XG4iXX0=
|