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


TypeScript actions.evolveTab方法代码示例

本文整理汇总了TypeScript中common/actions.actions.evolveTab方法的典型用法代码示例。如果您正苦于以下问题:TypeScript actions.evolveTab方法的具体用法?TypeScript actions.evolveTab怎么用?TypeScript actions.evolveTab使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在common/actions.actions的用法示例。


在下文中一共展示了actions.evolveTab方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: async

  watcher.on(actions.tabParamsChanged, async (store, action) => {
    let { tab, params, window } = action.payload;
    const sp = Space.fromStore(store, window, tab);

    const newParams = {
      ...sp.query(),
      ...params,
    };

    const previousURL = sp.url();
    const parsed = nodeURL.parse(previousURL);
    const { host, protocol, pathname } = parsed;
    const newURL = nodeURL.format({
      host,
      protocol,
      pathname,
      slashes: true,
      search: `?${querystring.stringify(newParams)}`,
    });

    store.dispatch(
      actions.evolveTab({
        window,
        tab,
        url: newURL,
        replace: true,
        onlyParamsChange: true,
      })
    );
  });
开发者ID:HorrerGames,项目名称:itch,代码行数:30,代码来源:navigation.ts

示例2: makeEvolve

 makeEvolve(
   payload: Subtract<
     EvolveTabPayload,
     {
       tab: string;
       wind: string;
     }
   >
 ): Action<EvolveTabPayload> {
   return actions.evolveTab({
     wind: ambientWind(),
     tab: this.tab,
     ...payload,
   });
 }
开发者ID:itchio,项目名称:itch,代码行数:15,代码来源:space.ts

示例3:

 const onNewPath = (url: string, resource: string) => {
   if (resource) {
     logger.debug(`Got resource ${resource}`);
     store.dispatch(
       actions.evolveTab({
         wind,
         tab,
         url,
         resource,
         replace: true,
         onlyIfMatchingURL: true,
         fromWebContents: true,
       })
     );
   }
 };
开发者ID:itchio,项目名称:itch,代码行数:16,代码来源:web-contents.ts

示例4:

 const onNewPath = (url: string, resource: string) => {
   if (resource) {
     // FIXME: we need this to be better - analyze can finish after we've already navigated away
     // so we need to only set resource if the url is what we think it is
     logger.debug(`Got resource ${resource}`);
     store.dispatch(
       actions.evolveTab({
         window,
         tab,
         url,
         resource,
         replace: true,
       })
     );
   }
 };
开发者ID:HorrerGames,项目名称:itch,代码行数:16,代码来源:web-contents.ts

示例5: parseWellKnownUrl

  const didNavigate = (url: string, navMode?: NavMode) => {
    let resource = null;
    const result = parseWellKnownUrl(url);
    if (result) {
      url = result.url;
      resource = result.resource;
      logger.debug(`Parsed well-known url: ${url} => ${resource}`);
    }

    store.dispatch(
      actions.evolveTab({
        wind,
        tab,
        url,
        label: wc.getTitle(),
        resource,
        replace: navMode === NavMode.Replace,
        fromWebContents: true,
      })
    );
  };
开发者ID:itchio,项目名称:itch,代码行数:21,代码来源:web-contents.ts

示例6: parseWellKnownUrl

    const didNavigate = (url: string, replace?: boolean) => {
      if (url !== "about:blank") {
        let resource = null;
        const result = parseWellKnownUrl(url);
        if (result) {
          url = result.url;
          resource = result.resource;
          console.log(`Caught well-known url: `, result);
        }

        store.dispatch(
          actions.evolveTab({
            window,
            tab,
            url,
            resource,
            replace,
          })
        );
      }
    };
开发者ID:HorrerGames,项目名称:itch,代码行数:21,代码来源:web-contents.ts

示例7: async

  watcher.on(actions.navigate, async (store, action) => {
    let { url, resource, wind, background, replace } = action.payload;
    logger.debug(`Navigating to ${url} ${background ? "(in background)" : ""}`);

    if (opensInWindow(url)) {
      store.dispatch(
        actions.openWind({
          initialURL: url,
          role: "secondary",
        })
      );
      return;
    }

    const space = Space.fromInstance("fictional-tab", {
      history: [{ url, resource }],
      currentIndex: 0,
      sequence: 0,
    });
    if (space.protocol() == "mailto:") {
      logger.debug(`Is mailto link, opening as external and skipping tab open`);
      shell.openExternal(space.suffix);
      return;
    }

    const rs = store.getState();
    if (hasMultipleTabs(rs, wind)) {
      const nativeWindow = getNativeWindow(rs, "root");
      if (
        nativeWindow &&
        nativeWindow.isFocused() &&
        !background &&
        url !== "itch://new-tab"
      ) {
        // let it navigate the open tab
      } else {
        // open a new tab!
        const tab = uuid();
        store.dispatch(
          actions.tabOpened({
            wind,
            tab,
            url,
            resource,
            background,
          })
        );
        return;
      }
    }

    {
      const { navigation } = rs.winds[wind];
      const tab = navigation.tab;

      // navigate the single tab
      store.dispatch(
        actions.evolveTab({
          tab,
          replace,
          wind,
          url,
          resource,
        })
      );
      store.dispatch(
        actions.focusWind({
          wind,
        })
      );
    }
  });
开发者ID:itchio,项目名称:itch,代码行数:72,代码来源:navigation.ts


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