Kaynağa Gözat

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

tabs-content
tomit4 3 yıl önce
ebeveyn
işleme
a410996d83

+ 1
- 0
frontend/src/components/onboarding/QuestionResponse.vue Dosyayı Görüntüle

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

+ 1
- 2
frontend/src/utils/lang.js Dosyayı Görüntüle

39
     'distance'
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
 const allSteps = {
43
 const allSteps = {
44
     usa: {
44
     usa: {
45
-        splash: 'splash',
46
         name: 'name',
45
         name: 'name',
47
         aspect01: 'aspect-1',
46
         aspect01: 'aspect-1',
48
         aspect02: 'aspect-2',
47
         aspect02: 'aspect-2',

+ 15
- 2
frontend/src/utils/survey.js Dosyayı Görüntüle

1
 import { Survey } from '../entities/index.js'
1
 import { Survey } from '../entities/index.js'
2
 import { fetchQuestions } from '../services/index.js'
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
 class SurveyFactory {
5
 class SurveyFactory {
6
     constructor() {
6
     constructor() {
10
         responseKeys.forEach((key, i) => {
10
         responseKeys.forEach((key, i) => {
11
             key.survey_stage = surveyStages[i]
11
             key.survey_stage = surveyStages[i]
12
         })
12
         })
13
+        // return responseKeys
13
     }
14
     }
14
     _addResponses(responseKeys, responsesByCategory) {
15
     _addResponses(responseKeys, responsesByCategory) {
15
         Object.keys(responsesByCategory).forEach(k => {
16
         Object.keys(responsesByCategory).forEach(k => {
37
         })
38
         })
38
         return responseKeys
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
     _setSteps() {
52
     _setSteps() {
42
         const responseKeys = this.questionsFromDb
53
         const responseKeys = this.questionsFromDb
43
         const responsesByCategory = possible['usa']
54
         const responsesByCategory = possible['usa']
44
         let mutatedResponseKeys = this._addSurveyStages(responseKeys, surveyStages)
55
         let mutatedResponseKeys = this._addSurveyStages(responseKeys, surveyStages)
45
         mutatedResponseKeys = this._addResponses(responseKeys, responsesByCategory)
56
         mutatedResponseKeys = this._addResponses(responseKeys, responsesByCategory)
46
         mutatedResponseKeys = this._addComponents(responseKeys)
57
         mutatedResponseKeys = this._addComponents(responseKeys)
58
+        // mutatedResponseKeys[0].reordered = this._sortSurveySteps(mutatedResponseKeys, allSteps['usa'])
59
+        mutatedResponseKeys = this._sortSurveySteps(mutatedResponseKeys, allSteps['usa'])
47
         // Splash page is placed at beginning of survey
60
         // Splash page is placed at beginning of survey
48
         mutatedResponseKeys.unshift(splash)
61
         mutatedResponseKeys.unshift(splash)
49
         return mutatedResponseKeys
62
         return mutatedResponseKeys

Loading…
İptal
Kaydet