UNPKG

@nativescript-community/ui-material-textview

Version:

Material Design Text views allow users to input text into your app.

44 lines 5.17 kB
import { Directive, forwardRef } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { BaseValueAccessor } from '@nativescript/angular'; import * as i0 from "@angular/core"; const TEXT_VALUE_ACCESSOR = { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => TextValueAccessor), multi: true }; /** * The accessor for writing a text and listening to changes that is used by the * {@link NgModel} directives. * * ### Example * ``` * <MDTextView [(ngModel)]="model.test"></MDTextView> * ``` */ export class TextValueAccessor extends BaseValueAccessor { // tslint:disable-line:directive-class-suffix constructor(elementRef) { super(elementRef.nativeElement); } writeValue(value) { const normalized = super.normalizeValue(value); this.view.text = normalized; } static ɵfac = function TextValueAccessor_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TextValueAccessor)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TextValueAccessor, selectors: [["MDTextView", "ngModel", ""], ["MDTextView", "formControlName", ""], ["MDTextView", "formControl", ""]], hostBindings: function TextValueAccessor_HostBindings(rf, ctx) { if (rf & 1) { i0.ɵɵlistener("blur", function TextValueAccessor_blur_HostBindingHandler() { return ctx.onTouched(); })("textChange", function TextValueAccessor_textChange_HostBindingHandler($event) { return ctx.onChange($event.value); }); } }, features: [i0.ɵɵProvidersFeature([TEXT_VALUE_ACCESSOR]), i0.ɵɵInheritDefinitionFeature] }); } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TextValueAccessor, [{ type: Directive, args: [{ selector: 'MDTextView[ngModel],MDTextView[formControlName],MDTextView[formControl]', providers: [TEXT_VALUE_ACCESSOR], host: { '(blur)': 'onTouched()', '(textChange)': 'onChange($event.value)' } }] }], () => [{ type: i0.ElementRef }], null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dHZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RleHR2aWV3L2FuZ3VsYXIvdGV4dHZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUkxRCxNQUFNLG1CQUFtQixHQUFHO0lBQ3hCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztJQUNoRCxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFJRjs7Ozs7Ozs7R0FRRztBQVNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBMkI7SUFDOUQsNkNBQTZDO0lBQzdDLFlBQVksVUFBc0I7UUFDOUIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDakIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQzsyR0FUUSxpQkFBaUI7NkRBQWpCLGlCQUFpQjtZQUFqQixvRkFBQSxlQUFXLElBQU0seUZBQWpCLDBCQUFzQixJQUFMOzhDQU5mLENBQUMsbUJBQW1CLENBQUM7O2lGQU12QixpQkFBaUI7Y0FSN0IsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSx5RUFBeUU7Z0JBQ25GLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNoQyxJQUFJLEVBQUU7b0JBQ0YsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLGNBQWMsRUFBRSx3QkFBd0I7aUJBQzNDO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFzZVZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2FuZ3VsYXInO1xuaW1wb3J0IHsgVmlldyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQvY29yZSc7XG5cblxuY29uc3QgVEVYVF9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0VmFsdWVBY2Nlc3NvciksXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbmV4cG9ydCB0eXBlIFRleHRWaWV3ID0geyB0ZXh0OiBzdHJpbmcgfSAmIFZpZXc7XG5cbi8qKlxuICogVGhlIGFjY2Vzc29yIGZvciB3cml0aW5nIGEgdGV4dCBhbmQgbGlzdGVuaW5nIHRvIGNoYW5nZXMgdGhhdCBpcyB1c2VkIGJ5IHRoZVxuICoge0BsaW5rIE5nTW9kZWx9IGRpcmVjdGl2ZXMuXG4gKlxuICogICMjIyBFeGFtcGxlXG4gKiAgYGBgXG4gKiAgPE1EVGV4dFZpZXcgWyhuZ01vZGVsKV09XCJtb2RlbC50ZXN0XCI+PC9NRFRleHRWaWV3PlxuICogIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ01EVGV4dFZpZXdbbmdNb2RlbF0sTURUZXh0Vmlld1tmb3JtQ29udHJvbE5hbWVdLE1EVGV4dFZpZXdbZm9ybUNvbnRyb2xdJyxcbiAgICBwcm92aWRlcnM6IFtURVhUX1ZBTFVFX0FDQ0VTU09SXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoYmx1ciknOiAnb25Ub3VjaGVkKCknLFxuICAgICAgICAnKHRleHRDaGFuZ2UpJzogJ29uQ2hhbmdlKCRldmVudC52YWx1ZSknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0VmFsdWVBY2Nlc3NvciBleHRlbmRzIEJhc2VWYWx1ZUFjY2Vzc29yPFRleHRWaWV3PiB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbGluZTpkaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkID0gc3VwZXIubm9ybWFsaXplVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnZpZXcudGV4dCA9IG5vcm1hbGl6ZWQ7XG4gICAgfVxufVxuIl19