fcad-core-dragon 2.0.0-beta.3 → 2.0.0-beta.4

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 (95) hide show
  1. package/.editorconfig +33 -33
  2. package/.eslintignore +29 -29
  3. package/.eslintrc.cjs +81 -81
  4. package/CHANGELOG +373 -364
  5. package/README.md +71 -71
  6. package/bk.scss +117 -117
  7. package/package.json +61 -61
  8. package/src/$locales/en.json +143 -143
  9. package/src/$locales/fr.json +105 -105
  10. package/src/assets/data/onboardingMessages.json +47 -47
  11. package/src/components/AppBase.vue +1147 -1054
  12. package/src/components/AppBaseButton.vue +87 -87
  13. package/src/components/AppBaseErrorDisplay.vue +438 -438
  14. package/src/components/AppBaseFlipCard.vue +84 -84
  15. package/src/components/AppBaseModule.vue +1636 -1673
  16. package/src/components/AppBasePage.vue +779 -779
  17. package/src/components/AppBasePopover.vue +41 -41
  18. package/src/components/AppCompAudio.vue +234 -234
  19. package/src/components/AppCompBranchButtons.vue +552 -552
  20. package/src/components/AppCompButtonProgress.vue +126 -126
  21. package/src/components/AppCompCarousel.vue +298 -298
  22. package/src/components/AppCompInputCheckBoxNext.vue +195 -195
  23. package/src/components/AppCompInputDropdownNext.vue +159 -159
  24. package/src/components/AppCompInputRadioNext.vue +152 -152
  25. package/src/components/AppCompInputTextNext.vue +106 -106
  26. package/src/components/AppCompInputTextTableNext.vue +141 -141
  27. package/src/components/AppCompInputTextToFillDropdownNext.vue +230 -230
  28. package/src/components/AppCompInputTextToFillNext.vue +171 -171
  29. package/src/components/AppCompJauge.vue +74 -74
  30. package/src/components/AppCompMenu.vue +423 -413
  31. package/src/components/AppCompMenuItem.vue +228 -228
  32. package/src/components/AppCompNavigation.vue +959 -960
  33. package/src/components/AppCompNoteCall.vue +133 -133
  34. package/src/components/AppCompNoteCredit.vue +292 -292
  35. package/src/components/AppCompPlayBar.vue +1218 -1218
  36. package/src/components/AppCompPlayBarNext.vue +2052 -2052
  37. package/src/components/AppCompPlayBarProgress.vue +82 -82
  38. package/src/components/AppCompPopUpNext.vue +503 -503
  39. package/src/components/AppCompQuizNext.vue +2904 -2904
  40. package/src/components/AppCompQuizRecall.vue +276 -276
  41. package/src/components/AppCompSVGNext.vue +347 -347
  42. package/src/components/AppCompSettingsMenu.vue +172 -172
  43. package/src/components/AppCompTableOfContent.vue +387 -387
  44. package/src/components/AppCompTranscript.vue +24 -24
  45. package/src/components/AppCompVideoPlayer.vue +368 -368
  46. package/src/components/AppCompViewDisplay.vue +6 -6
  47. package/src/components/BaseModule.vue +72 -72
  48. package/src/composables/useQuiz.js +206 -206
  49. package/src/externalComps/ModuleView.vue +22 -22
  50. package/src/externalComps/SummaryView.vue +91 -91
  51. package/src/main.js +272 -272
  52. package/src/mixins/$mediaMixins.js +819 -819
  53. package/src/mixins/timerMixin.js +155 -155
  54. package/src/module/stores/appStore.js +901 -893
  55. package/src/module/xapi/ADL.js +380 -376
  56. package/src/module/xapi/Crypto/Hasher.js +241 -241
  57. package/src/module/xapi/Crypto/WordArray.js +278 -278
  58. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  59. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  60. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  61. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  62. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  63. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  64. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  65. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  66. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  67. package/src/module/xapi/Crypto/index.js +53 -53
  68. package/src/module/xapi/Statement/activity.js +47 -47
  69. package/src/module/xapi/Statement/agent.js +55 -55
  70. package/src/module/xapi/Statement/group.js +26 -26
  71. package/src/module/xapi/Statement/index.js +259 -259
  72. package/src/module/xapi/Statement/statement.js +253 -253
  73. package/src/module/xapi/Statement/statementRef.js +23 -23
  74. package/src/module/xapi/Statement/substatement.js +22 -22
  75. package/src/module/xapi/Statement/verb.js +36 -36
  76. package/src/module/xapi/activitytypes.js +17 -17
  77. package/src/module/xapi/launch.js +157 -157
  78. package/src/module/xapi/utils.js +167 -167
  79. package/src/module/xapi/verbs.js +294 -294
  80. package/src/module/xapi/wrapper.js +1963 -1963
  81. package/src/module/xapi/xapiStatement.js +444 -444
  82. package/src/plugins/bus.js +8 -8
  83. package/src/plugins/gsap.js +14 -14
  84. package/src/plugins/helper.js +314 -308
  85. package/src/plugins/i18n.js +44 -44
  86. package/src/plugins/idb.js +227 -219
  87. package/src/plugins/save.js +37 -37
  88. package/src/plugins/scorm.js +287 -287
  89. package/src/plugins/xapi.js +11 -11
  90. package/src/public/index.html +33 -33
  91. package/src/router/index.js +43 -43
  92. package/src/router/routes.js +312 -312
  93. package/src/shared/generalfuncs.js +210 -210
  94. package/src/shared/validators.js +1069 -1069
  95. package/vite.config.js +0 -27
