Răsfoiți Sursa

update

update
jqh 5 ani în urmă
părinte
comite
2109838dc6

+ 1 - 2
src/Grid/Actions/QuickEdit.php

@@ -30,8 +30,7 @@ class QuickEdit extends RowAction
                 ->click(".{$this->elementClass()}")
                 ->dimensions($width, $height)
                 ->forceRefresh()
-                ->success('LA.reload()')
-                ->render();
+                ->success('LA.reload()');
         }
 
         $this->setHtmlAttribute([

+ 1 - 1
src/Grid/Column/Help.php

@@ -54,7 +54,7 @@ class Help implements Renderable
             $tooltip->{$this->placement}();
         }
 
-        $tooltip->content($this->message)->render();
+        $tooltip->content($this->message);
 
         return <<<HELP
 &nbsp;<a href="javascript:void(0);" class="{$class} fa fa-question-circle" ></a>

+ 1 - 2
src/Grid/Displayers/Actions.php

@@ -261,8 +261,7 @@ EOT;
             Form::modal(trans('admin.edit'))
                 ->click(".{$this->grid->rowName()}-edit")
                 ->dimensions($width, $height)
-                ->success('LA.reload()')
-                ->render();
+                ->success('LA.reload()');
         }
 
         return <<<EOF

+ 1 - 2
src/Grid/Tools/CreateButton.php

@@ -37,8 +37,7 @@ class CreateButton implements Renderable
         Form::modal($new)
             ->click(".{$class}")
             ->success('LA.reload()')
-            ->dimensions($width, $height)
-            ->render();
+            ->dimensions($width, $height);
 
         return "<a data-url='$url' class='btn btn-sm btn-success {$class}'><i class='ti-plus'></i><span class='hidden-xs'>&nbsp; $new</span></a>";
     }

+ 2 - 0
src/Layout/Content.php

@@ -377,6 +377,8 @@ CSS
             'content'     => $this->build(),
         ];
 
+        $this->callComposed();
+
         return view($this->view, $items)->render();
     }
 }

+ 1 - 2
src/Show/Tools.php

@@ -294,8 +294,7 @@ EOF;
             Form::modal($edit)
                 ->click(".$id")
                 ->dimensions($width, $height)
-                ->success('LA.reload()')
-                ->render();
+                ->success('LA.reload()');
 
             $text = $this->showEdit ? '' : "<span class='hidden-xs'> &nbsp; $edit</span>";
 

+ 27 - 2
src/Traits/HasBuilderEvents.php

@@ -5,7 +5,7 @@ namespace Dcat\Admin\Traits;
 trait HasBuilderEvents
 {
     /**
-     * Register a resolving listener.
+     * Register a resolving event.
      *
      * @param callable $callback
      * @param bool     $once
@@ -16,6 +16,8 @@ trait HasBuilderEvents
     }
 
     /**
+     * Call the resolving callbacks.
+     *
      * @param array ...$params
      */
     protected function callResolving(...$params)
@@ -24,7 +26,7 @@ trait HasBuilderEvents
     }
 
     /**
-     * Register a composing listener.
+     * Register a composing event.
      *
      * @param callable $callback
      * @param bool     $once
@@ -35,6 +37,8 @@ trait HasBuilderEvents
     }
 
     /**
+     * Call the composing callbacks.
+     *
      * @param array ...$params
      */
     protected function callComposing(...$params)
@@ -42,6 +46,27 @@ trait HasBuilderEvents
         $this->callBuilderListeners('builder.composing', ...$params);
     }
 
+    /**
+     * Register a composed event.
+     *
+     * @param callable $callback
+     * @param bool     $once
+     */
+    public static function composed(callable $callback, bool $once = false)
+    {
+        static::setListeners('builder.composed', $callback, $once);
+    }
+
+    /**
+     * Call the composed callbacks.
+     *
+     * @param array ...$params
+     */
+    protected function callComposed(...$params)
+    {
+        $this->callBuilderListeners('builder.composed', ...$params);
+    }
+
     /**
      * @param $listeners
      * @param array ...$params

+ 2 - 4
src/Tree.php

@@ -501,8 +501,7 @@ JS;
             Form::modal(trans('admin.edit'))
                 ->click('.tree-quick-edit')
                 ->success('LA.reload()')
-                ->dimensions($width, $height)
-                ->render();
+                ->dimensions($width, $height);
         }
     }
 
@@ -517,8 +516,7 @@ JS;
             Form::modal(trans('admin.new'))
                 ->click('.tree-quick-create')
                 ->success('LA.reload()')
-                ->dimensions($width, $height)
-                ->render();
+                ->dimensions($width, $height);
         }
     }
 

+ 16 - 0
src/Widgets/ModalForm.php

@@ -45,6 +45,8 @@ class ModalForm
         $this->title($title);
 
         $this->url($url);
+
+        $this->autoRender();
     }
 
     /**
@@ -252,6 +254,20 @@ JS
         );
     }
 
+    /**
+     * Automatically render to the body element.
+     *
+     * @return void
+     */
+    protected function autoRender()
+    {
+        Content::composed(function () {
+            if ($results = Helper::render($this->render())) {
+                Admin::html($results);
+            }
+        });
+    }
+
     protected function setupOptions()
     {
         $this->options['lang'] = [

+ 2 - 0
src/Widgets/Tooltip.php

@@ -23,6 +23,8 @@ class Tooltip extends Widget
     public function __construct($selector = null)
     {
         $this->selector($selector);
+
+        $this->autoRender();
     }
 
     /**

+ 15 - 0
src/Widgets/Widget.php

@@ -3,6 +3,7 @@
 namespace Dcat\Admin\Widgets;
 
 use Dcat\Admin\Admin;
+use Dcat\Admin\Layout\Content;
 use Dcat\Admin\Support\Helper;
 use Dcat\Admin\Traits\HasHtmlAttributes;
 use Illuminate\Contracts\Support\Arrayable;
@@ -126,6 +127,20 @@ abstract class Widget implements Renderable
         return view($this->view, $this->variables())->render();
     }
 
+    /**
+     * Automatically render to the body element.
+     *
+     * @return void
+     */
+    protected function autoRender()
+    {
+        Content::composed(function () {
+            if ($results = Helper::render($this->render())) {
+                Admin::html($results);
+            }
+        });
+    }
+
     /**
      * Set view of widget.
      *