瀏覽代碼

Merge remote-tracking branch 'origin/2.0' into 2.0

jqh 3 年之前
父節點
當前提交
cf313d2f9c

+ 13 - 13
resources/views/form/hasmany.blade.php

@@ -17,12 +17,12 @@
                 {!! $form->render() !!}
 
                 @if($options['allowDelete'])
-                <div class="form-group row">
-                    <label class="{{$viewClass['label']}} control-label"></label>
-                    <div class="{{$viewClass['field']}}">
-                        <div class="remove btn btn-white btn-sm pull-right"><i class="feather icon-trash">&nbsp;</i>{{ trans('admin.remove') }}</div>
+                    <div class="form-group row">
+                        <label class="{{$viewClass['label']}} control-label"></label>
+                        <div class="{{$viewClass['field']}}">
+                            <div class="remove btn btn-white btn-sm pull-right"><i class="feather icon-trash">&nbsp;</i>{{ trans('admin.remove') }}</div>
+                        </div>
                     </div>
-                </div>
                 @endif
                 <hr>
             </div>
@@ -39,7 +39,7 @@
             <div class="form-group row">
                 <label class="{{$viewClass['label']}} control-label"></label>
                 <div class="{{$viewClass['field']}}">
-                    <div class="remove btn btn-white btn-sm pull-right"><i class="feather icon-trash"></i>&nbsp;{{ trans('admin.remove') }}</div>
+                    <div class="{{$columnClass}}-remove btn btn-white btn-sm pull-right"><i class="feather icon-trash"></i>&nbsp;{{ trans('admin.remove') }}</div>
                 </div>
             </div>
             <hr>
@@ -47,12 +47,12 @@
     </template>
 
     @if($options['allowCreate'])
-    <div class="form-group row">
-        <label class="{{$viewClass['label']}} control-label"></label>
-        <div class="{{$viewClass['field']}}">
-            <div class="add btn btn-primary btn-outline btn-sm"><i class="feather icon-plus"></i>&nbsp;{{ trans('admin.new') }}</div>
+        <div class="form-group row">
+            <label class="{{$viewClass['label']}} control-label"></label>
+            <div class="{{$viewClass['field']}}">
+                <div class="{{$columnClass}}-add btn btn-primary btn-outline btn-sm"><i class="feather icon-plus"></i>&nbsp;{{ trans('admin.new') }}</div>
+            </div>
         </div>
-    </div>
     @endif
 
 </div>
@@ -66,7 +66,7 @@
         return String(value).replace(/{{ Dcat\Admin\Form\NestedForm::DEFAULT_KEY_NAME }}/g, nestedIndex);
     }
 
