UNPKG

@asoftwareworld/form-builder-pro

Version:

ASW Form Builder Pro helps you with rapid development and designed web forms which includes several controls. The key feature of Form Builder is to make your content attractive and effective. We can customize our control at run time and preview the same b

61 lines 7.68 kB
import { Component, forwardRef, HostListener } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import * as i0 from "@angular/core"; export class AswTextEditable { el; // init by this.registerOnTouched onTouched; onChange; callOnTouched() { this.onTouched(); } callOnChange() { this.onChange(this.el.nativeElement.textContent); } constructor(el) { this.el = el; } ngAfterViewInit() { this.el.nativeElement.setAttribute('contenteditable', 'true'); } // called when model is written to view. (model -> view) writeValue(value) { this.el.nativeElement.textContent = value || ''; } registerOnChange(fn) { this.onChange = fn; } registerOnTouched(fn) { this.onTouched = fn; } // called when element property disabled is changed setDisabledState(val) { this.el.nativeElement.setAttribute('disabled', String(val)); this.el.nativeElement.setAttribute('contenteditable', String(!val)); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AswTextEditable, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: AswTextEditable, selector: "[asw-text-editable]", host: { listeners: { "blur": "callOnTouched()", "input": "callOnChange()" } }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AswTextEditable), multi: true } ], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{padding:.5em}:host[disabled=true]{pointer-events:none;background:#f9f9f9}:host:empty:before{content:attr(placeholder);color:#9d9d9d}\n"] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AswTextEditable, decorators: [{ type: Component, args: [{ selector: '[asw-text-editable]', template: '<ng-content></ng-content>', providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => AswTextEditable), multi: true } ], styles: [":host{padding:.5em}:host[disabled=true]{pointer-events:none;background:#f9f9f9}:host:empty:before{content:attr(placeholder);color:#9d9d9d}\n"] }] }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { callOnTouched: [{ type: HostListener, args: ['blur'] }], callOnChange: [{ type: HostListener, args: ['input'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jb21tb24vZGlyZWN0aXZlL3RleHQtZWRpdGFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQTZCekUsTUFBTSxPQUFPLGVBQWU7SUFlSjtJQWRwQixpQ0FBaUM7SUFDakMsU0FBUyxDQUFjO0lBRXZCLFFBQVEsQ0FBMkI7SUFHbkMsYUFBYTtRQUNULElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBR0QsWUFBWTtRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQztJQUV0QyxlQUFlO1FBQ1gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsVUFBVSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQTJCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsZ0JBQWdCLENBQUMsR0FBWTtRQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7dUdBckNRLGVBQWU7MkZBQWYsZUFBZSw2SEF2QmI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDOUMsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLDBCQVBTLDJCQUEyQjs7MkZBd0I1QixlQUFlO2tCQTNCM0IsU0FBUzsrQkFFSSxxQkFBcUIsWUFDckIsMkJBQTJCLGFBQzFCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjsrRUF3QkQsYUFBYTtzQkFEWixZQUFZO3VCQUFDLE1BQU07Z0JBTXBCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2Fzdy10ZXh0LWVkaXRhYmxlXScsXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBc3dUZXh0RWRpdGFibGUpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDpob3N0W2Rpc2FibGVkPSd0cnVlJ10ge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6aG9zdDplbXB0eTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzlkOWQ5ZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgYFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQXN3VGV4dEVkaXRhYmxlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xuICAgIC8vIGluaXQgYnkgdGhpcy5yZWdpc3Rlck9uVG91Y2hlZFxuICAgIG9uVG91Y2hlZCE6ICgpID0+IHZvaWQ7XG5cbiAgICBvbkNoYW5nZSE6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gICAgY2FsbE9uVG91Y2hlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcpXG4gICAgY2FsbE9uQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgLy8gY2FsbGVkIHdoZW4gbW9kZWwgaXMgd3JpdHRlbiB0byB2aWV3LiAobW9kZWwgLT4gdmlldylcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID0gdmFsdWUgfHwgJyc7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8vIGNhbGxlZCB3aGVuIGVsZW1lbnQgcHJvcGVydHkgZGlzYWJsZWQgaXMgY2hhbmdlZFxuICAgIHNldERpc2FibGVkU3RhdGUodmFsOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJywgU3RyaW5nKHZhbCkpO1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCBTdHJpbmcoIXZhbCkpO1xuICAgIH1cbn1cbiJdfQ==