fcad-core-dragon 2.0.0-beta.5 → 2.0.0-beta.7
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 +33 -33
- package/.eslintignore +29 -29
- package/.eslintrc.cjs +81 -81
- package/CHANGELOG +395 -377
- package/README.md +71 -71
- package/bk.scss +117 -117
- package/package.json +61 -61
- package/src/$locales/en.json +23 -25
- package/src/$locales/fr.json +22 -23
- package/src/assets/data/onboardingMessages.json +47 -47
- package/src/components/AppBase.vue +166 -99
- package/src/components/AppBaseButton.vue +2 -0
- package/src/components/AppBaseErrorDisplay.vue +438 -438
- package/src/components/AppBaseFlipCard.vue +84 -84
- package/src/components/AppBaseModule.vue +124 -106
- package/src/components/AppBasePage.vue +14 -4
- package/src/components/AppBasePopover.vue +41 -41
- package/src/components/AppCompAudio.vue +20 -48
- package/src/components/AppCompBranchButtons.vue +7 -53
- package/src/components/{AppCompTranscript.vue → AppCompContainer.vue} +8 -1
- package/src/components/AppCompInputRadioNext.vue +152 -152
- package/src/components/AppCompInputTextToFillNext.vue +171 -171
- package/src/components/AppCompJauge.vue +74 -74
- package/src/components/AppCompMenu.vue +429 -428
- package/src/components/AppCompMenuItem.vue +228 -228
- package/src/components/AppCompNavigation.vue +2 -2
- package/src/components/AppCompPlayBarNext.vue +5 -0
- package/src/components/AppCompPlayBarProgress.vue +82 -82
- package/src/components/AppCompSVGNext.vue +2 -3
- package/src/components/AppCompSettingsMenu.vue +172 -172
- package/src/components/AppCompVideoPlayer.vue +17 -15
- package/src/composables/useQuiz.js +206 -206
- package/src/externalComps/ModuleView.vue +22 -22
- package/src/externalComps/SummaryView.vue +91 -91
- package/src/main.js +34 -29
- package/src/mixins/$mediaMixins.js +819 -819
- package/src/mixins/timerMixin.js +155 -155
- package/src/module/stores/appStore.js +1 -1
- package/src/module/xapi/ADL.js +144 -4
- 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/Statement/agent.js +55 -55
- package/src/module/xapi/Statement/index.js +259 -259
- package/src/module/xapi/Statement/statement.js +253 -253
- package/src/module/xapi/utils.js +167 -167
- package/src/module/xapi/verbs.js +294 -294
- package/src/module/xapi/wrapper copy.js +1963 -0
- package/src/module/xapi/wrapper.js +121 -188
- package/src/module/xapi/xapiStatement.js +444 -444
- package/src/plugins/bus.js +8 -8
- package/src/plugins/gsap.js +14 -14
- package/src/plugins/helper.js +0 -1
- package/src/plugins/i18n.js +44 -44
- 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 +2 -1
- package/src/shared/generalfuncs.js +210 -210
- package/src/shared/validators.js +2 -0
- package/src/components/AppCompPlayBar.vue +0 -1217
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { Latin1 } from './Latin1'
|
|
2
|
-
/**
|
|
3
|
-
* UTF-8 encoding strategy.
|
|
4
|
-
*/
|
|
5
|
-
export const Utf8 = function () {
|
|
6
|
-
return {
|
|
7
|
-
/**
|
|
8
|
-
* Converts a word array to a UTF-8 string.
|
|
9
|
-
*
|
|
10
|
-
* @param {WordArray} wordArray The word array.
|
|
11
|
-
*
|
|
12
|
-
* @return {string} The UTF-8 string.
|
|
13
|
-
*
|
|
14
|
-
* @static
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
*
|
|
18
|
-
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
|
|
19
|
-
*/
|
|
20
|
-
stringify: function (wordArray) {
|
|
21
|
-
try {
|
|
22
|
-
return decodeURIComponent(escape(Latin1.stringify(wordArray)))
|
|
23
|
-
} catch (e) {
|
|
24
|
-
throw new Error('Malformed UTF-8 data')
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Converts a UTF-8 string to a word array.
|
|
30
|
-
*
|
|
31
|
-
* @param {string} utf8Str The UTF-8 string.
|
|
32
|
-
*
|
|
33
|
-
* @return {WordArray} The word array.
|
|
34
|
-
*
|
|
35
|
-
* @static
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
*
|
|
39
|
-
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
|
|
40
|
-
*/
|
|
41
|
-
parse: function (utf8Str) {
|
|
42
|
-
return Latin1.parse(unescape(encodeURIComponent(utf8Str)))
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
1
|
+
import { Latin1 } from './Latin1'
|
|
2
|
+
/**
|
|
3
|
+
* UTF-8 encoding strategy.
|
|
4
|
+
*/
|
|
5
|
+
export const Utf8 = function () {
|
|
6
|
+
return {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a word array to a UTF-8 string.
|
|
9
|
+
*
|
|
10
|
+
* @param {WordArray} wordArray The word array.
|
|
11
|
+
*
|
|
12
|
+
* @return {string} The UTF-8 string.
|
|
13
|
+
*
|
|
14
|
+
* @static
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
|
|
19
|
+
*/
|
|
20
|
+
stringify: function (wordArray) {
|
|
21
|
+
try {
|
|
22
|
+
return decodeURIComponent(escape(Latin1.stringify(wordArray)))
|
|
23
|
+
} catch (e) {
|
|
24
|
+
throw new Error('Malformed UTF-8 data')
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Converts a UTF-8 string to a word array.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} utf8Str The UTF-8 string.
|
|
32
|
+
*
|
|
33
|
+
* @return {WordArray} The word array.
|
|
34
|
+
*
|
|
35
|
+
* @static
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
*
|
|
39
|
+
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
|
|
40
|
+
*/
|
|
41
|
+
parse: function (utf8Str) {
|
|
42
|
+
return Latin1.parse(unescape(encodeURIComponent(utf8Str)))
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Provides an easy constructor for xAPI agent objects
|
|
3
|
-
* @param {string} identifier One of the Inverse Functional Identifiers specified in the spec.
|
|
4
|
-
* That is, an email, a hashed email, an OpenID, or an account object.
|
|
5
|
-
* See (https://github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#inversefunctional)
|
|
6
|
-
* @param {string} [name] The natural-language name of the agent
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
export default class Agent {
|
|
10
|
-
constructor(identifier, name) {
|
|
11
|
-
this.objectType = 'Agent'
|
|
12
|
-
this.name = name
|
|
13
|
-
|
|
14
|
-
// figure out what type of identifier was given
|
|
15
|
-
if (
|
|
16
|
-
identifier &&
|
|
17
|
-
(identifier.mbox ||
|
|
18
|
-
identifier.mbox_sha1sum ||
|
|
19
|
-
identifier.openid ||
|
|
20
|
-
identifier.account)
|
|
21
|
-
) {
|
|
22
|
-
for (var i in identifier) {
|
|
23
|
-
this[i] = identifier[i]
|
|
24
|
-
}
|
|
25
|
-
} else if (/^mailto:/.test(identifier)) {
|
|
26
|
-
this.mbox = identifier
|
|
27
|
-
} else if (/^[0-9a-f]{40}$/i.test(identifier)) {
|
|
28
|
-
this.mbox_sha1sum = identifier
|
|
29
|
-
} else if (/^http[s]?:/.test(identifier)) {
|
|
30
|
-
this.openid = identifier
|
|
31
|
-
} else if (identifier && identifier.homePage && identifier.name) {
|
|
32
|
-
this.account = identifier
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
toString() {
|
|
37
|
-
return (
|
|
38
|
-
this.name ||
|
|
39
|
-
this.mbox ||
|
|
40
|
-
this.openid ||
|
|
41
|
-
this.mbox_sha1sum ||
|
|
42
|
-
this.account.name
|
|
43
|
-
)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
isValid() {
|
|
47
|
-
return (
|
|
48
|
-
this.mbox ||
|
|
49
|
-
this.mbox_sha1sum ||
|
|
50
|
-
this.openid ||
|
|
51
|
-
(this.account.homePage && this.account.name) ||
|
|
52
|
-
(this.objectType === 'Group' && this.member)
|
|
53
|
-
)
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* Provides an easy constructor for xAPI agent objects
|
|
3
|
+
* @param {string} identifier One of the Inverse Functional Identifiers specified in the spec.
|
|
4
|
+
* That is, an email, a hashed email, an OpenID, or an account object.
|
|
5
|
+
* See (https://github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#inversefunctional)
|
|
6
|
+
* @param {string} [name] The natural-language name of the agent
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export default class Agent {
|
|
10
|
+
constructor(identifier, name) {
|
|
11
|
+
this.objectType = 'Agent'
|
|
12
|
+
this.name = name
|
|
13
|
+
|
|
14
|
+
// figure out what type of identifier was given
|
|
15
|
+
if (
|
|
16
|
+
identifier &&
|
|
17
|
+
(identifier.mbox ||
|
|
18
|
+
identifier.mbox_sha1sum ||
|
|
19
|
+
identifier.openid ||
|
|
20
|
+
identifier.account)
|
|
21
|
+
) {
|
|
22
|
+
for (var i in identifier) {
|
|
23
|
+
this[i] = identifier[i]
|
|
24
|
+
}
|
|
25
|
+
} else if (/^mailto:/.test(identifier)) {
|
|
26
|
+
this.mbox = identifier
|
|
27
|
+
} else if (/^[0-9a-f]{40}$/i.test(identifier)) {
|
|
28
|
+
this.mbox_sha1sum = identifier
|
|
29
|
+
} else if (/^http[s]?:/.test(identifier)) {
|
|
30
|
+
this.openid = identifier
|
|
31
|
+
} else if (identifier && identifier.homePage && identifier.name) {
|
|
32
|
+
this.account = identifier
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
toString() {
|
|
37
|
+
return (
|
|
38
|
+
this.name ||
|
|
39
|
+
this.mbox ||
|
|
40
|
+
this.openid ||
|
|
41
|
+
this.mbox_sha1sum ||
|
|
42
|
+
this.account.name
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
isValid() {
|
|
47
|
+
return (
|
|
48
|
+
this.mbox ||
|
|
49
|
+
this.mbox_sha1sum ||
|
|
50
|
+
this.openid ||
|
|
51
|
+
(this.account.homePage && this.account.name) ||
|
|
52
|
+
(this.objectType === 'Group' && this.member)
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
}
|