當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript slim-dom.getNestedObjectById函數代碼示例

本文整理匯總了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);
};
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:7,代碼來源:index.ts

示例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);
};
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:20,代碼來源:index.ts

示例3: getNestedObjectById

 return state.artboards.map(artboard => getNestedObjectById(nodeId, artboard.document)).find(Boolean);
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:1,代碼來源:index.ts

示例4: return

 return (state as Workspace).artboards.find((artboard) => {
   return artboard.document && Boolean(getNestedObjectById(nodeId, artboard.document));
 })
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:3,代碼來源:index.ts

示例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);
      }
開發者ID:cryptobuks,項目名稱:tandem,代碼行數:66,代碼來源:index.ts


注:本文中的slim-dom.getNestedObjectById函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。