-    $(container).on('click', '.add', function () {
+    $(container).on('click', '.{{$columnClass}}-add', function () {
 
         var tpl = $('template.{{ $columnClass }}-tpl');
 
@@ -76,7 +76,7 @@
         $(forms).append(template);
     });
 
-    $(container).on('click', '.remove', function () {
+    $(container).on('click', '.{{$columnClass}}-remove', function () {
         var $form = $(this).closest('.has-many-{{ $columnClass  }}-form');
         $form.hide();
         $form.find('.{{ Dcat\Admin\Form\NestedForm::REMOVE_FLAG_CLASS }}').val(1);

+ 13 - 11
resources/views/form/hasmanytable.blade.php

@@ -9,8 +9,8 @@
 
         <span name="{{$column}}"></span> {{-- 用于显示错误信息 --}}
 
-        <div class="has-many-{{$columnClass}}" >
-            <table class="table table-has-many has-many-{{$columnClass}}">
+        <div class="has-many-table-{{$columnClass}}" >
+            <table class="table table-has-many has-many-table-{{$columnClass}}">
                 <thead>
                 <tr>
                     @foreach($headers as $header)
@@ -24,9 +24,9 @@
                     @endif
                 </tr>
                 </thead>
-                <tbody class="has-many-{{$columnClass}}-forms">
+                <tbody class="has-many-table-{{$columnClass}}-forms">
                 @foreach($forms as $pk => $form)
-                    <tr class="has-many-{{$columnClass}}-form fields-group">
+                    <tr class="has-many-table-{{$columnClass}}-form fields-group">
 
                         <?php $hidden = ''; ?>
 
@@ -55,7 +55,7 @@
             </table>
 
             <template class="{{$columnClass}}-tpl">
-                <tr class="has-many-{{$columnClass}}-form fields-group">
+                <tr class="has-many-table-{{$columnClass}}-form fields-group">
 
                     {!! $template !!}
 
@@ -75,7 +75,6 @@
                 </div>
             @endif
         </div>
-        @include('admin::form.help-block')
     </div>
 </div>
 
@@ -83,23 +82,26 @@
 
 <script>
     var nestedIndex = {!! $count !!},
-        container = '.has-many-{{ $columnClass }}';
+        container = '.has-many-table-{{ $columnClass }}';
 
     function replaceNestedFormIndex(value) {
         return String(value).replace(/{{ Dcat\Admin\Form\NestedForm::DEFAULT_KEY_NAME }}/g, nestedIndex);
     }
 
-    $(container).on('click', '.add', function () {
+    $(document).off('click', container+' .add').on('click', container+' .add', function (e) {
         var tpl = $('template.{{ $columnClass }}-tpl');
 
         nestedIndex++;
 
         var template = replaceNestedFormIndex(tpl.html());
-        $('.has-many-{{ $columnClass }}-forms').append(template);
+        $(this).closest(container).find('.has-many-table-{{ $columnClass }}-forms').append(template);
+
+        e.preventDefault();
+        return false
     });
 
-    $(container).on('click', '.remove', function () {
-        var $form = $(this).closest('.has-many-{{ $columnClass }}-form');
+    $(document).off('click', container+' .remove').on('click', container+' .remove', function () {
+        var $form = $(this).closest('.has-many-table-{{ $columnClass }}-form');
 
         $form.hide();
         $form.find('[required]').prop('required', false);

+ 4 - 3
resources/views/helpers/scaffold.blade.php

@@ -302,8 +302,9 @@
             $fieldsBody = $('#table-fields tbody'),
             tpl = $('#table-field-tpl').html(),
             modelNamespace = 'App\\Models\\',
-            repositoryNamespace = '{{ $namespaceBase }}\\Repositories\\',
-            controllerNamespace = '{{ $namespaceBase }}\\Controllers\\',
+            namespaceBase = '{{ str_replace( '\\', '\\\\', $namespaceBase ) }}',
+            repositoryNamespace = namespaceBase + '\\Repositories\\',
+            controllerNamespace = namespaceBase + '\\Controllers\\',
             dataTypeMap = {!! json_encode($dataTypeMap) !!},
             helpers = Dcat.helpers;
 
@@ -535,4 +536,4 @@
             });
         }
     });
-</script>
+</script>

+ 17 - 0
src/Show/Field.php

@@ -755,4 +755,21 @@ HTML;
     {
         return static::$extendedFields;
     }
+
+    /**
+     * set file size.
+     *
+     * @param  int  $dec
+     * @return Field
+     */
+    public function filesize($dec = 0)
+    {
+        return $this->unescape()->as(function ($value) use ($dec) {
+            if (empty($value)) {
+                return $this;
+            }
+
+            return format_byte($value, $dec);
+        });
+    }
 }

+ 22 - 0
src/Support/helpers.php

@@ -571,3 +571,25 @@ if (! function_exists('admin_redirect')) {
         return Helper::redirect($to, $statusCode, $request);
     }
 }
+
+if (! function_exists('format_byte')) {
+    /**
+     * 文件单位换算.
+     *
+     * @param $input
+     * @param  int  $dec
+     * @return string
+     */
+    function format_byte($input, $dec = 0)
+    {
+        $prefix_arr = ['B', 'KB', 'MB', 'GB', 'TB'];
+        $value = round($input, $dec);
+        $i = 0;
+        while ($value > 1024) {
+            $value /= 1024;
+            $i++;
+        }
+
+        return round($value, $dec).$prefix_arr[$i];
+    }
+}