Beispiel #1
0
 /**
  * Render a given model.
  *
  * @param ModelInterface $objModel    The model to render.
  *
  * @param string         $strToggleID The id of the toggler.
  *
  * @return string
  */
 protected function parseModel($objModel, $strToggleID)
 {
     $objModel->setMeta(DCGE::MODEL_BUTTONS, $this->generateButtons($objModel));
     $objModel->setMeta(DCGE::MODEL_LABEL_VALUE, $this->formatModel($objModel));
     $objTemplate = $this->getTemplate('dcbe_general_treeview_entry');
     if ($objModel->getMeta(DCGE::TREE_VIEW_IS_OPEN)) {
         $toggleTitle = $this->getEnvironment()->getTranslator()->translate('collapseNode', 'MSC');
     } else {
         $toggleTitle = $this->getEnvironment()->getTranslator()->translate('expandNode', 'MSC');
     }
     $toggleScript = sprintf('Backend.getScrollOffset(); return BackendGeneral.loadSubTree(this, ' . '{\'toggler\':\'%s\', \'id\':\'%s\', \'providerName\':\'%s\', \'level\':\'%s\', \'mode\':\'%s\'});', $strToggleID, $objModel->getId(), $objModel->getProviderName(), $objModel->getMeta('dc_gen_tv_level'), 6);
     $toggleUrlEvent = new AddToUrlEvent('ptg=' . $objModel->getId() . '&provider=' . $objModel->getProviderName());
     $this->getEnvironment()->getEventPropagator()->propagate(ContaoEvents::BACKEND_ADD_TO_URL, $toggleUrlEvent);
     $this->addToTemplate('environment', $this->getEnvironment(), $objTemplate)->addToTemplate('objModel', $objModel, $objTemplate)->addToTemplate('intMode', 6, $objTemplate)->addToTemplate('strToggleID', $strToggleID, $objTemplate)->addToTemplate('toggleUrl', $toggleUrlEvent->getUrl(), $objTemplate)->addToTemplate('toggleTitle', $toggleTitle, $objTemplate)->addToTemplate('toggleScript', $toggleScript, $objTemplate);
     return $objTemplate->parse();
 }
Beispiel #2
0
 /**
  * Check the state of a model and set the metadata accordingly.
  *
  * @param ModelInterface $model The model of which the state shall be checked of.
  *
  * @param int            $level The tree level the model is contained within.
  *
  * @return void
  */
 private function determineModelState(ModelInterface $model, $level)
 {
     $model->setMeta(DCGE::TREE_VIEW_LEVEL, $level);
     $model->setMeta($model::SHOW_CHILDREN, $this->states->isModelOpen($model->getProviderName(), $model->getId()));
 }
Beispiel #3
0
 /**
  * Render a given model.
  *
  * @param ModelInterface $objModel    The model to render.
  *
  * @param string         $strToggleID The id of the toggler.
  *
  * @return string
  */
 protected function parseModel($objModel, $strToggleID)
 {
     $event = new FormatModelLabelEvent($this->environment, $objModel);
     $this->environment->getEventDispatcher()->dispatch(DcGeneralEvents::FORMAT_MODEL_LABEL, $event);
     $objModel->setMeta($objModel::LABEL_VALUE, $event->getLabel());
     $objTemplate = $this->getTemplate('dcbe_general_treeview_entry');
     if ($objModel->getMeta($objModel::SHOW_CHILDREN)) {
         $toggleTitle = $this->getEnvironment()->getTranslator()->translate('collapseNode', 'MSC');
     } else {
         $toggleTitle = $this->getEnvironment()->getTranslator()->translate('expandNode', 'MSC');
     }
     $toggleScript = sprintf('Backend.getScrollOffset(); return BackendGeneral.loadSubTree(this, ' . '{\'toggler\':\'%s\', \'id\':\'%s\', \'providerName\':\'%s\', \'level\':\'%s\', \'mode\':\'%s\'});', $strToggleID, $objModel->getId(), $objModel->getProviderName(), $objModel->getMeta('dc_gen_tv_level'), 6);
     $toggleUrlEvent = new AddToUrlEvent('ptg=' . $objModel->getId() . '&provider=' . $objModel->getProviderName());
     $this->getEnvironment()->getEventDispatcher()->dispatch(ContaoEvents::BACKEND_ADD_TO_URL, $toggleUrlEvent);
     $this->addToTemplate('environment', $this->getEnvironment(), $objTemplate)->addToTemplate('objModel', $objModel, $objTemplate)->addToTemplate('select', $this->isSelectModeActive(), $objTemplate)->addToTemplate('intMode', 6, $objTemplate)->addToTemplate('strToggleID', $strToggleID, $objTemplate)->addToTemplate('toggleUrl', $toggleUrlEvent->getUrl(), $objTemplate)->addToTemplate('toggleTitle', $toggleTitle, $objTemplate)->addToTemplate('toggleScript', $toggleScript, $objTemplate);
     return $objTemplate->parse();
 }
