当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript actions.windOpened方法代码示例

本文整理汇总了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);
  });
开发者ID:itchio,项目名称:itch,代码行数:56,代码来源:winds.ts

示例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"];
开发者ID:itchio,项目名称:itch,代码行数:31,代码来源:tab-instances.ts

示例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);
  }
}
开发者ID:itchio,项目名称:itch,代码行数:62,代码来源:winds.ts


注:本文中的common/actions.actions.windOpened方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。