UNPKG

angular-chat-widget-rasa

Version:

A chatbot widget that is able to connect to a rasa chatbot using SocketIO

99 lines 7.25 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core'; var ChatInputComponent = /** @class */ (function () { function ChatInputComponent() { this.buttonText = '↩︎'; this.focus = new EventEmitter(); this.send = new EventEmitter(); this.dismiss = new EventEmitter(); } /** * @return {?} */ ChatInputComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.focus.subscribe((/** * @return {?} */ function () { return _this.focusMessage(); })); }; /** * @return {?} */ ChatInputComponent.prototype.focusMessage = /** * @return {?} */ function () { this.message.nativeElement.focus(); }; /** * @return {?} */ ChatInputComponent.prototype.getMessage = /** * @return {?} */ function () { return this.message.nativeElement.value; }; /** * @return {?} */ ChatInputComponent.prototype.clearMessage = /** * @return {?} */ function () { this.message.nativeElement.value = ''; }; /** * @return {?} */ ChatInputComponent.prototype.onSubmit = /** * @return {?} */ function () { /** @type {?} */ var message = this.getMessage(); if (message.trim() === '') { return; } this.send.emit({ message: message }); this.clearMessage(); this.focusMessage(); }; ChatInputComponent.decorators = [ { type: Component, args: [{ selector: 'chat-input', template: "\n <textarea type=\"text\" class=\"chat-input-text\" placeholder=\"Type message...\"\n #message (keydown.enter)=\"onSubmit()\" (keyup.enter)=\"message.value = ''\" (keyup.escape)=\"dismiss.emit()\"></textarea>\n <button type=\"submit\" class=\"chat-input-submit\" (click)=\"onSubmit()\">\n {{buttonText}}\n </button>\n ", encapsulation: ViewEncapsulation.None, styles: [".chat-input-text{margin:14px 0 0 14px;height:25px;width:70%;border:0;resize:none;border:none;overflow:auto;outline:0;box-shadow:none;font-size:14px;background-color:inherit;color:inherit}.chat-input-text::-webkit-input-placeholder{color:inherit}.chat-input-text::-moz-placeholder{color:inherit}.chat-input-text::-ms-input-placeholder{color:inherit}.chat-input-submit{margin:14px 12px;float:right;background-color:inherit;color:inherit;font-size:24px;border:0;outline:0}"] }] } ]; ChatInputComponent.propDecorators = { buttonText: [{ type: Input }], focus: [{ type: Input }], send: [{ type: Output }], dismiss: [{ type: Output }], message: [{ type: ViewChild, args: ['message',] }] }; return ChatInputComponent; }()); export { ChatInputComponent }; if (false) { /** @type {?} */ ChatInputComponent.prototype.buttonText; /** @type {?} */ ChatInputComponent.prototype.focus; /** @type {?} */ ChatInputComponent.prototype.send; /** @type {?} */ ChatInputComponent.prototype.dismiss; /** @type {?} */ ChatInputComponent.prototype.message; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWNoYXQtd2lkZ2V0LXJhc2EvIiwic291cmNlcyI6WyJsaWIvY2hhdC1pbnB1dC9jaGF0LWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhIO0lBQUE7UUFha0IsZUFBVSxHQUFHLElBQUksQ0FBQTtRQUNqQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUN6QixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUN6QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQTZCL0MsQ0FBQzs7OztJQTFCQyxxQ0FBUTs7O0lBQVI7UUFBQSxpQkFFQztRQURDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUzs7O1FBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxZQUFZLEVBQUUsRUFBbkIsQ0FBbUIsRUFBQyxDQUFBO0lBQ2pELENBQUM7Ozs7SUFFTSx5Q0FBWTs7O0lBQW5CO1FBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDcEMsQ0FBQzs7OztJQUVNLHVDQUFVOzs7SUFBakI7UUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQTtJQUN6QyxDQUFDOzs7O0lBRU0seUNBQVk7OztJQUFuQjtRQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7SUFDdkMsQ0FBQzs7OztJQUVELHFDQUFROzs7SUFBUjs7WUFDUSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDekIsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLFNBQUEsRUFBRSxDQUFDLENBQUE7UUFDM0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNyQixDQUFDOztnQkEzQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsNlZBTVQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2lCQUV0Qzs7OzZCQUVFLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxNQUFNOzBCQUNOLE1BQU07MEJBQ04sU0FBUyxTQUFDLFNBQVM7O0lBNEJ0Qix5QkFBQztDQUFBLEFBN0NELElBNkNDO1NBakNZLGtCQUFrQjs7O0lBQzdCLHdDQUFpQzs7SUFDakMsbUNBQTBDOztJQUMxQyxrQ0FBMEM7O0lBQzFDLHFDQUE2Qzs7SUFDN0MscUNBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NoYXQtaW5wdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx0ZXh0YXJlYSB0eXBlPVwidGV4dFwiIGNsYXNzPVwiY2hhdC1pbnB1dC10ZXh0XCIgcGxhY2Vob2xkZXI9XCJUeXBlIG1lc3NhZ2UuLi5cIlxuICAgICAgICAgICAgICAjbWVzc2FnZSAoa2V5ZG93bi5lbnRlcik9XCJvblN1Ym1pdCgpXCIgKGtleXVwLmVudGVyKT1cIm1lc3NhZ2UudmFsdWUgPSAnJ1wiIChrZXl1cC5lc2NhcGUpPVwiZGlzbWlzcy5lbWl0KClcIj48L3RleHRhcmVhPlxuICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiY2hhdC1pbnB1dC1zdWJtaXRcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiPlxuICAgICAge3tidXR0b25UZXh0fX1cbiAgICA8L2J1dHRvbj5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhdC1pbnB1dC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENoYXRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBidXR0b25UZXh0ID0gJ+KGqe+4jidcbiAgQElucHV0KCkgcHVibGljIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VuZCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgcHVibGljIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQFZpZXdDaGlsZCgnbWVzc2FnZScpIG1lc3NhZ2U6IEVsZW1lbnRSZWZcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvY3VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmZvY3VzTWVzc2FnZSgpKVxuICB9XG5cbiAgcHVibGljIGZvY3VzTWVzc2FnZSgpIHtcbiAgICB0aGlzLm1lc3NhZ2UubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBwdWJsaWMgZ2V0TWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlLm5hdGl2ZUVsZW1lbnQudmFsdWVcbiAgfVxuXG4gIHB1YmxpYyBjbGVhck1lc3NhZ2UoKSB7XG4gICAgdGhpcy5tZXNzYWdlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJ1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuZ2V0TWVzc2FnZSgpXG4gICAgaWYgKG1lc3NhZ2UudHJpbSgpID09PSAnJykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuc2VuZC5lbWl0KHsgbWVzc2FnZSB9KVxuICAgIHRoaXMuY2xlYXJNZXNzYWdlKClcbiAgICB0aGlzLmZvY3VzTWVzc2FnZSgpXG4gIH1cblxufVxuIl19