From 2f8ece4b0a2865d28214f9a6fe8752c20fa88bf8 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 23 Jun 2026 09:11:18 +0700 Subject: [PATCH] refactor: standardize table row actions by implementing reusable RowEditAction and RowDeleteAction components --- resources/js/components/button/BackButton.vue | 28 ++++++ .../js/components/button/CreateButton.vue | 28 ++++++ .../js/components/button/RowApproveAction.vue | 22 +++++ .../js/components/button/RowDeleteAction.vue | 61 ++++++++++++ .../js/components/button/RowDetailAction.vue | 29 ++++++ .../js/components/button/RowEditAction.vue | 28 ++++++ .../js/components/button/RowRejectAction.vue | 22 +++++ resources/js/components/button/index.ts | 7 ++ .../admin/finance/employee-advances/Index.vue | 98 ++++++++++++------- .../js/pages/admin/finance/expenses/Index.vue | 62 +++++++----- .../js/pages/admin/hr/employees/Create.vue | 29 +++--- .../js/pages/admin/hr/employees/Edit.vue | 44 +++++---- .../js/pages/admin/hr/employees/Index.vue | 36 +++---- .../pages/admin/hr/leave-requests/Index.vue | 80 ++++++++------- .../js/pages/admin/manage/cuttings/Create.vue | 25 ++--- .../js/pages/admin/manage/cuttings/Edit.vue | 27 +++-- .../js/pages/admin/manage/cuttings/Index.vue | 42 ++++---- .../js/pages/admin/manage/orders/Create.vue | 25 ++--- .../js/pages/admin/manage/orders/Edit.vue | 38 +++---- .../js/pages/admin/manage/orders/Index.vue | 54 ++++++---- .../js/pages/admin/manage/orders/Show.vue | 9 +- .../pages/admin/manage/purchases/Create.vue | 24 ++--- .../js/pages/admin/manage/purchases/Edit.vue | 28 +++--- .../js/pages/admin/manage/purchases/Index.vue | 38 +++---- .../pages/admin/master/categories/Index.vue | 58 ++++++----- .../js/pages/admin/master/customers/Index.vue | 58 ++++++----- .../js/pages/admin/master/products/Create.vue | 28 +++--- .../js/pages/admin/master/products/Edit.vue | 35 ++++--- .../js/pages/admin/master/products/Index.vue | 50 +++++----- .../admin/master/raw-materials/Create.vue | 10 +- .../pages/admin/master/raw-materials/Edit.vue | 28 +++--- .../admin/master/raw-materials/Index.vue | 42 ++++---- .../js/pages/admin/master/suppliers/Index.vue | 60 +++++++----- .../table/data-table-actions.vue | 16 +-- .../js/pages/admin/system/roles/Create.vue | 10 +- .../js/pages/admin/system/roles/Edit.vue | 30 +++--- .../js/pages/admin/system/roles/Index.vue | 46 +++++---- 37 files changed, 831 insertions(+), 524 deletions(-) create mode 100644 resources/js/components/button/BackButton.vue create mode 100644 resources/js/components/button/CreateButton.vue create mode 100644 resources/js/components/button/RowApproveAction.vue create mode 100644 resources/js/components/button/RowDeleteAction.vue create mode 100644 resources/js/components/button/RowDetailAction.vue create mode 100644 resources/js/components/button/RowEditAction.vue create mode 100644 resources/js/components/button/RowRejectAction.vue create mode 100644 resources/js/components/button/index.ts diff --git a/resources/js/components/button/BackButton.vue b/resources/js/components/button/BackButton.vue new file mode 100644 index 0000000..c917a29 --- /dev/null +++ b/resources/js/components/button/BackButton.vue @@ -0,0 +1,28 @@ + + + diff --git a/resources/js/components/button/CreateButton.vue b/resources/js/components/button/CreateButton.vue new file mode 100644 index 0000000..f4af2c6 --- /dev/null +++ b/resources/js/components/button/CreateButton.vue @@ -0,0 +1,28 @@ + + + diff --git a/resources/js/components/button/RowApproveAction.vue b/resources/js/components/button/RowApproveAction.vue new file mode 100644 index 0000000..4e18fd5 --- /dev/null +++ b/resources/js/components/button/RowApproveAction.vue @@ -0,0 +1,22 @@ + + + diff --git a/resources/js/components/button/RowDeleteAction.vue b/resources/js/components/button/RowDeleteAction.vue new file mode 100644 index 0000000..2189489 --- /dev/null +++ b/resources/js/components/button/RowDeleteAction.vue @@ -0,0 +1,61 @@ + + + diff --git a/resources/js/components/button/RowDetailAction.vue b/resources/js/components/button/RowDetailAction.vue new file mode 100644 index 0000000..28fa2d5 --- /dev/null +++ b/resources/js/components/button/RowDetailAction.vue @@ -0,0 +1,29 @@ + + + diff --git a/resources/js/components/button/RowEditAction.vue b/resources/js/components/button/RowEditAction.vue new file mode 100644 index 0000000..a4fcb7f --- /dev/null +++ b/resources/js/components/button/RowEditAction.vue @@ -0,0 +1,28 @@ + + + diff --git a/resources/js/components/button/RowRejectAction.vue b/resources/js/components/button/RowRejectAction.vue new file mode 100644 index 0000000..7113602 --- /dev/null +++ b/resources/js/components/button/RowRejectAction.vue @@ -0,0 +1,22 @@ + + + diff --git a/resources/js/components/button/index.ts b/resources/js/components/button/index.ts new file mode 100644 index 0000000..a6c84f4 --- /dev/null +++ b/resources/js/components/button/index.ts @@ -0,0 +1,7 @@ +export { default as RowEditAction } from './RowEditAction.vue'; +export { default as RowDeleteAction } from './RowDeleteAction.vue'; +export { default as RowApproveAction } from './RowApproveAction.vue'; +export { default as RowRejectAction } from './RowRejectAction.vue'; +export { default as RowDetailAction } from './RowDetailAction.vue'; +export { default as CreateButton } from './CreateButton.vue'; +export { default as BackButton } from './BackButton.vue'; diff --git a/resources/js/pages/admin/finance/employee-advances/Index.vue b/resources/js/pages/admin/finance/employee-advances/Index.vue index dc81990..4356b08 100644 --- a/resources/js/pages/admin/finance/employee-advances/Index.vue +++ b/resources/js/pages/admin/finance/employee-advances/Index.vue @@ -1,19 +1,25 @@ diff --git a/resources/js/pages/admin/finance/expenses/Index.vue b/resources/js/pages/admin/finance/expenses/Index.vue index 1c46ea9..6509b6e 100644 --- a/resources/js/pages/admin/finance/expenses/Index.vue +++ b/resources/js/pages/admin/finance/expenses/Index.vue @@ -1,17 +1,19 @@ diff --git a/resources/js/pages/admin/hr/employees/Create.vue b/resources/js/pages/admin/hr/employees/Create.vue index 518f529..e57cda5 100644 --- a/resources/js/pages/admin/hr/employees/Create.vue +++ b/resources/js/pages/admin/hr/employees/Create.vue @@ -1,10 +1,9 @@ diff --git a/resources/js/pages/admin/hr/employees/Index.vue b/resources/js/pages/admin/hr/employees/Index.vue index 70b0f47..0254e4a 100644 --- a/resources/js/pages/admin/hr/employees/Index.vue +++ b/resources/js/pages/admin/hr/employees/Index.vue @@ -1,20 +1,19 @@ diff --git a/resources/js/pages/admin/manage/cuttings/Create.vue b/resources/js/pages/admin/manage/cuttings/Create.vue index d3da4f8..f2b59c8 100644 --- a/resources/js/pages/admin/manage/cuttings/Create.vue +++ b/resources/js/pages/admin/manage/cuttings/Create.vue @@ -1,10 +1,14 @@