@baravak/risloo-profile-cli 3.1.1 → 3.1.2
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/handlebars/importPartials.js +1 -1
- package/src/publish/json/profiles/PMCIEF93.json +9293 -1
- package/src/samples/JPFQ93.js +13 -13
- package/src/samples/PMCIEF93.js +219 -15
- package/views/profiles/samples/FACES93_1.hbs +1 -88
- package/views/profiles/samples/FACES93_1_partial.hbs +89 -0
- package/views/profiles/samples/FACES93_2.hbs +2 -33
- package/views/profiles/samples/FACES93_2_1_partial.hbs +20 -0
- package/views/profiles/samples/FACES93_2_2_partial.hbs +13 -0
- package/views/profiles/samples/JPFQ93.hbs +1 -40
- package/views/profiles/samples/JPFQ93_partial.hbs +27 -0
- package/views/profiles/samples/PMCIEF93.hbs +345 -2
package/src/samples/JPFQ93.js
CHANGED
|
@@ -6,16 +6,16 @@ class JPFQ93 extends Profile {
|
|
|
6
6
|
|
|
7
7
|
// Labels of the sample
|
|
8
8
|
labels = {
|
|
9
|
-
L1: { eng: "identity", fr: "هویت", fill:"#8B5CF6 ", background:"#EDE9FE", width: 69},
|
|
10
|
-
L2: { eng: "intimacy", fr: "صمیمیت" , fill:"#8B5CF6 ", background:"#EDE9FE", width: 33},
|
|
11
|
-
L3: { eng: "empathy", fr: "همدلی" , fill:"#8B5CF6 ", background:"#EDE9FE", width: 33},
|
|
12
|
-
L4: { eng: "self_direction", fr: "خودراهبری" , fill:"#8B5CF6 ", background:"#EDE9FE", width: 30},
|
|
9
|
+
L1: { eng: "identity", fr: "هویت", fill:"#8B5CF6 ", background:"#EDE9FE", fontColor:"#7C3AED", width: 69},
|
|
10
|
+
L2: { eng: "intimacy", fr: "صمیمیت" , fill:"#8B5CF6 ", background:"#EDE9FE", fontColor:"#7C3AED", width: 33},
|
|
11
|
+
L3: { eng: "empathy", fr: "همدلی" , fill:"#8B5CF6 ", background:"#EDE9FE", fontColor:"#7C3AED", width: 33},
|
|
12
|
+
L4: { eng: "self_direction", fr: "خودراهبری" , fill:"#8B5CF6 ", background:"#EDE9FE", fontColor:"#7C3AED", width: 30},
|
|
13
13
|
|
|
14
|
-
L5: { eng: "psychoticism", fr: "سایکوزگرایی", fill:"#EC4899 ", background:"#FCE7F3", width: 33},
|
|
15
|
-
L6: { eng: "detachment", fr: "دلبریدگی", fill:"#EC4899 ", background:"#FCE7F3", width: 27},
|
|
16
|
-
L7: { eng: "disinhibition", fr: "مهارگسیختگی", fill:"#EC4899 ", background:"#FCE7F3", width: 66},
|
|
17
|
-
L8: { eng: "negative_affectivity", fr: "عاطفهپذیری منفی", fill:"#EC4899 ", background:"#FCE7F3", width: 45},
|
|
18
|
-
L9: { eng: "antagonism", fr: "تضادورزی", fill:"#EC4899 ", background:"#FCE7F3", width: 42},
|
|
14
|
+
L5: { eng: "psychoticism", fr: "سایکوزگرایی", fill:"#EC4899 ", background:"#FCE7F3", fontColor:"#DB2777", width: 33},
|
|
15
|
+
L6: { eng: "detachment", fr: "دلبریدگی", fill:"#EC4899 ", background:"#FCE7F3", fontColor:"#DB2777", width: 27},
|
|
16
|
+
L7: { eng: "disinhibition", fr: "مهارگسیختگی", fill:"#EC4899 ", background:"#FCE7F3", fontColor:"#DB2777", width: 66},
|
|
17
|
+
L8: { eng: "negative_affectivity", fr: "عاطفهپذیری منفی", fill:"#EC4899 ", background:"#FCE7F3", fontColor:"#DB2777", width: 45},
|
|
18
|
+
L9: { eng: "antagonism", fr: "تضادورزی", fill:"#EC4899 ", background:"#FCE7F3", fontColor:"#DB2777", width: 42},
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
profileSpec = {
|
|
@@ -34,13 +34,13 @@ class JPFQ93 extends Profile {
|
|
|
34
34
|
profile: {
|
|
35
35
|
get dimensions() {
|
|
36
36
|
return {
|
|
37
|
-
width:
|
|
38
|
-
height:
|
|
37
|
+
width: 735 + 2 * this.padding.x,
|
|
38
|
+
height: 456 + 2 * this.padding.y,
|
|
39
39
|
};
|
|
40
40
|
},
|
|
41
41
|
padding: {
|
|
42
|
-
x:
|
|
43
|
-
y:
|
|
42
|
+
x: 84,
|
|
43
|
+
y: 89,
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
46
|
/* "labels" part which has to be provided for each profile */
|
package/src/samples/PMCIEF93.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
const { Profile, FS } = require("../Profile");
|
|
2
|
+
const JPFQ93 = require("./JPFQ93");
|
|
3
|
+
const FACES93 = require("./FACES93");
|
|
4
|
+
const Handlebars = require("handlebars");
|
|
2
5
|
|
|
3
6
|
class PMCIEF93 extends Profile {
|
|
4
7
|
// Number of pages
|
|
@@ -6,9 +9,100 @@ class PMCIEF93 extends Profile {
|
|
|
6
9
|
|
|
7
10
|
// Labels of the sample
|
|
8
11
|
labels = {
|
|
9
|
-
L1: {
|
|
10
|
-
L2: {
|
|
11
|
-
|
|
12
|
+
L1 : {"eng" : "axis_2_raw", "fr" : ""},
|
|
13
|
+
L2 : {"eng" : "axis_2_percentage", "fr" : ""},
|
|
14
|
+
|
|
15
|
+
L3 : {"eng" : "axis_3_raw", "fr" : ""},
|
|
16
|
+
L4 : {"eng" : "axis_3_percentage", "fr" : ""},
|
|
17
|
+
|
|
18
|
+
L5 : {"eng" : "axis_3_selection_raw", "fr" : "", max:76},
|
|
19
|
+
L6 : {"eng" : "axis_3_selection_percentage", "fr" : ""},
|
|
20
|
+
|
|
21
|
+
L7 : {"eng" : "axis_3_selection_demographic_raw", "fr" : "جمعیتشناختی", max:14},
|
|
22
|
+
L8 : {"eng" : "axis_3_selection_demographic_percentage", "fr" : ""},
|
|
23
|
+
L9 : {"eng" : "axis_3_selection_partner_family_raw", "fr" : "خانواده مقابل", max:8},
|
|
24
|
+
L10 : {"eng" : "axis_3_selection_partner_family_percentage", "fr" : ""},
|
|
25
|
+
L11 : {"eng" : "axis_3_selection_belief_raw", "fr" : "شناختی - اعتقادی", max:8},
|
|
26
|
+
L12 : {"eng" : "axis_3_selection_belief_percentage", "fr" : ""},
|
|
27
|
+
L13 : {"eng" : "axis_3_selection_personality_raw", "fr" : "شخصیتی - اخلاقی", max:34},
|
|
28
|
+
L14 : {"eng" : "axis_3_selection_personality_percentage", "fr" : ""},
|
|
29
|
+
L15 : {"eng" : "axis_3_selection_negative_raw", "fr" : "سلبی", max:16},
|
|
30
|
+
L16 : {"eng" : "axis_3_selection_negative_percentage", "fr" : ""},
|
|
31
|
+
|
|
32
|
+
L17 : {"eng" : "axis_3_intention_raw", "fr" : ""},
|
|
33
|
+
L18 : {"eng" : "axis_3_intention_percentage", "fr" : ""},
|
|
34
|
+
|
|
35
|
+
L19 : {"eng" : "mibq_raw", "fr" : "", max:216},
|
|
36
|
+
L20 : {"eng" : "mibq_percentage", "fr" : ""},
|
|
37
|
+
L21 : {"eng" : "mibq_unrealistic_expectations", "fr" : "توقعات\nنامعقول", max:76, bg:'#EAB308', color: '#A16207'},
|
|
38
|
+
L22 : {"eng" : "mibq_negativity", "fr" : "منفیبافی", max:35, bg:'#6366F1', color: '#4F46E5'},
|
|
39
|
+
L23 : {"eng" : "mibq_extreme_optimism", "fr" : "خوشبینی\nافراطی", max:52, bg:'#14B8A6', color: '#0D9488'},
|
|
40
|
+
L24 : {"eng" : "mibq_perfectionism", "fr" : "کامل\nخواهی", max:36, bg:'#A855F7', color: '#9333EA'},
|
|
41
|
+
L25 : {"eng" : "mibq_negative_self_belief", "fr" : "خودباوری\nمنفی", max:20, bg:'#F43F5E', color: '#E11D48'},
|
|
42
|
+
|
|
43
|
+
L26 : {"eng" : "axis_5_raw", "fr" : ""},
|
|
44
|
+
L27 : {"eng" : "axis_5_percentage", "fr" : ""},
|
|
45
|
+
L28 : {"eng" : "axis_5_spirituality", "fr" : "معنویت", color:"#007BA4"},
|
|
46
|
+
L29 : {"eng" : "axis_5_control", "fr" : "کنترل", color:"#F59E0B"},
|
|
47
|
+
L30 : {"eng" : "axis_5_pleasure", "fr" : "لذت", color:"#EC4899"},
|
|
48
|
+
L31 : {"eng" : "axis_5_safety", "fr" : "امنیت", color:"#10B981"},
|
|
49
|
+
L32 : {"eng" : "axis_5_social_status", "fr" : "منزلت اجتماعی", color:"#A78BFA"},
|
|
50
|
+
|
|
51
|
+
L33 : {"eng" : "faces_a", "fr" : ""},
|
|
52
|
+
L34 : {"eng" : "faces_b", "fr" : ""},
|
|
53
|
+
L35 : {"eng" : "faces_c", "fr" : ""},
|
|
54
|
+
L36 : {"eng" : "faces_d", "fr" : ""},
|
|
55
|
+
L37 : {"eng" : "faces_e", "fr" : ""},
|
|
56
|
+
L38 : {"eng" : "faces_f", "fr" : ""},
|
|
57
|
+
L39 : {"eng" : "faces_communication", "fr" : ""},
|
|
58
|
+
L40 : {"eng" : "faces_satisfaction", "fr" : ""},
|
|
59
|
+
L41 : {"eng" : "faces_cohesion", "fr" : ""},
|
|
60
|
+
L42 : {"eng" : "faces_flexibility", "fr" : ""},
|
|
61
|
+
L43 : {"eng" : "faces_interpretation", "fr" : ""},
|
|
62
|
+
|
|
63
|
+
L44 : {"eng" : "pastq_raw", "fr" : "", max:140},
|
|
64
|
+
L45 : {"eng" : "pastq_authoritarian_family", "fr" : "خانواده سختگیر", max:32},
|
|
65
|
+
L46 : {"eng" : "pastq_authoritative_family", "fr" : "خانواده مقتدر", max:44},
|
|
66
|
+
L47 : {"eng" : "pastq_permissive_family", "fr" : "سهلگیر", max:12},
|
|
67
|
+
L48 : {"eng" : "pastq_neglectful_family", "fr" : "بیتفاوت", max:12},
|
|
68
|
+
L49 : {"eng" : "pastq_family_structure", "fr" : "شاخص ساخت خانوادگی", max:28},
|
|
69
|
+
|
|
70
|
+
L50 : {"eng" : "jpfq_identity", "fr" : ""},
|
|
71
|
+
L51 : {"eng" : "jpfq_self_direction", "fr" : ""},
|
|
72
|
+
L52 : {"eng" : "jpfq_empathy", "fr" : ""},
|
|
73
|
+
L53 : {"eng" : "jpfq_intimacy", "fr" : ""},
|
|
74
|
+
L54 : {"eng" : "jpfq_psychoticism", "fr" : ""},
|
|
75
|
+
L55 : {"eng" : "jpfq_detachment", "fr" : ""},
|
|
76
|
+
L56 : {"eng" : "jpfq_disinhibition", "fr" : ""},
|
|
77
|
+
L57 : {"eng" : "jpfq_negative_affectivity", "fr" : ""},
|
|
78
|
+
L58 : {"eng" : "jpfq_antagonism", "fr" : ""},
|
|
79
|
+
|
|
80
|
+
L59 : {"eng" : "axis_7_axis7_2_raw", "fr" : ""},
|
|
81
|
+
L60 : {"eng" : "axis_7_axis7_2_percentage", "fr" : ""},
|
|
82
|
+
L61 : {"eng" : "axis_7_axis7_2_hope", "fr" : "امید", max:24},
|
|
83
|
+
L62 : {"eng" : "axis_7_axis7_2_foresight", "fr" : "آیندهنگری", max:16},
|
|
84
|
+
L63 : {"eng" : "axis_7_axis7_2_proposing", "fr" : "نقشه زندگی", max:28},
|
|
85
|
+
L64 : {"eng" : "axis_7_axis7_2_competency", "fr" : "شایستگی", max:24},
|
|
86
|
+
L65 : {"eng" : "axis_7_axis7_2_identity", "fr" : "هویت", max: 48},
|
|
87
|
+
L66 : {"eng" : "axis_7_axis7_2_intimacy", "fr" : "صمیمت", max: 36},
|
|
88
|
+
|
|
89
|
+
L67 : {"eng" : "dswls_raw", "fr" : ""},
|
|
90
|
+
L68 : {"eng" : "dswls_percentage", "fr" : ""},
|
|
91
|
+
|
|
92
|
+
L69 : {"eng" : "axis_8_axis8_1_raw", "fr" : ""},
|
|
93
|
+
L70 : {"eng" : "axis_8_axis8_1_percentage", "fr" : ""},
|
|
94
|
+
L71 : {"eng" : "axis_8_axis8_1_physical_problem", "fr" : "مشکل جسمانی", max:28},
|
|
95
|
+
L72 : {"eng" : "axis_8_axis8_1_neurotic_problem", "fr" : "مشکل نوروتیک", max:28},
|
|
96
|
+
L73 : {"eng" : "axis_8_axis8_1_personality_disorder", "fr" : "اختلال شخصیت", max:24},
|
|
97
|
+
|
|
98
|
+
L74 : {"eng" : "alvvct_raw", "fr" : ""},
|
|
99
|
+
L75 : {"eng" : "alvvct_percentage", "fr" : ""},
|
|
100
|
+
L76 : {"eng" : "alvvct_theoretical", "fr" : "نظری"},
|
|
101
|
+
L77 : {"eng" : "alvvct_economic", "fr" : "اقتصادی"},
|
|
102
|
+
L78 : {"eng" : "alvvct_aesthetic", "fr" : "هنری"},
|
|
103
|
+
L79 : {"eng" : "alvvct_social", "fr" : "اجتماعی"},
|
|
104
|
+
L80 : {"eng" : "alvvct_political", "fr" : "سیاسی"},
|
|
105
|
+
L81 : {"eng" : "alvvct_religious", "fr" : "مذهبی"},
|
|
12
106
|
};
|
|
13
107
|
|
|
14
108
|
profileSpec = {
|
|
@@ -18,7 +112,7 @@ class PMCIEF93 extends Profile {
|
|
|
18
112
|
sample: {
|
|
19
113
|
name: "پرسشنامه ارزیابی مشاوره پیش از ازدواج فرم الف" /* Name of the sample */,
|
|
20
114
|
multiProfile: false /* Whether the sample has multiple profiles or not */,
|
|
21
|
-
questions:
|
|
115
|
+
questions: true /* Determines whether to get questions from inital dataset or not */,
|
|
22
116
|
defaultFields: true /* Determines whether to have default prerequisites in the profile or not */,
|
|
23
117
|
fields: ["family_role"] /* In case you want to get some additional fields and show in the profile */,
|
|
24
118
|
},
|
|
@@ -32,8 +126,8 @@ class PMCIEF93 extends Profile {
|
|
|
32
126
|
};
|
|
33
127
|
},
|
|
34
128
|
padding: {
|
|
35
|
-
x:
|
|
36
|
-
y:
|
|
129
|
+
x: 0,
|
|
130
|
+
y: 0,
|
|
37
131
|
},
|
|
38
132
|
},
|
|
39
133
|
/* "labels" part which has to be provided for each profile */
|
|
@@ -47,17 +141,127 @@ class PMCIEF93 extends Profile {
|
|
|
47
141
|
|
|
48
142
|
_calcContext() {
|
|
49
143
|
const { dataset } = this;
|
|
144
|
+
const [JPFQ93_Context] = new JPFQ93(
|
|
145
|
+
{
|
|
146
|
+
score: Object.fromEntries(dataset.score.slice(49, 58).map((s) =>[s.label.eng, s.mark])),
|
|
147
|
+
fields: dataset.info.fields,
|
|
148
|
+
},
|
|
149
|
+
{},
|
|
150
|
+
{
|
|
151
|
+
items: {
|
|
152
|
+
offsetY: 19,
|
|
153
|
+
widthCoeff: 9,
|
|
154
|
+
label: {
|
|
155
|
+
offsetX: 9,
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
gaugeItems: {
|
|
159
|
+
offsetX: 46,
|
|
160
|
+
circle: {
|
|
161
|
+
R: 16.5,
|
|
162
|
+
r: 12,
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
labelsPrefix: "jpfq",
|
|
166
|
+
}
|
|
167
|
+
).getTemplateEngineParams();
|
|
168
|
+
const axis_7_2_items = dataset.score.slice(58, 66)
|
|
169
|
+
const axis_7_2 = {
|
|
170
|
+
raw: axis_7_2_items[0],
|
|
171
|
+
percentage: axis_7_2_items[1],
|
|
172
|
+
items: axis_7_2_items.slice(2).map(i => {i.mark = i.mark || 0; return i})
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const axis_8_1_items = dataset.score.slice(68, 73)
|
|
176
|
+
const axis_8_1 = {
|
|
177
|
+
raw: axis_8_1_items[0],
|
|
178
|
+
percentage: axis_8_1_items[1],
|
|
179
|
+
items: axis_8_1_items.slice(2).map(i => {i.mark = i.mark || 0; return i}),
|
|
180
|
+
rStart:FS.toRadians(-90),
|
|
181
|
+
rEnd:FS.toRadians(-90)
|
|
182
|
+
}
|
|
183
|
+
const dswls= {
|
|
184
|
+
raw: dataset.score[66],
|
|
185
|
+
percentage: dataset.score[67]
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
const alvvct_items = dataset.score.slice(73, 81)
|
|
189
|
+
const alvvct = {
|
|
190
|
+
raw: alvvct_items[0],
|
|
191
|
+
percentage: alvvct_items[1],
|
|
192
|
+
items:alvvct_items.slice(2)
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
const axis_3= {
|
|
196
|
+
raw:dataset.score[2],
|
|
197
|
+
percentage:dataset.score[3],
|
|
50
198
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
199
|
+
selection: {
|
|
200
|
+
raw:dataset.score[4],
|
|
201
|
+
percentage:dataset.score[5],
|
|
202
|
+
items: [dataset.score[6], dataset.score[8], dataset.score[10], dataset.score[12], dataset.score[14]]
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
dataset.questions.slice(26, 30).map(q => {
|
|
206
|
+
if(q.user_answered != '' && q.user_answered){
|
|
207
|
+
axis_3.selection.items[1].label.max += 2
|
|
208
|
+
axis_3.selection.raw.label.max += 2
|
|
209
|
+
}
|
|
210
|
+
})
|
|
211
|
+
const axis_3_intention = {
|
|
212
|
+
raw:dataset.score[16],
|
|
213
|
+
percentage:dataset.score[17],
|
|
214
|
+
}
|
|
59
215
|
|
|
60
|
-
|
|
216
|
+
const mibq_items = dataset.score.slice(18, 25)
|
|
217
|
+
const mibq = {
|
|
218
|
+
raw: mibq_items[0],
|
|
219
|
+
percentage: mibq_items[1],
|
|
220
|
+
items:mibq_items.slice(2)
|
|
221
|
+
}
|
|
222
|
+
const axis_5_items = dataset.score.slice(25, 32)
|
|
223
|
+
const axis_5 = {
|
|
224
|
+
raw: axis_5_items[0],
|
|
225
|
+
percentage: axis_5_items[1],
|
|
226
|
+
items:axis_5_items.slice(2)
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
const pastq_items = dataset.score.slice(43, 49)
|
|
230
|
+
const pastq = {
|
|
231
|
+
raw: pastq_items[0],
|
|
232
|
+
items:pastq_items.slice(1)
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
const [FACES93_Context_page1, FACES93_Context_page2] = new FACES93(
|
|
237
|
+
{
|
|
238
|
+
score: Object.fromEntries(dataset.score.slice(32, 43).map((s) =>[s.label.eng, s.mark])),
|
|
239
|
+
fields: dataset.info.fields,
|
|
240
|
+
},
|
|
241
|
+
{},
|
|
242
|
+
{
|
|
243
|
+
items: {
|
|
244
|
+
offsetY: 19,
|
|
245
|
+
widthCoeff: 9,
|
|
246
|
+
label: {
|
|
247
|
+
offsetX: 9,
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
gaugeItems: {
|
|
251
|
+
offsetX: 46,
|
|
252
|
+
circle: {
|
|
253
|
+
R: 16.5,
|
|
254
|
+
r: 12,
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
labelsPrefix: "faces",
|
|
258
|
+
}
|
|
259
|
+
).getTemplateEngineParams();
|
|
260
|
+
const axis_2 = {
|
|
261
|
+
raw: dataset.score[0],
|
|
262
|
+
percentage: dataset.score[1]
|
|
263
|
+
}
|
|
264
|
+
return [{ axis_2, pastq, FACES93_Context_page2, FACES93_Context_page1, axis_5, mibq, axis_3_intention, axis_3, alvvct, dswls, axis_8_1, axis_7_2, JPFQ93_Context }];
|
|
61
265
|
}
|
|
62
266
|
}
|
|
63
267
|
|
|
@@ -15,93 +15,6 @@
|
|
|
15
15
|
</defs>
|
|
16
16
|
|
|
17
17
|
<g transform="translate({{spec.profile.padding.[0].x}}, {{spec.profile.padding.[0].y}})">
|
|
18
|
-
|
|
19
|
-
<text x="0" y="12.5" font-size="16" font-weight="600" fill="#3F3F46" text-anchor="middle" transform="rotate(-90)" xml:space="preserve">انعطافپذیری: {{item.marks.flexibility}}</text>
|
|
20
|
-
<g transform="translate(0, -170)">
|
|
21
|
-
<text x="0" y="35" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" transform="rotate(-90)">آشفته</text>
|
|
22
|
-
</g>
|
|
23
|
-
<g transform="translate(0, 160)">
|
|
24
|
-
<text x="0" y="35" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" transform="rotate(-90)">خشک</text>
|
|
25
|
-
</g>
|
|
26
|
-
<line x1="50" y1="206" x2="50" y2="-192" stroke="#3F3F46" stroke-width="2" marker-end="url(#marker1)" />
|
|
27
|
-
</g>
|
|
28
|
-
<g transform="translate(427.5, 0)">
|
|
29
|
-
<text x="0" y="12.5" font-size="16" font-weight="600" fill="#3F3F46" text-anchor="middle" xml:space="preserve">انسجام: {{item.marks.cohesion}}</text>
|
|
30
|
-
<text x="-215" y="35" font-size="14" font-weight="400" fill="#71717A" text-anchor="start">از هم گسسته</text>
|
|
31
|
-
<text x="285" y="35" font-size="14" font-weight="400" fill="#71717A" text-anchor="start">در هم تنیده</text>
|
|
32
|
-
<line x1="-295" y1="50" x2="305" y2="50" stroke="#3F3F46" stroke-width="2" marker-end="url(#marker2)" />
|
|
33
|
-
</g>
|
|
34
|
-
<g transform="translate(132, 126)">
|
|
35
|
-
{{setVar "row1" (array "#FECACA" "#FEF9C3" "#FEF9C3" "#FEF9C3" "#FECACA")}}
|
|
36
|
-
{{setVar "row2" (array "#FEF9C3" "#D1FAE5" "#D1FAE5" "#D1FAE5" "#FEF9C3")}}
|
|
37
|
-
{{setVar "stops" (array 0 15 35 65 85 100)}}
|
|
38
|
-
{{setVar "fills" (array row1 row2 row2 row2 row1)}}
|
|
39
|
-
{{#forLoop 0 5 1}}
|
|
40
|
-
{{#with i as | j |}}
|
|
41
|
-
{{#forLoop 0 5 1}}
|
|
42
|
-
<rect x="{{math j '*' 120}}" y="{{math i '*' 80}}" width="120" height="80" fill="{{lookup (lookup @root.fills j) i}}" />
|
|
43
|
-
{{#if (boolean j '===' 4)}}
|
|
44
|
-
<text x="-20" y="{{math (math i '*' 80) '+' 10}}" font-size="12" font-weight="400" text-anchor="start" fill="#71717A">{{lookup (reverse @root.stops) i}}</text>
|
|
45
|
-
{{#if (boolean i '===' 4)}}
|
|
46
|
-
<text x="-20" y="{{math (math i '+' 1) '*' 80}}" font-size="12" font-weight="400" text-anchor="start" fill="#71717A">{{lookup (reverse @root.stops) (math i '+' 1)}}</text>
|
|
47
|
-
{{/if}}
|
|
48
|
-
{{#unless @first}}
|
|
49
|
-
<line x1="0" y1="{{math i '*' 80}}" x2="600" y2="{{math i '*' 80}}" stroke="#FFFFFF" />
|
|
50
|
-
{{/unless}}
|
|
51
|
-
{{/if}}
|
|
52
|
-
{{#if (boolean (boolean i '===' 2) '&&' (boolean j '===' 2))}}
|
|
53
|
-
<text x="{{math (math j '*' 120) '+' 60}}" y="{{math (math i '*' 80) '+' 40}}" font-size="14" font-weight="400" text-anchor="middle" fill="#A1A1AA" fill-opacity="0.6" dy="5">دمکراتیک</text>
|
|
54
|
-
{{/if}}
|
|
55
|
-
{{/forLoop}}
|
|
56
|
-
{{#if (boolean j '!==' 0)}}
|
|
57
|
-
<line x1="{{math j '*' 120}}" y1="0" x2="{{math j '*' 120}}" y2="400" stroke="#FFFFFF" />
|
|
58
|
-
{{/if}}
|
|
59
|
-
<text x="{{math j '*' 120}}" y="-20" font-size="12" font-weight="400" text-anchor="start" fill="#71717A">{{lookup @root.stops j}}</text>
|
|
60
|
-
{{#if (boolean j '===' 4)}}
|
|
61
|
-
<text x="{{math (math j '+' 1) '*' 120}}" y="-20" font-size="12" font-weight="400" text-anchor="start" fill="#71717A">{{lookup @root.stops (math j '+' 1)}}</text>
|
|
62
|
-
{{/if}}
|
|
63
|
-
{{/with}}
|
|
64
|
-
{{/forLoop}}
|
|
65
|
-
<rect x="240" y="160" width="120" height="80" fill="none" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="4" />
|
|
66
|
-
|
|
67
|
-
<line x1="240" y1="160" x2="-30" y2="-20" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="5" marker-end="url(#pointer1)" />
|
|
68
|
-
<line x1="240" y1="240" x2="-30" y2="420" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="4" marker-end="url(#pointer2)" />
|
|
69
|
-
<line x1="360" y1="160" x2="630" y2="-20" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="4" marker-end="url(#pointer3)" />
|
|
70
|
-
<line x1="360" y1="240" x2="630" y2="420" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="4" marker-end="url(#pointer4)"/>
|
|
71
|
-
|
|
72
|
-
<g transform="translate(-50, -33.35)">
|
|
73
|
-
<text x="0" y="0" font-size="14" font-weight="400" text-anchor="start" fill="#A1A1AA" transform="rotate({{math (lookup angles 0) '+' 180}})" dy="3.5">بیخیال</text>
|
|
74
|
-
</g>
|
|
75
|
-
<g transform="translate(-50, 433.35)">
|
|
76
|
-
<text x="0" y="0" font-size="14" font-weight="400" text-anchor="start" fill="#A1A1AA" transform="rotate({{math (lookup angles 1) '+' 180}})" dy="3.5">طردکننده</text>
|
|
77
|
-
</g>
|
|
78
|
-
<g transform="translate(650, -33.35)">
|
|
79
|
-
<text x="0" y="0" font-size="14" font-weight="400" text-anchor="end" fill="#A1A1AA" transform="rotate({{lookup angles 2}})" dy="3.5">سهلگیر</text>
|
|
80
|
-
</g>
|
|
81
|
-
<g transform="translate(650, 433.35)">
|
|
82
|
-
<text x="0" y="0" font-size="14" font-weight="400" text-anchor="end" fill="#A1A1AA" transform="rotate({{lookup angles 3}})" dy="3.5">مستبد</text>
|
|
83
|
-
</g>
|
|
84
|
-
|
|
85
|
-
<g transform="translate(0, 400)">
|
|
86
|
-
<g transform="translate({{item.coords.x}}, -{{item.coords.y}})">
|
|
87
|
-
<circle cx="0" cy="0" r="2.5" fill="black" />
|
|
88
|
-
<circle cx="0" cy="0" r="7.5" fill="black" fill-opacity="0.3" />
|
|
89
|
-
</g>
|
|
90
|
-
</g>
|
|
91
|
-
</g>
|
|
92
|
-
<g transform="translate(578.5, 586)">
|
|
93
|
-
<g transform="translate(0, 0)">
|
|
94
|
-
<rect x="0" y="0" width="24" height="16" fill="#FECACA" />
|
|
95
|
-
<text x="-10" y="8" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" dy="3">نامتعادل</text>
|
|
96
|
-
</g>
|
|
97
|
-
<g transform="translate(-124, 0)">
|
|
98
|
-
<rect x="0" y="0" width="24" height="16" fill="#FEF9C3" />
|
|
99
|
-
<text x="-10" y="8" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" dy="3">نیمه متعادل</text>
|
|
100
|
-
</g>
|
|
101
|
-
<g transform="translate(-268, 0)">
|
|
102
|
-
<rect x="0" y="0" width="24" height="16" fill="#D1FAE5" />
|
|
103
|
-
<text x="-10" y="8" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" dy="3">متعادل</text>
|
|
104
|
-
</g>
|
|
105
|
-
</g>
|
|
18
|
+
{{> FACES93_1_partial}}
|
|
106
19
|
</g>
|
|
107
20
|
{{/layout}}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{{setVar "angles" (array -146.3 146.3 -33.7 33.7)}}
|
|
2
|
+
<g transform="translate(0, 320)">
|
|
3
|
+
<text x="0" y="12.5" font-size="16" font-weight="600" fill="#3F3F46" text-anchor="middle" transform="rotate(-90)" xml:space="preserve">انعطافپذیری: {{item.marks.flexibility}}</text>
|
|
4
|
+
<g transform="translate(0, -170)">
|
|
5
|
+
<text x="0" y="35" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" transform="rotate(-90)">آشفته</text>
|
|
6
|
+
</g>
|
|
7
|
+
<g transform="translate(0, 160)">
|
|
8
|
+
<text x="0" y="35" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" transform="rotate(-90)">خشک</text>
|
|
9
|
+
</g>
|
|
10
|
+
<line x1="50" y1="206" x2="50" y2="-192" stroke="#3F3F46" stroke-width="2" marker-end="url(#marker1)" />
|
|
11
|
+
</g>
|
|
12
|
+
<g transform="translate(427.5, 0)">
|
|
13
|
+
<text x="0" y="12.5" font-size="16" font-weight="600" fill="#3F3F46" text-anchor="middle" xml:space="preserve">انسجام: {{item.marks.cohesion}}</text>
|
|
14
|
+
<text x="-215" y="35" font-size="14" font-weight="400" fill="#71717A" text-anchor="start">از هم گسسته</text>
|
|
15
|
+
<text x="285" y="35" font-size="14" font-weight="400" fill="#71717A" text-anchor="start">در هم تنیده</text>
|
|
16
|
+
<line x1="-295" y1="50" x2="305" y2="50" stroke="#3F3F46" stroke-width="2" marker-end="url(#marker2)" />
|
|
17
|
+
</g>
|
|
18
|
+
<g transform="translate(132, 126)">
|
|
19
|
+
{{setVar "row1" (array "#FECACA" "#FEF9C3" "#FEF9C3" "#FEF9C3" "#FECACA")}}
|
|
20
|
+
{{setVar "row2" (array "#FEF9C3" "#D1FAE5" "#D1FAE5" "#D1FAE5" "#FEF9C3")}}
|
|
21
|
+
{{setVar "stops" (array 0 15 35 65 85 100)}}
|
|
22
|
+
{{setVar "fills" (array row1 row2 row2 row2 row1)}}
|
|
23
|
+
{{#forLoop 0 5 1}}
|
|
24
|
+
{{#with i as | j |}}
|
|
25
|
+
{{#forLoop 0 5 1}}
|
|
26
|
+
<rect x="{{math j '*' 120}}" y="{{math i '*' 80}}" width="120" height="80" fill="{{lookup (lookup @root.fills j) i}}" />
|
|
27
|
+
{{#if (boolean j '===' 4)}}
|
|
28
|
+
<text x="-20" y="{{math (math i '*' 80) '+' 10}}" font-size="12" font-weight="400" text-anchor="start" fill="#71717A">{{lookup (reverse @root.stops) i}}</text>
|
|
29
|
+
{{#if (boolean i '===' 4)}}
|
|
30
|
+
<text x="-20" y="{{math (math i '+' 1) '*' 80}}" font-size="12" font-weight="400" text-anchor="start" fill="#71717A">{{lookup (reverse @root.stops) (math i '+' 1)}}</text>
|
|
31
|
+
{{/if}}
|
|
32
|
+
{{#unless @first}}
|
|
33
|
+
<line x1="0" y1="{{math i '*' 80}}" x2="600" y2="{{math i '*' 80}}" stroke="#FFFFFF" />
|
|
34
|
+
{{/unless}}
|
|
35
|
+
{{/if}}
|
|
36
|
+
{{#if (boolean (boolean i '===' 2) '&&' (boolean j '===' 2))}}
|
|
37
|
+
<text x="{{math (math j '*' 120) '+' 60}}" y="{{math (math i '*' 80) '+' 40}}" font-size="14" font-weight="400" text-anchor="middle" fill="#A1A1AA" fill-opacity="0.6" dy="5">دمکراتیک</text>
|
|
38
|
+
{{/if}}
|
|
39
|
+
{{/forLoop}}
|
|
40
|
+
{{#if (boolean j '!==' 0)}}
|
|
41
|
+
<line x1="{{math j '*' 120}}" y1="0" x2="{{math j '*' 120}}" y2="400" stroke="#FFFFFF" />
|
|
42
|
+
{{/if}}
|
|
43
|
+
<text x="{{math j '*' 120}}" y="-20" font-size="12" font-weight="400" text-anchor="start" fill="#71717A">{{lookup @root.stops j}}</text>
|
|
44
|
+
{{#if (boolean j '===' 4)}}
|
|
45
|
+
<text x="{{math (math j '+' 1) '*' 120}}" y="-20" font-size="12" font-weight="400" text-anchor="start" fill="#71717A">{{lookup @root.stops (math j '+' 1)}}</text>
|
|
46
|
+
{{/if}}
|
|
47
|
+
{{/with}}
|
|
48
|
+
{{/forLoop}}
|
|
49
|
+
<rect x="240" y="160" width="120" height="80" fill="none" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="4" />
|
|
50
|
+
|
|
51
|
+
<line x1="240" y1="160" x2="-30" y2="-20" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="5" marker-end="url(#pointer1)" />
|
|
52
|
+
<line x1="240" y1="240" x2="-30" y2="420" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="4" marker-end="url(#pointer2)" />
|
|
53
|
+
<line x1="360" y1="160" x2="630" y2="-20" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="4" marker-end="url(#pointer3)" />
|
|
54
|
+
<line x1="360" y1="240" x2="630" y2="420" stroke="#000000" stroke-opacity="0.15" stroke-dasharray="4" marker-end="url(#pointer4)"/>
|
|
55
|
+
|
|
56
|
+
<g transform="translate(-50, -33.35)">
|
|
57
|
+
<text x="0" y="0" font-size="14" font-weight="400" text-anchor="start" fill="#A1A1AA" transform="rotate({{math (lookup angles 0) '+' 180}})" dy="3.5">بیخیال</text>
|
|
58
|
+
</g>
|
|
59
|
+
<g transform="translate(-50, 433.35)">
|
|
60
|
+
<text x="0" y="0" font-size="14" font-weight="400" text-anchor="start" fill="#A1A1AA" transform="rotate({{math (lookup angles 1) '+' 180}})" dy="3.5">طردکننده</text>
|
|
61
|
+
</g>
|
|
62
|
+
<g transform="translate(650, -33.35)">
|
|
63
|
+
<text x="0" y="0" font-size="14" font-weight="400" text-anchor="end" fill="#A1A1AA" transform="rotate({{lookup angles 2}})" dy="3.5">سهلگیر</text>
|
|
64
|
+
</g>
|
|
65
|
+
<g transform="translate(650, 433.35)">
|
|
66
|
+
<text x="0" y="0" font-size="14" font-weight="400" text-anchor="end" fill="#A1A1AA" transform="rotate({{lookup angles 3}})" dy="3.5">مستبد</text>
|
|
67
|
+
</g>
|
|
68
|
+
|
|
69
|
+
<g transform="translate(0, 400)">
|
|
70
|
+
<g transform="translate({{item.coords.x}}, -{{item.coords.y}})">
|
|
71
|
+
<circle cx="0" cy="0" r="2.5" fill="black" />
|
|
72
|
+
<circle cx="0" cy="0" r="7.5" fill="black" fill-opacity="0.3" />
|
|
73
|
+
</g>
|
|
74
|
+
</g>
|
|
75
|
+
</g>
|
|
76
|
+
<g transform="translate(578.5, 586)">
|
|
77
|
+
<g transform="translate(0, 0)">
|
|
78
|
+
<rect x="0" y="0" width="24" height="16" fill="#FECACA" />
|
|
79
|
+
<text x="-10" y="8" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" dy="3">نامتعادل</text>
|
|
80
|
+
</g>
|
|
81
|
+
<g transform="translate(-124, 0)">
|
|
82
|
+
<rect x="0" y="0" width="24" height="16" fill="#FEF9C3" />
|
|
83
|
+
<text x="-10" y="8" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" dy="3">نیمه متعادل</text>
|
|
84
|
+
</g>
|
|
85
|
+
<g transform="translate(-268, 0)">
|
|
86
|
+
<rect x="0" y="0" width="24" height="16" fill="#D1FAE5" />
|
|
87
|
+
<text x="-10" y="8" font-size="14" font-weight="400" fill="#71717A" text-anchor="start" dy="3">متعادل</text>
|
|
88
|
+
</g>
|
|
89
|
+
</g>
|
|
@@ -9,42 +9,11 @@
|
|
|
9
9
|
|
|
10
10
|
<g transform="translate({{spec.profile.padding.[1].x}}, {{spec.profile.padding.[1].y}})">
|
|
11
11
|
<g transform="translate({{math spec.page2.items.top.baseline.width '/' 2}}, {{spec.page2.items.top.topPos}})">
|
|
12
|
-
{{
|
|
13
|
-
{{#with @root.spec.page2.items.top as | itemsSpec |}}
|
|
14
|
-
<g transform="translate({{lookup (array -320 -210 -100 100 210 320) index}}, 0)">
|
|
15
|
-
<g transform="translate(-{{math itemsSpec.rect.base.width '/' 2}}, 0)">
|
|
16
|
-
{{bar item.height.base itemsSpec.rect.base.width (object tl=0 tr=itemsSpec.rect.base.br br=itemsSpec.rect.base.br bl=0) (toRad -90) fill=itemsSpec.rect.base.color}}
|
|
17
|
-
</g>
|
|
18
|
-
<text x="0" y="-{{math item.height.base '+' 12}}" font-size="12" font-weight="400" text-anchor="middle" fill="#D4D4D8" dy="3">{{item.maxValue}}</text>
|
|
19
|
-
<g fill="{{item.fill}}">
|
|
20
|
-
<g transform="translate(-{{math itemsSpec.rect.body.width '/' 2}}, 0)">
|
|
21
|
-
{{#forLoop 0 item.mark 1}}
|
|
22
|
-
<rect x="0" y="-{{math (math i '+' 1) '*' itemsSpec.rect.body.distanceY}}" width="{{itemsSpec.rect.body.width}}" height="{{itemsSpec.rect.body.height}}" rx="{{itemsSpec.rect.body.br}}"/>
|
|
23
|
-
{{/forLoop}}
|
|
24
|
-
</g>
|
|
25
|
-
<text x="{{math (math itemsSpec.rect.body.width '/' 2) '+' 16}}" y="-{{math item.mark '*' itemsSpec.rect.body.distanceY}}" font-size="16" font-weight="500" text-anchor="middle" dy="4">{{item.mark}}</text>
|
|
26
|
-
<text x="0" y="20" font-size="14" font-weight="400" text-anchor="middle" dy="5">{{item.label.fr}}</text>
|
|
27
|
-
</g>
|
|
28
|
-
</g>
|
|
29
|
-
{{/with}}
|
|
30
|
-
{{/each}}
|
|
31
|
-
<line x1="-{{math spec.page2.items.top.baseline.width '/' 2}}" y1="0" x2="{{math spec.page2.items.top.baseline.width '/' 2}}" y2="0" stroke="#A1A1AA" stroke-width="2"/>
|
|
12
|
+
{{> FACES93_2_1_partial}}
|
|
32
13
|
</g>
|
|
33
14
|
|
|
34
15
|
<g transform="translate(0, {{math spec.page2.items.top.topPos '+' spec.page2.items.bottom.offsetY}})">
|
|
35
|
-
{{
|
|
36
|
-
{{#with @root.spec.page2.items.bottom as | itemsSpec |}}
|
|
37
|
-
<g transform="translate(0, {{math index '*' (math itemsSpec.rect.body.height '+' 20)}})">
|
|
38
|
-
<text x="150" y="{{math itemsSpec.rect.body.height '/' 2}}" font-size="16" font-weight="400" text-anchor="start" fill="#52525B" dy="4">{{item.label.fr}}</text>
|
|
39
|
-
<g transform="translate(168, 0)">
|
|
40
|
-
<rect x="0" y="{{math (math itemsSpec.rect.body.height '-' itemsSpec.rect.base.height) '/' 2}}" width="{{itemsSpec.rect.base.width}}" height="{{itemsSpec.rect.base.height}}" rx="{{itemsSpec.rect.base.br}}" fill="#F4F4F5"/>
|
|
41
|
-
<text x="{{math itemsSpec.rect.base.width '+' 27}}" y="{{math itemsSpec.rect.body.height '/' 2}}" font-size="12" font-weight="400" text-anchor="middle" fill="#A1A1AA" dy="3">{{itemsSpec.maxValue}}</text>
|
|
42
|
-
<rect x="0" y="0" width="{{item.width}}" height="{{itemsSpec.rect.body.height}}" rx="{{itemsSpec.rect.body.br}}" fill="url(#bg)"/>
|
|
43
|
-
<text x="{{math item.width '-' 18}}" y="{{math itemsSpec.rect.body.height '/' 2}}" font-size="16" font-weight="600" text-anchor="middle" fill="white" dy="4">{{item.mark}}</text>
|
|
44
|
-
</g>
|
|
45
|
-
</g>
|
|
46
|
-
{{/with}}
|
|
47
|
-
{{/each}}
|
|
16
|
+
{{> FACES93_2_2_partial}}
|
|
48
17
|
</g>
|
|
49
18
|
</g>
|
|
50
19
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{{#each items.top as | item index |}}
|
|
2
|
+
{{#with ../spec.page2.items.top as | itemsSpec |}}
|
|
3
|
+
<g transform="translate({{lookup (array -320 -210 -100 100 210 320) index}}, 0)">
|
|
4
|
+
<g transform="translate(-{{math itemsSpec.rect.base.width '/' 2}}, 0)">
|
|
5
|
+
{{bar item.height.base itemsSpec.rect.base.width (object tl=0 tr=itemsSpec.rect.base.br br=itemsSpec.rect.base.br bl=0) (toRad -90) fill=itemsSpec.rect.base.color}}
|
|
6
|
+
</g>
|
|
7
|
+
<text x="0" y="-{{math item.height.base '+' 12}}" font-size="12" font-weight="400" text-anchor="middle" fill="#D4D4D8" dy="3">{{item.maxValue}}</text>
|
|
8
|
+
<g fill="{{item.fill}}">
|
|
9
|
+
<g transform="translate(-{{math itemsSpec.rect.body.width '/' 2}}, 0)">
|
|
10
|
+
{{#forLoop 0 item.mark 1}}
|
|
11
|
+
<rect x="0" y="-{{math (math i '+' 1) '*' itemsSpec.rect.body.distanceY}}" width="{{itemsSpec.rect.body.width}}" height="{{itemsSpec.rect.body.height}}" rx="{{itemsSpec.rect.body.br}}"/>
|
|
12
|
+
{{/forLoop}}
|
|
13
|
+
</g>
|
|
14
|
+
<text x="{{math (math itemsSpec.rect.body.width '/' 2) '+' 16}}" y="-{{math item.mark '*' itemsSpec.rect.body.distanceY}}" font-size="16" font-weight="500" text-anchor="middle" dy="4">{{item.mark}}</text>
|
|
15
|
+
<text x="0" y="20" font-size="14" font-weight="400" text-anchor="middle" dy="5">{{item.label.fr}}</text>
|
|
16
|
+
</g>
|
|
17
|
+
</g>
|
|
18
|
+
{{/with}}
|
|
19
|
+
{{/each}}
|
|
20
|
+
<line x1="-{{math spec.page2.items.top.baseline.width '/' 2}}" y1="0" x2="{{math spec.page2.items.top.baseline.width '/' 2}}" y2="0" stroke="#A1A1AA" stroke-width="2"/>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{{#each items.bottom as | item index |}}
|
|
2
|
+
{{#with ../spec.page2.items.bottom as | itemsSpec |}}
|
|
3
|
+
<g transform="translate(0, {{math index '*' (math itemsSpec.rect.body.height '+' 20)}})">
|
|
4
|
+
<text x="150" y="{{math itemsSpec.rect.body.height '/' 2}}" font-size="16" font-weight="400" text-anchor="start" fill="#52525B" dy="4">{{item.label.fr}}</text>
|
|
5
|
+
<g transform="translate(168, 0)">
|
|
6
|
+
<rect x="0" y="{{math (math itemsSpec.rect.body.height '-' itemsSpec.rect.base.height) '/' 2}}" width="{{itemsSpec.rect.base.width}}" height="{{itemsSpec.rect.base.height}}" rx="{{itemsSpec.rect.base.br}}" fill="#F4F4F5"/>
|
|
7
|
+
<text x="{{math itemsSpec.rect.base.width '+' 27}}" y="{{math itemsSpec.rect.body.height '/' 2}}" font-size="12" font-weight="400" text-anchor="middle" fill="#A1A1AA" dy="3">{{itemsSpec.maxValue}}</text>
|
|
8
|
+
<rect x="0" y="0" width="{{item.width}}" height="{{itemsSpec.rect.body.height}}" rx="{{itemsSpec.rect.body.br}}" fill="url(#bg)"/>
|
|
9
|
+
<text x="{{math item.width '-' 18}}" y="{{math itemsSpec.rect.body.height '/' 2}}" font-size="16" font-weight="600" text-anchor="middle" fill="white" dy="4">{{item.mark}}</text>
|
|
10
|
+
</g>
|
|
11
|
+
</g>
|
|
12
|
+
{{/with}}
|
|
13
|
+
{{/each}}
|
|
@@ -1,44 +1,5 @@
|
|
|
1
1
|
{{#> layout}}
|
|
2
|
-
|
|
3
|
-
<defs>
|
|
4
|
-
<linearGradient id="horizontal-shadow">
|
|
5
|
-
<stop offset="0%" stop-color="black" />
|
|
6
|
-
<stop offset="100%" stop-color="transparent" />
|
|
7
|
-
</linearGradient>
|
|
8
|
-
<linearGradient id="vertical-shadow" gradientTransform="rotate(90)">
|
|
9
|
-
<stop offset="0%" stop-color="transparent" />
|
|
10
|
-
<stop offset="100%" stop-color="black" />
|
|
11
|
-
</linearGradient>
|
|
12
|
-
</defs>
|
|
13
|
-
|
|
14
2
|
<g transform="translate({{spec.profile.padding.x}}, {{spec.profile.padding.y}})">
|
|
15
|
-
{{
|
|
16
|
-
{{#each dataset.score}}
|
|
17
|
-
<g transform="translate(0, {{math 5 '+' ( math 51 '*' @key )}})">
|
|
18
|
-
<text y="0" x="129" text-anchor="start" font-size="18px" font-weight="400" dy="18px">{{label.fr}}</text>
|
|
19
|
-
<g transform="translate(147, 0)">
|
|
20
|
-
{{bar (math label.width '*' 4.5) 30 (object tl=0 tr=15 bl=0 br=15) (toRad 0) fill=label.background opacity='.8'}}
|
|
21
|
-
{{bar (math mark '*' 4.5) 30 (object tl=0 tr=15 bl=0 br=15) (toRad 0) fill=label.fill opacity='.8'}}
|
|
22
|
-
<text y="17" x="{{math (math label.width '*' 4.5) '+' 7.5 }}" dy="6px" text-anchor="start" font-size="24px" fill="{{label.fill}}" font-weight="500" direction="ltr">
|
|
23
|
-
{{mark}}
|
|
24
|
-
<tspan font-size="18px" fill="#D4D4D8" font-weight="400">/ {{label.width}}</tspan>
|
|
25
|
-
</text>
|
|
26
|
-
</g>
|
|
27
|
-
</g>
|
|
28
|
-
{{/each}}
|
|
29
|
-
<g transform="translate(642.5, 428)">
|
|
30
|
-
<g transform="translate(9, 0)">
|
|
31
|
-
{{bar 9 378 (object tl=0 tr=0 bl=4.5 br=4.5) (toRad 180) fill='#E4E4E7'}}
|
|
32
|
-
{{bar 9 markSum (object tl=0 tr=0 bl=4.5 br=4.5) (toRad 180) fill='#52525B'}}
|
|
33
|
-
</g>
|
|
34
|
-
<text x="4.5" y="-387" dominant-baseline="auto" text-anchor="middle" fill="#A1A1AA" font-size="18px" font-weight="400">378</text>
|
|
35
|
-
<text x="21" y="{{math markSum '*' -1}}" dy="6" text-anchor="start" font-size="24px" fill="#3F3F46" font-weight="500" direction="ltr">{{markSum}}</text>
|
|
36
|
-
<text transform="rotate(-90, 0, 0)" x="-3" y="-28" dy="14" text-anchor="end" font-size="18px" font-weight="400">نمره کل</text>
|
|
37
|
-
|
|
38
|
-
<rect x="-3" y="0" width="15" height="3" fill="#FFFFFF" style="filter: drop-shadow(0 -3px 5px rgba(0,0,0, .5));"/>
|
|
39
|
-
</g>
|
|
40
|
-
<g transform="translate(144.5, 0)">
|
|
41
|
-
<rect x="0" y="0" width="3" height="450" rx="1" fill="#FFFFFF" style="filter: drop-shadow(3px 0 5px rgba(0,0,0, .5));"/>
|
|
42
|
-
</g>
|
|
3
|
+
{{> JPFQ93_partial}}
|
|
43
4
|
</g>
|
|
44
5
|
{{/ layout}}
|