@eeplatform/nuxt-layer-common 1.7.52 → 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 +6 -0
- package/components/EnrollmentForm.vue +64 -17
- package/composables/useStrand.ts +21 -0
- package/composables/useTrack.ts +20 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -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>
|
|
@@ -2292,8 +2294,10 @@ watch(
|
|
|
2292
2294
|
}
|
|
2293
2295
|
);
|
|
2294
2296
|
|
|
2295
|
-
const { gradeLevels, generateSchoolYears, motherTongueOptions
|
|
2296
|
-
|
|
2297
|
+
const { gradeLevels, generateSchoolYears, motherTongueOptions } = useBasicEdu();
|
|
2298
|
+
|
|
2299
|
+
const { getAll: getAllTracks } = useTrack();
|
|
2300
|
+
const { getAll: getAllStrands } = useStrand();
|
|
2297
2301
|
|
|
2298
2302
|
const gradeLevelOffering = ref<Record<string, any>[]>([]);
|
|
2299
2303
|
|
|
@@ -2301,6 +2305,52 @@ const { getAll: getGradeLevels } = useGradeLevel();
|
|
|
2301
2305
|
|
|
2302
2306
|
const theSchool = computed(() => prop.school || enrollment.value.school);
|
|
2303
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
|
+
|
|
2304
2354
|
const { data: getGradeLevelReq, status: statusGradeLevel } =
|
|
2305
2355
|
await useLazyAsyncData(
|
|
2306
2356
|
"get-grade-level-offerings" + theSchool.value,
|
|
@@ -2328,12 +2378,7 @@ watchEffect(() => {
|
|
|
2328
2378
|
}
|
|
2329
2379
|
});
|
|
2330
2380
|
|
|
2331
|
-
const selectedTrackStrands = computed(
|
|
2332
|
-
() =>
|
|
2333
|
-
tracks.find(
|
|
2334
|
-
(track) => track.value === enrollment.value.seniorHighInfo?.track
|
|
2335
|
-
)?.strands || []
|
|
2336
|
-
);
|
|
2381
|
+
const selectedTrackStrands = computed(() => schoolStrands.value);
|
|
2337
2382
|
|
|
2338
2383
|
const isSeniorHighSchool = computed(() => {
|
|
2339
2384
|
const gradeLevel = enrollment.value.gradeLevel;
|
|
@@ -2350,9 +2395,11 @@ watch(
|
|
|
2350
2395
|
enrollment.value.seniorHighInfo.strand = "";
|
|
2351
2396
|
enrollment.value.seniorHighInfo.strandName = "";
|
|
2352
2397
|
|
|
2353
|
-
const selectedTrack =
|
|
2398
|
+
const selectedTrack = schoolTracks.value.find(
|
|
2399
|
+
(track: Record<string, any>) => track._id === trackValue
|
|
2400
|
+
);
|
|
2354
2401
|
if (selectedTrack && enrollment.value.seniorHighInfo) {
|
|
2355
|
-
enrollment.value.seniorHighInfo.trackName = selectedTrack.
|
|
2402
|
+
enrollment.value.seniorHighInfo.trackName = selectedTrack.name ?? "";
|
|
2356
2403
|
}
|
|
2357
2404
|
}
|
|
2358
2405
|
);
|
|
@@ -2364,10 +2411,10 @@ watch(
|
|
|
2364
2411
|
if (!strandValue || !enrollment.value.seniorHighInfo) return;
|
|
2365
2412
|
|
|
2366
2413
|
const selectedStrand = selectedTrackStrands.value.find(
|
|
2367
|
-
(strand) => strand.
|
|
2414
|
+
(strand: Record<string, any>) => strand._id === strandValue
|
|
2368
2415
|
);
|
|
2369
2416
|
if (selectedStrand && enrollment.value.seniorHighInfo) {
|
|
2370
|
-
enrollment.value.seniorHighInfo.strandName = selectedStrand.
|
|
2417
|
+
enrollment.value.seniorHighInfo.strandName = selectedStrand.name ?? "";
|
|
2371
2418
|
}
|
|
2372
2419
|
}
|
|
2373
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
|
+
}
|