From 0997f00196ad1708a2ec68c0d9a74f5bc1f0ce68 Mon Sep 17 00:00:00 2001 From: simon <31130607+forgive38@users.noreply.github.com> Date: Fri, 3 Mar 2023 11:18:11 +0100 Subject: [PATCH] pkp/pkp-lib#7495 show list of submissions as a table --- src/components/Container/Container.vue | 2 + .../Panel/SubmissionsTablePanel.vue | 493 +++++++ src/components/Panel/TablePanel.vue | 326 +++++ src/components/Table/SubmissionTableCell.vue | 1262 +++++++++++++++++ src/mixins/fetch.js | 4 +- 5 files changed, 2085 insertions(+), 2 deletions(-) create mode 100644 src/components/Panel/SubmissionsTablePanel.vue create mode 100644 src/components/Panel/TablePanel.vue create mode 100644 src/components/Table/SubmissionTableCell.vue diff --git a/src/components/Container/Container.vue b/src/components/Container/Container.vue index 6ff7ded3a..c7e5663c4 100644 --- a/src/components/Container/Container.vue +++ b/src/components/Container/Container.vue @@ -3,6 +3,7 @@ import ListPanel from '@/components/ListPanel/ListPanel.vue'; import PkpForm from '@/components/Form/Form.vue'; import SelectReviewerListPanel from '@/components/ListPanel/users/SelectReviewerListPanel.vue'; import SubmissionsListPanel from '@/components/ListPanel/submissions/SubmissionsListPanel.vue'; +import SubmissionsTablePanel from '@/components/Panel/SubmissionsTablePanel.vue'; export default { name: 'Container', @@ -11,6 +12,7 @@ export default { PkpForm, SelectReviewerListPanel, SubmissionsListPanel, + SubmissionsTablePanel, }, data() { return { diff --git a/src/components/Panel/SubmissionsTablePanel.vue b/src/components/Panel/SubmissionsTablePanel.vue new file mode 100644 index 000000000..6cf94f8a2 --- /dev/null +++ b/src/components/Panel/SubmissionsTablePanel.vue @@ -0,0 +1,493 @@ + + + + + {{ title }} + + + + + + {{ __('common.filter') }} + + + {{ __('submission.submit.newSubmissionSingle') }} + + + + + + + + + {{ __('common.filter') }} + + + + + {{ filterSet.heading }} + + + + + + + + + {{ __('common.loading') }} + + + {{ __('submission.list.empty') }} + + + + + + + + + + + + + + + + + + diff --git a/src/components/Panel/TablePanel.vue b/src/components/Panel/TablePanel.vue new file mode 100644 index 000000000..3e94b8fa1 --- /dev/null +++ b/src/components/Panel/TablePanel.vue @@ -0,0 +1,326 @@ + + + + + + {{ title }} + + + + + + + + + + + + {{ currentEmptyLabel }} + + + + + + + + + + + + + diff --git a/src/components/Table/SubmissionTableCell.vue b/src/components/Table/SubmissionTableCell.vue new file mode 100644 index 000000000..9b7dde200 --- /dev/null +++ b/src/components/Table/SubmissionTableCell.vue @@ -0,0 +1,1262 @@ + + + + **hasSlot** + + + + + + + + {{ + localizeSubmission( + currentPublication.fullTitle, + currentPublication.locale + ) + }} + + + + + {{ currentPublication.authorsStringShort }} + + + + + + + + + {{ notice }} + + {{ __('submission.list.assignEditor') }} + + + + + + + + + + {{ openQueryCount }} + + + + + + + {{ currentStageLabel }} /{{ currentReviewRound }} + + + + + + + + + + + + + + {{ reviewAssignment.fullName }} + + + + {{ __('editor.submission.recommendation.display', {recommendation: reviewAssignment.recommendation }) }} + + + {{ __('submission.list.reviewAssignment') }}: {{ reviewAssignment.ask }} + + {{ __('submission.list.responseDue', {date: reviewAssignment.responseDue}) }} + + {{ __('submission.list.reviewDue', {date: reviewAssignment.due}) }} + + + + {{ reviewAssignment.status }} + + {{ __('common.edit') }} + + + + + + + + + + + + {{ participant.user }}{{ participant.userGroups }} + + + + + + + + + + + + + + diff --git a/src/mixins/fetch.js b/src/mixins/fetch.js index b175a52fb..65a868de5 100644 --- a/src/mixins/fetch.js +++ b/src/mixins/fetch.js @@ -183,14 +183,14 @@ export default { /** * Perform a search whenever the searchPhrase is updated */ - searchPhrase(newVal, oldVal) { + searchPhrase(newVal, oldVal) { if (newVal === oldVal) { return; } if (this.offset) { this.offset = 0; // will fire this.get() } else { - this.$nextTick(() => this.get()); + this.$nextTick(() => this.get()); } }, },
+ {{ reviewAssignment.fullName }} +
{{ reviewAssignment.status }}