From cdb35a2672d4518c78af109785a28f9c6c39c692 Mon Sep 17 00:00:00 2001 From: Jochen Klar Date: Tue, 20 Aug 2024 17:35:57 +0200 Subject: [PATCH] Add copy_set function to question sets --- rdmo/core/assets/js/components/Modal.js | 10 +++-- .../js/interview/components/main/page/Page.js | 1 + .../main/questionset/QuestionSet.js | 8 +++- .../main/questionset/QuestionSetCopyModal.js | 21 +++++++++ .../main/questionset/QuestionSetCopySet.js | 44 +++++++++++++++++++ .../main/questionset/QuestionSetRemoveSet.js | 10 ++--- rdmo/projects/assets/scss/interview.scss | 16 +++---- 7 files changed, 91 insertions(+), 19 deletions(-) create mode 100644 rdmo/projects/assets/js/interview/components/main/questionset/QuestionSetCopyModal.js create mode 100644 rdmo/projects/assets/js/interview/components/main/questionset/QuestionSetCopySet.js diff --git a/rdmo/core/assets/js/components/Modal.js b/rdmo/core/assets/js/components/Modal.js index 48de205a36..c672dce1f4 100644 --- a/rdmo/core/assets/js/components/Modal.js +++ b/rdmo/core/assets/js/components/Modal.js @@ -9,9 +9,13 @@ const Modal = ({ title, show, bsSize, submitText, submitColor, disableSubmit,

{title}

- - { children } - + { + children && ( + + { children } + + ) + } + + + + ) +} + +QuestionCopySet.propTypes = { + questionset: PropTypes.object.isRequired, + sets: PropTypes.array.isRequired, + currentSet: PropTypes.object.isRequired, + copySet: PropTypes.func.isRequired +} + +export default QuestionCopySet diff --git a/rdmo/projects/assets/js/interview/components/main/questionset/QuestionSetRemoveSet.js b/rdmo/projects/assets/js/interview/components/main/questionset/QuestionSetRemoveSet.js index 9c97e488f7..2d77e9cb8e 100644 --- a/rdmo/projects/assets/js/interview/components/main/questionset/QuestionSetRemoveSet.js +++ b/rdmo/projects/assets/js/interview/components/main/questionset/QuestionSetRemoveSet.js @@ -6,12 +6,12 @@ import useModal from 'rdmo/core/assets/js/hooks/useModal' import QuestionSetDeleteModal from './QuestionSetDeleteModal' -const QuestionAddSet = ({ questionset, set, deleteSet }) => { +const QuestionRemoveSet = ({ questionset, currentSet, deleteSet }) => { const [showDeleteModal, openDeleteModal, closeDeleteModal] = useModal() const handleDeleteSet = () => { - deleteSet(set) + deleteSet(currentSet) closeDeleteModal() } @@ -31,10 +31,10 @@ const QuestionAddSet = ({ questionset, set, deleteSet }) => { ) } -QuestionAddSet.propTypes = { +QuestionRemoveSet.propTypes = { questionset: PropTypes.object.isRequired, - set: PropTypes.object.isRequired, + currentSet: PropTypes.object.isRequired, deleteSet: PropTypes.func.isRequired } -export default QuestionAddSet +export default QuestionRemoveSet diff --git a/rdmo/projects/assets/scss/interview.scss b/rdmo/projects/assets/scss/interview.scss index 20eb128e67..b26bd10373 100644 --- a/rdmo/projects/assets/scss/interview.scss +++ b/rdmo/projects/assets/scss/interview.scss @@ -100,22 +100,20 @@ .interview-block-options { position: absolute; - top: 0; - right: 0; + top: 6px; + right: 8px; z-index: 5; + display: flex; + gap: 4px; + + .btn-copy-set, .btn-remove-set { opacity: 0.8; line-height: 20px; font-size: 14px; - position: absolute; - z-index: 5; - top: 0; - right: 0; - - padding-left: 8px; - padding-right: 8px; + padding: 0; &:hover { opacity: 1;