fcad-core-dragon 2.0.0 → 2.0.1-beta.0

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 (53) hide show
  1. package/.editorconfig +33 -33
  2. package/.eslintignore +29 -29
  3. package/.eslintrc.cjs +81 -81
  4. package/README.md +57 -72
  5. package/bk.scss +117 -117
  6. package/package.json +1 -1
  7. package/src/assets/data/onboardingMessages.json +47 -47
  8. package/src/components/AppBaseErrorDisplay.vue +438 -438
  9. package/src/components/AppBaseFlipCard.vue +84 -84
  10. package/src/components/AppBasePopover.vue +41 -41
  11. package/src/components/AppCompInputDropdownNext.vue +1 -1
  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/AppCompPlayBarProgress.vue +82 -82
  16. package/src/components/AppCompSettingsMenu.vue +172 -172
  17. package/src/components/AppCompViewDisplay.vue +6 -6
  18. package/src/composables/useQuiz.js +206 -206
  19. package/src/externalComps/ModuleView.vue +22 -22
  20. package/src/externalComps/SummaryView.vue +91 -91
  21. package/src/mixins/$mediaMixins.js +819 -819
  22. package/src/module/xapi/Crypto/Hasher.js +241 -241
  23. package/src/module/xapi/Crypto/WordArray.js +278 -278
  24. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  25. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  26. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  27. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  28. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  29. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  30. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  31. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  32. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  33. package/src/module/xapi/Crypto/index.js +53 -53
  34. package/src/module/xapi/Statement/activity.js +47 -47
  35. package/src/module/xapi/Statement/agent.js +55 -55
  36. package/src/module/xapi/Statement/group.js +26 -26
  37. package/src/module/xapi/Statement/index.js +259 -259
  38. package/src/module/xapi/Statement/statement.js +253 -253
  39. package/src/module/xapi/Statement/statementRef.js +23 -23
  40. package/src/module/xapi/Statement/substatement.js +22 -22
  41. package/src/module/xapi/Statement/verb.js +36 -36
  42. package/src/module/xapi/activitytypes.js +17 -17
  43. package/src/module/xapi/utils.js +167 -167
  44. package/src/module/xapi/verbs.js +294 -294
  45. package/src/module/xapi/xapiStatement.js +444 -444
  46. package/src/plugins/bus.js +8 -8
  47. package/src/plugins/gsap.js +14 -14
  48. package/src/plugins/i18n.js +44 -44
  49. package/src/plugins/save.js +37 -37
  50. package/src/plugins/scorm.js +287 -287
  51. package/src/plugins/xapi.js +11 -11
  52. package/src/public/index.html +33 -33
  53. 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/README.md CHANGED
@@ -1,72 +1,57 @@
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
-
1
+ ```
2
+ .. ..
3
+ oec : dF dF
4
+ @88888 '88bu. u. .u . '88bu. .u . u. u. u.
5
+ 8"*88% . u '*88888bu . ...ue888b .d88B :@8c .u '*88888bu .d88B :@8c u uL ...ue888b x@88k u@88c.
6
+ 8b. .udR88N us888u. ^"*8888N .udR88N 888R Y888r ="8888f8888r ud8888. ^"*8888N ="8888f8888r us888u. .ue888Nc.. 888R Y888r ^"8888""8888"
7
+ u888888> <888'888k .@88 "8888" beWE "888L <888'888k 888R I888> 4888>'88" :888'8888. beWE "888L 4888>'88" .@88 "8888" d88E`"888E` 888R I888> 8888 888R
8
+ 8888R 9888 'Y" 9888 9888 888E 888E 9888 'Y" 888R I888> 4888> ' d888 '88%" 888E 888E 4888> ' 9888 9888 888E 888E 888R I888> 8888 888R
9
+ 8888P 9888 9888 9888 888E 888E 9888 888R I888> 4888> 8888.+" 888E 888E 4888> 9888 9888 888E 888E 888R I888> 8888 888R
10
+ *888> 9888 9888 9888 888E 888F 88888888 9888 u8888cJ888 .d888L .+ 8888L 88888888 888E 888F .d888L .+ 9888 9888 888E 888E u8888cJ888 8888 888R
11
+ 4888 ?8888u../ 9888 9888 .888N..888 88888888 ?8888u../ "*888*P" ^"8888*" '8888c. .+ 88888888 .888N..888 ^"8888*" 9888 9888 888& .888E "*888*P" "*88*" 8888"
12
+ '888 "8888P' "888*""888" `"888*"" "8888P' 'Y" "Y" "88888% `"888*"" "Y" "888*""888" *888" 888& 'Y" "" 'Y"
13
+ 88R "P' ^Y" ^Y' "" "P' "YP' "" ^Y" ^Y' `" "888E
14
+ 88> .dWi `88E
15
+ 48 4888~ J8%
16
+ '8 ^"===*"`
17
+ ```
18
+
19
+ ## Development
20
+
21
+ ### Install dependencies
22
+
23
+ ```
24
+ npm install
25
+ ```
26
+
27
+ ### Install yalc and nodemon globally
28
+
29
+ ```
30
+ npm install yalc nodemon -g
31
+ ```
32
+
33
+ ### Publish to the yalc store on file change (monitors js,vue,html,json filetypes)
34
+
35
+ ```
36
+ npm run watch
37
+ ```
38
+
39
+ ### Open a terminal in your target project and link fcad-core-dragon from the yalc store
40
+
41
+ ```
42
+ npm link fcad-core-dragon
43
+ ```
44
+
45
+ ### Prepare a build for production (lands in dist folder)
46
+
47
+ ```
48
+ npm run build
49
+ ```
50
+
51
+ ### Lints and fixes files
52
+
53
+ ```
54
+ npm run lint
55
+ ```
56
+
57
+ For more information check the [documentation](https://fcaddocumentation.netlify.app/)
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",
3
+ "version": "2.0.1-beta.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./src/main.js",