Переглянути джерело

select2翻译调整为读取js文件

jqh 4 роки тому
батько
коміт
c911f92495

+ 1 - 0
config/admin.php

@@ -147,6 +147,7 @@ return [
             'auth/logout',
         ],
 
+        'enable_session_middleware' => false,
     ],
 
     'grid' => [

+ 1 - 3
resources/views/filter/multipleselect.blade.php

@@ -12,7 +12,7 @@
 
 @include('admin::scripts.select')
 
-<script require="@select2">
+<script require="@select2?lang={{ config('app.locale') === 'en' ? '' : str_replace('_', '-', config('app.locale')) }}">
     var configs = {!! admin_javascript_json($configs) !!};
 
     @yield('admin.select-ajax')
@@ -29,5 +29,3 @@
 </script>
 
 @yield('admin.select-load')
-
-@yield('admin.select-lang')

+ 1 - 3
resources/views/filter/select.blade.php

@@ -13,7 +13,7 @@
 
 @include('admin::scripts.select')
 
-<script require="@select2">
+<script require="@select2?lang={{ config('app.locale') === 'en' ? '' : str_replace('_', '-', config('app.locale')) }}">
     var configs = {!! admin_javascript_json($configs) !!};
 
     @yield('admin.select-ajax')
@@ -30,5 +30,3 @@
 </script>
 
 @yield('admin.select-load')
-
-@yield('admin.select-lang')

+ 1 - 4
resources/views/form/select-script.blade.php

@@ -1,7 +1,7 @@
 
 @include('admin::scripts.select')
 
-<script require="@select2" init="{!! $selector !!}">
+<script require="@select2?lang={{ config('app.locale') === 'en' ? '' : str_replace('_', '-', config('app.locale')) }}" init="{!! $selector !!}">
     var configs = {!! admin_javascript_json($configs) !!};
 
     @yield('admin.select-ajax')
@@ -71,6 +71,3 @@
 @endif
 
 @yield('admin.select-load')
-
-{{--本地化--}}
-@yield('admin.select-lang')

+ 7 - 3
resources/views/grid/displayer/select.blade.php

@@ -9,7 +9,7 @@
     </select>
 </div>
 
-<script require="@select2">
+<script require="@select2?lang={{ config('app.locale') === 'en' ? '' : str_replace('_', '-', config('app.locale')) }}">
     $('.grid-column-select').off('change').select2().on('change', function(){
         var value = $(this).val(),
             name = $(this).data('name'),
@@ -32,8 +32,12 @@
             data: data,
             success: function (d) {
                 Dcat.NP.done();
-                Dcat.success(d.data.message || d.message);
-                reload && Dcat.reload();
+                if (d.status) {
+                    Dcat.success(d.data.message);
+                    reload && Dcat.reload();
+                } else {
+                    Dcat.error(d.data.message);
+                }
             }
         });
     });

+ 0 - 35
resources/views/scripts/select.blade.php

@@ -61,38 +61,3 @@
     </script>
     @endif
 @overwrite
-
-@section('admin.select-lang')
-@if (config('app.locale') !== 'en')
-    {{--本地化--}}
-    <script once>
-        @php
-            $lang = trans('select2') ?: [];
-            $locale = str_replace('_', '-', config('app.locale'));
-        @endphp
-        if ($.fn.select2) {
-            var e = $.fn.select2.amd;
-
-            e.define("select2/i18n/{{ $locale }}", [], function () {
-                return {
-                    errorLoading: function () {
-                        return "{{ $lang['error_loading'] ?? '' }}"
-                    }, inputTooLong: function (e) {
-                        return "{{ $lang['input_too_long'] ?? '' }}".replace(':num', e.input.length - e.maximum)
-                    }, inputTooShort: function (e) {
-                        return "{{ $lang['input_too_short'] ?? '' }}".replace(':num', e.minimum - e.input.length)
-                    }, loadingMore: function () {
-                        return "{{ $lang['loading_more'] ?? '' }}"
-                    }, maximumSelected: function (e) {
-                        return "{{ $lang['maximum_selected'] ?? '' }}".replace(':num', e.maximum)
-                    }, noResults: function () {
-                        return "{{ $lang['no_results'] ?? '' }}"
-                    }, searching: function () {
-                        return "{{ $lang['searching'] ?? '' }}"
-                    }
-                }
-            }), {define: e.define, require: e.require}
-        }
-    </script>
-@endif
-@overwrite

+ 24 - 16
src/Layout/Asset.php

@@ -344,8 +344,6 @@ class Asset
 
         [$name, $query] = $this->parseParams($name);
 
-        $params += $query;
-
         $assets = $this->alias[$name] ?? [];
 
         // 路径别名
@@ -353,25 +351,35 @@ class Asset
             return $assets;
         }
 
-        $normalize = function ($files) use ($params) {
-            $files = (array) $files;
-            foreach ($files as $k => &$file) {
-                foreach ($params as $k => $v) {
-                    $file = str_replace("{{$k}}", $v, $file);
-                }
-            }
-
-            return array_filter($files, function ($file) {
-                return ! mb_strpos($file, '{');
-            });
-        };
+        $params += $query;
 
         return [
-            'js' => $normalize($assets['js'] ?? []) ?: null,
-            'css' => $normalize($assets['css'] ?? []) ?: null,
+            'js' => $this->normalizeAliasPaths($assets['js'] ?? [], $params) ?: null,
+            'css' => $this->normalizeAliasPaths($assets['css'] ?? [], $params) ?: null,
         ];
     }
 
+    /**
+     * @param array $files
+     * @param array $params
+     *
+     * @return array
+     */
+    protected function normalizeAliasPaths($files, array $params)
+    {
+        $files = (array) $files;
+
+        foreach ($files as &$file) {
+            foreach ($params as $k => $v) {
+                $file = str_replace("{{$k}}", $v, $file);
+            }
+        }
+
+        return array_filter($files, function ($file) {
+            return ! mb_strpos($file, '{');
+        });
+    }
+
     /**
      * 解析参数.
      *

+ 0 - 3
tests/Controllers/PainterController.php

@@ -81,9 +81,6 @@ class PainterController extends AdminController
                     $form->text('title');
                     $form->textarea('body');
                     $form->datetime('completed_at');
-
-                    $form->currency('cr');
-                    $form->image('av');
                 });
 
                 $form->display('created_at', 'Created At');