diff --git a/resources/js/pages/services/Create.vue b/resources/js/pages/services/Create.vue index f681d51..3a9e0a1 100644 --- a/resources/js/pages/services/Create.vue +++ b/resources/js/pages/services/Create.vue @@ -8,6 +8,7 @@ import ServiceCategory, { DescriptionMap as serviceCategoryDescriptions } from ' import AppLayout from '@/layouts/AppLayout.vue'; import { Head, useForm } from '@inertiajs/vue3'; import { AppWindowIcon, ArchiveIcon, DatabaseIcon, DatabaseZapIcon, DoorOpenIcon } from 'lucide-vue-next'; +import { watch } from 'vue'; const props = defineProps({ services: Object, @@ -36,6 +37,28 @@ function getIcon(category) { return null; } } + +function generateServiceName() { + let str = ''; + + if (form.category) { + str += form.category.toLowerCase() + '-'; + } + + if (form.service) { + str += form.service.toLowerCase() + '-'; + } + + if (form.version) { + str += form.version.toLowerCase(); + } + + return str; +} + +watch([() => form.category, () => form.service, () => form.version], () => { + form.name = generateServiceName(); +});