本文整理汇总了TypeScript中common/helpers/space.Space.fromInstance方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Space.fromInstance方法的具体用法?TypeScript Space.fromInstance怎么用?TypeScript Space.fromInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common/helpers/space.Space
的用法示例。
在下文中一共展示了Space.fromInstance方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: async
watcher.on(actions.navigate, async (store, action) => {
const { url, resource, data, window, background } = action.payload;
logger.debug(`Navigating to ${url} ${background ? "(in background)" : ""}`);
if (window === "root" && opensInWindow[url]) {
store.dispatch(
actions.openWindow({
initialURL: url,
modal: false,
role: "secondary",
})
);
return;
}
const sp = Space.fromInstance({
history: [{ url, resource }],
currentIndex: 0,
data,
});
if (sp.protocol() == "mailto:") {
logger.debug(`Is mailto link, opening as external and skipping tab open`);
shell.openExternal(sp.suffix);
return;
}
const rs = store.getState();
const { enableTabs } = rs.preferences;
if (enableTabs && window === "root") {
store.dispatch(
actions.openTab({
window,
tab: uuid(),
url,
resource,
background,
data,
})
);
} else {
const tab = rs.windows[window].navigation.openTabs[0];
// navigate the single tab
store.dispatch(
actions.evolveTab({
tab,
replace: false,
window,
url,
resource,
data,
})
);
}
});
示例2: map
items = map(openTabs, id => {
const ti = tabInstances[id];
if (!ti) {
return null;
}
const sp = Space.fromInstance(ti);
const { history, currentIndex } = ti;
const savedLabel = sp.label();
return { id, history, currentIndex, savedLabel };
});
示例3: createSelector
const getSpace = createSelector(getID, getTabInstance, (id, tabData) =>
Space.fromInstance(tabData[id])
示例4: 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,
})
);
}
});