/**
  * @see \Components\Ui_Panel::onRetrieveValue() onRetrieveValue
  */
 protected function onRetrieveValue()
 {
     parent::onRetrieveValue();
     $uploadPathTmp = self::temporaryUploadPath();
     if ($uploadPathTmp->isDirectory()) {
         $this->scanTemporaryUploadPath($uploadPathTmp);
     }
     $uploadPath = self::uploadPath();
     $this->m_files = [];
     $this->scanUploadPath($uploadPath, '', $this->m_files);
     if (($remove = $this->requestParam('remove')) && isset($this->m_files[$remove])) {
         $this->m_files[$remove]->delete();
         unset($this->m_files[$remove]);
     }
 }
 /**
  * @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_]);
         }
     }
 }