From 85f95112b3542281858cfc9db1d97aec50647c4d Mon Sep 17 00:00:00 2001 From: Nona Luypaert Date: Thu, 25 May 2023 12:10:28 +0200 Subject: [PATCH 1/2] 101127: Remove invalid links in BrowseDefinition models --- src/app/core/shared/flat-browse-definition.model.ts | 9 ++++++++- .../core/shared/hierarchical-browse-definition.model.ts | 2 -- .../core/shared/non-hierarchical-browse-definition.ts | 7 ------- .../core/shared/value-list-browse-definition.model.ts | 9 ++++++++- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/app/core/shared/flat-browse-definition.model.ts b/src/app/core/shared/flat-browse-definition.model.ts index 308f0c7a5b..f275db199c 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' @@ -26,4 +27,10 @@ export class FlatBrowseDefinition extends NonHierarchicalBrowseDefinition { getRenderType(): string { return this.dataType; } + + @deserialize + _links: { + self: HALLink; + items: HALLink; + }; } 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..12f2a06333 100644 --- a/src/app/core/shared/non-hierarchical-browse-definition.ts +++ b/src/app/core/shared/non-hierarchical-browse-definition.ts @@ -22,11 +22,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..9bcd8f2e43 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' @@ -26,4 +27,10 @@ export class ValueListBrowseDefinition extends NonHierarchicalBrowseDefinition { getRenderType(): string { return this.dataType; } + + @deserialize + _links: { + self: HALLink; + entries: HALLink; + }; } From 138fccf711ae20330f68c46e969a0709f9f07228 Mon Sep 17 00:00:00 2001 From: Nona Luypaert Date: Tue, 30 May 2023 14:05:44 +0200 Subject: [PATCH 2/2] 101623: Fix lint/tests after removing invalid links, Make arrows on Treeview smaller --- src/app/core/browse/browse.service.spec.ts | 6 +++--- src/app/core/shared/flat-browse-definition.model.ts | 8 ++++---- src/app/core/shared/non-hierarchical-browse-definition.ts | 3 +-- src/app/core/shared/value-list-browse-definition.model.ts | 8 ++++---- .../vocabulary-treeview.component.html | 4 ++-- 5 files changed, 14 insertions(+), 15 deletions(-) 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 f275db199c..086fca891b 100644 --- a/src/app/core/shared/flat-browse-definition.model.ts +++ b/src/app/core/shared/flat-browse-definition.model.ts @@ -24,13 +24,13 @@ export class FlatBrowseDefinition extends NonHierarchicalBrowseDefinition { return this._links.self.href; } - getRenderType(): string { - return this.dataType; - } - @deserialize _links: { self: HALLink; items: HALLink; }; + + getRenderType(): string { + return this.dataType; + } } diff --git a/src/app/core/shared/non-hierarchical-browse-definition.ts b/src/app/core/shared/non-hierarchical-browse-definition.ts index 12f2a06333..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'; /** 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 9bcd8f2e43..3378263962 100644 --- a/src/app/core/shared/value-list-browse-definition.model.ts +++ b/src/app/core/shared/value-list-browse-definition.model.ts @@ -24,13 +24,13 @@ export class ValueListBrowseDefinition extends NonHierarchicalBrowseDefinition { return this._links.self.href; } - getRenderType(): string { - return this.dataType; - } - @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 @@