Pārlūkot izejas kodu

:100: Working overlapping dynamic spider charts

tags/0.0.3^2
juancarbajal98 3 gadus atpakaļ
vecāks
revīzija
f6e4c30ec9

+ 4
- 4
backend/db/data-generator/mock.js Parādīt failu

414
         },
414
         },
415
         {
415
         {
416
             response_key_id: 3,
416
             response_key_id: 3,
417
-            response_key_category: 'collaborative_vs_independent',
417
+            response_key_category: 'dynamic_vs_ordered',
418
             response_key_prompt:
418
             response_key_prompt:
419
-                'Do you structure and encourage your team to be a Collaborative or Independent environment?',
419
+                'Do you structure and encourage your team to be a Collaborative or Independent environment? (NEEDS UPDATED COPY)',
420
             response_key_description: 'first round draft scoring question',
420
             response_key_description: 'first round draft scoring question',
421
         },
421
         },
422
         {
422
         {
423
             response_key_id: 4,
423
             response_key_id: 4,
424
-            response_key_category: 'innovative_vs_conventional',
424
+            response_key_category: 'precise_vs_resourceful',
425
             response_key_prompt:
425
             response_key_prompt:
426
-                'Do you find higher success in employees on your team that are Innovative or Conventional?',
426
+                'Do you find higher success in employees on your team that are Innovative or Conventional? (NEEDS UPDATED COPY)',
427
             response_key_description: 'first round draft scoring question',
427
             response_key_description: 'first round draft scoring question',
428
         },
428
         },
429
         {
429
         {

+ 1
- 1
backend/db/seeds/04-responses.js Parādīt failu

28
     for (let i = 1; i <= len; i += 1) {
28
     for (let i = 1; i <= len; i += 1) {
29
         responsesToPush.push(responses.shift())
29
         responsesToPush.push(responses.shift())
30
         if (i % batchSize === 0 || i > responses.length) {
30
         if (i % batchSize === 0 || i > responses.length) {
31
-            // await knex('responses').insert(responsesToPush)
31
+            await knex('responses').insert(responsesToPush)
32
             responsesToPush = []
32
             responsesToPush = []
33
         }
33
         }
34
     }
34
     }

+ 1
- 2
backend/lib/services/profile/index.js Parādīt failu

62
             .withGraphFetched('tags')
62
             .withGraphFetched('tags')
63
             .withGraphFetched('responses')
63
             .withGraphFetched('responses')
64
             .withGraphFetched('user')
64
             .withGraphFetched('user')
65
-
66
         tagger.setProfileTags(matchingProfile, matchingProfile, this.tagLookup)
65
         tagger.setProfileTags(matchingProfile, matchingProfile, this.tagLookup)
67
-        const complete = new profiler.CompleteProfile(matchingProfile)
66
+        const complete = new profiler.CompleteProfile(matchingProfile, true)
68
         return complete
67
         return complete
69
     }
68
     }
70
 
69
 

+ 1
- 1
backend/lib/services/profile/profiler.js Parādīt failu

7
  * !: This needs to match the responseSchema in profiles.js
7
  * !: This needs to match the responseSchema in profiles.js
8
  */
8
  */
9
 class CompleteProfile {
9
 class CompleteProfile {
10
-    constructor(profile, type, includeResponses = false) {
10
+    constructor(profile, includeResponses = false, type) {
11
         this.user_id = profile.user_id // int user_id
11
         this.user_id = profile.user_id // int user_id
12
         this.profile_id = profile.profile_id // int profile_id
12
         this.profile_id = profile.profile_id // int profile_id
13
         this.user_name = profile.user.user_name // string user_name
13
         this.user_name = profile.user.user_name // string user_name

+ 1
- 0
frontend/src/components/ProfileCard.vue Parādīt failu

29
             SummaryBar(
29
             SummaryBar(
30
                 :aspects='aspects'
30
                 :aspects='aspects'
31
                 :is-tab='true'
31
                 :is-tab='true'
32
+                :name='card.name'
32
                 :tab-content='card.summary'
33
                 :tab-content='card.summary'
33
                 @tab-change='onTab'
34
                 @tab-change='onTab'
34
             )
35
             )

+ 15
- 12
frontend/src/components/SummaryBar.vue Parādīt failu

31
                     SpiderChart(
31
                     SpiderChart(
32
                         :labels='aspects.map(label => label.name)'
32
                         :labels='aspects.map(label => label.name)'
33
                         :profile-data='profileScore'
33
                         :profile-data='profileScore'
34
-                        :target-data='targetScore'
35
-                        profile-name='lucy'
34
+                        :target-data='aspects.map(data => data.percentage)'
35
+                        :profile-name='name'
36
                         v-if='isTab'
36
                         v-if='isTab'
37
                     )
37
                     )
38
 
38
 
75
             required: true,
75
             required: true,
76
             type: Object,
76
             type: Object,
77
         },
77
         },
78
+        name:{
79
+            required:true,
80
+            type: String
81
+        },
78
         isTab: {
82
         isTab: {
79
             required: false,
83
             required: false,
80
             type: Boolean,
84
             type: Boolean,
87
         },
91
         },
88
     },
92
     },
