/** * @param \Components\Ui_Panel $panel_ */ public function add(Ui_Panel $panel_, $category_ = null) { $this->m_children[$panel_->name] = $panel_; if (null !== $category_) { $this->m_categories[$category_][$panel_->name] = $panel_; } if (null !== $panel_->parent) { $panel_->clearId(); } $panel_->parent = $this; $panel_->root = $this->root; $panel_->scriptlet = $this->scriptlet; $panel_->ajaxEnabled = $this->ajaxEnabled; $panel_->m_form = $this->m_form; $panel_->init(); $panel_->onRetrieveValue(); // TODO Trigger validators. if ($panel_->m_form && $panel_ instanceof Ui_Panel_Button_Submit && $panel_->hasBeenSubmitted() && $panel_->callback) { call_user_func_array($panel_->callback, [$panel_]); } else { if (null !== $panel_->callback && Ui_Scriptlet::$submittedPanelId === $panel_->id()) { call_user_func_array($panel_->callback, [$panel_]); } } }