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

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 (90) hide show
  1. package/.editorconfig +33 -33
  2. package/.eslintignore +29 -29
  3. package/.eslintrc.cjs +81 -81
  4. package/CHANGELOG +13 -0
  5. package/README.md +71 -71
  6. package/bk.scss +117 -117
  7. package/package.json +8 -8
  8. package/src/$locales/en.json +145 -143
  9. package/src/$locales/fr.json +107 -105
  10. package/src/assets/data/onboardingMessages.json +47 -47
  11. package/src/components/AppBase.vue +1150 -1054
  12. package/src/components/AppBaseButton.test.js +22 -0
  13. package/src/components/AppBaseButton.vue +93 -87
  14. package/src/components/AppBaseErrorDisplay.vue +438 -438
  15. package/src/components/AppBaseFlipCard.vue +84 -84
  16. package/src/components/AppBaseModule.vue +1657 -1673
  17. package/src/components/AppBasePage.vue +742 -779
  18. package/src/components/AppBasePopover.vue +41 -41
  19. package/src/components/AppCompAudio.vue +265 -234
  20. package/src/components/AppCompBranchButtons.vue +556 -552
  21. package/src/components/AppCompButtonProgress.vue +121 -126
  22. package/src/components/AppCompCarousel.vue +328 -298
  23. package/src/components/AppCompInputCheckBoxNext.vue +200 -195
  24. package/src/components/AppCompInputDropdownNext.vue +201 -159
  25. package/src/components/AppCompInputRadioNext.vue +152 -152
  26. package/src/components/AppCompInputTextNext.vue +125 -106
  27. package/src/components/AppCompInputTextTableNext.vue +142 -141
  28. package/src/components/AppCompInputTextToFillDropdownNext.vue +238 -230
  29. package/src/components/AppCompInputTextToFillNext.vue +171 -171
  30. package/src/components/AppCompJauge.vue +74 -74
  31. package/src/components/AppCompMenu.vue +25 -10
  32. package/src/components/AppCompMenuItem.vue +228 -228
  33. package/src/components/AppCompNavigation.vue +972 -960
  34. package/src/components/AppCompNoteCall.vue +159 -133
  35. package/src/components/AppCompNoteCredit.vue +490 -292
  36. package/src/components/AppCompPlayBar.vue +1217 -1218
  37. package/src/components/AppCompPlayBarNext.vue +2060 -2052
  38. package/src/components/AppCompPlayBarProgress.vue +82 -82
  39. package/src/components/AppCompPopUpNext.vue +500 -503
  40. package/src/components/AppCompQuizNext.vue +2908 -2904
  41. package/src/components/AppCompQuizRecall.vue +298 -276
  42. package/src/components/AppCompSVGNext.vue +347 -347
  43. package/src/components/AppCompSettingsMenu.vue +172 -172
  44. package/src/components/AppCompTableOfContent.vue +386 -387
  45. package/src/components/AppCompTranscript.vue +24 -24
  46. package/src/components/AppCompVideoPlayer.vue +368 -368
  47. package/src/components/BaseModule.vue +55 -72
  48. package/src/components/tests__/AppBaseButton.spec.js +53 -0
  49. package/src/composables/useQuiz.js +206 -206
  50. package/src/externalComps/ModuleView.vue +22 -22
  51. package/src/externalComps/SummaryView.vue +91 -91
  52. package/src/main.js +272 -272
  53. package/src/mixins/$mediaMixins.js +819 -819
  54. package/src/mixins/timerMixin.js +155 -155
  55. package/src/module/stores/appStore.js +954 -893
  56. package/src/module/xapi/ADL.js +380 -376
  57. package/src/module/xapi/Crypto/Hasher.js +241 -241
  58. package/src/module/xapi/Crypto/WordArray.js +278 -278
  59. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  60. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  61. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  62. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  63. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  64. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  65. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  66. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  67. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  68. package/src/module/xapi/Statement/agent.js +55 -55
  69. package/src/module/xapi/Statement/index.js +259 -259
  70. package/src/module/xapi/Statement/statement.js +253 -253
  71. package/src/module/xapi/launch.js +157 -157
  72. package/src/module/xapi/utils.js +167 -167
  73. package/src/module/xapi/verbs.js +294 -294
  74. package/src/module/xapi/wrapper.js +1963 -1963
  75. package/src/module/xapi/xapiStatement.js +444 -444
  76. package/src/plugins/bus.js +8 -8
  77. package/src/plugins/gsap.js +14 -14
  78. package/src/plugins/helper.js +355 -308
  79. package/src/plugins/i18n.js +44 -44
  80. package/src/plugins/idb.js +227 -219
  81. package/src/plugins/save.js +37 -37
  82. package/src/plugins/scorm.js +287 -287
  83. package/src/plugins/xapi.js +11 -11
  84. package/src/public/index.html +33 -33
  85. package/src/router/index.js +48 -43
  86. package/src/router/routes.js +312 -312
  87. package/src/shared/generalfuncs.js +210 -210
  88. package/src/shared/validators.js +926 -1069
  89. package/vitest.config.js +19 -0
  90. package/vite.config.js +0 -27