@@ -1,312 +1,312 @@
1
- import AppCompViewDisplay from '../components/AppCompViewDisplay.vue'
2
- import { fileAssets } from '../shared/generalfuncs'
3
- //import ModuleView from '@/views/ModuleView.vue' // Uncomment for Production
4
- // import SummaryView from '@/views/SummaryView.vue' // Uncomment for Production
5
-
6
- //import ModuleView from '../externalComps/ModuleView.vue' //Only for unit-Testing
7
- //import SummaryView from '../externalComps/SummaryView.vue' //Only for unit-Testing
8
-
9
- /**
10
- * The router Module defines the routes of the App by:
11
- * loading the required files for module and activities pages,
12
- * dynamically creating the navigation route of module base on the file in VIEWS folder
13
- * dynamically creating the navigation routes of activities and branchings base on the files contained in the MODULE
14
- * Creating Redirection routes for navigation error
15
- * Adding the pages for the module in the STORE
16
- */
17
-
18
- const defaultRoutes = [] // routes of the app
19
- let errorType = null
20
- let viewRoute = null // holder for views routes
21
- let mappedFiles = null // routes definitions
22
-
23
- // Creating 1st route: redirection for none existing route to home(Module)
24
- defaultRoutes.push({
25
- path: '/:pathMatch(.*)*',
26
- redirect: {
27
- name: '404'
28
- }
29
- })
30
-
31
- /**
32
- * 2 - Creating the 2nd route: The App module route
33
- */
34
- // Load all the files in the VIEWS folder
35
-
36
- const defaultRoute = {
37
- path: '/',
38
- component: AppCompViewDisplay,
39
- children: [],
40
- meta: {}
41
- }
42
-
43
- if (fileAssets.getViews().length > 0) {
44
- let hasModule = false
45
- let hasSummary = false
46
- let fileRef = null
47
- let splitted = null
48
- let fileName = null
49
- let fileContent = null
50
-
51
- for (let view of fileAssets.getViews()) {
52
- fileRef = view.name.replace(/(\.\/)/g, '')
53
- splitted = fileRef.split('/')
54
- fileName = splitted[splitted.length - 1].replace(/(\.vue)/g, '')
55
- fileContent = view.content
56
-
57
- // Create route for the views
58
- viewRoute = {
59
- name: fileName.toLowerCase(),
60
-
61
- meta: {}
62
- }
63
-
64
- if (fileName.toLowerCase() === 'moduleview' && fileContent.data) {
65
- viewRoute.path = ''
66
- viewRoute.name = 'module'
67
- viewRoute.component = () => import(`@/views/ModuleView.vue`)
68
- viewRoute.children = []
69
- viewRoute.meta.children = []
70
- hasModule = true
71
- }
72
-
73
- if (fileName.toLowerCase() == 'summaryview' && fileContent.data) {
74
- viewRoute.path = '/menu'
75
- viewRoute.name = 'menu'
76
- viewRoute.component = () => import(`@/views/SummaryView.vue`)
77
- viewRoute.meta.type = 'menu'
78
- viewRoute.meta.id = 'pg_menu'
79
- hasSummary = true
80
- }
81
-
82
- defaultRoute.children.push(viewRoute)
83
- }
84
-
85
- // Create activities routes for the ModuleView
86
- if (hasModule) {
87
- const moduleRoute = defaultRoute.children.find((r) => r.name == 'module') //Get ModuleView route
88
- //================== Routes For Activities ================//
89
- // Load files in module folder
90
- const _allFiles = fileAssets.getActivities()
91
-
92
- mappedFiles = fileAssets.buildMapTree(_allFiles)
93
- let abstractRouteForActivity = {}
94
- if (!mappedFiles.size) errorType = 'errorPage'
95
-
96
- //There is a file in the module folder
97
- /**
98
- * Define a route for each Activity and its pages
99
- * Set all nested routes in Activities
100
- * Set the activies routes as children of module route
101
- */
102
- let activityCount = 0
103
-
104
- const buildRouteWithNested = ($arr, $folderName, ctx = '') => {
105
- let bCounter = 0 //branch counter
106
-
107
- let mainRoute = {}
108
- for (const [key, value] of $arr) {
109
- let pgIDtoNum = parseInt(key.slice(1))
110
- let firstEl = $arr.entries().next().value
111
-
112
- if (value.constructor === Map)
113
- buildRouteWithNested(value, $folderName, ctx)
114
-
115
- if (key == firstEl[0]) {
116
- //Define the main route according to 1st page id
117
- mainRoute = (() => {
118
- //1st Page is branching
119
-
120
- if (key == 'P01')
121
- return {
122
- path: `page-1`,
123
- name: `${ctx.replace('-', '_')}`,
124
- component: () => import(`@/${firstEl[1].ref}.vue`),
125
- children: [],
126
- meta: {
127
- id: firstEl[0],
128
- type: 'branching',
129
- activity_ref: $folderName, // Axx
130
- children: []
131
- }
132
- }
133
-
134
- return {
135
- path: `page-${pgIDtoNum}`,
136
- name: `${ctx.replace('-', '_')}.page_${pgIDtoNum}`,
137
- component: () => import(`@/${firstEl[1].ref}.vue`),
138
- children: [],
139
- meta: {
140
- id: firstEl[0],
141
- type: 'branching',
142
- activity_ref: $folderName, // Axx
143
- parent: {
144
- _ref: 'P01',
145
- _path: ctx, // activite-xx
146
- _namedRoute: ctx.replace('-', '_') // activite_xx
147
- },
148
- children: []
149
- }
150
- }
151
- })()
152
- } else {
153
- bCounter += 1
154
- // build abstract route for branching
155
- let branchRoute = {
156
- path: `branche-${bCounter}`,
157
- name: `${mainRoute.name}.branche_${bCounter}`,
158
- component: () => import(`@/${value.ref}.vue`),
159
- meta: {
160
- id: key,
161
- type: 'branch_page',
162
- activity_ref: $folderName,
163
- _branchingRef: `${firstEl[0]}.branch_${bCounter}`,
164
- parent: {
165
- _ref: firstEl[0],
166
- _path: mainRoute.path,
167
- _namedRoute: mainRoute.name
168
- }
169
- }
170
- }
171
- mainRoute.children.push(branchRoute)
172
- mainRoute.meta.children.push({
173
- _ref: key,
174
- _path: branchRoute.path,
175
- _namedRoute: branchRoute.name
176
- })
177
- }
178
- }
179
-
180
- return mainRoute
181
- }
182
-
183
- for (const [$folderName, $pages] of mappedFiles) {
184
- let activityPageCount = 0 // page counter
185
- //build a abstract route for each folder/activity
186
- abstractRouteForActivity = {
187
- component: AppCompViewDisplay,
188
- meta: {
189
- id: $folderName,
190
- children: []
191
- },
192
- children: []
193
- }
194
- //Define the path for each folder
195
- if ($folderName === 'A00') {
196
- abstractRouteForActivity.path = 'introduction'
197
- } else if ($folderName === 'A99') {
198
- abstractRouteForActivity.path = 'conclusion'
199
- } else {
200
- activityCount++
201
- abstractRouteForActivity.path = `activite-${activityCount}`
202
- }
203
-
204
- //Build the Route for each page of the Activity
205
- for (const [$pageRef, $page] of $pages) {
206
- let activityRoute
207
- activityPageCount++
208
-
209
- if ($page.constructor === Object) {
210
- let firstPage = $pages.entries().next().value
211
- if ($pageRef == firstPage[0]) {
212
- activityRoute = {
213
- path: 'page-1',
214
- name: abstractRouteForActivity.path.replace('-', '_'), //activite_xx
215
- component: () => import(`@/${$page.ref}.vue`),
216
- meta: {
217
- id: `${$pageRef}`,
218
- activity_ref: $folderName,
219
- type: (() => {
220
- return abstractRouteForActivity.path.includes('activite')
221
- ? 'normal'
222
- : abstractRouteForActivity.path
223
- })(),
224
- parent: {
225
- _ref: `${$pageRef}`,
226
- _path: abstractRouteForActivity.path,
227
- _namedRoute: abstractRouteForActivity.path.replace('-', '_')
228
- }
229
- }
230
- }
231
- } else {
232
- activityRoute = {
233
- path: `page-${activityPageCount}`,
234
- name: (() => {
235
- let str = abstractRouteForActivity.path.replace('-', '_')
236
-
237
- if (activityPageCount > 1)
238
- str = `${str}.page_${activityPageCount}`
239
-
240
- return str
241
- })(),
242
- component: () => import(`@/${$page.ref}.vue`),
243
- meta: {
244
- id: $pageRef,
245
- activity_ref: $folderName,
246
- type: (() => {
247
- return abstractRouteForActivity.path.includes('activite')
248
- ? 'normal'
249
- : abstractRouteForActivity.path
250
- })(),
251
- parent: {
252
- _ref: `${$pageRef}`,
253
- _path: abstractRouteForActivity.path,
254
- _namedRoute: abstractRouteForActivity.path.replace('-', '_')
255
- }
256
- }
257
- }
258
- }
259
- }
260
- //Handling Branching Routes
261
- if ($page.constructor === Map) {
262
- const ctx = abstractRouteForActivity.path
263
- activityRoute = buildRouteWithNested($page, $folderName, ctx)
264
- }
265
- //add page route into activity children
266
- abstractRouteForActivity.children.push(activityRoute)
267
-
268
- //add page route reference into in activity meta
269
- abstractRouteForActivity.meta.children.push({
270
- _ref: activityRoute.meta.id,
271
- _path: activityRoute.path,
272
- _namedRoute: activityRoute.name
273
- })
274
- }
275
-
276
- moduleRoute.meta.children.push({
277
- _ref: $folderName,
278
- _path: abstractRouteForActivity.path,
279
- _namedRoute: abstractRouteForActivity.path.replace('-', '_')
280
- })
281
-
282
- moduleRoute.children.push(abstractRouteForActivity)
283
- }
284
- } else errorType = 'errorModule'
285
- if (!hasSummary) errorType = 'errorMenu'
286
- } else errorType = 'errorModule'
287
-
288
- if (!errorType) {
289
- defaultRoutes.push(defaultRoute)
290
- } else
291
- defaultRoutes.push({
292
- path: '/',
293
- component: () => import(`../components/AppBaseErrorDisplay.vue`),
294
- props: {
295
- errorGroup: 'application',
296
- errorType: errorType
297
- }
298
- })
299
-
300
- // Routes for errors : 404
301
- defaultRoutes.push({
302
- path: '/404',
303
- name: '404',
304
- component: () => import(`../components/AppBaseErrorDisplay.vue`),
305
- props: {
306
- errorGroup: 'application',
307
- errorType: '404'
308
- }
309
- })
310
-
311
- export default defaultRoutes
312
- export { mappedFiles }
1
+ import AppCompViewDisplay from '../components/AppCompViewDisplay.vue'
2
+ import { fileAssets } from '../shared/generalfuncs'
3
+ //import ModuleView from '@/views/ModuleView.vue' // Uncomment for Production
4
+ // import SummaryView from '@/views/SummaryView.vue' // Uncomment for Production
5
+
6
+ //import ModuleView from '../externalComps/ModuleView.vue' //Only for unit-Testing
7
+ //import SummaryView from '../externalComps/SummaryView.vue' //Only for unit-Testing
8
+
9
+ /**
10
+ * The router Module defines the routes of the App by:
11
+ * loading the required files for module and activities pages,
12
+ * dynamically creating the navigation route of module base on the file in VIEWS folder
13
+ * dynamically creating the navigation routes of activities and branchings base on the files contained in the MODULE
14
+ * Creating Redirection routes for navigation error
15
+ * Adding the pages for the module in the STORE
16
+ */
17
+
18
+ const defaultRoutes = [] // routes of the app
19
+ let errorType = null
20
+ let viewRoute = null // holder for views routes
21
+ let mappedFiles = null // routes definitions
22
+
23
+ // Creating 1st route: redirection for none existing route to home(Module)
24
+ defaultRoutes.push({
25
+ path: '/:pathMatch(.*)*',
26
+ redirect: {
27
+ name: '404'
28
+ }
29
+ })
30
+
31
+ /**
32
+ * 2 - Creating the 2nd route: The App module route
33
+ */
34
+ // Load all the files in the VIEWS folder
35
+
36
+ const defaultRoute = {
37
+ path: '/',
38
+ component: AppCompViewDisplay,
39
+ children: [],
40
+ meta: {}
41
+ }
42
+
43
+ if (fileAssets.getViews().length > 0) {
44
+ let hasModule = false
45
+ let hasSummary = false
46
+ let fileRef = null
47
+ let splitted = null
48
+ let fileName = null
49
+ let fileContent = null
50
+
51
+ for (let view of fileAssets.getViews()) {
52
+ fileRef = view.name.replace(/(\.\/)/g, '')
53
+ splitted = fileRef.split('/')
54
+ fileName = splitted[splitted.length - 1].replace(/(\.vue)/g, '')
55
+ fileContent = view.content
56
+
57
+ // Create route for the views
58
+ viewRoute = {
59
+ name: fileName.toLowerCase(),
60
+
61
+ meta: {}
62
+ }
63
+
64
+ if (fileName.toLowerCase() === 'moduleview' && fileContent.data) {
65
+ viewRoute.path = ''
66
+ viewRoute.name = 'module'
67
+ viewRoute.component = () => import(`@/views/ModuleView.vue`)
68
+ viewRoute.children = []
69
+ viewRoute.meta.children = []
70
+ hasModule = true
71
+ }
72
+
73
+ if (fileName.toLowerCase() == 'summaryview' && fileContent.data) {
74
+ viewRoute.path = '/menu'
75
+ viewRoute.name = 'menu'
76
+ viewRoute.component = () => import(`@/views/SummaryView.vue`)
77
+ viewRoute.meta.type = 'menu'
78
+ viewRoute.meta.id = 'pg_menu'
79
+ hasSummary = true
80
+ }
81
+
82
+ defaultRoute.children.push(viewRoute)
83
+ }
84
+
85
+ // Create activities routes for the ModuleView
86
+ if (hasModule) {
87
+ const moduleRoute = defaultRoute.children.find((r) => r.name == 'module') //Get ModuleView route
88
+ //================== Routes For Activities ================//
89
+ // Load files in module folder
90
+ const _allFiles = fileAssets.getActivities()
91
+
92
+ mappedFiles = fileAssets.buildMapTree(_allFiles)
93
+ let abstractRouteForActivity = {}
94
+ if (!mappedFiles.size) errorType = 'errorPage'
95
+
96
+ //There is a file in the module folder
97
+ /**
98
+ * Define a route for each Activity and its pages
99
+ * Set all nested routes in Activities
100
+ * Set the activies routes as children of module route
101
+ */
102
+ let activityCount = 0
103
+
104
+ const buildRouteWithNested = ($arr, $folderName, ctx = '') => {
105
+ let bCounter = 0 //branch counter
106
+
107
+ let mainRoute = {}
108
+ for (const [key, value] of $arr) {
109
+ let pgIDtoNum = parseInt(key.slice(1))
110
+ let firstEl = $arr.entries().next().value
111
+
112
+ if (value.constructor === Map)
113
+ buildRouteWithNested(value, $folderName, ctx)
114
+
115
+ if (key == firstEl[0]) {
116
+ //Define the main route according to 1st page id
117
+ mainRoute = (() => {
118
+ //1st Page is branching
119
+
120
+ if (key == 'P01')
121
+ return {
122
+ path: `page-1`,
123
+ name: `${ctx.replace('-', '_')}`,
124
+ component: () => import(`@/${firstEl[1].ref}.vue`),
125
+ children: [],
126
+ meta: {
127
+ id: firstEl[0],
128
+ type: 'branching',
129
+ activity_ref: $folderName, // Axx
130
+ children: []
131
+ }
132
+ }
133
+
134
+ return {
135
+ path: `page-${pgIDtoNum}`,
136
+ name: `${ctx.replace('-', '_')}.page_${pgIDtoNum}`,
137
+ component: () => import(`@/${firstEl[1].ref}.vue`),
138
+ children: [],
139
+ meta: {
140
+ id: firstEl[0],
141
+ type: 'branching',
142
+ activity_ref: $folderName, // Axx
143
+ parent: {
144
+ _ref: 'P01',
145
+ _path: ctx, // activite-xx
146
+ _namedRoute: ctx.replace('-', '_') // activite_xx
147
+ },
148
+ children: []
149
+ }
150
+ }
151
+ })()
152
+ } else {
153
+ bCounter += 1
154
+ // build abstract route for branching
155
+ let branchRoute = {
156
+ path: `branche-${bCounter}`,
157
+ name: `${mainRoute.name}.branche_${bCounter}`,
158
+ component: () => import(`@/${value.ref}.vue`),
159
+ meta: {
160
+ id: key,
161
+ type: 'branch_page',
162
+ activity_ref: $folderName,
163
+ _branchingRef: `${firstEl[0]}.branch_${bCounter}`,
164
+ parent: {
165
+ _ref: firstEl[0],
166
+ _path: mainRoute.path,
167
+ _namedRoute: mainRoute.name
168
+ }
169
+ }
170
+ }
171
+ mainRoute.children.push(branchRoute)
172
+ mainRoute.meta.children.push({
173
+ _ref: key,
174
+ _path: branchRoute.path,
175
+ _namedRoute: branchRoute.name
176
+ })
177
+ }
178
+ }
179
+
180
+ return mainRoute
181
+ }
182
+
183
+ for (const [$folderName, $pages] of mappedFiles) {
184
+ let activityPageCount = 0 // page counter
185
+ //build a abstract route for each folder/activity
186
+ abstractRouteForActivity = {
187
+ component: AppCompViewDisplay,
188
+ meta: {
189
+ id: $folderName,
190
+ children: []
191
+ },
192
+ children: []
193
+ }
194
+ //Define the path for each folder
195
+ if ($folderName === 'A00') {
196
+ abstractRouteForActivity.path = 'introduction'
197
+ } else if ($folderName === 'A99') {
198
+ abstractRouteForActivity.path = 'conclusion'
199
+ } else {
200
+ activityCount++
201
+ abstractRouteForActivity.path = `activite-${activityCount}`
202
+ }
203
+
204
+ //Build the Route for each page of the Activity
205
+ for (const [$pageRef, $page] of $pages) {
206
+ let activityRoute
207
+ activityPageCount++
208
+
209
+ if ($page.constructor === Object) {
210
+ let firstPage = $pages.entries().next().value
211
+ if ($pageRef == firstPage[0]) {
212
+ activityRoute = {
213
+ path: 'page-1',
214
+ name: abstractRouteForActivity.path.replace('-', '_'), //activite_xx
215
+ component: () => import(`@/${$page.ref}.vue`),
216
+ meta: {
217
+ id: `${$pageRef}`,
218
+ activity_ref: $folderName,
219
+ type: (() => {
220
+ return abstractRouteForActivity.path.includes('activite')
221
+ ? 'normal'
222
+ : abstractRouteForActivity.path
223
+ })(),
224
+ parent: {
225
+ _ref: `${$pageRef}`,
226
+ _path: abstractRouteForActivity.path,
227
+ _namedRoute: abstractRouteForActivity.path.replace('-', '_')
228
+ }
229
+ }
230
+ }
231
+ } else {
232
+ activityRoute = {
233
+ path: `page-${activityPageCount}`,
234
+ name: (() => {
235
+ let str = abstractRouteForActivity.path.replace('-', '_')
236
+
237
+ if (activityPageCount > 1)
238
+ str = `${str}.page_${activityPageCount}`
239
+
240
+ return str
241
+ })(),
242
+ component: () => import(`@/${$page.ref}.vue`),
243
+ meta: {
244
+ id: $pageRef,
245
+ activity_ref: $folderName,
246
+ type: (() => {
247
+ return abstractRouteForActivity.path.includes('activite')
248
+ ? 'normal'
249
+ : abstractRouteForActivity.path
250
+ })(),
251
+ parent: {
252
+ _ref: `${$pageRef}`,
253
+ _path: abstractRouteForActivity.path,
254
+ _namedRoute: abstractRouteForActivity.path.replace('-', '_')
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+ //Handling Branching Routes
261
+ if ($page.constructor === Map) {
262
+ const ctx = abstractRouteForActivity.path
263
+ activityRoute = buildRouteWithNested($page, $folderName, ctx)
264
+ }
265
+ //add page route into activity children
266
+ abstractRouteForActivity.children.push(activityRoute)
267
+
268
+ //add page route reference into in activity meta
269
+ abstractRouteForActivity.meta.children.push({
270
+ _ref: activityRoute.meta.id,
271
+ _path: activityRoute.path,
272
+ _namedRoute: activityRoute.name
273
+ })
274
+ }
275
+
276
+ moduleRoute.meta.children.push({
277
+ _ref: $folderName,
278
+ _path: abstractRouteForActivity.path,
279
+ _namedRoute: abstractRouteForActivity.path.replace('-', '_')
280
+ })
281
+
282
+ moduleRoute.children.push(abstractRouteForActivity)
283
+ }
284
+ } else errorType = 'errorModule'
285
+ if (!hasSummary) errorType = 'errorMenu'
286
+ } else errorType = 'errorModule'
287
+
288
+ if (!errorType) {
289
+ defaultRoutes.push(defaultRoute)
290
+ } else
291
+ defaultRoutes.push({
292
+ path: '/',
293
+ component: () => import(`../components/AppBaseErrorDisplay.vue`),
294
+ props: {
295
+ errorGroup: 'application',
296
+ errorType: errorType
297
+ }
298
+ })
299
+
300
+ // Routes for errors : 404
301
+ defaultRoutes.push({
302
+ path: '/404',
303
+ name: '404',
304
+ component: () => import(`../components/AppBaseErrorDisplay.vue`),
305
+ props: {
306
+ errorGroup: 'application',
307
+ errorType: '404'
308
+ }
309
+ })
310
+
311
+ export default defaultRoutes
312
+ export { mappedFiles }