define(["require", "exports", "../base/constant", "../base/enum", "../renderer/dom-virtual-content-renderer"], function (require, exports, constant_1, enum_1, dom_virtual_content_renderer_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var DomVirtualization = (function () {
function DomVirtualization(parent, locator) {
this.parent = parent;
this.locator = locator;
this.addEventListener();
}
DomVirtualization.prototype.getModuleName = function () {
return 'domVirtualization';
};
DomVirtualization.prototype.instantiateRenderer = function () {
var renderer = this.locator.getService('rendererFactory');
renderer.addRenderer(enum_1.RenderType.Content, new dom_virtual_content_renderer_1.DomVirtualContentRenderer(this.parent, this.locator));
};
DomVirtualization.prototype.addEventListener = function () {
if (this.parent.isDestroyed) {
return;
}
this.parent.on(constant_1.initialLoad, this.instantiateRenderer, this);
this.parent.on(constant_1.destroy, this.destroy, this);
};
DomVirtualization.prototype.removeEventListener = function () {
if (this.parent.isDestroyed) {
return;
}
this.parent.off(constant_1.initialLoad, this.instantiateRenderer);
this.parent.off(constant_1.destroy, this.destroy);
};
DomVirtualization.prototype.destroy = function () {
this.removeEventListener();
Eif (this.parent.contentModule && this.parent.contentModule.destroy) {
this.parent.contentModule.destroy();
}
};
return DomVirtualization;
}());
exports.DomVirtualization = DomVirtualization;
});
|