Datagrid filters bug fix due to return statement used it was working on only first filter only

This commit is contained in:
Prashant Singh 2019-01-17 11:14:28 +05:30
parent 89ec9b5a9e
commit 30a2031867
2 changed files with 15 additions and 7 deletions

View File

@ -174,13 +174,13 @@ abstract class DataGrid
if (array_keys($info)[0] == "like" || array_keys($info)[0] == "nlike") {
foreach ($info as $condition => $filter_value) {
if ($this->enableFilterMap && isset($this->filterMap[$columnName])) {
return $collection->where(
$collection->where(
$this->filterMap[$columnName],
config("datagrid.operators.{$condition}"),
'%'.$filter_value.'%'
);
} else {
return $collection->where(
$collection->where(
$columnName,
config("datagrid.operators.{$condition}"),
'%'.$filter_value.'%'
@ -191,13 +191,13 @@ abstract class DataGrid
foreach ($info as $condition => $filter_value) {
if ($columnType == 'datetime') {
if ($this->enableFilterMap && isset($this->filterMap[$columnName])) {
return $collection->whereDate(
$this->filterMap[$columnname],
$collection->whereDate(
$this->filterMap[$columnName],
config("datagrid.operators.{$condition}"),
$filter_value
);
} else {
return $collection->whereDate(
$collection->whereDate(
$columnName,
config("datagrid.operators.{$condition}"),
$filter_value
@ -205,13 +205,13 @@ abstract class DataGrid
}
} else {
if ($this->enableFilterMap && isset($this->filterMap[$columnName])) {
return $collection->where(
$collection->where(
$this->filterMap[$columnName],
config("datagrid.operators.{$condition}"),
$filter_value
);
} else {
return $collection->where(
$collection->where(
$columnName,
config("datagrid.operators.{$condition}"),
$filter_value
@ -222,6 +222,8 @@ abstract class DataGrid
}
}
}
dd($collection->toSql());
return $collection;
}
public function prepareMassActions() {

View File

@ -440,6 +440,12 @@
filterRepeated = 1;
return false;
} else if(this.filters[j].cond == condition && this.filters[j].val != response) {
filterRepeated = 1;
this.filters[j].val = response;
this.makeURL();
}
}
}