diff --git a/src/app/features/order/features/all-order/components/routables/all-order-detail-edit/order-all-order-detail-edit.routable.html b/src/app/features/order/features/all-order/components/routables/all-order-detail-edit/order-all-order-detail-edit.routable.html index 24333c3e7733019ef60c0362a17a11d4af5b9ad1..f2ea76b5e5cd01b38b60e0818c2d55e61442d48a 100644 --- a/src/app/features/order/features/all-order/components/routables/all-order-detail-edit/order-all-order-detail-edit.routable.html +++ b/src/app/features/order/features/all-order/components/routables/all-order-detail-edit/order-all-order-detail-edit.routable.html @@ -46,6 +46,11 @@ </ng-template> </mat-list-item> </mat-list> + <dlcm-shared-paginator class="paginator" + [pagingModel]="(queryParametersOrderArchivesObs | async).paging" + (pageChange)="pageChangeMatchingArchives($event)" + > + </dlcm-shared-paginator> </div> <div class="sub-wrapper" @@ -58,6 +63,11 @@ <span><a (click)="goToAipDownloaded(aip)">{{aip.info.name}}</a> - {{accessLevelEnumHelper.getLabel(aip.info.currentAccessLevel) | translate}}</span> </mat-list-item> </mat-list> + <dlcm-shared-paginator class="paginator" + [pagingModel]="(queryParametersAipObs | async).paging" + (pageChange)="pageChangeAipsSelected($event)" + > + </dlcm-shared-paginator> </div> <div *ngIf="(currentObs | async)?.dipNumber !== 0" @@ -71,6 +81,11 @@ <a (click)="goToDip(dip)">{{dip.info.name}}</a> </mat-list-item> </mat-list> + <dlcm-shared-paginator class="paginator" + [pagingModel]="(queryParametersDipObs | async).paging" + (pageChange)="pageChangeDipsAvailable($event)" + > + </dlcm-shared-paginator> </div> </ng-template> </div> diff --git a/src/app/features/order/features/all-order/components/routables/all-order-detail-edit/order-all-order-detail-edit.routable.ts b/src/app/features/order/features/all-order/components/routables/all-order-detail-edit/order-all-order-detail-edit.routable.ts index 73710d4d9cec1e7665fec6e7e8803870a5e20116..4e869dd79108470d41a29801b77d524cb30fe64d 100644 --- a/src/app/features/order/features/all-order/components/routables/all-order-detail-edit/order-all-order-detail-edit.routable.ts +++ b/src/app/features/order/features/all-order/components/routables/all-order-detail-edit/order-all-order-detail-edit.routable.ts @@ -19,6 +19,7 @@ import {SearchScopeEnum} from "@home/enums/search-scope.enum"; import {Navigate} from "@ngxs/router-plugin"; import { Actions, + ofActionCompleted, Select, Store, } from "@ngxs/store"; @@ -55,10 +56,15 @@ import {StatusHistory} from "@shared/models/status-history.model"; import {SecurityService} from "@shared/services/security.service"; import {MetadataUtil} from "@shared/utils/metadata.util"; import {Observable} from "rxjs"; +import { + take, + tap, +} from "rxjs/operators"; import { AssociationState, isNullOrUndefined, MemoizedUtil, + Paging, QueryParameters, ResourceState, TRANSLATE, @@ -85,6 +91,10 @@ export class OrderAllOrderDetailEditRoutable extends SharedAbstractDetailEditCom listOrderArchivesObs: Observable<OrderArchive[]> = ResourceState.list(this._store, OrderAllOrderOrderArchiveState); isLoadingOrderArchivesObs: Observable<boolean> = MemoizedUtil.isLoading(this._store, OrderAllOrderOrderArchiveState); + queryParametersAipObs: Observable<QueryParameters> = MemoizedUtil.queryParameters(this._store, OrderAllOrderAipState); + queryParametersOrderArchivesObs: Observable<QueryParameters> = MemoizedUtil.queryParameters(this._store, OrderAllOrderOrderArchiveState); + queryParametersDipObs: Observable<QueryParameters> = MemoizedUtil.queryParameters(this._store, OrderAllOrderDipState); + @ViewChild("formPresentational", {static: false}) readonly formPresentational: OrderAllOrderFormPresentational; @@ -180,6 +190,15 @@ export class OrderAllOrderDetailEditRoutable extends SharedAbstractDetailEditCom private save(): void { this._store.dispatch(new OrderAllOrderAction.Save(this._resId)); + this.subscribe(this._actions$.pipe(ofActionCompleted(OrderAllOrderAction.SaveSuccess)) + .pipe( + take(1), + tap(result => { + if (result.result.successful) { + this._store.dispatch(new OrderAllOrderAipAction.GetAll(this._resId)); + } + }), + )); } goToDip(dip: Dip): void { @@ -195,4 +214,22 @@ export class OrderAllOrderDetailEditRoutable extends SharedAbstractDetailEditCom const storagionNode = 1; this._store.dispatch(new Navigate([AppRoutesEnum.preservation, PreservationPlanningRoutesEnum.aip, storagionNode, PreservationPlanningRoutesEnum.aipDetail, aipId])); } + + pageChangeMatchingArchives($event: Paging): void { + const queryParameters = new QueryParameters(); + queryParameters.paging = $event; + this._store.dispatch(new OrderAllOrderOrderArchiveAction.GetAll(this._resId, queryParameters)); + } + + pageChangeAipsSelected($event: Paging): void { + const queryParameters = new QueryParameters(); + queryParameters.paging = $event; + this._store.dispatch(new OrderAllOrderAipAction.GetAll(this._resId, queryParameters)); + } + + pageChangeDipsAvailable($event: Paging): void { + const queryParameters = new QueryParameters(); + queryParameters.paging = $event; + this._store.dispatch(new OrderAllOrderDipAction.GetAll(this._resId, queryParameters)); + } } diff --git a/src/app/features/order/features/all-order/stores/aip/order-all-order-aip.state.ts b/src/app/features/order/features/all-order/stores/aip/order-all-order-aip.state.ts index 18405821667188c8712b49f137a9b9212ebddcc9..1bf482ebdf1bf3f217f1f2baf755aff3901d5c1f 100644 --- a/src/app/features/order/features/all-order/stores/aip/order-all-order-aip.state.ts +++ b/src/app/features/order/features/all-order/stores/aip/order-all-order-aip.state.ts @@ -1,5 +1,4 @@ import {Aip} from "@app/generated-api"; -import {environment} from "@environments/environment"; import { Actions, State, @@ -25,7 +24,7 @@ export interface OrderAllOrderAipStateModel extends AssociationStateModel<Aip> { name: LocalStateEnum.order_allOrder_aip, defaults: { ...defaultAssociationStateInitValue(), - queryParameters: new QueryParameters(environment.defaultEnumValuePageSizeOption), + queryParameters: new QueryParameters(), }, }) export class OrderAllOrderAipState extends AssociationState<OrderAllOrderAipStateModel, Aip> { diff --git a/src/app/features/order/features/all-order/stores/dip/order-all-order-dip.state.ts b/src/app/features/order/features/all-order/stores/dip/order-all-order-dip.state.ts index c4830531508bd4499e5d29f68a1be8798a467d20..8fed059819a00f57dbcf8546acf0d02e41f067bb 100644 --- a/src/app/features/order/features/all-order/stores/dip/order-all-order-dip.state.ts +++ b/src/app/features/order/features/all-order/stores/dip/order-all-order-dip.state.ts @@ -1,5 +1,4 @@ import {Dip} from "@app/generated-api"; -import {environment} from "@environments/environment"; import { Actions, State, @@ -25,7 +24,7 @@ export interface OrderAllOrderDipStateModel extends AssociationStateModel<Dip> { name: LocalStateEnum.order_allOrder_dip, defaults: { ...defaultAssociationStateInitValue(), - queryParameters: new QueryParameters(environment.defaultEnumValuePageSizeOption), + queryParameters: new QueryParameters(), }, }) export class OrderAllOrderDipState extends AssociationState<OrderAllOrderDipStateModel, Dip> { diff --git a/src/app/features/order/features/all-order/stores/order-archive/order-all-order-order-archive.state.ts b/src/app/features/order/features/all-order/stores/order-archive/order-all-order-order-archive.state.ts index ba37206eee9f52fb7d75d2c866261025f10c3957..e207d925461fd1ab090de1bfd7e81dc0b840155f 100644 --- a/src/app/features/order/features/all-order/stores/order-archive/order-all-order-order-archive.state.ts +++ b/src/app/features/order/features/all-order/stores/order-archive/order-all-order-order-archive.state.ts @@ -1,4 +1,3 @@ -import {environment} from "@environments/environment"; import {Navigate} from "@ngxs/router-plugin"; import { Action, @@ -42,7 +41,7 @@ export interface OrderAllOrderOrderArchiveStateModel extends ResourceStateModel< name: LocalStateEnum.order_allOrder_orderArchive, defaults: { ...defaultResourceStateInitValue(), - queryParameters: new QueryParameters(environment.defaultEnumValuePageSizeOption), + queryParameters: new QueryParameters(), }, children: [], })