Skip to content

Instantly share code, notes, and snippets.

@nocelab
Last active April 15, 2020 20:38
Show Gist options
  • Save nocelab/ba2c8b1925f87043168b9efaabdf3eff to your computer and use it in GitHub Desktop.
Save nocelab/ba2c8b1925f87043168b9efaabdf3eff to your computer and use it in GitHub Desktop.
Atk4 Agile UI - Custom CRUD form
<?php
// RUNNABLE IN atk/demos DIR (VERSION 2.0.4)
// https://github.com/atk4/ui/issues/1081
require 'init.php';
require 'database.php';
class MyForm extends \atk4\ui\Form {
function setModel($m, $fields = null) {
parent::setModel($m, false);
$cols_layout = $this->layout->addSubLayout('Columns');
$c1 = $cols_layout->addColumn();
$c1->addField('name');
$c2 = $cols_layout->addColumn();
$c2->addField('iso');
$this->addField('numcode');
return $this->model;
}
}
class MyExecutor extends atk4\ui\ActionExecutor\UserAction {
public $form = '\\'.MyForm::class;
}
$m = new Country($db);
// SINGLE OPERATION OPTION
$m->getAction('edit')->ui['executor'] = MyExecutor::class;
$crud = $app->add(['CRUD']);
// GENERIC OPERATION OPTION
//$crud = $app->add(['CRUD', 'executor' => MyExecutor::class]);
$crud->setModel($m);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment