Skip to content

Commit

Permalink
avoid hard migration by simlifying the fix of ngrx read only and prim…
Browse files Browse the repository at this point in the history
…eng lazyLoad (#159)

Co-authored-by: Loïc BURELOUX <loic.bureloux.ext@safrangroup.com>
  • Loading branch information
Loic-fr and Loïc BURELOUX authored Oct 1, 2024
1 parent 5038ede commit 588498b
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import {
import { KeyValuePair } from 'src/app/shared/bia-shared/model/key-value-pair';
import { PagingFilterFormatDto } from 'src/app/shared/bia-shared/model/paging-filter-format';
import { TableHelperService } from 'src/app/shared/bia-shared/services/table-helper.service';
import { clone } from 'src/app/shared/bia-shared/utils';
import { DEFAULT_PAGE_SIZE } from 'src/app/shared/constants';
import { Permission } from 'src/app/shared/permission';
import { AppState } from 'src/app/store/state';
Expand Down Expand Up @@ -181,14 +180,7 @@ export class NotificationsIndexComponent implements OnInit, OnDestroy {
onLoadLazy(lazyLoadEvent: TableLazyLoadEvent) {
const pagingAndFilter: PagingFilterFormatDto = {
parentIds: this.parentIds,
filters: clone(lazyLoadEvent.filters),
first: lazyLoadEvent.first,
globalFilter: clone(lazyLoadEvent.globalFilter),
last: lazyLoadEvent.last,
multiSortMeta: clone(lazyLoadEvent.multiSortMeta),
rows: lazyLoadEvent.rows,
sortField: lazyLoadEvent.sortField,
sortOrder: lazyLoadEvent.sortOrder,
...lazyLoadEvent,
};
this.store.dispatch(
FeatureNotificationsActions.loadAllByPost({ event: pagingAndFilter })
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import {
import { KeyValuePair } from 'src/app/shared/bia-shared/model/key-value-pair';
import { PagingFilterFormatDto } from 'src/app/shared/bia-shared/model/paging-filter-format';
import { TableHelperService } from 'src/app/shared/bia-shared/services/table-helper.service';
import { clone } from 'src/app/shared/bia-shared/utils';
import { DEFAULT_PAGE_SIZE } from 'src/app/shared/constants';
import { Permission } from 'src/app/shared/permission';
import { AppState } from 'src/app/store/state';
Expand Down Expand Up @@ -213,14 +212,7 @@ export class PlanesIndexComponent implements OnInit, OnDestroy {
onLoadLazy(lazyLoadEvent: TableLazyLoadEvent) {
const pagingAndFilter: PagingFilterFormatDto = {
parentIds: this.parentIds,
filters: clone(lazyLoadEvent.filters),
first: lazyLoadEvent.first,
globalFilter: clone(lazyLoadEvent.globalFilter),
last: lazyLoadEvent.last,
multiSortMeta: clone(lazyLoadEvent.multiSortMeta),
rows: lazyLoadEvent.rows,
sortField: lazyLoadEvent.sortField,
sortOrder: lazyLoadEvent.sortOrder,
...lazyLoadEvent,
};
this.store.dispatch(
FeaturePlanesActions.loadAllByPost({ event: pagingAndFilter })
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import {
} from '../../../model/bia-field-config';
import { BiaTableState } from '../../../model/bia-table-state';
import { KeyValuePair } from '../../../model/key-value-pair';
import { TableHelperService } from '../../../services/table-helper.service';

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

onLoadLazy(event: TableLazyLoadEvent) {
this.saveTableState();
setTimeout(() => this.loadLazy.emit(event), 0);
const tableLazyLoadCopy: TableLazyLoadEvent =
TableHelperService.copyTableLazyLoadEvent(event);
setTimeout(() => this.loadLazy.emit(tableLazyLoadCopy), 0);
}

onSelectionChange() {
Expand Down Expand Up @@ -518,7 +521,11 @@ export class BiaTableComponent implements OnChanges, AfterContentInit {
}

getLazyLoadMetadata(): TableLazyLoadEvent {
return this.table?.createLazyLoadMetadata();
const lazyLoadEvent = this.table?.createLazyLoadMetadata();
if (lazyLoadEvent) {
return TableHelperService.copyTableLazyLoadEvent(lazyLoadEvent);
}
return {};
}

getLazyLoadOnInit(): boolean {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import { BiaTableState } from 'src/app/shared/bia-shared/model/bia-table-state';
import { KeyValuePair } from 'src/app/shared/bia-shared/model/key-value-pair';
import { PagingFilterFormatDto } from 'src/app/shared/bia-shared/model/paging-filter-format';
import { TableHelperService } from 'src/app/shared/bia-shared/services/table-helper.service';
import { clone } from 'src/app/shared/bia-shared/utils';
import { DEFAULT_PAGE_SIZE, TeamTypeId } from 'src/app/shared/constants';
import { AppState } from 'src/app/store/state';
import { CrudItemTableComponent } from '../../components/crud-item-table/crud-item-table.component';
Expand Down Expand Up @@ -325,14 +324,7 @@ export class CrudItemsIndexComponent<CrudItem extends BaseDto>
const pagingAndFilter: PagingFilterFormatDto = {
advancedFilter: this.crudConfiguration.fieldsConfig.advancedFilter,
parentIds: this.crudItemService.getParentIds().map(id => id.toString()),
filters: clone(lazyLoadEvent.filters),
first: lazyLoadEvent.first,
globalFilter: clone(lazyLoadEvent.globalFilter),
last: lazyLoadEvent.last,
multiSortMeta: clone(lazyLoadEvent.multiSortMeta),
rows: lazyLoadEvent.rows,
sortField: lazyLoadEvent.sortField,
sortOrder: lazyLoadEvent.sortOrder,
...lazyLoadEvent,
};
this.crudItemService.loadAllByPost(pagingAndFilter);
this.hasColumnFilter =
Expand Down
17 changes: 17 additions & 0 deletions Angular/src/app/shared/bia-shared/services/table-helper.service.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,29 @@
import { Injectable } from '@angular/core';
import { FilterMetadata } from 'primeng/api';
import { TableLazyLoadEvent } from 'primeng/table';
import { TABLE_FILTER_GLOBAL } from '../../constants';
import { BiaTableComponent } from '../components/table/bia-table/bia-table.component';
import { clone } from '../utils';

@Injectable({
providedIn: 'root',
})
export class TableHelperService {
static copyTableLazyLoadEvent(
lazyLoadEvent: TableLazyLoadEvent
): TableLazyLoadEvent {
return {
filters: clone(lazyLoadEvent.filters),
first: lazyLoadEvent.first,
globalFilter: clone(lazyLoadEvent.globalFilter),
last: lazyLoadEvent.last,
multiSortMeta: clone(lazyLoadEvent.multiSortMeta),
rows: lazyLoadEvent.rows,
sortField: lazyLoadEvent.sortField,
sortOrder: lazyLoadEvent.sortOrder,
};
}

public hasFilter(biaTableComponent: BiaTableComponent): boolean {
if (this.isNullUndefEmptyStr(biaTableComponent)) {
return false;
Expand Down

0 comments on commit 588498b

Please sign in to comment.