@eeplatform/nuxt-layer-common 1.7.31 → 1.7.33
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 +37 -9
- package/components/Input/MaskDate.vue +30 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -378,13 +378,9 @@
|
|
|
378
378
|
/>
|
|
379
379
|
</v-col>
|
|
380
380
|
<v-col cols="12">
|
|
381
|
-
<
|
|
381
|
+
<InputMaskDate
|
|
382
382
|
v-model="enrollment.learnerInfo.birthDate"
|
|
383
|
-
|
|
384
|
-
placeholder="MM/DD/YYYY"
|
|
385
|
-
density="comfortable"
|
|
386
|
-
variant="outlined"
|
|
387
|
-
></v-mask-input>
|
|
383
|
+
></InputMaskDate>
|
|
388
384
|
</v-col>
|
|
389
385
|
</v-row>
|
|
390
386
|
</v-col>
|
|
@@ -1302,6 +1298,9 @@
|
|
|
1302
1298
|
<v-col cols="12">
|
|
1303
1299
|
<v-autocomplete
|
|
1304
1300
|
v-model="enrollment.seniorHighInfo.track"
|
|
1301
|
+
item-title="title"
|
|
1302
|
+
item-value="value"
|
|
1303
|
+
:return-object="false"
|
|
1305
1304
|
:items="tracks"
|
|
1306
1305
|
></v-autocomplete>
|
|
1307
1306
|
</v-col>
|
|
@@ -1318,6 +1317,9 @@
|
|
|
1318
1317
|
<v-col cols="12">
|
|
1319
1318
|
<v-autocomplete
|
|
1320
1319
|
v-model="enrollment.seniorHighInfo.strand"
|
|
1320
|
+
item-title="title"
|
|
1321
|
+
item-value="value"
|
|
1322
|
+
:return-object="false"
|
|
1321
1323
|
:items="selectedTrackStrands"
|
|
1322
1324
|
></v-autocomplete>
|
|
1323
1325
|
</v-col>
|
|
@@ -1463,8 +1465,6 @@ const prop = defineProps({
|
|
|
1463
1465
|
default: "",
|
|
1464
1466
|
},
|
|
1465
1467
|
});
|
|
1466
|
-
|
|
1467
|
-
import { VMaskInput } from "vuetify/labs/VMaskInput";
|
|
1468
1468
|
const { requiredRule, debounce } = useUtils();
|
|
1469
1469
|
|
|
1470
1470
|
const enrollment = defineModel<TTLearner>({
|
|
@@ -2252,6 +2252,34 @@ const isSeniorHighSchool = computed(() => {
|
|
|
2252
2252
|
return ["grade-11", "grade-12"].includes(gradeLevel);
|
|
2253
2253
|
});
|
|
2254
2254
|
|
|
2255
|
+
// Watch for track selection and set trackName
|
|
2256
|
+
watch(
|
|
2257
|
+
() => enrollment.value.seniorHighInfo?.track,
|
|
2258
|
+
(trackValue) => {
|
|
2259
|
+
if (!trackValue || !enrollment.value.seniorHighInfo) return;
|
|
2260
|
+
|
|
2261
|
+
const selectedTrack = tracks.find((track) => track.value === trackValue);
|
|
2262
|
+
if (selectedTrack && enrollment.value.seniorHighInfo) {
|
|
2263
|
+
enrollment.value.seniorHighInfo.trackName = selectedTrack.title ?? "";
|
|
2264
|
+
}
|
|
2265
|
+
}
|
|
2266
|
+
);
|
|
2267
|
+
|
|
2268
|
+
// Watch for strand selection and set strandName
|
|
2269
|
+
watch(
|
|
2270
|
+
() => enrollment.value.seniorHighInfo?.strand,
|
|
2271
|
+
(strandValue) => {
|
|
2272
|
+
if (!strandValue || !enrollment.value.seniorHighInfo) return;
|
|
2273
|
+
|
|
2274
|
+
const selectedStrand = selectedTrackStrands.value.find(
|
|
2275
|
+
(strand) => strand.value === strandValue
|
|
2276
|
+
);
|
|
2277
|
+
if (selectedStrand && enrollment.value.seniorHighInfo) {
|
|
2278
|
+
enrollment.value.seniorHighInfo.strandName = selectedStrand.title ?? "";
|
|
2279
|
+
}
|
|
2280
|
+
}
|
|
2281
|
+
);
|
|
2282
|
+
|
|
2255
2283
|
const isKindergarten = computed(() => {
|
|
2256
2284
|
const gradeLevel = enrollment.value.gradeLevel;
|
|
2257
2285
|
return gradeLevel === "kindergarten" || gradeLevel === "kinder";
|
|
@@ -2500,7 +2528,7 @@ watchEffect(() => {
|
|
|
2500
2528
|
import { useMask } from "vuetify";
|
|
2501
2529
|
|
|
2502
2530
|
watchEffect(() => {
|
|
2503
|
-
const mask = useMask({ mask: "
|
|
2531
|
+
const mask = useMask({ mask: "##-##-####" });
|
|
2504
2532
|
const date = mask.mask(enrollment.value.learnerInfo.birthDate);
|
|
2505
2533
|
if (
|
|
2506
2534
|
enrollment.value.learnerInfo.birthDate &&
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-mask-input
|
|
3
|
+
v-bind="attrs"
|
|
4
|
+
v-model="formattedValue"
|
|
5
|
+
mask="##-##-####"
|
|
6
|
+
placeholder="MM-DD-YYYY"
|
|
7
|
+
density="comfortable"
|
|
8
|
+
variant="outlined"
|
|
9
|
+
>
|
|
10
|
+
<template v-for="(_, name) in $slots" #[name]="slotProps">
|
|
11
|
+
<slot :name="name" v-bind="slotProps || {}" />
|
|
12
|
+
</template>
|
|
13
|
+
</v-mask-input>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script setup lang="ts">
|
|
17
|
+
import { VMaskInput } from "vuetify/labs/VMaskInput";
|
|
18
|
+
|
|
19
|
+
const attrs = useAttrs();
|
|
20
|
+
const formattedValue = ref("");
|
|
21
|
+
|
|
22
|
+
const modelData = defineModel({ type: String });
|
|
23
|
+
|
|
24
|
+
import { useMask } from "vuetify";
|
|
25
|
+
|
|
26
|
+
watch(formattedValue, () => {
|
|
27
|
+
const mask = useMask({ mask: "##-##-####" });
|
|
28
|
+
modelData.value = mask.mask(formattedValue.value);
|
|
29
|
+
});
|
|
30
|
+
</script>
|