UX improvements in table editor

This commit is contained in:
2018-08-10 18:11:34 +02:00
parent c642774316
commit 1e183f5059
24 changed files with 654 additions and 405 deletions
+22 -16
View File
@@ -123,20 +123,36 @@ class TableEditController extends Controller
$input = objBag($request->all(), false);
$resp = null;
$code = 200;
try {
$code = 200;
switch ($input->action) {
case 'row.update':
$data = (object)$input->data;
$resp = $changeset->rowUpdate($data);
break;
case 'row.update-many':
$newVals = $input->data;
$updated = [];
foreach ($newVals as $rowUpdate) {
$r = $changeset->rowUpdate($rowUpdate);
$updated[$r->_id] = $r;
}
$resp = $updated;
break;
case 'row.remove':
$isNew = $changeset->isNewRow($input->id);
$changeset->rowRemove($input->id);
$resp = $isNew ? null : $changeset->fetchAndTransformRow($input->id);
break;
case 'rows.remove-empty-new':
$changeset->removeEmptyNewRows();
break;
case 'row.restore':
$changeset->rowRestore($input->id);
$resp = $changeset->fetchAndTransformRow($input->id);
@@ -144,13 +160,6 @@ class TableEditController extends Controller
case 'rows.add':
$changeset->addBlankRows($input->count);
// rows.add is sent via a form
if ($input->has('redirect')) {
return redirect($input->redirect);
} else {
$resp = null;
}
break;
case 'rows.add-csv':
@@ -159,13 +168,6 @@ class TableEditController extends Controller
} catch (\Exception $e) {
return $this->backWithErrors(['data' => $e->getMessage()]);
}
// rows.add-csv is sent via a form
if ($input->has('redirect')) {
return redirect($input->redirect);
} else {
$resp = null;
}
break;
case 'col.update':
@@ -190,7 +192,6 @@ class TableEditController extends Controller
case 'col.sort':
$changeset->setColOrder($input->order);
$resp = null;
break;
default:
@@ -204,6 +205,11 @@ class TableEditController extends Controller
$this->storeChangeset($changeset);
// Redirect requested via form
if ($code == 200 && $input->has('redirect')) {
return redirect($input->redirect);
}
return $this->jsonResponse($resp, $code);
}
}