Skip to content

Commit c38c894

Browse files
committed
feat(es2): Only show non-cedar templates when adding metadata
1 parent c9fb260 commit c38c894

6 files changed

Lines changed: 16 additions & 5 deletions

File tree

src/app/features/metadata/models/cedar-metadata-template.model.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export interface CedarMetadataDataTemplateJsonApi {
77
schema_name: string;
88
cedar_id: string;
99
template: CedarTemplate;
10+
is_for_collections: boolean;
1011
};
1112
}
1213

src/app/features/metadata/pages/add-metadata/add-metadata.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ describe('AddMetadataComponent', () => {
7878
MockProvider(ToastService, toastService),
7979
provideMockStore({
8080
signals: [
81-
{ selector: MetadataSelectors.getCedarTemplates, value: mockCedarTemplates },
81+
{ selector: MetadataSelectors.getCedarTemplatesExcludingCollections, value: mockCedarTemplates },
8282
{ selector: MetadataSelectors.getCedarRecords, value: mockCedarRecords },
8383
{ selector: MetadataSelectors.getCedarTemplatesLoading, value: false },
8484
{ selector: MetadataSelectors.getCedarRecord, value: { data: mockRecord } },

src/app/features/metadata/pages/add-metadata/add-metadata.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export class AddMetadataComponent implements OnInit {
5656
selectedTemplate: CedarMetadataDataTemplateJsonApi | null = null;
5757
existingRecord: CedarMetadataRecordData | null = null;
5858

59-
readonly cedarTemplates = select(MetadataSelectors.getCedarTemplates);
59+
readonly cedarTemplates = select(MetadataSelectors.getCedarTemplatesExcludingCollections);
6060
readonly cedarRecords = select(MetadataSelectors.getCedarRecords);
6161
readonly cedarTemplatesLoading = select(MetadataSelectors.getCedarTemplatesLoading);
6262
readonly cedarRecord = select(MetadataSelectors.getCedarRecord);
@@ -136,7 +136,7 @@ export class AddMetadataComponent implements OnInit {
136136
if (!templates?.links?.next) {
137137
return;
138138
}
139-
this.actions.getCedarTemplates(templates.links.next);
139+
this.actions.getCedarTemplates({ url: templates.links.next });
140140
}
141141

142142
hasNextPage(): boolean {

src/app/features/metadata/store/metadata.actions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export class GetFundersList {
6565

6666
export class GetCedarMetadataTemplates {
6767
static readonly type = '[Metadata] Get Cedar Metadata Templates';
68-
constructor(public url?: string) {}
68+
constructor(public options: { url?: string } = {}) {}
6969
}
7070

7171
export class GetCedarMetadataRecords {

src/app/features/metadata/store/metadata.selectors.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,16 @@ export class MetadataSelectors {
4141
return state.cedarTemplates.data;
4242
}
4343

44+
@Selector([MetadataState])
45+
static getCedarTemplatesExcludingCollections(state: MetadataStateModel) {
46+
const templates = state.cedarTemplates.data;
47+
if (!templates) return null;
48+
return {
49+
...templates,
50+
data: templates.data.filter((t) => !t.attributes.is_for_collections),
51+
};
52+
}
53+
4454
@Selector([MetadataState])
4555
static getCedarTemplatesLoading(state: MetadataStateModel) {
4656
return state.cedarTemplates.isLoading;

src/app/features/metadata/store/metadata.state.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export class MetadataState {
137137
},
138138
});
139139

140-
return this.metadataService.getMetadataCedarTemplates(action.url).pipe(
140+
return this.metadataService.getMetadataCedarTemplates(action.options.url).pipe(
141141
tap({
142142
next: (response) => {
143143
ctx.patchState({

0 commit comments

Comments
 (0)