@recursyve/nice-data-filter-kit 15.3.3 → 16.0.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/{esm2020 → esm2022}/lib/components/base-list/base-list.component.mjs +8 -8
- package/{esm2020 → esm2022}/lib/components/base-list/base-list.module.mjs +40 -40
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-buttons.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-cards.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-custom-content.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-directives.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-empty-search-result-state.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-empty-state.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-filters.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-table.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-title.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/providers/base-filter.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/providers/base-list-saved-report.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/store/base-list.query.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/store/base-list.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/base-list/store/base-list.store.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/multi-state-list/multi-state-list.component.mjs +8 -8
- package/{esm2020 → esm2022}/lib/components/multi-state-list/multi-state-list.module.mjs +40 -40
- package/{esm2020 → esm2022}/lib/components/multi-state-list/store/multi-state-list.query.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/multi-state-list/store/multi-state-list.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/multi-state-list/store/multi-state-list.store.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +119 -0
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.module.mjs +52 -52
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/button/advanced-filters-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/filter-selection/filter-selection.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/providers/async-typeahead.provider.mjs +4 -4
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/rule/components/filter.component.mjs +4 -4
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.mjs +28 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.mjs +30 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.mjs +60 -0
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.mjs +4 -4
- package/esm2022/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.mjs +79 -0
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/common/data.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/search/search.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/mat-paginator.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/mat-sort.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/mat-tables.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/query-params.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-filter-view.component.mjs +8 -8
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-filter-view.module.mjs +40 -40
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-nested-filter-view.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/pipes/filter-group-icon.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/query-builder/filter-selection/filter-selection.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/query-builder/pipes/filter-group-icon.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/query-builder/query-builder-trigger.directive.mjs +4 -4
- package/esm2022/lib/components/query-builder/query-builder.component.mjs +100 -0
- package/{esm2020 → esm2022}/lib/components/query-builder/query-builder.module.mjs +45 -45
- package/esm2022/lib/components/query-builder/rule/components/date/date-filter.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/query-builder/rule/components/filter.component.mjs +4 -4
- package/esm2022/lib/components/query-builder/rule/components/number/number-filter.component.mjs +28 -0
- package/esm2022/lib/components/query-builder/rule/components/radio/radio-filter.component.mjs +30 -0
- package/esm2022/lib/components/query-builder/rule/components/select/select-filter.component.mjs +87 -0
- package/esm2022/lib/components/query-builder/rule/components/text/text-filter.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/components/query-builder/rule/rule.component.mjs +4 -4
- package/esm2022/lib/components/query-builder/utils/qb-filter.utils.mjs +89 -0
- package/{esm2020 → esm2022}/lib/directive/selectable-list/providers/preload-selected-entities.provider.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/providers/selectable-list-content.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list-checkbox.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list-select-all.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list-state.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/utils/date.adapter.mjs +4 -4
- package/{fesm2020 → fesm2022}/recursyve-nice-data-filter-kit.mjs +573 -573
- package/fesm2022/recursyve-nice-data-filter-kit.mjs.map +1 -0
- package/lib/components/base-list/base-list.component.d.ts +1 -1
- package/lib/components/base-list/directives/base-list-buttons.directive.d.ts +1 -1
- package/lib/components/base-list/directives/base-list-table.directive.d.ts +1 -1
- package/lib/components/multi-state-list/multi-state-list.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +1 -1
- package/lib/components/nice-filter-view/components/export-buttons/export.directive.d.ts +1 -1
- package/lib/components/nice-filter-view/components/search/search.component.d.ts +1 -1
- package/lib/components/nice-filter-view/nice-filter-view.component.d.ts +1 -1
- package/lib/components/query-builder/filter-selection/filter-selection.component.d.ts +1 -1
- package/lib/components/query-builder/query-builder-trigger.directive.d.ts +1 -1
- package/lib/components/query-builder/query-builder.component.d.ts +1 -1
- package/lib/components/query-builder/rule/components/radio/radio-filter.component.d.ts +1 -1
- package/lib/components/query-builder/rule/components/select/select-filter.component.d.ts +1 -1
- package/lib/components/query-builder/rule/components/text/text-filter.component.d.ts +1 -1
- package/lib/components/query-builder/rule/rule.component.d.ts +1 -1
- package/lib/directive/selectable-list/selectable-list-checkbox.directive.d.ts +1 -1
- package/lib/directive/selectable-list/selectable-list-select-all.directive.d.ts +1 -1
- package/lib/directive/selectable-list/selectable-list.directive.d.ts +1 -1
- package/package.json +13 -19
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +0 -119
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.mjs +0 -40
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.mjs +0 -28
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.mjs +0 -30
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.mjs +0 -60
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.mjs +0 -31
- package/esm2020/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.mjs +0 -79
- package/esm2020/lib/components/query-builder/query-builder.component.mjs +0 -100
- package/esm2020/lib/components/query-builder/rule/components/date/date-filter.component.mjs +0 -40
- package/esm2020/lib/components/query-builder/rule/components/number/number-filter.component.mjs +0 -28
- package/esm2020/lib/components/query-builder/rule/components/radio/radio-filter.component.mjs +0 -30
- package/esm2020/lib/components/query-builder/rule/components/select/select-filter.component.mjs +0 -87
- package/esm2020/lib/components/query-builder/rule/components/text/text-filter.component.mjs +0 -31
- package/esm2020/lib/components/query-builder/utils/qb-filter.utils.mjs +0 -89
- package/fesm2015/recursyve-nice-data-filter-kit.mjs +0 -5586
- package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +0 -1
- package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/api/dto/saved-reports.dto.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/filter.api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/models/saved-reports.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/saved-report.api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/base-list.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/models/columns.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/models/export.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/models/icons.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/models/layout.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/base-list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/multi-state-list/models/list-states.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/multi-state-list/multi-state-list.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/multi-state-list/providers/multi-state-filter.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/multi-state-list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/models/icons.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/models/order-options.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-filter-view.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/nice-filter-view/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/models/icons.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/providers/filter-group.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/query-builder.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/query-builder/query-builder.form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/model/load-all-entities-options.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/model/selectable-list-options.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list.constant.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list-state.query.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list-state.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list.state.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/filter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/query.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/filter.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/order.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/query-params.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/string.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/recursyve-nice-data-filter-kit.mjs +0 -0
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Component, forwardRef, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
-
import { FilterComponent } from "../filter.component";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@angular/material/form-field";
|
|
7
|
-
import * as i3 from "@angular/material/input";
|
|
8
|
-
import * as i4 from "ngx-mask";
|
|
9
|
-
export class TextFilterComponent extends FilterComponent {
|
|
10
|
-
}
|
|
11
|
-
TextFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TextFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
TextFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TextFilterComponent, selector: "nice-text-filter", inputs: { filterConfig: "filterConfig" }, providers: [
|
|
13
|
-
{
|
|
14
|
-
provide: NG_VALUE_ACCESSOR,
|
|
15
|
-
useExisting: forwardRef(() => TextFilterComponent),
|
|
16
|
-
multi: true
|
|
17
|
-
}
|
|
18
|
-
], usesInheritance: true, ngImport: i0, template: "<mat-form-field class=\"flex-auto\">\n <input matInput [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\" [mask]=\"(filterConfig?.mask) || ''\" [validation]=\"false\" type=\"text\" />\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "triggerOnMaskChange"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TextFilterComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: "nice-text-filter", encapsulation: ViewEncapsulation.None, providers: [
|
|
22
|
-
{
|
|
23
|
-
provide: NG_VALUE_ACCESSOR,
|
|
24
|
-
useExisting: forwardRef(() => TextFilterComponent),
|
|
25
|
-
multi: true
|
|
26
|
-
}
|
|
27
|
-
], template: "<mat-form-field class=\"flex-auto\">\n <input matInput [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\" [mask]=\"(filterConfig?.mask) || ''\" [validation]=\"false\" type=\"text\" />\n</mat-form-field>\n" }]
|
|
28
|
-
}], propDecorators: { filterConfig: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWJ1aWxkZXIvcnVsZS9jb21wb25lbnRzL3RleHQvdGV4dC1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWJ1aWxkZXIvcnVsZS9jb21wb25lbnRzL3RleHQvdGV4dC1maWx0ZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFjdEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQXVCOztnSEFBbkQsbUJBQW1CO29HQUFuQixtQkFBbUIscUZBUmpCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7WUFDbEQsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLGlEQ2ZMLDROQUdBOzJGRGNhLG1CQUFtQjtrQkFaL0IsU0FBUzsrQkFDSSxrQkFBa0IsaUJBRWIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBSU0sWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ZpbHRlci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS10ZXh0LWZpbHRlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInRleHQtZmlsdGVyLnRlbXBsYXRlLmh0bWxcIixcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRleHRGaWx0ZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGV4dEZpbHRlckNvbXBvbmVudCBleHRlbmRzIEZpbHRlckNvbXBvbmVudDxzdHJpbmc+IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbDtcbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXgtYXV0b1wiPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBbbmdNb2RlbF09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIFttYXNrXT1cIihmaWx0ZXJDb25maWc/Lm1hc2spIHx8ICcnXCIgW3ZhbGlkYXRpb25dPVwiZmFsc2VcIiB0eXBlPVwidGV4dFwiIC8+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { FilterType } from "../../../models/filter.model";
|
|
2
|
-
import { FilterOperatorTypes } from "../../../models/query.model";
|
|
3
|
-
export class QBFilterUtils {
|
|
4
|
-
static isSingleInput(filterOperator) {
|
|
5
|
-
if (!filterOperator) {
|
|
6
|
-
return false;
|
|
7
|
-
}
|
|
8
|
-
return QBFilterUtils.singleInputOperators.includes(filterOperator);
|
|
9
|
-
}
|
|
10
|
-
static isDoubleInput(filterOperator) {
|
|
11
|
-
if (!filterOperator) {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
return QBFilterUtils.doubleInputOperators.includes(filterOperator);
|
|
15
|
-
}
|
|
16
|
-
static isNoInput(filterOperator) {
|
|
17
|
-
if (!filterOperator) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
return QBFilterUtils.noInputOperators.includes(filterOperator);
|
|
21
|
-
}
|
|
22
|
-
static createRule(config, operator) {
|
|
23
|
-
const base = {
|
|
24
|
-
id: config.id,
|
|
25
|
-
operation: operator || config.operators[0].id
|
|
26
|
-
};
|
|
27
|
-
switch (config.type) {
|
|
28
|
-
case FilterType.Text:
|
|
29
|
-
return {
|
|
30
|
-
...base,
|
|
31
|
-
value: QBFilterUtils.isDoubleInput(operator) ? ["", ""] : ""
|
|
32
|
-
};
|
|
33
|
-
case FilterType.Select:
|
|
34
|
-
return {
|
|
35
|
-
...base,
|
|
36
|
-
value: QBFilterUtils.isDoubleInput(operator) ? [null, null] : null
|
|
37
|
-
};
|
|
38
|
-
case FilterType.Date:
|
|
39
|
-
return {
|
|
40
|
-
...base,
|
|
41
|
-
value: QBFilterUtils.isDoubleInput(operator) ? [new Date(), new Date()] : new Date()
|
|
42
|
-
};
|
|
43
|
-
case FilterType.Radio:
|
|
44
|
-
return {
|
|
45
|
-
...base,
|
|
46
|
-
value: QBFilterUtils.isDoubleInput(operator)
|
|
47
|
-
? [config.options?.[0].key, config.options?.[0].key]
|
|
48
|
-
: config.options?.[0].key
|
|
49
|
-
};
|
|
50
|
-
case FilterType.Number:
|
|
51
|
-
return {
|
|
52
|
-
...base,
|
|
53
|
-
value: QBFilterUtils.isDoubleInput(operator) ? [0, 0] : 0
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
static createQueryModel(config) {
|
|
58
|
-
return {
|
|
59
|
-
condition: "or",
|
|
60
|
-
rules: [QBFilterUtils.createRule(config)]
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
QBFilterUtils.noInputOperators = [
|
|
65
|
-
FilterOperatorTypes.IsEmpty,
|
|
66
|
-
FilterOperatorTypes.IsNotEmpty,
|
|
67
|
-
FilterOperatorTypes.IsNull,
|
|
68
|
-
FilterOperatorTypes.IsNotNull,
|
|
69
|
-
FilterOperatorTypes.None
|
|
70
|
-
];
|
|
71
|
-
QBFilterUtils.singleInputOperators = [
|
|
72
|
-
FilterOperatorTypes.Equal,
|
|
73
|
-
FilterOperatorTypes.NotEqual,
|
|
74
|
-
FilterOperatorTypes.Less,
|
|
75
|
-
FilterOperatorTypes.LessOrEqual,
|
|
76
|
-
FilterOperatorTypes.Greater,
|
|
77
|
-
FilterOperatorTypes.GreaterOrEqual,
|
|
78
|
-
FilterOperatorTypes.BeginsWith,
|
|
79
|
-
FilterOperatorTypes.NotBeginsWith,
|
|
80
|
-
FilterOperatorTypes.EndsWith,
|
|
81
|
-
FilterOperatorTypes.NotEndsWith,
|
|
82
|
-
FilterOperatorTypes.Contains,
|
|
83
|
-
FilterOperatorTypes.NotContains
|
|
84
|
-
];
|
|
85
|
-
QBFilterUtils.doubleInputOperators = [
|
|
86
|
-
FilterOperatorTypes.Between,
|
|
87
|
-
FilterOperatorTypes.NotBetween
|
|
88
|
-
];
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWItZmlsdGVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXJ5LWJ1aWxkZXIvdXRpbHMvcWItZmlsdGVyLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEYsT0FBTyxFQUFtQixtQkFBbUIsRUFBOEIsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRyxNQUFNLE9BQU8sYUFBYTtJQTZCZixNQUFNLENBQUMsYUFBYSxDQUFDLGNBQWdDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsY0FBZ0M7UUFDeEQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sYUFBYSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFnQztRQUNwRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWdDLEVBQUUsUUFBMEI7UUFDakYsTUFBTSxJQUFJLEdBQUc7WUFDVCxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDYixTQUFTLEVBQUUsUUFBUSxJQUFLLE1BQU0sQ0FBQyxT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ZmlndXJhdGlvbk1vZGVsLCBGaWx0ZXJUeXBlIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IEZpbHRlck9wZXJhdG9ycywgRmlsdGVyT3BlcmF0b3JUeXBlcywgUXVlcnlNb2RlbCwgUXVlcnlSdWxlTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3F1ZXJ5Lm1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBRQkZpbHRlclV0aWxzIHtcbiAgICBwdWJsaWMgc3RhdGljIG5vSW5wdXRPcGVyYXRvcnM6IEZpbHRlck9wZXJhdG9yc1tdID0gW1xuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLklzRW1wdHksXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuSXNOb3RFbXB0eSxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Jc051bGwsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuSXNOb3ROdWxsLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLk5vbmVcbiAgICBdO1xuXG4gICAgcHVibGljIHN0YXRpYyBzaW5nbGVJbnB1dE9wZXJhdG9yczogRmlsdGVyT3BlcmF0b3JzW10gPSBbXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuRXF1YWwsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuTm90RXF1YWwsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuTGVzcyxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5MZXNzT3JFcXVhbCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5HcmVhdGVyLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLkdyZWF0ZXJPckVxdWFsLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLkJlZ2luc1dpdGgsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuTm90QmVnaW5zV2l0aCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5FbmRzV2l0aCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Ob3RFbmRzV2l0aCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Db250YWlucyxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Ob3RDb250YWluc1xuICAgIF07XG5cbiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZUlucHV0T3BlcmF0b3JzOiBGaWx0ZXJPcGVyYXRvcnNbXSA9IFtcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5CZXR3ZWVuLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLk5vdEJldHdlZW5cbiAgICBdO1xuXG4gICAgcHVibGljIHN0YXRpYyBpc1NpbmdsZUlucHV0KGZpbHRlck9wZXJhdG9yPzogRmlsdGVyT3BlcmF0b3JzKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZmlsdGVyT3BlcmF0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUUJGaWx0ZXJVdGlscy5zaW5nbGVJbnB1dE9wZXJhdG9ycy5pbmNsdWRlcyhmaWx0ZXJPcGVyYXRvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0RvdWJsZUlucHV0KGZpbHRlck9wZXJhdG9yPzogRmlsdGVyT3BlcmF0b3JzKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZmlsdGVyT3BlcmF0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUUJGaWx0ZXJVdGlscy5kb3VibGVJbnB1dE9wZXJhdG9ycy5pbmNsdWRlcyhmaWx0ZXJPcGVyYXRvcik7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc05vSW5wdXQoZmlsdGVyT3BlcmF0b3I/OiBGaWx0ZXJPcGVyYXRvcnMpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFmaWx0ZXJPcGVyYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBRQkZpbHRlclV0aWxzLm5vSW5wdXRPcGVyYXRvcnMuaW5jbHVkZXMoZmlsdGVyT3BlcmF0b3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlUnVsZShjb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCwgb3BlcmF0b3I/OiBGaWx0ZXJPcGVyYXRvcnMpOiBRdWVyeVJ1bGVNb2RlbCB7XG4gICAgICAgIGNvbnN0IGJhc2UgPSB7XG4gICAgICAgICAgICBpZDogY29uZmlnLmlkLFxuICAgICAgICAgICAgb3BlcmF0aW9uOiBvcGVyYXRvciB8fCAoY29uZmlnLm9wZXJhdG9yc1swXS5pZCBhcyBGaWx0ZXJPcGVyYXRvcnMpXG4gICAgICAgIH07XG4gICAgICAgIHN3aXRjaCAoY29uZmlnLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5UZXh0OlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBRQkZpbHRlclV0aWxzLmlzRG91YmxlSW5wdXQob3BlcmF0b3IpID8gW1wiXCIsIFwiXCJdIDogXCJcIlxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuU2VsZWN0OlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBRQkZpbHRlclV0aWxzLmlzRG91YmxlSW5wdXQob3BlcmF0b3IpID8gW251bGwsIG51bGxdIDogbnVsbFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuRGF0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogUUJGaWx0ZXJVdGlscy5pc0RvdWJsZUlucHV0KG9wZXJhdG9yKSA/IFtuZXcgRGF0ZSgpLCBuZXcgRGF0ZSgpXSA6IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLlJhZGlvOlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBRQkZpbHRlclV0aWxzLmlzRG91YmxlSW5wdXQob3BlcmF0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFtjb25maWcub3B0aW9ucz8uWzBdLmtleSwgY29uZmlnLm9wdGlvbnM/LlswXS5rZXldXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbmZpZy5vcHRpb25zPy5bMF0ua2V5XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5OdW1iZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYmFzZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFFCRmlsdGVyVXRpbHMuaXNEb3VibGVJbnB1dChvcGVyYXRvcikgPyBbMCwgMF0gOiAwXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlUXVlcnlNb2RlbChjb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCk6IFF1ZXJ5TW9kZWwge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uZGl0aW9uOiBcIm9yXCIsXG4gICAgICAgICAgICBydWxlczogW1FCRmlsdGVyVXRpbHMuY3JlYXRlUnVsZShjb25maWcpXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|