Jiang qinghua 6 лет назад
Родитель
Сommit
0299ea7ab8
3 измененных файлов с 33 добавлено и 5 удалено
  1. 21 1
      src/Console/IdeHelperCommand.php
  2. 7 0
      src/Console/stubs/ide-helper.stub
  3. 5 4
      src/Show/Field.php

+ 21 - 1
src/Console/IdeHelperCommand.php

@@ -57,7 +57,8 @@ class IdeHelperCommand extends Command
         ],
         'form' => '* @method %s %s(...$params)',
         'grid-column' => '* @method $this %s(...$params)',
-        'grid-filter'  => '* @method %s %s(...$params)',
+        'grid-filter' => '* @method %s %s(...$params)',
+        'show-column' => '* @method $this %s(...$params)',
     ];
 
     protected $path = '../dcat_admin_ide_helper.php';
@@ -174,6 +175,7 @@ class IdeHelperCommand extends Command
                 '{form}',
                 '{grid-column}',
                 '{grid-filter}',
+                '{show-column}',
             ],
             [
                 $this->generate('grid', $fields),
@@ -181,6 +183,7 @@ class IdeHelperCommand extends Command
                 $this->generateFormFields(),
                 $this->generateGridColumns(),
                 $this->generateGridFilters(),
+                $this->generateShowFields(),
             ],
             File::get($this->getStub())
         );
@@ -231,6 +234,23 @@ class IdeHelperCommand extends Command
         );
     }
 
+    /**
+     * @return string
+     */
+    protected function generateShowFields()
+    {
+        $extensions = collect(Show\Field::getExtensions());
+
+        $space = str_repeat(' ', 5);
+        return trim(
+            $extensions
+                ->map(function ($value, $key) use (&$space) {
+                    return $space.sprintf($this->templates['show-column'], $key);
+                })
+                ->join("\r\n")
+        );
+    }
+
     /**
      * @return string
      */

+ 7 - 0
src/Console/stubs/ide-helper.stub

@@ -40,3 +40,10 @@ namespace Dcat\Admin\Grid {
      */
     class Filter {}
 }
+
+namespace Dcat\Admin\Show {
+    /**
+     {show-column}
+     */
+    class Field {}
+}

+ 5 - 4
src/Show/Field.php

@@ -7,7 +7,6 @@ use Dcat\Admin\Traits\BuilderEvents;
 use Dcat\Admin\Traits\Definitions;
 use Illuminate\Contracts\Support\Arrayable;
 use Illuminate\Contracts\Support\Renderable;
-use Illuminate\Database\Eloquent\Model;
 use Illuminate\Support\Arr;
 use Illuminate\Support\Collection;
 use Illuminate\Support\Facades\File;
@@ -18,9 +17,11 @@ use Illuminate\Support\Traits\Macroable;
 
 class Field implements Renderable
 {
-    use BuilderEvents, Definitions, Macroable {
-        __call as macroCall;
-    }
+    use BuilderEvents,
+        Definitions,
+        Macroable {
+            __call as macroCall;
+        }
 
     /**
      * @var array