You've already forked isop-mirror
refactor: simplify internship editor component
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { CompanyData } from '~/types/company_data';
|
import type { CompanyData } from '~/types/company_data';
|
||||||
import type { NewInternship } from '~/types/internships';
|
import type { Internship, NewInternship } from '~/types/internships';
|
||||||
import type { User } from '~/types/user';
|
import type { User } from '~/types/user';
|
||||||
|
|
||||||
const rules = {
|
const rules = {
|
||||||
@@ -41,51 +41,19 @@ const semester_choices = [
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps<{
|
||||||
start: {
|
internship?: Internship,
|
||||||
type: String,
|
submit: (new_internship: NewInternship) => void,
|
||||||
required: false,
|
}>();
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
end: {
|
|
||||||
type: String,
|
|
||||||
required: false,
|
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
year_of_study: {
|
|
||||||
type: Number,
|
|
||||||
required: false,
|
|
||||||
default: 1
|
|
||||||
},
|
|
||||||
semester: {
|
|
||||||
type: String,
|
|
||||||
required: false,
|
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
company_id: {
|
|
||||||
type: Number,
|
|
||||||
required: false,
|
|
||||||
default: -1
|
|
||||||
},
|
|
||||||
description: {
|
|
||||||
type: String,
|
|
||||||
required: false,
|
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
submit: {
|
|
||||||
type: Function as PropType<(internship: NewInternship) => void>,
|
|
||||||
required: true
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const isValid = ref(false);
|
const isValid = ref(false);
|
||||||
const form = ref({
|
const form = ref({
|
||||||
start: props.start,
|
start: props.internship?.start || "",
|
||||||
end: props.end,
|
end: props.internship?.end || "",
|
||||||
year_of_study: props.year_of_study,
|
year_of_study: props.internship?.year_of_study || 2025,
|
||||||
semester: props.semester,
|
semester: props.internship?.semester || "WINTER",
|
||||||
company_id: props.company_id === -1 ? null : props.company_id,
|
company_id: props.internship?.company?.id == undefined ? null : props.internship.company.id,
|
||||||
description: props.description,
|
description: props.internship?.position_description || "",
|
||||||
consent: false,
|
consent: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -67,9 +67,7 @@ const { data, error, refresh } = await useSanctumFetch<Internship>(`/api/interns
|
|||||||
<div v-else>
|
<div v-else>
|
||||||
<div>
|
<div>
|
||||||
<h2>Základné informácie</h2>
|
<h2>Základné informácie</h2>
|
||||||
<InternshipEditor :start="data?.start" :end="data?.end" :year_of_study="data?.year_of_study"
|
<InternshipEditor :internship="data!" :submit="handleUpdateOfBasicInfo" />
|
||||||
:semester="data?.semester" :company_id="data?.company.id"
|
|
||||||
:description="data?.position_description" :submit="handleUpdateOfBasicInfo" />
|
|
||||||
<hr />
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user