diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php index 5030db55f..85a313dea 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/body.blade.php @@ -4,8 +4,11 @@ @if ($enableMassActions) + @php + $record_id = $record->{$index}; + @endphp - + diff --git a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php index 00d998cfe..02a188efe 100644 --- a/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php +++ b/packages/Webkul/Ui/src/Resources/views/datagrid/table.blade.php @@ -322,6 +322,7 @@ mounted: function () { this.setParamsAndUrl(); + this.checkedSelectedCheckbox(); if (this.filters.length) { for (let i = 0; i < this.filters.length; i++) { @@ -809,9 +810,24 @@ /** * Triggered when any select box is clicked in the datagrid. */ - select: function () { - this.allSelected = false; + select: function (event) { + var checkboxElement = event.target; + if ( typeof(Storage) !== 'undefined' ) { + if ( checkboxElement.checked ) { + if (! this.dataIds.includes(checkboxElement.value) ) { + this.dataIds.push(checkboxElement.value); + } + } else { + if ( this.dataIds.includes(checkboxElement.value) ) { + this.dataIds.pop(checkboxElement.value); + } + } + + localStorage.dataGridIndexes = JSON.stringify(this.dataIds); + } + + this.allSelected = false; if (this.dataIds.length === 0) { this.massActionsToggle = false; this.massActionType = null; @@ -820,6 +836,23 @@ } }, + /** + * Triggered when page load. + */ + checkedSelectedCheckbox: function () { + if ( typeof(Storage) !== 'undefined' ) { + var selectedIndexes = localStorage.getItem("dataGridIndexes"); + this.dataIds = JSON.parse(selectedIndexes); + + this.massActionsToggle = true; + this.allSelected = false; + if (this.dataIds.length === 0) { + this.massActionsToggle = false; + this.massActionType = null; + } + } + }, + /** * Triggered when master checkbox is clicked. */ @@ -869,6 +902,8 @@ this.allSelected = false; this.massActionType = null; + + localStorage.dataGridIndexes = []; }, paginate: function (e) {