73 lines
2.2 KiB
JavaScript
73 lines
2.2 KiB
JavaScript
import {
|
|
extendPrototype,
|
|
createProxyFunction,
|
|
} from '../../utils/functionExtensions';
|
|
import RenderableElement from './RenderableElement';
|
|
|
|
function RenderableDOMElement() {}
|
|
|
|
(function () {
|
|
var _prototype = {
|
|
initElement: function (data, globalData, comp) {
|
|
this.initFrame();
|
|
this.initBaseData(data, globalData, comp);
|
|
this.initTransform(data, globalData, comp);
|
|
this.initHierarchy();
|
|
this.initRenderable();
|
|
this.initRendererElement();
|
|
this.createContainerElements();
|
|
this.createRenderableComponents();
|
|
this.createContent();
|
|
this.hide();
|
|
},
|
|
hide: function () {
|
|
// console.log('HIDE', this);
|
|
if (!this.hidden && (!this.isInRange || this.isTransparent)) {
|
|
var elem = this.baseElement || this.layerElement;
|
|
elem.style.display = 'none';
|
|
this.hidden = true;
|
|
}
|
|
},
|
|
show: function () {
|
|
// console.log('SHOW', this);
|
|
if (this.isInRange && !this.isTransparent) {
|
|
if (!this.data.hd) {
|
|
var elem = this.baseElement || this.layerElement;
|
|
elem.style.display = 'block';
|
|
}
|
|
this.hidden = false;
|
|
this._isFirstFrame = true;
|
|
}
|
|
},
|
|
renderFrame: function () {
|
|
// If it is exported as hidden (data.hd === true) no need to render
|
|
// If it is not visible no need to render
|
|
if (this.data.hd || this.hidden) {
|
|
return;
|
|
}
|
|
this.renderTransform();
|
|
this.renderRenderable();
|
|
this.renderLocalTransform();
|
|
this.renderElement();
|
|
this.renderInnerContent();
|
|
if (this._isFirstFrame) {
|
|
this._isFirstFrame = false;
|
|
}
|
|
},
|
|
renderInnerContent: function () {},
|
|
prepareFrame: function (num) {
|
|
this._mdf = false;
|
|
this.prepareRenderableFrame(num);
|
|
this.prepareProperties(num, this.isInRange);
|
|
this.checkTransparency();
|
|
},
|
|
destroy: function () {
|
|
this.innerElem = null;
|
|
this.destroyBaseElement();
|
|
},
|
|
};
|
|
extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);
|
|
}());
|
|
|
|
export default RenderableDOMElement;
|