@nativescript-community/ui-material-textview
Version:
Material Design Text views allow users to input text into your app.
44 lines • 5.17 kB
JavaScript
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