Merge pull request #5242 from vivek-webkul/patch-47
[Fixed: #5219 Issue in multi select data in every datagrid.]
This commit is contained in:
commit
fafe0d81c4
|
|
@ -4,8 +4,11 @@
|
|||
<tr>
|
||||
@if ($enableMassActions)
|
||||
<td>
|
||||
@php
|
||||
$record_id = $record->{$index};
|
||||
@endphp
|
||||
<span class="checkbox">
|
||||
<input type="checkbox" v-model="dataIds" @change="select" value="{{ $record->{$index} }}">
|
||||
<input type="checkbox" v-model="dataIds" @change="select($event)" value="{{ $record_id }}">
|
||||
|
||||
<label class="checkbox-view" for="checkbox"></label>
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -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,29 @@
|
|||
/**
|
||||
* 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);
|
||||
}
|
||||
}
|
||||
var routeArray = this.gridCurrentData.path.split('/');
|
||||
var getLastRoute = routeArray[routeArray.length - 1];
|
||||
|
||||
var routeIndexObj = {};
|
||||
routeIndexObj[getLastRoute] = this.dataIds;
|
||||
|
||||
localStorage.dataGridIndexes = JSON.stringify(routeIndexObj);
|
||||
}
|
||||
|
||||
this.allSelected = false;
|
||||
if (this.dataIds.length === 0) {
|
||||
this.massActionsToggle = false;
|
||||
this.massActionType = null;
|
||||
|
|
@ -820,6 +841,36 @@
|
|||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Triggered when page load.
|
||||
*/
|
||||
checkedSelectedCheckbox: function () {
|
||||
var routeArray = this.gridCurrentData.path.split('/');
|
||||
var getLastRoute = routeArray[routeArray.length - 1];
|
||||
|
||||
if ( typeof(Storage) !== 'undefined' ) {
|
||||
var selectedIndexes = JSON.parse(localStorage.getItem("dataGridIndexes"));
|
||||
if ( Object.keys(selectedIndexes).length ) {
|
||||
for (key in selectedIndexes) {
|
||||
if ( key === getLastRoute) {
|
||||
this.dataIds = selectedIndexes[key];
|
||||
|
||||
this.massActionsToggle = true;
|
||||
this.allSelected = false;
|
||||
if (this.dataIds.length === 0) {
|
||||
this.massActionsToggle = false;
|
||||
this.massActionType = null;
|
||||
}
|
||||
} else {
|
||||
delete selectedIndexes[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
localStorage.dataGridIndexes = JSON.stringify(selectedIndexes);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Triggered when master checkbox is clicked.
|
||||
*/
|
||||
|
|
@ -869,6 +920,8 @@
|
|||
this.allSelected = false;
|
||||
|
||||
this.massActionType = null;
|
||||
|
||||
localStorage.dataGridIndexes = [];
|
||||
},
|
||||
|
||||
paginate: function (e) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue