UNPKG

@antv/f6-ui

Version:

UI system for @antv/f6

58 lines (49 loc) 1.61 kB
import htmlParse from './om/dom'; import cssParse from './om/css'; import styleParse from './om/style'; import { createUINode } from './ui-node'; import { registerUINode } from './ui-node'; import { registerAttr } from './parser/attr-parser'; import UIBaseNode from './ui-node/base'; function createUI(htmlString, cssString, group) { var tree = create(htmlString, cssString, true); tree.manualMount(group); return tree; } function createSegmentNode(htmlString, cssString, group) { var tree = create(htmlString, cssString, false); if (group) tree.manualMount(group); return tree; } function create(htmlString, cssString, isNeedRoot) { if (isNeedRoot === void 0) { isNeedRoot = false; } var dom = htmlParse(htmlString, isNeedRoot); var cssTree = cssParse(cssString); var styleTree = styleParse(dom, cssTree); var tree = createUINode(styleTree.dom.tagName, styleTree); // 创建ui节点 var stack = [[styleTree, tree]]; while (stack.length) { var _a = stack.pop(), node = _a[0], parent_1 = _a[1]; for (var _i = 0, _b = node.originChildren; _i < _b.length; _i++) { var child = _b[_i]; var uiNode = createUINode(child.dom.tagName, child); parent_1.children.push(uiNode); uiNode.setParent(parent_1); stack.push([child, uiNode]); } } return tree; } var f6ui = { UIBaseNode: UIBaseNode, createUI: createUI, registerUINode: registerUINode, registerAttr: registerAttr, createSegmentNode: createSegmentNode }; export default f6ui; export { UIBaseNode, createUI, registerUINode, registerAttr, createSegmentNode };