本文整理汇总了TypeScript中common/actions.actions.tabsRestored方法的典型用法代码示例。如果您正苦于以下问题:TypeScript actions.tabsRestored方法的具体用法?TypeScript actions.tabsRestored怎么用?TypeScript actions.tabsRestored使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common/actions.actions
的用法示例。
在下文中一共展示了actions.tabsRestored方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: restoreTabs
export async function restoreTabs(store: IStore, profile: Profile) {
const profileId = profile.id;
const { value, ok } = await call(messages.ProfileDataGet, {
profileId,
key: "@itch/tabs",
});
if (!ok) {
logger.info(`No tabs to restore`);
return;
}
try {
const snapshot = JSON.parse(value) as Snapshot;
if (!store.getState().preferences.enableTabs) {
if (snapshot.items.length > 1) {
snapshot.items = [snapshot.items[0]];
}
}
const validTabs = new Set(snapshot.items.map(x => x.id));
if (validTabs.has(snapshot.current)) {
store.dispatch(actions.tabsRestored(snapshot));
} else {
// nevermind
}
} catch (e) {
logger.warn(`Could not retrieve saved tabs: ${e.message}`);
return;
}
}
示例2: tabReducer
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"];
return initialState(initialURL);