本文整理汇总了TypeScript中common/actions.actions.windOpened方法的典型用法代码示例。如果您正苦于以下问题:TypeScript actions.windOpened方法的具体用法?TypeScript actions.windOpened怎么用?TypeScript actions.windOpened使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common/actions.actions
的用法示例。
在下文中一共展示了actions.windOpened方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: async
watcher.on(actions.openWind, async (store, action) => {
let { initialURL } = action.payload;
const rs = store.getState();
initialURL = normalizeURL(initialURL);
const secondaryWindowParams = opensInWindow(initialURL);
if (secondaryWindowParams) {
// see if we already have a window with that initialURL
for (const wind of Object.keys(rs.winds)) {
const windState = rs.winds[wind];
if (windState.properties.initialURL === initialURL) {
const nativeWin = getNativeWindow(rs, wind);
if (nativeWin) {
nativeWin.show();
nativeWin.focus();
return;
}
}
}
}
let width = 800;
let height = 600;
if (secondaryWindowParams) {
width = secondaryWindowParams.width || width;
height = secondaryWindowParams.height || height;
}
const opts: BrowserWindowConstructorOptions = {
...commonBrowserWindowOpts(store),
title: app.getName(),
width,
height,
};
const nativeWindow = new BrowserWindow(opts);
const wind = `secondary-${secondaryWindowSeed++}`;
const role: WindRole = "secondary";
store.dispatch(
actions.windOpened({
wind,
role,
nativeId: nativeWindow.id,
initialURL: initialURL,
})
);
const configKey = `${initialURL}-bounds`;
const bounds = config.get(configKey);
if (bounds) {
nativeWindow.setBounds(bounds);
}
nativeWindow.loadURL(makeAppURL({ wind, role }));
hookNativeWindow(store, wind, nativeWindow);
});
示例2: tabReducer
import { Action, TabDataSave, TabInstance, TabInstances } from "common/types";
import { each, omit } from "underscore";
let initialState = (initialURL?: string): TabInstances => ({
["initial-tab"]: tabReducer(
{
history: [{ url: initialURL ? initialURL : "itch://new-tab" }],
currentIndex: 0,
sleepy: true,
sequence: 0,
},
null
),
});
const windOpenedType = actions.windOpened({} as any).type;
const tabsRestoredType = actions.tabsRestored({} as any).type;
const tabOpenedType = actions.tabOpened({} as any).type;
const tabsClosedType = actions.tabsClosed({} as any).type;
const loggedOutType = actions.loggedOut({} as any).type;
export default function(state: TabInstances, action: Action<any>) {
if (typeof state === "undefined") {
return initialState();
}
if (action) {
if (action.type === windOpenedType) {
const {
initialURL,
} = action.payload as typeof actions.windOpened["payload"];
示例3: createRootWindow
async function createRootWindow(store: Store) {
const wind = "root";
const role: WindRole = "main";
const userBounds = config.get(BOUNDS_CONFIG_KEY) || {};
const bounds = {
x: -1,
y: -1,
width: 1250,
height: 720,
...userBounds,
};
const { width, height } = bounds;
const center = bounds.x === -1 && bounds.y === -1;
let opts: Electron.BrowserWindowConstructorOptions = {
...commonBrowserWindowOpts(store),
title: app.getName(),
width,
height,
center,
};
const nativeWindow = new BrowserWindow(opts);
store.dispatch(
actions.windOpened({
wind,
role,
nativeId: nativeWindow.id,
initialURL: "itch://library",
})
);
if (process.platform === "darwin") {
try {
app.dock.setIcon(getIconPath());
} catch (err) {
logger.warn(`Could not set dock icon: ${err.stack}`);
}
}
if (!center) {
nativeWindow.setPosition(bounds.x, bounds.y);
}
ensureWindowInsideDisplay(nativeWindow);
nativeWindow.on("close", (e: any) => {});
hookNativeWindow(store, wind, nativeWindow);
nativeWindow.on("maximize", (e: any) => {
config.set(MAXIMIZED_CONFIG_KEY, true);
});
nativeWindow.on("unmaximize", (e: any) => {
config.set(MAXIMIZED_CONFIG_KEY, false);
});
nativeWindow.loadURL(makeAppURL({ wind, role }));
if (parseInt(process.env.DEVTOOLS || "0", 10) > 0) {
openAppDevTools(nativeWindow);
}
}