Ver código fonte

Hide Progressbar if no upload in progress (#2252)

* Fixing an error that would prevent the ProgressBar from hiding

Fixing an error that would prevent the ProgressBar from hiding, displaying a `0` in the HTML element .uppy-ProgressBar-inner whenever no files were being uploaded. This fix sets the .uppy-ProgressBar element a class, so the user can decide when to hide it (or what to do)

* Update index.js

improved comment

* removed custom class

* Fixing an error that would prevent the ProgressBar from hiding

`state.totalProgress` is not `100`. It's `0` instead   
----------

To reproduce the error:  
```
.use(ProgressBar, {
  target: '._progress_bar_',
  fixed: false,
  hideAfterFinish: true
})
```

This will set a `div` inside the `_progress_bar_` element, and this element will be visible, showing `0` to the user.

The problem is that, currently, the bar only hides when `progress === 100`, but that is never true, as `progress` resets to `0` once the upload has been completed.
That means, it is __always__ visible, and only hidden for a brief period after an upload completes (when the `progress === 100`, briefly).

This fix allows the bar to be hidden also when the progress is `0` (after and before uploads)
Nico Jones 5 anos atrás
pai
commit
3ebe9a91be
1 arquivos alterados com 2 adições e 1 exclusões
  1. 2 1
      packages/@uppy/progress-bar/src/index.js

+ 2 - 1
packages/@uppy/progress-bar/src/index.js

@@ -30,7 +30,8 @@ module.exports = class ProgressBar extends Plugin {
 
   render (state) {
     const progress = state.totalProgress || 0
-    const isHidden = progress === 100 && this.opts.hideAfterFinish
+    // before starting and after finish should be hidden if specified in the options
+    const isHidden = (progress === 0 || progress === 100) && this.opts.hideAfterFinish
     return (
       <div
         class="uppy uppy-ProgressBar"