UNPKG

ng-voice-inputs

Version:

This library provides Voice Recognition service to fill the form input fields (text, datepicker, textarea, button-click) for Angular application.

100 lines 6.68 kB
/** * @fileoverview added by tsickle * Generated from: lib/vui-input.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, ElementRef, Input } from '@angular/core'; import * as moment_ from 'moment/moment'; /** @type {?} */ const moment = moment_; import { VuiVoiceRecognitionService } from './ng-voice-inputs.service'; /** @type {?} */ const DEFAULT_OPTS = { type: 'text', format: 'DD/MM/YYYY' } /** * Options for VuiInput directive * @param type Data type for input. Possible values are: 'text', 'address', 'date', 'number'. Default: 'text' * @param format (Optional) Date format for datepicker input. eg, 'MM/DD/YYYY'. Default: 'DD/MM/YYYY'. */ ; /** * Options for VuiInput directive * @param type Data type for input. Possible values are: 'text', 'address', 'date', 'number'. Default: 'text' * @param format (Optional) Date format for datepicker input. eg, 'MM/DD/YYYY'. Default: 'DD/MM/YYYY'. */ class Options { } if (false) { /** @type {?} */ Options.prototype.type; /** @type {?} */ Options.prototype.format; } export class VuiInputDirective { /** * @param {?} vuiService * @param {?} el */ constructor(vuiService, el) { this.vuiService = vuiService; this.el = el; this.el.nativeElement.setAttribute('vui-ref', this.vuiService.inputRefs.length); this.vuiService.inputRefs.push(this.el); this.el.nativeElement.addEventListener('focus', (/** * @param {?} evt * @return {?} */ (evt) => { this.vuiService.currentRef = parseInt(evt.target.getAttribute('vui-ref')); })); } /** * @return {?} */ ngOnInit() { this.options = Object.assign({}, DEFAULT_OPTS, this.options); this.el['options'] = this.options; } /** * @param {?} date * @return {?} */ formatDate(date) { return moment(date).format(this.options.format); } } VuiInputDirective.decorators = [ { type: Directive, args: [{ selector: '[vuiInput]' },] } ]; /** @nocollapse */ VuiInputDirective.ctorParameters = () => [ { type: VuiVoiceRecognitionService }, { type: ElementRef } ]; VuiInputDirective.propDecorators = { options: [{ type: Input, args: ['vuiInput',] }] }; if (false) { /** * Options for vui input field * type: 'text', 'address', 'date', 'number' * format: 'DD/MM/YYYY' * @type {?} */ VuiInputDirective.prototype.options; /** * @type {?} * @private */ VuiInputDirective.prototype.vuiService; /** * @type {?} * @private */ VuiInputDirective.prototype.el; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnVpLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXZvaWNlLWlucHV0cy8iLCJzb3VyY2VzIjpbImxpYi92dWktaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDOztNQUNuQyxNQUFNLEdBQUcsT0FBTztBQUN0QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7TUFFakUsWUFBWSxHQUFHO0lBQ25CLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFlBQVk7Q0FDckI7QUFFRDs7OztHQUlHOzs7Ozs7O0FBQ0gsTUFBTSxPQUFPO0NBR1o7OztJQUZDLHVCQUFhOztJQUNiLHlCQUFnQjs7QUFNbEIsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7SUFVNUIsWUFBb0IsVUFBc0MsRUFDdEMsRUFBYztRQURkLGVBQVUsR0FBVixVQUFVLENBQTRCO1FBQ3RDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDaEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVoRixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE9BQU87Ozs7UUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxxQkFBUSxZQUFZLEVBQUssSUFBSSxDQUFDLE9BQU8sQ0FBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNwQyxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxJQUFVO1FBQ25CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7OztZQS9CRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7YUFDdkI7Ozs7WUFuQlEsMEJBQTBCO1lBSGYsVUFBVTs7O3NCQThCM0IsS0FBSyxTQUFDLFVBQVU7Ozs7Ozs7OztJQUFqQixvQ0FDaUI7Ozs7O0lBRUwsdUNBQThDOzs7OztJQUM5QywrQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50L21vbWVudCc7XG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xuaW1wb3J0IHsgVnVpVm9pY2VSZWNvZ25pdGlvblNlcnZpY2UgfSBmcm9tICcuL25nLXZvaWNlLWlucHV0cy5zZXJ2aWNlJztcblxuY29uc3QgREVGQVVMVF9PUFRTID0ge1xuICB0eXBlOiAndGV4dCcsXG4gIGZvcm1hdDogJ0REL01NL1lZWVknXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgVnVpSW5wdXQgZGlyZWN0aXZlXG4gKiBAcGFyYW0gdHlwZSBEYXRhIHR5cGUgZm9yIGlucHV0LiBQb3NzaWJsZSB2YWx1ZXMgYXJlOiAndGV4dCcsICdhZGRyZXNzJywgJ2RhdGUnLCAnbnVtYmVyJy4gRGVmYXVsdDogJ3RleHQnXG4gKiBAcGFyYW0gZm9ybWF0IChPcHRpb25hbCkgRGF0ZSBmb3JtYXQgZm9yIGRhdGVwaWNrZXIgaW5wdXQuIGVnLCAnTU0vREQvWVlZWScuIERlZmF1bHQ6ICdERC9NTS9ZWVlZJy5cbiAqL1xuY2xhc3MgT3B0aW9ucyB7XG4gIHR5cGU6IHN0cmluZztcbiAgZm9ybWF0Pzogc3RyaW5nO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdnVpSW5wdXRdJ1xufSlcbmV4cG9ydCBjbGFzcyBWdWlJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHZ1aSBpbnB1dCBmaWVsZFxuICAgKiB0eXBlOiAndGV4dCcsICdhZGRyZXNzJywgJ2RhdGUnLCAnbnVtYmVyJ1xuICAgKiBmb3JtYXQ6ICdERC9NTS9ZWVlZJ1xuICAgKi9cbiAgQElucHV0KCd2dWlJbnB1dCcpXG4gIG9wdGlvbnM6IE9wdGlvbnM7IFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdnVpU2VydmljZTogVnVpVm9pY2VSZWNvZ25pdGlvblNlcnZpY2UsIFxuICAgICAgICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IFxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3Z1aS1yZWYnLCB0aGlzLnZ1aVNlcnZpY2UuaW5wdXRSZWZzLmxlbmd0aCk7XG4gICAgXG4gICAgdGhpcy52dWlTZXJ2aWNlLmlucHV0UmVmcy5wdXNoKHRoaXMuZWwpO1xuXG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKGV2dCkgPT4ge1xuICAgICAgdGhpcy52dWlTZXJ2aWNlLmN1cnJlbnRSZWYgPSBwYXJzZUludChldnQudGFyZ2V0LmdldEF0dHJpYnV0ZSgndnVpLXJlZicpKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uREVGQVVMVF9PUFRTLCAuLi50aGlzLm9wdGlvbnMgfTtcbiAgICB0aGlzLmVsWydvcHRpb25zJ10gPSB0aGlzLm9wdGlvbnM7XG4gIH1cblxuICBmb3JtYXREYXRlKGRhdGU6IERhdGUpIHtcbiAgICByZXR1cm4gbW9tZW50KGRhdGUpLmZvcm1hdCh0aGlzLm9wdGlvbnMuZm9ybWF0KTtcbiAgfVxuXG59XG4iXX0=