@recursyve/nice-data-filter-kit 14.3.2 → 14.3.4

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.
@@ -3021,7 +3021,7 @@ class NiceFilterViewService {
3021
3021
  this.store.setLoading(false);
3022
3022
  }
3023
3023
  }
3024
- setParameters(filterParameters, reload = false) {
3024
+ setParameters(filterParameters, reload) {
3025
3025
  this.store.setParameters(filterParameters);
3026
3026
  if (reload) {
3027
3027
  this.filter();
@@ -3032,7 +3032,7 @@ class NiceFilterViewService {
3032
3032
  this.setParameters({
3033
3033
  ...filterParameters,
3034
3034
  start: 0
3035
- }, false);
3035
+ });
3036
3036
  this.resetResult(true);
3037
3037
  }
3038
3038
  setQueryParams(queryParams) {
@@ -3046,20 +3046,22 @@ class NiceFilterViewService {
3046
3046
  this.filter();
3047
3047
  }
3048
3048
  }
3049
- setRules(rules, reload) {
3049
+ setRules(rules) {
3050
3050
  if (!Array.isArray(rules)) {
3051
3051
  rules = [rules];
3052
3052
  }
3053
3053
  const { filterParameters } = this.store.getValue();
3054
3054
  const newRules = {
3055
3055
  order: filterParameters.order,
3056
+ fallbackOrder: filterParameters.fallbackOrder,
3056
3057
  start: 0,
3057
3058
  length: filterParameters.length,
3059
+ data: filterParameters.data,
3058
3060
  rules
3059
3061
  };
3060
- this.setParameters(newRules, reload);
3062
+ this.setParameters(newRules);
3061
3063
  }
3062
- upsertRule(id, newRule, reload) {
3064
+ upsertRule(id, newRule) {
3063
3065
  const { filterParameters } = this.store.getValue();
3064
3066
  const currentQuery = filterParameters.rules?.[0];
3065
3067
  const rule = {
@@ -3068,7 +3070,7 @@ class NiceFilterViewService {
3068
3070
  };
3069
3071
  const query = { rules: [rule], condition: "and" };
3070
3072
  if (!currentQuery || currentQuery.rules.length === 0) {
3071
- this.setRules(query, reload);
3073
+ this.setRules(query);
3072
3074
  return;
3073
3075
  }
3074
3076
  const oldRule = currentQuery.rules.find((r) => r.id === id);
@@ -3078,7 +3080,7 @@ class NiceFilterViewService {
3078
3080
  // Array replace
3079
3081
  newRules = [
3080
3082
  ...currentQuery.rules.slice(0, currentQuery.rules.indexOf(oldRule)),
3081
- query,
3083
+ rule,
3082
3084
  ...currentQuery.rules.slice(currentQuery.rules.indexOf(oldRule) + 1, currentQuery.rules.length)
3083
3085
  ];
3084
3086
  }
@@ -3087,14 +3089,14 @@ class NiceFilterViewService {
3087
3089
  }
3088
3090
  }
3089
3091
  else {
3090
- newRules = [...newRules, query];
3092
+ newRules = [...newRules, rule];
3091
3093
  }
3092
3094
  this.setRules({
3093
3095
  condition: currentQuery.condition,
3094
3096
  rules: newRules
3095
- }, reload);
3097
+ });
3096
3098
  }
3097
- removeRule(id, reload) {
3099
+ removeRule(id) {
3098
3100
  const { filterParameters } = this.store.getValue();
3099
3101
  const currentQuery = filterParameters.rules?.[0];
3100
3102
  const oldRule = currentQuery.rules.find((r) => r.id === id);
@@ -3105,7 +3107,7 @@ class NiceFilterViewService {
3105
3107
  this.setRules({
3106
3108
  condition: currentQuery.condition,
3107
3109
  rules: newRules
3108
- }, reload);
3110
+ });
3109
3111
  }
3110
3112
  addValue(value, opts) {
3111
3113
  this.store.addValue(value, opts);
@@ -3369,7 +3371,7 @@ class NiceAdvancedFiltersButtonComponent {
3369
3371
  }
3370
3372
  onSelectedFilter(filter) {
3371
3373
  const rule = AdvancedFiltersUtils.createRule(filter);
3372
- this.service.setRules([{ condition: "and", rules: [rule] }], false);
3374
+ this.service.setRules([{ condition: "and", rules: [rule] }]);
3373
3375
  this.service.updateSubState("showAdvancedFilters", true);
3374
3376
  }
3375
3377
  }
@@ -3772,7 +3774,8 @@ class NiceAdvancedFiltersComponent {
3772
3774
  onClickDeleteRule(index) {
3773
3775
  this.rulesFormArray.removeAt(index);
3774
3776
  if (!this.rulesFormArray.length) {
3775
- this.service.setRules([], true);
3777
+ this.service.setRules([]);
3778
+ this.service.filter();
3776
3779
  this.onClose();
3777
3780
  }
3778
3781
  }
@@ -3780,7 +3783,9 @@ class NiceAdvancedFiltersComponent {
3780
3783
  this.service.updateSubState("showAdvancedFilters", false);
3781
3784
  }
3782
3785
  onRefresh() {
3783
- this.service.setRules(this.formGroup.getRawValue().transform(), true);
3786
+ this.service.setRules(this.formGroup.getRawValue().transform());
3787
+ this.service.resetResult(true);
3788
+ this.service.filter();
3784
3789
  }
3785
3790
  }
3786
3791
  NiceAdvancedFiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedFiltersComponent, deps: [{ token: ADVANCED_FILTER_ICONS, optional: true }, { token: i1$3.GeneratedFormGroup }, { token: NiceFilterViewQuery }, { token: NiceFilterViewService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -4078,12 +4083,16 @@ class NiceFilterInfiniteScrollDataViewComponent {
4078
4083
  this.data$ = this.query.selectAll();
4079
4084
  }
4080
4085
  async loadNextPage() {
4081
- const { filterParameters } = this.query.getValue();
4086
+ const { filterParameters, filterResult } = this.query.getValue();
4082
4087
  this.service.setMode("accumulated");
4083
- await this.service.setParameters({
4088
+ if (filterResult && filterResult.values.length >= filterResult.total) {
4089
+ return;
4090
+ }
4091
+ this.service.setParameters({
4084
4092
  ...filterParameters,
4085
4093
  start: filterParameters.start + filterParameters.length
4086
- }, true);
4094
+ });
4095
+ this.service.filter();
4087
4096
  }
4088
4097
  }
4089
4098
  NiceFilterInfiniteScrollDataViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterInfiniteScrollDataViewComponent, deps: [{ token: NiceFilterViewQuery }, { token: NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
@@ -4117,7 +4126,8 @@ class NiceFilterSearchComponent {
4117
4126
  this.service.setParameters({
4118
4127
  ...filterParameters,
4119
4128
  search
4120
- }, true);
4129
+ });
4130
+ this.service.filter();
4121
4131
  }))
