@firestitch/filter 13.0.13 → 13.0.15
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 +41 -41
- package/app/components/action-button/action-button.component.d.ts +9 -9
- package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
- package/app/components/actions/actions.component.d.ts +12 -12
- package/app/components/filter/filter.component.d.ts +194 -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 +10 -10
- 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 +14 -14
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
- package/app/components/filters-item/base-item/base-item.component.d.ts +25 -25
- 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 +20 -20
- package/app/components/filters-item/date-range/date-range.component.d.ts +15 -15
- package/app/components/filters-item/filter-item.component.d.ts +39 -39
- 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 -15
- package/app/components/filters-item/select/select.component.d.ts +23 -23
- 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 +8 -8
- package/app/enums/action-mode.enum.d.ts +6 -6
- package/app/enums/action-type.enum.d.ts +9 -9
- package/app/enums/button-style.d.ts +9 -9
- package/app/enums/index.d.ts +6 -6
- package/app/enums/item-date-mode.enum.d.ts +5 -5
- package/app/enums/item-type.enum.d.ts +15 -15
- package/app/enums/picker-view-type.enum.d.ts +7 -7
- package/app/fs-filter.module.d.ts +66 -66
- 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 +14 -14
- 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/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 +80 -80
- package/app/interfaces/config.interface.d.ts +62 -62
- 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 +15 -15
- package/app/interfaces/items/autocomplete.interface.d.ts +9 -9
- package/app/interfaces/items/base.interface.d.ts +29 -29
- 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 +50 -50
- 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 +20 -20
- package/app/models/items/autocomplete-item.d.ts +11 -11
- package/app/models/items/base-item.d.ts +80 -80
- package/app/models/items/checkbox-item.d.ts +17 -17
- package/app/models/items/chips-item.d.ts +18 -18
- package/app/models/items/date/base-date-item.d.ts +14 -14
- package/app/models/items/date-item.d.ts +8 -8
- package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
- package/app/models/items/date-range-item.d.ts +6 -6
- package/app/models/items/date-time-item.d.ts +7 -7
- package/app/models/items/date-time-range-item.d.ts +6 -6
- package/app/models/items/range-item.d.ts +23 -23
- package/app/models/items/select/base-select-item.d.ts +13 -13
- package/app/models/items/select/multiple-select-item.d.ts +14 -14
- package/app/models/items/select/simple-select-item.d.ts +14 -14
- package/app/models/items/select-item.d.ts +8 -8
- package/app/models/items/text-item.d.ts +15 -15
- package/app/models/items/week-item.d.ts +18 -18
- 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 +42 -42
- package/app/services/filter-overlay.service.d.ts +36 -36
- package/app/services/focus-controller.service.d.ts +18 -18
- package/app/services/items-store.service.d.ts +67 -67
- package/esm2020/app/classes/actions-controller.mjs +126 -126
- package/esm2020/app/components/action-button/action-button.component.mjs +23 -23
- package/esm2020/app/components/action-kebab-actions/action-kebab-actions.component.mjs +16 -16
- package/esm2020/app/components/actions/actions.component.mjs +38 -38
- package/esm2020/app/components/filter/filter.component.mjs +575 -572
- package/esm2020/app/components/filter-chip/filter-chip.component.mjs +85 -85
- package/esm2020/app/components/filter-chip-content/filter-chip-content.component.mjs +78 -78
- package/esm2020/app/components/filter-chips/filter-chips.component.mjs +22 -22
- package/esm2020/app/components/filter-drawer/filter-drawer.component.mjs +70 -70
- package/esm2020/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +40 -40
- package/esm2020/app/components/filters-item/autocomplete/autocomplete.component.mjs +26 -26
- package/esm2020/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +41 -41
- package/esm2020/app/components/filters-item/base-item/base-item.component.mjs +62 -62
- package/esm2020/app/components/filters-item/checkbox/checkbox.component.mjs +20 -20
- package/esm2020/app/components/filters-item/chips/chips.component.mjs +27 -27
- package/esm2020/app/components/filters-item/date/date.component.mjs +42 -42
- package/esm2020/app/components/filters-item/date-range/date-range.component.mjs +33 -33
- package/esm2020/app/components/filters-item/filter-item.component.mjs +79 -79
- package/esm2020/app/components/filters-item/range/range.component.mjs +44 -44
- package/esm2020/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
- package/esm2020/app/components/filters-item/select/groups/groups.component.mjs +29 -29
- package/esm2020/app/components/filters-item/select/multiple/multiple.component.mjs +56 -56
- package/esm2020/app/components/filters-item/select/select.component.mjs +50 -50
- package/esm2020/app/components/filters-item/select/simple/simple.component.mjs +42 -42
- package/esm2020/app/components/filters-item/text/text.component.mjs +48 -48
- package/esm2020/app/components/filters-item/week/week.component.mjs +24 -24
- package/esm2020/app/components/saved-filter-edit/saved-filter-edit.component.mjs +54 -54
- package/esm2020/app/components/saved-filters-menu/saved-filters-menu.component.mjs +50 -50
- package/esm2020/app/consts/query-param-delimiter.mjs +1 -1
- package/esm2020/app/directives/focus-to-item/focus-to-item.directive.mjs +129 -129
- package/esm2020/app/directives/status-bar/status-bar.directive.mjs +15 -15
- package/esm2020/app/enums/action-mode.enum.mjs +7 -7
- package/esm2020/app/enums/action-type.enum.mjs +10 -10
- package/esm2020/app/enums/button-style.mjs +10 -10
- package/esm2020/app/enums/index.mjs +6 -6
- package/esm2020/app/enums/item-date-mode.enum.mjs +6 -6
- package/esm2020/app/enums/item-type.enum.mjs +16 -16
- package/esm2020/app/enums/picker-view-type.enum.mjs +8 -8
- package/esm2020/app/fs-filter.module.mjs +247 -247
- package/esm2020/app/helpers/build-query-params.mjs +32 -32
- package/esm2020/app/helpers/compare.mjs +37 -37
- package/esm2020/app/helpers/create-filter-item.mjs +54 -54
- package/esm2020/app/helpers/find-value.mjs +12 -12
- package/esm2020/app/helpers/get-range-name.mjs +8 -8
- package/esm2020/app/helpers/parse-date.mjs +7 -7
- package/esm2020/app/helpers/parse-item-value-from-stored.mjs +80 -80
- package/esm2020/app/helpers/query-param-transformers.mjs +8 -8
- package/esm2020/app/helpers/restore-items.mjs +48 -48
- package/esm2020/app/injectors/filter-config.mjs +2 -2
- package/esm2020/app/injectors/filter-drawer-data.mjs +2 -2
- package/esm2020/app/injectors/filter-drawer-overlay.mjs +2 -2
- package/esm2020/app/interfaces/action.interface.mjs +1 -1
- package/esm2020/app/interfaces/config.interface.mjs +1 -1
- package/esm2020/app/interfaces/external-params.interface.mjs +1 -1
- package/esm2020/app/interfaces/filter.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/autocomplete.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/base.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/checkbox.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/chips.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/date-range.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/date.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/range.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/select.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/text.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/week.interface.mjs +1 -1
- package/esm2020/app/interfaces/saved-filters.interface.mjs +1 -1
- package/esm2020/app/interfaces/update-filter-item.interface.mjs +1 -1
- package/esm2020/app/models/action-menu-item.model.mjs +66 -66
- package/esm2020/app/models/action.model.mjs +114 -114
- package/esm2020/app/models/filter-config.mjs +65 -65
- package/esm2020/app/models/items/autocomplete/base-autocomplete-item.mjs +13 -13
- package/esm2020/app/models/items/autocomplete-chips-item.mjs +60 -60
- package/esm2020/app/models/items/autocomplete-item.mjs +32 -32
- package/esm2020/app/models/items/base-item.mjs +233 -233
- package/esm2020/app/models/items/checkbox-item.mjs +49 -49
- package/esm2020/app/models/items/chips-item.mjs +88 -88
- package/esm2020/app/models/items/date/base-date-item.mjs +47 -47
- package/esm2020/app/models/items/date-item.mjs +18 -18
- package/esm2020/app/models/items/date-range/base-date-range-item.mjs +134 -134
- package/esm2020/app/models/items/date-range-item.mjs +6 -6
- package/esm2020/app/models/items/date-time-item.mjs +9 -9
- package/esm2020/app/models/items/date-time-range-item.mjs +6 -6
- package/esm2020/app/models/items/range-item.mjs +82 -82
- package/esm2020/app/models/items/select/base-select-item.mjs +36 -36
- package/esm2020/app/models/items/select/multiple-select-item.mjs +87 -87
- package/esm2020/app/models/items/select/simple-select-item.mjs +65 -65
- package/esm2020/app/models/items/select-item.mjs +10 -10
- package/esm2020/app/models/items/text-item.mjs +33 -33
- package/esm2020/app/models/items/week-item.mjs +93 -93
- package/esm2020/app/pipes/remove-isolate-value.pipe.mjs +20 -20
- package/esm2020/app/providers/filter-meta.mjs +9 -9
- package/esm2020/app/services/external-params/persistance-params-controller.service.mjs +57 -57
- package/esm2020/app/services/external-params/query-params-controller.service.mjs +61 -61
- package/esm2020/app/services/external-params/saved-filters-controller.service.mjs +163 -163
- package/esm2020/app/services/external-params-controller.service.mjs +161 -161
- package/esm2020/app/services/filter-overlay.service.mjs +121 -121
- package/esm2020/app/services/focus-controller.service.mjs +29 -29
- package/esm2020/app/services/items-store.service.mjs +336 -336
- package/esm2020/firestitch-filter.mjs +4 -4
- package/esm2020/public_api.mjs +36 -36
- package/fesm2015/firestitch-filter.mjs +4248 -4245
- package/fesm2015/firestitch-filter.mjs.map +1 -1
- package/fesm2020/firestitch-filter.mjs +4229 -4226
- package/fesm2020/firestitch-filter.mjs.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, filter) {
|
|
4
|
-
return new DateTimeItem(config, null, filter);
|
|
5
|
-
}
|
|
6
|
-
_clearValue(defaultValue = undefined) {
|
|
7
|
-
this.model = defaultValue ?? undefined;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
1
|
+
import { BaseDateItem } from './date/base-date-item';
|
|
2
|
+
export class DateTimeItem extends BaseDateItem {
|
|
3
|
+
static create(config, filter) {
|
|
4
|
+
return new DateTimeItem(config, null, filter);
|
|
5
|
+
}
|
|
6
|
+
_clearValue(defaultValue = undefined) {
|
|
7
|
+
this.model = defaultValue ?? undefined;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
10
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHckQsTUFBTSxPQUFPLFlBQWEsU0FBUSxZQUFZO0lBRXJDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBNkIsRUFBRSxNQUF1QjtRQUN6RSxPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVTLFdBQVcsQ0FBQyxlQUF3QixTQUFTO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxJQUFJLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgSUZpbHRlckNvbmZpZ0RhdGVJdGVtLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL2RhdGUuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQmFzZURhdGVJdGVtIH0gZnJvbSAnLi9kYXRlL2Jhc2UtZGF0ZS1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVJdGVtIGV4dGVuZHMgQmFzZURhdGVJdGVtIHtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdEYXRlSXRlbSwgZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gbmV3IERhdGVUaW1lSXRlbShjb25maWcsIG51bGwsIGZpbHRlcik7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/PyB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseDateRangeItem } from './date-range/base-date-range-item';
|
|
2
|
-
export class DateTimeRangeItem extends BaseDateRangeItem {
|
|
3
|
-
static create(config, filter) {
|
|
4
|
-
return new DateTimeRangeItem(config, null, filter);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
1
|
+
import { BaseDateRangeItem } from './date-range/base-date-range-item';
|
|
2
|
+
export class DateTimeRangeItem extends BaseDateRangeItem {
|
|
3
|
+
static create(config, filter) {
|
|
4
|
+
return new DateTimeRangeItem(config, null, filter);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
7
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXJhbmdlLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtcmFuZ2UtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUd0RSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBRS9DLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBa0MsRUFBRSxNQUF1QjtRQUM5RSxPQUFPLElBQUksaUJBQWlCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL2RhdGUtcmFuZ2UuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQmFzZURhdGVSYW5nZUl0ZW0gfSBmcm9tICcuL2RhdGUtcmFuZ2UvYmFzZS1kYXRlLXJhbmdlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBEYXRlVGltZVJhbmdlSXRlbSBleHRlbmRzIEJhc2VEYXRlUmFuZ2VJdGVtIHtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtLCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgRGF0ZVRpbWVSYW5nZUl0ZW0oY29uZmlnLCBudWxsLCBmaWx0ZXIpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import { isEmpty } from '@firestitch/common';
|
|
2
|
-
import { clone, isObject } from 'lodash-es';
|
|
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, filter) {
|
|
7
|
-
return new RangeItem(config, additionalConfig, filter);
|
|
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 = undefined;
|
|
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 || undefined;
|
|
25
|
-
params[paramMaxName] = value.max || undefined;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
params[paramMinName] = undefined;
|
|
29
|
-
params[paramMaxName] = undefined;
|
|
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?.min) {
|
|
50
|
-
this.model.min = defaultValue.min;
|
|
51
|
-
}
|
|
52
|
-
this.model = { ...this.model };
|
|
53
|
-
}
|
|
54
|
-
else if (type === 'to') {
|
|
55
|
-
delete this.model.max;
|
|
56
|
-
if (defaultValue?.max) {
|
|
57
|
-
this.model.max = defaultValue.max;
|
|
58
|
-
}
|
|
59
|
-
this.model = { ...this.model };
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
this.model = defaultValue ? { ...defaultValue } : {};
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
_validateModel() {
|
|
66
|
-
}
|
|
67
|
-
_parseConfig(item) {
|
|
68
|
-
this.options = item.options;
|
|
69
|
-
this.prefix = item.prefix;
|
|
70
|
-
this.suffix = item.suffix;
|
|
71
|
-
this.case = this._additionalConfig?.case ?? 'camel';
|
|
72
|
-
super._parseConfig(item);
|
|
73
|
-
}
|
|
74
|
-
_init() {
|
|
75
|
-
if (!this.label) {
|
|
76
|
-
this.label = ['Min', 'Max'];
|
|
77
|
-
}
|
|
78
|
-
if (!this.model) {
|
|
79
|
-
this.model = this.defaultValue || {};
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
1
|
+
import { isEmpty } from '@firestitch/common';
|
|
2
|
+
import { clone, isObject } from 'lodash-es';
|
|
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, filter) {
|
|
7
|
+
return new RangeItem(config, additionalConfig, filter);
|
|
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 = undefined;
|
|
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 || undefined;
|
|
25
|
+
params[paramMaxName] = value.max || undefined;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
params[paramMinName] = undefined;
|
|
29
|
+
params[paramMaxName] = undefined;
|
|
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?.min) {
|
|
50
|
+
this.model.min = defaultValue.min;
|
|
51
|
+
}
|
|
52
|
+
this.model = { ...this.model };
|
|
53
|
+
}
|
|
54
|
+
else if (type === 'to') {
|
|
55
|
+
delete this.model.max;
|
|
56
|
+
if (defaultValue?.max) {
|
|
57
|
+
this.model.max = defaultValue.max;
|
|
58
|
+
}
|
|
59
|
+
this.model = { ...this.model };
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
this.model = defaultValue ? { ...defaultValue } : {};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
_validateModel() {
|
|
66
|
+
}
|
|
67
|
+
_parseConfig(item) {
|
|
68
|
+
this.options = item.options;
|
|
69
|
+
this.prefix = item.prefix;
|
|
70
|
+
this.suffix = item.suffix;
|
|
71
|
+
this.case = this._additionalConfig?.case ?? 'camel';
|
|
72
|
+
super._parseConfig(item);
|
|
73
|
+
}
|
|
74
|
+
_init() {
|
|
75
|
+
if (!this.label) {
|
|
76
|
+
this.label = ['Min', 'Max'];
|
|
77
|
+
}
|
|
78
|
+
if (!this.model) {
|
|
79
|
+
this.model = this.defaultValue || {};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
83
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2l0ZW1zL3JhbmdlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU01RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3ZDLE1BQU0sT0FBTyxTQUFVLFNBQVEsUUFBZ0M7SUFFdEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUE4QixFQUFFLGdCQUF5QixFQUFFLE1BQXVCO1FBQ3JHLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFTRCxJQUFXLEtBQUs7UUFDZCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDdEYsS0FBSyxHQUFHLFNBQVMsQ0FBQztTQUNuQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElB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QyxDQUFDO0lBQzNCLENBQUM7SUFFUyxLQUFLO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzdCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5cbmltcG9ydCB7IGNsb25lLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB0eXBlIHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRSYW5nZU5hbWUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2dldC1yYW5nZS1uYW1lJztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdSYW5nZUl0ZW0sXG4gIElGaWx0ZXJJdGVtRGVmYXVsdFJhbmdlLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL3JhbmdlLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi9iYXNlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBSYW5nZUl0ZW0gZXh0ZW5kcyBCYXNlSXRlbTxJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtPiB7XG5cbiAgcHVibGljIHN0YXRpYyBjcmVhdGUoY29uZmlnOiBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtLCBhZGRpdGlvbmFsQ29uZmlnOiB1bmtub3duLCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgUmFuZ2VJdGVtKGNvbmZpZywgYWRkaXRpb25hbENvbmZpZywgZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBjYXNlOiAnc25ha2UnIHwgJ2NhbWVsJztcbiAgcHVibGljIG9wdGlvbnM6IHsgc2NhbGU/OiBudW1iZXIgfTtcbiAgcHVibGljIHByZWZpeDogc3RyaW5nO1xuICBwdWJsaWMgc3VmZml4OiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9hZGRpdGlvbmFsQ29uZmlnOiB7IGNhc2U6ICdjYW1lbCcgfCAnc25ha2UnIH07XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICBsZXQgdmFsdWUgPSBjbG9uZSh0aGlzLm1vZGVsKTtcblxuICAgIGlmICghaXNPYmplY3QodGhpcy5tb2RlbCkgfHxcbiAgICAgIChpc0VtcHR5KHRoaXMubW9kZWwubWF4LCB7IHplcm86IHRydWUgfSkgJiYgaXNFbXB0eSh0aGlzLm1vZGVsLm1pbiwgeyB6ZXJvOiB0cnVlIH0pKSkge1xuICAgICAgdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBxdWVyeU9iamVjdCgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBjb25zdCBwYXJhbU1pbk5hbWUgPSBnZXRSYW5nZU5hbWUodGhpcy5jYXNlLCBuYW1lLCAnbWluJyk7XG4gICAgY29uc3QgcGFyYW1NYXhOYW1lID0gZ2V0UmFuZ2VOYW1lKHRoaXMuY2FzZSwgbmFtZSwgJ21heCcpO1xuXG4gICAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgcGFyYW1zW3BhcmFtTWluTmFtZV0gPSB2YWx1ZS5taW4gfHwgdW5kZWZpbmVkO1xuICAgICAgcGFyYW1zW3BhcmFtTWF4TmFtZV0gPSB2YWx1ZS5tYXggfHwgdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXNbcGFyYW1NaW5OYW1lXSA9IHVuZGVmaW5lZDtcbiAgICAgIHBhcmFtc1twYXJhbU1heE5hbWVdID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzQ2hpcFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgJiYgKHRoaXMubW9kZWwubWluICE9PSB1bmRlZmluZWQgfHwgdGhpcy5tb2RlbC5tYXggIT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KHR5cGUpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlID09PSAnZnJvbScpIHtcbiAgICAgIGNvbnN0IG1pbiA9IHRoaXMubW9kZWwubWluO1xuXG4gICAgICByZXR1cm4gYCR7bWlufWA7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBjb25zdCBtYXggPSB0aGlzLm1vZGVsLm1heDtcblxuICAgICAgcmV0dXJuIGAke21heH1gO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhclJhbmdlKHR5cGU6ICdmcm9tJyB8ICd0bycgPSBudWxsLCBkZWZhdWx0VmFsdWU6IElGaWx0ZXJJdGVtRGVmYXVsdFJhbmdlID0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGUgPT09ICdmcm9tJykge1xuICAgICAgZGVsZXRlIHRoaXMubW9kZWwubWluO1xuXG4gICAgICBpZiAoZGVmYXVsdFZhbHVlPy5taW4pIHtcbiAgICAgICAgdGhpcy5tb2RlbC5taW4gPSBkZWZhdWx0VmFsdWUubWluO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1vZGVsID0geyAuLi50aGlzLm1vZGVsIH07XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndG8nKSB7XG4gICAgICBkZWxldGUgdGhpcy5tb2RlbC5tYXg7XG5cbiAgICAgIGlmIChkZWZhdWx0VmFsdWU/Lm1heCkge1xuICAgICAgICB0aGlzLm1vZGVsLm1heCA9IGRlZmF1bHRWYWx1ZS5tYXg7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubW9kZWwgPSB7IC4uLnRoaXMubW9kZWwgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZSA/IHsgLi4uZGVmYXVsdFZhbHVlIH0gOiB7fTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX3ZhbGlkYXRlTW9kZWwoKSB7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3BhcnNlQ29uZmlnKGl0ZW06IElGaWx0ZXJDb25maWdSYW5nZUl0ZW0pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBpdGVtLm9wdGlvbnM7XG4gICAgdGhpcy5wcmVmaXggPSBpdGVtLnByZWZpeDtcbiAgICB0aGlzLnN1ZmZpeCA9IGl0ZW0uc3VmZml4O1xuICAgIHRoaXMuY2FzZSA9IHRoaXMuX2FkZGl0aW9uYWxDb25maWc/LmNhc2UgPz8gJ2NhbWVsJztcblxuICAgIHN1cGVyLl9wYXJzZUNvbmZpZyhpdGVtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHtcbiAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMubGFiZWwgPSBbJ01pbicsICdNYXgnXTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubW9kZWwpIHtcbiAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmRlZmF1bHRWYWx1ZSB8fCB7fTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,37 +1,37 @@
|
|
|
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 = {
|
|
9
|
-
...item.isolate,
|
|
10
|
-
enabled: false,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
super._parseConfig(item);
|
|
14
|
-
}
|
|
15
|
-
_init() {
|
|
16
|
-
if (!Array.isArray(this.values)) {
|
|
17
|
-
this.values = [];
|
|
18
|
-
}
|
|
19
|
-
// TODO Refactor
|
|
20
|
-
if (this.isolate) {
|
|
21
|
-
this.values = this.values.filter((item) => {
|
|
22
|
-
if (Array.isArray(this.isolate.value)) {
|
|
23
|
-
return this.isolate.value.indexOf(item.value) === -1;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
return item.value !== this.isolate.value;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
_clearValue(defaultValue = undefined) {
|
|
32
|
-
if (this.isolate) {
|
|
33
|
-
this.isolate.enabled = false;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
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 = {
|
|
9
|
+
...item.isolate,
|
|
10
|
+
enabled: false,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
super._parseConfig(item);
|
|
14
|
+
}
|
|
15
|
+
_init() {
|
|
16
|
+
if (!Array.isArray(this.values)) {
|
|
17
|
+
this.values = [];
|
|
18
|
+
}
|
|
19
|
+
// TODO Refactor
|
|
20
|
+
if (this.isolate) {
|
|
21
|
+
this.values = this.values.filter((item) => {
|
|
22
|
+
if (Array.isArray(this.isolate.value)) {
|
|
23
|
+
return this.isolate.value.indexOf(item.value) === -1;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return item.value !== this.isolate.value;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
_clearValue(defaultValue = undefined) {
|
|
32
|
+
if (this.isolate) {
|
|
33
|
+
this.isolate.enabled = false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
37
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2l0ZW1zL3NlbGVjdC9iYXNlLXNlbGVjdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFVeEMsTUFBTSxPQUFnQixjQUFlLFNBQVEsUUFBaUM7SUFNbEUsWUFBWSxDQUFDLElBQTZCO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFOUIsZUFBZTtRQUNmLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHO2dCQUNiLEdBQUcsSUFBSSxDQUFDLE9BQU87Z0JBQ2YsT0FBTyxFQUFFLEtBQUs7YUFDZixDQUFDO1NBQ0g7UUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFUyxLQUFLO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2xCO1FBRUQsZ0JBQWdCO1FBQ2YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3JDLE9BQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7aUJBQ3JFO3FCQUFNO29CQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztpQkFDMUM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVTLFdBQVcsQ0FBQyxlQUF3QixTQUFTO1FBQ3JELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDOUI7SUFDSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL2Jhc2UtaXRlbSc7XG5pbXBvcnQge1xuICBJRmlsdGVyQ29uZmlnU2VsZWN0SXNvbGF0ZSxcbiAgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW1cbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy9zZWxlY3QuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJRmlsdGVySXNvbGF0ZSBleHRlbmRzIElGaWx0ZXJDb25maWdTZWxlY3RJc29sYXRlIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZWxlY3RJdGVtIGV4dGVuZHMgQmFzZUl0ZW08SUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0+IHtcblxuICBwdWJsaWMgY2hpbGRyZW46IHN0cmluZztcbiAgcHVibGljIG11bHRpcGxlOiBib29sZWFuO1xuICBwdWJsaWMgaXNvbGF0ZTogSUZpbHRlcklzb2xhdGU7XG5cbiAgcHJvdGVjdGVkIF9wYXJzZUNvbmZpZyhpdGVtOiBJRmlsdGVyQ29uZmlnU2VsZWN0SXRlbSkge1xuICAgIHRoaXMubXVsdGlwbGUgPSBpdGVtLm11bHRpcGxlO1xuICAgIHRoaXMuY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuO1xuXG4gICAgLy8gVE9ETyBudWxsaXNoXG4gICAgaWYgKGl0ZW0uaXNvbGF0ZSkge1xuICAgICAgdGhpcy5pc29sYXRlID0ge1xuICAgICAgICAuLi5pdGVtLmlzb2xhdGUsXG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBzdXBlci5fcGFyc2VDb25maWcoaXRlbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2luaXQoKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMudmFsdWVzKSkge1xuICAgICAgdGhpcy52YWx1ZXMgPSBbXTtcbiAgICB9XG5cbiAgICAvLyBUT0RPIFJlZmFjdG9yXG4gICAgIGlmICh0aGlzLmlzb2xhdGUpIHtcbiAgICAgIHRoaXMudmFsdWVzID0gdGhpcy52YWx1ZXMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXNvbGF0ZS52YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gKHRoaXMuaXNvbGF0ZS52YWx1ZSBhcyB1bmtub3duW10pLmluZGV4T2YoaXRlbS52YWx1ZSkgPT09IC0xO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBpdGVtLnZhbHVlICE9PSB0aGlzLmlzb2xhdGUudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfY2xlYXJWYWx1ZShkZWZhdWx0VmFsdWU6IHVua25vd24gPSB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5pc29sYXRlKSB7XG4gICAgICB0aGlzLmlzb2xhdGUuZW5hYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
import { filter, isArrayEqual } from '@firestitch/common';
|
|
2
|
-
import { clone } from 'lodash-es';
|
|
3
|
-
import { arraysAreEquals } from '../../../helpers/compare';
|
|
4
|
-
import { BaseSelectItem } from './base-select-item';
|
|
5
|
-
export class MultipleSelectItem extends BaseSelectItem {
|
|
6
|
-
constructor(itemConfig, _persistedValues, _filter) {
|
|
7
|
-
super(itemConfig, _persistedValues, _filter);
|
|
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 = undefined;
|
|
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?.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 && !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
|
-
return +val;
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
super._setModel(value);
|
|
72
|
-
}
|
|
73
|
-
_validateModel() {
|
|
74
|
-
const possibleValues = filter(this.model || [], (item) => {
|
|
75
|
-
return this.values.find((value) => {
|
|
76
|
-
return value.value === item;
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
if (!isArrayEqual(this.model, possibleValues)) {
|
|
80
|
-
this.model = possibleValues;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
_clearValue(defaultValue = undefined) {
|
|
84
|
-
super._clearValue(defaultValue);
|
|
85
|
-
this.model = defaultValue ?? [];
|
|
86
|
-
}
|
|
87
|
-
}
|
|
1
|
+
import { filter, isArrayEqual } from '@firestitch/common';
|
|
2
|
+
import { clone } from 'lodash-es';
|
|
3
|
+
import { arraysAreEquals } from '../../../helpers/compare';
|
|
4
|
+
import { BaseSelectItem } from './base-select-item';
|
|
5
|
+
export class MultipleSelectItem extends BaseSelectItem {
|
|
6
|
+
constructor(itemConfig, _persistedValues, _filter) {
|
|
7
|
+
super(itemConfig, _persistedValues, _filter);
|
|
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 = undefined;
|
|
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?.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 && !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
|
+
return +val;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
super._setModel(value);
|
|
72
|
+
}
|
|
73
|
+
_validateModel() {
|
|
74
|
+
const possibleValues = filter(this.model || [], (item) => {
|
|
75
|
+
return this.values.find((value) => {
|
|
76
|
+
return value.value === item;
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
if (!isArrayEqual(this.model, possibleValues)) {
|
|
80
|
+
this.model = possibleValues;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
_clearValue(defaultValue = undefined) {
|
|
84
|
+
super._clearValue(defaultValue);
|
|
85
|
+
this.model = defaultValue ?? [];
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
88
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtc2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9zZWxlY3QvbXVsdGlwbGUtc2VsZWN0LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUczRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFFcEQsWUFDRSxVQUFtQyxFQUNuQyxnQkFBcUIsRUFDckIsT0FBd0I7UUFFeEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNqQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxQzthQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDckYsS0FBSyxHQUFHLFNBQVMsQ0FBQztTQUNuQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQVcsYUFBYTtR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RSxFQUFFO2dCQUNoQyxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDO1lBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRVMsV0FBVyxDQUFDLGVBQXdCLFNBQVM7UUFDckQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyLCBpc0FycmF5RXF1YWwgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBjbG9uZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB0eXBlIHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBhcnJheXNBcmVFcXVhbHMgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL2NvbXBhcmUnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBCYXNlU2VsZWN0SXRlbSB9IGZyb20gJy4vYmFzZS1zZWxlY3QtaXRlbSc7XG5cblxuZXhwb3J0IGNsYXNzIE11bHRpcGxlU2VsZWN0SXRlbSBleHRlbmRzIEJhc2VTZWxlY3RJdGVtIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtQ29uZmlnOiBJRmlsdGVyQ29uZmlnU2VsZWN0SXRlbSxcbiAgICBfcGVyc2lzdGVkVmFsdWVzOiBhbnksXG4gICAgX2ZpbHRlcjogRmlsdGVyQ29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcihpdGVtQ29uZmlnLCBfcGVyc2lzdGVkVmFsdWVzLCBfZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gY2xvbmUodGhpcy5tb2RlbCk7XG5cbiAgICBpZiAodGhpcy5pc29sYXRlT3B0aW9uTm90U2VsZWN0ZWQpIHtcbiAgICAgIHZhbHVlID0gdGhpcy52YWx1ZXM/Lm1hcCgodikgPT4gdi52YWx1ZSk7XG4gICAgfSBlbHNlIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgdmFsdWUubGVuZ3RoID09PSAwIHx8IHZhbHVlLmluZGV4T2YoJ19fYWxsJykgPiAtMSkge1xuICAgICAgdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0NoaXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubW9kZWwpICYmIHRoaXMubW9kZWwubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNvbGF0ZU9wdGlvbk5vdFNlbGVjdGVkKCkge1xuICAgIGNvbnN0IG1vZGVsVmFsdWUgPSB0aGlzLm1vZGVsO1xuICAgIGNvbnN0IGlzb2xhdGUgPSB0aGlzLmlzb2xhdGU7XG5cbiAgICByZXR1cm4gaXNvbGF0ZSAmJiAhaXNvbGF0ZS5lbmFibGVkICYmIG1vZGVsVmFsdWU/Lmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQodHlwZSA9IG51bGwpOiBzdHJpbmcge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm1vZGVsLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IHRoaXMudmFsdWVzLmZpbmQoKHZhbCkgPT4gdmFsLnZhbHVlID09PSBrZXkpO1xuICAgICAgbGV0IGl0ZW1MYWJlbDogc3RyaW5nO1xuXG4gICAgICBpZiAoaXRlbVZhbHVlKSB7XG4gICAgICAgIGl0ZW1MYWJlbCA9IGl0ZW1WYWx1ZS5uYW1lO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzb2xhdGUgJiYgdGhpcy5pc29sYXRlLmVuYWJsZWQpIHtcbiAgICAgICAgaXRlbUxhYmVsID0gdGhpcy5pc29sYXRlLmxhYmVsO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWFjYy5pbmNsdWRlcyhpdGVtTGFiZWwpKSB7XG4gICAgICAgIGFjYy5wdXNoKGl0ZW1MYWJlbCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIG9wdGlvbnMuam9pbignLCAnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHtcbiAgICBzdXBlci5faW5pdCgpO1xuXG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy52YWx1ZXMubWFwKChpdGVtdikgPT4gaXRlbXYudmFsdWUpO1xuICAgIGNvbnN0IHdyb25nRGVmYXVsdFZhbHVlID0gIXRoaXMubW9kZWwgJiYgIUFycmF5LmlzQXJyYXkodGhpcy5kZWZhdWx0VmFsdWUpO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBtdWx0aXBsZSBzZWxlY3QgaXMgaW4gaXNvbGF0ZSBtb2RlIGFuZCBoYXZlIG5vIG9wdGlvbnMgc2VsZWN0ZWRcbiAgICAgKiBpdCBzaG91bGQgc2VuZCB0byB0aGUgc2VydmVyIGFsbCBpdCdzIHBvc3NpYmxlIHZhbHVlcyxcbiAgICAgKiBidXQgc2hvdWxkIG5vdCBzaG93IHRoZW0gYXMgc2VsZWN0ZWQgaW4gaW50ZXJmYWNlcyBhcyB3ZWxsIGFzIGluIHF1ZXJ5IHBhcmFtcyAmIHBlcnNpc3RhbmNlXG4gICAgICpcbiAgICAgKiBDb2RlIGJlbG93IHByZXZlbnRzIGZpbGxpbmcgbW9kZWwgd2l0aCB2YWx1ZXMgZnJvbSBxdWVyeSBwYXJhbXMgaWYgcXVlcnkgcGFyYW1zIGNvbnRhaW4gYWxsIHBvc3NpYmxlIHZhbHVlc1xuICAgICAqL1xuICAgIGNvbnN0IGlzb2xhdGUgPSAhd3JvbmdEZWZhdWx0VmFsdWVcbiAgICAgICYmICF0aGlzLmlzb2xhdGVPcHRpb25Ob3RTZWxlY3RlZFxuICAgICAgJiYgYXJyYXlzQXJlRXF1YWxzKHRoaXMubW9kZWwsIHZhbHVlcyk7XG5cbiAgICBpZiAod3JvbmdEZWZhdWx0VmFsdWUgfHwgaXNvbGF0ZSkge1xuICAgICAgdGhpcy5tb2RlbCA9IFtdO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgX3NldE1vZGVsKHZhbHVlKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLm1hcCgodmFsKSA9PiB7XG4gICAgICAgIGlmIChpc05hTih2YWwpKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiArdmFsO1xuXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBzdXBlci5fc2V0TW9kZWwodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICAgIGNvbnN0IHBvc3NpYmxlVmFsdWVzID0gZmlsdGVyKHRoaXMubW9kZWwgfHwgW10sIChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZmluZCgodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnZhbHVlID09PSBpdGVtO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpZiAoIWlzQXJyYXlFcXVhbCh0aGlzLm1vZGVsLCBwb3NzaWJsZVZhbHVlcykpIHtcbiAgICAgIHRoaXMubW9kZWwgPSBwb3NzaWJsZVZhbHVlcztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlOiB1bmtub3duID0gdW5kZWZpbmVkKSB7XG4gICAgc3VwZXIuX2NsZWFyVmFsdWUoZGVmYXVsdFZhbHVlKTtcblxuICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPz8gW107XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import { findValue } from '../../../helpers/find-value';
|
|
2
|
-
import { BaseSelectItem } from './base-select-item';
|
|
3
|
-
export class SimpleSelectItem extends BaseSelectItem {
|
|
4
|
-
constructor(itemConfig, _persistedValues, _filter) {
|
|
5
|
-
super(itemConfig, _persistedValues, _filter);
|
|
6
|
-
}
|
|
7
|
-
get value() {
|
|
8
|
-
let value = this.model;
|
|
9
|
-
if (value === '__all' || value === undefined) {
|
|
10
|
-
value = undefined;
|
|
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
|
-
const itemValue = this.values.find((val) => val.value === this.model);
|
|
20
|
-
if (itemValue) {
|
|
21
|
-
return itemValue.name;
|
|
22
|
-
}
|
|
23
|
-
else if (this.isolate) {
|
|
24
|
-
return this.isolate.label;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
get isChipVisible() {
|
|
28
|
-
return this.model !== '__all' && this.model !== undefined;
|
|
29
|
-
}
|
|
30
|
-
_init() {
|
|
31
|
-
super._init();
|
|
32
|
-
if (this.model === undefined && this.defaultValue === undefined) {
|
|
33
|
-
this._model = '__all';
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
get isolateOptionNotSelected() {
|
|
37
|
-
const modelValue = this.model;
|
|
38
|
-
const isolate = this.isolate;
|
|
39
|
-
return isolate && !isolate.enabled && modelValue?.length === 0;
|
|
40
|
-
}
|
|
41
|
-
_setModel(value) {
|
|
42
|
-
if (value) {
|
|
43
|
-
if (!isNaN(value)) {
|
|
44
|
-
value = +value;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
super._setModel(value);
|
|
48
|
-
}
|
|
49
|
-
_validateModel() {
|
|
50
|
-
const item = this.values.find((value) => {
|
|
51
|
-
return value.value == this.model;
|
|
52
|
-
});
|
|
53
|
-
const value = item ? item.value : '__all';
|
|
54
|
-
if (this._model !== value) {
|
|
55
|
-
this.model = value;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
_clearValue(defaultValue = undefined) {
|
|
59
|
-
super._clearValue(defaultValue);
|
|
60
|
-
const value = Array.isArray(this.values) && this.values.some((val) => val.value === '__all')
|
|
61
|
-
? '__all'
|
|
62
|
-
: undefined;
|
|
63
|
-
this.model = defaultValue ?? value;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
1
|
+
import { findValue } from '../../../helpers/find-value';
|
|
2
|
+
import { BaseSelectItem } from './base-select-item';
|
|
3
|
+
export class SimpleSelectItem extends BaseSelectItem {
|
|
4
|
+
constructor(itemConfig, _persistedValues, _filter) {
|
|
5
|
+
super(itemConfig, _persistedValues, _filter);
|
|
6
|
+
}
|
|
7
|
+
get value() {
|
|
8
|
+
let value = this.model;
|
|
9
|
+
if (value === '__all' || value === undefined) {
|
|
10
|
+
value = undefined;
|
|
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
|
+
const itemValue = this.values.find((val) => val.value === this.model);
|
|
20
|
+
if (itemValue) {
|
|
21
|
+
return itemValue.name;
|
|
22
|
+
}
|
|
23
|
+
else if (this.isolate) {
|
|
24
|
+
return this.isolate.label;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
get isChipVisible() {
|
|
28
|
+
return this.model !== '__all' && this.model !== undefined;
|
|
29
|
+
}
|
|
30
|
+
_init() {
|
|
31
|
+
super._init();
|
|
32
|
+
if (this.model === undefined && this.defaultValue === undefined) {
|
|
33
|
+
this._model = '__all';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
get isolateOptionNotSelected() {
|
|
37
|
+
const modelValue = this.model;
|
|
38
|
+
const isolate = this.isolate;
|
|
39
|
+
return isolate && !isolate.enabled && modelValue?.length === 0;
|
|
40
|
+
}
|
|
41
|
+
_setModel(value) {
|
|
42
|
+
if (value) {
|
|
43
|
+
if (!isNaN(value)) {
|
|
44
|
+
value = +value;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
super._setModel(value);
|
|
48
|
+
}
|
|
49
|
+
_validateModel() {
|
|
50
|
+
const item = this.values.find((value) => {
|
|
51
|
+
return value.value == this.model;
|
|
52
|
+
});
|
|
53
|
+
const value = item ? item.value : '__all';
|
|
54
|
+
if (this._model !== value) {
|
|
55
|
+
this.model = value;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
_clearValue(defaultValue = undefined) {
|
|
59
|
+
super._clearValue(defaultValue);
|
|
60
|
+
const value = Array.isArray(this.values) && this.values.some((val) => val.value === '__all')
|
|
61
|
+
? '__all'
|
|
62
|
+
: undefined;
|
|
63
|
+
this.model = defaultValue ?? value;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
66
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXNlbGVjdC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvc2VsZWN0L3NpbXBsZS1zZWxlY3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUFjO0lBRWxELFlBQ0UsVUFBbUMsRUFDbkMsZ0JBQXFCLEVBQ3JCLE9BQXdCO1FBRXhCLEtBQUssQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFdkIsSUFBSSxLQUFLLEtBQUssT0FBTyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDNUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztTQUNuQjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGVBQWUsQ0FBQyxJQUFJLEdBQUcsSUFBSTtRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEUsT0FBTyxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQztTQUNwQztRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0RSxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztTQUN2QjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQzNCO0lBRUgsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQzVELENBQUM7SUFFUyxLQUFLO1FBQ2IsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUMvRCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxJQUFjLHdCQUF3QjtRQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFN0IsT0FBTyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBSztRQUN2QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQzthQUNoQjtTQUNGO1FBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRVMsY0FBYztRQUN0QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3RDLE9BQU8sS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFFMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFUyxXQUFXLENBQUMsZUFBd0IsU0FBUztRQUNyRCxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQztZQUMxRixDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksSUFBSSxLQUFLLENBQUM7SUFDckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGZpbmRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2hlbHBlcnMvZmluZC12YWx1ZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaXRlbXMvc2VsZWN0LmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VTZWxlY3RJdGVtIH0gZnJvbSAnLi9iYXNlLXNlbGVjdC1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgU2ltcGxlU2VsZWN0SXRlbSBleHRlbmRzIEJhc2VTZWxlY3RJdGVtIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtQ29uZmlnOiBJRmlsdGVyQ29uZmlnU2VsZWN0SXRlbSxcbiAgICBfcGVyc2lzdGVkVmFsdWVzOiBhbnksXG4gICAgX2ZpbHRlcjogRmlsdGVyQ29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcihpdGVtQ29uZmlnLCBfcGVyc2lzdGVkVmFsdWVzLCBfZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5tb2RlbDtcblxuICAgIGlmICh2YWx1ZSA9PT0gJ19fYWxsJyB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KHR5cGUgPSBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jaGlsZHJlbikge1xuICAgICAgY29uc3QgaXRlbVZhbHVlID0gZmluZFZhbHVlKHRoaXMudmFsdWVzLCB0aGlzLm1vZGVsLCB0aGlzLmNoaWxkcmVuKTtcblxuICAgICAgcmV0dXJuIGl0ZW1WYWx1ZSAmJiBpdGVtVmFsdWUubmFtZTtcbiAgICB9XG4gICAgY29uc3QgaXRlbVZhbHVlID0gdGhpcy52YWx1ZXMuZmluZCgodmFsKSA9PiB2YWwudmFsdWUgPT09IHRoaXMubW9kZWwpO1xuXG4gICAgaWYgKGl0ZW1WYWx1ZSkge1xuICAgICAgcmV0dXJuIGl0ZW1WYWx1ZS5uYW1lO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc29sYXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc29sYXRlLmxhYmVsO1xuICAgIH1cblxuICB9XG5cbiAgcHVibGljIGdldCBpc0NoaXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1vZGVsICE9PSAnX19hbGwnICYmIHRoaXMubW9kZWwgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHtcbiAgICBzdXBlci5faW5pdCgpO1xuXG4gICAgaWYgKHRoaXMubW9kZWwgPT09IHVuZGVmaW5lZCAmJiB0aGlzLmRlZmF1bHRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9tb2RlbCA9ICdfX2FsbCc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc29sYXRlT3B0aW9uTm90U2VsZWN0ZWQoKSB7XG4gICAgY29uc3QgbW9kZWxWYWx1ZSA9IHRoaXMubW9kZWw7XG4gICAgY29uc3QgaXNvbGF0ZSA9IHRoaXMuaXNvbGF0ZTtcblxuICAgIHJldHVybiBpc29sYXRlICYmICFpc29sYXRlLmVuYWJsZWQgJiYgbW9kZWxWYWx1ZT8ubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9zZXRNb2RlbCh2YWx1ZSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKCFpc05hTih2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUgPSArdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3VwZXIuX3NldE1vZGVsKHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdmFsaWRhdGVNb2RlbCgpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy52YWx1ZXMuZmluZCgodmFsdWUpID0+IHtcbiAgICAgIHJldHVybiB2YWx1ZS52YWx1ZSA9PSB0aGlzLm1vZGVsO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdmFsdWUgPSBpdGVtID8gaXRlbS52YWx1ZSA6ICdfX2FsbCc7XG5cbiAgICBpZiAodGhpcy5fbW9kZWwgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLm1vZGVsID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZCkge1xuICAgIHN1cGVyLl9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZSk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZXMpICYmIHRoaXMudmFsdWVzLnNvbWUoKHZhbCkgPT4gdmFsLnZhbHVlID09PSAnX19hbGwnKVxuICAgICAgPyAnX19hbGwnXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPz8gdmFsdWU7XG4gIH1cbn1cbiJdfQ==
|