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');
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()
--- /dev/null
+<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