LazyRenderable.php 701 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace Dcat\Admin\Support;
  3. use Dcat\Admin\Admin;
  4. use Dcat\Admin\Contracts\LazyRenderable as Renderable;
  5. use Dcat\Admin\Traits\LazyWidget;
  6. abstract class LazyRenderable implements Renderable
  7. {
  8. use LazyWidget;
  9. protected static $js = [];
  10. protected static $css = [];
  11. public function __construct(array $payload = [])
  12. {
  13. $this->payload($payload);
  14. }
  15. public static function make(...$params)
  16. {
  17. return new static(...$params);
  18. }
  19. public static function requireAssets()
  20. {
  21. Admin::js(static::$js);
  22. Admin::css(static::$css);
  23. }
  24. public function __get($name)
  25. {
  26. return $this->payload[$name] ?? null;
  27. }
  28. }