本文整理匯總了TypeScript中main/reactors/winds.getNativeWindow函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript getNativeWindow函數的具體用法?TypeScript getNativeWindow怎麽用?TypeScript getNativeWindow使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了getNativeWindow函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: async
watcher.on(actions.focusSearch, async (store, action) => {
const wind = "root";
const nw = getNativeWindow(store.getState(), wind);
if (nw && nw.webContents) {
nw.webContents.focus();
}
});
示例2: async
watcher.on(actions.popupContextMenu, async (store, action) => {
const rs = store.getState();
const { wind, template, clientX, clientY } = action.payload;
const nw = getNativeWindow(rs, wind);
const menu = Menu.buildFromTemplate(convertTemplate(store, template));
menu.popup({
window: nw,
x: clientX,
y: clientY,
});
});
示例3: async
watcher.on(actions.tabOpened, async (store, action) => {
const { wind, tab, background } = action.payload;
if (!background) {
store.dispatch(
actions.tabFocused({
wind,
tab,
})
);
const rs = store.getState();
const nw = getNativeWindow(rs, wind);
if (nw && nw.webContents) {
nw.webContents.focus();
}
}
});
示例4: async
watcher.on(actions.addInstallLocation, async (store, action) => {
const { wind } = action.payload;
const i18n = store.getState().i18n;
const nativeWindow = getNativeWindow(store.getState(), wind);
if (!nativeWindow) {
return;
}
const dialogOpts = {
title: t(i18n, ["prompt.install_location_add.title"]),
// crazy typescript workaround, avert your eyes
properties: ["openDirectory", "createDirectory"] as (
| "openDirectory"
| "createDirectory")[],
};
const promise = new ItchPromise<string>((resolve, reject) => {
const callback = (response: string[]) => {
if (!response) {
return resolve();
}
return resolve(response[0]);
};
dialog.showOpenDialog(nativeWindow, dialogOpts, callback);
});
const path = await promise;
if (path) {
const { installLocation } = await mcall(
messages.InstallLocationsAdd,
{ path },
convo => {
hookLogging(convo, logger);
}
);
store.dispatch(
actions.updatePreferences({
defaultInstallLocation: installLocation.id,
})
);
store.dispatch(actions.installLocationsChanged({}));
store.dispatch(actions.silentlyScanInstallLocations({}));
}
});