public function createXTestingDataGrid()
 {
     $presenterFactory = new Nette\Application\PresenterFactory();
     $presenterFactory->setMapping(['*' => 'Ublaboo\\DataGrid\\Tests\\Files\\*Presenter']);
     $presenter = $presenterFactory->createPresenter('XTesting');
     $url = new Http\UrlScript('localhost');
     $request = new Http\Request($url);
     $response = new Http\Response();
     $session = new Http\Session($request, $response);
     $presenter->injectPrimary(NULL, NULL, NULL, $request, $response, $session);
     return new DataGrid($presenter, 'XTestingGrid');
 }
Ejemplo n.º 2
0
 public function invoke(PresenterFactory $fact)
 {
     /** @var Homepage $presenter */
     $presenter = $fact->createPresenter('Homepage');
     $ref = new \ReflectionProperty(Presenter::class, 'globalParams');
     $ref->setAccessible(TRUE);
     $ref->setValue($presenter, []);
     $args = [];
     foreach ($this->in->getVariadics() as $part) {
         list($key, $val) = explode('=', $part);
         $args[$key] = $val;
     }
     $link = $presenter->link($this->in->getArgument('target'), $args);
     $this->out->writeln($link);
 }
Ejemplo n.º 3
0
 /**
  * Create new presenter instance.
  * @param  string  presenter name
  * @return IPresenter
  */
 public function createPresenter($name)
 {
     $presenterName = $this->formatServiceNameFromPresenter($name);
     if (isset($this->presentersByName[$presenterName])) {
         $presenter = $this->container->getService($presenterName);
         $presenter = $presenter instanceof Callback ? $presenter->invoke() : $presenter;
     } else {
         if (isset($this->presentersByName[$presenterName . 'Factory'])) {
             $presenter = $this->container->getService($presenterName . 'Factory')->invoke();
         } else {
             return parent::createPresenter($name);
         }
     }
     foreach (array_reverse(get_class_methods($presenter)) as $method) {
         if (substr($method, 0, 6) === 'inject') {
             $this->container->callMethod(array($presenter, $method));
         }
     }
     return $presenter;
 }
Ejemplo n.º 4
0
 /**
  * @param string $name
  * @return IPresenter|UI\Presenter
  */
 public function createPresenter($name)
 {
     return $this->presenterFactory->createPresenter($name);
 }
Ejemplo n.º 5
0
 /**
  * @param string $name
  * @return \Nette\Application\IPresenter
  */
 public function createPresenter($name)
 {
     $this->getPresenterClass($name);
     return $this->presenterFactory->createPresenter($name);
 }