@antv/f6-ui
Version:
UI system for @antv/f6
91 lines (74 loc) • 2.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createUI = createUI;
exports.createSegmentNode = createSegmentNode;
Object.defineProperty(exports, "registerUINode", {
enumerable: true,
get: function get() {
return _uiNode.registerUINode;
}
});
Object.defineProperty(exports, "registerAttr", {
enumerable: true,
get: function get() {
return _attrParser.registerAttr;
}
});
Object.defineProperty(exports, "UIBaseNode", {
enumerable: true,
get: function get() {
return _base.default;
}
});
exports.default = void 0;
var _dom = _interopRequireDefault(require("./om/dom"));
var _css = _interopRequireDefault(require("./om/css"));
var _style = _interopRequireDefault(require("./om/style"));
var _uiNode = require("./ui-node");
var _attrParser = require("./parser/attr-parser");
var _base = _interopRequireDefault(require("./ui-node/base"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 = (0, _dom.default)(htmlString, isNeedRoot);
var cssTree = (0, _css.default)(cssString);
var styleTree = (0, _style.default)(dom, cssTree);
var tree = (0, _uiNode.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 = (0, _uiNode.createUINode)(child.dom.tagName, child);
parent_1.children.push(uiNode);
uiNode.setParent(parent_1);
stack.push([child, uiNode]);
}
}
return tree;
}
var f6ui = {
UIBaseNode: _base.default,
createUI: createUI,
registerUINode: _uiNode.registerUINode,
registerAttr: _attrParser.registerAttr,
createSegmentNode: createSegmentNode
};
var _default = f6ui;
exports.default = _default;