fcad-core-dragon 2.1.1 → 2.2.0-beta.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.
Files changed (164) hide show
  1. package/.editorconfig +7 -7
  2. package/.gitlab-ci.yml +106 -0
  3. package/.prettierrc +11 -11
  4. package/.vscode/extensions.json +8 -8
  5. package/.vscode/settings.json +16 -16
  6. package/CHANGELOG +529 -520
  7. package/README.md +57 -57
  8. package/artifacts/playwright-report/index.html +85 -0
  9. package/documentation/.vitepress/config.js +114 -114
  10. package/documentation/api-examples.md +49 -49
  11. package/documentation/composants/app-base-button.md +58 -58
  12. package/documentation/composants/app-base-error-display.md +59 -59
  13. package/documentation/composants/app-base-popover.md +68 -68
  14. package/documentation/composants/app-comp-audio.md +75 -75
  15. package/documentation/composants/app-comp-branch-buttons.md +111 -111
  16. package/documentation/composants/app-comp-button-progress.md +53 -53
  17. package/documentation/composants/app-comp-carousel.md +53 -53
  18. package/documentation/composants/app-comp-container.md +53 -53
  19. package/documentation/composants/app-comp-input-checkbox-next.md +42 -42
  20. package/documentation/composants/app-comp-input-dropdown-next.md +34 -34
  21. package/documentation/composants/app-comp-input-radio-next.md +39 -39
  22. package/documentation/composants/app-comp-input-text-next.md +35 -35
  23. package/documentation/composants/app-comp-input-text-table-next.md +34 -34
  24. package/documentation/composants/app-comp-input-text-to-fill-dropdown-next.md +53 -53
  25. package/documentation/composants/app-comp-input-text-to-fill-next.md +31 -31
  26. package/documentation/composants/app-comp-jauge.md +31 -31
  27. package/documentation/composants/app-comp-menu-item.md +55 -55
  28. package/documentation/composants/app-comp-menu.md +29 -29
  29. package/documentation/composants/app-comp-navigation.md +41 -41
  30. package/documentation/composants/app-comp-note-call.md +53 -53
  31. package/documentation/composants/app-comp-note-credit.md +53 -53
  32. package/documentation/composants/app-comp-play-bar-next.md +53 -53
  33. package/documentation/composants/app-comp-pop-up-next.md +93 -93
  34. package/documentation/composants/app-comp-quiz-next.md +235 -235
  35. package/documentation/composants/app-comp-quiz-recall.md +53 -53
  36. package/documentation/composants/app-comp-svg-next.md +53 -53
  37. package/documentation/composants/app-comp-table-of-content.md +50 -50
  38. package/documentation/composants/app-comp-video-player.md +82 -82
  39. package/documentation/composants.md +46 -46
  40. package/documentation/composants_critiques/ModelPageComposant.md +53 -53
  41. package/documentation/composants_critiques/app-base-module.md +43 -43
  42. package/documentation/composants_critiques/app-base-page.md +48 -48
  43. package/documentation/composants_critiques/app-base.md +311 -311
  44. package/documentation/composants_critiques/main.md +15 -15
  45. package/documentation/demarrage.md +50 -50
  46. package/documentation/deploiement.md +57 -57
  47. package/documentation/index.md +33 -33
  48. package/documentation/markdown-examples.md +85 -85
  49. package/documentation/public/vite.svg +14 -14
  50. package/documentation/public/vuejs.svg +1 -1
  51. package/documentation/public/vuetify.svg +5 -5
  52. package/eslint.config.js +60 -60
  53. package/package.json +69 -59
  54. package/playwright/index.html +12 -0
  55. package/playwright/index.js +21 -0
  56. package/playwright-ct.config.js +95 -0
  57. package/src/$locales/en.json +157 -157
  58. package/src/$locales/fr.json +120 -120
  59. package/src/assets/data/onboardingMessages.json +47 -47
  60. package/src/components/AppBase.vue +1171 -1169
  61. package/src/components/AppBaseButton.vue +90 -95
  62. package/src/components/AppBaseErrorDisplay.vue +438 -438
  63. package/src/components/AppBaseFlipCard.vue +84 -84
  64. package/src/components/AppBaseModule.vue +1639 -1634
  65. package/src/components/AppBasePage.vue +862 -866
  66. package/src/components/AppBasePopover.vue +41 -41
  67. package/src/components/AppBaseSkeleton.vue +66 -66
  68. package/src/components/AppCompAudio.vue +261 -256
  69. package/src/components/AppCompBranchButtons.vue +508 -508
  70. package/src/components/AppCompButtonProgress.vue +137 -132
  71. package/src/components/AppCompCarousel.vue +342 -336
  72. package/src/components/AppCompContainer.vue +29 -29
  73. package/src/components/AppCompInputCheckBoxNx.vue +326 -323
  74. package/src/components/AppCompInputDropdownNx.vue +302 -299
  75. package/src/components/AppCompInputRadioNx.vue +288 -284
  76. package/src/components/AppCompInputTextNx.vue +154 -153
  77. package/src/components/AppCompInputTextTableNx.vue +205 -202
  78. package/src/components/AppCompInputTextToFillDropdownNx.vue +341 -340
  79. package/src/components/AppCompInputTextToFillNx.vue +293 -313
  80. package/src/components/AppCompJauge.vue +81 -81
  81. package/src/components/AppCompMenu.vue +6 -1
  82. package/src/components/AppCompMenuItem.vue +246 -240
  83. package/src/components/AppCompNavigation.vue +977 -972
  84. package/src/components/AppCompNoteCall.vue +167 -161
  85. package/src/components/AppCompNoteCredit.vue +496 -491
  86. package/src/components/AppCompPlayBarNext.vue +2288 -2288
  87. package/src/components/AppCompPopUpNext.vue +508 -504
  88. package/src/components/AppCompQuizNext.vue +515 -510
  89. package/src/components/AppCompQuizRecall.vue +365 -350
  90. package/src/components/AppCompSVGNext.vue +346 -346
  91. package/src/components/AppCompSettingsMenu.vue +177 -172
  92. package/src/components/AppCompTableOfContent.vue +433 -427
  93. package/src/components/AppCompVideoPlayer.vue +378 -377
  94. package/src/components/AppCompViewDisplay.vue +6 -6
  95. package/src/components/BaseModule.vue +55 -55
  96. package/src/composables/useIdleDetector.js +56 -56
  97. package/src/composables/useQuiz.js +89 -89
  98. package/src/composables/useTimer.js +172 -172
  99. package/src/directives/nvdaFix.js +53 -53
  100. package/src/externalComps/ModuleView.vue +22 -22
  101. package/src/externalComps/SummaryView.vue +91 -91
  102. package/src/main.js +506 -476
  103. package/src/module/stores/appStore.js +960 -947
  104. package/src/module/xapi/ADL.js +520 -520
  105. package/src/module/xapi/Crypto/Hasher.js +241 -241
  106. package/src/module/xapi/Crypto/WordArray.js +278 -278
  107. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  108. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  109. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  110. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  111. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  112. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  113. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  114. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  115. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  116. package/src/module/xapi/Crypto/index.js +53 -53
  117. package/src/module/xapi/Statement/activity.js +47 -47
  118. package/src/module/xapi/Statement/agent.js +55 -55
  119. package/src/module/xapi/Statement/group.js +26 -26
  120. package/src/module/xapi/Statement/index.js +259 -259
  121. package/src/module/xapi/Statement/statement.js +253 -253
  122. package/src/module/xapi/Statement/statementRef.js +23 -23
  123. package/src/module/xapi/Statement/substatement.js +22 -22
  124. package/src/module/xapi/Statement/verb.js +36 -36
  125. package/src/module/xapi/activitytypes.js +17 -17
  126. package/src/module/xapi/launch.js +157 -157
  127. package/src/module/xapi/utils.js +167 -167
  128. package/src/module/xapi/verbs.js +294 -294
  129. package/src/module/xapi/wrapper.js +1895 -1895
  130. package/src/module/xapi/xapiStatement.js +444 -444
  131. package/src/plugins/analytics.js +34 -34
  132. package/src/plugins/bus.js +12 -8
  133. package/src/plugins/gsap.js +17 -17
  134. package/src/plugins/helper.js +355 -358
  135. package/src/plugins/i18n.js +29 -26
  136. package/src/plugins/idb.js +227 -227
  137. package/src/plugins/save.js +37 -37
  138. package/src/plugins/scorm.js +287 -287
  139. package/src/plugins/xapi.js +11 -11
  140. package/src/public/index.html +33 -33
  141. package/src/router/index.js +57 -57
  142. package/src/router/routes.js +312 -312
  143. package/src/shared/generalfuncs.js +344 -344
  144. package/src/shared/validators.js +1018 -1018
  145. package/tests/component/AppBaseButton.spec.js +53 -0
  146. package/tests/component/pinia.spec.js +24 -0
  147. package/{src/components/tests__ → tests/unit}/AppBaseButton.spec.js +53 -53
  148. package/tests/unit/AppCompAudio.spec.js +134 -0
  149. package/tests/unit/AppCompCarousel.spec.js +54 -0
  150. package/tests/unit/AppCompInputCheckBoxNx.spec.js +59 -0
  151. package/tests/unit/AppCompInputDropdownNx.spec.js +51 -0
  152. package/tests/unit/AppCompInputRadioNx.spec.js +59 -0
  153. package/tests/unit/AppCompInputTextNx.spec.js +44 -0
  154. package/tests/unit/AppCompInputTextTableNx.spec.js +77 -0
  155. package/tests/unit/AppCompInputTextToFillDropdownNx.spec.js +60 -0
  156. package/tests/unit/AppCompInputTextToFillNx.spec.js +45 -0
  157. package/tests/unit/AppCompNoteCredit.spec.js +58 -0
  158. package/tests/unit/AppCompQuizNext.spec.js +112 -0
  159. package/tests/unit/AppCompVideoPlayer.spec.js +169 -0
  160. package/tests/unit/useQuiz.spec.js +72 -0
  161. package/{src/components/tests__ → tests/unit}/useTimer.spec.js +91 -91
  162. package/vitest.config.js +42 -19
  163. package/vitest.setup.js +96 -0
  164. package/src/components/AppBaseButton.test.js +0 -21
