本文整理匯總了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);
}