diff --git a/packages/@uppy/dashboard/src/index.js b/packages/@uppy/dashboard/src/index.js index d92e0969b..c6d86d1d3 100644 --- a/packages/@uppy/dashboard/src/index.js +++ b/packages/@uppy/dashboard/src/index.js @@ -125,6 +125,10 @@ module.exports = class Dashboard extends Plugin { hideRetryButton: false, hidePauseResumeButton: false, hideProgressAfterFinish: false, + doneButtonHandler: () => { + this.uppy.reset() + this.requestCloseModal() + }, note: null, closeModalOnClickOutside: false, closeAfterFinish: false, @@ -993,7 +997,8 @@ module.exports = class Dashboard extends Plugin { hideCancelButton: this.opts.hideCancelButton, showProgressDetails: this.opts.showProgressDetails, hideAfterFinish: this.opts.hideProgressAfterFinish, - locale: this.opts.locale + locale: this.opts.locale, + doneButtonHandler: this.opts.doneButtonHandler }) } diff --git a/packages/@uppy/status-bar/src/StatusBar.js b/packages/@uppy/status-bar/src/StatusBar.js index 90b042e77..4bd9e53e9 100644 --- a/packages/@uppy/status-bar/src/StatusBar.js +++ b/packages/@uppy/status-bar/src/StatusBar.js @@ -109,6 +109,8 @@ module.exports = (props) => { const showRetryBtn = error && !hideRetryButton + const showDoneBtn = props.doneButtonHandler && uploadState === statusBarStates.STATE_COMPLETE + const progressClassNames = `uppy-StatusBar-progress ${progressMode ? 'is-' + progressMode : ''}` @@ -134,6 +136,7 @@ module.exports = (props) => { {showRetryBtn ? : null} {showPauseResumeBtn ? : null} {showCancelBtn ? : null} + {showDoneBtn ? : null} ) @@ -232,6 +235,20 @@ const PauseResumeButton = (props) => { ) } +const DoneBtn = (props) => { + const { i18n } = props + return ( + + ) +} + const LoadingSpinner = () => { return (