@@ -1,68 +1,68 @@
1
- # Popover
2
-
3
- Une infobulle pouvant être générée automatiquement.
4
-
5
- ## Aperçu
6
-
7
-
8
-
9
- ## Comportement
10
-
11
- Le target doit être reçu et appliqué avant l'ouverture/création du popover.
12
-
13
- ## Paramètre
14
-
15
- ### Target
16
-
17
- **Type:** `String`
18
-
19
- **Usage:** Obligatoire.
20
-
21
- Définit l'emplacement où pointe la flèche du popover. Doit être initaliser avant le "mounted" du popover.
22
-
23
- ### Option
24
-
25
- **Type:** `Object`
26
-
27
- **Usage:** Obligatoire.
28
-
29
- Définit le contenu du popover. Il y a plusieurs paramettres de disponible:
30
- - title
31
- - content
32
- - cb_$cancel
33
- - cb_$confirm
34
-
35
- #### Title
36
-
37
- **Type:** `String`
38
-
39
- **Usage:** Optionel.
40
- Le titre du popover.
41
-
42
- #### Content
43
-
44
- **Type:** `String`
45
-
46
- **Usage:** Optionel.
47
-
48
- Le contenu du popover en HTML.
49
-
50
- #### Cb_$cancel
51
-
52
- **Type:** `Function`
53
-
54
- **Usage:** Optionel.
55
-
56
- La function quand on clique sur le bouton "cancel". N'est pas utilisé par le OnBoarding.
57
-
58
- #### Cb_$confirm
59
-
60
- **Type:** `Function`
61
-
62
- **Usage:** Optionel.
63
-
64
- La function quand on clique sur le bouton "confim" qui est mis sur un délai pour le faire sur le "onHidden".
65
-
66
- ## Style
67
-
68
- ## Accessibilité
1
+ # Popover
2
+
3
+ Une infobulle pouvant être générée automatiquement.
4
+
5
+ ## Aperçu
6
+
7
+
8
+
9
+ ## Comportement
10
+
11
+ Le target doit être reçu et appliqué avant l'ouverture/création du popover.
12
+
13
+ ## Paramètre
14
+
15
+ ### Target
16
+
17
+ **Type:** `String`
18
+
19
+ **Usage:** Obligatoire.
20
+
21
+ Définit l'emplacement où pointe la flèche du popover. Doit être initaliser avant le "mounted" du popover.
22
+
23
+ ### Option
24
+
25
+ **Type:** `Object`
26
+
27
+ **Usage:** Obligatoire.
28
+
29
+ Définit le contenu du popover. Il y a plusieurs paramettres de disponible:
30
+ - title
31
+ - content
32
+ - cb_$cancel
33
+ - cb_$confirm
34
+
35
+ #### Title
36
+
37
+ **Type:** `String`
38
+
39
+ **Usage:** Optionel.
40
+ Le titre du popover.
41
+
42
+ #### Content
43
+
44
+ **Type:** `String`
45
+
46
+ **Usage:** Optionel.
47
+
48
+ Le contenu du popover en HTML.
49
+
50
+ #### Cb_$cancel
51
+
52
+ **Type:** `Function`
53
+
54
+ **Usage:** Optionel.
55
+
56
+ La function quand on clique sur le bouton "cancel". N'est pas utilisé par le OnBoarding.
57
+
58
+ #### Cb_$confirm
59
+
60
+ **Type:** `Function`
61
+
62
+ **Usage:** Optionel.
63
+
64
+ La function quand on clique sur le bouton "confim" qui est mis sur un délai pour le faire sur le "onHidden".
65
+
66
+ ## Style
67
+
68
+ ## Accessibilité
@@ -1,75 +1,75 @@
1
- # Lecteur Audio
2
-
3
- Composant pour afficher un audio et sont lecteur.
4
-
5
- ## Aperçu
6
-
7
- Le composant permet d'afficher un lecteur audio et tout ses fonctionalités.
8
-
9
- ## Comportement
10
-
11
- S'affiche dans un en cadré avec un titre (obligatoire), une image (pas obligatoire), lecteur de média et un tirroire d'accordéon qui contient les sous-titre.
12
-
13
- ## Référence du composant
14
-
15
- `<app-comp-audio-player :aud-data="audioData2"/>`
16
-
17
-
18
- ## Structure de données
19
- Voici la structure à utiliser pour les données d'un contenu audio
20
- > [!IMPORTANT]
21
- > audiosData doit être un tableau (array)
22
- ```js
23
- import aud1 from '@/assets/medias/exemple_audio.mp3'
24
- import posterAud1 from '@/assets/img/audio_poster.png'
25
-
26
- export default {
27
- data() {
28
- return {
29
- id: 'P01',
30
- activityRef: 'A03',
31
- title: 'Lecteurs médias',
32
- type: 'pg_normal',
33
- audiosData: [
34
- {
35
- id: 'aud1',
36
- mTitle: 'Et si... Annie Ernaux nous parlait',
37
- mSources: [
38
- {
39
- type: 'mp3',
40
- src: aud1
41
- }
42
- ],
43
- mPoster: posterAud1,
44
- mAlt: "Portrait de l'autrice Annie Ernaux",
45
- mTranscript:
46
- '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>'
47
- }
48
- ]
49
- }
50
- }
51
- }
52
- ```
53
-
54
- ### Props
55
-
56
- | Propriété | Type | Description | valeur par défaut |
57
- |:----------|:-----------------|:-----------------------------------------------------------------------------------------------------------------------------------|:-------|
58
- | id | string | identification unique | N/A |
59
- | mTitle | string | Titre afficher dans le composant (obligatoire) | N/A |
60
- | mSources | Objet | deux valeur `type` qui doit être déplacé comme `mp3` et `src` doit être la source du mp3 | N/A |
61
- | mPoster | n/a | Doit être le lien vers l'affiche de la vidéo (image qui seras visible si le vidéo ne load pas) | N/A |
62
- | mAlt | string | texte alternatif de l'image (si image il y a ) | N/A |
63
- | mTranscript | string | Structure html de la transcription afficher dans le composant | N/A |
64
-
65
- ## Style
66
-
67
- `nomde class`[class]
68
-
69
- Aucune manipulation requise.
70
-
71
-
72
- ## Accessibilité
73
-
74
- Aucune manipulation requise.
75
-
1
+ # Lecteur Audio
2
+
3
+ Composant pour afficher un audio et sont lecteur.
4
+
5
+ ## Aperçu
6
+
7
+ Le composant permet d'afficher un lecteur audio et tout ses fonctionalités.
8
+
9
+ ## Comportement
10
+
11
+ S'affiche dans un en cadré avec un titre (obligatoire), une image (pas obligatoire), lecteur de média et un tirroire d'accordéon qui contient les sous-titre.
12
+
13
+ ## Référence du composant
14
+
15
+ `<app-comp-audio-player :aud-data="audioData2"/>`
16
+
17
+
18
+ ## Structure de données
19
+ Voici la structure à utiliser pour les données d'un contenu audio
20
+ > [!IMPORTANT]
21
+ > audiosData doit être un tableau (array)
22
+ ```js
23
+ import aud1 from '@/assets/medias/exemple_audio.mp3'
24
+ import posterAud1 from '@/assets/img/audio_poster.png'
25
+
26
+ export default {
27
+ data() {
28
+ return {
29
+ id: 'P01',
30
+ activityRef: 'A03',
31
+ title: 'Lecteurs médias',
32
+ type: 'pg_normal',
33
+ audiosData: [
34
+ {
35
+ id: 'aud1',
36
+ mTitle: 'Et si... Annie Ernaux nous parlait',
37
+ mSources: [
38
+ {
39
+ type: 'mp3',
40
+ src: aud1
41
+ }
42
+ ],
43
+ mPoster: posterAud1,
44
+ mAlt: "Portrait de l'autrice Annie Ernaux",
45
+ mTranscript:
46
+ '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>'
47
+ }
48
+ ]
49
+ }
50
+ }
51
+ }
52
+ ```
53
+
54
+ ### Props
55
+
56
+ | Propriété | Type | Description | valeur par défaut |
57
+ |:----------|:-----------------|:-----------------------------------------------------------------------------------------------------------------------------------|:-------|
58
+ | id | string | identification unique | N/A |
59
+ | mTitle | string | Titre afficher dans le composant (obligatoire) | N/A |
60
+ | mSources | Objet | deux valeur `type` qui doit être déplacé comme `mp3` et `src` doit être la source du mp3 | N/A |
61
+ | mPoster | n/a | Doit être le lien vers l'affiche de la vidéo (image qui seras visible si le vidéo ne load pas) | N/A |
62
+ | mAlt | string | texte alternatif de l'image (si image il y a ) | N/A |
63
+ | mTranscript | string | Structure html de la transcription afficher dans le composant | N/A |
64
+
65
+ ## Style
66
+
67
+ `nomde class`[class]
68
+
69
+ Aucune manipulation requise.
70
+
71
+
72
+ ## Accessibilité
73
+
74
+ Aucune manipulation requise.
75
+
@@ -1,111 +1,111 @@
1
- # Branch Buttons
2
-
3
-
4
- Composant qui génère des boutons d'embranchment dans une page.
5
-
6
- ## Aperçu
7
-
8
- Le composant affiche des boutons ou cartes clicables dans la page. Chaque element est accompagné d'un affichage de l'état de progression dans la branche.
9
-
10
- ## Référence du composant
11
-
12
- **AppCompBranchButtons**
13
- `<app-comp-branch-buttons/>`
14
-
15
- ## Comportement
16
-
17
- Le composant génère des boutons pour chaque branch disponible dans l'activité. Il crée un lien qui ouvre une fenêtre latérale. Son état change de normal à complet, si le bas de la fenêtre latérale est visité.
18
-
19
- Le composant affiche un message d'erreur, lorsque les données passées en reférence, durant la phase de production, ne sont pas valides.
20
-
21
- ::: tip 💡 Note
22
- En cas d'erreur, pretez attention au message(s) affiché(s) par le composant dans la console du navigateur et dans la page. Cela vous permettra de savoir ce qui doit être corrigé.
23
- :::
24
-
25
- ## Paramètre
26
-
27
- ### Props
28
-
29
- <table>
30
- <thead>
31
- <tr>
32
- <th>Propriété</th>
33
- <th>Type</th>
34
- <th>Description</th>
35
- <th>valeur par défaut</th>
36
- <th>valeur accepté</th>
37
- </tr>
38
- </thead>
39
- <tbody>
40
- <tr>
41
- <td>customButtons (optionnelle) </td>
42
- <td>Array</td>
43
- <td>Tableau d'objets contenant les informations pour chaque bouton d'embranchement.
44
- </td>
45
- <td>null</td>
46
- <td> Un Array d'Object (name, brchName)
47
- <br><br>Exemple pour une page avec 2 embranchments chaque objet bouton sera defini comme suit:<br><br>
48
- <pre class="code-in-table">
49
- <code>
50
- [
51
- { name: 'bouton_A02_P01_E01', brchName: 'P02_E01' },
52
- { name: 'bouton_A02_P01_E02',brchName: 'P02_E02' }
53
- ]
54
- </code>
55
- </pre>
56
- </td>
57
- </tr>
58
- <tr>
59
- <td>cards (optionnelle) </td>
60
- <td>Array</td>
61
- <td>Tableau d'objets contenant les informations pour chaque bouton d'embranchement. Chaque bouton est presenté sous forme d'une carte
62
- </td>
63
- <td>null</td>
64
- <td> Un Array d'Object (imgFile, title, text, brchName, btnTitle)
65
- <br><br>Exemple chaque carte d'embranchments sera un objet défini de la forme ci-dessous:<br><br>
66
- <pre class="code-in-table">
67
- <code>
68
- [
69
- {
70
- imgFile: 'imgCarte.jpg', (l'image doit se trouver dans le dossier src/assets/img du projet)
71
- imgAlt: 'Test img 1',
72
- title: 'Titre embranchment',
73
- text: 'Ceci est un embranchment factice, affiché sous la forme de carte.'
74
- brchName: 'P02_E01'
75
- btnTitle: ''
76
- }
77
- ]
78
- </code>
79
- </pre>
80
- </td>
81
- </tr>
82
- </tbody>
83
- </table>
84
-
85
-
86
- ### Slots
87
-
88
- Un template custom est disponible pour habiller chaque bouton en faisant reférence au nom de la branch qui le lie. Ceci n'est applicable qu'avec l'utilisation de la propriété `customButtons`
89
-
90
-
91
-
92
- Exemple:
93
-
94
- ```vue
95
- <app-comp-branch-buttons :custom-buttons="buttonData">
96
- <template #bouton_A02_P01_E01>
97
- <h1>Peu</h1>
98
- </template>
99
- <template #bouton_A02_P01_E02>
100
- <h1>Peut être ici le titre d'une page</h1>
101
- </template>
102
- </app-comp-branch-buttons>
103
- ```
104
-
105
- Si le composant est appelée sans prop, les boutons par défaut seront générés.
106
-
107
- ## Style
108
-
109
-
110
- ## Accessibilité
111
- une variable `imgAlt` est disponible sur chaque objet, pour définir la valeur de l'attribut `alt` de l'image de la carte.
1
+ # Branch Buttons
2
+
3
+
4
+ Composant qui génère des boutons d'embranchment dans une page.
5
+
6
+ ## Aperçu
7
+
8
+ Le composant affiche des boutons ou cartes clicables dans la page. Chaque element est accompagné d'un affichage de l'état de progression dans la branche.
9
+
10
+ ## Référence du composant
11
+
12
+ **AppCompBranchButtons**
13
+ `<app-comp-branch-buttons/>`
14
+
15
+ ## Comportement
16
+
17
+ Le composant génère des boutons pour chaque branch disponible dans l'activité. Il crée un lien qui ouvre une fenêtre latérale. Son état change de normal à complet, si le bas de la fenêtre latérale est visité.
18
+
19
+ Le composant affiche un message d'erreur, lorsque les données passées en reférence, durant la phase de production, ne sont pas valides.
20
+
21
+ ::: tip 💡 Note
22
+ En cas d'erreur, pretez attention au message(s) affiché(s) par le composant dans la console du navigateur et dans la page. Cela vous permettra de savoir ce qui doit être corrigé.
23
+ :::
24
+
25
+ ## Paramètre
26
+
27
+ ### Props
28
+
29
+ <table>
30
+ <thead>
31
+ <tr>
32
+ <th>Propriété</th>
33
+ <th>Type</th>
34
+ <th>Description</th>
35
+ <th>valeur par défaut</th>
36
+ <th>valeur accepté</th>
37
+ </tr>
38
+ </thead>
39
+ <tbody>
40
+ <tr>
41
+ <td>customButtons (optionnelle) </td>
42
+ <td>Array</td>
43
+ <td>Tableau d'objets contenant les informations pour chaque bouton d'embranchement.
44
+ </td>
45
+ <td>null</td>
46
+ <td> Un Array d'Object (name, brchName)
47
+ <br><br>Exemple pour une page avec 2 embranchments chaque objet bouton sera defini comme suit:<br><br>
48
+ <pre class="code-in-table">
49
+ <code>
50
+ [
51
+ { name: 'bouton_A02_P01_E01', brchName: 'P02_E01' },
52
+ { name: 'bouton_A02_P01_E02',brchName: 'P02_E02' }
53
+ ]
54
+ </code>
55
+ </pre>
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <td>cards (optionnelle) </td>
60
+ <td>Array</td>
61
+ <td>Tableau d'objets contenant les informations pour chaque bouton d'embranchement. Chaque bouton est presenté sous forme d'une carte
62
+ </td>
63
+ <td>null</td>
64
+ <td> Un Array d'Object (imgFile, title, text, brchName, btnTitle)
65
+ <br><br>Exemple chaque carte d'embranchments sera un objet défini de la forme ci-dessous:<br><br>
66
+ <pre class="code-in-table">
67
+ <code>
68
+ [
69
+ {
70
+ imgFile: 'imgCarte.jpg', (l'image doit se trouver dans le dossier src/assets/img du projet)
71
+ imgAlt: 'Test img 1',
72
+ title: 'Titre embranchment',
73
+ text: 'Ceci est un embranchment factice, affiché sous la forme de carte.'
74
+ brchName: 'P02_E01'
75
+ btnTitle: ''
76
+ }
77
+ ]
78
+ </code>
79
+ </pre>
80
+ </td>
81
+ </tr>
82
+ </tbody>
83
+ </table>
84
+
85
+
86
+ ### Slots
87
+
88
+ Un template custom est disponible pour habiller chaque bouton en faisant reférence au nom de la branch qui le lie. Ceci n'est applicable qu'avec l'utilisation de la propriété `customButtons`
89
+
90
+
91
+
92
+ Exemple:
93
+
94
+ ```vue
95
+ <app-comp-branch-buttons :custom-buttons="buttonData">
96
+ <template #bouton_A02_P01_E01>
97
+ <h1>Peu</h1>
98
+ </template>
99
+ <template #bouton_A02_P01_E02>
100
+ <h1>Peut être ici le titre d'une page</h1>
101
+ </template>
102
+ </app-comp-branch-buttons>
103
+ ```
104
+
105
+ Si le composant est appelée sans prop, les boutons par défaut seront générés.
106
+
107
+ ## Style
108
+
109
+
110
+ ## Accessibilité
111
+ une variable `imgAlt` est disponible sur chaque objet, pour définir la valeur de l'attribut `alt` de l'image de la carte.
@@ -1,53 +1,53 @@
1
- ---
2
- title: Model de page
3
-
4
- ---
5
- ::: warning 🚩 Important
6
- Utilisez ce model comme depart pour écrire la page de votre composant:
7
-
8
- 1) Copiez /dubliquez cette page
9
- 2) Renommez votre copie avec le nom de votre composant
10
- 3) Édtitez la page en rempliçant les sections qui conserne votre composant.
11
- :::
12
-
13
-
14
- Composant pour ....
15
-
16
- ## Aperçu
17
-
18
- Le composant permet de...
19
- Et culpa explicabo est amet voluptas qui fuga deleniti. Sed consectetur minus aut animi modi sed natus pariatur.
20
-
21
- ## Comportement
22
-
23
- Lorem ipsum dolor sit amet. At quas quis qui velit tenetur aut suscipit error id iure doloremque ad velit explicabo. Sit repellat praesentium aut perferendis illum qui omnis recusandae est explicabo dolores in quia tempore qui totam velit.
24
-
25
- ## Référence du composant
26
-
27
- **ModelComposantPage** `<model-composant/>`
28
-
29
-
30
- ## Paramètre
31
-
32
- Aucun paramètre n'est nécessaire pour ce composant.
33
-
34
- ### Props
35
-
36
- | Propriété | Type | Description | valeur par défaut |
37
- |:----------|:-----------------|:-----------------------------------------------------------------------------------------------------------------------------------|:-------|
38
- | page | Object | données brutes de la page à créer | Doit contenir au minimum les valeurs suivantes: `{id, type, activityRef }`. Référez-vous à la section sur la [création de page](/guide/pageType.html#qu-est-ce-qu-une-page) pour une liste exhaustive des valeurs de la propriété. |
39
-
40
- ### Slots
41
- `content`[named-slot] - Eos nemo officiis a ducimus officiis aut delectus obcaecati qui dolor consequatur.
42
-
43
-
44
- ## Style
45
-
46
- `nomde class`[class]
47
-
48
- Aucune manipulation requise.
49
-
50
-
51
- ## Accessibilité
52
- Aucune manipulation requise.
53
-
1
+ ---
2
+ title: Model de page
3
+
4
+ ---
5
+ ::: warning 🚩 Important
6
+ Utilisez ce model comme depart pour écrire la page de votre composant:
7
+
8
+ 1) Copiez /dubliquez cette page
9
+ 2) Renommez votre copie avec le nom de votre composant
10
+ 3) Édtitez la page en rempliçant les sections qui conserne votre composant.
11
+ :::
12
+
13
+
14
+ Composant pour ....
15
+
16
+ ## Aperçu
17
+
18
+ Le composant permet de...
19
+ Et culpa explicabo est amet voluptas qui fuga deleniti. Sed consectetur minus aut animi modi sed natus pariatur.
20
+
21
+ ## Comportement
22
+
23
+ Lorem ipsum dolor sit amet. At quas quis qui velit tenetur aut suscipit error id iure doloremque ad velit explicabo. Sit repellat praesentium aut perferendis illum qui omnis recusandae est explicabo dolores in quia tempore qui totam velit.
24
+
25
+ ## Référence du composant
26
+
27
+ **ModelComposantPage** `<model-composant/>`
28
+
29
+
30
+ ## Paramètre
31
+
32
+ Aucun paramètre n'est nécessaire pour ce composant.
33
+
34
+ ### Props
35
+
36
+ | Propriété | Type | Description | valeur par défaut |
37
+ |:----------|:-----------------|:-----------------------------------------------------------------------------------------------------------------------------------|:-------|
38
+ | page | Object | données brutes de la page à créer | Doit contenir au minimum les valeurs suivantes: `{id, type, activityRef }`. Référez-vous à la section sur la [création de page](/guide/pageType.html#qu-est-ce-qu-une-page) pour une liste exhaustive des valeurs de la propriété. |
39
+
40
+ ### Slots
41
+ `content`[named-slot] - Eos nemo officiis a ducimus officiis aut delectus obcaecati qui dolor consequatur.
42
+
43
+
44
+ ## Style
45
+
46
+ `nomde class`[class]
47
+
48
+ Aucune manipulation requise.
49
+
50
+
51
+ ## Accessibilité
52
+ Aucune manipulation requise.
53
+