diff --git a/src/app/core/browse/browse.service.spec.ts b/src/app/core/browse/browse.service.spec.ts index 0e39e53e43..9f166e3d19 100644 --- a/src/app/core/browse/browse.service.spec.ts +++ b/src/app/core/browse/browse.service.spec.ts @@ -27,7 +27,7 @@ describe('BrowseService', () => { const browseDefinitions = [ Object.assign(new FlatBrowseDefinition(), { id: 'date', - metadataBrowse: false, + browseType: 'flatBrowse', sortOptions: [ { name: 'title', @@ -54,7 +54,7 @@ describe('BrowseService', () => { }), Object.assign(new ValueListBrowseDefinition(), { id: 'author', - metadataBrowse: true, + browseType: 'valueList', sortOptions: [ { name: 'title', @@ -158,7 +158,7 @@ describe('BrowseService', () => { describe('when getBrowseEntriesFor is called with a valid browse definition id', () => { it('should call hrefOnlyDataService.findListByHref with the expected href', () => { - const expected = browseDefinitions[1]._links.entries.href; + const expected = (browseDefinitions[1] as ValueListBrowseDefinition)._links.entries.href; scheduler.schedule(() => service.getBrowseEntriesFor(new BrowseEntrySearchOptions(browseDefinitions[1].id)).subscribe()); scheduler.flush(); diff --git a/src/app/core/shared/flat-browse-definition.model.ts b/src/app/core/shared/flat-browse-definition.model.ts index 308f0c7a5b..086fca891b 100644 --- a/src/app/core/shared/flat-browse-definition.model.ts +++ b/src/app/core/shared/flat-browse-definition.model.ts @@ -1,9 +1,10 @@ -import { inheritSerialization } from 'cerialize'; +import { inheritSerialization, deserialize } from 'cerialize'; import { typedObject } from '../cache/builders/build-decorators'; import { excludeFromEquals } from '../utilities/equals.decorators'; import { FLAT_BROWSE_DEFINITION } from './flat-browse-definition.resource-type'; import { ResourceType } from './resource-type'; import { NonHierarchicalBrowseDefinition } from './non-hierarchical-browse-definition'; +import { HALLink } from './hal-link.model'; /** * BrowseDefinition model for browses of type 'flatBrowse' @@ -23,6 +24,12 @@ export class FlatBrowseDefinition extends NonHierarchicalBrowseDefinition { return this._links.self.href; } + @deserialize + _links: { + self: HALLink; + items: HALLink; + }; + getRenderType(): string { return this.dataType; } diff --git a/src/app/core/shared/hierarchical-browse-definition.model.ts b/src/app/core/shared/hierarchical-browse-definition.model.ts index ca3ed7bff0..d561fff643 100644 --- a/src/app/core/shared/hierarchical-browse-definition.model.ts +++ b/src/app/core/shared/hierarchical-browse-definition.model.ts @@ -36,8 +36,6 @@ export class HierarchicalBrowseDefinition extends BrowseDefinition { @deserialize _links: { self: HALLink; - entries: HALLink; - items: HALLink; vocabulary: HALLink; }; diff --git a/src/app/core/shared/non-hierarchical-browse-definition.ts b/src/app/core/shared/non-hierarchical-browse-definition.ts index a4f6df43d9..d5481fcc8d 100644 --- a/src/app/core/shared/non-hierarchical-browse-definition.ts +++ b/src/app/core/shared/non-hierarchical-browse-definition.ts @@ -1,7 +1,6 @@ -import { autoserialize, autoserializeAs, deserialize, inheritSerialization } from 'cerialize'; +import { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize'; import { SortOption } from './sort-option.model'; import { BrowseByDataType } from '../../browse-by/browse-by-switcher/browse-by-decorator'; -import { HALLink } from './hal-link.model'; import { BrowseDefinition } from './browse-definition.model'; /** @@ -22,11 +21,4 @@ export abstract class NonHierarchicalBrowseDefinition extends BrowseDefinition { @autoserialize dataType: BrowseByDataType; - - @deserialize - _links: { - self: HALLink; - entries: HALLink; - items: HALLink; - }; } diff --git a/src/app/core/shared/value-list-browse-definition.model.ts b/src/app/core/shared/value-list-browse-definition.model.ts index 33cce82cac..3378263962 100644 --- a/src/app/core/shared/value-list-browse-definition.model.ts +++ b/src/app/core/shared/value-list-browse-definition.model.ts @@ -1,9 +1,10 @@ -import { inheritSerialization } from 'cerialize'; +import { inheritSerialization, deserialize } from 'cerialize'; import { typedObject } from '../cache/builders/build-decorators'; import { excludeFromEquals } from '../utilities/equals.decorators'; import { VALUE_LIST_BROWSE_DEFINITION } from './value-list-browse-definition.resource-type'; import { ResourceType } from './resource-type'; import { NonHierarchicalBrowseDefinition } from './non-hierarchical-browse-definition'; +import { HALLink } from './hal-link.model'; /** * BrowseDefinition model for browses of type 'valueList' @@ -23,6 +24,12 @@ export class ValueListBrowseDefinition extends NonHierarchicalBrowseDefinition { return this._links.self.href; } + @deserialize + _links: { + self: HALLink; + entries: HALLink; + }; + getRenderType(): string { return this.dataType; } diff --git a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.html b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.html index 9f14795342..9cbc0146a1 100644 --- a/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.html +++ b/src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.html @@ -23,7 +23,7 @@