Exemple #1
0
 public function onHeadEnd(\CmsModule\Events\RenderArgs $args)
 {
     if ($this->analyticsManager->getActivated() && $args->getPresenter() instanceof PagePresenter) {
         $control = $this->widgetManager->getWidget('googleAnalytics')->invoke();
         $control->render($this->analyticsManager->getAccountId());
     }
 }
Exemple #2
0
 public function handleAttached(Form $form)
 {
     $presenters = array();
     foreach ($form->presenter->context->findByTag('presenter') as $name => $item) {
         if (substr($name, -7) === 'Factory') {
             $name = substr($name, 0, -7);
         }
         $presenter = $this->presenterFactory->formatPresenterFromServiceName($name);
         $class = $this->presenterFactory->getPresenterClass($presenter);
         if (!is_subclass_of($class, '\\CmsModule\\Content\\Presenters\\PagePresenter')) {
             continue;
         }
         $name = substr($name, 0, -9);
         $name = explode('.', $name);
         $name = implode(':', $name);
         $presenters[$name] = $name;
     }
     $components = array();
     foreach ($this->widgetManager->getWidgets() as $name => $factory) {
         $components[$factory['class']] = ucfirst($name) . 'Control';
     }
     $form['presenter']->setItems($presenters);
     $form['component']->setItems($components);
     $module = $form['target']->value ? $form['target']->value : key($this->modules);
     $form['layout']->setItems(array_keys($this->templateManager->getLayoutsByModule($module)), FALSE)->setDisabled(FALSE)->setPrompt('-- All --');
 }
Exemple #3
0
 /**
  * Component factory. Delegates the creation of components to a createComponent<Name> method.
  *
  * @param  string      component name
  * @return IComponent  the created component (optionally)
  */
 protected function createComponent($name)
 {
     // parent
     if (($control = parent::createComponent($name)) == TRUE) {
         return $control;
     }
     // widget from widgetManager
     if ($this->widgetManager->hasWidget($name)) {
         return $this->widgetManager->getWidget($name)->invoke();
     }
     throw new \Nette\InvalidArgumentException("Component or widget with name '{$name}' does not exist.");
 }
Exemple #4
0
 /**
  * @param $element
  * @param $name
  * @param LayoutEntity $layout
  * @param PageEntity $page
  * @param RouteEntity $route
  * @param LanguageEntity $language
  * @return BaseElement
  */
 public function createInstance($element)
 {
     return $this->widgetManager->getWidget(self::ELEMENT_PREFIX . $element)->invoke();
 }