fcad-core-dragon 2.0.0-beta.3 → 2.0.0-beta.4

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.
Files changed (95) hide show
  1. package/.editorconfig +33 -33
  2. package/.eslintignore +29 -29
  3. package/.eslintrc.cjs +81 -81
  4. package/CHANGELOG +373 -364
  5. package/README.md +71 -71
  6. package/bk.scss +117 -117
  7. package/package.json +61 -61
  8. package/src/$locales/en.json +143 -143
  9. package/src/$locales/fr.json +105 -105
  10. package/src/assets/data/onboardingMessages.json +47 -47
  11. package/src/components/AppBase.vue +1147 -1054
  12. package/src/components/AppBaseButton.vue +87 -87
  13. package/src/components/AppBaseErrorDisplay.vue +438 -438
  14. package/src/components/AppBaseFlipCard.vue +84 -84
  15. package/src/components/AppBaseModule.vue +1636 -1673
  16. package/src/components/AppBasePage.vue +779 -779
  17. package/src/components/AppBasePopover.vue +41 -41
  18. package/src/components/AppCompAudio.vue +234 -234
  19. package/src/components/AppCompBranchButtons.vue +552 -552
  20. package/src/components/AppCompButtonProgress.vue +126 -126
  21. package/src/components/AppCompCarousel.vue +298 -298
  22. package/src/components/AppCompInputCheckBoxNext.vue +195 -195
  23. package/src/components/AppCompInputDropdownNext.vue +159 -159
  24. package/src/components/AppCompInputRadioNext.vue +152 -152
  25. package/src/components/AppCompInputTextNext.vue +106 -106
  26. package/src/components/AppCompInputTextTableNext.vue +141 -141
  27. package/src/components/AppCompInputTextToFillDropdownNext.vue +230 -230
  28. package/src/components/AppCompInputTextToFillNext.vue +171 -171
  29. package/src/components/AppCompJauge.vue +74 -74
  30. package/src/components/AppCompMenu.vue +423 -413
  31. package/src/components/AppCompMenuItem.vue +228 -228
  32. package/src/components/AppCompNavigation.vue +959 -960
  33. package/src/components/AppCompNoteCall.vue +133 -133
  34. package/src/components/AppCompNoteCredit.vue +292 -292
  35. package/src/components/AppCompPlayBar.vue +1218 -1218
  36. package/src/components/AppCompPlayBarNext.vue +2052 -2052
  37. package/src/components/AppCompPlayBarProgress.vue +82 -82
  38. package/src/components/AppCompPopUpNext.vue +503 -503
  39. package/src/components/AppCompQuizNext.vue +2904 -2904
  40. package/src/components/AppCompQuizRecall.vue +276 -276
  41. package/src/components/AppCompSVGNext.vue +347 -347
  42. package/src/components/AppCompSettingsMenu.vue +172 -172
  43. package/src/components/AppCompTableOfContent.vue +387 -387
  44. package/src/components/AppCompTranscript.vue +24 -24
  45. package/src/components/AppCompVideoPlayer.vue +368 -368
  46. package/src/components/AppCompViewDisplay.vue +6 -6
  47. package/src/components/BaseModule.vue +72 -72
  48. package/src/composables/useQuiz.js +206 -206
  49. package/src/externalComps/ModuleView.vue +22 -22
  50. package/src/externalComps/SummaryView.vue +91 -91
  51. package/src/main.js +272 -272
  52. package/src/mixins/$mediaMixins.js +819 -819
  53. package/src/mixins/timerMixin.js +155 -155
  54. package/src/module/stores/appStore.js +901 -893
  55. package/src/module/xapi/ADL.js +380 -376
  56. package/src/module/xapi/Crypto/Hasher.js +241 -241
  57. package/src/module/xapi/Crypto/WordArray.js +278 -278
  58. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  59. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  60. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  61. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  62. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  63. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  64. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  65. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  66. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  67. package/src/module/xapi/Crypto/index.js +53 -53
  68. package/src/module/xapi/Statement/activity.js +47 -47
  69. package/src/module/xapi/Statement/agent.js +55 -55
  70. package/src/module/xapi/Statement/group.js +26 -26
  71. package/src/module/xapi/Statement/index.js +259 -259
  72. package/src/module/xapi/Statement/statement.js +253 -253
  73. package/src/module/xapi/Statement/statementRef.js +23 -23
  74. package/src/module/xapi/Statement/substatement.js +22 -22
  75. package/src/module/xapi/Statement/verb.js +36 -36
  76. package/src/module/xapi/activitytypes.js +17 -17
  77. package/src/module/xapi/launch.js +157 -157
  78. package/src/module/xapi/utils.js +167 -167
  79. package/src/module/xapi/verbs.js +294 -294
  80. package/src/module/xapi/wrapper.js +1963 -1963
  81. package/src/module/xapi/xapiStatement.js +444 -444
  82. package/src/plugins/bus.js +8 -8
  83. package/src/plugins/gsap.js +14 -14
  84. package/src/plugins/helper.js +314 -308
  85. package/src/plugins/i18n.js +44 -44
  86. package/src/plugins/idb.js +227 -219
  87. package/src/plugins/save.js +37 -37
  88. package/src/plugins/scorm.js +287 -287
  89. package/src/plugins/xapi.js +11 -11
  90. package/src/public/index.html +33 -33
  91. package/src/router/index.js +43 -43
  92. package/src/router/routes.js +312 -312
  93. package/src/shared/generalfuncs.js +210 -210
  94. package/src/shared/validators.js +1069 -1069
  95. package/vite.config.js +0 -27
