jqh 6 tahun lalu
induk
melakukan
4ec6e50ff2

+ 0 - 1
src/AdminServiceProvider.php

@@ -6,7 +6,6 @@ use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Layout\Menu;
 use Dcat\Admin\Layout\Navbar;
 use Dcat\Admin\Layout\SectionManager;
-use Illuminate\Foundation\AliasLoader;
 use Illuminate\Support\Arr;
 use Illuminate\Support\Facades\Blade;
 use Illuminate\Support\Fluent;

+ 9 - 1
src/Form.php

@@ -20,6 +20,7 @@ use Illuminate\Support\Facades\Input;
 use Illuminate\Support\Fluent;
 use Illuminate\Support\MessageBag;
 use Illuminate\Support\Str;
+use Illuminate\Support\Traits\Macroable;
 use Illuminate\Validation\Validator;
 use Spatie\EloquentSortable\Sortable;
 use Symfony\Component\HttpFoundation\Response;
@@ -87,7 +88,10 @@ class Form implements Renderable
 {
     use BuilderEvents,
         Concerns\Events,
-        Concerns\Files;
+        Concerns\Files,
+        Macroable {
+            __call as macroCall;
+        }
 
     /**
      * Remove flag in `has many` form.
@@ -1596,6 +1600,10 @@ class Form implements Renderable
      */
     public function __call($method, $arguments)
     {
+        if (static::hasMacro($method)) {
+            return $this->macroCall($method, $arguments);
+        }
+
         if ($className = static::findFieldClass($method)) {
             $column = Arr::get($arguments, 0, '');
 

+ 9 - 1
src/Show.php

@@ -15,10 +15,14 @@ use Illuminate\Support\Arr;
 use Illuminate\Support\Collection;
 use Illuminate\Support\Facades\URL;
 use Illuminate\Support\Fluent;
+use Illuminate\Support\Traits\Macroable;
 
 class Show implements Renderable
 {
-    use BuilderEvents;
+    use BuilderEvents,
+        Macroable {
+            __call as macroCall;
+        }
 
     /**
      * @var string
@@ -505,6 +509,10 @@ class Show implements Renderable
      */
     public function __call($method, $arguments = [])
     {
+        if (static::hasMacro($method)) {
+            return $this->macroCall($method, $arguments);
+        }
+
         return $this->call($method, $arguments);
     }
 

+ 3 - 1
src/Tree.php

@@ -7,10 +7,12 @@ use Dcat\Admin\Traits\BuilderEvents;
 use Dcat\Admin\Tree\Tools;
 use Illuminate\Contracts\Support\Renderable;
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Support\Traits\Macroable;
 
 class Tree implements Renderable
 {
-    use BuilderEvents;
+    use BuilderEvents,
+        Macroable;
 
     /**
      * @var array

+ 2 - 2
src/Widgets/DataCard/Card.php

@@ -3,7 +3,7 @@
 namespace Dcat\Admin\Widgets\DataCard;
 
 use Dcat\Admin\Admin;
-use Dcat\Admin\Widgets\DropdownMenu;
+use Dcat\Admin\Widgets\Dropdown;
 use Dcat\Admin\Widgets\AjaxRequestBuilder;
 use Dcat\Admin\Widgets\Widget;
 use Illuminate\Support\Str;
@@ -105,7 +105,7 @@ class Card extends Widget
     public function dropdown(array $options, \Closure $builder, ?string $defaultLabel = null)
     {
         return $this->tool(
-            DropdownMenu::make($options)
+            Dropdown::make($options)
                 ->click()
                 ->button($defaultLabel)
                 ->buttonClass('btn btn-xs btn-light')

+ 1 - 1
src/Widgets/DropdownMenu.php → src/Widgets/Dropdown.php

@@ -7,7 +7,7 @@ use Illuminate\Contracts\Support\Arrayable;
 use Illuminate\Support\Arr;
 use Illuminate\Support\Str;
 
-class DropdownMenu extends Widget
+class Dropdown extends Widget
 {
     const DIVIDER = '_divider';
 

+ 1 - 1
src/Widgets/Navbar.php

@@ -97,7 +97,7 @@ class Navbar extends Widget
         \Closure $closure = null
     )
     {
-        $dropdown = DropdownMenu::make($options)
+        $dropdown = Dropdown::make($options)
             ->button($text)
             ->buttonClass('')
             ->template('%s<ul class="dropdown-menu">%s</ul>');