diff --git a/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.html b/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.html index 0dc5a8843faf307431fd2733142de9e1a6619dad..8285270af39d1c246df5007f5aae6a661c302e6e 100644 --- a/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.html +++ b/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.html @@ -44,6 +44,7 @@ solidifyValidation [resourceNameSpace]="depositAuthorizedOrganizationalUnitNameSpace" [state]="depositAuthorizedOrganizationalUnitState" + [sort]="depositAuthorizedOrganizationalUnitSort" [formControl]="fd" [canDeleteValue]="false" [labelKey]="'name'" diff --git a/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts b/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts index bccb221e5dcb7bd697a9b76e3f175c740ce05076..6a27f5ec8f0fef731961c53aed7d67e8a1a942b0 100644 --- a/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts +++ b/src/app/features/deposit/components/routables/deposit-list/deposit-list.routable.ts @@ -70,6 +70,7 @@ import { isNullOrUndefined, isUndefined, MappingObjectUtil, + MARK_AS_TRANSLATABLE, MemoizedUtil, OrderEnum, Override, @@ -79,7 +80,7 @@ import { ResourceNameSpace, ResourceState, SolidifyValidator, - MARK_AS_TRANSLATABLE, + Sort, } from "solidify-frontend"; @Component({ @@ -97,6 +98,10 @@ export class DepositListRoutable extends SharedAbstractListRoutable<Deposit, Dep readonly KEY_ORGANIZATIONAL_UNIT: keyof Deposit & string = "organizationalUnitId"; readonly KEY_STATUS: keyof Deposit & string = "status"; + depositAuthorizedOrganizationalUnitSort: Sort = { + field: "name" as keyof OrganizationalUnit, + order: OrderEnum.ascending, + }; depositAuthorizedOrganizationalUnitNameSpace: ResourceNameSpace = depositAuthorizedOrganizationalUnitNameSpace; depositAuthorizedOrganizationalUnitState: typeof DepositAuthorizedOrganizationalUnitState = DepositAuthorizedOrganizationalUnitState; diff --git a/src/app/features/deposit/stores/authorized-organizational-unit/deposit-authorized-organizational-unit.state.ts b/src/app/features/deposit/stores/authorized-organizational-unit/deposit-authorized-organizational-unit.state.ts index 0fc6a094242dd317594a6cbe92e506383f93cbe8..6d4e041893e5494d22ceb8eab951957f1a5cf583 100644 --- a/src/app/features/deposit/stores/authorized-organizational-unit/deposit-authorized-organizational-unit.state.ts +++ b/src/app/features/deposit/stores/authorized-organizational-unit/deposit-authorized-organizational-unit.state.ts @@ -14,6 +14,7 @@ import { defaultResourceStateInitValue, MappingObjectUtil, NotificationService, + OrderEnum, QueryParameters, ResourceState, ResourceStateModel, @@ -30,7 +31,10 @@ export const defaultDepositAuthorizedOrgUnitValue: () => DepositAuthorizedOrgani // WARNING : IN SOME CASE WE NEED TO FILTER TO GET ONLY OPENED ORG UNIT const getQueryParameter = () => { - const queryParameters = new QueryParameters(environment.defaultEnumValuePageSizeLazyLoad); + const queryParameters = new QueryParameters(environment.defaultEnumValuePageSizeLazyLoad, { + field: "name" as keyof OrganizationalUnit, + order: OrderEnum.ascending, + }); MappingObjectUtil.set(queryParameters.search.searchItems, "openOnly", "true"); return queryParameters; }; diff --git a/src/app/shared/components/presentationals/shared-searchable-abstract-content/shared-searchable-abstract-content.presentational.ts b/src/app/shared/components/presentationals/shared-searchable-abstract-content/shared-searchable-abstract-content.presentational.ts index 10d0e7e8293e90c9ed270b3e6455aa1e5cbdc0a3..72fd14db31175331f3ecb80163c184f4f8600c1b 100644 --- a/src/app/shared/components/presentationals/shared-searchable-abstract-content/shared-searchable-abstract-content.presentational.ts +++ b/src/app/shared/components/presentationals/shared-searchable-abstract-content/shared-searchable-abstract-content.presentational.ts @@ -66,7 +66,8 @@ export abstract class SharedSearchableAbstractContentPresentational<TResource ex } const currentPosition = this._elementRef.nativeElement.scrollTop + this._elementRef.nativeElement.offsetHeight; const maxPosition = this._elementRef.nativeElement.scrollHeight; - if (currentPosition === maxPosition) { + + if (currentPosition >= maxPosition) { this.loadNextChunk(); } } @@ -158,7 +159,7 @@ export abstract class SharedSearchableAbstractContentPresentational<TResource ex } private _dispatchInitDataLoad(): void { - const queryParameters = new QueryParameters(this._pageSize); + const queryParameters = new QueryParameters(this._pageSize, this.host.sort); if (isNotNullNorUndefined(this.host.extraSearchQueryParam)) { queryParameters.search.searchItems = MappingObjectUtil.copy(this.host.extraSearchQueryParam); } diff --git a/src/app/shared/components/presentationals/shared-searchable-multi-select/shared-searchable-multi-select.presentational.ts b/src/app/shared/components/presentationals/shared-searchable-multi-select/shared-searchable-multi-select.presentational.ts index 83d8983372db84da5338af4cc0e2ef2c2802d76e..e3b4eb6037cab9176369f08dc4acc4aa5fab6bae 100644 --- a/src/app/shared/components/presentationals/shared-searchable-multi-select/shared-searchable-multi-select.presentational.ts +++ b/src/app/shared/components/presentationals/shared-searchable-multi-select/shared-searchable-multi-select.presentational.ts @@ -39,6 +39,7 @@ import { ResourceNameSpace, ResourceState, ResourceStateModel, + Sort, Type, } from "solidify-frontend"; @@ -68,6 +69,9 @@ export class SharedSearchableMultiSelectPresentational<TStateModel extends Resou @Input() searchKey: string; + @Input() + sort: Sort | undefined; + @ViewChild("inputElementRef", {static: true}) inputElementRef: ElementRef; diff --git a/src/app/shared/components/presentationals/shared-searchable-single-select/shared-searchable-single-select.presentational.ts b/src/app/shared/components/presentationals/shared-searchable-single-select/shared-searchable-single-select.presentational.ts index 94241210a88e070c0254bbf2146ec00cc81b1b11..e04e55ad578852d14c3170e0113b77f1687fe4da 100644 --- a/src/app/shared/components/presentationals/shared-searchable-single-select/shared-searchable-single-select.presentational.ts +++ b/src/app/shared/components/presentationals/shared-searchable-single-select/shared-searchable-single-select.presentational.ts @@ -57,6 +57,7 @@ import { ResourceNameSpace, ResourceState, ResourceStateModel, + Sort, Type, } from "solidify-frontend"; @@ -124,6 +125,9 @@ export class SharedSearchableSingleSelectPresentational<TStateModel extends Reso @Input() defaultValue: string | undefined; + @Input() + sort: Sort | undefined; + isDefaultValueSelected: boolean = false; private url: string;