Skip to content

Commit e751ae8

Browse files
authored
Merge pull request #1007 from adlius/fix-add-metadata-page
feat(es2): Only show non-cedar templates when adding metadata
2 parents c9fb260 + 42df5f5 commit e751ae8

6 files changed

Lines changed: 16 additions & 2 deletions

File tree

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

Lines changed: 2 additions & 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

@@ -76,6 +77,7 @@ export interface CedarMetadataTemplate {
7677
schema_name: string;
7778
cedar_id: string;
7879
template: CedarTemplate;
80+
is_for_collections: boolean;
7981
};
8082
}
8183

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: 1 addition & 1 deletion
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);

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/testing/data/collections/cedar-metadata.mock.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export const MOCK_CEDAR_TEMPLATE: CedarMetadataDataTemplateJsonApi = {
3232
properties: {},
3333
_ui: { order: [], propertyLabels: {}, propertyDescriptions: {} },
3434
},
35+
is_for_collections: false,
3536
},
3637
};
3738

src/testing/mocks/cedar-metadata-data-template-json-api.mock.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,6 @@ export const CEDAR_METADATA_DATA_TEMPLATE_JSON_API_MOCK: CedarMetadataTemplate =
4343
},
4444
},
4545
},
46+
is_for_collections: false,
4647
},
4748
};

0 commit comments

Comments
 (0)