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 (