From f3780bc0f9e3803f23444f64056c2d153bd12f18 Mon Sep 17 00:00:00 2001 From: jyhein <124268211+jyhein@users.noreply.github.com> Date: Thu, 23 May 2024 13:25:50 +0300 Subject: [PATCH] Change submission language --- .../Container/ChangeSubmissionLanguage.vue | 237 ++++++++++++++++++ src/components/Container/WorkflowPage.vue | 94 +++++++ src/components/Container/WorkflowPageOMP.vue | 4 + src/components/Form/Form.vue | 7 +- src/components/Form/FormPage.vue | 3 + 5 files changed, 339 insertions(+), 6 deletions(-) create mode 100644 src/components/Container/ChangeSubmissionLanguage.vue diff --git a/src/components/Container/ChangeSubmissionLanguage.vue b/src/components/Container/ChangeSubmissionLanguage.vue new file mode 100644 index 000000000..948ac5575 --- /dev/null +++ b/src/components/Container/ChangeSubmissionLanguage.vue @@ -0,0 +1,237 @@ + + + + + diff --git a/src/components/Container/WorkflowPage.vue b/src/components/Container/WorkflowPage.vue index 528890d7e..a4e058955 100644 --- a/src/components/Container/WorkflowPage.vue +++ b/src/components/Container/WorkflowPage.vue @@ -1,11 +1,13 @@ @@ -722,6 +802,20 @@ export default { } } +.pkpSubmission__localeNotSupported { + margin: 0 -2rem; + padding: 1rem; + background: @primary; + font-size: @font-sml; + color: #fff; + text-align: center; +} + +.pkpPublication__changeSubmissionLanguage { + display: block; + padding-bottom: 0.25rem; +} + // Integrate the grids in the publication tab .pkpWorkflow__contributors, #representations-grid { diff --git a/src/components/Container/WorkflowPageOMP.vue b/src/components/Container/WorkflowPageOMP.vue index a7c24da38..4196ee3cc 100644 --- a/src/components/Container/WorkflowPageOMP.vue +++ b/src/components/Container/WorkflowPageOMP.vue @@ -72,9 +72,13 @@ export default { /** * Update the work type to be an edited volume + * Update authors' isVolumeEditor to bool if null */ setAsEditedVolume() { this.updateWorkType(this.getConstant('WORK_TYPE_EDITED_VOLUME')); + this.workingPublication.authors.forEach( + (author) => (author.isVolumeEditor = !!author.isVolumeEditor), + ); }, /** diff --git a/src/components/Form/Form.vue b/src/components/Form/Form.vue index 52d5e0070..aa874f36d 100644 --- a/src/components/Form/Form.vue +++ b/src/components/Form/Form.vue @@ -348,14 +348,9 @@ export default { missingValue = !value; break; case 'string': - case 'array': - if (!value.length) { - missingValue = true; - } - break; case 'object': // null values are stored as objects - if (!value) { + if (!value || (Array.isArray(value) && !value.length)) { missingValue = true; } break; diff --git a/src/components/Form/FormPage.vue b/src/components/Form/FormPage.vue index 66dd656b8..e59e0e334 100644 --- a/src/components/Form/FormPage.vue +++ b/src/components/Form/FormPage.vue @@ -207,6 +207,9 @@ export default { if (typeof group.showWhen === 'string') { return !!whenField.value; } + if (Array.isArray(group.showWhen[1])) { + return group.showWhen[1].includes(whenField.value); + } return whenField.value === group.showWhen[1]; },