fcad-core-dragon 2.0.0-beta.8 → 2.0.0-beta.9

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 (57) hide show
  1. package/.editorconfig +33 -33
  2. package/.eslintignore +29 -29
  3. package/.eslintrc.cjs +81 -81
  4. package/CHANGELOG +3 -0
  5. package/README.md +71 -71
  6. package/bk.scss +117 -117
  7. package/package.json +1 -1
  8. package/src/assets/data/onboardingMessages.json +47 -47
  9. package/src/components/AppBaseErrorDisplay.vue +438 -438
  10. package/src/components/AppBaseFlipCard.vue +84 -84
  11. package/src/components/AppBasePopover.vue +41 -41
  12. package/src/components/AppCompInputRadioNext.vue +152 -152
  13. package/src/components/AppCompInputTextToFillNext.vue +171 -171
  14. package/src/components/AppCompJauge.vue +74 -74
  15. package/src/components/AppCompMenuItem.vue +228 -228
  16. package/src/components/AppCompNoteCall.vue +1 -0
  17. package/src/components/AppCompPlayBarProgress.vue +82 -82
  18. package/src/components/AppCompPopUpNext.vue +5 -1
  19. package/src/components/AppCompSettingsMenu.vue +172 -172
  20. package/src/components/AppCompViewDisplay.vue +6 -6
  21. package/src/composables/useQuiz.js +206 -206
  22. package/src/externalComps/ModuleView.vue +22 -22
  23. package/src/externalComps/SummaryView.vue +91 -91
  24. package/src/mixins/$mediaMixins.js +819 -819
  25. package/src/mixins/timerMixin.js +155 -155
  26. package/src/module/xapi/Crypto/Hasher.js +241 -241
  27. package/src/module/xapi/Crypto/WordArray.js +278 -278
  28. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  29. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  30. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  31. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  32. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  33. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  34. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  35. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  36. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  37. package/src/module/xapi/Crypto/index.js +53 -53
  38. package/src/module/xapi/Statement/activity.js +47 -47
  39. package/src/module/xapi/Statement/agent.js +55 -55
  40. package/src/module/xapi/Statement/group.js +26 -26
  41. package/src/module/xapi/Statement/index.js +259 -259
  42. package/src/module/xapi/Statement/statement.js +253 -253
  43. package/src/module/xapi/Statement/statementRef.js +23 -23
  44. package/src/module/xapi/Statement/substatement.js +22 -22
  45. package/src/module/xapi/Statement/verb.js +36 -36
  46. package/src/module/xapi/activitytypes.js +17 -17
  47. package/src/module/xapi/utils.js +167 -167
  48. package/src/module/xapi/verbs.js +294 -294
  49. package/src/module/xapi/xapiStatement.js +444 -444
  50. package/src/plugins/bus.js +8 -8
  51. package/src/plugins/gsap.js +14 -14
  52. package/src/plugins/i18n.js +44 -44
  53. package/src/plugins/save.js +37 -37
  54. package/src/plugins/scorm.js +287 -287
  55. package/src/plugins/xapi.js +11 -11
  56. package/src/public/index.html +33 -33
  57. package/src/shared/generalfuncs.js +210 -210
package/.editorconfig CHANGED
@@ -1,33 +1,33 @@
1
- # http://editorconfig.org
2
- root = true
3
-
4
- [*]
5
- indent_style = space
6
- indent_size = 2
7
- end_of_line = lf
8
- charset = utf-8
9
- trim_trailing_whitespace = true
10
- insert_final_newline = true
11
-
12
-
13
- # The JSON files contain newlines inconsistently
14
- [*.json]
15
- insert_final_newline = ignore
16
-
17
- # Minified JavaScript files shouldn't be changed
18
- [**.min.js]
19
- indent_style = ignore
20
- insert_final_newline = ignore
21
-
22
- # Makefiles always use tabs for indentation
23
- [Makefile]
24
- indent_style = tab
25
-
26
- # Batch files use tabs for indentation
27
- [*.bat]
28
- indent_style = tab
29
-
30
- [*.md]
31
- trim_trailing_whitespace = false
32
- insert_final_newline = false
33
-
1
+ # http://editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ indent_style = space
6
+ indent_size = 2
7
+ end_of_line = lf
8
+ charset = utf-8
9
+ trim_trailing_whitespace = true
10
+ insert_final_newline = true
11
+
12
+
13
+ # The JSON files contain newlines inconsistently
14
+ [*.json]
15
+ insert_final_newline = ignore
16
+
17
+ # Minified JavaScript files shouldn't be changed
18
+ [**.min.js]
19
+ indent_style = ignore
20
+ insert_final_newline = ignore
21
+
22
+ # Makefiles always use tabs for indentation
23
+ [Makefile]
24
+ indent_style = tab
25
+
26
+ # Batch files use tabs for indentation
27
+ [*.bat]
28
+ indent_style = tab
29
+
30
+ [*.md]
31
+ trim_trailing_whitespace = false
32
+ insert_final_newline = false
33
+
package/.eslintignore CHANGED
@@ -1,29 +1,29 @@
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
-
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 CHANGED
@@ -1,81 +1,81 @@
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
- }
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/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ 2.0.0-beta.9(03 mars 2025)
2
+ Correction de bogues (conflit toc/notes avec popup, ouverture simultanée de toc et notes)
3
+
1
4
  2.0.0-beta.8(25 février 2025)
