本文整理汇总了TypeScript中common/actions.actions.closeModal方法的典型用法代码示例。如果您正苦于以下问题:TypeScript actions.closeModal方法的具体用法?TypeScript actions.closeModal怎么用?TypeScript actions.closeModal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common/actions.actions
的用法示例。
在下文中一共展示了actions.closeModal方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: async
watcher.on(actions.relaunchRequest, async (store, action) => {
const rs = store.getState();
const pkg = rs.broth.packages[rs.system.appName];
if (pkg.stage !== "need-restart") {
return;
}
const version = pkg.availableVersion;
const restart = t(rs.i18n, ["prompt.self_update_ready.action.restart"]);
store.dispatch(
actions.openModal(
modals.naked.make({
wind: "root",
title: ["prompt.self_update.title", { version }],
message: ["prompt.self_update_ready.message", { restart }],
buttons: [
{
label: ["prompt.self_update_ready.action.restart"],
action: actions.relaunch({}),
},
{
label: ["prompt.self_update_ready.action.snooze"],
action: actions.closeModal({ wind: "root" }),
},
],
widgetParams: null,
})
)
);
});
示例2: async
watcher.on(actions.commandBack, async (store, action) => {
const { window } = action.payload;
const modals = store.getState().windows[window].modals;
const [modal] = modals;
if (modal) {
store.dispatch(actions.closeModal({ window }));
}
});
示例3: closePrereqsModal
function closePrereqsModal() {
if (!prereqsModal) {
return;
}
store.dispatch(
actions.closeModal({
window: "root",
id: prereqsModal.id,
})
);
prereqsModal = null;
}
示例4: async
//.........这里部分代码省略.........
const openModal = actions.openModal(
modalWidgets.scanInstallLocations.make({
window: "root",
title: ["preferences.scan_install_locations.title"],
message: "",
buttons: [
{
label: ["prompt.action.close"],
className: "secondary",
},
],
widgetParams,
unclosable: true,
})
);
store.dispatch(openModal);
const modalId = openModal.payload.id;
const update = () => {
store.dispatch(
actions.updateModalWidgetParams(
modalWidgets.scanInstallLocations.update({
id: modalId,
widgetParams,
})
)
);
};
try {
const importRes = await call(
messages.InstallLocationsScan,
{},
client => {
client.onNotification(messages.Progress, async ({ params }) => {
// TODO: relay ETA too?
widgetParams.progress = params.progress;
update();
});
client.onNotification(
messages.InstallLocationsScanYield,
async ({ params }) => {
names.push(params.game.title);
widgetParams.game = params.game;
update();
}
);
client.onRequest(
messages.InstallLocationsScanConfirmImport,
async ({ params }) => {
const res = await promisedModal(
store,
modalWidgets.naked.make({
window: "root",
title: ["preferences.scan_install_locations.confirm_import"],
message: ["preferences.scan_install_locations.message"],
detail: names.map(n => ` * ${n}`).join("\n") + "\n",
widgetParams: null,
buttons: [
{
label: [
"preferences.scan_install_locations.import_items",
{ numItems: params.numItems },
],
icon: "install",
action: actions.modalResponse({}),
},
"cancel",
],
})
);
return { confirm: !!res };
}
);
}
);
if (importRes.numFoundItems == 0) {
store.dispatch(
actions.statusMessage({
message: ["preferences.scan_install_locations.no_items_found"],
})
);
} else if (importRes.numImportedItems > 0) {
store.dispatch(actions.newItemsImported({}));
store.dispatch(
actions.statusMessage({
message: [
"preferences.scan_install_locations.items_imported",
{ numImportedItems: importRes.numImportedItems },
],
})
);
}
} finally {
store.dispatch(actions.closeModal({ window: "root", id: modalId }));
}
});