diff --git a/apps/red-ui/src/app/services/entity-services/file-attributes.service.ts b/apps/red-ui/src/app/services/entity-services/file-attributes.service.ts index a1a0d14b1..e994f7106 100644 --- a/apps/red-ui/src/app/services/entity-services/file-attributes.service.ts +++ b/apps/red-ui/src/app/services/entity-services/file-attributes.service.ts @@ -1,7 +1,7 @@ import { EntitiesService, List, RequiredParam, Validate } from '@iqser/common-ui'; import { Injectable, Injector } from '@angular/core'; import { BehaviorSubject, Observable, of } from 'rxjs'; -import { catchError, map, tap } from 'rxjs/operators'; +import { catchError, tap } from 'rxjs/operators'; import { FileAttributeConfig, FileAttributes, IFileAttributeConfig, IFileAttributesConfig } from '@red/domain'; type FileAttributesConfigMap = Readonly>; @@ -24,13 +24,10 @@ export class FileAttributesService extends EntitiesService { - if (!fetch) { - return this._fileAttributesConfig$.pipe(map(entities => entities[dossierTemplateId])); - } - + getFileAttributesConfig(@RequiredParam() dossierTemplateId: string): Observable { const request$ = this._getOne(['config', dossierTemplateId]); return request$.pipe( + tap(entities => entities.fileAttributeConfigs.sort((c1, c2) => c1.placeholder.localeCompare(c2.placeholder))), tap(entities => this._fileAttributesConfig$.next({ ...this._fileAttributesConfig$.value, @@ -42,9 +39,7 @@ export class FileAttributesService extends EntitiesService c1.placeholder.localeCompare(c2.placeholder)); - return fileAttributesConfig; + return this._fileAttributesConfig$.value[dossierTemplateId]; } /**