@eeplatform/nuxt-layer-common 1.7.51 → 1.7.53
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 +12 -0
- package/components/EnrollmentForm.vue +77 -18
- package/composables/useStrand.ts +21 -0
- package/composables/useTrack.ts +20 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @eeplatform/nuxt-layer-common
|
|
2
2
|
|
|
3
|
+
## 1.7.53
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2cb09c5: Integrate track and strands to enrollment form
|
|
8
|
+
|
|
9
|
+
## 1.7.52
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 01dfd23: Fix enrollment form - reset semeste, track, and strand when grade level changes
|
|
14
|
+
|
|
3
15
|
## 1.7.51
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -1295,10 +1295,11 @@
|
|
|
1295
1295
|
<v-col cols="12">
|
|
1296
1296
|
<v-autocomplete
|
|
1297
1297
|
v-model="enrollment.seniorHighInfo.track"
|
|
1298
|
-
item-title="
|
|
1299
|
-
item-value="
|
|
1298
|
+
item-title="name"
|
|
1299
|
+
item-value="_id"
|
|
1300
1300
|
:return-object="false"
|
|
1301
|
-
:items="
|
|
1301
|
+
:items="schoolTracks"
|
|
1302
|
+
:loading="loadingTracks"
|
|
1302
1303
|
:rules="[requiredRule]"
|
|
1303
1304
|
></v-autocomplete>
|
|
1304
1305
|
</v-col>
|
|
@@ -1315,10 +1316,11 @@
|
|
|
1315
1316
|
<v-col cols="12">
|
|
1316
1317
|
<v-autocomplete
|
|
1317
1318
|
v-model="enrollment.seniorHighInfo.strand"
|
|
1318
|
-
item-title="
|
|
1319
|
-
item-value="
|
|
1319
|
+
item-title="name"
|
|
1320
|
+
item-value="_id"
|
|
1320
1321
|
:return-object="false"
|
|
1321
1322
|
:items="selectedTrackStrands"
|
|
1323
|
+
:loading="loadingStrands"
|
|
1322
1324
|
:rules="[requiredRule]"
|
|
1323
1325
|
></v-autocomplete>
|
|
1324
1326
|
</v-col>
|
|
@@ -2273,15 +2275,29 @@ watch(selectedSchool, (val) => {
|
|
|
2273
2275
|
|
|
2274
2276
|
watch(
|
|
2275
2277
|
() => enrollment.value.gradeLevel,
|
|
2276
|
-
() => {
|
|
2278
|
+
(newGradeLevel) => {
|
|
2277
2279
|
if (enrollment.value.returningLearnerInfo) {
|
|
2278
2280
|
enrollment.value.returningLearnerInfo.lastGradeLevelCompleted = "";
|
|
2279
2281
|
}
|
|
2282
|
+
|
|
2283
|
+
// Clear senior high fields when switching to a non-senior-high grade level
|
|
2284
|
+
if (
|
|
2285
|
+
enrollment.value.seniorHighInfo &&
|
|
2286
|
+
!["grade-11", "grade-12"].includes(newGradeLevel)
|
|
2287
|
+
) {
|
|
2288
|
+
enrollment.value.seniorHighInfo.semester = "";
|
|
2289
|
+
enrollment.value.seniorHighInfo.track = "";
|
|
2290
|
+
enrollment.value.seniorHighInfo.trackName = "";
|
|
2291
|
+
enrollment.value.seniorHighInfo.strand = "";
|
|
2292
|
+
enrollment.value.seniorHighInfo.strandName = "";
|
|
2293
|
+
}
|
|
2280
2294
|
}
|
|
2281
2295
|
);
|
|
2282
2296
|
|
|
2283
|
-
const { gradeLevels, generateSchoolYears, motherTongueOptions
|
|
2284
|
-
|
|
2297
|
+
const { gradeLevels, generateSchoolYears, motherTongueOptions } = useBasicEdu();
|
|
2298
|
+
|
|
2299
|
+
const { getAll: getAllTracks } = useTrack();
|
|
2300
|
+
const { getAll: getAllStrands } = useStrand();
|
|
2285
2301
|
|
|
2286
2302
|
const gradeLevelOffering = ref<Record<string, any>[]>([]);
|
|
2287
2303
|
|
|
@@ -2289,6 +2305,52 @@ const { getAll: getGradeLevels } = useGradeLevel();
|
|
|
2289
2305
|
|
|
2290
2306
|
const theSchool = computed(() => prop.school || enrollment.value.school);
|
|
2291
2307
|
|
|
2308
|
+
const schoolTracks = ref<Array<Record<string, any>>>([]);
|
|
2309
|
+
|
|
2310
|
+
const { data: getTracksData, status: getTracksStatus } = await useLazyAsyncData(
|
|
2311
|
+
`get-tracks-enrollment-form-${theSchool.value}`,
|
|
2312
|
+
() => getAllTracks({ school: theSchool.value, limit: 100 }),
|
|
2313
|
+
{
|
|
2314
|
+
watch: [theSchool],
|
|
2315
|
+
}
|
|
2316
|
+
);
|
|
2317
|
+
|
|
2318
|
+
const loadingTracks = computed(() => getTracksStatus.value === "pending");
|
|
2319
|
+
|
|
2320
|
+
watchEffect(() => {
|
|
2321
|
+
if (getTracksData.value) {
|
|
2322
|
+
schoolTracks.value = getTracksData.value.items;
|
|
2323
|
+
}
|
|
2324
|
+
});
|
|
2325
|
+
|
|
2326
|
+
const schoolStrands = ref<Array<Record<string, any>>>([]);
|
|
2327
|
+
|
|
2328
|
+
const selectedTrackId = computed(
|
|
2329
|
+
() => enrollment.value.seniorHighInfo?.track || ""
|
|
2330
|
+
);
|
|
2331
|
+
|
|
2332
|
+
const { data: getStrandsData, status: getStrandsStatus } =
|
|
2333
|
+
await useLazyAsyncData(
|
|
2334
|
+
`get-strands-enrollment-form-${theSchool.value}-${selectedTrackId.value}`,
|
|
2335
|
+
() =>
|
|
2336
|
+
getAllStrands({
|
|
2337
|
+
school: theSchool.value,
|
|
2338
|
+
track: selectedTrackId.value,
|
|
2339
|
+
limit: 100,
|
|
2340
|
+
}),
|
|
2341
|
+
{
|
|
2342
|
+
watch: [theSchool, selectedTrackId],
|
|
2343
|
+
}
|
|
2344
|
+
);
|
|
2345
|
+
|
|
2346
|
+
const loadingStrands = computed(() => getStrandsStatus.value === "pending");
|
|
2347
|
+
|
|
2348
|
+
watchEffect(() => {
|
|
2349
|
+
if (getStrandsData.value) {
|
|
2350
|
+
schoolStrands.value = getStrandsData.value.items;
|
|
2351
|
+
}
|
|
2352
|
+
});
|
|
2353
|
+
|
|
2292
2354
|
const { data: getGradeLevelReq, status: statusGradeLevel } =
|
|
2293
2355
|
await useLazyAsyncData(
|
|
2294
2356
|
"get-grade-level-offerings" + theSchool.value,
|
|
@@ -2316,12 +2378,7 @@ watchEffect(() => {
|
|
|
2316
2378
|
}
|
|
2317
2379
|
});
|
|
2318
2380
|
|
|
2319
|
-
const selectedTrackStrands = computed(
|
|
2320
|
-
() =>
|
|
2321
|
-
tracks.find(
|
|
2322
|
-
(track) => track.value === enrollment.value.seniorHighInfo?.track
|
|
2323
|
-
)?.strands || []
|
|
2324
|
-
);
|
|
2381
|
+
const selectedTrackStrands = computed(() => schoolStrands.value);
|
|
2325
2382
|
|
|
2326
2383
|
const isSeniorHighSchool = computed(() => {
|
|
2327
2384
|
const gradeLevel = enrollment.value.gradeLevel;
|
|
@@ -2338,9 +2395,11 @@ watch(
|
|
|
2338
2395
|
enrollment.value.seniorHighInfo.strand = "";
|
|
2339
2396
|
enrollment.value.seniorHighInfo.strandName = "";
|
|
2340
2397
|
|
|
2341
|
-
const selectedTrack =
|
|
2398
|
+
const selectedTrack = schoolTracks.value.find(
|
|
2399
|
+
(track: Record<string, any>) => track._id === trackValue
|
|
2400
|
+
);
|
|
2342
2401
|
if (selectedTrack && enrollment.value.seniorHighInfo) {
|
|
2343
|
-
enrollment.value.seniorHighInfo.trackName = selectedTrack.
|
|
2402
|
+
enrollment.value.seniorHighInfo.trackName = selectedTrack.name ?? "";
|
|
2344
2403
|
}
|
|
2345
2404
|
}
|
|
2346
2405
|
);
|
|
@@ -2352,10 +2411,10 @@ watch(
|
|
|
2352
2411
|
if (!strandValue || !enrollment.value.seniorHighInfo) return;
|
|
2353
2412
|
|
|
2354
2413
|
const selectedStrand = selectedTrackStrands.value.find(
|
|
2355
|
-
(strand) => strand.
|
|
2414
|
+
(strand: Record<string, any>) => strand._id === strandValue
|
|
2356
2415
|
);
|
|
2357
2416
|
if (selectedStrand && enrollment.value.seniorHighInfo) {
|
|
2358
|
-
enrollment.value.seniorHighInfo.strandName = selectedStrand.
|
|
2417
|
+
enrollment.value.seniorHighInfo.strandName = selectedStrand.name ?? "";
|
|
2359
2418
|
}
|
|
2360
2419
|
}
|
|
2361
2420
|
);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default function useStrand() {
|
|
2
|
+
function getAll({
|
|
3
|
+
page = 1,
|
|
4
|
+
search = "",
|
|
5
|
+
status = "active",
|
|
6
|
+
limit = 100,
|
|
7
|
+
school = "",
|
|
8
|
+
track = "",
|
|
9
|
+
} = {}) {
|
|
10
|
+
return useNuxtApp().$api<Record<string, any>>(
|
|
11
|
+
`/api/basic-education/strands/school/${school}`,
|
|
12
|
+
{
|
|
13
|
+
query: { page, search, status, limit, track },
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return {
|
|
19
|
+
getAll,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export default function useTrack() {
|
|
2
|
+
function getAll({
|
|
3
|
+
page = 1,
|
|
4
|
+
search = "",
|
|
5
|
+
status = "active",
|
|
6
|
+
limit = 100,
|
|
7
|
+
school = "",
|
|
8
|
+
} = {}) {
|
|
9
|
+
return useNuxtApp().$api<Record<string, any>>(
|
|
10
|
+
`/api/basic-education/tracks/school/${school}`,
|
|
11
|
+
{
|
|
12
|
+
query: { page, search, status, limit },
|
|
13
|
+
}
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return {
|
|
18
|
+
getAll,
|
|
19
|
+
};
|
|
20
|
+
}
|