fcad-core-dragon 2.1.0-beta.4 → 2.1.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/.editorconfig +8 -33
- package/.prettierrc +11 -0
- package/.vscode/extensions.json +8 -0
- package/.vscode/settings.json +16 -0
- package/CHANGELOG +20 -0
- package/eslint.config.js +60 -0
- package/package.json +9 -9
- package/src/$locales/en.json +3 -3
- package/src/$locales/fr.json +3 -3
- package/src/assets/data/onboardingMessages.json +47 -47
- package/src/components/AppBase.vue +5 -6
- package/src/components/AppBaseErrorDisplay.vue +438 -438
- package/src/components/AppBaseFlipCard.vue +84 -84
- package/src/components/AppBaseModule.vue +15 -17
- package/src/components/AppBasePage.vue +91 -8
- package/src/components/AppBasePopover.vue +41 -41
- package/src/components/AppBaseSkeleton.vue +24 -3
- package/src/components/AppCompAudio.vue +12 -2
- package/src/components/AppCompInputCheckBoxNx.vue +1 -2
- package/src/components/AppCompInputRadioNx.vue +8 -2
- package/src/components/AppCompInputTextToFillDropdownNx.vue +45 -0
- package/src/components/AppCompMenu.vue +423 -423
- package/src/components/AppCompNavigation.vue +2 -2
- package/src/components/AppCompPlayBarNext.vue +123 -94
- package/src/components/AppCompPopUpNext.vue +2 -2
- package/src/components/AppCompQuizNext.vue +12 -2
- package/src/components/AppCompQuizRecall.vue +10 -4
- package/src/components/AppCompSettingsMenu.vue +172 -172
- package/src/components/AppCompTableOfContent.vue +1 -4
- package/src/components/AppCompVideoPlayer.vue +7 -0
- package/src/components/AppCompViewDisplay.vue +6 -6
- package/src/composables/useTimer.js +17 -20
- package/src/externalComps/ModuleView.vue +22 -22
- package/src/externalComps/SummaryView.vue +91 -91
- package/src/main.js +5 -5
- package/src/module/stores/appStore.js +0 -1
- package/src/module/xapi/Crypto/Hasher.js +241 -241
- package/src/module/xapi/Crypto/WordArray.js +278 -278
- package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
- package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
- package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
- package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
- package/src/module/xapi/Crypto/encoders/Base.js +105 -105
- package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
- package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
- package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
- package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
- package/src/module/xapi/Crypto/index.js +53 -53
- package/src/module/xapi/Statement/activity.js +47 -47
- package/src/module/xapi/Statement/agent.js +55 -55
- package/src/module/xapi/Statement/group.js +26 -26
- package/src/module/xapi/Statement/index.js +259 -259
- package/src/module/xapi/Statement/statement.js +253 -253
- package/src/module/xapi/Statement/statementRef.js +23 -23
- package/src/module/xapi/Statement/substatement.js +22 -22
- package/src/module/xapi/Statement/verb.js +36 -36
- package/src/module/xapi/activitytypes.js +17 -17
- package/src/module/xapi/utils.js +167 -167
- package/src/module/xapi/verbs.js +294 -294
- package/src/module/xapi/xapiStatement.js +444 -444
- package/src/plugins/analytics.js +4 -4
- package/src/plugins/bus.js +8 -8
- package/src/plugins/gsap.js +4 -2
- package/src/plugins/helper.js +8 -4
- package/src/plugins/save.js +37 -37
- package/src/plugins/scorm.js +287 -287
- package/src/plugins/xapi.js +11 -11
- package/src/public/index.html +33 -33
- package/src/router/index.js +1 -1
- package/src/shared/validators.js +22 -6
- package/.eslintignore +0 -29
- package/.eslintrc.cjs +0 -81
- package/bk.scss +0 -117
package/src/router/index.js
CHANGED
package/src/shared/validators.js
CHANGED
|
@@ -955,10 +955,18 @@ const validateQuizData = (data) => {
|
|
|
955
955
|
if (hasError) return errors
|
|
956
956
|
|
|
957
957
|
//validate Containt for retroaction
|
|
958
|
+
|
|
959
|
+
|
|
960
|
+
// if(data.solution !=null){
|
|
961
|
+
// console.log('ici')
|
|
962
|
+
// }else{
|
|
963
|
+
// console.log('la')
|
|
964
|
+
// }
|
|
958
965
|
|
|
959
966
|
switch (true) {
|
|
960
967
|
case data.retroaction != null:
|
|
961
968
|
objectType = ['retro_positive', 'retro_negative', 'retro_neutre']
|
|
969
|
+
|
|
962
970
|
|
|
963
971
|
errors = validateObjType(
|
|
964
972
|
data.retroaction,
|
|
@@ -966,20 +974,28 @@ const validateQuizData = (data) => {
|
|
|
966
974
|
null,
|
|
967
975
|
'quizData retraoction'
|
|
968
976
|
)
|
|
977
|
+
|
|
969
978
|
hasError = errors.errorInConsole.length || errors.errorList.length
|
|
970
979
|
|
|
980
|
+
//console.log(hasError)
|
|
971
981
|
if (hasError) return errors
|
|
972
982
|
|
|
973
983
|
// Validate containt of retroaction attributes
|
|
974
984
|
stringType = ['title', 'hypertext']
|
|
975
985
|
|
|
986
|
+
|
|
976
987
|
for (const key of Object.keys(data.retroaction)) {
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
988
|
+
|
|
989
|
+
if(key == "retro_neutre") continue //skip
|
|
990
|
+
|
|
991
|
+
|
|
992
|
+
|
|
993
|
+
errors = validateObjType(
|
|
994
|
+
data.retroaction[key],
|
|
995
|
+
{ stringType },
|
|
996
|
+
null,
|
|
997
|
+
key
|
|
998
|
+
)
|
|
983
999
|
|
|
984
1000
|
hasError = errors.errorInConsole.length || errors.errorList.length
|
|
985
1001
|
|
package/.eslintignore
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
.DS_Store
|
|
2
|
-
node_modules
|
|
3
|
-
/dist
|
|
4
|
-
yalc.lock
|
|
5
|
-
package-lock.json
|
|
6
|
-
.zip
|
|
7
|
-
|
|
8
|
-
# local env files
|
|
9
|
-
.env.local
|
|
10
|
-
.env.*.local
|
|
11
|
-
|
|
12
|
-
# Log files
|
|
13
|
-
npm-debug.log*
|
|
14
|
-
yarn-debug.log*
|
|
15
|
-
yarn-error.log*
|
|
16
|
-
pnpm-debug.log*
|
|
17
|
-
|
|
18
|
-
# Editor directories and files
|
|
19
|
-
.idea
|
|
20
|
-
.vscode
|
|
21
|
-
*.suo
|
|
22
|
-
*.ntvs*
|
|
23
|
-
*.njsproj
|
|
24
|
-
*.sln
|
|
25
|
-
*.sw?
|
|
26
|
-
\_*
|
|
27
|
-
.eslintrc
|
|
28
|
-
.gitignore
|
|
29
|
-
|
package/.eslintrc.cjs
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// Special confirugation for pettier for this project. Creating this file is optional in a project.
|
|
2
|
-
module.exports = {
|
|
3
|
-
root: true,
|
|
4
|
-
env: {
|
|
5
|
-
node: true,
|
|
6
|
-
browser: true
|
|
7
|
-
},
|
|
8
|
-
plugins: ['prettier'],
|
|
9
|
-
extends: ['eslint:recommended', 'plugin:vue/vue3-recommended', 'prettier'],
|
|
10
|
-
rules: {
|
|
11
|
-
// Only allow debugger in development
|
|
12
|
-
'no-debugger': process.env.PRE_COMMIT ? 'error' : 'off',
|
|
13
|
-
// Only allow `console.log` in development
|
|
14
|
-
'no-console': process.env.PRE_COMMIT
|
|
15
|
-
? ['error', { allow: ['warn', 'error'] }]
|
|
16
|
-
: 'off',
|
|
17
|
-
//'comma-dangle': ['error', 'never'],
|
|
18
|
-
'no-alert': 'off',
|
|
19
|
-
//'vue/array-bracket-spacing': 'error',
|
|
20
|
-
//'vue/block-spacing': 'error',
|
|
21
|
-
// 'vue/comma-dangle': ['error', 'never'],
|
|
22
|
-
//'vue/object-curly-spacing': ['error', 'always'],
|
|
23
|
-
'vue/no-v-for-template-key': 'off',
|
|
24
|
-
'vue/valid-template-root': 'off',
|
|
25
|
-
// 'vue/no-v-for-template-key-on-child':'off',
|
|
26
|
-
'vue/component-name-in-template-casing': [
|
|
27
|
-
'error',
|
|
28
|
-
'kebab-case',
|
|
29
|
-
{
|
|
30
|
-
ignores: []
|
|
31
|
-
}
|
|
32
|
-
],
|
|
33
|
-
'vue/no-v-html': 'off',
|
|
34
|
-
'prettier/prettier': [
|
|
35
|
-
'error',
|
|
36
|
-
{
|
|
37
|
-
singleQuote: true,
|
|
38
|
-
semi: false,
|
|
39
|
-
tabWidth: 2,
|
|
40
|
-
trailingComma: 'none',
|
|
41
|
-
arrowParens: 'always',
|
|
42
|
-
htmlWhitespaceSensitivity: 'ignore',
|
|
43
|
-
endOfLine: 'auto'
|
|
44
|
-
}
|
|
45
|
-
],
|
|
46
|
-
'no-param-reassign': [0, { allowPassedByValue: true }],
|
|
47
|
-
'no-shadow': 'off',
|
|
48
|
-
'prefer-const': [
|
|
49
|
-
'off',
|
|
50
|
-
{
|
|
51
|
-
destructuring: 'any',
|
|
52
|
-
ignoreReadBeforeAssign: false
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
'consistent-return': 'off',
|
|
56
|
-
camelcase: 'off',
|
|
57
|
-
'no-underscore-dangle': 'off',
|
|
58
|
-
'no-restricted-syntax': 'off',
|
|
59
|
-
'no-lonely-if': 'off',
|
|
60
|
-
'default-case': 'off',
|
|
61
|
-
'no-plusplus': 'off',
|
|
62
|
-
'no-loop-func': 'off',
|
|
63
|
-
'no-prototype-builtins': 'off',
|
|
64
|
-
'func-names': 'off',
|
|
65
|
-
'no-unused-vars': ['error', { args: 'none', ignoreRestSiblings: true }]
|
|
66
|
-
},
|
|
67
|
-
parserOptions: {
|
|
68
|
-
sourceType: 'module'
|
|
69
|
-
},
|
|
70
|
-
overrides: [
|
|
71
|
-
{
|
|
72
|
-
files: [
|
|
73
|
-
'**/__tests__/*.{j,t}s?(x)',
|
|
74
|
-
'**/tests/unit/**/*.spec.{j,t}s?(x)'
|
|
75
|
-
],
|
|
76
|
-
env: {
|
|
77
|
-
jest: true
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
]
|
|
81
|
-
}
|
package/bk.scss
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
.navbar {
|
|
4
|
-
position: absolute;
|
|
5
|
-
top: 0;
|
|
6
|
-
left: 0;
|
|
7
|
-
z-index: 10;
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
|
-
flex-wrap: wrap;
|
|
11
|
-
align-content: start;
|
|
12
|
-
width: 67px;
|
|
13
|
-
height: 100%;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.module-wrapper {
|
|
17
|
-
width: 100%;
|
|
18
|
-
position: relative;
|
|
19
|
-
|
|
20
|
-
#wrapper-content {
|
|
21
|
-
width: 100%;
|
|
22
|
-
position: relative;
|
|
23
|
-
padding-right: 0 !important;
|
|
24
|
-
padding-left: 0 !important;
|
|
25
|
-
|
|
26
|
-
&.active {
|
|
27
|
-
overflow: hidden;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.box {
|
|
31
|
-
width: 100%;
|
|
32
|
-
height: 95%;
|
|
33
|
-
|
|
34
|
-
.app-page {
|
|
35
|
-
width: 100%;
|
|
36
|
-
margin-top: 60px;
|
|
37
|
-
|
|
38
|
-
.row {
|
|
39
|
-
width: 100%;
|
|
40
|
-
margin-right: 0;
|
|
41
|
-
margin-left: 0;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.app-comp-table-of-content {
|
|
48
|
-
display: -webkit-flex;
|
|
49
|
-
display: flex;
|
|
50
|
-
flex-direction: column;
|
|
51
|
-
flex-wrap: wrap;
|
|
52
|
-
position: absolute;
|
|
53
|
-
top: 0px;
|
|
54
|
-
min-height: 100%;
|
|
55
|
-
z-index: 1;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.app-nav {
|
|
60
|
-
.md-controller {
|
|
61
|
-
display: -webkit-flex;
|
|
62
|
-
display: flex;
|
|
63
|
-
flex-direction: row;
|
|
64
|
-
align-items: baseline;
|
|
65
|
-
//width: $widthPlayer;
|
|
66
|
-
width: 50%;
|
|
67
|
-
|
|
68
|
-
.ctrl-play {
|
|
69
|
-
display: -webkit-flex;
|
|
70
|
-
display: flex;
|
|
71
|
-
flex-direction: row;
|
|
72
|
-
align-items: baseline;
|
|
73
|
-
//width: $widthPlayer;
|
|
74
|
-
width: 50%;
|
|
75
|
-
|
|
76
|
-
#progress-bar {
|
|
77
|
-
display: block;
|
|
78
|
-
//width: $widthProgressBar;
|
|
79
|
-
width: 150px;
|
|
80
|
-
//height: $heigthProgressBar;
|
|
81
|
-
height: 10px;
|
|
82
|
-
position: relative;
|
|
83
|
-
overflow: hidden;
|
|
84
|
-
|
|
85
|
-
#progress {
|
|
86
|
-
display: block;
|
|
87
|
-
height: 100%;
|
|
88
|
-
background-color: red;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
#progress-shaddow {
|
|
92
|
-
display: block;
|
|
93
|
-
height: 100%;
|
|
94
|
-
position: absolute;
|
|
95
|
-
top: 0px;
|
|
96
|
-
left: 0px;
|
|
97
|
-
z-index: -1;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.ctrl-subtitle {
|
|
103
|
-
//width: $widthCtrSubtitle;
|
|
104
|
-
width: 10%;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.ctrl-sound {
|
|
108
|
-
display: -webkit-flex;
|
|
109
|
-
display: flex;
|
|
110
|
-
flex-direction: row;
|
|
111
|
-
align-items: baseline;
|
|
112
|
-
justify-content: space-between;
|
|
113
|
-
//width: $widthCtrlSound;
|
|
114
|
-
width: 40%;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|