diff --git a/src/app/core/services/app-config.service.ts b/src/app/core/services/app-config.service.ts index 7d24717..019931a 100644 --- a/src/app/core/services/app-config.service.ts +++ b/src/app/core/services/app-config.service.ts @@ -204,18 +204,7 @@ export class AppConfigService { } }, value: { - autocompletionConfig: { - url: `${environment.baseUrl}/api/institutions/_suggest?affiliation=`, - path: '/affiliation/0/options', - size: 20, - itemTemplateName: 'affiliationAutocompleteTemplate', - onCompletionSelect: (path, completion, store) => { - path.splice(-1, 1, 'record', '$ref'); - store.setIn(path, completion.payload['$ref']); - path.splice(-2, 2, 'curated_relation'); - store.setIn(path, true); - } - } + autocompletionConfig: this.commonConfigsService.affiliationAutocompletionConfig } } } @@ -342,6 +331,15 @@ export class AppConfigService { } } }, + record_affiliations: { + items: { + properties: { + value: { + autocompletionConfig: this.commonConfigsService.affiliationAutocompletionConfig + } + } + } + }, references: { sortable: true, longListNavigatorConfig: { @@ -456,6 +454,13 @@ export class AppConfigService { properties: { degree_type: { priority: 1 + }, + institutions: { + items: { + properties: { + name: this.commonConfigsService.affiliationAutocompletionConfig + } + } } } }, diff --git a/src/app/core/services/common-configs.service.ts b/src/app/core/services/common-configs.service.ts index 8e79bd2..abdb100 100644 --- a/src/app/core/services/common-configs.service.ts +++ b/src/app/core/services/common-configs.service.ts @@ -21,10 +21,11 @@ */ import { Injectable } from '@angular/core'; -import { RefAnchorAttributes, JsonStoreService, KeysStoreService } from 'ng2-json-editor'; +import { RefAnchorAttributes, JsonStoreService, KeysStoreService, AutocompletionConfig } from 'ng2-json-editor'; import { FieldSplitterService } from './field-splitter.service'; import { ISO_LANGUAGE_MAP } from '../../shared/constants'; +import { environment } from '../../../environments/environment'; @Injectable() export class CommonConfigsService { @@ -33,6 +34,20 @@ export class CommonConfigsService { readonly isoLanguageMap = ISO_LANGUAGE_MAP; + readonly affiliationAutocompletionConfig: AutocompletionConfig = { + url: `${environment.baseUrl}/api/institutions/_suggest?affiliation=`, + path: '/affiliation/0/options', + size: 20, + itemTemplateName: 'affiliationAutocompleteTemplate', + onCompletionSelect: (path, completion, store) => { + path.splice(-1, 1, 'record', '$ref'); + store.setIn(path, completion.payload['$ref']); + + path.splice(-2, 2, 'curated_relation'); + store.setIn(path, true); + } + }; + readonly anchorBuilder = (url: string): RefAnchorAttributes => { let parts = url.split('/'); let type = parts[parts.length - 2]; @@ -95,4 +110,6 @@ export class CommonConfigsService { keyStore.buildKeysMapRecursivelyForPath(jsonStore.getIn(referencePath), referencePath); } + + }