@baravak/risloo-profile-cli 4.7.1 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/publish/json/profiles/MACI93.json +2183 -0
- package/src/samples/JSIQ9Q.js +21 -5
- package/src/samples/JSIQ9V.js +21 -5
- package/src/samples/MACI93.js +414 -0
- package/views/profiles/samples/JSIQ9Q_1.hbs +6 -6
- package/views/profiles/samples/JSIQ9Q_2.hbs +7 -7
- package/views/profiles/samples/JSIQ9V_1.hbs +10 -10
- package/views/profiles/samples/JSIQ9V_2.hbs +7 -7
- package/views/profiles/samples/MACI93_1.hbs +206 -0
- package/views/profiles/samples/MACI93_2.hbs +180 -0
- package/views/profiles/samples/MACI93_3.hbs +129 -0
- package/views/profiles/samples/MACI93_4.hbs +129 -0
package/src/samples/JSIQ9Q.js
CHANGED
|
@@ -190,7 +190,6 @@ class JSIQ9Q extends Profile {
|
|
|
190
190
|
})
|
|
191
191
|
const items = dataset.score.slice(5, 14).filter((r, i) => i %2 !== 0).map((r, i) => {
|
|
192
192
|
r.percentage = Math.round(dataset.score[7 + (i*2)].mark * 100)
|
|
193
|
-
r.percentagex = dataset.score[7 + (i*2)].mark
|
|
194
193
|
return r
|
|
195
194
|
})
|
|
196
195
|
const total = dataset.score[4]
|
|
@@ -211,14 +210,31 @@ class JSIQ9Q extends Profile {
|
|
|
211
210
|
}
|
|
212
211
|
_calcContext() {
|
|
213
212
|
const firstPageData = this.firstPage()
|
|
213
|
+
let color = ''
|
|
214
|
+
if(firstPageData.items.love.percentage === 50 || firstPageData.items.power.percentage === 50){
|
|
215
|
+
color = '#334155'
|
|
216
|
+
}else if(firstPageData.items.love.percentage < 50){
|
|
217
|
+
if(firstPageData.items.power.percentage < 50){
|
|
218
|
+
color="#b91c1c"
|
|
219
|
+
}else{
|
|
220
|
+
color="#c2410c"
|
|
221
|
+
}
|
|
222
|
+
}else{
|
|
223
|
+
if(firstPageData.items.power.percentage < 50){
|
|
224
|
+
color="#A16207"
|
|
225
|
+
}else{
|
|
226
|
+
color="#047857"
|
|
227
|
+
}
|
|
228
|
+
}
|
|
214
229
|
return [firstPageData, {
|
|
215
230
|
love: {
|
|
216
|
-
percentage: 1 - firstPageData.items.love.
|
|
217
|
-
mark: firstPageData.items.love.
|
|
231
|
+
percentage: 1 - (firstPageData.items.love.percentage / 100),
|
|
232
|
+
mark: firstPageData.items.love.percentage,
|
|
233
|
+
color
|
|
218
234
|
},
|
|
219
235
|
power: {
|
|
220
|
-
percentage:
|
|
221
|
-
mark: firstPageData.items.power.
|
|
236
|
+
percentage: firstPageData.items.power.percentage / 100,
|
|
237
|
+
mark: firstPageData.items.power.percentage
|
|
222
238
|
},
|
|
223
239
|
titleAppend: firstPageData.titleAppend
|
|
224
240
|
}];
|
package/src/samples/JSIQ9V.js
CHANGED
|
@@ -191,7 +191,6 @@ class JSIQ9V extends Profile {
|
|
|
191
191
|
})
|
|
192
192
|
const items = dataset.score.slice(5, 14).filter((r, i) => i %2 !== 0).map((r, i) => {
|
|
193
193
|
r.percentage = Math.round(dataset.score[7 + (i*2)].mark * 100)
|
|
194
|
-
r.percentagex = dataset.score[7 + (i*2)].mark
|
|
195
194
|
return r
|
|
196
195
|
})
|
|
197
196
|
const total = dataset.score[4]
|
|
@@ -212,14 +211,31 @@ class JSIQ9V extends Profile {
|
|
|
212
211
|
}
|
|
213
212
|
_calcContext() {
|
|
214
213
|
const firstPageData = this.firstPage()
|
|
214
|
+
let color = ''
|
|
215
|
+
if(firstPageData.items.love.percentage === 50 || firstPageData.items.power.percentage === 50){
|
|
216
|
+
color = '#334155'
|
|
217
|
+
}else if(firstPageData.items.love.percentage < 50){
|
|
218
|
+
if(firstPageData.items.power.percentage < 50){
|
|
219
|
+
color="#b91c1c"
|
|
220
|
+
}else{
|
|
221
|
+
color="#c2410c"
|
|
222
|
+
}
|
|
223
|
+
}else{
|
|
224
|
+
if(firstPageData.items.power.percentage < 50){
|
|
225
|
+
color="#A16207"
|
|
226
|
+
}else{
|
|
227
|
+
color="#047857"
|
|
228
|
+
}
|
|
229
|
+
}
|
|
215
230
|
return [firstPageData, {
|
|
216
231
|
love: {
|
|
217
|
-
percentage: 1 - firstPageData.items.love.
|
|
218
|
-
mark: firstPageData.items.love.
|
|
232
|
+
percentage: 1 - (firstPageData.items.love.percentage / 100),
|
|
233
|
+
mark: firstPageData.items.love.percentage,
|
|
234
|
+
color
|
|
219
235
|
},
|
|
220
236
|
power: {
|
|
221
|
-
percentage:
|
|
222
|
-
mark: firstPageData.items.power.
|
|
237
|
+
percentage: firstPageData.items.power.percentage / 100,
|
|
238
|
+
mark: firstPageData.items.power.percentage
|
|
223
239
|
},
|
|
224
240
|
titleAppend: firstPageData.titleAppend
|
|
225
241
|
}];
|
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
const { Profile, FS } = require("../Profile");
|
|
2
|
+
const factors = ['1','2a','2b','3','4','5','6a','6b','7','8a','8b','9','a','b','c','d','e','f','g','h','aa','bb','cc','dd','ee','ff','gg','y','z', 'x',
|
|
3
|
+
'1_1','1_2','1_3','2a_1','2a_2','2a_3','2b_1','2b_2','2b_3','3_1','3_2','3_3','4_1','4_2','4_3','5_1','5_2','5_3','6a_1','6a_2','6a_3','6b_1','6b_2','6b_3','7_1','7_2','7_3','8a_1','8a_2','8a_3','8b_1','8b_2','8b_3','9_1','9_2','9_3']
|
|
4
|
+
const colors = {
|
|
5
|
+
gray: {
|
|
6
|
+
bg: '#F8FAFC',
|
|
7
|
+
color: "#475569",
|
|
8
|
+
key: 'url(#grayBar)',
|
|
9
|
+
weight: 400,
|
|
10
|
+
},
|
|
11
|
+
blue: {
|
|
12
|
+
bg: '#EFF6FF',
|
|
13
|
+
color: "#2563EB",
|
|
14
|
+
key: 'url(#blueBar)',
|
|
15
|
+
weight: 400,
|
|
16
|
+
},
|
|
17
|
+
yellow: {
|
|
18
|
+
bg: '#FEFCE8',
|
|
19
|
+
color: "#EAB308",
|
|
20
|
+
key: 'url(#yellowBar)',
|
|
21
|
+
weight: 600,
|
|
22
|
+
},
|
|
23
|
+
orange: {
|
|
24
|
+
bg: '#FFF7ED',
|
|
25
|
+
color: "#EA580C",
|
|
26
|
+
key: 'url(#orangeBar)',
|
|
27
|
+
weight: 600,
|
|
28
|
+
},
|
|
29
|
+
red: {
|
|
30
|
+
bg: '#FFF1F2',
|
|
31
|
+
color: "#E11D48",
|
|
32
|
+
key: 'url(#redBar)',
|
|
33
|
+
weight: 600,
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
class MACI93 extends Profile {
|
|
38
|
+
static pages = 4;
|
|
39
|
+
|
|
40
|
+
labels = {
|
|
41
|
+
Lraw_1 : {eng: "raw_1", en:"1", fr: "درونگرا"},
|
|
42
|
+
Lraw_2a : {eng: "raw_2a", en:"2a", fr: "اجتنابی"},
|
|
43
|
+
Lraw_2b : {eng: "raw_2b", en:"2b", fr: "غمگین"},
|
|
44
|
+
Lraw_3 : {eng: "raw_3", en:"3", fr: "مطیع"},
|
|
45
|
+
Lraw_4 : {eng: "raw_4", en:"4", fr: "نمایشی"},
|
|
46
|
+
Lraw_5 : {eng: "raw_5", en:"5", fr: "خودخواه"},
|
|
47
|
+
Lraw_6a : {eng: "raw_6a", en:"6a", fr: "نظمگریز"},
|
|
48
|
+
Lraw_6b : {eng: "raw_6b", en:"6b", fr: "زورگو"},
|
|
49
|
+
Lraw_7 : {eng: "raw_7", en:"7", fr: "همنوا"},
|
|
50
|
+
Lraw_8a : {eng: "raw_8a", en:"8a", fr: "مخالفخوان"},
|
|
51
|
+
Lraw_8b : {eng: "raw_8b", en:"8b", fr: "خودخوارساز"},
|
|
52
|
+
Lraw_9 : {eng: "raw_9", en:"9", fr: "گرایش مرزی"},
|
|
53
|
+
|
|
54
|
+
Lraw_a : {eng: "raw_a", en:"a", fr: "آشفتگی هویت"},
|
|
55
|
+
Lraw_b : {eng: "raw_b", en:"b", fr: "ناارزندهساز"},
|
|
56
|
+
Lraw_c : {eng: "raw_c", en:"c", fr: "عدم تأیید بدن"},
|
|
57
|
+
Lraw_d : {eng: "raw_d", en:"d", fr: "نارضایتی جنسی"},
|
|
58
|
+
Lraw_e : {eng: "raw_e", en:"e", fr: "ناامنی از همسالان"},
|
|
59
|
+
Lraw_f : {eng: "raw_f", en:"f", fr: "عدم حساسیت اجتماعی"},
|
|
60
|
+
Lraw_g : {eng: "raw_g", en:"g", fr: "اختلاف خانوادگی"},
|
|
61
|
+
Lraw_h : {eng: "raw_h", en:"h", fr: "سوءاستفاده از کودکی"},
|
|
62
|
+
Lraw_aa : {eng: "raw_aa", en:"aa", fr: "کژکاری خوردن"},
|
|
63
|
+
Lraw_bb : {eng: "raw_bb", en:"bb", fr: "استعداد سوء مصرف مواد"},
|
|
64
|
+
Lraw_cc : {eng: "raw_cc", en:"cc", fr: "آمادگی انحراف"},
|
|
65
|
+
Lraw_dd : {eng: "raw_dd", en:"dd", fr: "گرایش تکانشگری"},
|
|
66
|
+
Lraw_ee : {eng: "raw_ee", en:"ee", fr: "احساسات اضطرابی"},
|
|
67
|
+
Lraw_ff : {eng: "raw_ff", en:"ff", fr: "عاطفه افسرده"},
|
|
68
|
+
Lraw_gg : {eng: "raw_gg", en:"gg", fr: "تمایل خودکشی"},
|
|
69
|
+
|
|
70
|
+
Lraw_x : {eng: "raw_x", en:"x", fr: "خوارسازی"},
|
|
71
|
+
Lraw_y : {eng: "raw_y", en:"y", fr: "خودافشایی"},
|
|
72
|
+
Lraw_z : {eng: "raw_z", en:"z", fr: "مطلوب بودن"},
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
Lraw_1_1 : {eng: "raw_1_1", en:"1-1", fr: "خونسردی ابرازی"},
|
|
76
|
+
Lraw_1_2 : {eng: "raw_1_2", en:"1-2", fr: "بیتفاوتی مزاجی"},
|
|
77
|
+
Lraw_1_3 : {eng: "raw_1_3", en:"1-3", fr: "عدم برانگیختگی بینفردی"},
|
|
78
|
+
Lraw_2a_1 : {eng: "raw_2a_1", en:"2a-1", fr: "بدخلقی ابرازی"},
|
|
79
|
+
Lraw_2a_2 : {eng: "raw_2a_2", en:"2a-2", fr: "تنفر بینفردی"},
|
|
80
|
+
Lraw_2a_3 : {eng: "raw_2a_3", en:"2a-3", fr: "خودانگاره بیگانه"},
|
|
81
|
+
Lraw_2b_1 : {eng: "raw_2b_1", en:"2b-1", fr: "غمزدگی مزاجی"},
|
|
82
|
+
Lraw_2b_2 : {eng: "raw_2b_2", en:"2b-2", fr: "تسلیناپذیری ابرازی"},
|
|
83
|
+
Lraw_2b_3 : {eng: "raw_2b_3", en:"2b-3", fr: "شکاکیت شناختی"},
|
|
84
|
+
Lraw_3_1 : {eng: "raw_3_1", en:"3-1", fr: "اطاعت بینفردی"},
|
|
85
|
+
Lraw_3_2 : {eng: "raw_3_2", en:"3-2", fr: "صلحجویی مزاجی"},
|
|
86
|
+
Lraw_3_3 : {eng: "raw_3_3", en:"3-3", fr: "بیعرضگی ابرازی"},
|
|
87
|
+
Lraw_4_1 : {eng: "raw_4_1", en:"4-1", fr: "جستجوی توجه بینفردی"},
|
|
88
|
+
Lraw_4_2 : {eng: "raw_4_2", en:"4-2", fr: "خودانگاره معاشرتی"},
|
|
89
|
+
Lraw_4_3 : {eng: "raw_4_3", en:"4-3", fr: "دمدمی بودن شناختی"},
|
|
90
|
+
Lraw_5_1 : {eng: "raw_5_1", en:"5-1", fr: "خودانگاره ستودنی"},
|
|
91
|
+
Lraw_5_2 : {eng: "raw_5_2", en:"5-2", fr: "توسعه شناختی"},
|
|
92
|
+
Lraw_5_3 : {eng: "raw_5_3", en:"5-3", fr: "انفجاری بودن بینفردی"},
|
|
93
|
+
Lraw_6a_1 : {eng: "raw_6a_1", en:"6a-1", fr: "تکانشگری ابرازی"},
|
|
94
|
+
Lraw_6a_2 : {eng: "raw_6a_2", en:"6a-2", fr: "مکانیزم رفتارکردن"},
|
|
95
|
+
Lraw_6a_3 : {eng: "raw_6a_3", en:"6a-3", fr: "لاابالیگری بینفردی"},
|
|
96
|
+
Lraw_6b_1 : {eng: "raw_6b_1", en:"6b-1", fr: "دلخوری بینفردی"},
|
|
97
|
+
Lraw_6b_2 : {eng: "raw_6b_2", en:"6b-2", fr: "ابراز غیرمنتظره"},
|
|
98
|
+
Lraw_6b_3 : {eng: "raw_6b_3", en:"6b-3", fr: "مکانیزم انزوا"},
|
|
99
|
+
Lraw_7_1 : {eng: "raw_7_1", en:"7-1", fr: "نظم ابرارزی"},
|
|
100
|
+
Lraw_7_2 : {eng: "raw_7_2", en:"7-2", fr: "احترام بینفردی"},
|
|
101
|
+
Lraw_7_3 : {eng: "raw_7_3", en:"7-3", fr: "خودانگاره خودخواه"},
|
|
102
|
+
Lraw_8a_1 : {eng: "raw_8a_1", en:"8a-1", fr: "خودانگاره از خود ناراضی"},
|
|
103
|
+
Lraw_8a_2 : {eng: "raw_8a_2", en:"8a-2", fr: "رنجیدگی ابرازی"},
|
|
104
|
+
Lraw_8a_3 : {eng: "raw_8a_3", en:"8a-3", fr: "معکوس بودن بینفردی"},
|
|
105
|
+
Lraw_8b_1 : {eng: "raw_8b_1", en:"8b-1", fr: "خجالتی بودن شناختی"},
|
|
106
|
+
Lraw_8b_2 : {eng: "raw_8b_2", en:"8b-2", fr: "خودانگاره سزاوار نبودن"},
|
|
107
|
+
Lraw_8b_3 : {eng: "raw_8b_3", en:"8b-3", fr: "بیمار بودن مزاجی"},
|
|
108
|
+
Lraw_9_1 : {eng: "raw_9_1", en:"9-1", fr: "ضعف مزاجی"},
|
|
109
|
+
Lraw_9_2 : {eng: "raw_9_2", en:"9-2", fr: "دمدمی بودن شناختی"},
|
|
110
|
+
Lraw_9_3 : {eng: "raw_9_3", en:"9-3", fr: "خود انگاره نامطمئن"},
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
Lv : {eng: "v"},
|
|
114
|
+
|
|
115
|
+
Lbr_1 : {eng: "br_1"},
|
|
116
|
+
Lbr_2a : {eng: "br_2a"},
|
|
117
|
+
Lbr_2b : {eng: "br_2b"},
|
|
118
|
+
Lbr_3 : {eng: "br_3"},
|
|
119
|
+
Lbr_4 : {eng: "br_4"},
|
|
120
|
+
Lbr_5 : {eng: "br_5"},
|
|
121
|
+
Lbr_6a : {eng: "br_6a"},
|
|
122
|
+
Lbr_6b : {eng: "br_6b"},
|
|
123
|
+
Lbr_7 : {eng: "br_7"},
|
|
124
|
+
Lbr_8a : {eng: "br_8a"},
|
|
125
|
+
Lbr_8b : {eng: "br_8b"},
|
|
126
|
+
Lbr_9 : {eng: "br_9"},
|
|
127
|
+
Lbr_a : {eng: "br_a"},
|
|
128
|
+
Lbr_b : {eng: "br_b"},
|
|
129
|
+
Lbr_c : {eng: "br_c"},
|
|
130
|
+
Lbr_d : {eng: "br_d"},
|
|
131
|
+
Lbr_e : {eng: "br_e"},
|
|
132
|
+
Lbr_f : {eng: "br_f"},
|
|
133
|
+
Lbr_g : {eng: "br_g"},
|
|
134
|
+
Lbr_h : {eng: "br_h"},
|
|
135
|
+
Lbr_aa : {eng: "br_aa"},
|
|
136
|
+
Lbr_bb : {eng: "br_bb"},
|
|
137
|
+
Lbr_cc : {eng: "br_cc"},
|
|
138
|
+
Lbr_dd : {eng: "br_dd"},
|
|
139
|
+
Lbr_ee : {eng: "br_ee"},
|
|
140
|
+
Lbr_ff : {eng: "br_ff"},
|
|
141
|
+
Lbr_gg : {eng: "br_gg"},
|
|
142
|
+
|
|
143
|
+
Lbr_x : {eng: "br_x"},
|
|
144
|
+
Lbr_y : {eng: "br_y"},
|
|
145
|
+
Lbr_z : {eng: "br_z"},
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
Lbr_1_1 : {eng: "br_1_1"},
|
|
149
|
+
Lbr_1_2 : {eng: "br_1_2"},
|
|
150
|
+
Lbr_1_3 : {eng: "br_1_3"},
|
|
151
|
+
Lbr_2a_1 : {eng: "br_2a_1"},
|
|
152
|
+
Lbr_2a_2 : {eng: "br_2a_2"},
|
|
153
|
+
Lbr_2a_3 : {eng: "br_2a_3"},
|
|
154
|
+
Lbr_2b_1 : {eng: "br_2b_1"},
|
|
155
|
+
Lbr_2b_2 : {eng: "br_2b_2"},
|
|
156
|
+
Lbr_2b_3 : {eng: "br_2b_3"},
|
|
157
|
+
Lbr_3_1 : {eng: "br_3_1"},
|
|
158
|
+
Lbr_3_2 : {eng: "br_3_2"},
|
|
159
|
+
Lbr_3_3 : {eng: "br_3_3"},
|
|
160
|
+
Lbr_4_1 : {eng: "br_4_1"},
|
|
161
|
+
Lbr_4_2 : {eng: "br_4_2"},
|
|
162
|
+
Lbr_4_3 : {eng: "br_4_3"},
|
|
163
|
+
Lbr_5_1 : {eng: "br_5_1"},
|
|
164
|
+
Lbr_5_2 : {eng: "br_5_2"},
|
|
165
|
+
Lbr_5_3 : {eng: "br_5_3"},
|
|
166
|
+
Lbr_6a_1 : {eng: "br_6a_1"},
|
|
167
|
+
Lbr_6a_2 : {eng: "br_6a_2"},
|
|
168
|
+
Lbr_6a_3 : {eng: "br_6a_3"},
|
|
169
|
+
Lbr_6b_1 : {eng: "br_6b_1"},
|
|
170
|
+
Lbr_6b_2 : {eng: "br_6b_2"},
|
|
171
|
+
Lbr_6b_3 : {eng: "br_6b_3"},
|
|
172
|
+
Lbr_7_1 : {eng: "br_7_1"},
|
|
173
|
+
Lbr_7_2 : {eng: "br_7_2"},
|
|
174
|
+
Lbr_7_3 : {eng: "br_7_3"},
|
|
175
|
+
Lbr_8a_1 : {eng: "br_8a_1"},
|
|
176
|
+
Lbr_8a_2 : {eng: "br_8a_2"},
|
|
177
|
+
Lbr_8a_3 : {eng: "br_8a_3"},
|
|
178
|
+
Lbr_8b_1 : {eng: "br_8b_1"},
|
|
179
|
+
Lbr_8b_2 : {eng: "br_8b_2"},
|
|
180
|
+
Lbr_8b_3 : {eng: "br_8b_3"},
|
|
181
|
+
Lbr_9_1 : {eng: "br_9_1"},
|
|
182
|
+
Lbr_9_2 : {eng: "br_9_2"},
|
|
183
|
+
Lbr_9_3 : {eng: "br_9_3"},
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
Lxstatus : {eng: "xstatus"},
|
|
187
|
+
Lbrstatus : {eng: "brstatus"},
|
|
188
|
+
Lstatus : {eng: "status"},
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
profileSpec = {
|
|
192
|
+
sample: {
|
|
193
|
+
name: "پرسشنامه بالینی نوجوانان میلون",
|
|
194
|
+
multiProfile: false,
|
|
195
|
+
questions: false,
|
|
196
|
+
defaultFields: true,
|
|
197
|
+
fields: [],
|
|
198
|
+
},
|
|
199
|
+
profile: {
|
|
200
|
+
get dimensions() {
|
|
201
|
+
return {
|
|
202
|
+
width: 903 + 2 * this.padding.x,
|
|
203
|
+
height: 714 + 2 * this.padding.y,
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
padding: {
|
|
207
|
+
x: 0,
|
|
208
|
+
y: 0,
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
|
|
212
|
+
labels: Object.values(this.labels)
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
constructor(dataset, options, config = {}) {
|
|
216
|
+
super();
|
|
217
|
+
this._init(dataset, options, config);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
_calcContext() {
|
|
221
|
+
const {
|
|
222
|
+
dataset,
|
|
223
|
+
} = this;
|
|
224
|
+
const personality = dataset.score.slice(0, 11).map((f, i) => {
|
|
225
|
+
const br = dataset.score[67 + i].mark ?? 0
|
|
226
|
+
return {
|
|
227
|
+
label: f.label.en.toUpperCase(),
|
|
228
|
+
fa: f.label.fr,
|
|
229
|
+
raw: f.mark ?? 0,
|
|
230
|
+
br,
|
|
231
|
+
pixel: br2pixel(br),
|
|
232
|
+
style: findStyle(br)
|
|
233
|
+
}
|
|
234
|
+
})
|
|
235
|
+
const border = {
|
|
236
|
+
label: dataset.score[11].label.en.toUpperCase(),
|
|
237
|
+
fa: dataset.score[11].label.fr,
|
|
238
|
+
raw: dataset.score[11].mark ?? 0,
|
|
239
|
+
br: dataset.score[78].mark ?? 0,
|
|
240
|
+
pixel: br2pixel(dataset.score[78].mark ?? 0),
|
|
241
|
+
style: findStyle(dataset.score[78].mark ?? 0)
|
|
242
|
+
}
|
|
243
|
+
const warnings = dataset.score.slice(12, 20).map((f, i) => {
|
|
244
|
+
return {
|
|
245
|
+
label: f.label.en.toUpperCase(),
|
|
246
|
+
fa: f.label.fr,
|
|
247
|
+
raw: f.mark ?? 0,
|
|
248
|
+
br: dataset.score[79 + i].mark ?? 0,
|
|
249
|
+
pixel: br2pixel(dataset.score[79 + i].mark ?? 0),
|
|
250
|
+
style: findStyle(dataset.score[79 + i].mark ?? 0)
|
|
251
|
+
}
|
|
252
|
+
})
|
|
253
|
+
const clinical = dataset.score.slice(20, 27).map((f, i) => {
|
|
254
|
+
return {
|
|
255
|
+
label: f.label.en.toUpperCase(),
|
|
256
|
+
fa: f.label.fr,
|
|
257
|
+
raw: f.mark ?? 0,
|
|
258
|
+
br: dataset.score[87 + i].mark ?? 0,
|
|
259
|
+
pixel: br2pixel(dataset.score[87 + i].mark ?? 0),
|
|
260
|
+
style: findStyle(dataset.score[87 + i].mark ?? 0)
|
|
261
|
+
}
|
|
262
|
+
})
|
|
263
|
+
const correction = dataset.score.slice(27, 30).map((f, i) => {
|
|
264
|
+
return {
|
|
265
|
+
label: f.label.en.toUpperCase(),
|
|
266
|
+
fa: f.label.fr,
|
|
267
|
+
raw: f.mark ?? 0,
|
|
268
|
+
br: dataset.score[94 + i].mark ?? 0,
|
|
269
|
+
pixel: br2pixel(dataset.score[94 + i].mark ?? 0),
|
|
270
|
+
style: colors.blue
|
|
271
|
+
}
|
|
272
|
+
})
|
|
273
|
+
const grasman = [...personality, border].map((rr, i) => {
|
|
274
|
+
const index = 30 + (3*i)
|
|
275
|
+
return {
|
|
276
|
+
label: rr.label,
|
|
277
|
+
fa: rr.fa,
|
|
278
|
+
br: rr.br,
|
|
279
|
+
style: findStyleg(rr.br),
|
|
280
|
+
subs: dataset.score.slice(index, index + 3).map(((r, i) => {
|
|
281
|
+
const br = dataset.score[index + 67 + i]
|
|
282
|
+
return {
|
|
283
|
+
label: r.label.en.toUpperCase(),
|
|
284
|
+
fa: r.label.fr,
|
|
285
|
+
raw: r.mark ?? 0,
|
|
286
|
+
br: br.mark ?? 0,
|
|
287
|
+
pixel: br2pixelg(br.mark ?? 0),
|
|
288
|
+
style: br.mark >= 75 && rr.br >= 65 ? findStyleg(rr.br).subs.critical : findStyleg(rr.br).subs.mute
|
|
289
|
+
|
|
290
|
+
}
|
|
291
|
+
}))
|
|
292
|
+
}
|
|
293
|
+
}).sort((a, b) => {
|
|
294
|
+
if(a.br > b.br) return -1
|
|
295
|
+
if(a.br < b.br) return 1
|
|
296
|
+
return 0
|
|
297
|
+
})
|
|
298
|
+
const bcolor= [{value: 0, bg:'#ECFDF5', fill:"#059669", text:'معتبر'},{value: 1, bg:'#FEFCE8', fill:"#CA8A04", text:'تفسیر با احتیاط'},{value: 2, bg:'#FEF2F2', fill:"#DC2626", text:'نامعتبر'}]
|
|
299
|
+
const status = {
|
|
300
|
+
v: bcolor[dataset.score[66].mark ?? 0],
|
|
301
|
+
x: dataset.score[133].mark ?? 0,
|
|
302
|
+
br: dataset.score[134].mark ?? 0,
|
|
303
|
+
mark: dataset.score[135].mark ?? 0
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
return [
|
|
307
|
+
{correction, personality, status, border, titleAppend: ' - 1' },
|
|
308
|
+
{warnings, status, clinical, titleAppend: ' - 2'},
|
|
309
|
+
{grasman: grasman.slice(0, 6), titleAppend: ' - گراسمن 1'},
|
|
310
|
+
{grasman: grasman.slice(6), titleAppend: ' - گراسمن 2'}
|
|
311
|
+
];
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
function br2pixel(br){
|
|
315
|
+
if(br >= 115){
|
|
316
|
+
return 360
|
|
317
|
+
} else if(br >= 85){
|
|
318
|
+
return 270 + ((br - 85) * 3)
|
|
319
|
+
} else if(br >= 75) {
|
|
320
|
+
return 180 + ((br - 75) * 9)
|
|
321
|
+
} else if(br >= 60){
|
|
322
|
+
return 90 + ((br - 60) * 6)
|
|
323
|
+
}
|
|
324
|
+
return br * 1.5
|
|
325
|
+
}
|
|
326
|
+
function br2pixelg(br){
|
|
327
|
+
if(br >= 60){
|
|
328
|
+
return 60 + ((br - 60) * 6)
|
|
329
|
+
}
|
|
330
|
+
return br
|
|
331
|
+
}
|
|
332
|
+
function findStyle(br){
|
|
333
|
+
if(br < 60){
|
|
334
|
+
return colors.gray
|
|
335
|
+
}
|
|
336
|
+
if(br < 75){
|
|
337
|
+
return colors.yellow
|
|
338
|
+
}
|
|
339
|
+
if(br < 85){
|
|
340
|
+
return colors.orange
|
|
341
|
+
}
|
|
342
|
+
return colors.red
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
const gcolor = {
|
|
346
|
+
gray: {
|
|
347
|
+
bg: '#F8FAFC',
|
|
348
|
+
border: '#E2E8F0',
|
|
349
|
+
color: '#475569',
|
|
350
|
+
subs: {
|
|
351
|
+
mute: {
|
|
352
|
+
key: 'url(#coldGrayBar)',
|
|
353
|
+
bg: '#F8FAFC',
|
|
354
|
+
color: '#475569',
|
|
355
|
+
weight: 400
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
yellow: {
|
|
360
|
+
bg: '#FEFCE8',
|
|
361
|
+
border: '#FEF08A',
|
|
362
|
+
color: '#EAB308',
|
|
363
|
+
subs: {
|
|
364
|
+
mute: {
|
|
365
|
+
key: 'url(#hotGrayBar)',
|
|
366
|
+
bg: '#FAFAFA',
|
|
367
|
+
color: '#52525B',
|
|
368
|
+
weight: 400
|
|
369
|
+
},
|
|
370
|
+
critical: colors.yellow
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
orange: {
|
|
374
|
+
bg: '#FFF7ED',
|
|
375
|
+
border: '#FED7AA',
|
|
376
|
+
color: '#EA580C',
|
|
377
|
+
subs: {
|
|
378
|
+
mute: {
|
|
379
|
+
key: 'url(#hotGrayBar)',
|
|
380
|
+
bg: '#FAFAFA',
|
|
381
|
+
color: '#52525B',
|
|
382
|
+
weight: 400
|
|
383
|
+
},
|
|
384
|
+
critical: colors.orange
|
|
385
|
+
}
|
|
386
|
+
},
|
|
387
|
+
red: {
|
|
388
|
+
bg: '#FFF1F2',
|
|
389
|
+
border: '#FECDD3',
|
|
390
|
+
color: '#E11D48',
|
|
391
|
+
subs: {
|
|
392
|
+
mute: {
|
|
393
|
+
key: 'url(#hotGrayBar)',
|
|
394
|
+
bg: '#FAFAFA',
|
|
395
|
+
color: '#52525B',
|
|
396
|
+
weight: 400
|
|
397
|
+
},
|
|
398
|
+
critical: colors.red
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
function findStyleg(br){
|
|
403
|
+
if(br < 65){
|
|
404
|
+
return gcolor.gray
|
|
405
|
+
}
|
|
406
|
+
if(br < 75){
|
|
407
|
+
return gcolor.yellow
|
|
408
|
+
}
|
|
409
|
+
if(br < 85){
|
|
410
|
+
return gcolor.orange
|
|
411
|
+
}
|
|
412
|
+
return gcolor.red
|
|
413
|
+
}
|
|
414
|
+
module.exports = MACI93;
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
{{#with items.sexual as | item |}}
|
|
152
152
|
<g transform="translate({{math 38.5 '+' (math 80.5 '*' 3)}}, 0)">
|
|
153
153
|
<text direction="ltr" x="16" y="{{math 273.5 '-' (math item.label.max '*' 1.5)}}" dy=".27em" text-anchor="middle">
|
|
154
|
-
<tspan fill="#
|
|
154
|
+
<tspan fill="#1d4ed8" font-size="16" font-weight="500">{{item.mark}}</tspan>
|
|
155
155
|
<tspan fill="#475569" font-size="12" font-weight="400">/ {{item.label.max}}</tspan>
|
|
156
156
|
</text>
|
|
157
157
|
{{bar 32 (math item.label.max '*' 1.5 ) (object tl=0 tr=0 br=8 bl=8) (toRad 180) fill="#F1F5F9" transform="translate(32, 285)"}}
|
|
@@ -162,8 +162,8 @@
|
|
|
162
162
|
<tspan x="17.5" y=".4em">جنسی</tspan>
|
|
163
163
|
</text>
|
|
164
164
|
<g transform="translate(0, 16)">
|
|
165
|
-
<rect height="16" width="35" fill="#
|
|
166
|
-
<text x="17.5" y="8" dy=".35em" text-anchor="middle" font-size="12" font-weight="400" fill="#
|
|
165
|
+
<rect height="16" width="35" fill="#EFF6FF" rx="4" />
|
|
166
|
+
<text x="17.5" y="8" dy=".35em" text-anchor="middle" font-size="12" font-weight="400" fill="#1d4ed8">%{{item.percentage}}</text>
|
|
167
167
|
</g>
|
|
168
168
|
</g>
|
|
169
169
|
</g>
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
{{bar 320 20 (object tl=0 tr=10 br=10 bl=0) (toRad 0) fill="#F1F5F9" }}
|
|
180
180
|
{{bar (math total.mark '*' 0.8) 20 (object tl=0 tr=10 br=10 bl=0) (toRad 0) fill="#64748B" }}
|
|
181
181
|
<text y="36" x="{{math total.mark '*' 0.8}}" dy=".35em" text-anchor="middle" font-size="20" font-weight="500" fill="#334155">{{total.mark}}</text>
|
|
182
|
-
<text y="
|
|
182
|
+
<text y="55" x="{{math total.mark '*' 0.8}}" dy=".35em" text-anchor="middle" font-size="12" font-weight="400" fill="#334155">%{{total.percentage}}</text>
|
|
183
183
|
</g>
|
|
184
184
|
</g>
|
|
185
185
|
<g transform="translate(270.5, 575)">
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
<text x="-45" y="-8" text-anchor="middle" font-size="12" font-weight="400" fill="#475569">40</text>
|
|
188
188
|
<text y="-.2em" text-anchor="middle">
|
|
189
189
|
<tspan x="0" font-size="20" font-weight="500" fill="#2563EB">{{f4_1.mark}}</tspan>
|
|
190
|
-
<tspan x="0" y="
|
|
190
|
+
<tspan x="0" y="1em" font-size="16" font-weight="400" fill="#64748B">%{{f4_1.percentage}}</tspan>
|
|
191
191
|
</text>
|
|
192
192
|
{{#with f4_1}}
|
|
193
193
|
{{gauge rawSpec.circle.R rawSpec.circle.r (object tl=6 tr=6 bl=6 br=6) (object start=rawSpec.circle.angles.start end=rawSpec.circle.angles.end) direction fill="#F1F5F9"}}
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
<text x="-45" y="-8" text-anchor="middle" font-size="12" font-weight="400" fill="#475569">40</text>
|
|
202
202
|
<text y="-.2em" text-anchor="middle">
|
|
203
203
|
<tspan x="0" font-size="20" font-weight="500" fill="#2563EB">{{f4_2.mark}}</tspan>
|
|
204
|
-
<tspan x="0" y="
|
|
204
|
+
<tspan x="0" y="1em" font-size="16" font-weight="400" fill="#64748B">%{{f4_2.percentage}}</tspan>
|
|
205
205
|
</text>
|
|
206
206
|
{{#with f4_2}}
|
|
207
207
|
{{gauge rawSpec.circle.R rawSpec.circle.r (object tl=6 tr=6 bl=6 br=6) (object start=rawSpec.circle.angles.start end=rawSpec.circle.angles.end) direction fill="#F1F5F9"}}
|
|
@@ -118,13 +118,13 @@
|
|
|
118
118
|
</g>
|
|
119
119
|
|
|
120
120
|
<g>
|
|
121
|
-
<circle cx="{{math 470 '*'
|
|
122
|
-
<circle cx="{{math 470 '*'
|
|
123
|
-
<line x1="0" y1="{{math 470 '*'
|
|
124
|
-
<line x1="{{math 470 '*'
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
121
|
+
<circle cx="{{math 470 '*' power.percentage}}" cy="{{math 470 '*' love.percentage}}" r="11" fill="none" stroke="{{love.color}}" stroke-width="3" />
|
|
122
|
+
<circle cx="{{math 470 '*' power.percentage}}" cy="{{math 470 '*' love.percentage}}" r="3.5" fill="{{love.color}}" />
|
|
123
|
+
<line x1="0" y1="{{math 470 '*' love.percentage}}" x2="{{math 470 '*' power.percentage}}" y2="{{math 470 '*' love.percentage}}" stroke="{{love.color}}" stroke-linecap="round" stroke-dasharray="6 8"/>
|
|
124
|
+
<line x1="{{math 470 '*' power.percentage}}" y1="470" x2="{{math 470 '*' power.percentage}}" y2="{{math 470 '*' love.percentage}}" stroke="{{love.color}}" stroke-linecap="round" stroke-dasharray="6 8"/>
|
|
125
|
+
|
|
126
|
+
<text x="{{math 470 '*' power.percentage}}" y="495" text-anchor="middle" font-size="20" font-weight="700" fill="{{love.color}}">{{power.mark}}</text>
|
|
127
|
+
<text x="-10" y="{{math 470 '*' love.percentage}}" dy=".3em" text-anchor="start" font-size="20" font-weight="700" fill="{{love.color}}">{{love.mark}}</text>
|
|
128
128
|
|
|
129
129
|
</g>
|
|
130
130
|
</g>
|
|
@@ -86,10 +86,10 @@
|
|
|
86
86
|
<text text-anchor="middle" x="340" y="31" font-weight="400" font-size="12" fill="#52525B" dy=".27em">0</text>
|
|
87
87
|
<text text-anchor="middle" x="340" y="51" font-weight="400" font-size="12" fill="#52525B" dy=".27em">اصلا وجود ندارد</text>
|
|
88
88
|
|
|
89
|
-
<text text-anchor="start" x="132" y="97" font-weight="400" font-size="12" fill="#
|
|
90
|
-
<line x1="140" y1="97.5" x2="180" y2="97.5" stroke="#
|
|
91
|
-
<text text-anchor="start" x="339" y="97" font-weight="400" font-size="12" fill="#
|
|
92
|
-
<line x1="194" y1="97.5" x2="234" y2="97.5" stroke="#
|
|
89
|
+
<text text-anchor="start" x="132" y="97" font-weight="400" font-size="12" fill="#15803D" dy=".27em">میانگین نگرش مثبت</text>
|
|
90
|
+
<line x1="140" y1="97.5" x2="180" y2="97.5" stroke="#16A34A" stroke-linecap="round" stroke-dasharray="4 4"/>
|
|
91
|
+
<text text-anchor="start" x="339" y="97" font-weight="400" font-size="12" fill="#B91C1C" dy=".27em">میانگین نگرش مفنی</text>
|
|
92
|
+
<line x1="194" y1="97.5" x2="234" y2="97.5" stroke="#DC2626" stroke-linecap="round" stroke-dasharray="4 4"/>
|
|
93
93
|
</g>
|
|
94
94
|
</g>
|
|
95
95
|
<line x1="367" y1="3" x2="367" y2="676" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
{{#with items.sexual as | item |}}
|
|
152
152
|
<g transform="translate({{math 38.5 '+' (math 80.5 '*' 3)}}, 0)">
|
|
153
153
|
<text direction="ltr" x="16" y="{{math 273.5 '-' (math item.label.max '*' 1.7)}}" dy=".27em" text-anchor="middle">
|
|
154
|
-
<tspan fill="#
|
|
154
|
+
<tspan fill="#1d4ed8" font-size="16" font-weight="500">{{item.mark}}</tspan>
|
|
155
155
|
<tspan fill="#475569" font-size="12" font-weight="400">/ {{item.label.max}}</tspan>
|
|
156
156
|
</text>
|
|
157
157
|
{{bar 32 (math item.label.max '*' 1.7 ) (object tl=0 tr=0 br=8 bl=8) (toRad 180) fill="#F1F5F9" transform="translate(32, 285)"}}
|
|
@@ -162,8 +162,8 @@
|
|
|
162
162
|
<tspan x="17.5" y=".4em">جنسی</tspan>
|
|
163
163
|
</text>
|
|
164
164
|
<g transform="translate(0, 16)">
|
|
165
|
-
<rect height="16" width="35" fill="#
|
|
166
|
-
<text x="17.5" y="8" dy=".35em" text-anchor="middle" font-size="12" font-weight="400" fill="#
|
|
165
|
+
<rect height="16" width="35" fill="#EFF6FF" rx="4" />
|
|
166
|
+
<text x="17.5" y="8" dy=".35em" text-anchor="middle" font-size="12" font-weight="400" fill="#1d4ed8">%{{item.percentage}}</text>
|
|
167
167
|
</g>
|
|
168
168
|
</g>
|
|
169
169
|
</g>
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
{{bar 320 20 (object tl=0 tr=10 br=10 bl=0) (toRad 0) fill="#F1F5F9" }}
|
|
180
180
|
{{bar (math total.mark '*' 0.8) 20 (object tl=0 tr=10 br=10 bl=0) (toRad 0) fill="#64748B" }}
|
|
181
181
|
<text y="36" x="{{math total.mark '*' 0.8}}" dy=".35em" text-anchor="middle" font-size="20" font-weight="500" fill="#334155">{{total.mark}}</text>
|
|
182
|
-
<text y="
|
|
182
|
+
<text y="55" x="{{math total.mark '*' 0.8}}" dy=".35em" text-anchor="middle" font-size="12" font-weight="400" fill="#334155">%{{total.percentage}}</text>
|
|
183
183
|
</g>
|
|
184
184
|
</g>
|
|
185
185
|
<g transform="translate(270.5, 575)">
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
<text x="-45" y="-8" text-anchor="middle" font-size="12" font-weight="400" fill="#475569">30</text>
|
|
188
188
|
<text y="-.2em" text-anchor="middle">
|
|
189
189
|
<tspan x="0" font-size="20" font-weight="500" fill="#2563EB">{{f4_1.mark}}</tspan>
|
|
190
|
-
<tspan x="0" y="
|
|
190
|
+
<tspan x="0" y="1em" font-size="16" font-weight="400" fill="#64748B">%{{f4_1.percentage}}</tspan>
|
|
191
191
|
</text>
|
|
192
192
|
{{#with f4_1}}
|
|
193
193
|
{{gauge rawSpec.circle.R rawSpec.circle.r (object tl=6 tr=6 bl=6 br=6) (object start=rawSpec.circle.angles.start end=rawSpec.circle.angles.end) direction fill="#F1F5F9"}}
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
<text x="-45" y="-8" text-anchor="middle" font-size="12" font-weight="400" fill="#475569">70</text>
|
|
202
202
|
<text y="-.2em" text-anchor="middle">
|
|
203
203
|
<tspan x="0" font-size="20" font-weight="500" fill="#2563EB">{{f4_2.mark}}</tspan>
|
|
204
|
-
<tspan x="0" y="
|
|
204
|
+
<tspan x="0" y="1em" font-size="16" font-weight="400" fill="#64748B">%{{f4_2.percentage}}</tspan>
|
|
205
205
|
</text>
|
|
206
206
|
{{#with f4_2}}
|
|
207
207
|
{{gauge rawSpec.circle.R rawSpec.circle.r (object tl=6 tr=6 bl=6 br=6) (object start=rawSpec.circle.angles.start end=rawSpec.circle.angles.end) direction fill="#F1F5F9"}}
|