本文整理汇总了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,
})
);
});
示例2: makeEvolve
makeEvolve(
payload: Subtract<
EvolveTabPayload,
{
tab: string;
wind: string;
}
>
): Action<EvolveTabPayload> {
return actions.evolveTab({
wind: ambientWind(),
tab: this.tab,
...payload,
});
}
示例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,
})
);
}
};
示例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,
})
);
}
};
示例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,
})
);
};
示例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,
})
);
}
};
示例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,
})
);
}
});