@datarailsshared/datarailsshared 1.4.94-dragons → 1.4.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/datarailsshared-datarailsshared.umd.js +19 -541
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
- package/datarailsshared-datarailsshared-1.4.95.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +0 -8
- package/datarailsshared-datarailsshared.metadata.json +1 -1
- package/esm2015/datarailsshared-datarailsshared.js +1 -9
- package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +2 -2
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +2 -2
- package/esm2015/public-api.js +1 -3
- package/fesm2015/datarailsshared-datarailsshared.js +16 -466
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -2
- package/datarailsshared-datarailsshared-1.4.94-dragons.tgz +0 -0
- package/esm2015/lib/dr-chat/chat.component.js +0 -58
- package/esm2015/lib/dr-chat/chat.module.js +0 -37
- package/esm2015/lib/dr-chat/dr-chat-form/chat-form.component.js +0 -128
- package/esm2015/lib/dr-chat/dr-chat-message/chat-message.component.js +0 -70
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js +0 -49
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js +0 -23
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js +0 -46
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component.js +0 -18
- package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js +0 -18
- package/esm2015/lib/models/chat.js +0 -32
- package/lib/dr-chat/chat.component.d.ts +0 -21
- package/lib/dr-chat/chat.module.d.ts +0 -2
- package/lib/dr-chat/dr-chat-form/chat-form.component.d.ts +0 -56
- package/lib/dr-chat/dr-chat-message/chat-message.component.d.ts +0 -38
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.d.ts +0 -18
- package/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.d.ts +0 -11
- package/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.d.ts +0 -25
- package/lib/dr-chat/dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component.d.ts +0 -12
- package/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.d.ts +0 -12
- package/lib/models/chat.d.ts +0 -105
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -52,7 +52,6 @@ export { ISpinnerOptions, SpinnerType, SpinnerSize } from './lib/models/spinnerO
|
|
|
52
52
|
export { ElPosition, IDropdown, IDropdownItem, IDropdownActionIcon, IDropdownCoordinate, IDropdownCallEvent, IDropdownAction } from './lib/models/dropdown';
|
|
53
53
|
export { DrPopoverRef, IDrPopoverComponentModel, Point, DrPopoverConfig, IPopoverManualClosing, DrPopoverAlignment, DrPopoverAlignmentDimension, } from './lib/models/popover';
|
|
54
54
|
export { IValidationError } from './lib/models/validationError';
|
|
55
|
-
export * from './lib/models/chat';
|
|
56
55
|
export { DateTagModule } from './lib/date-tags/date-tag.module';
|
|
57
56
|
export { ListTagModule } from './lib/list-tags/list-tag.module';
|
|
58
57
|
export { DrTagModule } from './lib/dr-tags/dr-tag.module';
|
|
@@ -69,4 +68,3 @@ export { DrLayoutModule } from './lib/dr-layout/dr-layout.module';
|
|
|
69
68
|
export { DrErrorModule } from './lib/dr-error/dr-error.module';
|
|
70
69
|
export { DrStepperModule } from './lib/stepper/stepper.module';
|
|
71
70
|
export { DrDialogModule } from './lib/dr-dialog/dialog.module';
|
|
72
|
-
export { DrChatModule } from './lib/dr-chat/chat.module';
|
|
Binary file
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild, ContentChildren, ContentChild, ChangeDetectorRef, } from '@angular/core';
|
|
2
|
-
import { DrChatFormComponent } from './dr-chat-form/chat-form.component';
|
|
3
|
-
import { DrChatMessageComponent } from './dr-chat-message/chat-message.component';
|
|
4
|
-
import { DrChatCustomMessageService } from './dr-chat-message/dr-chat-message-custom/chat-custom-message.service';
|
|
5
|
-
export class DrChatComponent {
|
|
6
|
-
constructor(cdr) {
|
|
7
|
-
this.cdr = cdr;
|
|
8
|
-
this.noMessagesPlaceholder = 'No messages yet.';
|
|
9
|
-
this._scrollBottom = true;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Scroll chat to the bottom of the list when a new message arrives
|
|
13
|
-
*/
|
|
14
|
-
get scrollBottom() {
|
|
15
|
-
return this._scrollBottom;
|
|
16
|
-
}
|
|
17
|
-
set scrollBottom(value) {
|
|
18
|
-
this._scrollBottom = !!value;
|
|
19
|
-
}
|
|
20
|
-
ngAfterViewInit() {
|
|
21
|
-
this.messages.changes.subscribe(messages => {
|
|
22
|
-
this.messages = messages;
|
|
23
|
-
this.updateView();
|
|
24
|
-
});
|
|
25
|
-
this.updateView();
|
|
26
|
-
}
|
|
27
|
-
updateView() {
|
|
28
|
-
if (this.scrollBottom) {
|
|
29
|
-
this.scrollListBottom();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
scrollListBottom() {
|
|
33
|
-
setTimeout(() => {
|
|
34
|
-
this.messagesContainer.nativeElement.scrollTo({ top: this.messagesContainer.nativeElement.scrollHeight, behavior: 'smooth' });
|
|
35
|
-
this.cdr.markForCheck();
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
DrChatComponent.decorators = [
|
|
40
|
-
{ type: Component, args: [{
|
|
41
|
-
selector: 'dr-chat',
|
|
42
|
-
template: "<div class=\"header\">\n {{ title }}\n</div>\n\n<div class=\"scrollable\">\n <div class=\"messages\" #messagesContainer>\n <ng-content select=\"dr-chat-message\"></ng-content>\n <p class=\"no-messages\" *ngIf=\"!messages?.length\">{{ noMessagesPlaceholder }}</p>\n </div>\n</div>\n\n<div class=\"form\">\n <ng-content select=\"dr-chat-form\"></ng-content>\n</div>\n",
|
|
43
|
-
providers: [DrChatCustomMessageService],
|
|
44
|
-
styles: [":host{display:flex;flex-grow:1;flex-direction:column;position:relative;height:100%;background-color:#fff;border:1px solid #e5e6ea;border-radius:8px;box-shadow:0 4px 8px 1px #00000040;color:#151b3f;font-family:\"Poppins\",sans-serif;font-size:14px;font-weight:400;line-height:22px}:host .header{border-bottom:1px solid #e5e6ea;padding:16px 32px;font-weight:bold}:host .scrollable{display:flex;flex-grow:1;overflow-x:hidden;overflow-y:auto;height:100%;width:100%}:host .scrollable .messages{padding:16px;overflow-y:auto;overflow-x:hidden;display:flex;flex-shrink:0;flex-direction:column;width:100%}:host .scrollable .no-messages{text-align:center}\n"]
|
|
45
|
-
},] }
|
|
46
|
-
];
|
|
47
|
-
DrChatComponent.ctorParameters = () => [
|
|
48
|
-
{ type: ChangeDetectorRef }
|
|
49
|
-
];
|
|
50
|
-
DrChatComponent.propDecorators = {
|
|
51
|
-
title: [{ type: Input }],
|
|
52
|
-
noMessagesPlaceholder: [{ type: Input }],
|
|
53
|
-
scrollBottom: [{ type: Input }],
|
|
54
|
-
messagesContainer: [{ type: ViewChild, args: ['messagesContainer',] }],
|
|
55
|
-
messages: [{ type: ContentChildren, args: [DrChatMessageComponent,] }],
|
|
56
|
-
chatForm: [{ type: ContentChild, args: [DrChatFormComponent,] }]
|
|
57
|
-
};
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFFVCxlQUFlLEVBR2YsWUFBWSxFQUNaLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQVFsSCxNQUFNLE9BQU8sZUFBZTtJQXVCeEIsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFwQmpDLDBCQUFxQixHQUFHLGtCQUFrQixDQUFDO1FBYzFDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO0lBTy9CLENBQUM7SUFuQkQ7O09BRUc7SUFDSCxJQUNJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFXRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDOUgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OztZQXBESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFNBQVM7Z0JBRW5CLG1aQUFrQztnQkFDbEMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7O2FBQzFDOzs7WUFaRyxpQkFBaUI7OztvQkFjaEIsS0FBSztvQ0FFTCxLQUFLOzJCQUtMLEtBQUs7Z0NBV0wsU0FBUyxTQUFDLG1CQUFtQjt1QkFDN0IsZUFBZSxTQUFDLHNCQUFzQjt1QkFDdEMsWUFBWSxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBRdWVyeUxpc3QsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEckNoYXRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LWZvcm0vY2hhdC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1jaGF0JyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIG5vTWVzc2FnZXNQbGFjZWhvbGRlciA9ICdObyBtZXNzYWdlcyB5ZXQuJztcblxuICAgIC8qKlxuICAgICAqIFNjcm9sbCBjaGF0IHRvIHRoZSBib3R0b20gb2YgdGhlIGxpc3Qgd2hlbiBhIG5ldyBtZXNzYWdlIGFycml2ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBzY3JvbGxCb3R0b20oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxCb3R0b207XG4gICAgfVxuXG4gICAgc2V0IHNjcm9sbEJvdHRvbSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zY3JvbGxCb3R0b20gPSAhIXZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2Nyb2xsQm90dG9tID0gdHJ1ZTtcblxuICAgIEBWaWV3Q2hpbGQoJ21lc3NhZ2VzQ29udGFpbmVyJykgbWVzc2FnZXNDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gICAgQENvbnRlbnRDaGlsZHJlbihEckNoYXRNZXNzYWdlQ29tcG9uZW50KSBtZXNzYWdlczogUXVlcnlMaXN0PERyQ2hhdE1lc3NhZ2VDb21wb25lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGQoRHJDaGF0Rm9ybUNvbXBvbmVudCkgY2hhdEZvcm06IERyQ2hhdEZvcm1Db21wb25lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXMuY2hhbmdlcy5zdWJzY3JpYmUobWVzc2FnZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmlldygpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpZXcoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEJvdHRvbSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxMaXN0Qm90dG9tKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzY3JvbGxMaXN0Qm90dG9tKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7IHRvcDogdGhpcy5tZXNzYWdlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { DrInputsModule } from '../dr-inputs/dr-inputs.module';
|
|
3
|
-
import { DrAvatarModule } from '../dr-avatar/dr-avatar.module';
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { CommonModule } from '@angular/common';
|
|
6
|
-
import { DrChatComponent } from './chat.component';
|
|
7
|
-
import { DrChatMessageComponent } from './dr-chat-message/chat-message.component';
|
|
8
|
-
import { DrChatFormComponent } from './dr-chat-form/chat-form.component';
|
|
9
|
-
import { DrChatMessageTextComponent } from './dr-chat-message/dr-chat-message-text/chat-message-text.component';
|
|
10
|
-
import { DrChatMessageRichTextComponent } from './dr-chat-message/dr-chat-message-rich-text/chat-message-rich-text.component';
|
|
11
|
-
import { DrChatMessageFileComponent } from './dr-chat-message/dr-chat-message-file/chat-message-file.component';
|
|
12
|
-
import { DrChatCustomMessageDirective } from './dr-chat-message/dr-chat-message-custom/chat-custom-message.directive';
|
|
13
|
-
const DR_CHAT_COMPONENTS = [
|
|
14
|
-
DrChatComponent,
|
|
15
|
-
DrChatMessageComponent,
|
|
16
|
-
DrChatFormComponent,
|
|
17
|
-
DrChatMessageTextComponent,
|
|
18
|
-
DrChatMessageFileComponent,
|
|
19
|
-
DrChatMessageRichTextComponent,
|
|
20
|
-
];
|
|
21
|
-
const DR_CHAT_DIRECTIVES = [DrChatCustomMessageDirective];
|
|
22
|
-
export class DrChatModule {
|
|
23
|
-
}
|
|
24
|
-
DrChatModule.decorators = [
|
|
25
|
-
{ type: NgModule, args: [{
|
|
26
|
-
imports: [
|
|
27
|
-
FormsModule,
|
|
28
|
-
ReactiveFormsModule,
|
|
29
|
-
CommonModule,
|
|
30
|
-
DrAvatarModule,
|
|
31
|
-
DrInputsModule
|
|
32
|
-
],
|
|
33
|
-
declarations: [...DR_CHAT_COMPONENTS, ...DR_CHAT_DIRECTIVES],
|
|
34
|
-
exports: [...DR_CHAT_COMPONENTS, ...DR_CHAT_DIRECTIVES],
|
|
35
|
-
},] }
|
|
36
|
-
];
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2NoYXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUd0SCxNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsOEJBQThCO0NBQ2pDLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQWMxRCxNQUFNLE9BQU8sWUFBWTs7O1lBWHhCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxjQUFjO2lCQUNqQjtnQkFDRCxZQUFZLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsa0JBQWtCLENBQUM7Z0JBQzVELE9BQU8sRUFBRSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQzthQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmltcG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi4vZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBEckNoYXRDb21wb25lbnQgfSBmcm9tICcuL2NoYXQuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtZm9ybS9jaGF0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdE1lc3NhZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLXRleHQvY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IERyQ2hhdE1lc3NhZ2VSaWNoVGV4dENvbXBvbmVudCB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1yaWNoLXRleHQvY2hhdC1tZXNzYWdlLXJpY2gtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0TWVzc2FnZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJDaGF0Q3VzdG9tTWVzc2FnZURpcmVjdGl2ZSB9IGZyb20gJy4vZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUnO1xuXG5cbmNvbnN0IERSX0NIQVRfQ09NUE9ORU5UUyA9IFtcbiAgICBEckNoYXRDb21wb25lbnQsXG4gICAgRHJDaGF0TWVzc2FnZUNvbXBvbmVudCxcbiAgICBEckNoYXRGb3JtQ29tcG9uZW50LFxuICAgIERyQ2hhdE1lc3NhZ2VUZXh0Q29tcG9uZW50LFxuICAgIERyQ2hhdE1lc3NhZ2VGaWxlQ29tcG9uZW50LFxuICAgIERyQ2hhdE1lc3NhZ2VSaWNoVGV4dENvbXBvbmVudCxcbl07XG5cbmNvbnN0IERSX0NIQVRfRElSRUNUSVZFUyA9IFtEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlXTtcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRHJBdmF0YXJNb2R1bGUsXG4gICAgICAgIERySW5wdXRzTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5EUl9DSEFUX0NPTVBPTkVOVFMsIC4uLkRSX0NIQVRfRElSRUNUSVZFU10sXG4gICAgZXhwb3J0czogWy4uLkRSX0NIQVRfQ09NUE9ORU5UUywgLi4uRFJfQ0hBVF9ESVJFQ1RJVkVTXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJDaGF0TW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, Input, Output, } from '@angular/core';
|
|
2
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
-
export class DrChatFormComponent {
|
|
4
|
-
constructor(cdr, domSanitizer) {
|
|
5
|
-
this.cdr = cdr;
|
|
6
|
-
this.domSanitizer = domSanitizer;
|
|
7
|
-
this.inputFocus = false;
|
|
8
|
-
this.inputHover = false;
|
|
9
|
-
this.droppedFiles = [];
|
|
10
|
-
this.imgDropTypes = ['image/png', 'image/jpeg', 'image/gif'];
|
|
11
|
-
/**
|
|
12
|
-
* Predefined message text
|
|
13
|
-
*
|
|
14
|
-
* @type {string}
|
|
15
|
-
*/
|
|
16
|
-
this.message = '';
|
|
17
|
-
/**
|
|
18
|
-
* Message placeholder text
|
|
19
|
-
*
|
|
20
|
-
* @type {string}
|
|
21
|
-
*/
|
|
22
|
-
this.messagePlaceholder = 'Type a message';
|
|
23
|
-
/**
|
|
24
|
-
* Show send button
|
|
25
|
-
*
|
|
26
|
-
* @type {boolean}
|
|
27
|
-
*/
|
|
28
|
-
this.dropFiles = false;
|
|
29
|
-
/**
|
|
30
|
-
* File drop placeholder text
|
|
31
|
-
*
|
|
32
|
-
* @type {string}
|
|
33
|
-
*/
|
|
34
|
-
this.dropFilePlaceholder = 'Drop file to send';
|
|
35
|
-
/**
|
|
36
|
-
*
|
|
37
|
-
* @type {EventEmitter<{ message: string, files: File[] }>}
|
|
38
|
-
*/
|
|
39
|
-
this.send = new EventEmitter();
|
|
40
|
-
/**
|
|
41
|
-
* Emits when message input value has been changed
|
|
42
|
-
*
|
|
43
|
-
* @type {EventEmitter<string>}
|
|
44
|
-
*/
|
|
45
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
|
46
|
-
this.onInputChange = new EventEmitter();
|
|
47
|
-
this.fileOver = false;
|
|
48
|
-
}
|
|
49
|
-
onDrop(event) {
|
|
50
|
-
var _a;
|
|
51
|
-
if (this.dropFiles) {
|
|
52
|
-
event.preventDefault();
|
|
53
|
-
event.stopPropagation();
|
|
54
|
-
this.fileOver = false;
|
|
55
|
-
if ((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.files) {
|
|
56
|
-
for (const file of event.dataTransfer.files) {
|
|
57
|
-
const res = file;
|
|
58
|
-
if (this.imgDropTypes.includes(file.type)) {
|
|
59
|
-
const fr = new FileReader();
|
|
60
|
-
fr.onload = (e) => {
|
|
61
|
-
res.src = e.target.result;
|
|
62
|
-
res.urlStyle = this.domSanitizer.bypassSecurityTrustStyle(`url(${res.src})`);
|
|
63
|
-
this.cdr.detectChanges();
|
|
64
|
-
};
|
|
65
|
-
fr.readAsDataURL(file);
|
|
66
|
-
}
|
|
67
|
-
this.droppedFiles.push(res);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
removeFile(file) {
|
|
73
|
-
const index = this.droppedFiles.indexOf(file);
|
|
74
|
-
if (index >= 0) {
|
|
75
|
-
this.droppedFiles.splice(index, 1);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
onDragOver(event) {
|
|
79
|
-
event.preventDefault();
|
|
80
|
-
event.stopPropagation();
|
|
81
|
-
if (this.dropFiles) {
|
|
82
|
-
this.fileOver = true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
onDragLeave(event) {
|
|
86
|
-
event.preventDefault();
|
|
87
|
-
event.stopPropagation();
|
|
88
|
-
if (this.dropFiles) {
|
|
89
|
-
this.fileOver = false;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
sendMessage() {
|
|
93
|
-
if (this.droppedFiles.length || String(this.message).trim().length) {
|
|
94
|
-
this.send.emit({ message: this.message, files: this.droppedFiles });
|
|
95
|
-
this.message = '';
|
|
96
|
-
this.droppedFiles = [];
|
|
97
|
-
this.cdr.markForCheck();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
onModelChange(value) {
|
|
101
|
-
this.onInputChange.emit(value);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
DrChatFormComponent.decorators = [
|
|
105
|
-
{ type: Component, args: [{
|
|
106
|
-
selector: 'dr-chat-form',
|
|
107
|
-
template: "<div class=\"dropped-files\" *ngIf=\"droppedFiles?.length\">\n <div class=\"dropped-files__item\" *ngFor=\"let file of droppedFiles\">\n <div class=\"dropped-files__item__preview\" [style.background-image]=\"file.urlStyle || 'none'\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle\"></i>\n </div>\n <div class=\"dropped-files__item__name\">{{ file.name }}</div>\n <i class=\"dropped-files__item__remove dr-icon-exit\" (click)=\"removeFile(file)\"></i>\n </div>\n</div>\n<div class=\"message-row\">\n <dr-input (focus)=\"inputFocus = true\"\n (blur)=\"inputFocus = false\"\n (mouseenter)=\"inputHover = true\"\n (mouseleave)=\"inputHover = false\"\n [(ngModel)]=\"message\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"text\"\n placeholder=\"{{ fileOver ? dropFilePlaceholder : messagePlaceholder }}\"\n (keyup.enter)=\"sendMessage()\">\n </dr-input>\n <dr-button (click)=\"sendMessage()\"\n theme=\"icon\"\n icon=\"dr-icon-notify\"\n class=\"send-button\">\n </dr-button>\n</div>\n",
|
|
108
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
109
|
-
styles: [":host{display:flex;flex-direction:column;padding:16px;border-top:1px solid #ccc}:host .message-row{flex-direction:row;display:flex;align-items:center}:host input{flex:1}:host input.with-button{border-bottom-right-radius:0;border-top-right-radius:0}:host .send-button{margin-left:10px}:host .dropped-files{display:flex;flex-direction:row;margin-bottom:.5rem;flex-wrap:wrap}:host .dropped-files__item{display:flex;flex-direction:column;justify-content:center;margin:0 10px 10px 0;position:relative}:host .dropped-files__item__preview{background-size:cover;background-position:center;width:64px;height:64px;border-radius:8px;border:1px solid #ccc}:host .dropped-files__item__preview i{font-size:62px}:host .dropped-files__item__name{white-space:nowrap;font-size:12px;color:#8f929e;margin-top:4px;max-width:64px;overflow:hidden;text-overflow:ellipsis}:host .dropped-files__item__remove{position:absolute;right:-4px;top:-4px;cursor:pointer;background:white;border-radius:12px;color:#8f929e;border:1px solid #8f929e;font-size:14px}\n"]
|
|
110
|
-
},] }
|
|
111
|
-
];
|
|
112
|
-
DrChatFormComponent.ctorParameters = () => [
|
|
113
|
-
{ type: ChangeDetectorRef },
|
|
114
|
-
{ type: DomSanitizer }
|
|
115
|
-
];
|
|
116
|
-
DrChatFormComponent.propDecorators = {
|
|
117
|
-
message: [{ type: Input }],
|
|
118
|
-
messagePlaceholder: [{ type: Input }],
|
|
119
|
-
dropFiles: [{ type: Input }],
|
|
120
|
-
dropFilePlaceholder: [{ type: Input }],
|
|
121
|
-
send: [{ type: Output }],
|
|
122
|
-
onInputChange: [{ type: Output }],
|
|
123
|
-
fileOver: [{ type: HostBinding, args: ['class.file-over',] }],
|
|
124
|
-
onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }],
|
|
125
|
-
onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
|
|
126
|
-
onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }]
|
|
127
|
-
};
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUXpELE1BQU0sT0FBTyxtQkFBbUI7SUFvRDVCLFlBQXNCLEdBQXNCLEVBQVksWUFBMEI7UUFBNUQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBWSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQW5EbEYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRXhEOzs7O1dBSUc7UUFDTSxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRXRCOzs7O1dBSUc7UUFDTSx1QkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUUvQzs7OztXQUlHO1FBQ00sY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQjs7OztXQUlHO1FBQ00sd0JBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFFbkQ7OztXQUdHO1FBQ08sU0FBSSxHQUFHLElBQUksWUFBWSxFQUFzQyxDQUFDO1FBRXhFOzs7O1dBSUc7UUFFSCwrREFBK0Q7UUFDckQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXJCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFHakQsQ0FBQztJQUdELE1BQU0sQ0FBQyxLQUFVOztRQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXhCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksTUFBQSxLQUFLLENBQUMsWUFBWSwwQ0FBRSxLQUFLLEVBQUU7Z0JBQzNCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7b0JBQ3pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztvQkFFakIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ3ZDLE1BQU0sRUFBRSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7d0JBQzVCLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTs0QkFDbkIsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQzs0QkFDMUIsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLE9BQVEsR0FBRyxDQUFDLEdBQUksR0FBRyxDQUFDLENBQUM7NEJBQy9FLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQzdCLENBQUMsQ0FBQzt3QkFFRixFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO3FCQUMxQjtvQkFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDL0I7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFJO1FBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQztJQUdELFVBQVUsQ0FBQyxLQUFnQjtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFHRCxXQUFXLENBQUMsS0FBZ0I7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzs7WUE1SEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxjQUFjO2dCQUN4Qix5ckNBQXVDO2dCQUV2QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQWZHLGlCQUFpQjtZQVFaLFlBQVk7OztzQkFvQmhCLEtBQUs7aUNBT0wsS0FBSzt3QkFPTCxLQUFLO2tDQU9MLEtBQUs7bUJBTUwsTUFBTTs0QkFTTixNQUFNO3VCQUVOLFdBQVcsU0FBQyxpQkFBaUI7cUJBSzdCLFlBQVksU0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7eUJBa0MvQixZQUFZLFNBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDOzBCQVNuQyxZQUFZLFNBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoYXQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdEZvcm1Db21wb25lbnQge1xuICAgIGlucHV0Rm9jdXMgPSBmYWxzZTtcbiAgICBpbnB1dEhvdmVyID0gZmFsc2U7XG5cbiAgICBkcm9wcGVkRmlsZXM6IGFueVtdID0gW107XG4gICAgaW1nRHJvcFR5cGVzID0gWydpbWFnZS9wbmcnLCAnaW1hZ2UvanBlZycsICdpbWFnZS9naWYnXTtcblxuICAgIC8qKlxuICAgICAqIFByZWRlZmluZWQgbWVzc2FnZSB0ZXh0XG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2UgPSAnJztcblxuICAgIC8qKlxuICAgICAqIE1lc3NhZ2UgcGxhY2Vob2xkZXIgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlUGxhY2Vob2xkZXIgPSAnVHlwZSBhIG1lc3NhZ2UnO1xuXG4gICAgLyoqXG4gICAgICogU2hvdyBzZW5kIGJ1dHRvblxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcEZpbGVzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBGaWxlIGRyb3AgcGxhY2Vob2xkZXIgdGV4dFxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wRmlsZVBsYWNlaG9sZGVyID0gJ0Ryb3AgZmlsZSB0byBzZW5kJztcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHR5cGUge0V2ZW50RW1pdHRlcjx7IG1lc3NhZ2U6IHN0cmluZywgZmlsZXM6IEZpbGVbXSB9Pn1cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgc2VuZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtZXNzYWdlOiBzdHJpbmc7IGZpbGVzOiBGaWxlW10gfT4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gbWVzc2FnZSBpbnB1dCB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkXG4gICAgICpcbiAgICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPHN0cmluZz59XG4gICAgICovXG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25JbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maWxlLW92ZXInKSBmaWxlT3ZlciA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICAgIG9uRHJvcChldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmRyb3BGaWxlcykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gZmlsZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pbWdEcm9wVHlwZXMuaW5jbHVkZXMoZmlsZS50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZnIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZnIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5zcmMgPSBlLnRhcmdldC5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLnVybFN0eWxlID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKGB1cmwoJHsgcmVzLnNyYyB9KWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wcGVkRmlsZXMucHVzaChyZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUZpbGUoZmlsZSkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZHJvcHBlZEZpbGVzLmluZGV4T2YoZmlsZSk7XG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICAgIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMuZHJvcEZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZW5kTWVzc2FnZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcHBlZEZpbGVzLmxlbmd0aCB8fCBTdHJpbmcodGhpcy5tZXNzYWdlKS50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNlbmQuZW1pdCh7IG1lc3NhZ2U6IHRoaXMubWVzc2FnZSwgZmlsZXM6IHRoaXMuZHJvcHBlZEZpbGVzIH0pO1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gJyc7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWRGaWxlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbklucHV0Q2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
3
|
-
import { CHAT_MESSAGE_TYPE } from '../../models/chat';
|
|
4
|
-
import { DrChatCustomMessageService } from './dr-chat-message-custom/chat-custom-message.service';
|
|
5
|
-
export class DrChatMessageComponent {
|
|
6
|
-
constructor(customMessageService) {
|
|
7
|
-
this.customMessageService = customMessageService;
|
|
8
|
-
this.MESSAGE_TYPE = CHAT_MESSAGE_TYPE;
|
|
9
|
-
this.MESSAGE_TYPE_CUSTOM = CHAT_MESSAGE_TYPE.EMBED;
|
|
10
|
-
this._reply = false;
|
|
11
|
-
}
|
|
12
|
-
get flyInOut() {
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
get notReply() {
|
|
16
|
-
return !this.reply;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Determines if a message is a reply
|
|
20
|
-
*/
|
|
21
|
-
get reply() {
|
|
22
|
-
return this._reply;
|
|
23
|
-
}
|
|
24
|
-
set reply(value) {
|
|
25
|
-
this._reply = !!value;
|
|
26
|
-
}
|
|
27
|
-
_getTemplate() {
|
|
28
|
-
this.customMessage = true;
|
|
29
|
-
const customMessage = this.getCustomMessage(this.type);
|
|
30
|
-
return customMessage.templateRef;
|
|
31
|
-
}
|
|
32
|
-
_getTemplateContext() {
|
|
33
|
-
return { $implicit: this.customMessageData, isReply: this.reply };
|
|
34
|
-
}
|
|
35
|
-
getCustomMessage(type) {
|
|
36
|
-
const customMessageDirective = this.customMessageService.getInstance(type);
|
|
37
|
-
if (!customMessageDirective) {
|
|
38
|
-
throw new Error(`dr-chat: Can't find template for custom type '${type}'. ` +
|
|
39
|
-
`Make sure you provide it in the chat component with *drCustomMessage='${type}'.`);
|
|
40
|
-
}
|
|
41
|
-
return customMessageDirective;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
DrChatMessageComponent.decorators = [
|
|
45
|
-
{ type: Component, args: [{
|
|
46
|
-
selector: 'dr-chat-message',
|
|
47
|
-
template: "<div class=\"message\" [class.message--custom]=\"customMessage\">\n <ng-container [ngSwitch]=\"message.kind\">\n <dr-chat-message-text *ngSwitchCase=\"MESSAGE_TYPE.TEXT\" [message]=\"message\"></dr-chat-message-text>\n <dr-chat-message-rich-text *ngSwitchCase=\"MESSAGE_TYPE.RICH_TEXT\" [message]=\"message\"></dr-chat-message-rich-text>\n <dr-chat-message-file *ngSwitchCase=\"MESSAGE_TYPE.DOWNLOAD_FILE\" [message]=\"message\"></dr-chat-message-file>\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"_getTemplate()\" [ngTemplateOutletContext]=\"_getTemplateContext()\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n",
|
|
48
|
-
animations: [
|
|
49
|
-
trigger('flyInOut', [
|
|
50
|
-
state('in', style({ transform: 'translateX(0)' })),
|
|
51
|
-
transition('void => *', [style({ transform: 'translateX(-100%)' }), animate(80)]),
|
|
52
|
-
transition('* => void', [animate(80, style({ transform: 'translateX(100%)' }))]),
|
|
53
|
-
]),
|
|
54
|
-
],
|
|
55
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
56
|
-
styles: [":host{display:flex;flex-direction:row}:host:not(:first-child){margin-top:8px}.reply+:host.reply,.not-reply+:host.not-reply{margin-top:3px}:host.not-reply{justify-content:flex-end}:host.not-reply .message{color:#fff;background-color:#4646ce}:host .message{display:flex;background-color:#f3f7ff;border-radius:8px;padding:16px;max-width:60%;width:auto}:host .message--custom{max-width:unset;width:80%}\n"]
|
|
57
|
-
},] }
|
|
58
|
-
];
|
|
59
|
-
DrChatMessageComponent.ctorParameters = () => [
|
|
60
|
-
{ type: DrChatCustomMessageService }
|
|
61
|
-
];
|
|
62
|
-
DrChatMessageComponent.propDecorators = {
|
|
63
|
-
flyInOut: [{ type: HostBinding, args: ['@flyInOut',] }],
|
|
64
|
-
notReply: [{ type: HostBinding, args: ['class.not-reply',] }],
|
|
65
|
-
reply: [{ type: Input }, { type: HostBinding, args: ['class.reply',] }],
|
|
66
|
-
type: [{ type: Input }],
|
|
67
|
-
message: [{ type: Input }],
|
|
68
|
-
customMessageData: [{ type: Input }]
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBRXBFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBZWxHLE1BQU0sT0FBTyxzQkFBc0I7SUFnRC9CLFlBQW9CLG9CQUFnRDtRQUFoRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTRCO1FBOUNwRSxpQkFBWSxHQUFHLGlCQUFpQixDQUFDO1FBQ2pDLHdCQUFtQixHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQztRQXlCcEMsV0FBTSxHQUFHLEtBQUssQ0FBQztJQXFCekIsQ0FBQztJQTVDRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFFSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFjO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBeUJELFlBQVk7UUFDUixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsSUFBWTtRQUNuQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQ1gsaURBQWlELElBQUksS0FBSztnQkFDMUQseUVBQXlFLElBQUksSUFBSSxDQUNwRixDQUFDO1NBQ0w7UUFFRCxPQUFPLHNCQUFzQixDQUFDO0lBQ2xDLENBQUM7OztZQXJGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsOHNCQUEwQztnQkFFMUMsVUFBVSxFQUFFO29CQUNSLE9BQU8sQ0FBQyxVQUFVLEVBQUU7d0JBQ2hCLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7d0JBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNqRixVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDbkYsQ0FBQztpQkFDTDtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQWRRLDBCQUEwQjs7O3VCQW9COUIsV0FBVyxTQUFDLFdBQVc7dUJBS3ZCLFdBQVcsU0FBQyxpQkFBaUI7b0JBUTdCLEtBQUssWUFDTCxXQUFXLFNBQUMsYUFBYTttQkFXekIsS0FBSztzQkFPTCxLQUFLO2dDQU9MLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENIQVRfTUVTU0FHRV9UWVBFLCBJQ2hhdE1lc3NhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hhdCc7XG5pbXBvcnQgeyBEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlIH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoYXQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhdC1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdmbHlJbk91dCcsIFtcbiAgICAgICAgICAgIHN0YXRlKCdpbicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScgfSkpLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgW3N0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknIH0pLCBhbmltYXRlKDgwKV0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgW2FuaW1hdGUoODAsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSkpXSksXG4gICAgICAgIF0pLFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdE1lc3NhZ2VDb21wb25lbnQge1xuXG4gICAgTUVTU0FHRV9UWVBFID0gQ0hBVF9NRVNTQUdFX1RZUEU7XG4gICAgTUVTU0FHRV9UWVBFX0NVU1RPTSA9IENIQVRfTUVTU0FHRV9UWVBFLkVNQkVEO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdAZmx5SW5PdXQnKVxuICAgIGdldCBmbHlJbk91dCgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ub3QtcmVwbHknKVxuICAgIGdldCBub3RSZXBseSgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJlcGx5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgYSBtZXNzYWdlIGlzIGEgcmVwbHlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MucmVwbHknKVxuICAgIGdldCByZXBseSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcGx5O1xuICAgIH1cblxuICAgIHNldCByZXBseSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZXBseSA9ICEhdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9yZXBseSA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogTWVzc2FnZVxuICAgICAqXG4gICAgICogQHR5cGUge0lDaGF0TWVzc2FnZX1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlOiBJQ2hhdE1lc3NhZ2U7XG5cbiAgICAvKipcbiAgICAgKiBEYXRhIHdoaWNoIHdpbGwgYmUgc2V0IGFzIGN1c3RvbSBtZXNzYWdlIHRlbXBsYXRlIGNvbnRleHRcbiAgICAgKlxuICAgICAqIEB0eXBlIHthbnl9XG4gICAgICovXG4gICAgQElucHV0KCkgY3VzdG9tTWVzc2FnZURhdGE6IGFueTtcblxuICAgIHB1YmxpYyBjdXN0b21NZXNzYWdlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjdXN0b21NZXNzYWdlU2VydmljZTogRHJDaGF0Q3VzdG9tTWVzc2FnZVNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBfZ2V0VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgICAgIHRoaXMuY3VzdG9tTWVzc2FnZSA9IHRydWU7XG4gICAgICAgIGNvbnN0IGN1c3RvbU1lc3NhZ2UgPSB0aGlzLmdldEN1c3RvbU1lc3NhZ2UodGhpcy50eXBlKTtcbiAgICAgICAgcmV0dXJuIGN1c3RvbU1lc3NhZ2UudGVtcGxhdGVSZWY7XG4gICAgfVxuXG4gICAgX2dldFRlbXBsYXRlQ29udGV4dCgpOiB7ICRpbXBsaWNpdDogYW55OyBpc1JlcGx5OiBib29sZWFuIH0ge1xuICAgICAgICByZXR1cm4geyAkaW1wbGljaXQ6IHRoaXMuY3VzdG9tTWVzc2FnZURhdGEsIGlzUmVwbHk6IHRoaXMucmVwbHkgfTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q3VzdG9tTWVzc2FnZSh0eXBlOiBzdHJpbmcpOiBEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlIHtcbiAgICAgICAgY29uc3QgY3VzdG9tTWVzc2FnZURpcmVjdGl2ZSA9IHRoaXMuY3VzdG9tTWVzc2FnZVNlcnZpY2UuZ2V0SW5zdGFuY2UodHlwZSk7XG5cbiAgICAgICAgaWYgKCFjdXN0b21NZXNzYWdlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgYGRyLWNoYXQ6IENhbid0IGZpbmQgdGVtcGxhdGUgZm9yIGN1c3RvbSB0eXBlICcke3R5cGV9Jy4gYCArXG4gICAgICAgICAgICAgICAgYE1ha2Ugc3VyZSB5b3UgcHJvdmlkZSBpdCBpbiB0aGUgY2hhdCBjb21wb25lbnQgd2l0aCAqZHJDdXN0b21NZXNzYWdlPScke3R5cGV9Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXN0b21NZXNzYWdlRGlyZWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, TemplateRef } from '@angular/core';
|
|
2
|
-
import { DrChatCustomMessageService } from './chat-custom-message.service';
|
|
3
|
-
const throwCustomMessageTypeIsRequired = () => {
|
|
4
|
-
throw new Error('[drCustomMessage]: custom message type is required.');
|
|
5
|
-
};
|
|
6
|
-
const ɵ0 = throwCustomMessageTypeIsRequired;
|
|
7
|
-
export class DrChatCustomMessageDirective {
|
|
8
|
-
constructor(templateRef, customMessageService) {
|
|
9
|
-
this.templateRef = templateRef;
|
|
10
|
-
this.customMessageService = customMessageService;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Defines a message type which should rendered with the custom message template.
|
|
14
|
-
*
|
|
15
|
-
* @type {string}
|
|
16
|
-
*/
|
|
17
|
-
get drCustomMessage() {
|
|
18
|
-
return this._type;
|
|
19
|
-
}
|
|
20
|
-
set drCustomMessage(value) {
|
|
21
|
-
this._type = value;
|
|
22
|
-
}
|
|
23
|
-
get type() {
|
|
24
|
-
return this._type;
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
if (!this._type) {
|
|
28
|
-
throwCustomMessageTypeIsRequired();
|
|
29
|
-
}
|
|
30
|
-
this.customMessageService.register(this.type, this);
|
|
31
|
-
}
|
|
32
|
-
ngOnDestroy() {
|
|
33
|
-
this.customMessageService.unregister(this.type);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
DrChatCustomMessageDirective.decorators = [
|
|
37
|
-
{ type: Directive, args: [{
|
|
38
|
-
selector: `[drCustomMessage]`,
|
|
39
|
-
},] }
|
|
40
|
-
];
|
|
41
|
-
DrChatCustomMessageDirective.ctorParameters = () => [
|
|
42
|
-
{ type: TemplateRef },
|
|
43
|
-
{ type: DrChatCustomMessageService }
|
|
44
|
-
];
|
|
45
|
-
DrChatCustomMessageDirective.propDecorators = {
|
|
46
|
-
drCustomMessage: [{ type: Input }]
|
|
47
|
-
};
|
|
48
|
-
export { ɵ0 };
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0UsTUFBTSxnQ0FBZ0MsR0FBRyxHQUFHLEVBQUU7SUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQzs7QUFLRixNQUFNLE9BQU8sNEJBQTRCO0lBbUJyQyxZQUFtQixXQUE2QixFQUMxQixvQkFBZ0Q7UUFEbkQsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzFCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBNEI7SUFBRyxDQUFDO0lBbkIxRTs7OztPQUlHO0lBQ0gsSUFDSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLGVBQWUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUtELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLGdDQUFnQyxFQUFFLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7WUFsQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxtQkFBbUI7YUFDaEM7OztZQVY2QyxXQUFXO1lBRWhELDBCQUEwQjs7OzhCQWU5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LWN1c3RvbS1tZXNzYWdlLnNlcnZpY2UnO1xuXG5jb25zdCB0aHJvd0N1c3RvbU1lc3NhZ2VUeXBlSXNSZXF1aXJlZCA9ICgpID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1tkckN1c3RvbU1lc3NhZ2VdOiBjdXN0b20gbWVzc2FnZSB0eXBlIGlzIHJlcXVpcmVkLicpO1xufTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBbZHJDdXN0b21NZXNzYWdlXWAsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBhIG1lc3NhZ2UgdHlwZSB3aGljaCBzaG91bGQgcmVuZGVyZWQgd2l0aCB0aGUgY3VzdG9tIG1lc3NhZ2UgdGVtcGxhdGUuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRyQ3VzdG9tTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG4gICAgc2V0IGRyQ3VzdG9tTWVzc2FnZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF90eXBlOiBzdHJpbmc7XG5cbiAgICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIGN1c3RvbU1lc3NhZ2VTZXJ2aWNlOiBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAoIXRoaXMuX3R5cGUpIHtcbiAgICAgICAgICAgIHRocm93Q3VzdG9tTWVzc2FnZVR5cGVJc1JlcXVpcmVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXN0b21NZXNzYWdlU2VydmljZS5yZWdpc3Rlcih0aGlzLnR5cGUsIHRoaXMpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmN1c3RvbU1lc3NhZ2VTZXJ2aWNlLnVucmVnaXN0ZXIodGhpcy50eXBlKTtcbiAgICB9XG59XG4iXX0=
|
package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* `DrCustomMessageService` is used to store instances of `DrChatCustomMessageDirective`s which
|
|
4
|
-
* were provided in the chat component.
|
|
5
|
-
*/
|
|
6
|
-
export class DrChatCustomMessageService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.customMessages = new Map();
|
|
9
|
-
}
|
|
10
|
-
register(type, instance) {
|
|
11
|
-
this.customMessages.set(type, instance);
|
|
12
|
-
}
|
|
13
|
-
unregister(type) {
|
|
14
|
-
return this.customMessages.delete(type);
|
|
15
|
-
}
|
|
16
|
-
getInstance(type) {
|
|
17
|
-
return this.customMessages.get(type);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
DrChatCustomMessageService.decorators = [
|
|
21
|
-
{ type: Injectable }
|
|
22
|
-
];
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jdXN0b20tbWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWN1c3RvbS9jaGF0LWN1c3RvbS1tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBRHZDO1FBRXFCLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQXdDLENBQUM7SUFhdEYsQ0FBQztJQVhDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsUUFBc0M7UUFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OztZQWRGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBgRHJDdXN0b21NZXNzYWdlU2VydmljZWAgaXMgdXNlZCB0byBzdG9yZSBpbnN0YW5jZXMgb2YgYERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmVgcyB3aGljaFxuICogd2VyZSBwcm92aWRlZCBpbiB0aGUgY2hhdCBjb21wb25lbnQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEckNoYXRDdXN0b21NZXNzYWdlU2VydmljZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBjdXN0b21NZXNzYWdlcyA9IG5ldyBNYXA8c3RyaW5nLCBEckNoYXRDdXN0b21NZXNzYWdlRGlyZWN0aXZlPigpO1xuXG4gIHJlZ2lzdGVyKHR5cGU6IHN0cmluZywgaW5zdGFuY2U6IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUpOiB2b2lkIHtcbiAgICB0aGlzLmN1c3RvbU1lc3NhZ2VzLnNldCh0eXBlLCBpbnN0YW5jZSk7XG4gIH1cblxuICB1bnJlZ2lzdGVyKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbU1lc3NhZ2VzLmRlbGV0ZSh0eXBlKTtcbiAgfVxuXG4gIGdldEluc3RhbmNlKHR5cGU6IHN0cmluZyk6IERyQ2hhdEN1c3RvbU1lc3NhZ2VEaXJlY3RpdmUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbU1lc3NhZ2VzLmdldCh0eXBlKTtcbiAgfVxufVxuIl19
|
package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
|
|
2
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
-
/**
|
|
4
|
-
* Chat message component.
|
|
5
|
-
*/
|
|
6
|
-
export class DrChatMessageFileComponent {
|
|
7
|
-
constructor(cd, domSanitizer) {
|
|
8
|
-
this.cd = cd;
|
|
9
|
-
this.domSanitizer = domSanitizer;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Message file path
|
|
13
|
-
*
|
|
14
|
-
* @type {Date}
|
|
15
|
-
*/
|
|
16
|
-
set files(files) {
|
|
17
|
-
this.readyFiles = (files || []).map((file) => {
|
|
18
|
-
const isImage = this.isImage(file);
|
|
19
|
-
return Object.assign(Object.assign({}, file), { urlStyle: isImage && this.domSanitizer.bypassSecurityTrustStyle(`url(${file.url})`), isImage });
|
|
20
|
-
});
|
|
21
|
-
this.cd.detectChanges();
|
|
22
|
-
}
|
|
23
|
-
isImage(file) {
|
|
24
|
-
const type = file.type;
|
|
25
|
-
if (type) {
|
|
26
|
-
return ['image/png', 'image/jpeg', 'image/gif'].includes(type);
|
|
27
|
-
}
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
DrChatMessageFileComponent.decorators = [
|
|
32
|
-
{ type: Component, args: [{
|
|
33
|
-
selector: 'dr-chat-message-file',
|
|
34
|
-
template: "<ng-container *ngIf=\"readyFiles?.length > 1\">\n <div class=\"message-content-group\">\n <a *ngFor=\"let file of readyFiles\" [href]=\"file.url\" target=\"_blank\">\n <i class=\"dr-icon-file\" *ngIf=\"!file.urlStyle && file.icon\"></i>\n <div *ngIf=\"file.urlStyle\" [style.background-image]=\"file.urlStyle\"></div>\n </a>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"readyFiles?.length === 1\">\n <a [href]=\"readyFiles[0].url\" target=\"_blank\">\n <i class=\"dr-icon-file\" *ngIf=\"!readyFiles[0].urlStyle && readyFiles[0].icon\"></i>\n <div *ngIf=\"readyFiles[0].urlStyle\" [style.background-image]=\"readyFiles[0].urlStyle\"></div>\n </a>\n</ng-container>\n",
|
|
35
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
36
|
-
},] }
|
|
37
|
-
];
|
|
38
|
-
DrChatMessageFileComponent.ctorParameters = () => [
|
|
39
|
-
{ type: ChangeDetectorRef },
|
|
40
|
-
{ type: DomSanitizer }
|
|
41
|
-
];
|
|
42
|
-
DrChatMessageFileComponent.propDecorators = {
|
|
43
|
-
message: [{ type: Input }],
|
|
44
|
-
files: [{ type: Input }]
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWZpbGUvY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQVF6RDs7R0FFRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7SUE2Qm5DLFlBQXNCLEVBQXFCLEVBQVksWUFBMEI7UUFBM0QsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBWSxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNqRixDQUFDO0lBbkJEOzs7O09BSUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUF5QjtRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsdUNBQ08sSUFBSSxLQUNQLFFBQVEsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFRLElBQUksQ0FBQyxHQUFJLEdBQUcsQ0FBQyxFQUNyRixPQUFPLElBQ1Q7UUFDTixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQU1ELE9BQU8sQ0FBQyxJQUFzQjtRQUMxQixNQUFNLElBQUksR0FBSSxJQUFxQyxDQUFDLElBQUksQ0FBQztRQUN6RCxJQUFJLElBQUksRUFBRTtZQUNOLE9BQU8sQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNsRTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OztZQTVDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsd3VCQUErQztnQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7OztZQWhCaUMsaUJBQWlCO1lBQzFDLFlBQVk7OztzQkF5QmhCLEtBQUs7b0JBT0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1xuICAgIElDaGF0RG93bmxvYWRGaWxlTWVzc2FnZSxcbiAgICBJQ2hhdEltYWdlTWVzc2FnZSxcbiAgICBJQ2hhdE1lc3NhZ2VGaWxlLFxuICAgIElDaGF0TWVzc2FnZUZpbGVJbWFnZVByZXZpZXdcbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXQnO1xuXG4vKipcbiAqIENoYXQgbWVzc2FnZSBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlLWZpbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckNoYXRNZXNzYWdlRmlsZUNvbXBvbmVudCB7XG5cbiAgICByZWFkeUZpbGVzOiBhbnlbXTtcblxuICAgIC8qKlxuICAgICAqIE1lc3NhZ2Ugd2l0aCBmaWxlXG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1lc3NhZ2U6IElDaGF0RG93bmxvYWRGaWxlTWVzc2FnZSB8IElDaGF0SW1hZ2VNZXNzYWdlO1xuXG4gICAgLyoqXG4gICAgICogTWVzc2FnZSBmaWxlIHBhdGhcbiAgICAgKlxuICAgICAqIEB0eXBlIHtEYXRlfVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZpbGVzKGZpbGVzOiBJQ2hhdE1lc3NhZ2VGaWxlW10pIHtcbiAgICAgICAgdGhpcy5yZWFkeUZpbGVzID0gKGZpbGVzIHx8IFtdKS5tYXAoKGZpbGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNJbWFnZSA9IHRoaXMuaXNJbWFnZShmaWxlKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZmlsZSxcbiAgICAgICAgICAgICAgICB1cmxTdHlsZTogaXNJbWFnZSAmJiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYHVybCgkeyBmaWxlLnVybCB9KWApLFxuICAgICAgICAgICAgICAgIGlzSW1hZ2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJvdGVjdGVkIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgfVxuXG5cbiAgICBpc0ltYWdlKGZpbGU6IElDaGF0TWVzc2FnZUZpbGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdHlwZSA9IChmaWxlIGFzIElDaGF0TWVzc2FnZUZpbGVJbWFnZVByZXZpZXcpLnR5cGU7XG4gICAgICAgIGlmICh0eXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gWydpbWFnZS9wbmcnLCAnaW1hZ2UvanBlZycsICdpbWFnZS9naWYnXS5pbmNsdWRlcyh0eXBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Chat rich-text message component.
|
|
4
|
-
*/
|
|
5
|
-
export class DrChatMessageRichTextComponent {
|
|
6
|
-
}
|
|
7
|
-
DrChatMessageRichTextComponent.decorators = [
|
|
8
|
-
{ type: Component, args: [{
|
|
9
|
-
selector: 'dr-chat-message-rich-text',
|
|
10
|
-
template: "<div class=\"paragraphs\">\n <div *ngFor=\"let paragraph of message.paragraphs\"\n class=\"paragraphs__item\"\n [class]=\"paragraph.kind\"\n [innerText]=\"paragraph.value\">\n </div>\n</div>\n",
|
|
11
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
-
styles: [".paragraphs{display:flex;flex-direction:column}.paragraphs__item:not(:first-child){margin-top:8px}.paragraphs__item.code{display:flex;padding:4px;border:1px solid #8f929e;background:#ccc}\n"]
|
|
13
|
-
},] }
|
|
14
|
-
];
|
|
15
|
-
DrChatMessageRichTextComponent.propDecorators = {
|
|
16
|
-
message: [{ type: Input }]
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLXJpY2gtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtcmljaC10ZXh0L2NoYXQtbWVzc2FnZS1yaWNoLXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFOztHQUVHO0FBT0gsTUFBTSxPQUFPLDhCQUE4Qjs7O1lBTjFDLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQywwT0FBb0Q7Z0JBRXBELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O3NCQU9JLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNoYXRSaWNoVGV4dE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhdCc7XG5cbi8qKlxuICogQ2hhdCByaWNoLXRleHQgbWVzc2FnZSBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlLXJpY2gtdGV4dCcsXG4gICAgdGVtcGxhdGVVcmw6ICdjaGF0LW1lc3NhZ2UtcmljaC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGF0LW1lc3NhZ2UtcmljaC10ZXh0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdE1lc3NhZ2VSaWNoVGV4dENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogTWVzc2FnZSBzZW5kZXJcbiAgICAgKlxuICAgICAqIEB0eXBlIHtJQ2hhdFJpY2hUZXh0TWVzc2FnZX1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtZXNzYWdlOiBJQ2hhdFJpY2hUZXh0TWVzc2FnZTtcbn1cbiJdfQ==
|
package/esm2015/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Chat text message component.
|
|
4
|
-
*/
|
|
5
|
-
export class DrChatMessageTextComponent {
|
|
6
|
-
}
|
|
7
|
-
DrChatMessageTextComponent.decorators = [
|
|
8
|
-
{ type: Component, args: [{
|
|
9
|
-
selector: 'dr-chat-message-text',
|
|
10
|
-
template: "<div class=\"text\" *ngIf=\"message\">{{ message.text }}</div>\n",
|
|
11
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
-
styles: [":host{display:flex}:host .text{display:flex;word-break:break-word}\n"]
|
|
13
|
-
},] }
|
|
14
|
-
];
|
|
15
|
-
DrChatMessageTextComponent.propDecorators = {
|
|
16
|
-
message: [{ type: Input }]
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLXRleHQvY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEwQjs7O1lBTnRDLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyw0RUFBK0M7Z0JBRS9DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O3NCQU9JLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNoYXRUZXh0TWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGF0JztcblxuLyoqXG4gKiBDaGF0IHRleHQgbWVzc2FnZSBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItY2hhdC1tZXNzYWdlLXRleHQnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXQtbWVzc2FnZS10ZXh0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyQ2hhdE1lc3NhZ2VUZXh0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBNZXNzYWdlIHNlbmRlclxuICAgICAqXG4gICAgICogQHR5cGUge0lDaGF0VGV4dE1lc3NhZ2V9XG4gICAgICovXG4gICAgQElucHV0KCkgbWVzc2FnZTogSUNoYXRUZXh0TWVzc2FnZTtcbn1cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export var CHAT_MESSAGE_TYPE;
|
|
2
|
-
(function (CHAT_MESSAGE_TYPE) {
|
|
3
|
-
CHAT_MESSAGE_TYPE["TEXT"] = "text";
|
|
4
|
-
CHAT_MESSAGE_TYPE["RICH_TEXT"] = "rich-text";
|
|
5
|
-
CHAT_MESSAGE_TYPE["IMAGE"] = "image";
|
|
6
|
-
CHAT_MESSAGE_TYPE["DOWNLOAD_FILE"] = "download-file";
|
|
7
|
-
CHAT_MESSAGE_TYPE["MAILTO"] = "mailto";
|
|
8
|
-
CHAT_MESSAGE_TYPE["EMBED"] = "embed";
|
|
9
|
-
CHAT_MESSAGE_TYPE["WIDGET"] = "widget";
|
|
10
|
-
CHAT_MESSAGE_TYPE["INPUT"] = "input";
|
|
11
|
-
CHAT_MESSAGE_TYPE["CODE"] = "code";
|
|
12
|
-
})(CHAT_MESSAGE_TYPE || (CHAT_MESSAGE_TYPE = {}));
|
|
13
|
-
export class ChatMessage {
|
|
14
|
-
constructor(obj, user) {
|
|
15
|
-
this.id = obj === null || obj === void 0 ? void 0 : obj.id;
|
|
16
|
-
this.kind = obj === null || obj === void 0 ? void 0 : obj.kind;
|
|
17
|
-
this.seq = obj === null || obj === void 0 ? void 0 : obj.seq;
|
|
18
|
-
this.conversationId = obj === null || obj === void 0 ? void 0 : obj.conversationId;
|
|
19
|
-
this.reply = (obj === null || obj === void 0 ? void 0 : obj.senderId) !== user.id;
|
|
20
|
-
this.senderId = obj === null || obj === void 0 ? void 0 : obj.senderId;
|
|
21
|
-
this.parentId = obj === null || obj === void 0 ? void 0 : obj.parentId;
|
|
22
|
-
this.text = (obj === null || obj === void 0 ? void 0 : obj.text) || obj.body;
|
|
23
|
-
this.paragraphs = obj === null || obj === void 0 ? void 0 : obj.paragraphs;
|
|
24
|
-
this.url = obj === null || obj === void 0 ? void 0 : obj.url;
|
|
25
|
-
this.label = obj === null || obj === void 0 ? void 0 : obj.label;
|
|
26
|
-
this.subject = obj === null || obj === void 0 ? void 0 : obj.subject;
|
|
27
|
-
this.body = obj === null || obj === void 0 ? void 0 : obj.body;
|
|
28
|
-
this.form = obj === null || obj === void 0 ? void 0 : obj.form;
|
|
29
|
-
this.parameters = obj === null || obj === void 0 ? void 0 : obj.parameters;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL21vZGVscy9jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE1BQU0sQ0FBTixJQUFZLGlCQVVYO0FBVkQsV0FBWSxpQkFBaUI7SUFDekIsa0NBQWEsQ0FBQTtJQUNiLDRDQUF1QixDQUFBO0lBQ3ZCLG9DQUFlLENBQUE7SUFDZixvREFBK0IsQ0FBQTtJQUMvQixzQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsb0NBQWUsQ0FBQTtJQUNmLGtDQUFhLENBQUE7QUFDakIsQ0FBQyxFQVZXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFVNUI7QUFzRUQsTUFBTSxPQUFPLFdBQVc7SUFrQnBCLFlBQVksR0FBUSxFQUFFLElBQWtCO1FBQ3BDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFFBQVEsTUFBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxJQUFJLEtBQUksR0FBRyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxVQUFVLENBQUM7SUFDdEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ2hhdFNpZ25VcFJlcXVlc3QgeyB1c2VyTmFtZTogc3RyaW5nOyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH1cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRTaWduSW5SZXF1ZXN0IHsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9XG5leHBvcnQgaW50ZXJmYWNlIElDaGF0Q3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdCB7IHRpdGxlOiBzdHJpbmcgfVxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdENvbnZlcnNhdGlvbiB7IGlkOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdEFjY291bnQge1xuICAgIGtpbmQ6ICd1c2VyJyB8ICdib3QnO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVtYWlsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBDSEFUX01FU1NBR0VfVFlQRSB7XG4gICAgVEVYVCA9ICd0ZXh0JyxcbiAgICBSSUNIX1RFWFQgPSAncmljaC10ZXh0JyxcbiAgICBJTUFHRSA9ICdpbWFnZScsXG4gICAgRE9XTkxPQURfRklMRSA9ICdkb3dubG9hZC1maWxlJyxcbiAgICBNQUlMVE8gPSAnbWFpbHRvJyxcbiAgICBFTUJFRCA9ICdlbWJlZCcsXG4gICAgV0lER0VUID0gJ3dpZGdldCcsXG4gICAgSU5QVVQgPSAnaW5wdXQnLFxuICAgIENPREUgPSAnY29kZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRNZXNzYWdlQmFzZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRTtcbiAgICBzZXE6IG51bWJlcjtcbiAgICBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICAgIHJlcGx5OiBib29sZWFuO1xuICAgIHNlbmRlcklkOiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRUZXh0TWVzc2FnZSBleHRlbmRzIElDaGF0TWVzc2FnZUJhc2Uge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFLlRFWFQ7XG4gICAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdFJpY2hUZXh0TWVzc2FnZSBleHRlbmRzIElDaGF0TWVzc2FnZUJhc2Uge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFLlJJQ0hfVEVYVDtcbiAgICBwYXJhZ3JhcGhzPzogSUNoYXRSaWNoVGV4dFBhcmFncmFwaFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDaGF0UmljaFRleHRQYXJhZ3JhcGgge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFO1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRJbWFnZU1lc3NhZ2UgZXh0ZW5kcyBJQ2hhdE1lc3NhZ2VCYXNlIHtcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRS5JTUFHRTtcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElDaGF0RG93bmxvYWRGaWxlTWVzc2FnZSBleHRlbmRzIElDaGF0TWVzc2FnZUJhc2Uge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFLkRPV05MT0FEX0ZJTEU7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIGxhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDaGF0TWFpbHRvTWVzc2FnZSBleHRlbmRzIElDaGF0TWVzc2FnZUJhc2Uge1xuICAgIGtpbmQ6IHN0cmluZyB8IENIQVRfTUVTU0FHRV9UWVBFLk1BSUxUTztcbiAgICBzdWJqZWN0Pzogc3RyaW5nO1xuICAgIGJvZHk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRFbWJlZE1lc3NhZ2UgZXh0ZW5kcyBJQ2hhdE1lc3NhZ2VCYXNlIHtcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRS5FTUJFRDtcbiAgICB1cmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRJbnB1dE1lc3NhZ2UgZXh0ZW5kcyBJQ2hhdE1lc3NhZ2VCYXNlIHtcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRS5JTlBVVDtcbiAgICBmb3JtPzogYW55O1xufVxuXG5leHBvcnQgdHlwZSBJQ2hhdE1lc3NhZ2UgPSBJQ2hhdE1lc3NhZ2VCYXNlICYgSUNoYXRUZXh0TWVzc2FnZSAmIElDaGF0UmljaFRleHRNZXNzYWdlICYgSUNoYXRJbWFnZU1lc3NhZ2UgJlxuICAgIElDaGF0RG93bmxvYWRGaWxlTWVzc2FnZSAmIElDaGF0TWFpbHRvTWVzc2FnZSAmIElDaGF0RW1iZWRNZXNzYWdlICYgSUNoYXRJbnB1dE1lc3NhZ2U7XG5cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdE1lc3NhZ2VGaWxlSWNvblByZXZpZXcge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGljb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdE1lc3NhZ2VGaWxlSW1hZ2VQcmV2aWV3IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIElDaGF0TWVzc2FnZUZpbGUgPSBJQ2hhdE1lc3NhZ2VGaWxlSWNvblByZXZpZXcgfCBJQ2hhdE1lc3NhZ2VGaWxlSW1hZ2VQcmV2aWV3O1xuXG5leHBvcnQgY2xhc3MgQ2hhdE1lc3NhZ2UgaW1wbGVtZW50cyBJQ2hhdE1lc3NhZ2VCYXNlLCBJQ2hhdFRleHRNZXNzYWdlLCBJQ2hhdFJpY2hUZXh0TWVzc2FnZSwgSUNoYXRJbWFnZU1lc3NhZ2UsXG4gICAgSUNoYXREb3dubG9hZEZpbGVNZXNzYWdlLCBJQ2hhdE1haWx0b01lc3NhZ2UsIElDaGF0RW1iZWRNZXNzYWdlLCBJQ2hhdElucHV0TWVzc2FnZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBraW5kOiBzdHJpbmcgfCBDSEFUX01FU1NBR0VfVFlQRTtcbiAgICBzZXE6IG51bWJlcjtcbiAgICBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICAgIHJlcGx5OiBib29sZWFuO1xuICAgIHNlbmRlcklkOiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gICAgdGV4dD86IHN0cmluZztcbiAgICBwYXJhZ3JhcGhzPzogSUNoYXRSaWNoVGV4dFBhcmFncmFwaFtdO1xuICAgIHVybD86IHN0cmluZztcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBzdWJqZWN0Pzogc3RyaW5nO1xuICAgIGJvZHk/OiBhbnk7XG4gICAgZm9ybT86IGFueTtcbiAgICBwYXJhbWV0ZXJzPzogYW55O1xuXG4gICAgY29uc3RydWN0b3Iob2JqOiBhbnksIHVzZXI6IElDaGF0QWNjb3VudCkge1xuICAgICAgICB0aGlzLmlkID0gb2JqPy5pZDtcbiAgICAgICAgdGhpcy5raW5kID0gb2JqPy5raW5kO1xuICAgICAgICB0aGlzLnNlcSA9IG9iaj8uc2VxO1xuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbklkID0gb2JqPy5jb252ZXJzYXRpb25JZDtcbiAgICAgICAgdGhpcy5yZXBseSA9IG9iaj8uc2VuZGVySWQgIT09IHVzZXIuaWQ7XG4gICAgICAgIHRoaXMuc2VuZGVySWQgPSBvYmo/LnNlbmRlcklkO1xuICAgICAgICB0aGlzLnBhcmVudElkID0gb2JqPy5wYXJlbnRJZDtcbiAgICAgICAgdGhpcy50ZXh0ID0gb2JqPy50ZXh0IHx8IG9iai5ib2R5O1xuICAgICAgICB0aGlzLnBhcmFncmFwaHMgPSBvYmo/LnBhcmFncmFwaHM7XG4gICAgICAgIHRoaXMudXJsID0gb2JqPy51cmw7XG4gICAgICAgIHRoaXMubGFiZWwgPSBvYmo/LmxhYmVsO1xuICAgICAgICB0aGlzLnN1YmplY3QgPSBvYmo/LnN1YmplY3Q7XG4gICAgICAgIHRoaXMuYm9keSA9IG9iaj8uYm9keTtcbiAgICAgICAgdGhpcy5mb3JtID0gb2JqPy5mb3JtO1xuICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBvYmo/LnBhcmFtZXRlcnM7XG4gICAgfVxufVxuIl19
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ElementRef, QueryList, AfterViewInit, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { DrChatFormComponent } from './dr-chat-form/chat-form.component';
|
|
3
|
-
import { DrChatMessageComponent } from './dr-chat-message/chat-message.component';
|
|
4
|
-
export declare class DrChatComponent implements AfterViewInit {
|
|
5
|
-
private cdr;
|
|
6
|
-
title: string;
|
|
7
|
-
noMessagesPlaceholder: string;
|
|
8
|
-
/**
|
|
9
|
-
* Scroll chat to the bottom of the list when a new message arrives
|
|
10
|
-
*/
|
|
11
|
-
get scrollBottom(): boolean;
|
|
12
|
-
set scrollBottom(value: boolean);
|
|
13
|
-
protected _scrollBottom: boolean;
|
|
14
|
-
messagesContainer: ElementRef;
|
|
15
|
-
messages: QueryList<DrChatMessageComponent>;
|
|
16
|
-
chatForm: DrChatFormComponent;
|
|
17
|
-
constructor(cdr: ChangeDetectorRef);
|
|
18
|
-
ngAfterViewInit(): void;
|
|
19
|
-
updateView(): void;
|
|
20
|
-
scrollListBottom(): void;
|
|
21
|
-
}
|