本文整理汇总了TypeScript中slim-dom.getNestedObjectById函数的典型用法代码示例。如果您正苦于以下问题:TypeScript getNestedObjectById函数的具体用法?TypeScript getNestedObjectById怎么用?TypeScript getNestedObjectById使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getNestedObjectById函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getArtboardById
export const getWorkspaceReference = (ref: StructReference, workspace: Workspace) => {
if (ref[0] === ARTBOARD) {
return getArtboardById(ref[1], workspace);
}
const artboard = getNodeArtboard(ref[1], workspace);
return artboard && getNestedObjectById(ref[1], artboard.document);
};
示例2: getNodeArtboard
const deselectOutOfScopeWorkpaceSelection = (root: ApplicationState, workspaceId: string, ref: StructReference) => {
if (ref && ref[0] === SlimVMObjectType.ELEMENT) {
return root;
}
const artboard = getNodeArtboard(ref[1], root);
const workspace = getWorkspaceById(root, workspaceId);
const updatedSelection: StructReference[] = [];
for (const selection of workspace.selectionRefs) {
if (getNestedObjectById(selection[1], artboard.document)) {
updatedSelection.push(selection);
}
}
return setWorkspaceSelection(root, workspaceId, ...updatedSelection);
};
示例3: getNestedObjectById
return state.artboards.map(artboard => getNestedObjectById(nodeId, artboard.document)).find(Boolean);
示例4: return
return (state as Workspace).artboards.find((artboard) => {
return artboard.document && Boolean(getNestedObjectById(nodeId, artboard.document));
})
示例5: switch
//.........这里部分代码省略.........
case STAGE_TOOL_OVERLAY_MOUSE_LEAVE: {
const { sourceEvent } = event as StageToolOverlayMouseMoved;
return updateWorkspace(state, state.selectedWorkspaceId, {
hoveringRefs: []
});
}
case CSS_DECLARATION_TITLE_MOUSE_ENTER: {
const { artboardId, ruleId } = event as CSSDeclarationTitleMouseLeaveEnter;
const artboard = getArtboardById(artboardId, state);
// TODO
return state;
// const { selectorText }: SEnvCSSStyleRuleInterface = getNestedObjectById(ruleId, artboard.document);
// return updateWorkspace(state, state.selectedWorkspaceId, {
// hoveringRefs: getMatchingElements(artboard, selectorText).map((element) => [
// element.$type,
// element.$id
// ]) as [[string, string]]
// });
}
case CSS_DECLARATION_TITLE_MOUSE_LEAVE: {
const { artboardId, ruleId } = event as CSSDeclarationTitleMouseLeaveEnter;
return updateWorkspace(state, state.selectedWorkspaceId, {
hoveringRefs: []
});
}
case BREADCRUMB_ITEM_CLICKED: {
const { artboardId, nodeId } = event as BreadcrumbItemClicked;
const artboard = getArtboardById(artboardId, state);
const node = getNestedObjectById(nodeId, artboard.document) as SlimBaseNode;
const workspace = getArtboardWorkspace(artboard.$id, state);
return setWorkspaceSelection(state, workspace.$id, [node.type, node.id]);
}
case BREADCRUMB_ITEM_MOUSE_ENTER: {
const { artboardId, nodeId } = event as BreadcrumbItemMouseEnterLeave;
return updateWorkspace(state, state.selectedWorkspaceId, {
hoveringRefs: [[SlimVMObjectType.ELEMENT, nodeId]]
});
}
case BREADCRUMB_ITEM_MOUSE_LEAVE: {
const { artboardId, nodeId } = event as BreadcrumbItemMouseEnterLeave;
return updateWorkspace(state, state.selectedWorkspaceId, {
hoveringRefs: []
});
}
case STAGE_MOUNTED: {
const { element } = event as StageMounted;
const { width = 400, height = 300 } = element.getBoundingClientRect() || {};
const workspaceId = state.selectedWorkspaceId;
const workspace = getSelectedWorkspace(state);
state = updateWorkspaceStage(state, workspaceId, { container: element });
// do not center if in full screen mode
if (workspace.stage.fullScreen) {
return updateArtboardSize(state, workspace.stage.fullScreen.artboardId, width, height);
}