소스 검색

:construction: Added back in feature to sort survey using allSteps

tags/0.0.3^2
tomit4 3 년 전
부모
커밋
95b9cd7d53
3개의 변경된 파일17개의 추가작업 그리고 4개의 파일을 삭제
  1. 1
    0
      frontend/src/components/onboarding/QuestionResponse.vue
  2. 1
    2
      frontend/src/utils/lang.js
  3. 15
    2
      frontend/src/utils/survey.js

+ 1
- 0
frontend/src/components/onboarding/QuestionResponse.vue 파일 보기

@@ -1,5 +1,6 @@
1 1
 <template lang="pug">
2 2
 w-card.question
3
+    p {{ question }}
3 4
     p {{ question.response_key_prompt }}
4 5
     section.radio-buttons.w-flex.row.justify-space-between
5 6
         p(v-for='label in question.labels') {{ label }}

+ 1
- 2
frontend/src/utils/lang.js 파일 보기

@@ -39,10 +39,9 @@ const surveyStages = [
39 39
     'distance'
40 40
 ]
41 41
 
42
-// TODO: in utils/survey.js modify _setSteps() to reorder survey steps from here
42
+// Easily reorder steps of survey here:
43 43
 const allSteps = {
44 44
     usa: {
45
-        splash: 'splash',
46 45
         name: 'name',
47 46
         aspect01: 'aspect-1',
48 47
         aspect02: 'aspect-2',

+ 15
- 2
frontend/src/utils/survey.js 파일 보기

@@ -1,6 +1,6 @@
1 1
 import { Survey } from '../entities/index.js'
2 2
 import { fetchQuestions } from '../services/index.js'
3
-import { splash, possible, surveyStages } from './lang.js'
3
+import { splash, possible, surveyStages, allSteps } from './lang.js'
4 4
 
5 5
 class SurveyFactory {
6 6
     constructor() {
@@ -10,6 +10,7 @@ class SurveyFactory {
10 10
         responseKeys.forEach((key, i) => {
11 11
             key.survey_stage = surveyStages[i]
12 12
         })
13
+        // return responseKeys
13 14
     }
14 15
     _addResponses(responseKeys, responsesByCategory) {
15 16
         Object.keys(responsesByCategory).forEach(k => {
@@ -37,13 +38,25 @@ class SurveyFactory {
37 38
         })
38 39
         return responseKeys
39 40
     }
40
-    // TODO: in _setSteps(), reorder survey steps based off of allSteps in lang.js
41
+    _sortSurveySteps(mutatedResponseKeys, allSteps) {
42
+        let reordered = [] 
43
+        Object.values(allSteps).forEach((step, i) => {
44
+            Object.values(mutatedResponseKeys).forEach((val) => {
45
+                if (val.survey_stage === step) {
46
+                    reordered[i] = val
47
+                }
48
+            } )
49
+        })
50
+        return reordered
51
+    }
41 52
     _setSteps() {
42 53
         const responseKeys = this.questionsFromDb
43 54
         const responsesByCategory = possible['usa']
44 55
         let mutatedResponseKeys = this._addSurveyStages(responseKeys, surveyStages)
45 56
         mutatedResponseKeys = this._addResponses(responseKeys, responsesByCategory)
46 57
         mutatedResponseKeys = this._addComponents(responseKeys)
58
+        // mutatedResponseKeys[0].reordered = this._sortSurveySteps(mutatedResponseKeys, allSteps['usa'])
59
+        mutatedResponseKeys = this._sortSurveySteps(mutatedResponseKeys, allSteps['usa'])
47 60
         // Splash page is placed at beginning of survey
48 61
         mutatedResponseKeys.unshift(splash)
49 62
         return mutatedResponseKeys

Loading…
취소
저장