mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-31 11:40:47 +00:00
allow no queue option for dialogs
This commit is contained in:
parent
9d9f7ceda5
commit
e38f1fa82b
3 changed files with 29 additions and 16 deletions
|
|
@ -128,7 +128,7 @@
|
|||
if (ev.target.tagName !== 'INPUT' && ev.target.tagName !== 'TEXTAREA') {
|
||||
// on star
|
||||
if (ev.key === '*') {
|
||||
Dialogs('ADD_TASK');
|
||||
Dialogs('ADD_TASK', undefined, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,10 +29,11 @@
|
|||
return dialog;
|
||||
}
|
||||
|
||||
function addToQueue(dialogObj, wrapperPromise) {
|
||||
function addToQueue(dialogObj, wrapperPromise, isNoQueue) {
|
||||
dialogQueue.push({
|
||||
obj: dialogObj,
|
||||
wrapperPromise
|
||||
wrapperPromise,
|
||||
isNoQueue
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -44,24 +45,36 @@
|
|||
let nextDialog = dialogQueue[0];
|
||||
|
||||
if (nextDialog) {
|
||||
$mdDialog.show(nextDialog.obj)
|
||||
.then((res) => {
|
||||
nextDialog.wrapperPromise.resolve(res);
|
||||
removeLastResolvedFromQueue();
|
||||
openNextInQueue();
|
||||
}, (err) => {
|
||||
nextDialog.wrapperPromise.reject(err);
|
||||
removeLastResolvedFromQueue();
|
||||
openNextInQueue();
|
||||
});
|
||||
// if isNoQueue is set directly remove and open next one
|
||||
if (nextDialog.isNoQueue) {
|
||||
removeLastResolvedFromQueue();
|
||||
openNextInQueue();
|
||||
$mdDialog.show(nextDialog.obj)
|
||||
.then((res) => {
|
||||
nextDialog.wrapperPromise.resolve(res);
|
||||
}, (err) => {
|
||||
nextDialog.wrapperPromise.reject(err);
|
||||
});
|
||||
} else {
|
||||
$mdDialog.show(nextDialog.obj)
|
||||
.then((res) => {
|
||||
nextDialog.wrapperPromise.resolve(res);
|
||||
removeLastResolvedFromQueue();
|
||||
openNextInQueue();
|
||||
}, (err) => {
|
||||
nextDialog.wrapperPromise.reject(err);
|
||||
removeLastResolvedFromQueue();
|
||||
openNextInQueue();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// actual method to call
|
||||
return function (dialogName, locals) {
|
||||
return function (dialogName, locals, isNoQueue) {
|
||||
let wrapperPromise = $q.defer();
|
||||
const dialogObj = createDialogObject(dialogName, locals);
|
||||
addToQueue(dialogObj, wrapperPromise);
|
||||
addToQueue(dialogObj, wrapperPromise, isNoQueue);
|
||||
|
||||
// when there are currently no other open dialogs
|
||||
if (dialogQueue.length === 1) {
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
// DIRECTIVE METHODS
|
||||
// -----------------
|
||||
vm.openAddTask = () => {
|
||||
Dialogs('ADD_TASK');
|
||||
Dialogs('ADD_TASK', undefined, true);
|
||||
};
|
||||
|
||||
vm.onTaskDoneChangedUndoneList = (task) => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue