fcad-core-dragon 2.5.0-test.2 → 2.5.0-test.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.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [2.5.0-test.3](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/compare/v2.5.0-test.2...v2.5.0-test.3) (2026-06-15)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **fix:** correction du calcul du pourcentage de completion ([98b98ab](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/98b98ab6e55d15211d0bb58b7851cd63ce15ad25))
|
|
7
|
+
|
|
1
8
|
# [2.5.0-test.2](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/compare/v2.5.0-test.1...v2.5.0-test.2) (2026-06-09)
|
|
2
9
|
|
|
3
10
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
|
|
2
|
+
{
|
|
3
|
+
"wordBank":[
|
|
4
|
+
{
|
|
5
|
+
"word": "Apple",
|
|
6
|
+
"categorie": ["fruit", "tech", "food"]
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"word": "Orange",
|
|
10
|
+
"categorie": ["fruit", "color", "food"]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"word": "Mouse",
|
|
14
|
+
"categorie": ["animal", "computer"]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"word": "Bat",
|
|
18
|
+
"categorie": ["animal", "sport"]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"word": "Bank",
|
|
22
|
+
"categorie": ["money", "river"]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"word": "Light",
|
|
26
|
+
"categorie": ["physics", "lamp", "nightlife", "lightning"]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"word": "Spring",
|
|
30
|
+
"categorie": ["season", "object"]
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"word": "Star",
|
|
34
|
+
"categorie": ["space", "celebrity"]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"word": "Cell",
|
|
38
|
+
"categorie": ["biology", "prison", "body"]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"word": "Train",
|
|
42
|
+
"categorie": ["transport", "action"]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"word": "Match",
|
|
46
|
+
"categorie": ["sport", "fire"]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"word": "Ring",
|
|
50
|
+
"categorie": ["jewelry", "sound"]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"word": "Rock",
|
|
54
|
+
"categorie": ["music", "stone", "material", "nightlife"]
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"word": "Pen",
|
|
58
|
+
"categorie": ["writing", "animal enclosure", "tool"]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"word": "Club",
|
|
62
|
+
"categorie": ["sport", "nightlife"]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"word": "Glass",
|
|
66
|
+
"categorie": ["sport", "drinkware"]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"word": "Key",
|
|
70
|
+
"categorie": ["music", "lock"]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"word": "Wave",
|
|
74
|
+
"categorie": ["ocean", "gesture"]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"word": "File",
|
|
78
|
+
"categorie": ["office", "tool"]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"word": "Plate",
|
|
82
|
+
"categorie": ["food", "tectonic"]
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"word": "Code",
|
|
86
|
+
"categorie": ["computer", "secret", "math", "argument"]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"word": "Bug",
|
|
90
|
+
"categorie": ["insect", "error", "computer"]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"word": "Jam",
|
|
94
|
+
"categorie": ["food", "error", "traffic"]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"word": "Nail",
|
|
98
|
+
"categorie": ["body", "tool", "biology"]
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"word": "Watch",
|
|
102
|
+
"categorie": ["time", "observe"]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"word": "Park",
|
|
106
|
+
"categorie": ["place", "action", "nature", "wood"]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"word": "Leaf",
|
|
110
|
+
"categorie": ["nature", "book"]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"word": "Seal",
|
|
114
|
+
"categorie": ["animal", "stamp"]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"word": "Bolt",
|
|
118
|
+
"categorie": ["tool", "lightning"]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"word": "Can",
|
|
122
|
+
"categorie": ["container", "ability"]
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"word": "Cross",
|
|
126
|
+
"categorie": ["religion", "action"]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"word": "Stick",
|
|
130
|
+
"categorie": ["object", "action", "tool"]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"word": "Charge",
|
|
134
|
+
"categorie": ["energy", "legal"]
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"word": "Block",
|
|
138
|
+
"categorie": ["object", "obstacle"]
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"word": "Draft",
|
|
142
|
+
"categorie": ["wind", "document"]
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"word": "Board",
|
|
146
|
+
"categorie": ["wood", "management", "wood"]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"word": "Point",
|
|
150
|
+
"categorie": ["math", "argument"]
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"word": "Current",
|
|
154
|
+
"categorie": ["electricity", "water"]
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"word": "Scale",
|
|
158
|
+
"categorie": ["music", "size"]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"word": "Model",
|
|
162
|
+
"categorie": ["fashion", "example"]
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"word": "Track",
|
|
166
|
+
"categorie": ["music", "path"]
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"word": "Field",
|
|
170
|
+
"categorie": ["sport", "science"]
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"word": "Spot",
|
|
174
|
+
"categorie": ["place", "stain"]
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"word": "Tape",
|
|
178
|
+
"categorie": ["music", "adhesive"]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"word": "Trip",
|
|
182
|
+
"categorie": ["travel", "fall"]
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"word": "Crash",
|
|
186
|
+
"categorie": ["accident", "computer"]
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"word": "Fan",
|
|
190
|
+
"categorie": ["cooling", "sports"]
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"word": "Brush",
|
|
194
|
+
"categorie": ["tool", "action"]
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"word": "Screen",
|
|
198
|
+
"categorie": ["display", "hide"]
|
|
199
|
+
}
|
|
200
|
+
]
|
|
201
|
+
}
|
|
@@ -156,7 +156,9 @@ export default {
|
|
|
156
156
|
completed = this.getAllCompleted[idActivity] //get all completed page for the activity
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
let noBranch = completed.filter(item => !Object.keys(item)[0].includes("_"))
|
|
160
|
+
|
|
161
|
+
return noBranch.length
|
|
160
162
|
}
|
|
161
163
|
},
|
|
162
164
|
/**
|
|
@@ -174,10 +176,15 @@ export default {
|
|
|
174
176
|
const allActivitiesState = JSON.parse(
|
|
175
177
|
JSON.stringify(this.getAllActivitiesState)
|
|
176
178
|
)
|
|
179
|
+
|
|
180
|
+
const actList = this.getAllActivities().list
|
|
181
|
+
|
|
177
182
|
let size = allActivitiesState[activityID]
|
|
178
|
-
?
|
|
183
|
+
? actList.get(activityID).size
|
|
179
184
|
: 0
|
|
180
185
|
|
|
186
|
+
// console.log(activityID,size)
|
|
187
|
+
|
|
181
188
|
return size
|
|
182
189
|
},
|
|
183
190
|
createRoutes(data) {
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
<div v-if="error" id="sidebar-submenu" :class="{ isOpen: isOpened }">
|
|
12
12
|
<focus-trap :active="isOpened" :prevent-scroll="true">
|
|
13
13
|
<div ref="target">
|
|
14
|
-
<!-- <div class="submenu-header"> -->
|
|
15
14
|
<app-base-button
|
|
16
15
|
id="close-toc"
|
|
17
16
|
class="btn-ghost"
|
|
@@ -22,9 +21,7 @@
|
|
|
22
21
|
<use href="#close-square-icon" />
|
|
23
22
|
</svg>
|
|
24
23
|
</app-base-button>
|
|
25
|
-
<!-- </div> -->
|
|
26
24
|
|
|
27
|
-
<!-- <div class="submenu-content"> -->
|
|
28
25
|
<p class="t-act" v-html="`${title}`"></p>
|
|
29
26
|
<div class="box-prog-act">
|
|
30
27
|
<p>
|
|
@@ -100,6 +97,7 @@ export default {
|
|
|
100
97
|
'getAnchorsForActivity',
|
|
101
98
|
'getBifChoice',
|
|
102
99
|
'getAllCompleted',
|
|
100
|
+
'getAllActivities',
|
|
103
101
|
'getAllActivitiesState'
|
|
104
102
|
])
|
|
105
103
|
},
|
|
@@ -249,15 +247,20 @@ export default {
|
|
|
249
247
|
completed = this.getAllCompleted[idActivity] //get all completed page for the activity
|
|
250
248
|
}
|
|
251
249
|
|
|
250
|
+
let noBranch = completed.filter(item => !Object.keys(item)[0].includes("_"))
|
|
251
|
+
|
|
252
252
|
const allActivitiesState = JSON.parse(
|
|
253
253
|
JSON.stringify(this.getAllActivitiesState)
|
|
254
254
|
)
|
|
255
|
+
|
|
256
|
+
const actList = this.getAllActivities().list
|
|
257
|
+
|
|
255
258
|
let size = allActivitiesState[idActivity]
|
|
256
|
-
?
|
|
259
|
+
? actList.get(idActivity).size
|
|
257
260
|
: 0
|
|
258
261
|
|
|
259
262
|
// return pourcent of activity completion
|
|
260
|
-
this.actProgress = `${Math.round((
|
|
263
|
+
this.actProgress = `${Math.round((noBranch.length * 100) / size)} %`
|
|
261
264
|
}
|
|
262
265
|
},
|
|
263
266
|
close() {
|
|
@@ -284,12 +287,10 @@ export default {
|
|
|
284
287
|
let tabcomplete = []
|
|
285
288
|
|
|
286
289
|
if (nextIndex < menuInfo[this.activity].anchors.length) {
|
|
287
|
-
//console.log('dans le premier if')
|
|
288
290
|
nextSec = menuInfo[this.activity].anchors[nextIndex].pageRef
|
|
289
291
|
}
|
|
290
292
|
|
|
291
293
|
if (nextSec != undefined) {
|
|
292
|
-
// console.log('dans le Deuxieme if')
|
|
293
294
|
nb = parseInt(nextSec.substring(1))
|
|
294
295
|
|
|
295
296
|
while (nb > parseInt(curSec.substring(1))) {
|
|
@@ -328,6 +329,7 @@ export default {
|
|
|
328
329
|
tabcomplete.push(w[0])
|
|
329
330
|
})
|
|
330
331
|
|
|
332
|
+
//console.log(completeActPage)
|
|
331
333
|
const isSubset = (array1, array2) =>
|
|
332
334
|
array2.every((element) => array1.includes(element))
|
|
333
335
|
|
package/src/main.js
CHANGED
|
@@ -9,6 +9,7 @@ import AppBaseErrorDisplay from './components/AppBaseErrorDisplay.vue'
|
|
|
9
9
|
import AppCompAudio from './components/AppCompAudio.vue'
|
|
10
10
|
import AppCompBranchButtons from './components/AppCompBranchButtons.vue'
|
|
11
11
|
import AppCompCarousel from './components/AppCompCarousel.vue'
|
|
12
|
+
//import AppCompCodeName from './components/AppCompCodeName.vue'
|
|
12
13
|
import AppCompViewDisplay from './components/AppCompViewDisplay.vue'
|
|
13
14
|
import AppCompTableOfContent from './components/AppCompTableOfContent.vue'
|
|
14
15
|
import AppCompMenu from './components/AppCompMenu.vue'
|
|
@@ -80,6 +81,7 @@ export default {
|
|
|
80
81
|
app.component('AppCompAudioPlayer', AppCompAudio)
|
|
81
82
|
app.component('AppCompBranchButtons', AppCompBranchButtons)
|
|
82
83
|
app.component('AppCompCarousel', AppCompCarousel)
|
|
84
|
+
//app.component('AppCompCodeName', AppCompCodeName)
|
|
83
85
|
app.component('AppCompMenuItem', AppCompMenuItem)
|
|
84
86
|
app.component('AppCompJauge', AppCompJauge)
|
|
85
87
|
app.component('AppCompTableOfContent', AppCompTableOfContent)
|