RenderableController.php 788 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace Dcat\Admin\Controllers;
  3. use Dcat\Admin\Admin;
  4. use Dcat\Admin\Support\Helper;
  5. use Dcat\Admin\Support\RemoteRenderable;
  6. use Illuminate\Http\Request;
  7. class RenderableController
  8. {
  9. /**
  10. * @param Request $request
  11. *
  12. * @return mixed|string
  13. */
  14. public function handle(Request $request)
  15. {
  16. $class = $request->get('renderable');
  17. $key = $request->get('key');
  18. $class = str_replace('_', '\\', $class);
  19. if (class_exists($class)) {
  20. return $this->render(new $class($key));
  21. }
  22. return $class;
  23. }
  24. protected function render($renderable)
  25. {
  26. return Helper::render($renderable->render())
  27. .Admin::asset()->scriptToHtml()
  28. .Admin::asset()->styleToHtml();
  29. }
  30. }