Skip to content

Commit 588498b

Browse files
Loic-frLoïc BURELOUX
andauthored
avoid hard migration by simlifying the fix of ngrx read only and primeng lazyLoad (#159)
Co-authored-by: Loïc BURELOUX <[email protected]>
1 parent 5038ede commit 588498b

File tree

5 files changed

+29
-29
lines changed

5 files changed

+29
-29
lines changed

Angular/src/app/features/bia-features/notifications/views/notifications-index/notifications-index.component.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import {
2525
import { KeyValuePair } from 'src/app/shared/bia-shared/model/key-value-pair';
2626
import { PagingFilterFormatDto } from 'src/app/shared/bia-shared/model/paging-filter-format';
2727
import { TableHelperService } from 'src/app/shared/bia-shared/services/table-helper.service';
28-
import { clone } from 'src/app/shared/bia-shared/utils';
2928
import { DEFAULT_PAGE_SIZE } from 'src/app/shared/constants';
3029
import { Permission } from 'src/app/shared/permission';
3130
import { AppState } from 'src/app/store/state';
@@ -181,14 +180,7 @@ export class NotificationsIndexComponent implements OnInit, OnDestroy {
181180
onLoadLazy(lazyLoadEvent: TableLazyLoadEvent) {
182181
const pagingAndFilter: PagingFilterFormatDto = {
183182
parentIds: this.parentIds,
184-
filters: clone(lazyLoadEvent.filters),
185-
first: lazyLoadEvent.first,
186-
globalFilter: clone(lazyLoadEvent.globalFilter),
187-
last: lazyLoadEvent.last,
188-
multiSortMeta: clone(lazyLoadEvent.multiSortMeta),
189-
rows: lazyLoadEvent.rows,
190-
sortField: lazyLoadEvent.sortField,
191-
sortOrder: lazyLoadEvent.sortOrder,
183+
...lazyLoadEvent,
192184
};
193185
this.store.dispatch(
194186
FeatureNotificationsActions.loadAllByPost({ event: pagingAndFilter })

Angular/src/app/features/planes-full-code/views/planes-index/planes-index.component.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import {
2525
import { KeyValuePair } from 'src/app/shared/bia-shared/model/key-value-pair';
2626
import { PagingFilterFormatDto } from 'src/app/shared/bia-shared/model/paging-filter-format';
2727
import { TableHelperService } from 'src/app/shared/bia-shared/services/table-helper.service';
28-
import { clone } from 'src/app/shared/bia-shared/utils';
2928
import { DEFAULT_PAGE_SIZE } from 'src/app/shared/constants';
3029
import { Permission } from 'src/app/shared/permission';
3130
import { AppState } from 'src/app/store/state';
@@ -213,14 +212,7 @@ export class PlanesIndexComponent implements OnInit, OnDestroy {
213212
onLoadLazy(lazyLoadEvent: TableLazyLoadEvent) {
214213
const pagingAndFilter: PagingFilterFormatDto = {
215214
parentIds: this.parentIds,
216-
filters: clone(lazyLoadEvent.filters),
217-
first: lazyLoadEvent.first,
218-
globalFilter: clone(lazyLoadEvent.globalFilter),
219-
last: lazyLoadEvent.last,
220-
multiSortMeta: clone(lazyLoadEvent.multiSortMeta),
221-
rows: lazyLoadEvent.rows,
222-
sortField: lazyLoadEvent.sortField,
223-
sortOrder: lazyLoadEvent.sortOrder,
215+
...lazyLoadEvent,
224216
};
225217
this.store.dispatch(
226218
FeaturePlanesActions.loadAllByPost({ event: pagingAndFilter })

Angular/src/app/shared/bia-shared/components/table/bia-table/bia-table.component.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
} from '../../../model/bia-field-config';
2525
import { BiaTableState } from '../../../model/bia-table-state';
2626
import { KeyValuePair } from '../../../model/key-value-pair';
27+
import { TableHelperService } from '../../../services/table-helper.service';
2728

2829
const objectsEqual = (o1: any, o2: any) =>
2930
Object.keys(o1).length === Object.keys(o2).length &&
@@ -415,7 +416,9 @@ export class BiaTableComponent implements OnChanges, AfterContentInit {
415416

416417
onLoadLazy(event: TableLazyLoadEvent) {
417418
this.saveTableState();
418-
setTimeout(() => this.loadLazy.emit(event), 0);
419+
const tableLazyLoadCopy: TableLazyLoadEvent =
420+
TableHelperService.copyTableLazyLoadEvent(event);
421+
setTimeout(() => this.loadLazy.emit(tableLazyLoadCopy), 0);
419422
}
420423

421424
onSelectionChange() {
@@ -518,7 +521,11 @@ export class BiaTableComponent implements OnChanges, AfterContentInit {
518521
}
519522

520523
getLazyLoadMetadata(): TableLazyLoadEvent {
521-
return this.table?.createLazyLoadMetadata();
524+
const lazyLoadEvent = this.table?.createLazyLoadMetadata();
525+
if (lazyLoadEvent) {
526+
return TableHelperService.copyTableLazyLoadEvent(lazyLoadEvent);
527+
}
528+
return {};
522529
}
523530

524531
getLazyLoadOnInit(): boolean {

Angular/src/app/shared/bia-shared/feature-templates/crud-items/views/crud-items-index/crud-items-index.component.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import { BiaTableState } from 'src/app/shared/bia-shared/model/bia-table-state';
2626
import { KeyValuePair } from 'src/app/shared/bia-shared/model/key-value-pair';
2727
import { PagingFilterFormatDto } from 'src/app/shared/bia-shared/model/paging-filter-format';
2828
import { TableHelperService } from 'src/app/shared/bia-shared/services/table-helper.service';
29-
import { clone } from 'src/app/shared/bia-shared/utils';
3029
import { DEFAULT_PAGE_SIZE, TeamTypeId } from 'src/app/shared/constants';
3130
import { AppState } from 'src/app/store/state';
3231
import { CrudItemTableComponent } from '../../components/crud-item-table/crud-item-table.component';
@@ -325,14 +324,7 @@ export class CrudItemsIndexComponent<CrudItem extends BaseDto>
325324
const pagingAndFilter: PagingFilterFormatDto = {
326325
advancedFilter: this.crudConfiguration.fieldsConfig.advancedFilter,
327326
parentIds: this.crudItemService.getParentIds().map(id => id.toString()),
328-
filters: clone(lazyLoadEvent.filters),
329-
first: lazyLoadEvent.first,
330-
globalFilter: clone(lazyLoadEvent.globalFilter),
331-
last: lazyLoadEvent.last,
332-
multiSortMeta: clone(lazyLoadEvent.multiSortMeta),
333-
rows: lazyLoadEvent.rows,
334-
sortField: lazyLoadEvent.sortField,
335-
sortOrder: lazyLoadEvent.sortOrder,
327+
...lazyLoadEvent,
336328
};
337329
this.crudItemService.loadAllByPost(pagingAndFilter);
338330
this.hasColumnFilter =

Angular/src/app/shared/bia-shared/services/table-helper.service.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,29 @@
11
import { Injectable } from '@angular/core';
22
import { FilterMetadata } from 'primeng/api';
3+
import { TableLazyLoadEvent } from 'primeng/table';
34
import { TABLE_FILTER_GLOBAL } from '../../constants';
45
import { BiaTableComponent } from '../components/table/bia-table/bia-table.component';
6+
import { clone } from '../utils';
57

68
@Injectable({
79
providedIn: 'root',
810
})
911
export class TableHelperService {
12+
static copyTableLazyLoadEvent(
13+
lazyLoadEvent: TableLazyLoadEvent
14+
): TableLazyLoadEvent {
15+
return {
16+
filters: clone(lazyLoadEvent.filters),
17+
first: lazyLoadEvent.first,
18+
globalFilter: clone(lazyLoadEvent.globalFilter),
19+
last: lazyLoadEvent.last,
20+
multiSortMeta: clone(lazyLoadEvent.multiSortMeta),
21+
rows: lazyLoadEvent.rows,
22+
sortField: lazyLoadEvent.sortField,
23+
sortOrder: lazyLoadEvent.sortOrder,
24+
};
25+
}
26+
1027
public hasFilter(biaTableComponent: BiaTableComponent): boolean {
1128
if (this.isNullUndefEmptyStr(biaTableComponent)) {
1229
return false;

0 commit comments

Comments
 (0)