@@ -1,438 +1,438 @@
1
- <!--
2
- @ Description: This component is used to display error message in the application
3
-
4
- -->
5
-
6
- <template>
7
- <div>
8
- <!------------------------ ERRORS APPLICATION ------------------->
9
- <div v-if="errorGroup === 'application'" class="fd_Error-type">
10
- <div class="box-error">
11
- <!--------------------------- Module --------------------->
12
- <template v-if="errorType === 'errorModule'">
13
- <div class="red-box">
14
- <div class="box">
15
- <h2>
16
- Cette page est affichée parce que le fichier ModuleView n'existe
17
- pas où est mal configuré
18
- </h2>
19
-
20
- <p>Pour la vue du Module</p>
21
- <ol type="number">
22
- <li>
23
- Créez un fichier
24
- <i>.vue</i>
25
- avec pour nom
26
- <strong>ModuleView.vue</strong>
27
- dans le dossier
28
- <strong>views</strong>
29
- </li>
30
-
31
- <li>
32
- Referez-vous wnauirw à la documentation pour la création et la
33
- configuration de la vue du Module
34
- </li>
35
- </ol>
36
- </div>
37
- </div>
38
- <div class="box">
39
- <p class="doc">
40
- Visitez
41
- <a :href="docLink" target="blank">la documentation</a>
42
- pour plus de details ...
43
- </p>
44
- </div>
45
- </template>
46
- <!---------------------------- Menu ---------------------->
47
- <template v-if="errorType === 'errorMenu'">
48
- <div class="red-box">
49
- <div class="box">
50
- <h2>
51
- Cette page est affichée parce que le fichier SummaryView
52
- n'existe pas où est mal configuré
53
- </h2>
54
-
55
- <p>Pour la vue du Sommaire (page de MENU)</p>
56
- <ol type="number">
57
- <li>
58
- Créez un fichier
59
- <i>.vue</i>
60
- avec pour nom
61
- <strong>SummaryView.vue</strong>
62
- dans le dossier
63
- <strong>views</strong>
64
- </li>
65
- <li>
66
- Referez-vous ensuite à la documentation pour la création et la
67
- configuration de la vue du sommaire
68
- </li>
69
- </ol>
70
- </div>
71
- </div>
72
- <div class="box">
73
- <p class="doc">
74
- Visitez
75
- <a :href="docLink" target="blank">la documentation</a>
76
- pour plus de details ...
77
- </p>
78
- </div>
79
- </template>
80
- <!---------------------------- Page ---------------------->
81
- <template v-if="errorType === 'errorPage'">
82
- <div class="red-box">
83
- <div class="box">
84
- <h2>
85
- Cette page est affichée parce que vous n'avez pas encore de page
86
- d'activité pour votre module.
87
- </h2>
88
-
89
- <p>Pour créer une page</p>
90
- <ol type="number">
91
- <li>
92
- Ajoutez un dossier pour votre activité avec un nom de type
93
- <strong>Axx</strong>
94
- dans le dossier
95
- <strong>module</strong>
96
- <i>( exemple A00 )</i>
97
- </li>
98
- <li>
99
- Ajoutez un fichier pour votre page avec un nom de type
100
- <strong>Pxx.vue</strong>
101
- dans le dossier
102
- <strong>Axx</strong>
103
- <i>( exemple P01.vue )</i>
104
- </li>
105
- <li>
106
- Definissez le
107
- <strong>$data</strong>
108
- de la page
109
- </li>
110
- </ol>
111
- </div>
112
- </div>
113
- <div class="box">
114
- <p class="doc">
115
- Visitez
116
- <a :href="docLink" target="blank">la documentation</a>
117
- pour plus de details ...
118
- </p>
119
- </div>
120
- </template>
121
- <!----------------------- Branching ---------------------->
122
- <template v-if="errorType === 'errorMenuBranching'">
123
- <div class="red-box">
124
- <div class="box">
125
- <h2>Erreur d'embranchement.</h2>
126
-
127
- <p>
128
- Vous ne pouvez pas avoir de pages d'embranchement(s) dans le
129
- dossier A00
130
- </p>
131
- </div>
132
- </div>
133
- <div class="box">
134
- <p class="doc">
135
- Visitez
136
- <a
137
- :href="`https://fcaddocumentation.netlify.app/guide/structure.html#pages-d-embranchements-dans-un-dossier`"
138
- target="blank"
139
- >
140
- la documentation
141
- </a>
142
- pour plus de details ...
143
- </p>
144
- </div>
145
- </template>
146
- <!------------------------- 404 -------------------------->
147
- <template v-if="errorType === '404'">
148
- <div class="red-box">
149
- <div class="box">
150
- <h2>404 OOPSSS!</h2>
151
- <p>Il semble que la page que vous cherchez n'existe pas.</p>
152
- </div>
153
- </div>
154
- <div class="box">
155
- <p class="doc">
156
- Retrourner à la
157
- <router-link :to="{ name: 'menu' }">page d'accueil</router-link>
158
- </p>
159
- </div>
160
- </template>
161
- </div>
162
- </div>
163
- <!------------------- END ERRORS COMPONENTS -------------------->
164
- <v-row v-if="errorGroup === 'component'" class="warning-error">
165
- <v-col class="box-error">
166
- <div class="yellow-box">
167
- <h2>
168
- {{ errorTitle || 'Attention erreur dans le composant' }}
169
- </h2>
170
- <p>{{ errorText }}</p>
171
- <br />
172
- <p>Veuillez corriger:</p>
173
- <template
174
- v-if="
175
- errorsList.constructor == Array ||
176
- errorsList.constructor == Object
177
- "
178
- >
179
- <ul>
180
- <li
181
- v-for="err in errorsList"
182
- :key="`error_type_${err}`"
183
- v-html="err"
184
- ></li>
185
- </ul>
186
- </template>
187
- <template v-if="errorsList.constructor == String">
188
- <ul>
189
- <li v-html="errorsList"></li>
190
- </ul>
191
- </template>
192
- </div>
193
- <div class="box">
194
- <p class="doc">
195
- Visitez
196
- <a href="https://fcaddocumentation.netlify.app/" target="blank">
197
- la documentation
198
- </a>
199
- pour plus de details
200
- </p>
201
- </div>
202
- </v-col>
203
- </v-row>
204
-
205
- <!---------------------- END ERRORS COMPONENTS ------------------->
206
- </div>
207
- </template>
208
-
209
- <script>
210
- export default {
211
- name: 'AppBaseErrorDisplay',
212
- props: {
213
- errorGroup: { type: String, default: 'application' }, //group can be: application or component
214
- errorType: { type: String, note: 'Error Message', default: '' },
215
- errorTitle: {
216
- type: String,
217
- note: 'Title to display for the error',
218
- default: ''
219
- },
220
- errorText: {
221
- type: String,
222
- note: 'text to display for the error',
223
- default:
224
- 'Vous avez une/des erreure(s) qui empêche(ent) le bon rendu du composant'
225
- },
226
- errorsList: { type: Array, default: () => [] },
227
- docLink: {
228
- type: String,
229
- default: 'https://fcaddocumentation.netlify.com/guide/proceduries.html',
230
- note: 'Documentation link'
231
- }
232
- }
233
- }
234
- </script>
235
-
236
- <style lang="scss">
237
- //**** DO NOT TOUCHE ****/
238
- //**** ERROR ****/
239
- .fd_Error-type {
240
- display: flex;
241
- flex-direction: row;
242
- flex-wrap: wrap;
243
- justify-content: center;
244
- margin-top: 20%;
245
- padding-bottom: 30px;
246
- background-color: white;
247
- -webkit-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
248
- -moz-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
249
- box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
250
-
251
- .box-error {
252
- width: 100%;
253
-
254
- .red-box {
255
- background: #cd5356;
256
- padding-top: 50px;
257
- padding-bottom: 20px;
258
- }
259
-
260
- .box {
261
- width: 60%;
262
- margin: 0 auto;
263
- }
264
-
265
- h2 {
266
- display: inline-block;
267
- color: white;
268
- margin-left: 10%;
269
- padding-bottom: 20px;
270
- border-bottom: 0.5px solid white;
271
- }
272
-
273
- p {
274
- color: white;
275
- margin-left: 10%;
276
- font-size: 1.5rem;
277
-
278
- &.doc {
279
- padding-top: 20px;
280
- color: #404040;
281
- }
282
- }
283
-
284
- ol {
285
- color: #fff;
286
- margin-left: 10%;
287
- font-size: 1.3rem;
288
- }
289
-
290
- a {
291
- color: #cd5357;
292
-
293
- &:hover {
294
- color: #404040;
295
- }
296
- }
297
- }
298
- }
299
-
300
- //**** WARNING ****/
301
- .warning {
302
- background: #f5d41b;
303
- padding: 20px 15px;
304
-
305
- .title {
306
- font-weight: 900;
307
- font-size: 1.25rem;
308
- text-transform: uppercase;
309
- color: #292929;
310
- padding-bottom: 20px;
311
- border-bottom: 0.5px solid #292929;
312
-
313
- .iL {
314
- margin-right: 15px;
315
- }
316
-
317
- .iR {
318
- margin-left: 10px;
319
- }
320
- }
321
-
322
- .info {
323
- font-size: 1.04rem;
324
- color: #292929;
325
- font-weight: 500;
326
- }
327
- }
328
-
329
- .warning-error {
330
- display: flex;
331
- flex-direction: row;
332
- flex-wrap: wrap;
333
- justify-content: center;
334
- margin-top: 10%;
335
- padding-bottom: 30px;
336
- background-color: white;
337
- -webkit-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
338
- -moz-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
339
- box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
340
-
341
- .box-error {
342
- width: 100%;
343
- padding-left: 0;
344
- padding-right: 0;
345
-
346
- .yellow-box {
347
- background: #f5d41b;
348
- padding-top: 50px;
349
- padding-bottom: 20px;
350
- padding-right: 10%;
351
- padding-left: 10%;
352
-
353
- h2 {
354
- width: 100%;
355
- display: inline-block;
356
- color: #292929;
357
- padding-bottom: 20px;
358
- border-bottom: 0.5px solid #292929;
359
- }
360
-
361
- p {
362
- color: #292929;
363
- font-size: 1.3rem;
364
-
365
- &.doc {
366
- padding-top: 20px;
367
- color: #404040;
368
- }
369
- }
370
-
371
- ul {
372
- color: #292929;
373
- margin-left: 5%;
374
- font-size: 1.3rem;
375
- }
376
- }
377
-
378
- .box {
379
- padding-right: 10%;
380
- padding-left: 10%;
381
-
382
- .doc {
383
- color: #292929;
384
- font-size: 1.3rem;
385
- padding-top: 25px;
386
-
387
- a {
388
- color: #f5bc00;
389
-
390
- &:hover {
391
- color: #f5ac01;
392
- }
393
- }
394
- }
395
- }
396
- }
397
- }
398
-
399
- .pop-error {
400
- //display: block!important;
401
- position: fixed;
402
- top: 0;
403
- left: 0;
404
- width: 100%;
405
- height: 100%;
406
-
407
- .fd_Error-type {
408
- width: 100%;
409
- padding-bottom: 30px;
410
- background-color: white;
411
- -webkit-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
412
- -moz-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
413
- box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
414
-
415
- .box-error {
416
- width: 100%;
417
-
418
- h2 {
419
- font-weight: 500;
420
- width: 100%;
421
-
422
- svg {
423
- margin-right: 20px;
424
- }
425
- }
426
-
427
- ul {
428
- color: #fff;
429
- margin-left: 12%;
430
-
431
- &.doc {
432
- color: #292929;
433
- }
434
- }
435
- }
436
- }
437
- }
438
- </style>
1
+ <!--
2
+ @ Description: This component is used to display error message in the application
3
+
4
+ -->
5
+
6
+ <template>
7
+ <div>
8
+ <!------------------------ ERRORS APPLICATION ------------------->
9
+ <div v-if="errorGroup === 'application'" class="fd_Error-type">
10
+ <div class="box-error">
11
+ <!--------------------------- Module --------------------->
12
+ <template v-if="errorType === 'errorModule'">
13
+ <div class="red-box">
14
+ <div class="box">
15
+ <h2>
16
+ Cette page est affichée parce que le fichier ModuleView n'existe
17
+ pas où est mal configuré
18
+ </h2>
19
+
20
+ <p>Pour la vue du Module</p>
21
+ <ol type="number">
22
+ <li>
23
+ Créez un fichier
24
+ <i>.vue</i>
25
+ avec pour nom
26
+ <strong>ModuleView.vue</strong>
27
+ dans le dossier
28
+ <strong>views</strong>
29
+ </li>
30
+
31
+ <li>
32
+ Referez-vous wnauirw à la documentation pour la création et la
33
+ configuration de la vue du Module
34
+ </li>
35
+ </ol>
36
+ </div>
37
+ </div>
38
+ <div class="box">
39
+ <p class="doc">
40
+ Visitez
41
+ <a :href="docLink" target="blank">la documentation</a>
42
+ pour plus de details ...
43
+ </p>
44
+ </div>
45
+ </template>
46
+ <!---------------------------- Menu ---------------------->
47
+ <template v-if="errorType === 'errorMenu'">
48
+ <div class="red-box">
49
+ <div class="box">
50
+ <h2>
51
+ Cette page est affichée parce que le fichier SummaryView
52
+ n'existe pas où est mal configuré
53
+ </h2>
54
+
55
+ <p>Pour la vue du Sommaire (page de MENU)</p>
56
+ <ol type="number">
57
+ <li>
58
+ Créez un fichier
59
+ <i>.vue</i>
60
+ avec pour nom
61
+ <strong>SummaryView.vue</strong>
62
+ dans le dossier
63
+ <strong>views</strong>
64
+ </li>
65
+ <li>
66
+ Referez-vous ensuite à la documentation pour la création et la
67
+ configuration de la vue du sommaire
68
+ </li>
69
+ </ol>
70
+ </div>
71
+ </div>
72
+ <div class="box">
73
+ <p class="doc">
74
+ Visitez
75
+ <a :href="docLink" target="blank">la documentation</a>
76
+ pour plus de details ...
77
+ </p>
78
+ </div>
79
+ </template>
80
+ <!---------------------------- Page ---------------------->
81
+ <template v-if="errorType === 'errorPage'">
82
+ <div class="red-box">
83
+ <div class="box">
84
+ <h2>
85
+ Cette page est affichée parce que vous n'avez pas encore de page
86
+ d'activité pour votre module.
87
+ </h2>
88
+
89
+ <p>Pour créer une page</p>
90
+ <ol type="number">
91
+ <li>
92
+ Ajoutez un dossier pour votre activité avec un nom de type
93
+ <strong>Axx</strong>
94
+ dans le dossier
95
+ <strong>module</strong>
96
+ <i>( exemple A00 )</i>
97
+ </li>
98
+ <li>
99
+ Ajoutez un fichier pour votre page avec un nom de type
100
+ <strong>Pxx.vue</strong>
101
+ dans le dossier
102
+ <strong>Axx</strong>
103
+ <i>( exemple P01.vue )</i>
104
+ </li>
105
+ <li>
106
+ Definissez le
107
+ <strong>$data</strong>
108
+ de la page
109
+ </li>
110
+ </ol>
111
+ </div>
112
+ </div>
113
+ <div class="box">
114
+ <p class="doc">
115
+ Visitez
116
+ <a :href="docLink" target="blank">la documentation</a>
117
+ pour plus de details ...
118
+ </p>
119
+ </div>
120
+ </template>
121
+ <!----------------------- Branching ---------------------->
122
+ <template v-if="errorType === 'errorMenuBranching'">
123
+ <div class="red-box">
124
+ <div class="box">
125
+ <h2>Erreur d'embranchement.</h2>
126
+
127
+ <p>
128
+ Vous ne pouvez pas avoir de pages d'embranchement(s) dans le
129
+ dossier A00
130
+ </p>
131
+ </div>
132
+ </div>
133
+ <div class="box">
134
+ <p class="doc">
135
+ Visitez
136
+ <a
137
+ :href="`https://fcaddocumentation.netlify.app/guide/structure.html#pages-d-embranchements-dans-un-dossier`"
138
+ target="blank"
139
+ >
140
+ la documentation
141
+ </a>
142
+ pour plus de details ...
143
+ </p>
144
+ </div>
145
+ </template>
146
+ <!------------------------- 404 -------------------------->
147
+ <template v-if="errorType === '404'">
148
+ <div class="red-box">
149
+ <div class="box">
150
+ <h2>404 OOPSSS!</h2>
151
+ <p>Il semble que la page que vous cherchez n'existe pas.</p>
152
+ </div>
153
+ </div>
154
+ <div class="box">
155
+ <p class="doc">
156
+ Retrourner à la
157
+ <router-link :to="{ name: 'menu' }">page d'accueil</router-link>
158
+ </p>
159
+ </div>
160
+ </template>
161
+ </div>
162
+ </div>
163
+ <!------------------- END ERRORS COMPONENTS -------------------->
164
+ <v-row v-if="errorGroup === 'component'" class="warning-error">
165
+ <v-col class="box-error">
166
+ <div class="yellow-box">
167
+ <h2>
168
+ {{ errorTitle || 'Attention erreur dans le composant' }}
169
+ </h2>
170
+ <p>{{ errorText }}</p>
171
+ <br />
172
+ <p>Veuillez corriger:</p>
173
+ <template
174
+ v-if="
175
+ errorsList.constructor == Array ||
176
+ errorsList.constructor == Object
177
+ "
178
+ >
179
+ <ul>
180
+ <li
181
+ v-for="err in errorsList"
182
+ :key="`error_type_${err}`"
183
+ v-html="err"
184
+ ></li>
185
+ </ul>
186
+ </template>
187
+ <template v-if="errorsList.constructor == String">
188
+ <ul>
189
+ <li v-html="errorsList"></li>
190
+ </ul>
191
+ </template>
192
+ </div>
193
+ <div class="box">
194
+ <p class="doc">
195
+ Visitez
196
+ <a href="https://fcaddocumentation.netlify.app/" target="blank">
197
+ la documentation
198
+ </a>
199
+ pour plus de details
200
+ </p>
201
+ </div>
202
+ </v-col>
203
+ </v-row>
204
+
205
+ <!---------------------- END ERRORS COMPONENTS ------------------->
206
+ </div>
207
+ </template>
208
+
209
+ <script>
210
+ export default {
211
+ name: 'AppBaseErrorDisplay',
212
+ props: {
213
+ errorGroup: { type: String, default: 'application' }, //group can be: application or component
214
+ errorType: { type: String, note: 'Error Message', default: '' },
215
+ errorTitle: {
216
+ type: String,
217
+ note: 'Title to display for the error',
218
+ default: ''
219
+ },
220
+ errorText: {
221
+ type: String,
222
+ note: 'text to display for the error',
223
+ default:
224
+ 'Vous avez une/des erreure(s) qui empêche(ent) le bon rendu du composant'
225
+ },
226
+ errorsList: { type: Array, default: () => [] },
227
+ docLink: {
228
+ type: String,
229
+ default: 'https://fcaddocumentation.netlify.com/guide/proceduries.html',
230
+ note: 'Documentation link'
231
+ }
232
+ }
233
+ }
234
+ </script>
235
+
236
+ <style lang="scss">
237
+ //**** DO NOT TOUCHE ****/
238
+ //**** ERROR ****/
239
+ .fd_Error-type {
240
+ display: flex;
241
+ flex-direction: row;
242
+ flex-wrap: wrap;
243
+ justify-content: center;
244
+ margin-top: 20%;
245
+ padding-bottom: 30px;
246
+ background-color: white;
247
+ -webkit-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
248
+ -moz-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
249
+ box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
250
+
251
+ .box-error {
252
+ width: 100%;
253
+
254
+ .red-box {
255
+ background: #cd5356;
256
+ padding-top: 50px;
257
+ padding-bottom: 20px;
258
+ }
259
+
260
+ .box {
261
+ width: 60%;
262
+ margin: 0 auto;
263
+ }
264
+
265
+ h2 {
266
+ display: inline-block;
267
+ color: white;
268
+ margin-left: 10%;
269
+ padding-bottom: 20px;
270
+ border-bottom: 0.5px solid white;
271
+ }
272
+
273
+ p {
274
+ color: white;
275
+ margin-left: 10%;
276
+ font-size: 1.5rem;
277
+
278
+ &.doc {
279
+ padding-top: 20px;
280
+ color: #404040;
281
+ }
282
+ }
283
+
284
+ ol {
285
+ color: #fff;
286
+ margin-left: 10%;
287
+ font-size: 1.3rem;
288
+ }
289
+
290
+ a {
291
+ color: #cd5357;
292
+
293
+ &:hover {
294
+ color: #404040;
295
+ }
296
+ }
297
+ }
298
+ }
299
+
300
+ //**** WARNING ****/
301
+ .warning {
302
+ background: #f5d41b;
303
+ padding: 20px 15px;
304
+
305
+ .title {
306
+ font-weight: 900;
307
+ font-size: 1.25rem;
308
+ text-transform: uppercase;
309
+ color: #292929;
310
+ padding-bottom: 20px;
311
+ border-bottom: 0.5px solid #292929;
312
+
313
+ .iL {
314
+ margin-right: 15px;
315
+ }
316
+
317
+ .iR {
318
+ margin-left: 10px;
319
+ }
320
+ }
321
+
322
+ .info {
323
+ font-size: 1.04rem;
324
+ color: #292929;
325
+ font-weight: 500;
326
+ }
327
+ }
328
+
329
+ .warning-error {
330
+ display: flex;
331
+ flex-direction: row;
332
+ flex-wrap: wrap;
333
+ justify-content: center;
334
+ margin-top: 10%;
335
+ padding-bottom: 30px;
336
+ background-color: white;
337
+ -webkit-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
338
+ -moz-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
339
+ box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
340
+
341
+ .box-error {
342
+ width: 100%;
343
+ padding-left: 0;
344
+ padding-right: 0;
345
+
346
+ .yellow-box {
347
+ background: #f5d41b;
348
+ padding-top: 50px;
349
+ padding-bottom: 20px;
350
+ padding-right: 10%;
351
+ padding-left: 10%;
352
+
353
+ h2 {
354
+ width: 100%;
355
+ display: inline-block;
356
+ color: #292929;
357
+ padding-bottom: 20px;
358
+ border-bottom: 0.5px solid #292929;
359
+ }
360
+
361
+ p {
362
+ color: #292929;
363
+ font-size: 1.3rem;
364
+
365
+ &.doc {
366
+ padding-top: 20px;
367
+ color: #404040;
368
+ }
369
+ }
370
+
371
+ ul {
372
+ color: #292929;
373
+ margin-left: 5%;
374
+ font-size: 1.3rem;
375
+ }
376
+ }
377
+
378
+ .box {
379
+ padding-right: 10%;
380
+ padding-left: 10%;
381
+
382
+ .doc {
383
+ color: #292929;
384
+ font-size: 1.3rem;
385
+ padding-top: 25px;
386
+
387
+ a {
388
+ color: #f5bc00;
389
+
390
+ &:hover {
391
+ color: #f5ac01;
392
+ }
393
+ }
394
+ }
395
+ }
396
+ }
397
+ }
398
+
399
+ .pop-error {
400
+ //display: block!important;
401
+ position: fixed;
402
+ top: 0;
403
+ left: 0;
404
+ width: 100%;
405
+ height: 100%;
406
+
407
+ .fd_Error-type {
408
+ width: 100%;
409
+ padding-bottom: 30px;
410
+ background-color: white;
411
+ -webkit-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
412
+ -moz-box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
413
+ box-shadow: 3px 3px 23px 0px rgba(0, 0, 0, 0.43);
414
+
415
+ .box-error {
416
+ width: 100%;
417
+
418
+ h2 {
419
+ font-weight: 500;
420
+ width: 100%;
421
+
422
+ svg {
423
+ margin-right: 20px;
424
+ }
425
+ }
426
+
427
+ ul {
428
+ color: #fff;
429
+ margin-left: 12%;
430
+
431
+ &.doc {
432
+ color: #292929;
433
+ }
434
+ }
435
+ }
436
+ }
437
+ }
438
+ </style>