From b13ad954fc52e2f46ca87a6f152b4880ec451778 Mon Sep 17 00:00:00 2001 From: JulioManoel Date: Sun, 25 Aug 2024 22:46:14 -0300 Subject: [PATCH] feat: Add new method test card sorting --- src/components/atoms/InputTextEditTest.vue | 32 ++-- .../organisms/CardsEditCardSorting.vue | 160 ++++++++++++++++++ ...ting.vue => CategoriesEditCardSorting.vue} | 78 ++++++--- .../organisms/PostTestEditCardSorting.vue | 70 ++++++++ ...Sorting.vue => PreTestEditCardSorting.vue} | 33 ++-- src/router/modules/cardSorting.js | 8 + src/store/modules/Test.js | 14 ++ src/views/cardSorting/EditTestView.vue | 78 ++++++--- src/views/cardSorting/ManagerView.vue | 2 +- src/views/cardSorting/TestView.vue | 9 + 10 files changed, 403 insertions(+), 81 deletions(-) create mode 100644 src/components/organisms/CardsEditCardSorting.vue rename src/components/organisms/{CategoriesCardSorting.vue => CategoriesEditCardSorting.vue} (61%) create mode 100644 src/components/organisms/PostTestEditCardSorting.vue rename src/components/organisms/{PreTestCardSorting.vue => PreTestEditCardSorting.vue} (82%) create mode 100644 src/views/cardSorting/TestView.vue diff --git a/src/components/atoms/InputTextEditTest.vue b/src/components/atoms/InputTextEditTest.vue index 8f3a6dcb..215f529f 100644 --- a/src/components/atoms/InputTextEditTest.vue +++ b/src/components/atoms/InputTextEditTest.vue @@ -3,23 +3,23 @@ @@ -28,6 +28,11 @@ diff --git a/src/components/organisms/CardsEditCardSorting.vue b/src/components/organisms/CardsEditCardSorting.vue new file mode 100644 index 00000000..087eebf6 --- /dev/null +++ b/src/components/organisms/CardsEditCardSorting.vue @@ -0,0 +1,160 @@ + + + + + \ No newline at end of file diff --git a/src/components/organisms/CategoriesCardSorting.vue b/src/components/organisms/CategoriesEditCardSorting.vue similarity index 61% rename from src/components/organisms/CategoriesCardSorting.vue rename to src/components/organisms/CategoriesEditCardSorting.vue index 85149cb4..c7f7c750 100644 --- a/src/components/organisms/CategoriesCardSorting.vue +++ b/src/components/organisms/CategoriesEditCardSorting.vue @@ -17,7 +17,7 @@ @@ -30,27 +30,25 @@ @start="dragging = true" @end="dragging = false" > - - - - - mdi-drag - - - {{ category.title }} -
- {{ category.description }} - - - mdi-delete - -
-
-
+ + + + mdi-drag + + + {{ category.title }} +
+ {{ category.description }} + + + mdi-delete + +
+
@@ -89,6 +87,32 @@ export default { dragging: false, }), + computed: { + test() { + return this.$store.getters.test + }, + + testStructure() { + return this.$store.getters.testStructure + }, + }, + + watch: { + categories (newValue) { + this.$store.commit('SET_CATEGORIES_TEST_STRUCTURE', this.categories) + this.$store.commit('SET_LOCAL_CHANGES', true) + } + }, + + created() { + if (!this.testStructure) { + this.$store.commit('SET_TEST_STRUCTURE', this.test.testStructure) + } + + const { categories = [] } = this.testStructure?.cardSorting || {} + this.categories = categories + }, + methods: { save(item) { this.dialog = false @@ -97,6 +121,11 @@ export default { deleteCategory(i) { this.categories.splice(i, 1) + }, + + onChange() { + this.$store.commit('SET_CATEGORIES_TEST_STRUCTURE', this.categories) + this.$store.commit('SET_LOCAL_CHANGES', true) } }, } @@ -128,9 +157,4 @@ export default { right: 25px; cursor: pointer; } - -.v-text-field--outlined >>> fieldset { - border-radius: 25px; - border: 1px solid #ffceb2; -} \ No newline at end of file diff --git a/src/components/organisms/PostTestEditCardSorting.vue b/src/components/organisms/PostTestEditCardSorting.vue new file mode 100644 index 00000000..da3ff4f4 --- /dev/null +++ b/src/components/organisms/PostTestEditCardSorting.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/components/organisms/PreTestCardSorting.vue b/src/components/organisms/PreTestEditCardSorting.vue similarity index 82% rename from src/components/organisms/PreTestCardSorting.vue rename to src/components/organisms/PreTestEditCardSorting.vue index 58e6878c..aa73c627 100644 --- a/src/components/organisms/PreTestCardSorting.vue +++ b/src/components/organisms/PreTestEditCardSorting.vue @@ -10,7 +10,7 @@ v-model="preTest.consent" label="Consent Form..." :rows="3" - @change="onChange" + @input="onChange" /> @@ -26,7 +26,7 @@ v-model="preTest.welcomeMessage" label="Thank you for participating..." :rows="3" - @change="onChange" + @input="onChange" /> @@ -40,7 +40,7 @@ v-model="preTest.landingPage" label="URL" :rows="1" - @change="onChange" + @input="onChange" /> @@ -70,44 +70,51 @@ \ No newline at end of file diff --git a/src/router/modules/cardSorting.js b/src/router/modules/cardSorting.js index 1305b6e3..08704b94 100644 --- a/src/router/modules/cardSorting.js +++ b/src/router/modules/cardSorting.js @@ -1,3 +1,4 @@ +import TestView from '@/views/cardSorting/TestView.vue' import ManagerView from '@/views/cardSorting/ManagerView' import EditTestView from '@/views/cardSorting/EditTestView.vue' import SettingsView from '@/views/cardSorting/SettingsView.vue' @@ -26,4 +27,11 @@ export default [ }, ], }, + { + path: '/cardSorting/testview/:id/:token?', + name: 'CardSortingTestView', + props: true, + meta: { authorize: [] }, + component: TestView, + }, ] \ No newline at end of file diff --git a/src/store/modules/Test.js b/src/store/modules/Test.js index d9fefeaf..ca5eabe3 100644 --- a/src/store/modules/Test.js +++ b/src/store/modules/Test.js @@ -42,6 +42,9 @@ export default { tasks(state) { return state.tasks }, + testStructure(state) { + return state.testStructure + }, heuristicsTest(state) { return state.Test.HeuristicsTest }, @@ -89,6 +92,17 @@ export default { SET_TESTS(state, payload) { state.tests = payload }, + SET_TEST_STRUCTURE(state, payload) { + state.testStructure = { ...state.testStructure, ...payload } + }, + SET_CATEGORIES_TEST_STRUCTURE(state, payload) { + state.testStructure.cardSorting = state.testStructure.cardSorting || {} + state.testStructure.cardSorting.categories = payload + }, + SET_CARD_TEST_STRUCTURE(state, payload) { + state.testStructure.cardSorting = state.testStructure.cardSorting || {} + state.testStructure.cardSorting.cards = payload + }, ADD_TASKS(state, payload) { state.tasks = [...state.tasks, payload] }, diff --git a/src/views/cardSorting/EditTestView.vue b/src/views/cardSorting/EditTestView.vue index 364655bc..48f40b37 100644 --- a/src/views/cardSorting/EditTestView.vue +++ b/src/views/cardSorting/EditTestView.vue @@ -1,29 +1,33 @@