HasAssets.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <?php
  2. namespace Dcat\Admin\Traits;
  3. trait HasAssets
  4. {
  5. /**
  6. * @var array
  7. */
  8. protected static $html = [];
  9. /**
  10. * @param string $html
  11. *
  12. * @return null|string
  13. */
  14. public static function html($html = '')
  15. {
  16. if (! empty($html)) {
  17. static::$html = array_merge(static::$html, (array) $html);
  18. return;
  19. }
  20. return implode('', array_unique(static::$html));
  21. }
  22. /**
  23. * @return \Dcat\Admin\Layout\Assets
  24. */
  25. public static function assets()
  26. {
  27. return app('admin.assets');
  28. }
  29. /**
  30. * @param string $name
  31. */
  32. public static function collectAssets(string $name)
  33. {
  34. static::assets()->collect($name);
  35. }
  36. /**
  37. * Add css.
  38. *
  39. * @param string|array $css
  40. *
  41. * @return void
  42. */
  43. public static function css($css)
  44. {
  45. static::assets()->css($css);
  46. }
  47. /**
  48. * Set base css.
  49. *
  50. * @param array $css
  51. *
  52. * @return array|void
  53. */
  54. public static function baseCss(array $css)
  55. {
  56. static::assets()->baseCss($css);
  57. }
  58. /**
  59. * Add js.
  60. *
  61. * @param string|array $js
  62. *
  63. * @return void
  64. */
  65. public static function js($js)
  66. {
  67. static::assets()->js($js);
  68. }
  69. /**
  70. * Add js.
  71. *
  72. * @param string|array $js
  73. *
  74. * @return void
  75. */
  76. public static function headerJs($js)
  77. {
  78. static::assets()->headerJs($js);
  79. }
  80. /**
  81. * Set base js.
  82. *
  83. * @param array $js
  84. *
  85. * @return void
  86. */
  87. public static function baseJs(array $js)
  88. {
  89. static::assets()->baseJs($js);
  90. }
  91. /**
  92. * @param string $script
  93. *
  94. * @return void
  95. */
  96. public static function script($script)
  97. {
  98. static::assets()->script($script);
  99. }
  100. /**
  101. * @param string $style
  102. *
  103. * @return void
  104. */
  105. public static function style($style)
  106. {
  107. static::assets()->style($style);
  108. }
  109. }