Beispiel #4
0
 /**
  * Render a given model.
  *
  * @param ModelInterface $objModel    The model to render.
  *
  * @param string         $strToggleID The id of the toggler.
  *
  * @return string
  */
 protected function parseModel($objModel, $strToggleID)
 {
     $objModel->setMeta($objModel::LABEL_VALUE, $this->formatModel($objModel));
     if ($objModel->getMeta($objModel::SHOW_CHILDREN)) {
         $toggleTitle = $this->getEnvironment()->getTranslator()->translate('collapseNode', 'MSC');
     } else {
         $toggleTitle = $this->getEnvironment()->getTranslator()->translate('expandNode', 'MSC');
     }
     $toggleScript = sprintf('Backend.getScrollOffset(); return BackendGeneral.loadSubTree(this, ' . '{\'toggler\':\'%s\', \'id\':\'%s\', \'providerName\':\'%s\', \'level\':\'%s\'});', $strToggleID, $objModel->getId(), $objModel->getProviderName(), $objModel->getMeta('dc_gen_tv_level'));
     $toggleUrlEvent = new AddToUrlEvent('ptg=' . $objModel->getId() . '&provider=' . $objModel->getProviderName());
     $this->getEnvironment()->getEventDispatcher()->dispatch(ContaoEvents::BACKEND_ADD_TO_URL, $toggleUrlEvent);
     $template = new ContaoBackendViewTemplate('widget_treepicker_entry');
     $template->setTranslator($this->getEnvironment()->getTranslator())->set('id', $this->strId)->set('name', $this->strName)->set('fieldType', $this->fieldType)->set('environment', $this->getEnvironment())->set('objModel', $objModel)->set('strToggleID', $strToggleID)->set('toggleUrl', $toggleUrlEvent->getUrl())->set('toggleTitle', $toggleTitle)->set('toggleScript', $toggleScript)->set('active', $this->optionChecked($objModel->getProperty($this->idProperty), $this->value))->set('idProperty', $this->idProperty);
     $level = $objModel->getMeta(DCGE::TREE_VIEW_LEVEL);
     if ($this->minLevel > 0 && $level < $this->minLevel - 1) {
         $template->set('fieldType', 'none');
     }
     if ($this->maxLevel > 0 && $level > $this->maxLevel - 1) {
         $template->set('fieldType', 'none');
     }
     return $template->parse();
 }
Beispiel #5
0
 /**
  * Render a given model.
  *
  * @param ModelInterface $objModel    The model to render.
  *
  * @param string         $strToggleID The id of the toggler.
  *
  * @return string
  */
 protected function parseModel($objModel, $strToggleID)
 {
     $objModel->setMeta($objModel::LABEL_VALUE, $this->formatModel($objModel));
     $objTemplate = TL_MODE === 'BE' ? new BackendTemplate('widget_treepicker_entry') : new FrontendTemplate('widget_treepicker_entry');
     if ($objModel->getMeta(DCGE::TREE_VIEW_IS_OPEN)) {
         $toggleTitle = $this->getEnvironment()->getTranslator()->translate('collapseNode', 'MSC');
     } else {
         $toggleTitle = $this->getEnvironment()->getTranslator()->translate('expandNode', 'MSC');
     }
     $toggleScript = sprintf('Backend.getScrollOffset(); return BackendGeneral.loadSubTree(this, ' . '{\'toggler\':\'%s\', \'id\':\'%s\', \'providerName\':\'%s\', \'level\':\'%s\'});', $strToggleID, $objModel->getId(), $objModel->getProviderName(), $objModel->getMeta('dc_gen_tv_level'));
     $toggleUrlEvent = new AddToUrlEvent('ptg=' . $objModel->getId() . '&amp;provider=' . $objModel->getProviderName());
     $this->getEnvironment()->getEventPropagator()->propagate(ContaoEvents::BACKEND_ADD_TO_URL, $toggleUrlEvent);
     $objTemplate->id = $this->strId;
     $objTemplate->name = $this->strName;
     $objTemplate->fieldType = $this->fieldType;
     $objTemplate->environment = $this->getEnvironment();
     $objTemplate->objModel = $objModel;
     $objTemplate->strToggleID = $strToggleID;
     $objTemplate->toggleUrl = $toggleUrlEvent->getUrl();
     $objTemplate->toggleTitle = $toggleTitle;
     $objTemplate->toggleScript = $toggleScript;
     $objTemplate->active = $this->optionChecked($objModel->getId(), $this->value);
     return $objTemplate->parse();
 }