fcad-core-dragon 2.2.0 → 2.3.0-test.2

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/.gitlab-ci.yml CHANGED
@@ -18,11 +18,11 @@ cache:
18
18
  # Global variables to ensure clean clones and token-based authentication
19
19
  variables:
20
20
  GIT_STRATEGY: clone
21
- GIT_CHECKOUT: "true"
21
+ GIT_CHECKOUT: 'true'
22
22
  GIT_SUBMODULE_STRATEGY: recursive
23
23
  GIT_DEPTH: 1 # Faster, shallow clone
24
- GIT_SSL_NO_VERIFY: "true" # Optional: if your GitLab server uses self-signed SSL
25
- NPM_TOKEN: "$NPM_ACCESS_KEY" # hold value of Auth key for npm access
24
+ GIT_SSL_NO_VERIFY: 'true' # Optional: if your GitLab server uses self-signed SSL
25
+ NPM_TOKEN: '$NPM_ACCESS_KEY' # hold value of Auth key for npm access
26
26
 
27
27
  # Install stage
28
28
  install_dependencies:
@@ -41,8 +41,7 @@ lint_code:
41
41
  #unit-test stage
42
42
  run_tests_unit:
43
43
  stage: test
44
- dependencies:
45
- - install_dependencies
44
+ needs: ['install_dependencies', 'lint_code']
46
45
  script:
47
46
  - echo "🏃 Running tests..."
48
47
  - npm run test:unit:coverage -- --reporter=junit --outputFile=junit-report.xml
@@ -62,23 +61,19 @@ run_tests_unit:
62
61
  #Components-test stage with playwright
63
62
  run_components_test:
64
63
  stage: test
65
- image: mcr.microsoft.com/playwright:v1.48.0-jammy
66
- dependencies:
67
- - install_dependencies
64
+ needs: ['install_dependencies', 'lint_code']
68
65
  script:
69
66
  - echo "🏃 Running Components tests..."
67
+ - npm ci
70
68
  - npx playwright install
71
69
  - npm run test-ct
72
- - mkdir -p artifacts
73
- - cp -r playwright-report artifacts/playwright-report || true
74
- - if [ -f results.xml ]; then cp results.xml artifacts/results.xml; fi
75
70
  artifacts:
76
71
  when: always
77
72
  reports:
78
- junit: artifacts/results.xml # for reporting in GitLab
73
+ junit: results.xml
79
74
  paths:
80
- - artifacts/playwright-report/
81
- - artifacts/results.xml
75
+ - playwright-report/
76
+ - results.xml
82
77
  allow_failure: true
83
78
 
84
79
  #Deploy to npm
@@ -86,21 +81,12 @@ publish_to_npm:
86
81
  stage: deploy
87
82
  #image: node:22
88
83
  script:
89
- # Get version from package.json
90
- - VERSION=$(node -p "require('./package.json').version")
91
- - echo "Detected version => $VERSION"
92
- # Set the right tag (next or latest) according to version
93
- - if [[ "$VERSION" == *beta* ]]; then TAG="next"; else TAG="latest"; fi
94
- - echo "Using dist-tag => $TAG"
95
84
  - echo " //registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
96
- - echo "👀 Check token - ${NPM_TOKEN} "
97
- - cat ~/.npmrc
98
- - npm whoami || true
85
+ - npm ci
86
+ - npx semantic-release # Check semantic-release version
99
87
  - echo "🚀 Publishing package version from tag $CI_COMMIT_TAG"
100
- - npm publish --access public --tag "$TAG" # scoped of publication (public)
101
- when: on_success
102
88
  rules:
