jqh 4 tahun lalu
induk
melakukan
0b07a97ca3
3 mengubah file dengan 22 tambahan dan 12 penghapusan
  1. 8 2
      src/Controllers/RenderableController.php
  2. 6 6
      src/Layout/Asset.php
  3. 8 4
      src/Widgets/Widget.php

+ 8 - 2
src/Controllers/RenderableController.php

@@ -28,9 +28,15 @@ class RenderableController
 
     protected function render($renderable)
     {
+        Admin::script('Dcat.pjaxResponded()', true);
+
+        $asset = Admin::asset();
+
         return Helper::render($renderable->render())
             .Admin::html()
-            .Admin::asset()->scriptToHtml()
-            .Admin::asset()->styleToHtml();
+            .$asset->jsToHtml()
+            .$asset->cssToHtml()
+            .$asset->scriptToHtml()
+            .$asset->styleToHtml();
     }
 }

+ 6 - 6
src/Layout/Asset.php

@@ -661,20 +661,20 @@ class Asset
 
         return <<<HTML
 <script data-exec-on-popstate>
-Dcat.ready(function () { 
+(function () {
     try {
-        {$script}
+        {$directScript}
     } catch (e) {
         console.error(e)
     }
-});
-(function () {
+})();
+Dcat.ready(function () { 
     try {
-        {$directScript}
+        {$script}
     } catch (e) {
         console.error(e)
     }
-})()
+})
 </script>
 HTML;
     }

+ 8 - 4
src/Widgets/Widget.php

@@ -119,13 +119,16 @@ abstract class Widget implements Renderable
         ]);
     }
 
+    public function addScript()
+    {
+        $this->script && Admin::script($this->script);
+    }
+
     /**
      * 收集静态资源.
      */
-    protected function collectAssets()
+    public static function collectAssets()
     {
-        $this->script && Admin::script($this->script);
-
         static::$js && Admin::js(static::$js);
         static::$css && Admin::css(static::$css);
     }
@@ -145,7 +148,8 @@ abstract class Widget implements Renderable
      */
     public function render()
     {
-        $this->collectAssets();
+        static::collectAssets();
+        $this->addScript();
 
         return $this->html();
     }