angular-dynamic-forms-lite
Version:
Efficient dynamic and customizable Angular 7+ forms.
84 lines • 5.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var ArrayRenderer = /** @class */ (function () {
// TODO is arrayRoot needed
function ArrayRenderer(parentFieldFactory, arrayRoot) {
this.parentFieldFactory = parentFieldFactory;
this.arrayRoot = arrayRoot;
}
/**
* @param {?} context
* @param {?} pageEvent
* @return {?}
*/
ArrayRenderer.prototype.render = /**
* @param {?} context
* @param {?} pageEvent
* @return {?}
*/
function (context, pageEvent) {
this.renderChildren(this.arrayRoot, this.getChildrenToRender((/** @type {?} */ (context.children)), pageEvent));
};
/**
* @private
* @param {?} arrayRoot
* @param {?} contexts
* @return {?}
*/
ArrayRenderer.prototype.renderChildren = /**
* @private
* @param {?} arrayRoot
* @param {?} contexts
* @return {?}
*/
function (arrayRoot, contexts) {
var _this = this;
arrayRoot.clearView();
contexts.forEach((/**
* @param {?} context
* @return {?}
*/
function (context) {
if (context.componentRef.hostView.destroyed) {
// recreate the view if it is destroyed
/** @type {?} */
var newContext = _this.parentFieldFactory.create(context);
_this.parentFieldFactory.render(arrayRoot, newContext);
return;
}
_this.parentFieldFactory.render(arrayRoot, context);
}));
};
/**
* @private
* @param {?} children
* @param {?} pageEvent
* @return {?}
*/
ArrayRenderer.prototype.getChildrenToRender = /**
* @private
* @param {?} children
* @param {?} pageEvent
* @return {?}
*/
function (children, pageEvent) {
return children.slice(pageEvent.pageIndex * pageEvent.pageSize, (pageEvent.pageIndex + 1) * pageEvent.pageSize);
};
return ArrayRenderer;
}());
export { ArrayRenderer };
if (false) {
/**
* @type {?}
* @private
*/
ArrayRenderer.prototype.parentFieldFactory;
/**
* @type {?}
* @private
*/
ArrayRenderer.prototype.arrayRoot;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktcmVuZGVyZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWR5bmFtaWMtZm9ybXMtbGl0ZS8iLCJzb3VyY2VzIjpbImxpYi9mb3JtLWZpZWxkL2FycmF5L2FycmF5LXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFNQTtJQUNFLDJCQUEyQjtJQUMzQix1QkFBb0Isa0JBQXNDLEVBQVUsU0FBNEI7UUFBNUUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQW1CO0lBQUcsQ0FBQzs7Ozs7O0lBRTdGLDhCQUFNOzs7OztJQUFiLFVBQWMsT0FBb0MsRUFBRSxTQUFvQjtRQUN0RSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG1CQUFBLE9BQU8sQ0FBQyxRQUFRLEVBQXNCLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNuSCxDQUFDOzs7Ozs7O0lBRU8sc0NBQWM7Ozs7OztJQUF0QixVQUF1QixTQUE0QixFQUFFLFFBQTRCO1FBQWpGLGlCQWNDO1FBYkMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXRCLFFBQVEsQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxPQUFPO1lBQ3RCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFOzs7b0JBRXJDLFVBQVUsR0FBRyxLQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFNLE9BQU8sQ0FBQztnQkFFL0QsS0FBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3RELE9BQU87YUFDUjtZQUVELEtBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7OztJQUVPLDJDQUFtQjs7Ozs7O0lBQTNCLFVBQTRCLFFBQWlDLEVBQUUsU0FBb0I7UUFDakYsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFDSCxvQkFBQztBQUFELENBQUMsQUEzQkQsSUEyQkM7Ozs7Ozs7SUF6QmEsMkNBQThDOzs7OztJQUFFLGtDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gXCIuL3BhZ2luYXRvclwiO1xuaW1wb3J0IHsgRm9ybVJvb3REaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZm9ybS9mb3JtLXJvb3QuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBGb3JtQ29udGV4dCB9IGZyb20gXCIuLi8uLi9mb3JtL2Zvcm0tY29udGV4dFwiO1xuaW1wb3J0IHsgUGFyZW50RmllbGRGYWN0b3J5IH0gZnJvbSBcIi4uL2ZpZWxkLWZhY3RvcnlcIjtcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5leHBvcnQgY2xhc3MgQXJyYXlSZW5kZXJlciB7XG4gIC8vIFRPRE8gaXMgYXJyYXlSb290IG5lZWRlZFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudEZpZWxkRmFjdG9yeTogUGFyZW50RmllbGRGYWN0b3J5LCBwcml2YXRlIGFycmF5Um9vdDogRm9ybVJvb3REaXJlY3RpdmUpIHt9XG5cbiAgcHVibGljIHJlbmRlcihjb250ZXh0OiBGb3JtQ29udGV4dDxhbnksIEZvcm1BcnJheT4sIHBhZ2VFdmVudDogUGFnZUV2ZW50KSB7XG4gICAgdGhpcy5yZW5kZXJDaGlsZHJlbih0aGlzLmFycmF5Um9vdCwgdGhpcy5nZXRDaGlsZHJlblRvUmVuZGVyKGNvbnRleHQuY2hpbGRyZW4gYXMgRm9ybUNvbnRleHQ8YW55PltdLCBwYWdlRXZlbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyQ2hpbGRyZW4oYXJyYXlSb290OiBGb3JtUm9vdERpcmVjdGl2ZSwgY29udGV4dHM6IEZvcm1Db250ZXh0PGFueT5bXSk6IHZvaWQge1xuICAgIGFycmF5Um9vdC5jbGVhclZpZXcoKTtcblxuICAgIGNvbnRleHRzLmZvckVhY2goY29udGV4dCA9PiB7XG4gICAgICBpZiAoY29udGV4dC5jb21wb25lbnRSZWYuaG9zdFZpZXcuZGVzdHJveWVkKSB7XG4gICAgICAgIC8vIHJlY3JlYXRlIHRoZSB2aWV3IGlmIGl0IGlzIGRlc3Ryb3llZFxuICAgICAgICBjb25zdCBuZXdDb250ZXh0ID0gdGhpcy5wYXJlbnRGaWVsZEZhY3RvcnkuY3JlYXRlPGFueT4oY29udGV4dCk7XG5cbiAgICAgICAgdGhpcy5wYXJlbnRGaWVsZEZhY3RvcnkucmVuZGVyKGFycmF5Um9vdCwgbmV3Q29udGV4dCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5wYXJlbnRGaWVsZEZhY3RvcnkucmVuZGVyKGFycmF5Um9vdCwgY29udGV4dCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldENoaWxkcmVuVG9SZW5kZXIoY2hpbGRyZW46IEZvcm1Db250ZXh0PGFueSwgYW55PltdLCBwYWdlRXZlbnQ6IFBhZ2VFdmVudCkge1xuICAgIHJldHVybiBjaGlsZHJlbi5zbGljZShwYWdlRXZlbnQucGFnZUluZGV4ICogcGFnZUV2ZW50LnBhZ2VTaXplLCAocGFnZUV2ZW50LnBhZ2VJbmRleCArIDEpICogcGFnZUV2ZW50LnBhZ2VTaXplKTtcbiAgfVxufVxuIl19