Skip to content

Commit

Permalink
Merge pull request #18243 from calixteman/disable_ui_when_saving
Browse files Browse the repository at this point in the history
Display a wait cursor when saving
  • Loading branch information
calixteman authored Jun 14, 2024
2 parents 47791a4 + 5ae936e commit e3caa3c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 6 deletions.
19 changes: 13 additions & 6 deletions web/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -1139,12 +1139,19 @@ const PDFViewerApplication = {
}
},

downloadOrSave(options = {}) {
if (this.pdfDocument?.annotationStorage.size > 0) {
this.save(options);
} else {
this.download(options);
}
async downloadOrSave(options = {}) {
// In the Firefox case, this method MUST always trigger a download.
// When the user is closing a modified and unsaved document, we display a
// prompt asking for saving or not. In case they save, we must wait for
// saving to complete before closing the tab.
// So in case this function does not trigger a download, we must trigger a
// a message and change PdfjsChild.sys.mjs to take it into account.
const { classList } = this.appConfig.appContainer;
classList.add("wait");
await (this.pdfDocument?.annotationStorage.size > 0
? this.save(options)
: this.download(options));
classList.remove("wait");
},

/**
Expand Down
9 changes: 9 additions & 0 deletions web/viewer.css
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,15 @@ body {
body {
background-color: var(--body-bg-color);
scrollbar-color: var(--scrollbar-color) var(--scrollbar-bg-color);

&.wait::before {
content: "";
position: fixed;
width: 100%;
height: 100%;
z-index: 100000;
cursor: wait;
}
}

.hidden,
Expand Down

0 comments on commit e3caa3c

Please sign in to comment.