2
5
  Nettoyage des dépendances
3
6
 
package/README.md CHANGED
@@ -1,72 +1,72 @@
1
- # fcad-core-ninja
2
-
3
- ## Project setup
4
-
5
- ```
6
- npm install
7
- ```
8
-
9
- ## How to use
10
-
11
- ### Install in project
12
-
13
- In your project install this library by doing :
14
-
15
- ```
16
- npm install fcad-core-dragon
17
- ```
18
-
19
- ### Use in project
20
-
21
- Now in your main.js do
22
-
23
- ```
24
- import FcadCoreDragon from 'fcad-core-dragon'
25
-
26
- Vue.use(FcadCoreDragon, {$options})
27
- ```
28
-
29
- #### $options Parameters
30
-
31
- $options to pass to library are:
32
-
33
- + **i18n**: pass project **internationalization / Localisation** reference to library
34
- + **router**: pass project **router** reference library
35
- + **appSettings**: pass project **app setting** from './app.settings.js'
36
- + **menuSettings**: pass project **menu settings** './src/menu.settings.js'
37
-
38
-
39
- In the components of your project you can now use the components of the library
40
-
41
- ```
42
- //Exemple in App.js of your project use component AppBase of Library
43
- <app-base/>
44
- ```
45
-
46
- For more information check [documentation](https://fcaddocumentation.netlify.app/)
47
-
48
- ### Compiles and minifies for production
49
-
50
- ```
51
- npm run build
52
- ```
53
-
54
- ### Lints and fixes files
55
-
56
- ```
57
- npm run lint
58
- ```
59
-
60
- ## Configurations
61
-
62
- Get the configurations files from [FCAD ressources](https://redmine.cegepadistance.ca/projects/fcad/wiki/Wiki) and
63
- add them in the root of your projects.
64
- .Zip containts:
65
-
66
- 1. Vue.config.js
67
- 2. .editorconfig
68
- 3. .gitignore
69
- 4. .eslintrc
70
- 5. .eslintignore
71
- 6. .prettierrc.js
1
+ # fcad-core-ninja
2
+
3
+ ## Project setup
4
+
5
+ ```
6
+ npm install
7
+ ```
8
+
9
+ ## How to use
10
+
11
+ ### Install in project
12
+
13
+ In your project install this library by doing :
14
+
15
+ ```
16
+ npm install fcad-core-dragon
17
+ ```
18
+
19
+ ### Use in project
20
+
21
+ Now in your main.js do
22
+
23
+ ```
24
+ import FcadCoreDragon from 'fcad-core-dragon'
25
+
26
+ Vue.use(FcadCoreDragon, {$options})
27
+ ```
28
+
29
+ #### $options Parameters
30
+
31
+ $options to pass to library are:
32
+
33
+ + **i18n**: pass project **internationalization / Localisation** reference to library
34
+ + **router**: pass project **router** reference library
35
+ + **appSettings**: pass project **app setting** from './app.settings.js'
36
+ + **menuSettings**: pass project **menu settings** './src/menu.settings.js'
37
+
38
+
39
+ In the components of your project you can now use the components of the library
40
+
41
+ ```
42
+ //Exemple in App.js of your project use component AppBase of Library
43
+ <app-base/>
44
+ ```
45
+
46
+ For more information check [documentation](https://fcaddocumentation.netlify.app/)
47
+
48
+ ### Compiles and minifies for production
49
+
50
+ ```
51
+ npm run build
52
+ ```
53
+
54
+ ### Lints and fixes files
55
+
56
+ ```
57
+ npm run lint
58
+ ```
59
+
60
+ ## Configurations
61
+
62
+ Get the configurations files from [FCAD ressources](https://redmine.cegepadistance.ca/projects/fcad/wiki/Wiki) and
63
+ add them in the root of your projects.
64
+ .Zip containts:
65
+
66
+ 1. Vue.config.js
67
+ 2. .editorconfig
68
+ 3. .gitignore
69
+ 4. .eslintrc
70
+ 5. .eslintignore
71
+ 6. .prettierrc.js
72
72
 
package/bk.scss CHANGED
@@ -1,117 +1,117 @@
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
- }
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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcad-core-dragon",
3
- "version": "2.0.0-beta.8",
3
+ "version": "2.0.0-beta.9",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./src/main.js",