4122
4132
  .subscribe();
4123
4133
  }
@@ -4164,7 +4174,8 @@ class NiceFilterMatPaginatorPaginationDirective {
4164
4174
  ...filterParameters,
4165
4175
  start: page.pageIndex * page.pageSize,
4166
4176
  length: page.pageSize
4167
- }, true);
4177
+ });
4178
+ this.service.filter();
4168
4179
  });
4169
4180
  }
4170
4181
  ngOnDestroy() {
@@ -4205,7 +4216,7 @@ class NiceFilterMatSortSortingDirective {
4205
4216
  this.service.setParameters({
4206
4217
  ...values,
4207
4218
  order: {}
4208
- }, true);
4219
+ });
4209
4220
  }
4210
4221
  else {
4211
4222
  this.service.setParameters({
@@ -4214,8 +4225,9 @@ class NiceFilterMatSortSortingDirective {
4214
4225
  column: sort.active,
4215
4226
  direction: sort.direction
4216
4227
  }
4217
- }, true);
4228
+ });
4218
4229
  }
4230
+ this.service.filter();
4219
4231
  });
4220
4232
  }
4221
4233
  ngOnDestroy() {
@@ -4304,7 +4316,10 @@ class NiceFilterQueryParamsDirective {
4304
4316
  const { filterParameters, filterResult } = this.query.getValue();
4305
4317
  if (FilterUtils.filterChangeNeedsRefresh(filterParameters, params) ||
4306
4318
  !filterResult) {
4307
- this.service.setParameters(params, false);
4319
+ this.service.setParameters({
4320
+ ...params,
4321
+ fallbackOrder: filterParameters.fallbackOrder
4322
+ });
4308
4323
  }
4309
4324
  if (!this._initialized) {
4310
4325
  this._initialized = true;
@@ -4394,21 +4409,30 @@ class NiceBaseFilterViewComponent {
4394
4409
  * Reset all rules with a new set of rules.
4395
4410
  */
4396
4411
  setRules(rules, reload = true) {
4397
- this.filterViewService.setRules(rules, reload);
4412
+ this.filterViewService.setRules(rules);
4413
+ if (reload) {
4414
+ this.filterViewService.filter();
4415
+ }
4398
4416
  }
4399
4417
  /**
4400
4418
  * Add or update a rule.
4401
4419
  * NOTE: This will only check for rules in the first element of the rules array in the current filterParameters.
4402
4420
  */
4403
4421
  upsertRule(id, newRule, reload = true) {
4404
- this.filterViewService.upsertRule(id, newRule, reload);
4422
+ this.filterViewService.upsertRule(id, newRule);
4423
+ if (reload) {
4424
+ this.filterViewService.filter();
4425
+ }
4405
4426
  }
4406
4427
  /**
4407
4428
  * Remove a rule.
4408
4429
  * NOTE: This will only check for rules in the first element of the rules array in the current filterParameters.
4409
4430
  */
4410
4431
  removeRule(id, reload = true) {
4411
- this.filterViewService.removeRule(id, reload);
4432
+ this.filterViewService.removeRule(id);
4433
+ if (reload) {
4434
+ this.filterViewService.filter();
4435
+ }
4412
4436
  }
4413
4437
  autoLoad(autoLoad) {
4414
4438
  const { autoLoad: defaultAutoLoad } = this.filterViewQuery.getValue();