@recursyve/nice-data-filter-kit 15.3.4 → 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.
Files changed (163) hide show
  1. package/{esm2020 → esm2022}/lib/components/base-list/base-list.component.mjs +8 -8
  2. package/{esm2020 → esm2022}/lib/components/base-list/base-list.module.mjs +40 -40
  3. package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-buttons.directive.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-cards.directive.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-custom-content.directive.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-directives.module.mjs +19 -19
  7. package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-empty-search-result-state.directive.mjs +4 -4
  8. package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-empty-state.directive.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-filters.directive.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-table.directive.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/components/base-list/directives/base-list-title.directive.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/components/base-list/providers/base-filter.service.mjs +4 -4
  13. package/{esm2020 → esm2022}/lib/components/base-list/providers/base-list-saved-report.service.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/components/base-list/store/base-list.query.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/components/base-list/store/base-list.service.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/components/base-list/store/base-list.store.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/components/multi-state-list/multi-state-list.component.mjs +8 -8
  18. package/{esm2020 → esm2022}/lib/components/multi-state-list/multi-state-list.module.mjs +40 -40
  19. package/{esm2020 → esm2022}/lib/components/multi-state-list/store/multi-state-list.query.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/components/multi-state-list/store/multi-state-list.service.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/components/multi-state-list/store/multi-state-list.store.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.mjs +4 -4
  23. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +119 -0
  24. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.module.mjs +52 -52
  25. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/button/advanced-filters-button.component.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/filter-selection/filter-selection.component.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/providers/async-typeahead.provider.mjs +4 -4
  28. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.mjs +40 -0
  29. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/rule/components/filter.component.mjs +4 -4
  30. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.mjs +28 -0
  31. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.mjs +30 -0
  32. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.mjs +60 -0
  33. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.mjs +31 -0
  34. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.mjs +4 -4
  35. package/esm2022/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.mjs +79 -0
  36. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/common/data.directive.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/search/search.component.mjs +5 -5
  42. package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/mat-paginator.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/mat-sort.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/mat-tables.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/components/nice-filter-view/directives/query-params.directive.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +4 -4
  47. package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-filter-view.component.mjs +8 -8
  48. package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-filter-view.module.mjs +40 -40
  49. package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-nested-filter-view.mjs +4 -4
  50. package/{esm2020 → esm2022}/lib/components/nice-filter-view/pipes/filter-group-icon.pipe.mjs +4 -4
  51. package/{esm2020 → esm2022}/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +4 -4
  52. package/{esm2020 → esm2022}/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +4 -4
  54. package/{esm2020 → esm2022}/lib/components/query-builder/filter-selection/filter-selection.component.mjs +4 -4
  55. package/{esm2020 → esm2022}/lib/components/query-builder/pipes/filter-group-icon.pipe.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/components/query-builder/query-builder-trigger.directive.mjs +4 -4
  57. package/esm2022/lib/components/query-builder/query-builder.component.mjs +100 -0
  58. package/{esm2020 → esm2022}/lib/components/query-builder/query-builder.module.mjs +45 -45
  59. package/esm2022/lib/components/query-builder/rule/components/date/date-filter.component.mjs +40 -0
  60. package/{esm2020 → esm2022}/lib/components/query-builder/rule/components/filter.component.mjs +4 -4
  61. package/esm2022/lib/components/query-builder/rule/components/number/number-filter.component.mjs +28 -0
  62. package/esm2022/lib/components/query-builder/rule/components/radio/radio-filter.component.mjs +30 -0
  63. package/esm2022/lib/components/query-builder/rule/components/select/select-filter.component.mjs +87 -0
  64. package/esm2022/lib/components/query-builder/rule/components/text/text-filter.component.mjs +31 -0
  65. package/{esm2020 → esm2022}/lib/components/query-builder/rule/rule.component.mjs +4 -4
  66. package/esm2022/lib/components/query-builder/utils/qb-filter.utils.mjs +89 -0
  67. package/{esm2020 → esm2022}/lib/directive/selectable-list/providers/preload-selected-entities.provider.mjs +4 -4
  68. package/{esm2020 → esm2022}/lib/directive/selectable-list/providers/selectable-list-content.service.mjs +4 -4
  69. package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list-checkbox.directive.mjs +4 -4
  70. package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list-select-all.directive.mjs +4 -4
  71. package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list-state.directive.mjs +4 -4
  72. package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list.directive.mjs +4 -4
  73. package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list.module.mjs +5 -5
  74. package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list.service.mjs +4 -4
  75. package/{esm2020 → esm2022}/lib/utils/date.adapter.mjs +4 -4
  76. package/{fesm2020 → fesm2022}/recursyve-nice-data-filter-kit.mjs +572 -572
  77. package/{fesm2020 → fesm2022}/recursyve-nice-data-filter-kit.mjs.map +1 -1
  78. package/lib/components/base-list/base-list.component.d.ts +1 -1
  79. package/lib/components/base-list/directives/base-list-buttons.directive.d.ts +1 -1
  80. package/lib/components/base-list/directives/base-list-table.directive.d.ts +1 -1
  81. package/lib/components/multi-state-list/multi-state-list.component.d.ts +1 -1
  82. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.d.ts +1 -1
  83. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.d.ts +1 -1
  84. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.d.ts +1 -1
  85. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.d.ts +1 -1
  86. package/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.d.ts +1 -1
  87. package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +1 -1
  88. package/lib/components/nice-filter-view/components/export-buttons/export.directive.d.ts +1 -1
  89. package/lib/components/nice-filter-view/components/search/search.component.d.ts +1 -1
  90. package/lib/components/nice-filter-view/nice-filter-view.component.d.ts +1 -1
  91. package/lib/components/query-builder/filter-selection/filter-selection.component.d.ts +1 -1
  92. package/lib/components/query-builder/query-builder-trigger.directive.d.ts +1 -1
  93. package/lib/components/query-builder/query-builder.component.d.ts +1 -1
  94. package/lib/components/query-builder/rule/components/radio/radio-filter.component.d.ts +1 -1
  95. package/lib/components/query-builder/rule/components/select/select-filter.component.d.ts +1 -1
  96. package/lib/components/query-builder/rule/components/text/text-filter.component.d.ts +1 -1
  97. package/lib/components/query-builder/rule/rule.component.d.ts +1 -1
  98. package/lib/directive/selectable-list/selectable-list-checkbox.directive.d.ts +1 -1
  99. package/lib/directive/selectable-list/selectable-list-select-all.directive.d.ts +1 -1
  100. package/lib/directive/selectable-list/selectable-list.directive.d.ts +1 -1
  101. package/package.json +13 -19
  102. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +0 -119
  103. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.mjs +0 -40
  104. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.mjs +0 -28
  105. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.mjs +0 -30
  106. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.mjs +0 -60
  107. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.mjs +0 -31
  108. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.mjs +0 -79
  109. package/esm2020/lib/components/query-builder/query-builder.component.mjs +0 -100
  110. package/esm2020/lib/components/query-builder/rule/components/date/date-filter.component.mjs +0 -40
  111. package/esm2020/lib/components/query-builder/rule/components/number/number-filter.component.mjs +0 -28
  112. package/esm2020/lib/components/query-builder/rule/components/radio/radio-filter.component.mjs +0 -30
  113. package/esm2020/lib/components/query-builder/rule/components/select/select-filter.component.mjs +0 -87
  114. package/esm2020/lib/components/query-builder/rule/components/text/text-filter.component.mjs +0 -31
  115. package/esm2020/lib/components/query-builder/utils/qb-filter.utils.mjs +0 -89
  116. package/fesm2015/recursyve-nice-data-filter-kit.mjs +0 -5586
  117. package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +0 -1
  118. /package/{esm2020 → esm2022}/lib/api/dto/saved-reports.dto.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/api/filter.api.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/api/models/saved-reports.model.mjs +0 -0
  121. /package/{esm2020 → esm2022}/lib/api/public-api.mjs +0 -0
  122. /package/{esm2020 → esm2022}/lib/api/saved-report.api.mjs +0 -0
  123. /package/{esm2020 → esm2022}/lib/components/base-list/base-list.constant.mjs +0 -0
  124. /package/{esm2020 → esm2022}/lib/components/base-list/models/columns.model.mjs +0 -0
  125. /package/{esm2020 → esm2022}/lib/components/base-list/models/export.model.mjs +0 -0
  126. /package/{esm2020 → esm2022}/lib/components/base-list/models/icons.model.mjs +0 -0
  127. /package/{esm2020 → esm2022}/lib/components/base-list/models/layout.model.mjs +0 -0
  128. /package/{esm2020 → esm2022}/lib/components/base-list/public-api.mjs +0 -0
  129. /package/{esm2020 → esm2022}/lib/components/multi-state-list/models/list-states.model.mjs +0 -0
  130. /package/{esm2020 → esm2022}/lib/components/multi-state-list/multi-state-list.constant.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/components/multi-state-list/providers/multi-state-filter.service.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/components/multi-state-list/public-api.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.constant.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.form.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/models/icons.model.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/components/nice-filter-view/components/advanced-filters/public-api.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/components/nice-filter-view/models/order-options.model.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/components/nice-filter-view/nice-filter-view.constant.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/components/nice-filter-view/public-api.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/components/public-api.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/components/query-builder/models/icons.model.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/components/query-builder/providers/filter-group.service.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/components/query-builder/public-api.mjs +0 -0
  144. /package/{esm2020 → esm2022}/lib/components/query-builder/query-builder.constant.mjs +0 -0
  145. /package/{esm2020 → esm2022}/lib/components/query-builder/query-builder.form.mjs +0 -0
  146. /package/{esm2020 → esm2022}/lib/directive/public-api.mjs +0 -0
  147. /package/{esm2020 → esm2022}/lib/directive/selectable-list/model/load-all-entities-options.model.mjs +0 -0
  148. /package/{esm2020 → esm2022}/lib/directive/selectable-list/model/selectable-list-options.model.mjs +0 -0
  149. /package/{esm2020 → esm2022}/lib/directive/selectable-list/public-api.mjs +0 -0
  150. /package/{esm2020 → esm2022}/lib/directive/selectable-list/selectable-list.constant.mjs +0 -0
  151. /package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list-state.query.mjs +0 -0
  152. /package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list-state.service.mjs +0 -0
  153. /package/{esm2020 → esm2022}/lib/directive/selectable-list/store/selectable-list.state.mjs +0 -0
  154. /package/{esm2020 → esm2022}/lib/models/filter.model.mjs +0 -0
  155. /package/{esm2020 → esm2022}/lib/models/public-api.mjs +0 -0
  156. /package/{esm2020 → esm2022}/lib/models/query.model.mjs +0 -0
  157. /package/{esm2020 → esm2022}/lib/utils/filter.utils.mjs +0 -0
  158. /package/{esm2020 → esm2022}/lib/utils/order.utils.mjs +0 -0
  159. /package/{esm2020 → esm2022}/lib/utils/public-api.mjs +0 -0
  160. /package/{esm2020 → esm2022}/lib/utils/query-params.utils.mjs +0 -0
  161. /package/{esm2020 → esm2022}/lib/utils/string.utils.mjs +0 -0
  162. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  163. /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==