fineui是帆软报表和BI产品线所使用的前端框架。
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import { registFunction } from './plugins';
|
|
|
|
|
|
|
|
export function Element(widget, attribs) {
|
|
|
|
this.l = this.r = this.t = this.b = 0; // 边框
|
|
|
|
this.marginLeft = this.marginRight = this.marginTop = this.marginBottom = 0; //间距
|
|
|
|
this.position = {};
|
|
|
|
this.classMap = {};
|
|
|
|
this.classList = [];
|
|
|
|
this.children = [];
|
|
|
|
this.attribs = attribs || {};
|
|
|
|
this.styles = {};
|
|
|
|
// 兼容处理
|
|
|
|
this['0'] = this;
|
|
|
|
this.style = {};
|
|
|
|
if (!widget) {
|
|
|
|
this.nodeName = 'body';
|
|
|
|
this.position.x = 0;
|
|
|
|
this.position.y = 0;
|
|
|
|
this.attribs.id = 'body';
|
|
|
|
} else if (BI.isWidget(widget)) {
|
|
|
|
this.widget = widget;
|
|
|
|
this.nodeName = widget.options.tagName;
|
|
|
|
this.textBaseLine = widget.options.textBaseLine;
|
|
|
|
} else if (BI.isString(widget)) {
|
|
|
|
this.nodeName = widget;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
initElement(Element);
|
|
|
|
registFunction(Element);
|
|
|
|
|
|
|
|
function initElement(element) {
|
|
|
|
element.prototype = {
|
|
|
|
appendChild(child) {
|
|
|
|
child.parent = this;
|
|
|
|
if (this.children.push(child) !== 1) {
|
|
|
|
var sibling = this.children[this.children.length - 2];
|
|
|
|
sibling.next = child;
|
|
|
|
child.prev = sibling;
|
|
|
|
child.next = null;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
append(child) {
|
|
|
|
child.parent = this;
|
|
|
|
if (this.children.push(child) !== 1) {
|
|
|
|
var sibling = this.children[this.children.length - 2];
|
|
|
|
sibling.next = child;
|
|
|
|
child.prev = sibling;
|
|
|
|
child.next = null;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
getParent() {
|
|
|
|
return this.parent;
|
|
|
|
},
|
|
|
|
getSiblings() {
|
|
|
|
var parent = this.getParent();
|
|
|
|
return parent ? parent.getChildren() : [this];
|
|
|
|
},
|
|
|
|
getChildren() {
|
|
|
|
return this.children;
|
|
|
|
},
|
|
|
|
|
|
|
|
getBounds() {
|
|
|
|
return {};
|
|
|
|
},
|
|
|
|
|
|
|
|
width() {
|
|
|
|
|
|
|
|
},
|
|
|
|
height() {
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|