Browse Source

自动上传功能 #221

jqh 5 years ago
parent
commit
c3cef1c35b

+ 7 - 1
resources/assets/dcat/extra/upload.js

@@ -8,6 +8,7 @@
             preview: [], // 数据预览
             server: '',
             updateServer: '',
+            autoUpload: false,
             sortable: false,
             deleteUrl: '',
             deleteData: {},
@@ -539,8 +540,13 @@
                     $placeHolder.addClass('element-invisible');
                     $selector.find(addFileButtonSelector).removeClass('element-invisible');
                     $queue.show();
-                    if (!opts.disabled) {
+                    if (! opts.disabled) {
                         $statusBar.removeClass('element-invisible');
+
+                        if (opts.autoUpload) {
+                            // 自动上传
+                            uploader.upload()
+                        }
                     }
                     refreshButton();
                     if (showImg) {

+ 9 - 1
resources/assets/dcat/extra/upload.scss

@@ -2,7 +2,15 @@
 @import "../sass/variables/variables";
 
 .webuploader-container {
-  position: relative
+  position: relative;
+}
+
+.web-uploader {
+
+  .queueList {
+    border-radius: $card-border-radius;
+    border-color: $input-border-color!important;
+  }
 }
 
 .webuploader-element-invisible {

File diff suppressed because it is too large
+ 0 - 0
resources/dist/dcat/extra/upload-blue-dark.css


File diff suppressed because it is too large
+ 0 - 0
resources/dist/dcat/extra/upload-blue-light.css


File diff suppressed because it is too large
+ 0 - 0
resources/dist/dcat/extra/upload-blue.css


File diff suppressed because it is too large
+ 0 - 0
resources/dist/dcat/extra/upload-green.css


File diff suppressed because it is too large
+ 0 - 0
resources/dist/dcat/extra/upload.css


File diff suppressed because it is too large
+ 0 - 0
resources/dist/dcat/extra/upload.js


File diff suppressed because it is too large
+ 0 - 0
resources/dist/dcat/extra/upload.js.map


+ 2 - 0
resources/views/form/file.blade.php

@@ -23,7 +23,9 @@
                 <div class="info"></div>
                 <div class="btns">
                     <div class="add-file-button"></div> &nbsp;
+                    @if($showUploadBtn)
                     <div class="upload-btn btn btn-primary"><i class="feather icon-upload"></i> &nbsp;{{trans('admin.upload')}}</div>
+                    @endif
                 </div>
             </div>
         </div>

+ 3 - 2
src/Form/Field/File.php

@@ -176,8 +176,9 @@ class File extends Field implements UploadFieldInterface
         $this->setUpScript();
 
         $this->addVariables([
-            'fileType'    => $this->options['isImage'] ? '' : 'file',
-            'containerId' => $this->containerId,
+            'fileType'      => $this->options['isImage'] ? '' : 'file',
+            'containerId'   => $this->containerId,
+            'showUploadBtn' => ($this->options['autoUpload'] ?? false) ? false : true,
         ]);
 
         return parent::render();

+ 14 - 0
src/Form/Field/WebUploader.php

@@ -151,6 +151,20 @@ trait WebUploader
         return $this;
     }
 
+    /**
+     * 是否开启自动上传.
+     *
+     * @param bool $value
+     *
+     * @return $this
+     */
+    public function autoUpload(bool $value = true)
+    {
+        $this->options['autoUpload'] = $value;
+
+        return $this;
+    }
+
     /**
      * Set default options form file field.
      *

Some files were not shown because too many files changed in this diff