Note saving, revert buttons in review page

This commit is contained in:
2018-08-11 11:02:56 +02:00
parent b1d1fa4880
commit 58c28b776b
10 changed files with 184 additions and 51 deletions
+34 -3
View File
@@ -264,9 +264,36 @@ class TableEditController extends Controller
$changeset->setColOrder($input->order);
break;
case 'col.reset-sort':
$changeset->columnOrder = [];
$resp = $changeset->fetchAndTransformColumns();
case 'note.set':
$changeset->note = $input->text;
break;
case 'reset.col-order': // called via POST or GET
$changeset->resetColumnOrder();
break;
case 'reset.col-remove': // called via GET
$changeset->resetRemovedColumns();
break;
case 'reset.col-add': // called via GET
$changeset->resetAddedColumns();
break;
case 'reset.col-update': // called via GET
$changeset->resetUpdatedColumns();
break;
case 'reset.row-remove': // called via GET
$changeset->resetRemovedRows();
break;
case 'reset.row-add': // called via GET
$changeset->resetAddedRows();
break;
case 'reset.row-update': // called via GET
$changeset->resetUpdatedRows();
break;
default:
@@ -280,6 +307,10 @@ class TableEditController extends Controller
$this->storeChangeset($changeset);
if ($request->method() == 'GET') {
return back();
}
// Redirect requested via form
if ($code == 200 && $input->has('redirect')) {
return redirect($input->redirect);
+47 -3
View File
@@ -480,7 +480,7 @@ class Changeset
if ($this->isNewColumn($id)) {
unset($this->newColumns[$id]);
// remove it from order
$this->columnOrder = array_diff($this->columnOrder, [$id]);
$this->columnOrder = array_values(array_diff($this->columnOrder, [$id]));
}
else {
$this->removedColumns[] = $id;
@@ -611,7 +611,7 @@ class Changeset
$order = array_intersect($order, $ids);
$missing = array_diff($ids, $order);
$this->columnOrder = array_merge($order, $missing);
$this->columnOrder = array_values(array_merge($order, $missing));
$this->clearColumnOrderIfUnchanged();
}
@@ -644,10 +644,54 @@ class Changeset
->pluck('id')
->diff($this->removedColumns)
->merge(collect($this->newColumns)->pluck('id'))
->all();
->values()->all();
$this->columnOrder = array_values($this->columnOrder);
if ($expected == $this->columnOrder) {
$this->columnOrder = [];
}
}
public function resetColumnOrder()
{
$this->columnOrder = [];
}
public function resetRemovedColumns()
{
$this->removedColumns = [];
}
public function resetAddedColumns()
{
$this->columnOrder = array_values(
array_diff($this->columnOrder,
collect($this->newColumns)->pluck('id')->all()
)
);
$this->newColumns = [];
$this->clearColumnOrderIfUnchanged();
}
public function resetUpdatedColumns()
{
$this->columnUpdates = [];
}
public function resetRemovedRows()
{
$this->removedRows = [];
}
public function resetAddedRows()
{
$this->newRows = [];
}
public function resetUpdatedRows()
{
$this->rowUpdates = [];
}
}