From 4fd1eb126ca5c5bf7ff8e2393aea8e5bb2e40615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Vo=C5=99=C3=AD=C5=A1ek?= Date: Sat, 1 Oct 2022 12:33:53 +0200 Subject: [PATCH] Revert "DEBUG demo" --- demos/basic/button.php | 84 +++++++++++++++++++++++++++++++++++------- demos/init-app.php | 2 +- 2 files changed, 72 insertions(+), 14 deletions(-) diff --git a/demos/basic/button.php b/demos/basic/button.php index 227c4ee553..299704da85 100644 --- a/demos/basic/button.php +++ b/demos/basic/button.php @@ -4,8 +4,13 @@ namespace Atk4\Ui\Demos; -use Atk4\Ui\Form; +use Atk4\Ui\Button; use Atk4\Ui\Header; +use Atk4\Ui\HtmlTemplate; +use Atk4\Ui\Icon; +use Atk4\Ui\Label; +use Atk4\Ui\Table; +use Atk4\Ui\View; /** @var \Atk4\Ui\App $app */ require_once __DIR__ . '/../init-app.php'; @@ -14,16 +19,69 @@ Header::addTo($app, ['Basic Button', 'size' => 2]); -$form = Form::addTo($app); -$recipient = $form->addControl( - 'recipient', - [Form\Control\Dropdown::class, - 'values' => [], - 'isMultiple' => true, - 'dropdownOptions' => ['allowAdditions' => true, 'forceSelection' => false], - ], - ['default' => 'Username '] -); -$form->onSubmit(function () use ($form) { - echo $form->getApp()->getTag('pre', [], print_r($form->model->get(), true)); +// With Seed +Button::addTo($app, ['Click me'])->link(['index']); + +// Without Seeding +$b1 = new Button('Click me (no seed)'); +$app->add($b1); +// must be added first +$b1->link(['index']); + +Header::addTo($app, ['Properties', 'size' => 2]); +Button::addTo($app, ['Primary button', 'class.primary' => true]); +Button::addTo($app, ['Load', 'class.labeled' => true, 'icon' => 'pause']); +Button::addTo($app, ['Next', 'iconRight' => 'right arrow']); +Button::addTo($app, ['class.circular' => true, 'icon' => 'settings']); + +Header::addTo($app, ['Big Button', 'size' => 2]); +Button::addTo($app, ['Click me', 'class.big primary' => true, 'icon' => 'check']); + +Header::addTo($app, ['Button Intent', 'size' => 2]); +Button::addTo($app, ['Yes', 'class.positive basic' => true]); +Button::addTo($app, ['No', 'class.negative basic' => true]); + +Header::addTo($app, ['Combining Buttons', 'size' => 2]); + +$bar = View::addTo($app, ['ui' => 'vertical buttons']); +Button::addTo($bar, ['Play', 'icon' => 'play']); +Button::addTo($bar, ['Pause', 'icon' => 'pause']); +Button::addTo($bar, ['Shuffle', 'icon' => 'shuffle']); + +Header::addTo($app, ['Icon Bar', 'size' => 2]); +$bar = View::addTo($app, ['ui' => 'big blue buttons']); +Button::addTo($bar, ['icon' => 'file']); +Button::addTo($bar, ['icon' => 'yellow save']); +Button::addTo($bar, ['icon' => 'upload', 'class.disabled' => true]); + +Header::addTo($app, ['Forks Button Component', 'size' => 2]); + +// Creating your own button component example + +/** @var Button $forkButtonClass */ +$forkButtonClass = AnonymousClassNameCache::get_class(fn () => new class(0) /* need 0 argument here for constructor */ extends Button { + public function __construct(int $n) + { + Icon::addTo(Button::addTo($this, ['Forks', 'class.blue' => true]), ['fork']); + Label::addTo($this, [number_format($n), 'class.basic blue left pointing' => true]); + + parent::__construct(['class.labeled' => true]); + } }); + +$forkButton = new $forkButtonClass(1234 + random_int(1, 100)); +$app->add($forkButton); + +Header::addTo($app, ['Custom Template', 'size' => 2]); + +$view = View::addTo($app, ['template' => new HtmlTemplate('Hello, {$tag1}, my name is {$tag2}')]); + +Button::addTo($view, ['World'], ['tag1']); +Button::addTo($view, ['Agile UI', 'class.blue' => true], ['tag2']); + +Header::addTo($app, ['Attaching', 'size' => 2]); + +Button::addTo($app, ['Previous', 'class.top attached' => true]); +Table::addTo($app, ['class.attached' => true, 'header' => false]) + ->setSource(['One', 'Two', 'Three', 'Four']); +Button::addTo($app, ['Next', 'class.bottom attached' => true]); diff --git a/demos/init-app.php b/demos/init-app.php index 2b6eaf2478..a0d4af02ab 100644 --- a/demos/init-app.php +++ b/demos/init-app.php @@ -83,7 +83,7 @@ public static function get_class(\Closure $createAnonymousClassFx): string $app->initLayout([!isset($_GET['layout']) ? Layout\Maestro::class : $app->stickyGet('layout')]); $layout = $app->layout; -if (false && $layout instanceof Layout\NavigableInterface) { +if ($layout instanceof Layout\NavigableInterface) { $layout->addMenuItem(['Welcome to Agile Toolkit', 'icon' => 'gift'], [$demosUrl . 'index']); $path = $demosUrl . 'layout/';