From fc7313927f5e661781a158428ccc8c9bbe74a377 Mon Sep 17 00:00:00 2001 From: Seth Sharp Date: Sat, 3 Feb 2024 16:11:30 +1000 Subject: [PATCH] wip --- .../Controllers/Dashboard/Blogs/EditBlogController.php | 2 ++ resources/js/Components/Blogs/CreateEditForm.vue | 6 ++++-- resources/js/Components/Inputs/MultiSelect.vue | 6 +++++- resources/js/Components/Tags/CreateEditTagForm.vue | 10 +++++----- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Dashboard/Blogs/EditBlogController.php b/app/Http/Controllers/Dashboard/Blogs/EditBlogController.php index 2f71c85d..8396f48d 100644 --- a/app/Http/Controllers/Dashboard/Blogs/EditBlogController.php +++ b/app/Http/Controllers/Dashboard/Blogs/EditBlogController.php @@ -12,6 +12,8 @@ class EditBlogController extends Controller { public function __invoke(Blog $blog): Response { + $blog->load('tags'); + return Inertia::render('Dashboard/Blogs/Edit', [ 'blog' => $blog, 'tags' => Tag::all() diff --git a/resources/js/Components/Blogs/CreateEditForm.vue b/resources/js/Components/Blogs/CreateEditForm.vue index f3d0fb74..146a2969 100644 --- a/resources/js/Components/Blogs/CreateEditForm.vue +++ b/resources/js/Components/Blogs/CreateEditForm.vue @@ -30,7 +30,7 @@ const tagOptions = props.tags.map((tag) => { const form = useForm({ title: props.blog?.title ? props.blog.title : '', slug: props.blog?.slug ? props.blog.slug : '', - tags: [], + tags: props.blog?.tags ? props.blog.tags : [], meta_title: props.blog?.meta_title ? props.blog.meta_title : '', meta_description: props.blog?.meta_description ? props.blog.meta_description : '', meta_tags: props.blog?.meta_tags ? props.blog.meta_tags : '', @@ -89,6 +89,8 @@ const submit = () => { - Publish + + {{ blog ? 'Update' : 'Save' }} + diff --git a/resources/js/Components/Inputs/MultiSelect.vue b/resources/js/Components/Inputs/MultiSelect.vue index 6833101c..afe76f3a 100644 --- a/resources/js/Components/Inputs/MultiSelect.vue +++ b/resources/js/Components/Inputs/MultiSelect.vue @@ -5,6 +5,10 @@ import { ChevronUpDownIcon, CheckIcon } from '@heroicons/vue/16/solid/index.js' import InputLabel from '@/Components/Inputs/InputLabel.vue' const props = defineProps({ + modelValue: { + type: Array, + default: null, + }, options: { type: Array, required: true, @@ -17,7 +21,7 @@ const props = defineProps({ const emits = defineEmits(['update:modelValue']) -const selectedOptions = ref([]) +const selectedOptions = ref(props.modelValue ? props.modelValue : []) watch(selectedOptions, (newVal) => { if (newVal) { diff --git a/resources/js/Components/Tags/CreateEditTagForm.vue b/resources/js/Components/Tags/CreateEditTagForm.vue index a783290a..0552375a 100644 --- a/resources/js/Components/Tags/CreateEditTagForm.vue +++ b/resources/js/Components/Tags/CreateEditTagForm.vue @@ -59,15 +59,15 @@ const restoreTag = () => {
- - Delete + + Delete + - + Restore - Save + Save