103
89
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Deploy only from the default branch (e.g., main)
104
- changes:
105
- - package.json # run job only when package.json is modified
106
-
90
+ - if: $CI_COMMIT_BRANCH == "beta" # Deploy from branch (e.g., beta)
91
+ - if: $CI_COMMIT_BRANCH == "alpha" # Deploy from branch (e.g., alpha)
92
+ - if: $CI_COMMIT_BRANCH == "test" # Deploy from branch (e.g., test)
package/.releaserc ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "branches": [
3
+ "master",
4
+ {
5
+ "name": "beta",
6
+ "prerelease": true
7
+ },
8
+ {
9
+ "name": "alpha",
10
+ "prerelease": true
11
+ },
12
+ {
13
+ "name": "test",
14
+ "prerelease": "test"
15
+ }
16
+ ],
17
+ "plugins": [
18
+ "@semantic-release/commit-analyzer",
19
+ "@semantic-release/release-notes-generator",
20
+ [
21
+ "@semantic-release/changelog",
22
+ {
23
+ "changelogFile": "CHANGELOG.md"
24
+ }
25
+ ],
26
+ "@semantic-release/npm",
27
+ [
28
+ "@semantic-release/git",
29
+ {
30
+ "assets": [
31
+ "package.json",
32
+ "CHANGELOG.md"
33
+ ],
34
+ "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
35
+ }
36
+ ],
37
+ "@semantic-release/gitlab"
38
+ ]
39
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,21 @@
1
+ # [2.3.0-test.2](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/compare/v2.3.0-test.1...v2.3.0-test.2) (2026-04-10)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **server connection:** remote parameter prevent production build to connect to LRS when deployed on Moodle ([994e702](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/994e702ce0ed69633798adec8830d33b87680e92))
7
+
8
+ # [2.3.0-test.1](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/compare/v2.2.0...v2.3.0-test.1) (2026-03-27)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **ci-config:** fixed the rule for npm deployment on branches beta, apha and test ([38923e7](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/38923e7ad775795f2ea27f0d304915a740185892))
14
+ * **ci-config:** fixed the rule for npm deployment on branches beta, apha and test ([808d3de](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/808d3de37bf1d03d420e05fa13412ce17ca72ad1))
15
+ * **dependencies:** fixed depentencies conflicts causing npm ci to fail ([469918e](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/469918e24d0b2948adf7d2f0135d80aeba2b35a8))
16
+ * remaning release config file to .releaserc ([2a746d0](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/2a746d0b294577128937a22fae8f556984e97fda))
17
+
18
+
19
+ ### Features
20
+
21
+ * **core:** expose app-store and app-router via provide for to external plugins and libraries ([42e776f](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/42e776f9af103490d58d067389d28223c61d7ee8))
@@ -15,8 +15,8 @@ export default defineConfig({
15
15
  prev: 'Page précédente',
16
16
  next: 'Page suivante'
17
17
  },
18
- darkModeSwitchTitle : 'Activer le thème sombre',
19
- lightModeSwitchTitle : 'Activer le thème clair',
18
+ darkModeSwitchTitle: 'Activer le thème sombre',
19
+ lightModeSwitchTitle: 'Activer le thème clair',
20
20
  lastUpdated: {
21
21
  text: 'Dernière modification ',
22
22
  formatOptions: {
@@ -26,7 +26,7 @@ export default defineConfig({
26
26
  },
27
27
  search: {
28
28
  provider: 'local',
29
- options:{
29
+ options: {
30
30
  locales: {
31
31
  root: {
32
32
  translations: {
@@ -42,7 +42,7 @@ export default defineConfig({
42
42
  footer: {
43
43
  selectText: 'accéder à la page',
44
44
  navigateText: 'parcourir les résultats',
45
- closeText: 'quitter la recherche',
45
+ closeText: 'quitter la recherche'
46
46
  }
47
47
  }
48
48
  }
@@ -56,17 +56,24 @@ export default defineConfig({
56
56
  { text: 'Accueil', link: '/' },
57
57
  { text: 'Démarrage', link: '/demarrage' },
58
58
  { text: 'Composants', link: '/composants' },
59
- { text: 'Déploiement', link: '/deploiement' },
59
+ { text: 'Déploiement', link: '/deploiement' }
60
60
  // { text: 'Examples', link: '/markdown-examples' }
61
61
  ],
62
62
  sidebar: [
63
- { text: 'Composants critiques',
63
+ {
64
+ text: 'Composants critiques',
64
65
  collapsed: true,
65
66
  items: [
66
67
  { text: 'app-base', link: '/composants_critiques/app-base' },
67
- { text: 'app-base-module', link: '/composants_critiques/app-base-module' },
68
- { text: 'app-base-page', link: '/composants_critiques/app-base-page' },
69
- { text: 'main', link: '/composants_critiques/main' },
68
+ {
69
+ text: 'app-base-module',
70
+ link: '/composants_critiques/app-base-module'
71
+ },
72
+ {
73
+ text: 'app-base-page',
74
+ link: '/composants_critiques/app-base-page'
75
+ },
76
+ { text: 'main', link: '/composants_critiques/main' }
70
77
  ]
71
78
  },
72
79
  {
@@ -74,41 +81,111 @@ export default defineConfig({
74
81
  collapsed: true,
75
82
  items: [
76
83
  { text: 'app-base-button', link: '/composants/app-base-button' },
77
- { text: 'app-base-error-display', link: '/composants/app-base-error-display' },
84
+ {
85
+ text: 'app-base-error-display',
86
+ link: '/composants/app-base-error-display'
87
+ },
78
88
  { text: 'app-base-popover', link: '/composants/app-base-popover' },
79
89
  { text: 'app-comp-audio', link: '/composants/app-comp-audio' },
80
- { text: 'app-comp-branch-buttons', link: '/composants/app-comp-branch-buttons' },
81
- { text: 'app-comp-button-progress', link: '/composants/app-comp-button-progress' },
90
+ {
91
+ text: 'app-comp-branch-buttons',
92
+ link: '/composants/app-comp-branch-buttons'
93
+ },
94
+ {
95
+ text: 'app-comp-button-progress',
96
+ link: '/composants/app-comp-button-progress'
97
+ },
82
98
  { text: 'app-comp-carousel', link: '/composants/app-comp-carousel' },
83
- { text: 'app-comp-container', link: '/composants/app-comp-container' },
84
- { text: 'app-comp-input-checkbox-next', link: '/composants/app-comp-input-checkbox-next' },
85
- { text: 'app-comp-input-dropdown-next', link: '/composants/app-comp-input-dropdown-next' },
86
- { text: 'app-comp-input-radio-next', link: '/composants/app-comp-input-radio-next' },
87
- { text: 'app-comp-input-text-next', link: '/composants/app-comp-input-text-next' },
88
- { text: 'app-comp-input-text-table-next', link: '/composants/app-comp-input-text-table-next' },
89
- { text: 'app-comp-input-text-to-fill-dropdown-next', link: '/composants/app-comp-input-text-to-fill-dropdown-next' },
90
- { text: 'app-comp-input-text-to-fill-next', link: '/composants/app-comp-input-text-to-fill-next' },
99
+ {
100
+ text: 'app-comp-container',
101
+ link: '/composants/app-comp-container'
102
+ },
103
+ {
104
+ text: 'app-comp-input-checkbox-next',
105
+ link: '/composants/app-comp-input-checkbox-next'
106
+ },
107
+ {
108
+ text: 'app-comp-input-dropdown-next',
109
+ link: '/composants/app-comp-input-dropdown-next'
110
+ },
111
+ {
112
+ text: 'app-comp-input-radio-next',
113
+ link: '/composants/app-comp-input-radio-next'
114
+ },
115
+ {
116
+ text: 'app-comp-input-text-next',
117
+ link: '/composants/app-comp-input-text-next'
118
+ },
119
+ {
120
+ text: 'app-comp-input-text-table-next',
121
+ link: '/composants/app-comp-input-text-table-next'
122
+ },
123
+ {
124
+ text: 'app-comp-input-text-to-fill-dropdown-next',
125
+ link: '/composants/app-comp-input-text-to-fill-dropdown-next'
126
+ },
127
+ {
128
+ text: 'app-comp-input-text-to-fill-next',
129
+ link: '/composants/app-comp-input-text-to-fill-next'
130
+ },
91
131
  { text: 'app-comp-jauge', link: '/composants/app-comp-jauge' },
132
+ { text: 'app-comp-math', link: '/composants/app-comp-math' },
92
133
  { text: 'app-comp-menu', link: '/composants/app-comp-menu' },
93
- { text: 'app-comp-menu-item', link: '/composants/app-comp-menu-item' },
94
- { text: 'app-comp-navigation', link: '/composants/app-comp-navigation' },
95
- { text: 'app-comp-note-call', link: '/composants/app-comp-note-call' },
96
- { text: 'app-comp-note-credit', link: '/composants/app-comp-note-credit' },
97
- { text: 'app-comp-play-bar-next', link: '/composants/app-comp-play-bar-next' },
98
- { text: 'app-comp-play-bar-progress', link: '/composants/app-comp-play-bar-progress' },
99
- { text: 'app-comp-pop-up-next', link: '/composants/app-comp-pop-up-next' },
100
- { text: 'app-comp-quiz-next', link: '/composants/app-comp-quiz-next' },
101
- { text: 'app-comp-quiz-recall', link: '/composants/app-comp-quiz-recall' },
134
+ {
135
+ text: 'app-comp-menu-item',
136
+ link: '/composants/app-comp-menu-item'
137
+ },
138
+ {
139
+ text: 'app-comp-navigation',
140
+ link: '/composants/app-comp-navigation'
141
+ },
142
+ {
143
+ text: 'app-comp-note-call',
144
+ link: '/composants/app-comp-note-call'
145
+ },
146
+ {
147
+ text: 'app-comp-note-credit',
148
+ link: '/composants/app-comp-note-credit'
149
+ },
150
+ {
151
+ text: 'app-comp-play-bar-next',
152
+ link: '/composants/app-comp-play-bar-next'
153
+ },
154
+ {
155
+ text: 'app-comp-play-bar-progress',
156
+ link: '/composants/app-comp-play-bar-progress'
157
+ },
158
+ {
159
+ text: 'app-comp-pop-up-next',
160
+ link: '/composants/app-comp-pop-up-next'
161
+ },
162
+ {
163
+ text: 'app-comp-quiz-next',
164
+ link: '/composants/app-comp-quiz-next'
165
+ },
166
+ {
167
+ text: 'app-comp-quiz-recall',
168
+ link: '/composants/app-comp-quiz-recall'
169
+ },
102
170
  // { text: 'app-comp-settings-menu', link: '/composants/app-comp-settings-menu' },
103
171
  { text: 'app-comp-svg-next', link: '/composants/app-comp-svg-next' },
104
- { text: 'app-comp-table-of-content', link: '/composants/app-comp-table-of-content' },
105
- { text: 'app-comp-video-player', link: '/composants/app-comp-video-player' },
172
+ {
173
+ text: 'app-comp-table-of-content',
174
+ link: '/composants/app-comp-table-of-content'
175
+ },
176
+ {
177
+ text: 'app-comp-video-player',
178
+ link: '/composants/app-comp-video-player'
179
+ }
106
180
  ]
107
181
  }
108
182
  ],
109
183
 
110
184
  socialLinks: [
111
- { icon: 'gitlab', link: 'https://git.crosemont.qc.ca/fcad/core/fcad-core-2' }
185
+ {
186
+ icon: 'gitlab',
187
+ link: 'https://git.crosemont.qc.ca/fcad/core/fcad-core-2'
188
+ }
112
189
  ]
113
190
  }
114
191
  })
package/package.json CHANGED
@@ -1,11 +1,28 @@
1
1
  {
2
- "browserslist": [
3
- "> 1%",
4
- "last 2 versions",
5
- "not dead"
6
- ],
7
- "config": {
8
- "projname": ""
2
+ "name": "fcad-core-dragon",
3
+ "version": "2.3.0-test.2",
4
+ "private": false,
5
+ "type": "module",
6
+ "main": "./src/main.js",
7
+ "engines": {
8
+ "node": ">0.11.9"
9
+ },
10
+ "scripts": {
11
+ "build": "vite build",
12
+ "dev": "vite",
13
+ "docs:build": "vitepress build documentation",
14
+ "docs:dev": "vitepress dev documentation",
15
+ "docs:preview": "vitepress preview documentation",
16
+ "format": "prettier --write src/",
17
+ "lintfix": "eslint --fix src",
18
+ "lintreport": "eslint ./src",
19
+ "preview": "vite preview",
20
+ "reset": "rm -rf ./node_modules package-lock.json .cache dist && npm i && npm run watch",
21
+ "test-ct": "npx playwright test -c playwright-ct.config.js",
22
+ "test:unit": "vitest",
23
+ "test:unit:coverage": "vitest --coverage",
24
+ "vue": "vue",
25
+ "watch": "nodemon -e js,vue,html,json -x yalc publish --push"
9
26
  },
10
27
  "dependencies": {
11
28
  "axios": "^1.6.8",
@@ -19,14 +36,21 @@
19
36
  "devDependencies": {
20
37
  "@eslint/js": "^9.38.0",
21
38
  "@pinia/testing": "^1.0.3",
22
- "@playwright/experimental-ct-vue": "^1.56.1",
23
- "@playwright/test": "^1.56.1",
39
+ "@playwright/experimental-ct-vue": "^1.50.1",
40
+ "@playwright/test": "^1.50.1",
41
+ "@semantic-release/changelog": "^6.0.3",
42
+ "@semantic-release/commit-analyzer": "^13.0.1",
43
+ "@semantic-release/git": "^10.0.1",
44
+ "@semantic-release/gitlab": "^13.3.2",
45
+ "@semantic-release/npm": "^12.0.2",
46
+ "@semantic-release/release-notes-generator": "^14.1.0",
24
47
  "@testing-library/jest-dom": "^6.9.1",
25
- "@types/node": "^24.10.0",
48
+ "@types/node": "^22.10.0",
26
49
  "@vitejs/plugin-vue": "^6.0.1",
27
- "@vitest/coverage-v8": "^4.0.15",
50
+ "@vitest/coverage-v8": "^3.0.0",
28
51
  "@vue/eslint-config-prettier": "^10.2.0",
29
52
  "@vue/test-utils": "^2.4.6",
53
+ "esbuild": "0.25.12",
30
54
  "eslint": "^9.38.0",
31
55
  "eslint-plugin-cypress": "^5.1.0",
32
56
  "eslint-plugin-vue": "~10.3.0",
@@ -36,35 +60,24 @@
36
60
  "nodemon": "^3.1.0",
37
61
  "prettier": "^3.6.2",
38
62
  "sass-embedded": "^1.91.0",
63
+ "vite": "^6.0.1",
39
64
  "vitepress": "^1.6.3",
40
- "vitest": "^4.0.15",
65
+ "vitest": "^3.0.0",
41
66
  "vue-i18n": "^11.1.12",
42
67
  "vue-router": "^4.4.5",
43
68
  "vuetify": "^3.10.10"
44
69
  },
45
- "engines": {
46
- "node": ">0.11.9"
70
+ "overrides": {
71
+ "esbuild": "0.25.12",
72
+ "vite": "^6.0.1",
73
+ "@vitejs/plugin-vue": "^6.0.1"
47
74
  },
48
- "main": "./src/main.js",
49
- "name": "fcad-core-dragon",
50
- "private": false,
51
- "scripts": {
52
- "build": "vite build",
53
- "dev": "vite",
54
- "docs:build": "vitepress build documentation",
55
- "docs:dev": "vitepress dev documentation",
56
- "docs:preview": "vitepress preview documentation",
57
- "format": "prettier --write src/",
58
- "lintfix": "eslint --fix src",
59
- "lintreport": "eslint ./src",
60
- "preview": "vite preview",
61
- "reset": "rm -rf ./node_modules package-lock.json .cache dist && npm i && npm run watch",
62
- "test-ct": "playwright test -c playwright-ct.config.js",
63
- "test:unit": "vitest",
64
- "test:unit:coverage": "vitest --coverage",
65
- "vue": "vue",
66
- "watch": "nodemon -e js,vue,html,json -x yalc publish --push"
67
- },
68
- "type": "module",
69
- "version": "2.2.0"
75
+ "browserslist": [
76
+ "> 1%",
77
+ "last 2 versions",
78
+ "not dead"
79
+ ],
80
+ "config": {
81
+ "projname": ""
82
+ }
70
83
  }
@@ -131,6 +131,7 @@ export default {
131
131
  'getRouteHistory',
132
132
  'getBookmarkEnabled',
133
133
  'getAppDebugMode',
134
+ 'getLessonPosition',
134
135
  'getApplicationSettings'
135
136
  ]),
136
137
  appDebugMode() {
@@ -204,7 +205,9 @@ export default {
204
205
  appReady: {
205
206
  handler(newValue) {
206
207
  if (newValue) {
207
- this.setInitialLoadingDone()
208
+ this.$nextTick(() => {
209
+ this.setInitialLoadingDone()
210
+ })
208
211
  }
209
212
  }
210
213
  }
@@ -371,8 +374,13 @@ export default {
371
374
  )
372
375
  },
373
376
 
374
- setInitialLoadingDone() {
377
+ async setInitialLoadingDone() {
375
378
  this.initialLoading = false
379
+
380
+ if (this.bookmarkActive) {
381
+ const bookmark = this.getLessonPosition[0]
382
+ this.$router.push({ name: bookmark })
383
+ } // navigate to menu to start the app
376
384
  },
377
385
  /**
378
386
  * @description set the desired language for the app default is french
@@ -758,11 +766,25 @@ export default {
758
766
  extensions: [
759
767
  {
760
768
  id: 'ending-point',
761
- content: (() =>
762
- this.$route.name == 'menu'
763
- ? this.$helper.getRoutesFromVueRouter().meta.children[0]
764
- ._namedRoute
765
- : this.$route.name)()
769
+ content: (() => {
770
+ const {
771
+ name,
772
+ meta: { activity_ref, id, type }
773
+ } = this.$route
774
+ let bookmark = {
775
+ name,
776
+ activity_ref,
777
+ id,
778
+ type
779
+ }
780
+ if (this.$route.name == 'menu') {
781
+ bookmark =
782
+ this.getLessonPosition.length > 0
783
+ ? this.getLessonPosition[0]
784
+ : this.$helper.getRoutesFromVueRouter().meta.children[0]
785
+ }
786
+ return bookmark
787
+ })()
766
788
  },
767
789
  {
768
790
  id: 'user-data',
@@ -770,10 +792,14 @@ export default {
770
792
  routeHistory: (() => {
771
793
  const history = this.getRouteHistory.toReversed() //get the route history from the last
772
794
 
773
- history[0] = this.$route.meta // change the last recored route to the current route
795
+ if (this.$route.name !== 'menu') history[0] = this.$route.meta // change the last recored route to the current route
774
796
 
775
797
  return history.toReversed()
776
798
  })(),
799
+
800
+ playbarValues: {
801
+ ...this.getMediaPlaybarValues()
802
+ },
777
803
  ...lessonsData
778
804
  }
779
805
  }
@@ -783,21 +809,7 @@ export default {
783
809
 
784
810
  const endStmt = { ...stmt }
785
811
  endStmt.verb = 'terminated'
786
- //================================STATEMENT FOR THE PLAYBAR ===============================================
787
- //Creating custom statement
788
- const stmtPlaybar = {
789
- verb: 'played',
790
- definition: text,
791
- description: text,
792
- extensions: [
793
- {
794
- id: 'playbar-values',
795
- content: {
796
- ...this.getMediaPlaybarValues()
797
- }
798
- }
799
- ]
800
- }
812
+
801
813
  //================================STATEMENT FOR THE SETTINGS ===============================================
802
814
 
803
815
  //Creating custom statement
@@ -815,19 +827,12 @@ export default {
815
827
  content: {
816
828
  ...this.getApplicationSettings
817
829
  }
818
- // content: {
819
- // bookmark: false
820
- // } //for testing
821
830
  }
822
831
  ]
823
832
  }
824
833
  //================================END STATEMENT ===============================================
825
834
 
826
- this.sendXapiStatements(
827
- [stmtPlaybar, stmtUserSettings, stmt, endStmt],
828
- null,
829
- option
830
- ) //send xapi statement
835
+ this.sendXapiStatements([stmtUserSettings, stmt, endStmt], null, option) //send xapi statement
831
836
 
832
837
  if (this.appTimer.getTimerState() === 'started')
833
838
  setTimeout(() => this.stopAppTimer(), 0) //clear the timer
@@ -881,14 +886,6 @@ export default {
881
886
  ...baseStmt,
882
887
  verb: 'terminated',
883
888
  extensions: [
884
- {
885
- id: 'ending-point',
886
- content: (() =>
887
- this.$route.name == 'menu'
888
- ? this.$helper.getRoutesFromVueRouter().meta.children[0]
889
- ._namedRoute
890
- : this.$route.name)()
891
- },
892
889
  {
893
890
  id: 'user-data',
894
891
  content: new Object()
@@ -926,51 +923,20 @@ export default {
926
923
  const fetchData = async () => {
927
924
  //funtion that will make a multiple request on the server
928
925
  const requests = async () => {
929
- const _url = new URL(activityId)
930
- const parentID = `${_url.origin}/${this.getModuleInfo.courseID}` // redefining activity id for statement
931
-
932
926
  const lessonProgressParam = { email: actorMbox, activityId }
933
927
  const lessonStateParam = {
934
928
  email: actorMbox,
935
929
  activityId,
936
930
  verb: 'suspended'
937
931
  }
938
- const lessonPosionParam = {
939
- email: actorMbox,
940
- activityId
941
- }
942
- const playbarParam = {
943
- email: actorMbox,
944
- activityId,
945
- verb: 'played'
946
- }
947
- const preferencesParam = {
948
- email: actorMbox,
949
- activityId: parentID,
950
- verb: 'preferred'
951
- }
952
932
 
953
- const fetchParams = [
954
- lessonProgressParam,
955
- lessonStateParam,
956
- lessonPosionParam,
957
- playbarParam,
958
- preferencesParam
959
- ]
960
-
961
- // Using Promise.all to make parallel requests
962
- const {
963
- userData,
964
- savedPoint,
965
- preferredSettings,
966
- playbarValues,
967
- lessonStatus
968
- } = await this.$xapi._getBulkData(fetchParams)
933
+ const fetchParams = [lessonProgressParam, lessonStateParam]
934
+ const { userData, savedPoint, playbarValues, lessonStatus } =
935
+ await this.$xapi._getBulkData(fetchParams)
969
936
 
970
937
  return {
971
938
  userData,
972
939
  savedPoint,
973
- preferredSettings,
974
940
  playbarValues,
975
941
  lessonStatus
976
942
  }