]> _ Git - cubist_cms-back.git/commitdiff
wip #5045 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Jan 2022 16:53:45 +0000 (17:53 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 21 Jan 2022 16:53:45 +0000 (17:53 +0100)
src/app/Http/Controllers/Operations/Base/ImportOperation.php
src/resources/views/buttons/import.blade.php [new file with mode: 0644]

index 43d2cd6a4f3bd1d96d953527ca5885318ce9c504..4351b4cb6e9a4c9d964eb9df19ace04695aa289b 100644 (file)
@@ -5,7 +5,10 @@ namespace Cubist\Backpack\Http\Controllers\Operations\Base;
 use Illuminate\Support\Facades\Route;
 use Symfony\Component\HttpFoundation\File\UploadedFile;
 
-trait ImportOperation{
+trait ImportOperation
+{
+    protected $_importAccept = null;
+
     protected function setupImportRoutes($segment, $routeName, $controller)
     {
         Route::match(['post'], $segment . '/import', $controller . '@importAction');
@@ -13,7 +16,10 @@ trait ImportOperation{
 
     protected function setupImportDefaults()
     {
-        $this->crud->addButtonFromView('top', 'import', 'button.import', 'end');
+        if (null !== $this->_importAccept) {
+            $this->crud->importAccept = $this->_importAccept;
+        }
+        $this->crud->addButtonFromView('top', 'import', 'import', 'end');
     }
 
     protected function importAction()
diff --git a/src/resources/views/buttons/import.blade.php b/src/resources/views/buttons/import.blade.php
new file mode 100644 (file)
index 0000000..3061886
--- /dev/null
@@ -0,0 +1,29 @@
+<form method="post" enctype="multipart/form-data" action="{{$crud->route}}/import"
+      style="visibility:hidden;height:1px;position:absolute;top:0;" id="uploadimportform">
+    @csrf
+    <input type="file" name="file[]" multiple="multiple" id="uploadimport"
+           @isset($crud->importAccept)
+           accept="{{is_array($crud->importAccept)?implode(',',$crud->importAccept):$crud->importAccept}}"
+        @endif
+    >
+</form>
+<a class="btn btn-primary" href="#" data-toggle="tooltip" id="uploadimportbutton"><i
+        class="la la-upload"></i> {{__('Importer')}}</a>
+
+
+@push('after_scripts')
+    <script>
+        (function ($) {
+            $(function () {
+                $(document).on('click', "#uploadimportbutton", function () {
+                    $("#uploadimport").click();
+                    return false;
+                });
+
+                $(document).on('change', '#uploadimportform', function () {
+                    $("#uploadimportform").submit();
+                })
+            });
+        })(jQuery);
+    </script>
+@endpush