Skip to content

Commit

Permalink
feat: mass action fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
devansh-webkul committed Aug 24, 2023
1 parent 47fe8da commit b7de486
Show file tree
Hide file tree
Showing 10 changed files with 141 additions and 138 deletions.
18 changes: 1 addition & 17 deletions packages/Webkul/Admin/src/DataGrids/AttributeDataGrid.php
Original file line number Diff line number Diff line change
Expand Up @@ -144,26 +144,10 @@ public function prepareActions()
public function prepareMassActions()
{
$this->addMassAction([
'icon' => 'icon-delete',
'title' => trans('admin::app.datagrid.delete'),
'method' => 'POST',
'url' => route('admin.catalog.attributes.mass_delete'),
]);

// dummy sample for all datagrids
// $this->addMassAction([
// 'title' => trans('admin::app.datagrid.update-status'),
// 'method' => 'POST',
// 'url' => route('admin.catalog.attributes.mass_delete'),
// 'options' => [
// [
// 'name' => trans('admin::app.datagrid.active'),
// 'value' => 1,
// ],
// [
// 'name' => trans('admin::app.datagrid.inactive'),
// 'value' => 0,
// ],
// ],
// ]);
}
}
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
<x-admin::layouts>
<div class="flex gap-[16px] justify-between items-center max-sm:flex-wrap">
<div class="flex items-center justify-between gap-[16px] max-sm:flex-wrap">
{{-- Title --}}
<p class="text-[20px] text-gray-800 font-bold">
<p class="text-[20px] font-bold text-gray-800">
@lang('admin::app.catalog.attributes.index.title')
</p>

<div class="flex gap-x-[10px] items-center">
<div class="flex items-center gap-x-[10px]">
<!-- Dropdown -->
<x-admin::dropdown position="bottom-right">
<x-slot:toggle>
<span class="icon-setting p-[6px] rounded-[6px] text-[24px] cursor-pointer transition-all hover:bg-gray-100"></span>
<span class="icon-setting cursor-pointer rounded-[6px] p-[6px] text-[24px] transition-all hover:bg-gray-100"></span>
</x-slot:toggle>

<x-slot:content class="w-[174px] max-w-full !p-[8PX] border border-gray-300 rounded-[4px] z-10 bg-white shadow-[0px_8px_10px_0px_rgba(0,_0,_0,_0.2)]">
<x-slot:content class="z-10 w-[174px] max-w-full rounded-[4px] border border-gray-300 bg-white !p-[8PX] shadow-[0px_8px_10px_0px_rgba(0,_0,_0,_0.2)]">
<div class="grid gap-[2px]">
<!-- Current Channel -->
<div class="p-[6px] items-center cursor-pointer transition-all hover:bg-gray-100 hover:rounded-[6px]">
<p class="text-gray-600 font-semibold leading-[24px]">
<div class="cursor-pointer items-center p-[6px] transition-all hover:rounded-[6px] hover:bg-gray-100">
<p class="font-semibold leading-[24px] text-gray-600">
Channel - {{ core()->getCurrentChannel()->name }}
</p>
</div>

<!-- Current Locale -->
<div class="p-[6px] items-center cursor-pointer transition-all hover:bg-gray-100 hover:rounded-[6px]">
<p class="text-gray-600 font-semibold leading-[24px]">
<div class="cursor-pointer items-center p-[6px] transition-all hover:rounded-[6px] hover:bg-gray-100">
<p class="font-semibold leading-[24px] text-gray-600">
Language - {{ core()->getCurrentLocale()->name }}
</p>
</div>

<div class="p-[6px] items-center cursor-pointer transition-all hover:bg-gray-100 hover:rounded-[6px]">
<div class="cursor-pointer items-center p-[6px] transition-all hover:rounded-[6px] hover:bg-gray-100">
<!-- Export Modal -->
<x-admin::modal ref="exportModal">
<x-slot:toggle>
<p class="text-gray-600 font-semibold leading-[24px]">
Export
<p class="font-semibold leading-[24px] text-gray-600">
Export
</p>
</x-slot:toggle>

<x-slot:header>
<p class="text-[18px] text-gray-800 font-bold">
<p class="text-[18px] font-bold text-gray-800">
@lang('Download')
</p>
</x-slot:header>
Expand All @@ -59,11 +59,12 @@
</x-admin::form>
</div>
</x-slot:content>

<x-slot:footer>
<!-- Save Button -->
<button
type="submit"
class="px-[12px] py-[6px] bg-blue-600 border border-blue-700 rounded-[6px] text-gray-50 font-semibold cursor-pointer"
type="submit"
class="cursor-pointer rounded-[6px] border border-blue-700 bg-blue-600 px-[12px] py-[6px] font-semibold text-gray-50"
>
@lang('Export')
</button>
Expand All @@ -75,12 +76,12 @@ class="px-[12px] py-[6px] bg-blue-600 border border-blue-700 rounded-[6px] text-
</x-admin::dropdown>

<a href="{{ route('admin.catalog.attributes.create') }}">
<div class="px-[12px] py-[6px] bg-blue-600 border border-blue-700 rounded-[6px] text-gray-50 font-semibold cursor-pointer">
<div class="cursor-pointer rounded-[6px] border border-blue-700 bg-blue-600 px-[12px] py-[6px] font-semibold text-gray-50">
@lang('admin::app.catalog.attributes.index.create-btn')
</div>
</a>
</div>
</div>

<x-admin::datagrid :src="route('admin.catalog.attributes.index')"></x-admin::datagrid>
</x-admin::layouts>
</x-admin::layouts>
Original file line number Diff line number Diff line change
Expand Up @@ -467,14 +467,6 @@
}
},
setupMassAction(action) {
this.applied.massActions.meta.action = action;
},
setupMassActionOption(option) {
this.applied.massActions.value = option.value;
},
validateMassAction() {
if (!this.applied.massActions.indices.length) {
alert('No records have been selected.');
Expand All @@ -490,17 +482,29 @@
if (
this.applied.massActions.meta.action?.options?.length &&
!this.applied.massActions.value
this.applied.massActions.value === null
) {
alert('You must select a mass action\'s option.');
return false;
}
if (! confirm('Are you sure you want to perform this action?')) {
return false;
}
return true;
},
performMassAction() {
performMassAction(currentAction, currentOption = null) {
this.applied.massActions.meta.action = currentAction;
console.log(currentOption);
if (currentOption) {
this.applied.massActions.value = currentOption.value;
}
if (!this.validateMassAction()) {
return;
}
Expand All @@ -515,7 +519,7 @@
case 'post':
case 'put':
case 'patch':
this.$axios[method](action.action, {
this.$axios[method](action.url, {
indices: this.applied.massActions.indices,
value: this.applied.massActions.value,
})
Expand Down
Loading

0 comments on commit b7de486

Please sign in to comment.