angular-dynamic-forms-lite
Version:
Efficient dynamic and customizable Angular 7+ forms.
64 lines • 3.96 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, ViewContainerRef } from "@angular/core";
export class FormRootDirective {
/**
* @param {?} viewContainerRef
*/
constructor(viewContainerRef) {
this.viewContainerRef = viewContainerRef;
}
/**
* @param {?} index
* @return {?}
*/
getViewRef(index) {
return this.viewContainerRef.get(index);
}
/**
* @return {?}
*/
getViewRefs() {
/** @type {?} */
const viewRefs = [];
for (let i = 0; i < this.getSize(); i++) {
viewRefs.push(this.viewContainerRef.get(i));
}
return viewRefs;
}
/**
* @param {?} viewRef
* @return {?}
*/
containsViewRef(viewRef) {
return this.viewContainerRef.indexOf(viewRef) !== -1;
}
/**
* @return {?}
*/
getSize() {
return this.viewContainerRef.length;
}
/**
* @return {?}
*/
clearView() {
this.viewContainerRef.clear();
}
}
FormRootDirective.decorators = [
{ type: Directive, args: [{
selector: "[form-root], form-root"
},] }
];
/** @nocollapse */
FormRootDirective.ctorParameters = () => [
{ type: ViewContainerRef }
];
if (false) {
/** @type {?} */
FormRootDirective.prototype.viewContainerRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yb290LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItZHluYW1pYy1mb3Jtcy1saXRlLyIsInNvdXJjZXMiOlsibGliL2Zvcm0vZm9ybS1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU01RCxNQUFNLE9BQU8saUJBQWlCOzs7O0lBQzVCLFlBQW1CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQzs7Ozs7SUFFbEQsVUFBVSxDQUFDLEtBQWE7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7Ozs7SUFFTSxXQUFXOztjQUNWLFFBQVEsR0FBRyxFQUFFO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdkMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0M7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7OztJQUVNLGVBQWUsQ0FBQyxPQUFnQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7OztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQzs7OztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7O1lBNUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2FBQ25DOzs7O1lBTG1CLGdCQUFnQjs7OztJQU90Qiw2Q0FBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVmlld1JlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZm9ybS1yb290XSwgZm9ybS1yb290XCJcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVJvb3REaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICBwdWJsaWMgZ2V0Vmlld1JlZihpbmRleDogbnVtYmVyKTogVmlld1JlZiB7XG4gICAgcmV0dXJuIHRoaXMudmlld0NvbnRhaW5lclJlZi5nZXQoaW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGdldFZpZXdSZWZzKCk6IFZpZXdSZWZbXSB7XG4gICAgY29uc3Qgdmlld1JlZnMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZ2V0U2l6ZSgpOyBpKyspIHtcbiAgICAgIHZpZXdSZWZzLnB1c2godGhpcy52aWV3Q29udGFpbmVyUmVmLmdldChpKSk7XG4gICAgfVxuICAgIHJldHVybiB2aWV3UmVmcztcbiAgfVxuXG4gIHB1YmxpYyBjb250YWluc1ZpZXdSZWYodmlld1JlZjogVmlld1JlZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5kZXhPZih2aWV3UmVmKSAhPT0gLTE7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnZpZXdDb250YWluZXJSZWYubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGNsZWFyVmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgfVxufVxuIl19