This commit is contained in:
syuilo
2020-09-13 23:22:17 +09:00
parent 5447ecb306
commit d6f9453c38
21 changed files with 68 additions and 37 deletions

View File

@@ -113,12 +113,23 @@ export function modal(component: Component, props: Record<string, any>, events =
}
export function dialog(props: Record<string, any>, opts?: { cancelableByBgClick: boolean; }) {
return modal(defineAsyncComponent(() => import('@/components/dialog.vue')), props, {}, { cancelableByBgClick: opts?.cancelableByBgClick }).then(result => {
if (result) {
return result;
} else {
return { canceled: true };
}
return new PCancelable((resolve, reject, onCancel) => {
const dialog = modal(defineAsyncComponent(() => import('@/components/dialog.vue')), props, {}, { cancelableByBgClick: opts?.cancelableByBgClick });
dialog.then(result => {
if (result) {
resolve(result);
} else {
resolve({ canceled: true });
}
});
dialog.catch(reject);
onCancel.shouldReject = false;
onCancel(() => {
dialog.cancel();
});
});
}