fcad-core-dragon 2.1.0-beta.2 → 2.1.0-beta.3

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 (67) hide show
  1. package/.editorconfig +33 -33
  2. package/.eslintignore +29 -29
  3. package/.eslintrc.cjs +81 -81
  4. package/CHANGELOG +20 -0
  5. package/bk.scss +117 -117
  6. package/package.json +30 -31
  7. package/src/assets/data/onboardingMessages.json +47 -47
  8. package/src/components/AppBase.vue +167 -39
  9. package/src/components/AppBaseButton.test.js +0 -1
  10. package/src/components/AppBaseErrorDisplay.vue +438 -438
  11. package/src/components/AppBaseFlipCard.vue +84 -84
  12. package/src/components/AppBaseModule.vue +103 -116
  13. package/src/components/AppBasePage.vue +13 -13
  14. package/src/components/AppBasePopover.vue +41 -41
  15. package/src/components/AppCompMenu.vue +2 -1
  16. package/src/components/AppCompPlayBarNext.vue +157 -16
  17. package/src/components/AppCompPopUpNext.vue +3 -3
  18. package/src/components/AppCompQuizRecall.vue +2 -3
  19. package/src/components/AppCompSettingsMenu.vue +172 -172
  20. package/src/components/AppCompTableOfContent.vue +1 -1
  21. package/src/components/AppCompViewDisplay.vue +6 -6
  22. package/src/components/tests__/useTimer.spec.js +91 -0
  23. package/src/composables/useIdleDetector.js +56 -0
  24. package/src/composables/useQuiz.js +1 -1
  25. package/src/composables/useTimer.js +175 -0
  26. package/src/externalComps/ModuleView.vue +22 -22
  27. package/src/externalComps/SummaryView.vue +91 -91
  28. package/src/main.js +2 -0
  29. package/src/module/stores/appStore.js +10 -34
  30. package/src/module/xapi/ADL.js +1 -0
  31. package/src/module/xapi/Crypto/Hasher.js +241 -241
  32. package/src/module/xapi/Crypto/WordArray.js +278 -278
  33. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  34. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  35. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  36. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  37. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  38. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  39. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  40. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  41. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  42. package/src/module/xapi/Crypto/index.js +53 -53
  43. package/src/module/xapi/Statement/activity.js +47 -47
  44. package/src/module/xapi/Statement/agent.js +55 -55
  45. package/src/module/xapi/Statement/group.js +26 -26
  46. package/src/module/xapi/Statement/index.js +259 -259
  47. package/src/module/xapi/Statement/statement.js +253 -253
  48. package/src/module/xapi/Statement/statementRef.js +23 -23
  49. package/src/module/xapi/Statement/substatement.js +22 -22
  50. package/src/module/xapi/Statement/verb.js +36 -36
  51. package/src/module/xapi/activitytypes.js +17 -17
  52. package/src/module/xapi/utils.js +167 -167
  53. package/src/module/xapi/verbs.js +294 -294
  54. package/src/module/xapi/xapiStatement.js +444 -444
  55. package/src/plugins/analytics.js +34 -0
  56. package/src/plugins/bus.js +8 -8
  57. package/src/plugins/gsap.js +14 -14
  58. package/src/plugins/i18n.js +26 -44
  59. package/src/plugins/save.js +37 -37
  60. package/src/plugins/scorm.js +287 -287
  61. package/src/plugins/xapi.js +11 -11
  62. package/src/public/index.html +33 -33
  63. package/src/router/index.js +6 -3
  64. package/src/components/AppCompPlayBarProgress.vue +0 -82
  65. package/src/mixins/$mediaMixins.js +0 -809
  66. package/src/mixins/timerMixin.js +0 -195
  67. package/src/module/xapi/wrapper copy.js +0 -1963
@@ -1,17 +1,17 @@
1
- export default {
2
- assessment: 'http://adlnet.gov/expapi/activities/assessment',
3
- attempt: 'http://adlnet.gov/expapi/activities/attempt',
4
- course: 'http://adlnet.gov/expapi/activities/course',
5
- file: 'http://adlnet.gov/expapi/activities/file',
6
- interaction: 'http://adlnet.gov/expapi/activities/interaction',
7
- lesson: 'http://adlnet.gov/expapi/activities/lesson',
8
- link: 'http://adlnet.gov/expapi/activities/link',
9
- media: 'http://adlnet.gov/expapi/activities/media',
10
- meeting: 'http://adlnet.gov/expapi/activities/meeting',
11
- module: 'http://adlnet.gov/expapi/activities/module',
12
- objective: 'http://adlnet.gov/expapi/activities/objective',
13
- performance: 'http://adlnet.gov/expapi/activities/performance',
14
- profile: 'http://adlnet.gov/expapi/activities/profile',
15
- question: 'http://adlnet.gov/expapi/activities/question',
16
- simulation: 'http://adlnet.gov/expapi/activities/simulation'
17
- }
1
+ export default {
2
+ assessment: 'http://adlnet.gov/expapi/activities/assessment',
3
+ attempt: 'http://adlnet.gov/expapi/activities/attempt',
4
+ course: 'http://adlnet.gov/expapi/activities/course',
5
+ file: 'http://adlnet.gov/expapi/activities/file',
6
+ interaction: 'http://adlnet.gov/expapi/activities/interaction',
7
+ lesson: 'http://adlnet.gov/expapi/activities/lesson',
8
+ link: 'http://adlnet.gov/expapi/activities/link',
9
+ media: 'http://adlnet.gov/expapi/activities/media',
10
+ meeting: 'http://adlnet.gov/expapi/activities/meeting',
11
+ module: 'http://adlnet.gov/expapi/activities/module',
12
+ objective: 'http://adlnet.gov/expapi/activities/objective',
13
+ performance: 'http://adlnet.gov/expapi/activities/performance',
14
+ profile: 'http://adlnet.gov/expapi/activities/profile',
15
+ question: 'http://adlnet.gov/expapi/activities/question',
16
+ simulation: 'http://adlnet.gov/expapi/activities/simulation'
17
+ }
@@ -1,167 +1,167 @@
1
- export const defineUtils = function (obj = {}) {
2
- let ADL = obj
3
- let onBrowser = false
4
- if (typeof window !== 'undefined') {
5
- ADL = window.ADL = obj.ADL || {}
6
- onBrowser = true
7
- }
8
-
9
- const getObjDefName = function (o) {
10
- if (o.definition && o.definition.name) {
11
- return ADL.xapiutil.getLangVal(o.definition.name)
12
- }
13
- return undefined
14
- }
15
-
16
- const getSubStatementDisplay = function (o) {
17
- if (o.objectType !== 'SubStatement') return
18
- if (o.object.objectType === 'SubStatement') return
19
- if (o.id || o.stored || o.version || o.authority) return
20
- const disp =
21
- ADL.xapiutil.getActorId(o.actor) +
22
- ':' +
23
- ADL.xapiutil.getVerbDisplay(o.verb) +
24
- ':' +
25
- ADL.xapiutil.getObjectId(o.object)
26
- return disp
27
- }
28
-
29
- ADL.xapiutil = {}
30
-
31
- ADL.xapiutil.getLang = function () {
32
- let lang
33
- if (typeof navigator !== 'undefined')
34
- lang =
35
- navigator.language ||
36
- navigator.browserLanguage ||
37
- navigator.systemLanguage ||
38
- navigator.userLanguage
39
- else if (
40
- typeof process !== 'undefined' &&
41
- typeof import.meta.env !== 'undefined' &&
42
- typeof import.meta.env.LANG !== 'undefined'
43
- ) {
44
- const str = import.meta.env.LANG
45
- lang = str.slice(0, str.indexOf('.'))
46
- lang = lang.replace(/_/, '-')
47
- }
48
- return lang || 'en-US'
49
- }
50
-
51
- ADL.xapiutil.getLangVal = function (langprop) {
52
- if (!langprop) return
53
-
54
- const options = Object.keys(langprop)
55
- // test that langprop is a dict (obj)
56
- // skips if not a dict(obj) and returns
57
- if (options.length == 0) return undefined
58
-
59
- let lang = ADL.xapiutil.getLang(),
60
- ret,
61
- dispGotten = false
62
-
63
- do {
64
- //test and retest
65
- if (langprop[lang]) {
66
- ret = langprop[lang]
67
- dispGotten = true
68
- } else if (lang.indexOf('-')) {
69
- lang = lang.substring(0, lang.lastIndexOf('-'))
70
- }
71
- } while (!dispGotten && lang !== '')
72
-
73
- return ret
74
- }
75
-
76
- ADL.xapiutil.getMoreStatements = function (
77
- iterations,
78
- callback,
79
- searchParams
80
- ) {
81
- if (!onBrowser) throw new Error('Node not supported.')
82
-
83
- let stmts = []
84
-
85
- ADL.XAPIWrapper.getStatements(searchParams, null, function getMore(r) {
86
- if (!(r && r.response)) return
87
- const res = JSON.parse(r.response)
88
- if (!res.statements) return
89
- stmts = stmts.concat(res.statements)
90
-
91
- if (iterations-- <= 0) {
92
- callback(stmts)
93
- } else {
94
- if (res.more && res.more !== '') {
95
- ADL.XAPIWrapper.getStatements(searchParams, res.more, getMore)
96
- } else if (res.more === '') {
97
- callback(stmts)
98
- }
99
- }
100
- })
101
- }
102
-
103
- ADL.xapiutil.getActorId = function (a) {
104
- return a.mbox || a.openid || a.mbox_sha1sum || a.account
105
- }
106
-
107
- ADL.xapiutil.getActorIdString = function (a) {
108
- let id = a.mbox || a.openid || a.mbox_sha1sum
109
- if (!id) {
110
- if (a.account) id = a.account.homePage + ':' + a.account.name
111
- else if (a.member) id = 'Anon Group ' + a.member
112
- else id = 'unknown'
113
- }
114
- return id
115
- }
116
-
117
- ADL.xapiutil.getActorDisplay = function (a) {
118
- return a.name || ADL.xapiutil.getActorIdString(a)
119
- }
120
-
121
- ADL.xapiutil.getVerbDisplay = function (v) {
122
- if (!v) return
123
- if (v.display) {
124
- return ADL.xapiutil.getLangVal(v.display) || v.id
125
- }
126
- return v.id
127
- }
128
-
129
- ADL.xapiutil.getObjectType = function (o) {
130
- return o.objectType || (o.id ? 'Activity' : 'Agent')
131
- }
132
-
133
- ADL.xapiutil.getObjectId = function (o) {
134
- if (o.id) return o.id
135
- const type = ADL.xapiutil.getObjectType(o)
136
- if (type === 'Agent' || type === 'Group') return ADL.xapiutil.getActorId(o)
137
- return undefined
138
- }
139
-
140
- ADL.xapiutil.getObjectIdString = function (o) {
141
- if (!o) return 'unknown'
142
- if (o.id) return o.id
143
- const type = ADL.xapiutil.getObjectType(o)
144
- if (type === 'Agent' || type === 'Group')
145
- return ADL.xapiutil.getActorIdString(o)
146
- else if (type == 'SubStatement') {
147
- return getSubStatementDisplay(o)
148
- }
149
- return 'unknown'
150
- }
151
-
152
- ADL.xapiutil.getObjectDisplay = function (o) {
153
- if (!o) return 'unknown'
154
- let disp = getObjDefName(o) || o.name || o.id
155
- if (!disp) {
156
- const type = ADL.xapiutil.getObjectType(o)
157
- if (type === 'Agent' || type == 'Group')
158
- disp = ADL.xapiutil.getActorDisplay(o)
159
- else if (type == 'SubStatement') {
160
- disp = getSubStatementDisplay(o)
161
- }
162
- }
163
-
164
- return disp
165
- }
166
- return ADL.xapiutil
167
- }
1
+ export const defineUtils = function (obj = {}) {
2
+ let ADL = obj
3
+ let onBrowser = false
4
+ if (typeof window !== 'undefined') {
5
+ ADL = window.ADL = obj.ADL || {}
6
+ onBrowser = true
7
+ }
8
+
9
+ const getObjDefName = function (o) {
10
+ if (o.definition && o.definition.name) {
11
+ return ADL.xapiutil.getLangVal(o.definition.name)
12
+ }
13
+ return undefined
14
+ }
15
+
16
+ const getSubStatementDisplay = function (o) {
17
+ if (o.objectType !== 'SubStatement') return
18
+ if (o.object.objectType === 'SubStatement') return
19
+ if (o.id || o.stored || o.version || o.authority) return
20
+ const disp =
21
+ ADL.xapiutil.getActorId(o.actor) +
22
+ ':' +
23
+ ADL.xapiutil.getVerbDisplay(o.verb) +
24
+ ':' +
25
+ ADL.xapiutil.getObjectId(o.object)
26
+ return disp
27
+ }
28
+
29
+ ADL.xapiutil = {}
30
+
31
+ ADL.xapiutil.getLang = function () {
32
+ let lang
33
+ if (typeof navigator !== 'undefined')
34
+ lang =
35
+ navigator.language ||
36
+ navigator.browserLanguage ||
37
+ navigator.systemLanguage ||
38
+ navigator.userLanguage
39
+ else if (
40
+ typeof process !== 'undefined' &&
41
+ typeof import.meta.env !== 'undefined' &&
42
+ typeof import.meta.env.LANG !== 'undefined'
43
+ ) {
44
+ const str = import.meta.env.LANG
45
+ lang = str.slice(0, str.indexOf('.'))
46
+ lang = lang.replace(/_/, '-')
47
+ }
48
+ return lang || 'en-US'
49
+ }
50
+
51
+ ADL.xapiutil.getLangVal = function (langprop) {
52
+ if (!langprop) return
53
+
54
+ const options = Object.keys(langprop)
55
+ // test that langprop is a dict (obj)
56
+ // skips if not a dict(obj) and returns
57
+ if (options.length == 0) return undefined
58
+
59
+ let lang = ADL.xapiutil.getLang(),
60
+ ret,
61
+ dispGotten = false
62
+
63
+ do {
64
+ //test and retest
65
+ if (langprop[lang]) {
66
+ ret = langprop[lang]
67
+ dispGotten = true
68
+ } else if (lang.indexOf('-')) {
69
+ lang = lang.substring(0, lang.lastIndexOf('-'))
70
+ }
71
+ } while (!dispGotten && lang !== '')
72
+
73
+ return ret
74
+ }
75
+
76
+ ADL.xapiutil.getMoreStatements = function (
77
+ iterations,
78
+ callback,
79
+ searchParams
80
+ ) {
81
+ if (!onBrowser) throw new Error('Node not supported.')
82
+
83
+ let stmts = []
84
+
85
+ ADL.XAPIWrapper.getStatements(searchParams, null, function getMore(r) {
86
+ if (!(r && r.response)) return
87
+ const res = JSON.parse(r.response)
88
+ if (!res.statements) return
89
+ stmts = stmts.concat(res.statements)
90
+
91
+ if (iterations-- <= 0) {
92
+ callback(stmts)
93
+ } else {
94
+ if (res.more && res.more !== '') {
95
+ ADL.XAPIWrapper.getStatements(searchParams, res.more, getMore)
96
+ } else if (res.more === '') {
97
+ callback(stmts)
98
+ }
99
+ }
100
+ })
101
+ }
102
+
103
+ ADL.xapiutil.getActorId = function (a) {
104
+ return a.mbox || a.openid || a.mbox_sha1sum || a.account
105
+ }
106
+
107
+ ADL.xapiutil.getActorIdString = function (a) {
108
+ let id = a.mbox || a.openid || a.mbox_sha1sum
109
+ if (!id) {
110
+ if (a.account) id = a.account.homePage + ':' + a.account.name
111
+ else if (a.member) id = 'Anon Group ' + a.member
112
+ else id = 'unknown'
113
+ }
114
+ return id
115
+ }
116
+
117
+ ADL.xapiutil.getActorDisplay = function (a) {
118
+ return a.name || ADL.xapiutil.getActorIdString(a)
119
+ }
120
+
121
+ ADL.xapiutil.getVerbDisplay = function (v) {
122
+ if (!v) return
123
+ if (v.display) {
124
+ return ADL.xapiutil.getLangVal(v.display) || v.id
125
+ }
126
+ return v.id
127
+ }
128
+
129
+ ADL.xapiutil.getObjectType = function (o) {
130
+ return o.objectType || (o.id ? 'Activity' : 'Agent')
131
+ }
132
+
133
+ ADL.xapiutil.getObjectId = function (o) {
134
+ if (o.id) return o.id
135
+ const type = ADL.xapiutil.getObjectType(o)
136
+ if (type === 'Agent' || type === 'Group') return ADL.xapiutil.getActorId(o)
137
+ return undefined
138
+ }
139
+
140
+ ADL.xapiutil.getObjectIdString = function (o) {
141
+ if (!o) return 'unknown'
142
+ if (o.id) return o.id
143
+ const type = ADL.xapiutil.getObjectType(o)
144
+ if (type === 'Agent' || type === 'Group')
145
+ return ADL.xapiutil.getActorIdString(o)
146
+ else if (type == 'SubStatement') {
147
+ return getSubStatementDisplay(o)
148
+ }
149
+ return 'unknown'
150
+ }
151
+
152
+ ADL.xapiutil.getObjectDisplay = function (o) {
153
+ if (!o) return 'unknown'
154
+ let disp = getObjDefName(o) || o.name || o.id
155
+ if (!disp) {
156
+ const type = ADL.xapiutil.getObjectType(o)
157
+ if (type === 'Agent' || type == 'Group')
158
+ disp = ADL.xapiutil.getActorDisplay(o)
159
+ else if (type == 'SubStatement') {
160
+ disp = getSubStatementDisplay(o)
161
+ }
162
+ }
163
+
164
+ return disp
165
+ }
166
+ return ADL.xapiutil
167
+ }