Quellcode durchsuchen

:hammer: 工具表单tab布局支持column以及row布局

jqh vor 4 Jahren
Ursprung
Commit
1c16bb157f

+ 6 - 1
resources/views/form/container.blade.php

@@ -11,10 +11,15 @@
         <div class="fields-group">
             @if($form->hasRows())
                 <div class="ml-2 mb-2">
-                    <input type="hidden" name="_token" value="{{ csrf_token() }}">
                     @foreach($form->rows() as $row)
                         {!! $row->render() !!}
                     @endforeach
+
+                    @foreach($form->fields() as $field)
+                        @if($field instanceof \Dcat\Admin\Form\Field\Hidden)
+                            {!! $field->render() !!}
+                        @endif
+                    @endforeach
                 </div>
             @elseif($form->layout()->hasColumns())
                 {!! $form->layout()->build() !!}

+ 13 - 8
resources/views/form/tab.blade.php

@@ -8,20 +8,25 @@
             </li>
         @endforeach
     </ul>
-    <div class="tab-content fields-group mt-2" style="padding:18px 0">
+    <div class="tab-content fields-group mt-2 pt-1 pb-1">
         @foreach($tabObj->getTabs() as $tab)
             <div class="tab-pane {{ $tab['active'] ? 'active' : '' }}" id="{{ $tab['id'] }}">
-                @if($form->hasRows())
-                    <div class="ml-2 mb-2">
-                        <input type="hidden" name="_token" value="{{ csrf_token() }}">
-                        @foreach($form->rows() as $row)
+                @if($rows)
+                    <div class="ml-2 mb-2" style="margin-top: -1rem">
+                        @foreach($rows as $row)
                             {!! $row->render() !!}
                         @endforeach
+
+                        @foreach($fields as $field)
+                            @if($field instanceof \Dcat\Admin\Form\Field\Hidden)
+                                {!! $field->render() !!}
+                            @endif
+                        @endforeach
                     </div>
-                @elseif($form->layout()->hasColumns())
-                    {!! $form->layout()->build() !!}
+                @elseif($layout->hasColumns())
+                    {!! $layout->build() !!}
                 @else
-                    @foreach($form->fields() as $field)
+                    @foreach($fields as $field)
                         {!! $field->render() !!}
                     @endforeach
                 @endif

+ 1 - 1
resources/views/widgets/form.blade.php

@@ -21,7 +21,7 @@
                         @endif
                     @endforeach
                 </div>
-            @elseif($layout)
+            @elseif($layout->hasColumns())
                 {!! $layout->build() !!}
             @else
                 @foreach($fields as $field)

+ 3 - 0
src/Form/Builder.php

@@ -877,6 +877,9 @@ class Builder
             'elementId'  => $this->getElementId(),
             'showHeader' => $this->showHeader,
             'steps'      => $this->stepBuilder,
+            'fields'     => $this->fields,
+            'rows'       => $this->rows(),
+            'layout'     => $this->layout(),
         ];
 
         if ($this->layout->hasColumns()) {

+ 1 - 1
src/Widgets/Form.php

@@ -594,7 +594,7 @@ class Form implements Renderable
             'method'  => $this->getHtmlAttribute('method'),
             'buttons' => $this->buttons,
             'rows'    => $this->rows(),
-            'layout'  => $this->layout,
+            'layout'  => $this->layout(),
         ], $this->variables);
     }