UNPKG

@ngx-formly/bootstrap

Version:

Formly is a dynamic (JSON powered) form library for Angular that bring unmatched maintainability to your application's forms.

31 lines 8.4 kB
import { Component, ViewChild, ViewEncapsulation } from '@angular/core'; import { FieldWrapper } from '@ngx-formly/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class FormlyWrapperAddons extends FieldWrapper { set content(templateRef) { if (templateRef && this.hostContainerRef) { this.hostContainerRef.createEmbeddedView(templateRef); } } constructor(hostContainerRef) { super(); this.hostContainerRef = hostContainerRef; } addonRightClick($event) { this.props.addonRight.onClick?.(this.field, $event); } addonLeftClick($event) { this.props.addonLeft.onClick?.(this.field, $event); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyWrapperAddons, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyWrapperAddons, selector: "formly-wrapper-addons", viewQueries: [{ propertyName: "content", first: true, predicate: ["fieldTypeTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonLeft\"\n [class.input-group-btn]=\"props.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"props.addonLeft.class\" *ngIf=\"props.addonLeft.class\"></i>\n <span *ngIf=\"props.addonLeft.text\">{{ props.addonLeft.text }}</span>\n </div>\n <ng-container #fieldComponent></ng-container>\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonRight\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"props.addonRight.class\" *ngIf=\"props.addonRight.class\"></i>\n <span *ngIf=\"props.addonRight.text\">{{ props.addonRight.text }}</span>\n </div>\n </div>\n</ng-template>\n", styles: ["formly-wrapper-form-field .input-group-btn{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyWrapperAddons, decorators: [{ type: Component, args: [{ selector: 'formly-wrapper-addons', encapsulation: ViewEncapsulation.None, template: "<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonLeft\"\n [class.input-group-btn]=\"props.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"props.addonLeft.class\" *ngIf=\"props.addonLeft.class\"></i>\n <span *ngIf=\"props.addonLeft.text\">{{ props.addonLeft.text }}</span>\n </div>\n <ng-container #fieldComponent></ng-container>\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonRight\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"props.addonRight.class\" *ngIf=\"props.addonRight.class\"></i>\n <span *ngIf=\"props.addonRight.text\">{{ props.addonRight.text }}</span>\n </div>\n </div>\n</ng-template>\n", styles: ["formly-wrapper-form-field .input-group-btn{cursor:pointer}\n"] }] }], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { content: [{ type: ViewChild, args: ['fieldTypeTemplate', { static: true }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS9ib290c3RyYXAvYWRkb25zL3NyYy9hZGRvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL3VpL2Jvb3RzdHJhcC9hZGRvbnMvc3JjL2FkZG9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLFNBQVMsRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFzQyxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBc0JwRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBMEM7SUFDakYsSUFBc0QsT0FBTyxDQUFDLFdBQTZCO1FBQ3pGLElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQW9CLGdCQUFtQztRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQURVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7SUFFdkQsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFXO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFXO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQzsrR0FqQlUsbUJBQW1CO21HQUFuQixtQkFBbUIsZ05DdkJoQyx3NEJBdUJBOzs0RkRBYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJO3FGQUdpQixPQUFPO3NCQUE1RCxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnLCBGaWVsZFR5cGVDb25maWcsIEZpZWxkV3JhcHBlciB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2Jvb3RzdHJhcC9mb3JtLWZpZWxkJztcblxuaW50ZXJmYWNlIEFkZG9uc1Byb3BzIGV4dGVuZHMgRm9ybWx5RmllbGRQcm9wcyB7XG4gIGFkZG9uUmlnaHQ/OiB7XG4gICAgb25DbGljaz86IChmaWVsZDogRm9ybWx5RmllbGRDb25maWcsIGV2ZW50PzogYW55KSA9PiB2b2lkO1xuICAgIGNsYXNzPzogc3RyaW5nO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gIH07XG4gIGFkZG9uTGVmdD86IHtcbiAgICBvbkNsaWNrPzogKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgZXZlbnQ/OiBhbnkpID0+IHZvaWQ7XG4gICAgY2xhc3M/OiBzdHJpbmc7XG4gICAgdGV4dD86IHN0cmluZztcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LXdyYXBwZXItYWRkb25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZG9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZG9ucy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlXcmFwcGVyQWRkb25zIGV4dGVuZHMgRmllbGRXcmFwcGVyPEZpZWxkVHlwZUNvbmZpZzxBZGRvbnNQcm9wcz4+IHtcbiAgQFZpZXdDaGlsZCgnZmllbGRUeXBlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzZXQgY29udGVudCh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGlmICh0ZW1wbGF0ZVJlZiAmJiB0aGlzLmhvc3RDb250YWluZXJSZWYpIHtcbiAgICAgIHRoaXMuaG9zdENvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGVSZWYpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdENvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgYWRkb25SaWdodENsaWNrKCRldmVudDogYW55KSB7XG4gICAgdGhpcy5wcm9wcy5hZGRvblJpZ2h0Lm9uQ2xpY2s/Lih0aGlzLmZpZWxkLCAkZXZlbnQpO1xuICB9XG5cbiAgYWRkb25MZWZ0Q2xpY2soJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnByb3BzLmFkZG9uTGVmdC5vbkNsaWNrPy4odGhpcy5maWVsZCwgJGV2ZW50KTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNmaWVsZFR5cGVUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgW2NsYXNzLmhhcy12YWxpZGF0aW9uXT1cInNob3dFcnJvclwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiXG4gICAgICAqbmdJZj1cInByb3BzLmFkZG9uTGVmdFwiXG4gICAgICBbY2xhc3MuaW5wdXQtZ3JvdXAtYnRuXT1cInByb3BzLmFkZG9uTGVmdC5vbkNsaWNrXCJcbiAgICAgIChjbGljayk9XCJhZGRvbkxlZnRDbGljaygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8aSBbbmdDbGFzc109XCJwcm9wcy5hZGRvbkxlZnQuY2xhc3NcIiAqbmdJZj1cInByb3BzLmFkZG9uTGVmdC5jbGFzc1wiPjwvaT5cbiAgICAgIDxzcGFuICpuZ0lmPVwicHJvcHMuYWRkb25MZWZ0LnRleHRcIj57eyBwcm9wcy5hZGRvbkxlZnQudGV4dCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICNmaWVsZENvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImlucHV0LWdyb3VwLXRleHRcIlxuICAgICAgKm5nSWY9XCJwcm9wcy5hZGRvblJpZ2h0XCJcbiAgICAgIFtjbGFzcy5pbnB1dC1ncm91cC1idG5dPVwicHJvcHMuYWRkb25SaWdodC5vbkNsaWNrXCJcbiAgICAgIChjbGljayk9XCJhZGRvblJpZ2h0Q2xpY2soJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGkgW25nQ2xhc3NdPVwicHJvcHMuYWRkb25SaWdodC5jbGFzc1wiICpuZ0lmPVwicHJvcHMuYWRkb25SaWdodC5jbGFzc1wiPjwvaT5cbiAgICAgIDxzcGFuICpuZ0lmPVwicHJvcHMuYWRkb25SaWdodC50ZXh0XCI+e3sgcHJvcHMuYWRkb25SaWdodC50ZXh0IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=