Overview

Namespaces

  • Charcoal
    • Ui
      • Dashboard
      • Form
      • FormGroup
      • FormInput
      • Layout
      • Menu
      • MenuItem
      • ServiceProvider

Classes

  • Charcoal\Ui\AbstractUiItem
  • Charcoal\Ui\Dashboard\AbstractDashboard
  • Charcoal\Ui\Dashboard\DashboardBuilder
  • Charcoal\Ui\Dashboard\DashboardConfig
  • Charcoal\Ui\Dashboard\FormInputConfig
  • Charcoal\Ui\Dashboard\GenericDashboard
  • Charcoal\Ui\Form\AbstractForm
  • Charcoal\Ui\Form\FormBuilder
  • Charcoal\Ui\Form\FormConfig
  • Charcoal\Ui\Form\GenericForm
  • Charcoal\Ui\FormGroup\AbstractFormGroup
  • Charcoal\Ui\FormGroup\FormGroupConfig
  • Charcoal\Ui\FormGroup\GenericFormGroup
  • Charcoal\Ui\FormInput\AbstractFormInput
  • Charcoal\Ui\FormInput\FormInputBuilder
  • Charcoal\Ui\FormInput\GenericFormInput
  • Charcoal\Ui\Layout\AbstractLayout
  • Charcoal\Ui\Layout\GenericLayout
  • Charcoal\Ui\Layout\LayoutBuilder
  • Charcoal\Ui\Layout\LayoutConfig
  • Charcoal\Ui\Layout\LayoutFactory
  • Charcoal\Ui\Menu\AbstractMenu
  • Charcoal\Ui\Menu\GenericMenu
  • Charcoal\Ui\Menu\MenuBuilder
  • Charcoal\Ui\Menu\MenuConfig
  • Charcoal\Ui\Menu\MenuFactory
  • Charcoal\Ui\MenuItem\AbstractMenuItem
  • Charcoal\Ui\MenuItem\GenericMenuItem
  • Charcoal\Ui\MenuItem\MenuItemBuilder
  • Charcoal\Ui\MenuItem\MenuItemConfig
  • Charcoal\Ui\MenuItem\MenuItemFactory
  • Charcoal\Ui\ServiceProvider\DashboardServiceProvider
  • Charcoal\Ui\ServiceProvider\FormServiceProvider
  • Charcoal\Ui\ServiceProvider\LayoutServiceProvider
  • Charcoal\Ui\ServiceProvider\MenuServiceProvider
  • Charcoal\Ui\ServiceProvider\UiServiceProvider
  • Charcoal\Ui\UiItemConfig

Interfaces

  • Charcoal\Ui\Dashboard\DashboardInterface
  • Charcoal\Ui\Form\FormInterface
  • Charcoal\Ui\FormGroup\FormGroupInterface
  • Charcoal\Ui\FormInput\FormInputInterface
  • Charcoal\Ui\Layout\LayoutAwareInterface
  • Charcoal\Ui\Layout\LayoutInterface
  • Charcoal\Ui\Menu\MenuInterface
  • Charcoal\Ui\MenuItem\MenuItemInterface
  • Charcoal\Ui\UiGroupingInterface
  • Charcoal\Ui\UiItemInterface

Traits

  • Charcoal\Ui\Dashboard\DashboardTrait
  • Charcoal\Ui\Form\FormTrait
  • Charcoal\Ui\FormGroup\FormGroupTrait
  • Charcoal\Ui\Layout\LayoutAwareTrait
  • Charcoal\Ui\Layout\LayoutTrait
  • Charcoal\Ui\UiGroupingTrait
  • Charcoal\Ui\UiItemTrait
  • Overview
  • Namespace
  • Class
 1: <?php
 2: 
 3: namespace Charcoal\Ui\Layout;
 4: 
 5: use \InvalidArgumentException;
 6: 
 7: use \Charcoal\Ui\Layout\LayoutBuilder;
 8: use \Charcoal\Ui\Layout\LayoutInterface;
 9: 
10: /**
11:  * Provides an implementation of {@see \Charcoal\Ui\Layout\LayoutAwareInterface}.
12:  */
13: trait LayoutAwareTrait
14: {
15:     /**
16:      * @var LayoutInterface $layout
17:      */
18:     private $layout;
19: 
20:     /**
21:      * @var LayoutBuilder $layoutBuilder
22:      */
23:     protected $layoutBuilder;
24: 
25:     /**
26:      * @param LayoutBuilder $builder The layout builder, to create customized layout object(s).
27:      * @return DashboardInterface Chainable
28:      */
29:     public function setLayoutBuilder(LayoutBuilder $builder)
30:     {
31:         $this->layoutBuilder = $builder;
32:         return $this;
33:     }
34: 
35:     /**
36:      * @param LayoutInterface|array $layout The layout object or structure.
37:      * @throws InvalidArgumentException If the layout argument is not an object or layout structure.
38:      * @return DashboardInterface Chainable
39:      */
40:     public function setLayout($layout)
41:     {
42:         if (($layout instanceof LayoutInterface)) {
43:             $this->layout = $layout;
44:         } elseif (is_array($layout)) {
45:             $this->layout = $this->layoutBuilder->build($layout);
46:         } else {
47:             throw new InvalidArgumentException(
48:                 'Layout must be a LayoutInterface object or an array'
49:             );
50:         }
51:         return $this;
52:     }
53: 
54:     /**
55:      * @return LayoutInterface
56:      */
57:     public function layout()
58:     {
59:         return $this->layout;
60:     }
61: }
62: 
API documentation generated by ApiGen