Skip to content

Commit

Permalink
fix: use queue for actions in source control view
Browse files Browse the repository at this point in the history
close #517
  • Loading branch information
Vinzent03 committed May 31, 2023
1 parent 833bd2b commit eb20dd4
Showing 1 changed file with 46 additions and 30 deletions.
76 changes: 46 additions & 30 deletions src/ui/sourceControl/sourceControl.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -62,29 +62,33 @@
plugin.setState(PluginState.idle);
return false;
}
plugin.gitManager
.commit(commitMessage)
.then(() => {
if (commitMessage !== plugin.settings.commitMessage) {
commitMessage = "";
}
plugin.setUpAutoBackup();
})
.finally(triggerRefresh);
plugin.promiseQueue.addTask(() =>
plugin.gitManager
.commit(commitMessage)
.then(() => {
if (commitMessage !== plugin.settings.commitMessage) {
commitMessage = "";
}
plugin.setUpAutoBackup();
})
.finally(triggerRefresh)
);
}
}
async function backup() {
loading = true;
if (status) {
plugin
.createBackup(false, false, commitMessage)
.then(() => {
if (commitMessage !== plugin.settings.commitMessage) {
commitMessage = "";
}
})
.finally(triggerRefresh);
plugin.promiseQueue.addTask(() =>
plugin
.createBackup(false, false, commitMessage)
.then(() => {
if (commitMessage !== plugin.settings.commitMessage) {
commitMessage = "";
}
})
.finally(triggerRefresh)
);
}
}
Expand Down Expand Up @@ -151,36 +155,48 @@
function stageAll() {
loading = true;
plugin.gitManager.stageAll({ status: status }).finally(triggerRefresh);
plugin.promiseQueue.addTask(() =>
plugin.gitManager
.stageAll({ status: status })
.finally(triggerRefresh)
);
}
function unstageAll() {
loading = true;
plugin.gitManager
.unstageAll({ status: status })
.finally(triggerRefresh);
plugin.promiseQueue.addTask(() =>
plugin.gitManager
.unstageAll({ status: status })
.finally(triggerRefresh)
);
}
function push() {
loading = true;
plugin.push().finally(triggerRefresh);
plugin.promiseQueue.addTask(() =>
plugin.push().finally(triggerRefresh)
);
}
function pull() {
loading = true;
plugin.pullChangesFromRemote().finally(triggerRefresh);
plugin.promiseQueue.addTask(() =>
plugin.pullChangesFromRemote().finally(triggerRefresh)
);
}
function discard() {
new DiscardModal(view.app, false, plugin.gitManager.getVaultPath("/"))
.myOpen()
.then((shouldDiscard) => {
if (shouldDiscard === true) {
plugin.gitManager
.discardAll({
status: plugin.cachedStatus,
})
.finally(() => {
dispatchEvent(new CustomEvent("git-refresh"));
});
plugin.promiseQueue.addTask(() =>
plugin.gitManager
.discardAll({
status: plugin.cachedStatus,
})
.finally(() => {
dispatchEvent(new CustomEvent("git-refresh"));
})
);
}
});
}
Expand Down

0 comments on commit eb20dd4

Please sign in to comment.