|  |  |  | @ -34,9 +34,14 @@ class TableEditController extends Controller | 
			
		
	
		
			
				
					|  |  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     private function storeChangeset(Changeset $chs) | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * Store the changeset to session | 
			
		
	
		
			
				
					|  |  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |  |      * @param Changeset $changeset | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     private function storeChangeset(Changeset $changeset) | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         session()->put($chs->table->draftSessionKey, $chs); | 
			
		
	
		
			
				
					|  |  |  |  |         session()->put($changeset->table->draftSessionKey, $changeset); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
	
		
			
				
					|  |  |  | @ -53,6 +58,16 @@ class TableEditController extends Controller | 
			
		
	
		
			
				
					|  |  |  |  |         return redirect($tableModel->viewRoute); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     #region Draft tabs | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * Show the table edit view with tabs | 
			
		
	
		
			
				
					|  |  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |  |      * @param User $user - table owner | 
			
		
	
		
			
				
					|  |  |  |  |      * @param string $table - table name | 
			
		
	
		
			
				
					|  |  |  |  |      * @param string|null $tab - page tab name, kebab-case | 
			
		
	
		
			
				
					|  |  |  |  |      * @return \Illuminate\View\View; | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     public function draft(User $user, string $table, $tab = null) | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         /** @var Table $tableModel */ | 
			
		
	
	
		
			
				
					|  |  |  | @ -61,7 +76,7 @@ class TableEditController extends Controller | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if ($tab == null) $tab = 'edit-rows'; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         $method = camel_case($tab); | 
			
		
	
		
			
				
					|  |  |  |  |         $method = camel_case('tab-'.$tab); | 
			
		
	
		
			
				
					|  |  |  |  |         if (!method_exists($this, $method)) abort(404, "No such tab: $tab"); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         $changeset = $this->getChangeset($tableModel); | 
			
		
	
	
		
			
				
					|  |  |  | @ -74,7 +89,7 @@ class TableEditController extends Controller | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** @noinspection PhpUnusedPrivateMethodInspection */ | 
			
		
	
		
			
				
					|  |  |  |  |     private function editRows(Changeset $changeset) | 
			
		
	
		
			
				
					|  |  |  |  |     private function tabEditRows(Changeset $changeset) | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         $revision = $changeset->revision; | 
			
		
	
		
			
				
					|  |  |  |  |         $columns = $changeset->fetchAndTransformColumns(); | 
			
		
	
	
		
			
				
					|  |  |  | @ -89,7 +104,7 @@ class TableEditController extends Controller | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** @noinspection PhpUnusedPrivateMethodInspection */ | 
			
		
	
		
			
				
					|  |  |  |  |     private function addRows(Changeset $changeset) | 
			
		
	
		
			
				
					|  |  |  |  |     private function tabAddRows(Changeset $changeset) | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         $columns = $changeset->fetchAndTransformColumns(); | 
			
		
	
		
			
				
					|  |  |  |  |         $rows = $changeset->getAddedRows(25); | 
			
		
	
	
		
			
				
					|  |  |  | @ -103,7 +118,7 @@ class TableEditController extends Controller | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** @noinspection PhpUnusedPrivateMethodInspection */ | 
			
		
	
		
			
				
					|  |  |  |  |     private function addRowsCsv(Changeset $changeset) | 
			
		
	
		
			
				
					|  |  |  |  |     private function tabAddRowsCsv(Changeset $changeset) | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         $columns = $changeset->fetchAndTransformColumns(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -115,7 +130,7 @@ class TableEditController extends Controller | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** @noinspection PhpUnusedPrivateMethodInspection */ | 
			
		
	
		
			
				
					|  |  |  |  |     private function manageColumns(Changeset $changeset) | 
			
		
	
		
			
				
					|  |  |  |  |     private function tabManageColumns(Changeset $changeset) | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         $columns = $changeset->fetchAndTransformColumns(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -126,6 +141,17 @@ class TableEditController extends Controller | 
			
		
	
		
			
				
					|  |  |  |  |         ]); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     #endregion | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * API hook called by AJAX or via forms. | 
			
		
	
		
			
				
					|  |  |  |  |      * Generally applies modifications to the Changeset stored in session. | 
			
		
	
		
			
				
					|  |  |  |  |      * | 
			
		
	
		
			
				
					|  |  |  |  |      * @param Request $request | 
			
		
	
		
			
				
					|  |  |  |  |      * @param User $user | 
			
		
	
		
			
				
					|  |  |  |  |      * @param string $table | 
			
		
	
		
			
				
					|  |  |  |  |      * @return \Symfony\Component\HttpFoundation\Response | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     public function draftUpdate(Request $request, User $user, string $table) | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         /** @var Table $tableModel */ | 
			
		
	
	
		
			
				
					|  |  |  | 
 |