From 370398412bac14197b88e572a57f7066dcb5fede Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Wed, 10 Jun 2026 02:05:26 +0700 Subject: [PATCH] Add category management actions component with edit and delete functionality. Integrate confirmation dialog for delete actions and implement permission checks for user actions. Introduce new dialog components for enhanced UI interactions. --- .../categories/data-table-actions.vue | 70 +++++++++++++++++++ resources/js/components/ui/dialog/Dialog.vue | 19 +++++ .../js/components/ui/dialog/DialogClose.vue | 15 ++++ .../js/components/ui/dialog/DialogContent.vue | 53 ++++++++++++++ .../ui/dialog/DialogDescription.vue | 23 ++++++ .../js/components/ui/dialog/DialogFooter.vue | 27 +++++++ .../js/components/ui/dialog/DialogHeader.vue | 17 +++++ .../js/components/ui/dialog/DialogOverlay.vue | 21 ++++++ .../ui/dialog/DialogScrollContent.vue | 59 ++++++++++++++++ .../js/components/ui/dialog/DialogTitle.vue | 23 ++++++ .../js/components/ui/dialog/DialogTrigger.vue | 15 ++++ resources/js/components/ui/dialog/index.ts | 10 +++ 12 files changed, 352 insertions(+) create mode 100644 resources/js/components/categories/data-table-actions.vue create mode 100644 resources/js/components/ui/dialog/Dialog.vue create mode 100644 resources/js/components/ui/dialog/DialogClose.vue create mode 100644 resources/js/components/ui/dialog/DialogContent.vue create mode 100644 resources/js/components/ui/dialog/DialogDescription.vue create mode 100644 resources/js/components/ui/dialog/DialogFooter.vue create mode 100644 resources/js/components/ui/dialog/DialogHeader.vue create mode 100644 resources/js/components/ui/dialog/DialogOverlay.vue create mode 100644 resources/js/components/ui/dialog/DialogScrollContent.vue create mode 100644 resources/js/components/ui/dialog/DialogTitle.vue create mode 100644 resources/js/components/ui/dialog/DialogTrigger.vue create mode 100644 resources/js/components/ui/dialog/index.ts diff --git a/resources/js/components/categories/data-table-actions.vue b/resources/js/components/categories/data-table-actions.vue new file mode 100644 index 0000000..25f8e99 --- /dev/null +++ b/resources/js/components/categories/data-table-actions.vue @@ -0,0 +1,70 @@ + + + diff --git a/resources/js/components/ui/dialog/Dialog.vue b/resources/js/components/ui/dialog/Dialog.vue new file mode 100644 index 0000000..ade5260 --- /dev/null +++ b/resources/js/components/ui/dialog/Dialog.vue @@ -0,0 +1,19 @@ + + + diff --git a/resources/js/components/ui/dialog/DialogClose.vue b/resources/js/components/ui/dialog/DialogClose.vue new file mode 100644 index 0000000..c5fae04 --- /dev/null +++ b/resources/js/components/ui/dialog/DialogClose.vue @@ -0,0 +1,15 @@ + + + diff --git a/resources/js/components/ui/dialog/DialogContent.vue b/resources/js/components/ui/dialog/DialogContent.vue new file mode 100644 index 0000000..05172f0 --- /dev/null +++ b/resources/js/components/ui/dialog/DialogContent.vue @@ -0,0 +1,53 @@ + + + diff --git a/resources/js/components/ui/dialog/DialogDescription.vue b/resources/js/components/ui/dialog/DialogDescription.vue new file mode 100644 index 0000000..f52e655 --- /dev/null +++ b/resources/js/components/ui/dialog/DialogDescription.vue @@ -0,0 +1,23 @@ + + + diff --git a/resources/js/components/ui/dialog/DialogFooter.vue b/resources/js/components/ui/dialog/DialogFooter.vue new file mode 100644 index 0000000..c7500a9 --- /dev/null +++ b/resources/js/components/ui/dialog/DialogFooter.vue @@ -0,0 +1,27 @@ + + + diff --git a/resources/js/components/ui/dialog/DialogHeader.vue b/resources/js/components/ui/dialog/DialogHeader.vue new file mode 100644 index 0000000..bfc3c64 --- /dev/null +++ b/resources/js/components/ui/dialog/DialogHeader.vue @@ -0,0 +1,17 @@ + + + diff --git a/resources/js/components/ui/dialog/DialogOverlay.vue b/resources/js/components/ui/dialog/DialogOverlay.vue new file mode 100644 index 0000000..7790077 --- /dev/null +++ b/resources/js/components/ui/dialog/DialogOverlay.vue @@ -0,0 +1,21 @@ + + + diff --git a/resources/js/components/ui/dialog/DialogScrollContent.vue b/resources/js/components/ui/dialog/DialogScrollContent.vue new file mode 100644 index 0000000..abfb3a1 --- /dev/null +++ b/resources/js/components/ui/dialog/DialogScrollContent.vue @@ -0,0 +1,59 @@ + + + diff --git a/resources/js/components/ui/dialog/DialogTitle.vue b/resources/js/components/ui/dialog/DialogTitle.vue new file mode 100644 index 0000000..860f01a --- /dev/null +++ b/resources/js/components/ui/dialog/DialogTitle.vue @@ -0,0 +1,23 @@ + + + diff --git a/resources/js/components/ui/dialog/DialogTrigger.vue b/resources/js/components/ui/dialog/DialogTrigger.vue new file mode 100644 index 0000000..49667e9 --- /dev/null +++ b/resources/js/components/ui/dialog/DialogTrigger.vue @@ -0,0 +1,15 @@ + + + diff --git a/resources/js/components/ui/dialog/index.ts b/resources/js/components/ui/dialog/index.ts new file mode 100644 index 0000000..6768b09 --- /dev/null +++ b/resources/js/components/ui/dialog/index.ts @@ -0,0 +1,10 @@ +export { default as Dialog } from "./Dialog.vue" +export { default as DialogClose } from "./DialogClose.vue" +export { default as DialogContent } from "./DialogContent.vue" +export { default as DialogDescription } from "./DialogDescription.vue" +export { default as DialogFooter } from "./DialogFooter.vue" +export { default as DialogHeader } from "./DialogHeader.vue" +export { default as DialogOverlay } from "./DialogOverlay.vue" +export { default as DialogScrollContent } from "./DialogScrollContent.vue" +export { default as DialogTitle } from "./DialogTitle.vue" +export { default as DialogTrigger } from "./DialogTrigger.vue"