From e949bd9b83f3553317c88782029f95d878e0f311 Mon Sep 17 00:00:00 2001 From: Uditi Mehta <57388785+uditijmehta@users.noreply.github.com> Date: Thu, 6 Jun 2024 09:20:16 -0400 Subject: [PATCH 01/35] Add Editable Subjects Widget to Project Metadata Editor (#2227) - Ticket: [ENG-4354] - Feature flag: n/a ## Purpose To integrate an editable subjects widget into the project metadata editor ## Summary of Changes - Added subjectsAcceptable property to the Node model for project-specific subjects. - Updated SubjectManagerComponent to handle nodes without providers. - Modified BrowseManagerComponent to load subjectsAcceptable if the provider is not present. - Integrated the subjects widget into the node metadata form template for projects. --- app/models/node.ts | 2 + .../node-metadata-form/template.hbs | 34 ++++++++-------- .../browse/browse-manager/component.ts | 39 +++++++++++++------ .../components/subjects/manager/component.ts | 16 ++++++-- .../components/subjects/manager/template.hbs | 1 + mirage/config.ts | 2 + mirage/serializers/node.ts | 16 ++++++++ mirage/views/provider-subjects.ts | 2 +- mirage/views/subjects-acceptable.ts | 36 +++++++++++++++++ tests/acceptance/guid-node/metadata-test.ts | 6 +-- 10 files changed, 119 insertions(+), 35 deletions(-) create mode 100644 mirage/views/subjects-acceptable.ts diff --git a/app/models/node.ts b/app/models/node.ts index 50e8d464c50..1e845311d3c 100644 --- a/app/models/node.ts +++ b/app/models/node.ts @@ -120,6 +120,8 @@ export default class NodeModel extends AbstractNodeModel.extend(Validations, Col @attr('boolean') currentUserCanComment!: boolean; @attr('boolean') wikiEnabled!: boolean; + @hasMany('subject', { inverse: null, async: false }) subjectsAcceptable?: SubjectModel[]; + // FE-only property to check enabled addons. // null until getEnabledAddons has been called @tracked addonsEnabled?: string[]; diff --git a/lib/osf-components/addon/components/node-metadata-form/template.hbs b/lib/osf-components/addon/components/node-metadata-form/template.hbs index b3ddc9be6f1..9c60de6fd3d 100644 --- a/lib/osf-components/addon/components/node-metadata-form/template.hbs +++ b/lib/osf-components/addon/components/node-metadata-form/template.hbs @@ -331,25 +331,27 @@ {{/if}} - {{#if @manager.node.isRegistration}} -