| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace ThurData\Servers\KerioEmail\Core\UI\Traits;
- use function \ThurData\Servers\KerioEmail\Core\Helper\sl;
- /**
- * Main Container Elements related functions
- * Main Container Trait
- *
- * @autor ThurData <info@thrudata.ch>
- */
- trait MainContainerElements
- {
- protected $ajaxElements = [];
- protected $vueComponents = [];
-
- protected $header = [];
- protected $footer = [];
- protected $navbar = null;
- public function addAjaxElement(\ThurData\Servers\KerioEmail\Core\UI\Interfaces\AjaxElementInterface &$element)
- {
- $this->ajaxElements[] = &$element;
- }
- public function addVueComponent(&$element)
- {
- if ($element->isVueComponent())
- {
- $this->vueComponents[$element->getTemplateName()] = &$element;
- }
- }
- protected function prepareElemnentsContainers()
- {
- $this->addNewElementsContainer('header')
- ->addNewElementsContainer('footer')
- ->addNewElementsContainer('navbar');
- }
- public function loadDefaultNavbars()
- {
- //no navbar was added manually
- if ($this->navbar === null)
- {
- $this->navbar = [];
- $sidebars = sl('sidebar')->get();
- foreach ($sidebars as $bar)
- {
- $this->addElement($bar, 'navbar');
- }
- }
- }
- }
|