angular-chat-widget-rasa
Version:
A chatbot widget that is able to connect to a rasa chatbot using SocketIO
68 lines • 4.11 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, EventEmitter, Input, Output } from '@angular/core';
export class ChatConfigComponent {
constructor() {
this.text = 'Select theme';
this.themeChange = new EventEmitter();
this.themes = ['blue', 'grey', 'red'];
}
/**
* @param {?} theme
* @return {?}
*/
setTheme(theme) {
this.theme = theme;
this.themeChange.emit(this.theme);
}
}
ChatConfigComponent.decorators = [
{ type: Component, args: [{
selector: 'chat-config',
template: `
<div class="chat-config">
{{text}}
<button *ngFor="let item of themes"
class="btn" [class.btn-active]="item === theme"
(click)="setTheme(item)">
{{item}}
</button>
</div>
`,
styles: [`
.chat-config {
padding: 20px;
}
.btn {
padding: 5px;
margin: 0px 2px;
border: 1px solid #dedede;
outline: none;
}
.btn-active {
border: 1px solid #a0a0a0;
}
.btn:focus {
border: 1px solid #333;
}
`]
}] }
];
ChatConfigComponent.propDecorators = {
theme: [{ type: Input }],
text: [{ type: Input }],
themeChange: [{ type: Output }]
};
if (false) {
/** @type {?} */
ChatConfigComponent.prototype.theme;
/** @type {?} */
ChatConfigComponent.prototype.text;
/** @type {?} */
ChatConfigComponent.prototype.themeChange;
/** @type {?} */
ChatConfigComponent.prototype.themes;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1jaGF0LXdpZGdldC1yYXNhLyIsInNvdXJjZXMiOlsibGliL2NoYXQtY29uZmlnL2NoYXQtY29uZmlnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQWdDdEUsTUFBTSxPQUFPLG1CQUFtQjtJQTlCaEM7UUFnQ2tCLFNBQUksR0FBRyxjQUFjLENBQUE7UUFDcEIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUU3RCxXQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBS3pDLENBQUM7Ozs7O0lBSlEsUUFBUSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ25DLENBQUM7OztZQXZDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7eUJBQ1E7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlI7YUFDRjs7O29CQUVFLEtBQUs7bUJBQ0wsS0FBSzswQkFDTCxNQUFNOzs7O0lBRlAsb0NBQTZCOztJQUM3QixtQ0FBcUM7O0lBQ3JDLDBDQUFvRTs7SUFFcEUscUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjaGF0LWNvbmZpZycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImNoYXQtY29uZmlnXCI+XG4gICAgICB7e3RleHR9fVxuICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aGVtZXNcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiIFtjbGFzcy5idG4tYWN0aXZlXT1cIml0ZW0gPT09IHRoZW1lXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFRoZW1lKGl0ZW0pXCI+XG4gICAgICAgIHt7aXRlbX19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5jaGF0LWNvbmZpZyB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbiAgICAuYnRuIHtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIG1hcmdpbjogMHB4IDJweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAuYnRuLWFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYTBhMGEwO1xuICAgIH1cbiAgICAuYnRuOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG4gICAgfVxuICBgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhdENvbmZpZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aGVtZTogc3RyaW5nXG4gIEBJbnB1dCgpIHB1YmxpYyB0ZXh0ID0gJ1NlbGVjdCB0aGVtZSdcbiAgQE91dHB1dCgpIHB1YmxpYyB0aGVtZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBwdWJsaWMgdGhlbWVzID0gWydibHVlJywgJ2dyZXknLCAncmVkJ11cbiAgcHVibGljIHNldFRoZW1lKHRoZW1lKSB7XG4gICAgdGhpcy50aGVtZSA9IHRoZW1lXG4gICAgdGhpcy50aGVtZUNoYW5nZS5lbWl0KHRoaXMudGhlbWUpXG4gIH1cbn1cbiJdfQ==