@baravak/risloo-profile-cli 4.43.0 → 4.44.1

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baravak/risloo-profile-cli",
3
- "version": "4.43.0",
3
+ "version": "4.44.1",
4
4
  "description": "**Risloo Profile CLI** is a library for creating profiles, reports and sheets for *psychological* samples.",
5
5
  "main": "bin/risloo.js",
6
6
  "publishConfig": {
@@ -42,32 +42,7 @@
42
42
  "prepayment": true,
43
43
  "purchased": true,
44
44
  "amount": 100000,
45
- "billing": {
46
- "id": "BL96DDFU",
47
- "creditor": {
48
- "id": "TE96TQCX",
49
- "symbol": "rs9666nny",
50
- "title": "کیف پول مرکز RS9666NNY",
51
- "creditable": true,
52
- "chargeable": true,
53
- "my_treasury": false
54
- },
55
- "debtor": {
56
- "id": "TE96TN3F",
57
- "symbol": "wallet",
58
- "title": "کیف پول",
59
- "creditable": true,
60
- "chargeable": true,
61
- "my_treasury": false
62
- },
63
- "amount": 100000,
64
- "type": "final",
65
- "action": "samples",
66
- "action_serial": "$X1HJ2ZN3N",
67
- "title": "انجام نمونه",
68
- "created_at": 1694157140,
69
- "updated_at": 1694157140
70
- },
45
+
71
46
  "description": "## دستور اجرای آزمون\n\nاین آزمون حاوی سؤالهایی است **(187 سؤال)** که رغبت‌ها و احساس‌های شما را نسبت به چیزها نشان می‌دهند. در بسیاری از سؤال‌ها، پاسخ‌های درست و غلط وجود ندارد و شما فقط باید مشخص کنید که چه چیزی از نظر شما درست است. پس از خواندن هر سؤال، پاسخ خود را با پر کردن چهارخانه مربوطه، در پاسخنامه مشخص نمایید.\n\nنام و مشخصات خود را در بالای صفحه پاسخنامه‌ایکه به صورت جداگانه در اختیارتان قرار داده شده است، بنویسید.\n\nحالا به سه سؤال زیر که به عنوان مثال ارایه شده و در پاسخنامه با عنوان مثال‌ها مشخص شده‌اند، پاسخ دهید. شما برای هر سؤال می‌توانید یکی از سه گزینه را انتخاب نمایید اگر گزینه‌ایکه انتخاب کرده‌اید «الف» است چهارخانه سمت راست را پر کنید، اگر گزینه «ب» ر اانتخاب کرده‌اید، چهار خانه وسط را پر کنید. و اگر گزینه «ج» را انتخاب کرده‌اید، چهار خانه سمت چپ را پر کنید.\n\n### مثال‌ها :\n\n1. تماشای مسابقه‌های ورزشی را دوست دارم\n\n - الف) بله (غالبا)\n\n - ب) گاهی\n\n - ج) نه (هرگز)\n\n2. دیگران مرا بی‌حوصله می‌دانند\n\n - الف) درست\n\n - ب) نامطمئن\n\n - ج) غلط\n\n3. من دوستانی را ترجیح می‌دهم که :\n\n - الف) آرام هستند\n\n - ب) بین این دو\n\n - ج) معاشرتی و سرزنده\n\nوقتی آزمونگر به شما می‌گوید با سؤال شماره یک کار خود را آغاز کنید و به پرسش‌ها پاسخ دهید، این چهار نکته را در نظر داشته باشید:\n\n1. وقتی پاسخی را مشخص کنید که به نظر شما درست است. بهتر است آنچه را که واقعاً فکر می‌کنید بگویید\n\n2. وقت خود را با فکر کردن درباره هر سؤال،تلف نکنید. اولین و طبیعی‌ترین پاسخی را که به ذهنتان می‌آید، انتخاب کنید. البته سؤالها، کوتاه‌تر از آن هستند که بتوانند همه اطلاعاتی را که مایلید داشته باشید در اختیار تان بگذارند اما شما باید بهترین پاسخی را بدهید، که تحت شرایط موجود امکان پذیر است\n\n3. به همه سؤال‌ها به ترتیب پاسخ دهید. هیچ سؤالی را بدون پاسخ نگذارید\n\n4. شما باید در اغلب موارد گزینه‌های «الف » یا «ج» را انتخاب کنید و فقط موقعی از گزینه ب استفاده کنید که احساس می‌کنید مجبور هستید، زیرا هیچ یک از گزینه‌های «الف » و «ج » به نظرتان درست نمی‌آید",
72
47
  "psychologist_description": null,
73
48
  "items": [
@@ -0,0 +1,785 @@
1
+ {
2
+ "id": "$X1HXXXXX",
3
+ "scale": {
4
+ "id": "$JRAQ-93",
5
+ "title": "پرسش‌نامه پایبندی مذهبی دکتر جان‌بزرگی"
6
+ },
7
+ "chain": null,
8
+ "version": "2",
9
+ "edition": "",
10
+ "edition_version": null,
11
+ "client": {
12
+ "id": "GH966XXXX",
13
+ "name": "مراجع"
14
+ },
15
+ "room": {
16
+ "id": "RS96XXXX",
17
+ "manager": {
18
+ "id": "GH9XXXXX",
19
+ "name": "درمانگر",
20
+ "user_id": "IR9XXXX"
21
+ },
22
+ "center": {
23
+ "id": "RS966XXXX",
24
+ "acceptation": null,
25
+ "status": "active",
26
+ "type": "personal_clinic",
27
+ "detail": {
28
+ "title": "درمانگر"
29
+ }
30
+ },
31
+ "acceptation": null,
32
+ "status": "active",
33
+ "type": "personal_clinic"
34
+ },
35
+ "case": null,
36
+ "code": null,
37
+ "created_at": 1694157079,
38
+ "started_at": 1694157198,
39
+ "scored_at": 1694242467,
40
+ "closed_at": 1694160574,
41
+ "total_amount": 100000,
42
+ "prepayment": true,
43
+ "purchased": true,
44
+ "amount": 100000,
45
+ "psychologist_description": null,
46
+ "description": "## دستور اجرای آزمون\n\nدر اين پرسشنامه، تعدادي جمله درباره مشكلات، احساسات و افكار شما در زمينه اجتماعي، مذهبي و شخصي كه غالباً در زندگي خود با آن روبرو هستيد، وجود دارد. براي آنكه بتوانيد به فهم و درك مسائل، مشكلات و احساسات خود نائل شويد، پاسخ خود را به هر سؤال با علامت زدن طيفي كه در مقابل هر سؤال آمده است مشخص كنيد. با يك مثال در آغاز كار به عنوان تمرين، كار را شروع كنيد. همانطور كه مي‌بينيد هر سؤال در واقع به صورت يك جمله مطرح شده است. شما بايد در خانه مربوط به پاسخي كه انتخاب كرده‌ايد يك ضربدر بزنيد تا به اين ترتيب نشان دهيد كه آن اندازه درباره شما صدق مي‌كند و متناسب با حال فعلي شماست.",
47
+ "items": [
48
+ {
49
+ "type": "text",
50
+ "text": "همواره نسبت به مسائل زندگي‌ام نگرانم.",
51
+ "answer": {
52
+ "type": "optional",
53
+ "options": [
54
+ "كاملاًموافقم",
55
+ "تقريباًموافقم",
56
+ "تقريباًمخالفم",
57
+ "كاملاً‌مخالفم"
58
+ ]
59
+ },
60
+ "user_answered": "1"
61
+ },
62
+ {
63
+ "type": "text",
64
+ "text": "گاهي اوقات سخنان ناروايي از من سر مي‌زند كه خودم هم ناراحت مي‌شوم.",
65
+ "answer": {
66
+ "type": "optional",
67
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
68
+ },
69
+ "user_answered": "1"
70
+ },
71
+ {
72
+ "type": "text",
73
+ "text": "دين اسلام كامل‌ترين برنامه زندگي را ارائه مي‌كند.",
74
+ "answer": {
75
+ "type": "optional",
76
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
77
+ },
78
+ "user_answered": "1"
79
+ },
80
+ {
81
+ "type": "text",
82
+ "text": "هميشه محزون و نگران هستم.",
83
+ "answer": {
84
+ "type": "optional",
85
+ "options": [
86
+ "كاملاًموافقم",
87
+ "تقريباًموافقم",
88
+ "تقريباًمخالفم",
89
+ "كاملاً‌مخالفم"
90
+ ]
91
+ },
92
+ "user_answered": "3"
93
+ },
94
+ {
95
+ "type": "text",
96
+ "text": "براي پيشرفت کارهايم پشتكار ندارم و همواره براي رسيدن به نتيجه عجله مي‌كنم.",
97
+ "answer": {
98
+ "type": "optional",
99
+ "options": [
100
+ "كاملاًموافقم",
101
+ "تقريباًموافقم",
102
+ "تقريباًمخالفم",
103
+ "كاملاً‌مخالفم"
104
+ ]
105
+ },
106
+ "user_answered": "2"
107
+ },
108
+ {
109
+ "type": "text",
110
+ "text": "از انجام رفتارهايي كه خدا حرام كرده است پرهيز مي‌كنم.",
111
+ "answer": {
112
+ "type": "optional",
113
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
114
+ },
115
+ "user_answered": "1"
116
+ },
117
+ {
118
+ "type": "text",
119
+ "text": "در كارهايم هميشه به خود مي‌گويم به ياد خدا باشم و به او توكل كنم.",
120
+ "answer": {
121
+ "type": "optional",
122
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
123
+ },
124
+ "user_answered": "1"
125
+ },
126
+ {
127
+ "type": "text",
128
+ "text": "سعي مي‌كنم پشت سر ديگران، بدي آن‌ها را افشا نكنم. (غيبت)",
129
+ "answer": {
130
+ "type": "optional",
131
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
132
+ },
133
+ "user_answered": "2"
134
+ },
135
+ {
136
+ "type": "text",
137
+ "text": "همواره چيزهايي را كه به من تذكر مي‌دهند، فراموش مي‌كنم.",
138
+ "answer": {
139
+ "type": "optional",
140
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
141
+ },
142
+ "user_answered": "2"
143
+ },
144
+ {
145
+ "type": "text",
146
+ "text": "بيشتر وقت‌ها به وفاداري ديگران (نزديكان و دوستانم) شك مي‌كنم و به آن‌ها سوء‌ظن پيدا مي‌كنم.",
147
+ "answer": {
148
+ "type": "optional",
149
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
150
+ },
151
+ "user_answered": "3"
152
+ },
153
+ {
154
+ "type": "text",
155
+ "text": "وقتي بلا يا مصيبتي بر من وارد مي‌شود، بيش از حد معمول نگران مي‌شوم.",
156
+ "answer": {
157
+ "type": "optional",
158
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
159
+ },
160
+ "user_answered": "3"
161
+ },
162
+ {
163
+ "type": "text",
164
+ "text": "ديگران معتقدند كه من تند و غير ملاطفت آميز حرف مي‌زنم.",
165
+ "answer": {
166
+ "type": "optional",
167
+ "options": [
168
+ "كاملاًموافقم",
169
+ "تقريباًموافقم",
170
+ "تقريباًمخالفم",
171
+ "كاملاً‌مخالفم"
172
+ ]
173
+ },
174
+ "user_answered": "3"
175
+ },
176
+ {
177
+ "type": "text",
178
+ "text": "مهم اين است كه به هر طريق و از هر كجا كه شده، امورات زندگي‌ام را بگذرانم.",
179
+ "answer": {
180
+ "type": "optional",
181
+ "options": [
182
+ "كاملاًموافقم",
183
+ "تقريباًموافقم",
184
+ "تقريباًمخالفم",
185
+ "كاملاً‌مخالفم"
186
+ ]
187
+ },
188
+ "user_answered": "2"
189
+ },
190
+ {
191
+ "type": "text",
192
+ "text": "آن قدر به عظمت خداوند پی برده‌ام كه ديگران نمي‌توانند برايم هيچ گونه نگراني ايجاد كنند.",
193
+ "answer": {
194
+ "type": "optional",
195
+ "options": [
196
+ "كاملاًموافقم",
197
+ "تقريباًموافقم",
198
+ "تقريباًمخالفم",
199
+ "كاملاً‌مخالفم"
200
+ ]
201
+ },
202
+ "user_answered": "1"
203
+ },
204
+ {
205
+ "type": "text",
206
+ "text": "تكاليف مذهبي واجبم (نماز، روزه و غیره) را به جا مي‌آورم.",
207
+ "answer": {
208
+ "type": "optional",
209
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
210
+ },
211
+ "user_answered": "1"
212
+ },
213
+ {
214
+ "type": "text",
215
+ "text": "همواره در اين فكرم كه مبادا از اعمالم خشنود باشم، ولي آن طوركه بايد و شايد بندگي و اطاعت خدا را به جا نياورده‌ام.",
216
+ "answer": {
217
+ "type": "optional",
218
+ "options": [
219
+ "كاملاًموافقم",
220
+ "تقريباًموافقم",
221
+ "تقريباًمخالفم",
222
+ "كاملاً‌مخالفم"
223
+ ]
224
+ },
225
+ "user_answered": "2"
226
+ },
227
+ {
228
+ "type": "text",
229
+ "text": "تا به حال نتوانسته‌ام به خود بقبولانم كه عالم غيب و موجودات غيبي واقعاً وجود دارند.",
230
+ "answer": {
231
+ "type": "optional",
232
+ "options": [
233
+ "كاملاًموافقم",
234
+ "تقريباًموافقم",
235
+ "تقريباًمخالفم",
236
+ "كاملاً‌مخالفم"
237
+ ]
238
+ },
239
+ "user_answered": "4"
240
+ },
241
+ {
242
+ "type": "text",
243
+ "text": "به نظر نمي‌رسد که ما مسلمانان زندگي خود را در چارچوب قوانين اسلامي اداره می‌كنيم.",
244
+ "answer": {
245
+ "type": "optional",
246
+ "options": [
247
+ "كاملاًموافقم",
248
+ "تقريباًموافقم",
249
+ "تقريباًمخالفم",
250
+ "كاملاً‌مخالفم"
251
+ ]
252
+ },
253
+ "user_answered": "2"
254
+ },
255
+ {
256
+ "type": "text",
257
+ "text": "به خاطر تقرب به خدا و براي رضاي او حاضرم با دشمنان دينم بجنگم. ",
258
+ "answer": {
259
+ "type": "optional",
260
+ "options": [
261
+ "كاملاًموافقم",
262
+ "تقريباًموافقم",
263
+ "تقريباًمخالفم",
264
+ "كاملاً‌مخالفم"
265
+ ]
266
+ },
267
+ "user_answered": "1"
268
+ },
269
+ {
270
+ "type": "text",
271
+ "text": "گاهي ميل جنسي، خيلي بر من فشار مي‌آورد.",
272
+ "answer": {
273
+ "type": "optional",
274
+ "options": [
275
+ "كاملاًموافقم",
276
+ "تقريباًموافقم",
277
+ "تقريباًمخالفم",
278
+ "كاملاً‌مخالفم"
279
+ ]
280
+ },
281
+ "user_answered": "2"
282
+ },
283
+ {
284
+ "type": "text",
285
+ "text": "معتقدم بخشي از درآمد را بايد صرف مستمندان كرد.",
286
+ "answer": {
287
+ "type": "optional",
288
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
289
+ },
290
+ "user_answered": "2"
291
+ },
292
+ {
293
+ "type": "text",
294
+ "text": "نگرانم كه وقتي كسي از من تعريف و تمجيد مي‌كند، بعداً نظرش عوض نشود.",
295
+ "answer": {
296
+ "type": "optional",
297
+ "options": [
298
+ "كاملاًموافقم",
299
+ "تقريباًموافقم",
300
+ "تقريباًمخالفم",
301
+ "كاملاً‌مخالفم"
302
+ ]
303
+ },
304
+ "user_answered": "2"
305
+ },
306
+ {
307
+ "type": "text",
308
+ "text": "وقتي به كسي كمك مي‌كنم، برايم مهم است كه آن را همواره در نظر داشته باشد.",
309
+ "answer": {
310
+ "type": "optional",
311
+ "options": [
312
+ "كاملاًموافقم",
313
+ "تقريباًموافقم",
314
+ "تقريباًمخالفم",
315
+ "كاملاً‌مخالفم"
316
+ ]
317
+ },
318
+ "user_answered": "2"
319
+ },
320
+ {
321
+ "type": "text",
322
+ "text": "وقتي نماز مي‌خوانم، مرتب حواسم پرت مي‌شود.",
323
+ "answer": {
324
+ "type": "optional",
325
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
326
+ },
327
+ "user_answered": "2"
328
+ },
329
+ {
330
+ "type": "text",
331
+ "text": "از كساني كه در جمع همواره صداي خنده شان بلند است، خوشم مي‌آيد.",
332
+ "answer": {
333
+ "type": "optional",
334
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
335
+ },
336
+ "user_answered": "1"
337
+ },
338
+ {
339
+ "type": "text",
340
+ "text": "در برنامه‌هاي روزمره زندگي‌ام، طاعات مذهبي، دعا، قرآن و ... جايگاه خاصي دارند.",
341
+ "answer": {
342
+ "type": "optional",
343
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
344
+ },
345
+ "user_answered": "1"
346
+ },
347
+ {
348
+ "type": "text",
349
+ "text": "اغلب رفتارها و كارهاي روزمره‌ام را كه انجام مي‌دهم، به اين توجه ندارم كه حتماً با معيارهاي اسلامي و مذهبي هماهنگ باشد. ",
350
+ "answer": {
351
+ "type": "optional",
352
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
353
+ },
354
+ "user_answered": "3"
355
+ },
356
+ {
357
+ "type": "text",
358
+ "text": "مايل نيستم با كسي كه دشمن من است، رفتار انساني داشته باشم.",
359
+ "answer": {
360
+ "type": "optional",
361
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
362
+ },
363
+ "user_answered": "3"
364
+ },
365
+ {
366
+ "type": "text",
367
+ "text": "تنها وقتي به ياد خدا مي‌افتم كه مشكل لاينحلي برايم پيش بيايد.",
368
+ "answer": {
369
+ "type": "optional",
370
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
371
+ },
372
+ "user_answered": "4"
373
+ },
374
+ {
375
+ "type": "text",
376
+ "text": "هر چند كسي اين درد را درك نمي‌كند، ولي يكي از دغدغه‌هايم كوتاهي در اعمال مذهبي است.",
377
+ "answer": {
378
+ "type": "optional",
379
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
380
+ },
381
+ "user_answered": "1"
382
+ },
383
+ {
384
+ "type": "text",
385
+ "text": "مهم نيست كساني كه با من رفت و آمد دارند، چه اعتقاداتي دارند.",
386
+ "answer": {
387
+ "type": "optional",
388
+ "options": [
389
+ "كاملاًموافقم",
390
+ "تقريباًموافقم",
391
+ "تقريباًمخالفم",
392
+ "كاملاً‌مخالفم"
393
+ ]
394
+ },
395
+ "user_answered": "3"
396
+ },
397
+ {
398
+ "type": "text",
399
+ "text": "دوستان من بايد هم دين من باشند.",
400
+ "answer": {
401
+ "type": "optional",
402
+ "options": [
403
+ "كاملاًموافقم",
404
+ "تقريباًموافقم",
405
+ "تقريباًمخالفم",
406
+ "كاملاً‌مخالفم"
407
+ ]
408
+ },
409
+ "user_answered": "2"
410
+ },
411
+ {
412
+ "type": "text",
413
+ "text": "حتي وقتي فرصت عبادت (نماز، دعا و ...) برايم پيش مي‌آيد، تأثيري درحال من ندارد.",
414
+ "answer": {
415
+ "type": "optional",
416
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
417
+ },
418
+ "user_answered": "4"
419
+ },
420
+ {
421
+ "type": "text",
422
+ "text": "حاضر نيستم در امور زندگي‌ام با كسي كه به خداوند معتقد نيست، مراوده و مشورت داشته باشم.",
423
+ "answer": {
424
+ "type": "optional",
425
+ "options": [
426
+ "كاملاًموافقم",
427
+ "تقريباًموافقم",
428
+ "تقريباًمخالفم",
429
+ "كاملاً‌مخالفم"
430
+ ]
431
+ },
432
+ "user_answered": "2"
433
+ },
434
+ {
435
+ "type": "text",
436
+ "text": "برخي اوقات ترديد دارم كه قرآن يا ديگر كتاب‌هاي آسماني واقعاً فرستاده خدا باشند.",
437
+ "answer": {
438
+ "type": "optional",
439
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
440
+ },
441
+ "user_answered": "4"
442
+ },
443
+ {
444
+ "type": "text",
445
+ "text": "وقتي عمل خداپسندانه‌اي انجام مي‌دهم، نگرانم كه مبادا خالصانه نبوده و مقبول خداوند قرار نگيرد.",
446
+ "answer": {
447
+ "type": "optional",
448
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
449
+ },
450
+ "user_answered": "2"
451
+ },
452
+ {
453
+ "type": "text",
454
+ "text": "در برابر حوادث تكان دهنده، خودم را مي‌بازم.",
455
+ "answer": {
456
+ "type": "optional",
457
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
458
+ },
459
+ "user_answered": "3"
460
+ },
461
+ {
462
+ "type": "text",
463
+ "text": "سعي مي‌كنم رفتارم و زندگي‌ام را بر اساس آنچه خداوند، پيامبر، ائمه و علماي ديني گفته‌اند، تنظيم كنم.",
464
+ "answer": {
465
+ "type": "optional",
466
+ "options": [
467
+ "كاملاًموافقم",
468
+ "تقريباًموافقم",
469
+ "تقريباًمخالفم",
470
+ "كاملاً‌مخالفم"
471
+ ]
472
+ },
473
+ "user_answered": "1"
474
+ },
475
+ {
476
+ "type": "text",
477
+ "text": "وقتي كاري انجام مي‌دهم كه خلاف دستورات مذهبي است، نگران جبران آن هستم.",
478
+ "answer": {
479
+ "type": "optional",
480
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
481
+ },
482
+ "user_answered": "2"
483
+ },
484
+ {
485
+ "type": "text",
486
+ "text": "هر چند در برابر سختي ها صبورم، ولي ديگران من را كم تحمل مي‌دانند.",
487
+ "answer": {
488
+ "type": "optional",
489
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
490
+ },
491
+ "user_answered": "3"
492
+ },
493
+ {
494
+ "type": "text",
495
+ "text": "اگر بتوانم تمام برنامه‌هاي زندگي‌ام و رفتارهايم را بر پايه مذهب و قرآن بنا مي‌كنم.",
496
+ "answer": {
497
+ "type": "optional",
498
+ "options": [
499
+ "كاملاًموافقم",
500
+ "تقريباًموافقم",
501
+ "تقريباًمخالفم",
502
+ "كاملاً‌مخالفم"
503
+ ]
504
+ },
505
+ "user_answered": "1"
506
+ },
507
+ {
508
+ "type": "text",
509
+ "text": "روزي‌ام را به هر طريقي كه ممكن باشد، كسب مي‌كنم (عزّت نفسم، مهم تر از برخي اصول و ارزشهاست).",
510
+ "answer": {
511
+ "type": "optional",
512
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
513
+ },
514
+ "user_answered": "2"
515
+ },
516
+ {
517
+ "type": "text",
518
+ "text": " عصبي هستم و به همين خاطر تصميم‌گيري‌هايم طوري است كه بعداً پشيمان مي‌شوم.",
519
+ "answer": {
520
+ "type": "optional",
521
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
522
+ },
523
+ "user_answered": "3"
524
+ },
525
+ {
526
+ "type": "text",
527
+ "text": "فكر مي‌كنم بيشتر افراد به رفتار مذهبي تظاهر مي‌كنند (بين فکر و رفتار آن‌ها فاصله است).",
528
+ "answer": {
529
+ "type": "optional",
530
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
531
+ },
532
+ "user_answered": "2"
533
+ },
534
+ {
535
+ "type": "text",
536
+ "text": "گاهي وسوسه‌ها من را به ترديد در مورد اعتقاداتم وامي‌دارند.",
537
+ "answer": {
538
+ "type": "optional",
539
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
540
+ },
541
+ "user_answered": "3"
542
+ },
543
+ {
544
+ "type": "text",
545
+ "text": "عزت و سربلندي، به دين و ايمان مذهبي بستگي ندارد.",
546
+ "answer": {
547
+ "type": "optional",
548
+ "options": [
549
+ "كاملاًموافقم",
550
+ "تقريباًموافقم",
551
+ "تقريباًمخالفم",
552
+ "كاملاً‌مخالفم"
553
+ ]
554
+ },
555
+ "user_answered": "3"
556
+ },
557
+ {
558
+ "type": "text",
559
+ "text": "به راحتي موقع انجام عبادات (نماز، روزه، دعا و ...) مي‌توانم ذهنم را متمركز كنم.",
560
+ "answer": {
561
+ "type": "optional",
562
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
563
+ },
564
+ "user_answered": "3"
565
+ },
566
+ {
567
+ "type": "text",
568
+ "text": "ساكت ماندن در جمع، من را غمگين مي‌كند.",
569
+ "answer": {
570
+ "type": "optional",
571
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
572
+ },
573
+ "user_answered": "4"
574
+ },
575
+ {
576
+ "type": "text",
577
+ "text": "گاهي احساس مي‌كنم، خدا هم من را از ياد برده است.",
578
+ "answer": {
579
+ "type": "optional",
580
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
581
+ },
582
+ "user_answered": "4"
583
+ },
584
+ {
585
+ "type": "text",
586
+ "text": "تنها چيزهاي مهم براي من محبت خدا، بهشت و هرگونه سعادت اخروي است.",
587
+ "answer": {
588
+ "type": "optional",
589
+ "options": [
590
+ "كاملاًموافقم",
591
+ "تقريباًموافقم",
592
+ "تقريباًمخالفم",
593
+ "كاملاً‌مخالفم"
594
+ ]
595
+ },
596
+ "user_answered": "2"
597
+ },
598
+ {
599
+ "type": "text",
600
+ "text": "گاهي فكر مي‌كنم كه «آيا درست است كه انسان اين همه سختي و رنج را تحمل و لذت هاي دنيا را به خاطر آخرت رها كند؟»",
601
+ "answer": {
602
+ "type": "optional",
603
+ "options": [
604
+ "كاملاًموافقم",
605
+ "تقريباًموافقم",
606
+ "تقريباًمخالفم",
607
+ "كاملاً‌مخالفم"
608
+ ]
609
+ },
610
+ "user_answered": "1"
611
+ },
612
+ {
613
+ "type": "text",
614
+ "text": "عادت دارم که روز را هميشه با سپاس خداوند به پايان ببرم و با ياد او آغاز كنم.",
615
+ "answer": {
616
+ "type": "optional",
617
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
618
+ },
619
+ "user_answered": "1"
620
+ },
621
+ {
622
+ "type": "text",
623
+ "text": "همواره عمل كردن به كارهايي كه خودم به ديگران توصيه مي‌كنم، برايم مشكل است.",
624
+ "answer": {
625
+ "type": "optional",
626
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
627
+ },
628
+ "user_answered": "2"
629
+ },
630
+ {
631
+ "type": "text",
632
+ "text": "وقتي عصباني مي‌شوم، به سختي مي‌توانم خود را كنترل كنم.",
633
+ "answer": {
634
+ "type": "optional",
635
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
636
+ },
637
+ "user_answered": "3"
638
+ },
639
+ {
640
+ "type": "text",
641
+ "text": "سعي مي‌كنم خواسته‌هايم را مطابق آنچه خدا از من خواسته است، تنظيم كنم.",
642
+ "answer": {
643
+ "type": "optional",
644
+ "options": ["همیشه", "غالبا", "به ندرت", "هرگز"]
645
+ },
646
+ "user_answered": "2"
647
+ },
648
+ {
649
+ "type": "text",
650
+ "text": "همواره قول و تعهداتي مي‌دهم كه نمي‌توانم به آن‌ها عمل كنم.",
651
+ "answer": {
652
+ "type": "optional",
653
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
654
+ },
655
+ "user_answered": "3"
656
+ },
657
+ {
658
+ "type": "text",
659
+ "text": "بالاخره روزي از كساني كه بر من ستم كرده‌اند، انتقام خواهم گرفت.",
660
+ "answer": {
661
+ "type": "optional",
662
+ "options": [
663
+ "كاملاًموافقم",
664
+ "تقريباًموافقم",
665
+ "تقريباًمخالفم",
666
+ "كاملاً‌مخالفم"
667
+ ]
668
+ },
669
+ "user_answered": "3"
670
+ },
671
+ {
672
+ "type": "text",
673
+ "text": "از كساني كه سخن زشت بر زبان جاري مي‌كنند (فحش، دشنام) متنفرم.",
674
+ "answer": {
675
+ "type": "optional",
676
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
677
+ },
678
+ "user_answered": "1"
679
+ },
680
+ {
681
+ "type": "text",
682
+ "text": "كمتر اتفاق مي‌افتد كه به زندگي پس از مرگ فكر كنم.",
683
+ "answer": {
684
+ "type": "optional",
685
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
686
+ },
687
+ "user_answered": "4"
688
+ },
689
+ {
690
+ "type": "text",
691
+ "text": "گاهي اوقات به اين فكر مي‌كنم كه سختي‌هاي زندگي، نوعي امتحان الهي است.",
692
+ "answer": {
693
+ "type": "optional",
694
+ "options": ["كاملاًدرست", "تقريباًدرست", "تقريباًغلط", "كاملاً‌ غلط"]
695
+ },
696
+ "user_answered": "1"
697
+ }
698
+ ],
699
+ "prerequisites": [
700
+ {
701
+ "type": "text",
702
+ "label": "gender",
703
+ "text": "جنسیت",
704
+ "answer": {
705
+ "type": "select",
706
+ "options": ["زن", "مرد"]
707
+ },
708
+ "alias": "gender",
709
+ "force": true,
710
+ "user_answered": "2"
711
+ },
712
+ {
713
+ "type": "text",
714
+ "label": "age",
715
+ "text": "سن",
716
+ "answer": {
717
+ "type": "number"
718
+ },
719
+ "alias": "age",
720
+ "force": true,
721
+ "user_answered": "25"
722
+ },
723
+ {
724
+ "type": "text",
725
+ "label": "education",
726
+ "text": "تحصیلات",
727
+ "answer": {
728
+ "type": "select",
729
+ "options": [
730
+ "ابتدایی اول",
731
+ "ابتدایی دوم",
732
+ "متوسطه اول",
733
+ "متوسطه دوم",
734
+ "دیپلم",
735
+ "کارشناسی",
736
+ "کارشناسی ارشد",
737
+ "پزشکی عمومی",
738
+ "متخصص",
739
+ "دکتری تخصصی",
740
+ "حوزوی مقدمات",
741
+ "حوزوی سطح۱",
742
+ "حوزوی سطح۲",
743
+ "حوزوی سطح۳",
744
+ "حوزوی سطح۴"
745
+ ]
746
+ },
747
+ "alias": "education",
748
+ "force": true,
749
+ "user_answered": "14"
750
+ },
751
+ {
752
+ "type": "text",
753
+ "label": "marital_status",
754
+ "text": "وضعیت تأهل",
755
+ "answer": {
756
+ "type": "select",
757
+ "options": ["مجرد", "متأهل"]
758
+ },
759
+ "alias": "marital_status",
760
+ "force": true,
761
+ "user_answered": "1"
762
+ }
763
+ ],
764
+ "cornometer": 56,
765
+ "score": {
766
+ "clinical_total_raw": 40,
767
+ "clinical_total_percentage": 0.6667,
768
+ "clinical_adherence_raw": 19,
769
+ "clinical_adherence_percentage": 0.8636,
770
+ "clinical_ambivalence_raw": 12,
771
+ "clinical_ambivalence_percentage": 0.5714,
772
+ "clinical_disobedience_raw": 5,
773
+ "clinical_disobedience_percentage": 0.2941,
774
+ "research_total_raw": 109,
775
+ "research_total_percentage": 0.6056,
776
+ "research_adherence_raw": 46,
777
+ "research_adherence_percentage": 0.697,
778
+ "research_ambivalence_raw": 31,
779
+ "research_ambivalence_percentage": 0.4921,
780
+ "research_disobedience_raw": 20,
781
+ "research_disobedience_percentage": 0.3922
782
+ },
783
+ "score_current_version": "1.0.0",
784
+ "score_last_version": "1.0.0"
785
+ }
@@ -0,0 +1,105 @@
1
+ const gauge = require("../helpers/gauge");
2
+ const { Profile } = require("../Profile");
3
+ const colors = [
4
+ ["#4F46E5", "#A5B4FC", '#818CF8'],
5
+ ["#7C3AED", "#C4B5FD", '#A78BFA'],
6
+ ]
7
+ class JRAQ93 extends Profile {
8
+ // Number of pages
9
+ static pages = 1;
10
+
11
+ // Labels of the sample
12
+ labels = {
13
+ L1: { eng: "research_total_raw", fr: "نمره کل پژوهشی", max: 260 },
14
+ L1_P: { eng: "research_total_percentage"},
15
+
16
+ L2: { eng: "research_adherence_raw", fr: "پایبندی", max: 88 },
17
+ L2_P: { eng: "research_adherence_percentage"},
18
+
19
+ L3: { eng: "research_ambivalence_raw", fr: "دوسوگرایی", max: 84 },
20
+ L3_P: { eng: "research_ambivalence_percentage"},
21
+
22
+ L4: { eng: "research_disobedience_raw", fr: "ناپایبندی", max: 68 },
23
+ L4_P: { eng: "research_disobedience_percentage"},
24
+
25
+ L5: { eng: "clinical_total_raw", fr: "نمره کل بالینی", max: 60 },
26
+ L5_P: { eng: "clinical_total_percentage"},
27
+
28
+ L6: { eng: "clinical_adherence_raw", fr: "پایبندی", max: 22 },
29
+ L6_P: { eng: "clinical_adherence_percentage"},
30
+
31
+ L7: { eng: "clinical_ambivalence__raw", fr: "دوسوگرایی", max: 21 },
32
+ L7_P: { eng: "clinical_ambivalence__percentage"},
33
+
34
+ L8: { eng: "clinical_disobedience_raw", fr: "ناپایبندی", max: 17 },
35
+ L8_P: { eng: "clinical_disobedience_percentage"},
36
+ };
37
+
38
+ profileSpec = {
39
+ /* "sample" determines some important info about the sample and profile */
40
+ /* Default prerequisites: 1. gender, 2. age, 3. education */
41
+ /* "prerequisites" is synonym to "fields" in our program */
42
+ sample: {
43
+ name: "پرسشنامه پایبندی مذهبی" /* Name of the sample */,
44
+ multiProfile: false /* Whether the sample has multiple profiles or not */,
45
+ questions: false /* Determines whether to get questions from inital dataset or not */,
46
+ defaultFields: true /* Determines whether to have default prerequisites in the profile or not */,
47
+ fields: [] /* In case you want to get some additional fields and show in the profile */,
48
+ },
49
+ /* "profile" determines the dimensions of the drawn profile (to be used in svg tag viewbox) */
50
+ /* calculating its dimensions carefully is of great importance */
51
+ profile: {
52
+ get dimensions() {
53
+ return {
54
+ width: 776 + 2 * this.padding.x,
55
+ height: 654 + 2 * this.padding.y,
56
+ }
57
+ },
58
+ padding: {
59
+ x: 64,
60
+ y: 30,
61
+ },
62
+ },
63
+ labels: Object.values(this.labels)
64
+ };
65
+
66
+ constructor(dataset, options, config = {}) {
67
+ super();
68
+ this._init(dataset, options, config);
69
+ }
70
+
71
+ _calcContext() {
72
+ const {
73
+ spec: { parameters: spec },
74
+ dataset,
75
+ } = this;
76
+ const groups = []
77
+ for(let i = 0; i < 2; i++){
78
+ const index = i * 8
79
+ const group = {
80
+ total: {
81
+ ...dataset.score[index],
82
+ mark: dataset.score[index].mark ?? 0,
83
+ percentage: dataset.score[index + 1].mark ?? 0,
84
+ percentageText: Math.round((dataset.score[index + 1].mark ?? 0) * 100),
85
+ },
86
+ circle : gauge(dataset.score[index], -90, 180),
87
+ items: [],
88
+ colors: [...colors[i], `url(#h-${i})`, `url(#c-${i})`]
89
+ }
90
+ for(let j = 0; j < 6; j+= 2){
91
+ const itemIndex = index + j + 2
92
+ group.items.push({
93
+ ...dataset.score[itemIndex],
94
+ mark: dataset.score[itemIndex].mark ?? 0,
95
+ percentage: dataset.score[itemIndex + 1].mark ?? 0,
96
+ percentageText: Math.round((dataset.score[itemIndex + 1].mark ?? 0) * 100),
97
+ })
98
+ }
99
+ groups.push(group)
100
+ }
101
+ return [{ groups, colors }];
102
+ }
103
+ }
104
+
105
+ module.exports = JRAQ93;
@@ -0,0 +1,142 @@
1
+ {{#> layout}}
2
+ <defs>
3
+ <filter id="row" x="0" y="0" width="300.002" height="7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
4
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
5
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
6
+ <feOffset dy="-1"/>
7
+ <feGaussianBlur stdDeviation="1.5"/>
8
+ <feComposite in2="hardAlpha" operator="out"/>
9
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
10
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4762_129675"/>
11
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_4762_129675" result="shape"/>
12
+ </filter>
13
+ <clipPath id="bg-h">
14
+ {{bar 28 300 (object tr=4 tl=4 br=0 bl=0) (toRad 0) fill='#F8FAFC'}}
15
+ </clipPath>
16
+ <clipPath id="gu">
17
+ {{gauge 70 (math 70 '*' 0.7) (object tl=6 tr=6 bl=6 br=6) (object start=groups.[0].circle.circle.angles.start end=groups.[0].circle.circle.angles.end) direction fill='#F1F5F9'}}
18
+ </clipPath>
19
+ {{#each colors as |color index|}}
20
+ <linearGradient id="h-{{index}}" x1="0%" y1="0%" x2="0%" y2="100%">
21
+ <stop offset="0" stop-color="{{color.[0]}}"/>
22
+ <stop offset="1" stop-color="{{color.[1]}}" />
23
+ </linearGradient>
24
+ <linearGradient id="c-{{index}}" x1="140" y1="0" x2="0" y2="140" gradientUnits="userSpaceOnUse">
25
+ <stop stop-color="{{color.[2]}}"/>
26
+ <stop offset="0.5" stop-color="{{color.[0]}}"/>
27
+ <stop offset="1" stop-color="{{color.[0]}}"/>
28
+ </linearGradient>
29
+ {{/each}}
30
+ </defs>
31
+ <g transform="translate({{spec.profile.padding.x}}, {{spec.profile.padding.y}})">
32
+ <text x="0" y="31" font-size="12" font-weight="400" text-anchor="end" dy=".85em" fill="#94A3B8">نمره خام</text>
33
+ <path d="M 45.5 39 l 7 0 m 0 0 l -3 -3 m 3 3 l -3 3" stroke="#94A3B8" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
34
+ {{#with groups.[0]}}
35
+ <g transform="translate(0, 0)">
36
+ <g transform="translate(29, 31)">
37
+ <g transform="translate(77, 27)">
38
+ {{#each items as |factor fi|}}
39
+ <g transform="translate({{math 76 '*' fi}}, 0)">
40
+ <text x="14" y="-19" text-anchor="middle" dy=".3em" fill="#64748B" direction="ltr">
41
+ <tspan fill="#4F46E5" font-size="16" font-weight="700">
42
+ {{mark}}
43
+ </tspan>
44
+ <tspan font-size="12" font-weight="300">/</tspan>
45
+ <tspan font-size="13" font-weight="400">{{label.max}}</tspan>
46
+ </text>
47
+ <text x="14" y="321" font-size="14" font-weight="400" text-anchor="middle" dy=".3em" fill="#334155">{{label.fr}}</text>
48
+ {{bar 28 300 (object tr=4 tl=4 br=0 bl=0) (toRad 0) fill='#F8FAFC'}}
49
+ </g>
50
+ {{/each}}
51
+ </g>
52
+ <g transform="translate(0, 27)">
53
+ <line x1="40" y1="1" x2="294" y2="1" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
54
+ <text x="0" font-size="12" font-weight="400" text-anchor="end" dy=".85em" fill="#94A3B8">۱۰۰ ٪</text>
55
+ <line x1="40" y1="76" x2="294" y2="76" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
56
+ <line x1="40" y1="151" x2="294" y2="151" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
57
+ <text x="0" y="150" font-size="12" font-weight="400" text-anchor="end" dy=".3em" fill="#94A3B8">۵۰ ٪</text>
58
+ <line x1="40" y1="226" x2="294" y2="226" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
59
+ </g>
60
+ <g transform="translate(77, 27)">
61
+ {{#each items as |factor fi|}}
62
+ <g transform="translate({{math 76 '*' fi}}, {{math 300 '-' (math factor.percentage '*' 300)}})">
63
+ {{bar 28 (math factor.percentage '*' 300) (object tr=4 tl=4 br=0 bl=0) (toRad 0) fill=../colors.[3] clip-path="url(#bg-h)"}}
64
+ <text y="14" x="{{ternary (boolean factor.percentageText '<=' 24) '8' '-8'}}" font-size="16" font-weight="600" text-anchor="{{ternary (boolean factor.percentageText '<=' 24) 'end' 'start'}}" dy=".3em" fill="{{ternary (boolean factor.percentageText '<=' 24) ../colors.[0] '#FFFFFF'}}" transform="translate(0,0) rotate(-90 0 0)" >{{percentageText}} ٪</text>
65
+ </g>
66
+ {{/each}}
67
+ </g>
68
+ </g>
69
+ <g opacity="0.5" filter="url(#row)" transform="translate(26,354)">
70
+ <line x1="3.5" y1="4.5" x2="296.502" y2="4.5" stroke="white" stroke-linecap="round"/>
71
+ </g>
72
+ <g transform="translate(125.5, 444)">
73
+ <g transform="translate(70, 70)">
74
+ {{gauge 70 (math 70 '*' 0.7) (object tl=6 tr=6 bl=6 br=6) (object start=circle.circle.angles.start end=circle.circle.angles.end) direction fill='#F1F5F9'}}
75
+ {{gauge 70 (math 70 '*' 0.7) (object tl=6 tr=0 bl=6 br=0) (object start=circle.circle.angles.start end=circle.zeta) direction fill=colors.[4] clip-path='url(#gu)'}}
76
+ <text x="0" y="-21" font-size="24" font-weight="600" text-anchor="middle" dy=".85em" fill="{{colors.[0]}}">{{total.percentageText}} ٪</text>
77
+ <text x="0" y="11" font-size="15" font-weight="500" text-anchor="middle" dy=".85em" fill="#64748B">{{total.mark}} از {{total.label.max}}</text>
78
+ <text x="-11" y="-59.5" font-size="14" font-weight="500" text-anchor="middle" dy=".3em" fill="#64748B">0</text>
79
+ <text x="-59.5" y="-12.5" font-size="14" font-weight="500" text-anchor="middle" dy=".3em" fill="#64748B">100 ٪</text>
80
+ </g>
81
+ <text x="70" y="167.5" font-size="16" font-weight="500" text-anchor="middle" dy=".3em" fill="#475569">{{total.label.fr}}</text>
82
+ </g>
83
+ </g>
84
+ {{/with}}
85
+
86
+ <text x="776" y="31" font-size="12" font-weight="400" text-anchor="start" dy=".85em" fill="#94A3B8">نمره خام</text>
87
+ <path d="M 730.5 39 l -7 0 m 0 0 l 3 3 m -3 -3 l 3 -3" stroke="#94A3B8" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
88
+ {{#with groups.[1]}}
89
+ <g transform="translate(388, 0)">
90
+ <g transform="translate(29, 31)">
91
+ <g transform="translate(73, 27)">
92
+ {{#each items as |factor fi|}}
93
+ <g transform="translate({{math 76 '*' fi}}, 0)">
94
+ <text x="14" y="-19" text-anchor="middle" dy=".3em" fill="#64748B" direction="ltr">
95
+ <tspan fill="#4F46E5" font-size="16" font-weight="700">
96
+ {{mark}}
97
+ </tspan>
98
+ <tspan font-size="12" font-weight="300">/</tspan>
99
+ <tspan font-size="13" font-weight="400">{{label.max}}</tspan>
100
+ </text>
101
+ <text x="14" y="321" font-size="14" font-weight="400" text-anchor="middle" dy=".3em" fill="#334155">{{label.fr}}</text>
102
+ {{bar 28 300 (object tr=4 tl=4 br=0 bl=0) (toRad 0) fill='#F8FAFC'}}
103
+ </g>
104
+ {{/each}}
105
+ </g>
106
+ <g transform="translate(-4, 27)">
107
+ <line x1="40" y1="1" x2="294" y2="1" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
108
+ <text x="333" font-size="12" font-weight="400" text-anchor="start" dy=".85em" fill="#94A3B8">۱۰۰ ٪</text>
109
+ <line x1="40" y1="76" x2="294" y2="76" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
110
+ <line x1="40" y1="151" x2="294" y2="151" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
111
+ <text x="333" y="150" font-size="12" font-weight="400" text-anchor="start" dy=".3em" fill="#94A3B8">۵۰ ٪</text>
112
+ <line x1="40" y1="226" x2="294" y2="226" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
113
+ </g>
114
+ <g transform="translate(73, 27)">
115
+ {{#each items as |factor fi|}}
116
+ <g transform="translate({{math 76 '*' fi}}, {{math 300 '-' (math factor.percentage '*' 300)}})">
117
+ {{bar 28 (math factor.percentage '*' 300) (object tr=4 tl=4 br=0 bl=0) (toRad 0) fill=../colors.[3] clip-path="url(#bg-h)"}}
118
+ <text y="14" x="{{ternary (boolean factor.percentageText '<=' 24) '8' '-8'}}" font-size="16" font-weight="600" text-anchor="{{ternary (boolean factor.percentageText '<=' 24) 'end' 'start'}}" dy=".3em" fill="{{ternary (boolean factor.percentageText '<=' 24) ../colors.[0] '#FFFFFF'}}" transform="translate(0,0) rotate(-90 0 0)" >{{percentageText}} ٪</text>
119
+ </g>
120
+ {{/each}}
121
+ </g>
122
+ </g>
123
+ <g opacity="0.5" filter="url(#row)" transform="translate(62,354)">
124
+ <line x1="3.5" y1="4.5" x2="296.502" y2="4.5" stroke="white" stroke-linecap="round"/>
125
+ </g>
126
+ <g transform="translate(125.5, 444)">
127
+ <g transform="translate(70, 70)">
128
+ {{gauge 70 (math 70 '*' 0.7) (object tl=6 tr=6 bl=6 br=6) (object start=circle.circle.angles.start end=circle.circle.angles.end) direction fill='#F1F5F9'}}
129
+ {{gauge 70 (math 70 '*' 0.7) (object tl=6 tr=0 bl=6 br=0) (object start=circle.circle.angles.start end=circle.zeta) direction fill=colors.[4] clip-path='url(#gu)'}}
130
+ <text x="0" y="-21" font-size="24" font-weight="600" text-anchor="middle" dy=".85em" fill="{{colors.[0]}}">{{total.percentageText}} ٪</text>
131
+ <text x="0" y="11" font-size="15" font-weight="500" text-anchor="middle" dy=".85em" fill="#64748B">{{total.mark}} از {{total.label.max}}</text>
132
+ <text x="-11" y="-59.5" font-size="14" font-weight="500" text-anchor="middle" dy=".3em" fill="#64748B">0</text>
133
+ <text x="-59.5" y="-12.5" font-size="14" font-weight="500" text-anchor="middle" dy=".3em" fill="#64748B">100 ٪</text>
134
+ </g>
135
+ <text x="70" y="167.5" font-size="16" font-weight="500" text-anchor="middle" dy=".3em" fill="#475569">{{total.label.fr}}</text>
136
+ </g>
137
+ </g>
138
+ {{/with}}
139
+
140
+ <rect x="387" width="1" height="654" rx="0.5" fill="#E2E8F0"/>
141
+ </g>
142
+ {{/layout}}