Exemplo n.º 1
0
 /**
  * @param mixed $value
  * @return mixed
  */
 public function render($value)
 {
     $delimiter = PHP_EOL;
     $lines = [];
     foreach ($value as $key => $item) {
         $lines[] = $key . ': ' . $this->renderers->getRenderer($item)->render($item);
     }
     return PHP_EOL . implode($delimiter, $lines) . PHP_EOL;
 }
Exemplo n.º 2
0
 /**
  * @param mixed $value
  * @return array|Element[]
  */
 public function headElements($value)
 {
     $content = $this->getContent($value);
     $renderer = $this->renderers->getRenderer($content);
     if ($renderer instanceof WebRenderer) {
         return $renderer->headElements($content);
     }
     return [];
 }
Exemplo n.º 3
0
 /**
  * @param mixed $value
  * @return mixed
  */
 public function render($value)
 {
     $delimiter = PHP_EOL . PHP_EOL;
     $isList = array_keys($value) == range(0, count($value) - 1);
     $lines = [];
     foreach ($value as $key => $item) {
         $lines[] = ($isList ? '' : $key . ': ') . $this->renderers->getRenderer($item)->render($item);
     }
     return PHP_EOL . implode($delimiter, $lines) . PHP_EOL;
 }
Exemplo n.º 4
0
 /**
  * @param array $array
  * @return array|Element[]
  */
 public function headElements($array)
 {
     $elements = [];
     foreach ($array as $item) {
         $renderer = $this->renderers->getRenderer($item);
         if ($renderer instanceof WebRenderer) {
             $elements = array_merge($elements, $renderer->headElements($item));
         }
     }
     return $elements;
 }
Exemplo n.º 5
0
 /**
  * @param Table $value
  * @return array|Element[]
  */
 public function headElements($value)
 {
     $elements = [];
     foreach ($value->getItems() as $item) {
         foreach ($value->getCells($item) as $cell) {
             $renderer = $this->renderers->getRenderer($cell);
             if ($renderer instanceof WebRenderer) {
                 $elements = array_merge($elements, $renderer->headElements($cell));
             }
         }
     }
     return $elements;
 }
Exemplo n.º 6
0
 /**
  * @param DataTable $value
  * @return array|Element[]
  */
 public function headElements($value)
 {
     $elements = [];
     $table = $value->getTable();
     $renderer = $this->renderers->getRenderer($table);
     if ($renderer instanceof WebRenderer) {
         $elements = $renderer->headElements($table);
     }
     $options = json_encode($value->getOptions());
     $elements[] = HeadElements::style('//cdn.datatables.net/1.10.7/css/jquery.dataTables.min.css');
     $elements[] = HeadElements::script('//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js');
     $elements[] = new Element('script', [], ["\n            \$(function () {\n                \$('.data-table > table').dataTable({$options});\n            });\n        "]);
     return $elements;
 }
Exemplo n.º 7
0
 /**
  * @param RendererRegistry $renderers
  * @return \rtens\domin\delivery\web\Element[]
  */
 public function headElements(RendererRegistry $renderers)
 {
     $renderer = $renderers->getRenderer($this->content);
     if ($renderer instanceof WebRenderer) {
         return $renderer->headElements($this->content);
     }
     return [];
 }
Exemplo n.º 8
0
 /**
  * @param mixed $value
  * @return mixed
  */
 public function render($value)
 {
     if (method_exists($value, '__toString')) {
         return (string) $value;
     }
     $output = ['### ' . (new \ReflectionClass($value))->getShortName() . ' ###'];
     $reader = new PropertyReader($this->types, $value);
     foreach ($reader->readInterface($value) as $property) {
         if (!$property->canGet()) {
             continue;
         }
         $propertyValue = $property->get($value);
         $rendered = $this->renderers->getRenderer($propertyValue)->render($propertyValue);
         $output[] = ucfirst($property->name()) . ': ' . rtrim(str_replace(PHP_EOL, PHP_EOL . '    ', $rendered));
     }
     return implode(PHP_EOL, $output) . PHP_EOL;
 }
Exemplo n.º 9
0
 /**
  * @param RendererRegistry $renderers
  * @return \rtens\domin\delivery\web\Element[]
  */
 public function headElements(RendererRegistry $renderers)
 {
     $elements = [HeadElements::jquery()];
     $renderer = $renderers->getRenderer($this->content);
     if ($renderer instanceof WebRenderer) {
         $elements = array_merge($elements, $renderer->headElements($this->content));
     }
     return $elements;
 }
Exemplo n.º 10
0
 protected function handleValueResult(ValueResult $result)
 {
     $value = $result->getValue();
     $renderer = $this->renderers->getRenderer($value);
     if ($renderer instanceof WebRenderer) {
         $this->headElements = $renderer->headElements($value);
     }
     $this->model['output'] = $renderer->render($value);
     if (!$this->action->isModifying()) {
         $this->crumbs->updateCrumbs($this->action, $this->actionId);
     }
 }
Exemplo n.º 11
0
 private function printResult(Console $console, ExecutionResult $result, $outFile)
 {
     if ($result instanceof ValueResult) {
         $value = $result->getValue();
         $rendered = (string) $this->renderers->getRenderer($value)->render($value);
         if ($outFile) {
             file_put_contents($outFile, $rendered);
             $console->writeLine("Output written to [{$outFile}]");
         } else {
             $console->writeLine($rendered);
         }
         return self::OK;
     } else {
         if ($result instanceof MissingParametersResult) {
             $console->writeLine();
             $console->writeLine("Missing parameters!");
             foreach ($result->getMissingNames() as $missing) {
                 $console->writeLine('  ' . $missing . ': ' . $result->getException($missing)->getMessage());
             }
             return self::ERROR;
         } else {
             if ($result instanceof NotPermittedResult) {
                 $console->writeLine('Permission denied');
                 return self::ERROR;
             } else {
                 if ($result instanceof FailedResult) {
                     $console->writeLine("Error: " . $result->getMessage());
                     $exception = $result->getException();
                     $console->error(get_class($exception) . ': ' . $exception->getMessage() . ' ' . '[' . $exception->getFile() . ':' . $exception->getLine() . ']' . "\n" . $exception->getTraceAsString());
                     return $exception->getCode() ?: self::ERROR;
                 } else {
                     if ($result instanceof NoResult || $result instanceof RedirectResult) {
                         return self::OK;
                     } else {
                         $console->writeLine('Cannot print [' . (new \ReflectionClass($result))->getShortName() . ']');
                         return self::OK;
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 12
0
 protected function render($value)
 {
     return $this->renderers->getRenderer($value)->render($value);
 }
Exemplo n.º 13
0
 /**
  * @param DataTable $value
  * @return mixed
  */
 public function render($value)
 {
     $table = $value->getTable();
     return $this->renderers->getRenderer($table)->render($table);
 }