89
     emits: ['tab-change'],
93
     emits: ['tab-change'],
90
-    // data: () => ({
91
-    //     profileScore: [5.7, 5.2, 4.8, 5.2, 4.9, 4.9], // lucy 
92
-    //     targetScore: [5.3, 4.8, 5.7, 4.8, 5.6, 4.8], // Role
93
-    // }),
94
     computed: {
94
     computed: {
95
-        profileScore(){ // take from built up aspects object
96
-            return this.aspects.map(data => data.percentage * .1) 
97
-        },
98
-        targetScore(){ // take directly from currentUser profile
99
-            let aspectResponses = currentProfile.responses.filter(r => [1,2,3,4,5,6].indexOf(r.response_key_id) !== -1)
100
-            return aspectResponses.map(r => r.val * .1)
95
+        profileScore(){
96
+            try{
97
+                let aspectResponses = currentProfile._profile.responses.filter(r => [1,2,3,4,5,6].indexOf(r.response_key_id) !== -1)
98
+                return aspectResponses.map(r => Number(r.val)) 
99
+            }
100
+            catch(e){
101
+                console.warn('error: No aspect responses for current profile.')
102
+                return [1,1,1,1,1,1]
103
+            }
101
         }
104
         }
102
     },
105
     },
103
     methods: {
106
     methods: {

+ 20
- 21
frontend/src/entities/card/card.js Parādīt failu

47
     }
47
     }
48
 }
48
 }
49
 const cardAspects = [ // TODO these aspects don't align with response_keys DB table
49
 const cardAspects = [ // TODO these aspects don't align with response_keys DB table
50
-    new Aspect({
51
-        name: 'creativity',
52
-        labels: ['creative', 'methodical'],
53
-    }),
54
-    new Aspect({
55
-        name: 'dynamism',
56
-        labels: ['dynamic', 'ordered'],
57
-    }),
58
-    new Aspect({
59
-        name: 'precision',
60
-        labels: ['precise', 'resourceful'],
61
-    }),
62
-    new Aspect({
63
-        name: 'vision',
64
-        labels: ['visionary', 'implementer'],
65
-    }),
66
-    new Aspect({
67
-        name: 'focus',
68
-        labels: ['big picture', 'focused'],
50
+new Aspect({
51
+    name: 'creativity',
52
+    labels: ['creative', 'methodical'],
53
+}),
54
+new Aspect({
55
+    name: 'dynamism',
56
+    labels: ['dynamic', 'ordered'],
57
+}),
58
+new Aspect({
59
+    name: 'precision',
60
+    labels: ['precise', 'resourceful'],
61
+}),
62
+new Aspect({
63
+    name: 'vision',
64
+    labels: ['visionary', 'implementer'],
65
+}),
66
+new Aspect({
67
+    name: 'focus',
68
+    labels: ['big picture', 'focused'],
69
     }),
69
     }),
70
     new Aspect({
70
     new Aspect({
71
         name: 'attention',
71
         name: 'attention',
134
     c.email = profile.user_email
134
     c.email = profile.user_email
135
 
135
 
136
 
136
 
137
-    console.log(`RESP: ${profile?.responses}`)
138
     let aspectResponses = profile?.responses.filter(r => [1,2,3,4,5,6].indexOf(r.response_key_id) !== -1)
137
     let aspectResponses = profile?.responses.filter(r => [1,2,3,4,5,6].indexOf(r.response_key_id) !== -1)
139
     if(aspectResponses.length){ // if user has responses for aspects we overwrite default percentages
138
     if(aspectResponses.length){ // if user has responses for aspects we overwrite default percentages
140
         c.aspects.map(a => {
139
         c.aspects.map(a => {
141
-            a.percentage = aspectResponses.find(r => responseKeyIdToAspectName[r.response_key_id] == a.name).val 
140
+            a.percentage = Number(aspectResponses.find(r => responseKeyIdToAspectName[r.response_key_id] == a.name).val )
142
             return a 
141
             return a 
143
         })
142
         })
144
     }
143
     }

Notiek ielāde…
Atcelt
Saglabāt