@@ -1,159 +1,201 @@
1
- <!-- About this Component--
2
- * Renders a SELECT input to display choices of response for the Quiz component
3
- * Related Quiz to question: DROPDOWN
4
- * Receives the a data object defined by user
5
- * Used by AppCompQuizNext
6
- * Uses useQuiz composable
7
- -->
8
- <template>
9
- <div class="input-box">
10
- <div
11
- v-for="singleDropdown in inputData"
12
- :key="singleDropdown.id"
13
- class="dropdown-container"
14
- :class="`dropdownlist-${singleDropdown.id} ${classInput(singleDropdown.id, quizInputTypeValue)}`"
15
- >
16
- <label
17
- :for="`${inputDataId}_${singleDropdown.id}`"
18
- v-html="singleDropdown.ennonce"
19
- ></label>
20
-
21
- <v-select
22
- :id="inputDataId + '_' + singleDropdown.id"
23
- v-model="quizInputTypeValue[singleDropdown.id]"
24
- item-title="text"
25
- :items="singleDropdown.option"
26
- :disabled="quizLimitActive"
27
- />
28
- </div>
29
- </div>
30
- </template>
31
- <script>
32
- import { useQuiz } from '../composables/useQuiz'
33
- import { toRefs } from 'vue'
34
- export default {
35
- name: 'AppCompInputDropdown',
36
-
37
- props: {
38
- quizType: {
39
- type: String,
40
- default: ''
41
- },
42
- inputDataId: {
43
- type: String,
44
- default: ''
45
- },
46
- inputData: {
47
- type: Array,
48
- default: () => []
49
- },
50
- quizInputType: {
51
- type: Array,
52
- default: () => []
53
- },
54
- solution: {
55
- type: Array,
56
- default: () => []
57
- },
58
- showSolution: {
59
- type: Boolean,
60
- default: false
61
- },
62
- quizLimitActive: {
63
- type: Boolean,
64
- default: false
65
- },
66
- shuffleAnswers: {
67
- type: Boolean,
68
- default: false
69
- },
70
-
71
- quizSubmit: {
72
- type: Boolean,
73
- default: false
74
- } //use to call a submit
75
- },
76
- emits: ['input-change'],
77
- setup(props) {
78
- const { containsValue, shuffleArray, classInput, messageAccessibility } =
79
- useQuiz(toRefs(props))
80
-
81
- return {
82
- containsValue,
83
- shuffleArray,
84
- classInput,
85
- messageAccessibility
86
- }
87
- },
88
-
89
- data() {
90
- return {
91
- quizInputTypeValue: [], //not using quizInputType because quizInputType is a prop
92
- quizSolution: null
93
- }
94
- },
95
-
96
- computed: {},
97
-
98
- watch: {
99
- /**
100
- * @description to pass value to AppCompQuiz
101
- * @emits input-change
102
- */
103
- quizInputTypeValue: {
104
- deep: true,
105
- handler(newValue) {
106
- this.$emit('input-change', newValue)
107
- }
108
- }
109
- },
110
-
111
- mounted() {
112
- this.initQuiz()
113
- },
114
-
115
- methods: {
116
- initQuiz() {
117
- this.quizSolution = this.solution
118
- if (this.quizSolution !== null) {
119
- this.quizSolution.sort(function (a, b) {
120
- return a - b
121
- })
122
- }
123
- //to show the defaultAnswer
124
- const defaultAnswer = {
125
- value: null,
126
- disabled: true,
127
- text: this.$t('message.first_option_dropdown')
128
- }
129
- let selectedChoices = []
130
- for (let i = 0; i < this.inputData.length; i++) {
131
- let singleDropdown
132
- if (this.shuffleAnswers) {
133
- singleDropdown = this.inputData[i]
134
- singleDropdown.option = this.shuffleArray(singleDropdown.option)
135
- } else {
136
- singleDropdown = this.inputData[i]
137
- }
138
- if (
139
- this.inputData[i].option[0].text !==
140
- this.$t('message.first_option_dropdown')
141
- ) {
142
- singleDropdown.option.unshift(defaultAnswer)
143
- }
144
- selectedChoices.push(null)
145
- }
146
- if (this.quizInputType.length == 0) {
147
- this.quizInputTypeValue = selectedChoices
148
- } else {
149
- this.quizInputTypeValue = this.quizInputType
150
- }
151
- }
152
- }
153
- }
154
- </script>
155
- <style lang="scss">
156
- .dropdown-container {
157
- position: relative;
158
- }
159
- </style>
1
+ <!-- About this Component--
2
+ * Renders a SELECT input to display choices of response for the Quiz component
3
+ * Related Quiz to question: DROPDOWN
4
+ * Receives the a data object defined by user
5
+ * Used by AppCompQuizNext
6
+ * Uses useQuiz composable
7
+ -->
8
+ <template>
9
+ <div class="input-box">
10
+ <div
11
+ v-for="singleDropdown in inputData"
12
+ :key="singleDropdown.id"
13
+ class="dropdown-container"
14
+ :class="`dropdownlist-${singleDropdown.id} ${classInput(singleDropdown.id, quizInputTypeValue)}`"
15
+ >
16
+ <label
17
+ :for="`${inputDataId}_${singleDropdown.id}`"
18
+ v-html="singleDropdown.ennonce"
19
+ ></label>
20
+
21
+ <v-select
22
+ :id="inputDataId + '_' + singleDropdown.id"
23
+ v-model="quizInputTypeValue[singleDropdown.id]"
24
+ item-title="text"
25
+ :item-props="true"
26
+ :items="singleDropdown.option"
27
+ :disabled="quizLimitActive"
28
+ :open-text="$t('message.dropdown_list') + ' ' + singleDropdown.ennonce"
29
+ close-text=""
30
+ ></v-select>
31
+ </div>
32
+ </div>
33
+ </template>
34
+ <script>
35
+ import { useQuiz } from '../composables/useQuiz'
36
+ import { toRefs } from 'vue'
37
+ export default {
38
+ name: 'AppCompInputDropdown',
39
+
40
+ props: {
41
+ quizType: {
42
+ type: String,
43
+ default: ''
44
+ },
45
+ inputDataId: {
46
+ type: String,
47
+ default: ''
48
+ },
49
+ inputData: {
50
+ type: Array,
51
+ default: () => []
52
+ },
53
+ quizInputType: {
54
+ type: Array,
55
+ default: () => []
56
+ },
57
+ solution: {
58
+ type: Array,
59
+ default: () => []
60
+ },
61
+ showSolution: {
62
+ type: Boolean,
63
+ default: false
64
+ },
65
+ quizLimitActive: {
66
+ type: Boolean,
67
+ default: false
68
+ },
69
+ shuffleAnswers: {
70
+ type: Boolean,
71
+ default: false
72
+ },
73
+
74
+ quizSubmit: {
75
+ type: Boolean,
76
+ default: false
77
+ } //use to call a submit
78
+ },
79
+ emits: ['input-change'],
80
+ setup(props) {
81
+ const { containsValue, shuffleArray, classInput, messageAccessibility } =
82
+ useQuiz(toRefs(props))
83
+
84
+ return {
85
+ containsValue,
86
+ shuffleArray,
87
+ classInput,
88
+ messageAccessibility
89
+ }
90
+ },
91
+
92
+ data() {
93
+ return {
94
+ quizInputTypeValue: [], //not using quizInputType because quizInputType is a prop
95
+ quizSolution: null
96
+ }
97
+ },
98
+
99
+ computed: {},
100
+
101
+ watch: {
102
+ /**
103
+ * @description to pass value to AppCompQuiz
104
+ * @emits input-change
105
+ */
106
+ quizInputTypeValue: {
107
+ deep: true,
108
+ handler(newValue) {
109
+ this.$emit('input-change', newValue)
110
+ }
111
+ }
112
+ },
113
+
114
+ mounted() {
115
+ this.initQuiz()
116
+ },
117
+
118
+ methods: {
119
+ initQuiz() {
120
+ this.quizSolution = this.solution
121
+ if (this.quizSolution !== null) {
122
+ this.quizSolution.sort(function (a, b) {
123
+ return a - b
124
+ })
125
+ }
126
+ //to show the defaultAnswer
127
+ const defaultAnswer = {
128
+ value: null,
129
+ disabled: true,
130
+ text: this.$t('message.first_option_dropdown'),
131
+ selected: true
132
+ }
133
+ let selectedChoices = []
134
+ for (let i = 0; i < this.inputData.length; i++) {
135
+ let singleDropdown = this.inputData[i]
136
+ if (this.shuffleAnswers)
137
+ singleDropdown.option = this.shuffleArray(singleDropdown.option)
138
+
139
+ if (
140
+ this.inputData[i].option[0].text !==
141
+ this.$t('message.first_option_dropdown')
142
+ ) {
143
+ singleDropdown.option.unshift(defaultAnswer)
144
+ }
145
+ selectedChoices.push(null)
146
+ }
147
+ if (this.quizInputType.length == 0) {
148
+ this.quizInputTypeValue = selectedChoices
149
+ } else {
150
+ this.quizInputTypeValue = this.quizInputType
151
+ }
152
+ }
153
+ }
154
+ }
155
+ </script>
156
+ <style lang="scss">
157
+ .dropdown-container {
158
+ position: relative;
159
+ }
160
+
161
+ .texteatrou {
162
+ display: inline !important;
163
+ .cnt-input {
164
+ display: inline;
165
+
166
+ .v-input {
167
+ display: inline-block !important;
168
+
169
+ .v-input__control,
170
+ .v-field {
171
+ width: 240px !important;
172
+ grid-area: inherit !important;
173
+
174
+ .v-field__field {
175
+ height: 25px !important;
176
+ padding: 0 !important;
177
+ min-height: inherit !important;
178
+
179
+ .v-field__input {
180
+ padding-top: 0 !important;
181
+ padding-bottom: 0 !important;
182
+ min-height: inherit !important;
183
+
184
+ .v-select__selection {
185
+ min-height: inherit !important;
186
+ }
187
+ }
188
+ }
189
+
190
+ .v-field__append-inner {
191
+ margin-right: 6px;
192
+ }
193
+ }
194
+
195
+ .v-input__details {
196
+ display: none;
197
+ }
198
+ }
199
+ }
200
+ }
201
+ </style>
@@ -1,152 +1,152 @@
1
- <!-- About this Component--
2
- * Renders a RADIO BUTTON input to display choices of response for the Quiz component
3
- * Related Quiz to question: REPONSE_UNIQUE
4
- * Receives the a data object defined by user
5
- * Used by AppCompQuizNext
6
- * Uses useQuiz composable
7
- -->
8
-
9
- <template>
10
- <div class="input-box">
11
- <fieldset>
12
- <legend
13
- :id="`lgd_${inputDataId}`"
14
- class="sr-only"
15
- tabindex="-1"
16
- v-html="$t('quizState.answers')"
17
- />
18
-
19
- <template
20
- v-for="choixReponse in quizInputDataValue"
21
- :Key="`div_chx_${inputDataId}-${choixReponse.id}`"
22
- >
23
- <div class="box-radio" role="group">
24
- <label
25
- :key="`lbl_chx_${inputDataId}_${choixReponse.id}`"
26
- :for="`chx_${inputDataId}_${choixReponse.id}`"
27
- :class="classInput(choixReponse.id)"
28
- class="radio-label"
29
- >
30
- <input
31
- :id="`chx_${inputDataId}_${choixReponse.id}`"
32
- :key="`chx_${inputDataId}_${choixReponse.id}`"
33
- v-model="inputUniqueValue"
34
- :disabled="quizLimitActive"
35
- type="radio"
36
- :value="choixReponse.id"
37
- :name="`btn-radios-${inputDataId}`"
38
- class="radio-input"
39
- :aria-labelledby="`span_${inputDataId}_${choixReponse.id}`"
40
- />
41
-
42
- <span
43
- :id="`span_${inputDataId}_${choixReponse.id}`"
44
- aria-hidden="true"
45
- class="radio-contenu"
46
- v-html="choixReponse.value"
47
- />
48
- <span
49
- :id="`${inputDataId}_${choixReponse.id}-msg-erreur`"
50
- :key="`msg_chx_${inputDataId}_${choixReponse.id}`"
51
- class="sr-only"
52
- >
53
- {{ messageAccessibility(choixReponse.id) }}
54
- </span>
55
- </label>
56
- </div>
57
- </template>
58
- </fieldset>
59
- </div>
60
- </template>
61
- <script>
62
- import { useQuiz } from '../composables/useQuiz'
63
- import { toRefs } from 'vue'
64
- export default {
65
- name: 'AppCompInputRadioNext',
66
-
67
- props: {
68
- quizType: {
69
- type: String,
70
- default: ''
71
- },
72
- inputDataId: {
73
- type: String,
74
- default: ''
75
- },
76
-
77
- inputData: {
78
- type: Array,
79
- default: () => []
80
- },
81
- quizInputType: {
82
- type: String,
83
- default: ''
84
- },
85
- solution: {
86
- type: String,
87
- default: ''
88
- }, //may be null
89
- showSolution: {
90
- type: Boolean,
91
- default: false
92
- },
93
- shuffleAnswers: {
94
- type: Boolean,
95
- default: false
96
- },
97
- quizLimitActive: {
98
- type: Boolean,
99
- default: false
100
- }, //use to set if quiz should be active or not
101
-
102
- quizSubmit: {
103
- type: Boolean,
104
- default: false
105
- } //use to call a submit
106
- },
107
- emits: ['input-change'],
108
- setup(props) {
109
- const { shuffleArray, classInput, messageAccessibility } = useQuiz(
110
- toRefs(props)
111
- )
112
-
113
- return { shuffleArray, classInput, messageAccessibility }
114
- },
115
- data() {
116
- return {
117
- quizInputDataValue: [],
118
- inputUniqueValue: null //not using quizInputUnique because quizInputUnique is a prop
119
- }
120
- },
121
-
122
- computed: {},
123
-
124
- watch: {
125
- // /**
126
- // * @description to pass value to AppCompQuiz
127
- // * @fires input-change to AppCompQuiz.vue
128
- // */
129
- inputUniqueValue: {
130
- deep: true,
131
- handler(newValue) {
132
- this.$emit('input-change', newValue)
133
- }
134
- }
135
- },
136
-
137
- mounted() {
138
- this.initQuiz()
139
- },
140
-
141
- methods: {
142
- initQuiz() {
143
- this.inputUniqueValue = this.quizInputType
144
- if (this.shuffleAnswers) {
145
- this.quizInputDataValue = this.shuffleArray(this.inputData)
146
- } else {
147
- this.quizInputDataValue = this.inputData
148
- }
149
- }
150
- }
151
- }
152
- </script>
1
+ <!-- About this Component--
2
+ * Renders a RADIO BUTTON input to display choices of response for the Quiz component
3
+ * Related Quiz to question: REPONSE_UNIQUE
4
+ * Receives the a data object defined by user
5
+ * Used by AppCompQuizNext
6
+ * Uses useQuiz composable
7
+ -->
8
+
9
+ <template>
10
+ <div class="input-box">
11
+ <fieldset>
12
+ <legend
13
+ :id="`lgd_${inputDataId}`"
14
+ class="sr-only"
15
+ tabindex="-1"
16
+ v-html="$t('quizState.answers')"
17
+ />
18
+
19
+ <template
20
+ v-for="choixReponse in quizInputDataValue"
21
+ :Key="`div_chx_${inputDataId}-${choixReponse.id}`"
22
+ >
23
+ <div class="box-radio" role="group">
24
+ <label
25
+ :key="`lbl_chx_${inputDataId}_${choixReponse.id}`"
26
+ :for="`chx_${inputDataId}_${choixReponse.id}`"
27
+ :class="classInput(choixReponse.id)"
28
+ class="radio-label"
29
+ >
30
+ <input
31
+ :id="`chx_${inputDataId}_${choixReponse.id}`"
32
+ :key="`chx_${inputDataId}_${choixReponse.id}`"
33
+ v-model="inputUniqueValue"
34
+ :disabled="quizLimitActive"
35
+ type="radio"
36
+ :value="choixReponse.id"
37
+ :name="`btn-radios-${inputDataId}`"
38
+ class="radio-input"
39
+ :aria-labelledby="`span_${inputDataId}_${choixReponse.id}`"
40
+ />
41
+
42
+ <span
43
+ :id="`span_${inputDataId}_${choixReponse.id}`"
44
+ aria-hidden="true"
45
+ class="radio-contenu"
46
+ v-html="choixReponse.value"
47
+ />
48
+ <span
49
+ :id="`${inputDataId}_${choixReponse.id}-msg-erreur`"
50
+ :key="`msg_chx_${inputDataId}_${choixReponse.id}`"
51
+ class="sr-only"
52
+ >
53
+ {{ messageAccessibility(choixReponse.id) }}
54
+ </span>
55
+ </label>
56
+ </div>
57
+ </template>
58
+ </fieldset>
59
+ </div>
60
+ </template>
61
+ <script>
62
+ import { useQuiz } from '../composables/useQuiz'
63
+ import { toRefs } from 'vue'
64
+ export default {
65
+ name: 'AppCompInputRadioNext',
66
+
67
+ props: {
68
+ quizType: {
69
+ type: String,
70
+ default: ''
71
+ },
72
+ inputDataId: {
73
+ type: String,
74
+ default: ''
75
+ },
76
+
77
+ inputData: {
78
+ type: Array,
79
+ default: () => []
80
+ },
81
+ quizInputType: {
82
+ type: String,
83
+ default: ''
84
+ },
85
+ solution: {
86
+ type: String,
87
+ default: ''
88
+ }, //may be null
89
+ showSolution: {
90
+ type: Boolean,
91
+ default: false
92
+ },
93
+ shuffleAnswers: {
94
+ type: Boolean,
95
+ default: false
96
+ },
97
+ quizLimitActive: {
98
+ type: Boolean,
99
+ default: false
100
+ }, //use to set if quiz should be active or not
101
+
102
+ quizSubmit: {
103
+ type: Boolean,
104
+ default: false
105
+ } //use to call a submit
106
+ },
107
+ emits: ['input-change'],
108
+ setup(props) {
109
+ const { shuffleArray, classInput, messageAccessibility } = useQuiz(
110
+ toRefs(props)
111
+ )
112
+
113
+ return { shuffleArray, classInput, messageAccessibility }
114
+ },
115
+ data() {
116
+ return {
117
+ quizInputDataValue: [],
118
+ inputUniqueValue: null //not using quizInputUnique because quizInputUnique is a prop
119
+ }
120
+ },
121
+
122
+ computed: {},
123
+
124
+ watch: {
125
+ // /**
126
+ // * @description to pass value to AppCompQuiz
127
+ // * @fires input-change to AppCompQuiz.vue
128
+ // */
129
+ inputUniqueValue: {
130
+ deep: true,
131
+ handler(newValue) {
132
+ this.$emit('input-change', newValue)
133
+ }
134
+ }
135
+ },
136
+
137
+ mounted() {
138
+ this.initQuiz()
139
+ },
140
+
141
+ methods: {
142
+ initQuiz() {
143
+ this.inputUniqueValue = this.quizInputType
144
+ if (this.shuffleAnswers) {
145
+ this.quizInputDataValue = this.shuffleArray(this.inputData)
146
+ } else {
147
+ this.quizInputDataValue = this.inputData
148
+ }
149
+ }
150
+ }
151
+ }
152
+ </script>