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.
Files changed (73) hide show
  1. package/.editorconfig +8 -33
  2. package/.prettierrc +11 -0
  3. package/.vscode/extensions.json +8 -0
  4. package/.vscode/settings.json +16 -0
  5. package/CHANGELOG +20 -0
  6. package/eslint.config.js +60 -0
  7. package/package.json +9 -9
  8. package/src/$locales/en.json +3 -3
  9. package/src/$locales/fr.json +3 -3
  10. package/src/assets/data/onboardingMessages.json +47 -47
  11. package/src/components/AppBase.vue +5 -6
  12. package/src/components/AppBaseErrorDisplay.vue +438 -438
  13. package/src/components/AppBaseFlipCard.vue +84 -84
  14. package/src/components/AppBaseModule.vue +15 -17
  15. package/src/components/AppBasePage.vue +91 -8
  16. package/src/components/AppBasePopover.vue +41 -41
  17. package/src/components/AppBaseSkeleton.vue +24 -3
  18. package/src/components/AppCompAudio.vue +12 -2
  19. package/src/components/AppCompInputCheckBoxNx.vue +1 -2
  20. package/src/components/AppCompInputRadioNx.vue +8 -2
  21. package/src/components/AppCompInputTextToFillDropdownNx.vue +45 -0
  22. package/src/components/AppCompMenu.vue +423 -423
  23. package/src/components/AppCompNavigation.vue +2 -2
  24. package/src/components/AppCompPlayBarNext.vue +123 -94
  25. package/src/components/AppCompPopUpNext.vue +2 -2
  26. package/src/components/AppCompQuizNext.vue +12 -2
  27. package/src/components/AppCompQuizRecall.vue +10 -4
  28. package/src/components/AppCompSettingsMenu.vue +172 -172
  29. package/src/components/AppCompTableOfContent.vue +1 -4
  30. package/src/components/AppCompVideoPlayer.vue +7 -0
  31. package/src/components/AppCompViewDisplay.vue +6 -6
  32. package/src/composables/useTimer.js +17 -20
  33. package/src/externalComps/ModuleView.vue +22 -22
  34. package/src/externalComps/SummaryView.vue +91 -91
  35. package/src/main.js +5 -5
  36. package/src/module/stores/appStore.js +0 -1
  37. package/src/module/xapi/Crypto/Hasher.js +241 -241
  38. package/src/module/xapi/Crypto/WordArray.js +278 -278
  39. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  40. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  41. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  42. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  43. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  44. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  45. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  46. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  47. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  48. package/src/module/xapi/Crypto/index.js +53 -53
  49. package/src/module/xapi/Statement/activity.js +47 -47
  50. package/src/module/xapi/Statement/agent.js +55 -55
  51. package/src/module/xapi/Statement/group.js +26 -26
  52. package/src/module/xapi/Statement/index.js +259 -259
  53. package/src/module/xapi/Statement/statement.js +253 -253
  54. package/src/module/xapi/Statement/statementRef.js +23 -23
  55. package/src/module/xapi/Statement/substatement.js +22 -22
  56. package/src/module/xapi/Statement/verb.js +36 -36
  57. package/src/module/xapi/activitytypes.js +17 -17
  58. package/src/module/xapi/utils.js +167 -167
  59. package/src/module/xapi/verbs.js +294 -294
  60. package/src/module/xapi/xapiStatement.js +444 -444
  61. package/src/plugins/analytics.js +4 -4
  62. package/src/plugins/bus.js +8 -8
  63. package/src/plugins/gsap.js +4 -2
  64. package/src/plugins/helper.js +8 -4
  65. package/src/plugins/save.js +37 -37
  66. package/src/plugins/scorm.js +287 -287
  67. package/src/plugins/xapi.js +11 -11
  68. package/src/public/index.html +33 -33
  69. package/src/router/index.js +1 -1
  70. package/src/shared/validators.js +22 -6
  71. package/.eslintignore +0 -29
  72. package/.eslintrc.cjs +0 -81
  73. package/bk.scss +0 -117
@@ -11,7 +11,7 @@ const router = createRouter({
11
11
  routes,
12
12
  scrollBehavior(to, from, savedPosition) {
13
13
  if (to.hash) {
14
- from, savedPosition
14
+ ;(from, savedPosition)
15
15
  return {
16
16
  selector: to.hash
17
17
  // , offset: { x: 0, y: 10 }
@@ -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
- errors = validateObjType(
978
- data.retroaction[key],
979
- { stringType },
980
- null,
981
- key
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
- }