From 6ce0093fa4370bb98575410b6931f5dc13f81cef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=93=8D=E6=8C=87?= Date: Tue, 21 Jul 2020 15:31:18 +0800 Subject: [PATCH] feat: rax render --- .../src/utils/find-dom-nodes.ts | 13 +++++++++++++ .../rax-simulator-renderer/src/utils/is-dom-node.ts | 4 ++++ 2 files changed, 17 insertions(+) create mode 100644 packages/rax-simulator-renderer/src/utils/find-dom-nodes.ts create mode 100644 packages/rax-simulator-renderer/src/utils/is-dom-node.ts diff --git a/packages/rax-simulator-renderer/src/utils/find-dom-nodes.ts b/packages/rax-simulator-renderer/src/utils/find-dom-nodes.ts new file mode 100644 index 000000000..97a54ed36 --- /dev/null +++ b/packages/rax-simulator-renderer/src/utils/find-dom-nodes.ts @@ -0,0 +1,13 @@ +import { isElement } from '@ali/lowcode-utils'; +import findDOMNode from 'rax-find-dom-node'; +// import { isDOMNode } from './is-dom-node'; + +export function raxFindDOMNodes(instance: any): Array | null { + if (!instance) { + return null; + } + if (isElement(instance)) { + return [instance]; + } + return findDOMNode(instance); +} diff --git a/packages/rax-simulator-renderer/src/utils/is-dom-node.ts b/packages/rax-simulator-renderer/src/utils/is-dom-node.ts new file mode 100644 index 000000000..bfbeb79c1 --- /dev/null +++ b/packages/rax-simulator-renderer/src/utils/is-dom-node.ts @@ -0,0 +1,4 @@ +export function isDOMNode(node: any): node is Element | Text { + if (!node) return false; + return node.nodeType && (node.nodeType === Node.ELEMENT_NODE || node.nodeType === Node.TEXT_NODE); +}