@rtsee/ngx 0.0.21 → 0.0.24
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/dist/ngx/bundles/rtsee-ngx.umd.js +128 -43
- package/dist/ngx/bundles/rtsee-ngx.umd.js.map +1 -1
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.js +9 -4
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/message/message.component.js +9 -7
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.js +1 -1
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/messages-list/messages-list.component.js +23 -6
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/messenger-header/messenger-header.component.js +4 -6
- package/dist/ngx/esm2015/lib/services/time-format-helper.service.js +72 -1
- package/dist/ngx/fesm2015/rtsee-ngx.js +123 -34
- package/dist/ngx/fesm2015/rtsee-ngx.js.map +1 -1
- package/dist/ngx/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.d.ts +3 -0
- package/dist/ngx/lib/components/rtsee-messenger/message/message.component.d.ts +3 -2
- package/dist/ngx/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.d.ts +2 -2
- package/dist/ngx/lib/components/rtsee-messenger/messages-list/messages-list.component.d.ts +6 -1
- package/dist/ngx/lib/services/time-format-helper.service.d.ts +8 -0
- package/package.json +2 -2
package/dist/ngx/esm2015/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../services/time-format-helper.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
3
5
|
export class ChatThumbnailComponent {
|
|
6
|
+
constructor(timeFormatService) {
|
|
7
|
+
this.timeFormatService = timeFormatService;
|
|
8
|
+
}
|
|
4
9
|
}
|
|
5
|
-
ChatThumbnailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: ChatThumbnailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
-
ChatThumbnailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatThumbnailComponent, selector: "ngx-chat-thumbnail", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-chat-thumbnail\" (click)=\"messenger.openChat(chat)\">\n <div class=\"rtsee-chat-thumbnail-image\">\n <img [src]=\"chat.imageUrl\" alt=\"chat-img\">\n </div>\n <div class=\"rtsee-chat-thumbnail-info\">\n <p class=\"rtsee-chat-thumbnail-name\">{{ chat.name }}</p>\n <p class=\"rtsee-chat-thumbnail-last-
|
|
10
|
+
ChatThumbnailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: ChatThumbnailComponent, deps: [{ token: i1.TimeFormatHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
ChatThumbnailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatThumbnailComponent, selector: "ngx-chat-thumbnail", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-chat-thumbnail\" (click)=\"messenger.openChat(chat)\">\n <div class=\"rtsee-chat-thumbnail-image\">\n <img [src]=\"chat.imageUrl\" alt=\"chat-img\">\n </div>\n <div class=\"rtsee-chat-thumbnail-info\">\n <p class=\"rtsee-chat-thumbnail-name\">{{ chat.name }} <span>{{ chat.unreadMessagesCount }}</span></p>\n <p class=\"rtsee-chat-thumbnail-last-sender\">{{chat.getLastSenderName()}}</p>\n <p class=\"rtsee-chat-thumbnail-last-message\" *ngIf=\"chat.messages.length\">\n <span>{{chat.getLastSentMessageText()}}</span>\n <span>{{chat.unreadMessagesCount}}</span>\n <span>{{chat.getLastSentMessageStatus()}}</span>\n <span>{{timeFormatService.formatTimeOrDate(chat.getLastSentMessageTime())}}</span>\n </p>\n </div>\n</div>\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
7
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: ChatThumbnailComponent, decorators: [{
|
|
8
13
|
type: Component,
|
|
9
14
|
args: [{
|
|
@@ -11,9 +16,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
11
16
|
templateUrl: './chat-thumbnail.component.html',
|
|
12
17
|
styleUrls: ['./chat-thumbnail.component.css'],
|
|
13
18
|
}]
|
|
14
|
-
}], propDecorators: { chat: [{
|
|
19
|
+
}], ctorParameters: function () { return [{ type: i1.TimeFormatHelperService }]; }, propDecorators: { chat: [{
|
|
15
20
|
type: Input
|
|
16
21
|
}], messenger: [{
|
|
17
22
|
type: Input
|
|
18
23
|
}] } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC10aHVtYm5haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvY2hhdC10aHVtYm5haWwvY2hhdC10aHVtYm5haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvY2hhdC10aHVtYm5haWwvY2hhdC10aHVtYm5haWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTakQsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFtQixpQkFBMEM7UUFBMUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF5QjtJQUFHLENBQUM7O21IQUp0RCxzQkFBc0I7dUdBQXRCLHNCQUFzQiw0R0NUbkMsK3dCQWVBOzJGRE5hLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztpQkFDOUM7OEdBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSVFNlZUNoYXQsIFJUU2VlTWVzc2VuZ2VyIH0gZnJvbSAnQHJ0c2VlL21lc3Nlbmdlcic7XG5pbXBvcnQgeyBUaW1lRm9ybWF0SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RpbWUtZm9ybWF0LWhlbHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LWNoYXQtdGh1bWJuYWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXQtdGh1bWJuYWlsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhdC10aHVtYm5haWwuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDaGF0VGh1bWJuYWlsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY2hhdCE6IFJUU2VlQ2hhdDtcbiAgQElucHV0KCkgbWVzc2VuZ2VyITogUlRTZWVNZXNzZW5nZXI7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHRpbWVGb3JtYXRTZXJ2aWNlOiBUaW1lRm9ybWF0SGVscGVyU2VydmljZSkge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJydHNlZS1jaGF0LXRodW1ibmFpbFwiIChjbGljayk9XCJtZXNzZW5nZXIub3BlbkNoYXQoY2hhdClcIj5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLWNoYXQtdGh1bWJuYWlsLWltYWdlXCI+XG4gICAgPGltZyBbc3JjXT1cImNoYXQuaW1hZ2VVcmxcIiBhbHQ9XCJjaGF0LWltZ1wiPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLWNoYXQtdGh1bWJuYWlsLWluZm9cIj5cbiAgICA8cCBjbGFzcz1cInJ0c2VlLWNoYXQtdGh1bWJuYWlsLW5hbWVcIj57eyBjaGF0Lm5hbWUgfX0gPHNwYW4+e3sgY2hhdC51bnJlYWRNZXNzYWdlc0NvdW50IH19PC9zcGFuPjwvcD5cbiAgICA8cCBjbGFzcz1cInJ0c2VlLWNoYXQtdGh1bWJuYWlsLWxhc3Qtc2VuZGVyXCI+e3tjaGF0LmdldExhc3RTZW5kZXJOYW1lKCl9fTwvcD5cbiAgICA8cCBjbGFzcz1cInJ0c2VlLWNoYXQtdGh1bWJuYWlsLWxhc3QtbWVzc2FnZVwiICpuZ0lmPVwiY2hhdC5tZXNzYWdlcy5sZW5ndGhcIj5cbiAgICAgIDxzcGFuPnt7Y2hhdC5nZXRMYXN0U2VudE1lc3NhZ2VUZXh0KCl9fTwvc3Bhbj5cbiAgICAgIDxzcGFuPnt7Y2hhdC51bnJlYWRNZXNzYWdlc0NvdW50fX08L3NwYW4+XG4gICAgICA8c3Bhbj57e2NoYXQuZ2V0TGFzdFNlbnRNZXNzYWdlU3RhdHVzKCl9fTwvc3Bhbj5cbiAgICAgIDxzcGFuPnt7dGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0VGltZU9yRGF0ZShjaGF0LmdldExhc3RTZW50TWVzc2FnZVRpbWUoKSl9fTwvc3Bhbj5cbiAgICA8L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -2,12 +2,14 @@ import { Component, Input, ViewChild, } from '@angular/core';
|
|
|
2
2
|
import { WidgetDirective } from '../../../directives/widget.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../../../services/widgets.service";
|
|
5
|
-
import * as i2 from "
|
|
6
|
-
import * as i3 from "
|
|
5
|
+
import * as i2 from "../../../services/time-format-helper.service";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "../../../directives/widget.directive";
|
|
7
8
|
export class MessageComponent {
|
|
8
|
-
constructor(widgetsService, componentFactoryResolver) {
|
|
9
|
+
constructor(widgetsService, componentFactoryResolver, timeFormatService) {
|
|
9
10
|
this.widgetsService = widgetsService;
|
|
10
11
|
this.componentFactoryResolver = componentFactoryResolver;
|
|
12
|
+
this.timeFormatService = timeFormatService;
|
|
11
13
|
}
|
|
12
14
|
ngAfterViewInit() {
|
|
13
15
|
/* eslint-disable */
|
|
@@ -27,8 +29,8 @@ export class MessageComponent {
|
|
|
27
29
|
/* eslint-enable */
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
|
-
MessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessageComponent, deps: [{ token: i1.WidgetsService }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
-
MessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessageComponent, selector: "ngx-message", inputs: { chat: "chat", message: "message", member: "member", messenger: "messenger" }, viewQueries: [{ propertyName: "widgetHost", first: true, predicate: WidgetDirective, descendants: true }], ngImport: i0, template: "<div class=\"rtsee-messenger-message-container\"
|
|
32
|
+
MessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessageComponent, deps: [{ token: i1.WidgetsService }, { token: i0.ComponentFactoryResolver }, { token: i2.TimeFormatHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
MessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessageComponent, selector: "ngx-message", inputs: { chat: "chat", message: "message", member: "member", messenger: "messenger" }, viewQueries: [{ propertyName: "widgetHost", first: true, predicate: WidgetDirective, descendants: true }], ngImport: i0, template: "<div class=\"rtsee-messenger-message-container\"\n [ngClass]=\"{'rtsee-message-from-me': message.from === messenger.clientId}\"\n>\n <div class=\"rtsee-messenger-message\">\n <ng-template widgetHost></ng-template>\n <p *ngIf=\"!message.widget\"\n class=\"rtsee-messenger-message-text\"\n >{{ message.text }}</p>\n <div class=\"rtsee-messenger-message-info\">\n <div class=\"rtsee-messenger-message-time\">\n <p>{{ timeFormatService.toTime(message.createdAt) }}</p>\n </div>\n <div class=\"rtsee-messenger-message-status\" *ngIf=\"message.from === messenger.clientId\">\n <span *ngIf=\"message.status === 'pending'\">pending</span>\n <span *ngIf=\"message.status === 'sent'\">sent</span>\n <span *ngIf=\"message.status === 'delivered'\">delivered</span>\n <span *ngIf=\"message.status === 'seen'\">seen</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.WidgetDirective, selector: "[widgetHost]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
32
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessageComponent, decorators: [{
|
|
33
35
|
type: Component,
|
|
34
36
|
args: [{
|
|
@@ -36,7 +38,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
36
38
|
templateUrl: './message.component.html',
|
|
37
39
|
styleUrls: ['./message.component.css'],
|
|
38
40
|
}]
|
|
39
|
-
}], ctorParameters: function () { return [{ type: i1.WidgetsService }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { chat: [{
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i1.WidgetsService }, { type: i0.ComponentFactoryResolver }, { type: i2.TimeFormatHelperService }]; }, propDecorators: { chat: [{
|
|
40
42
|
type: Input
|
|
41
43
|
}], message: [{
|
|
42
44
|
type: Input
|
|
@@ -48,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
48
50
|
type: ViewChild,
|
|
49
51
|
args: [WidgetDirective, { static: false }]
|
|
50
52
|
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLW1lc3Nlbmdlci9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBR1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVF2RSxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQ1UsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ25ELGlCQUEwQztRQUZ6QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNuRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO0lBQ2hELENBQUM7SUFFSixlQUFlO1FBQ2Isb0JBQW9CO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3BCLENBQUM7WUFDRixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE9BQU87YUFDUjtZQUNELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUMxRCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLGVBQWUsR0FDbkIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sWUFBWSxHQUNoQixnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDcEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2pELFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUNoRDtRQUNELG1CQUFtQjtJQUNyQixDQUFDOzs2R0FoQ1UsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsdUxBS2hCLGVBQWUsZ0RDNUI1QixpNkJBcUJBOzJGREVhLGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3ZDO2tMQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ3lDLFVBQVU7c0JBQXhELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUlRTZWVDaGF0LFxuICBSVFNlZUNoYXRNZW1iZXIsXG4gIFJUU2VlTWVzc2FnZSxcbiAgUlRTZWVNZXNzZW5nZXIsXG59IGZyb20gJ0BydHNlZS9tZXNzZW5nZXInO1xuaW1wb3J0IHsgV2lkZ2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy93aWRnZXRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2lkZ2V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy93aWRnZXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRpbWVGb3JtYXRIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdGltZS1mb3JtYXQtaGVscGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtbWVzc2FnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVzc2FnZS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgY2hhdCE6IFJUU2VlQ2hhdDtcbiAgQElucHV0KCkgbWVzc2FnZSE6IFJUU2VlTWVzc2FnZTtcbiAgQElucHV0KCkgbWVtYmVyITogUlRTZWVDaGF0TWVtYmVyPGFueT47XG4gIEBJbnB1dCgpIG1lc3NlbmdlciE6IFJUU2VlTWVzc2VuZ2VyO1xuICBAVmlld0NoaWxkKFdpZGdldERpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pIHdpZGdldEhvc3QhOiBXaWRnZXREaXJlY3RpdmU7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgd2lkZ2V0c1NlcnZpY2U6IFdpZGdldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcHVibGljIHRpbWVGb3JtYXRTZXJ2aWNlOiBUaW1lRm9ybWF0SGVscGVyU2VydmljZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgaWYgKHRoaXMubWVzc2FnZS53aWRnZXQpIHtcbiAgICAgIGNvbnN0IHdpZGdldCA9IHRoaXMud2lkZ2V0c1NlcnZpY2UuZ2V0V2lkZ2V0Q29tcG9uZW50QnlOYW1lKFxuICAgICAgICB0aGlzLm1lc3NhZ2Uud2lkZ2V0XG4gICAgICApO1xuICAgICAgaWYgKCF3aWRnZXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMud2lkZ2V0SG9zdC52aWV3Q29udGFpbmVyUmVmO1xuICAgICAgdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgY29uc3QgY29tcG9uZW50VG9TaG93ID1cbiAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3Rvcnkod2lkZ2V0KTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPHR5cGVvZiB3aWRnZXQ+ID1cbiAgICAgICAgdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50VG9TaG93KTtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5tZXNzYWdlID0gdGhpcy5tZXNzYWdlO1xuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLm1lc3NlbmdlciA9IHRoaXMubWVzc2VuZ2VyO1xuICAgICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLW1lc3NhZ2UtY29udGFpbmVyXCJcbiAgICAgW25nQ2xhc3NdPVwieydydHNlZS1tZXNzYWdlLWZyb20tbWUnOiBtZXNzYWdlLmZyb20gPT09IG1lc3Nlbmdlci5jbGllbnRJZH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLW1lc3NhZ2VcIj5cbiAgICA8bmctdGVtcGxhdGUgd2lkZ2V0SG9zdD48L25nLXRlbXBsYXRlPlxuICAgIDxwICpuZ0lmPVwiIW1lc3NhZ2Uud2lkZ2V0XCJcbiAgICAgICBjbGFzcz1cInJ0c2VlLW1lc3Nlbmdlci1tZXNzYWdlLXRleHRcIlxuICAgID57eyBtZXNzYWdlLnRleHQgfX08L3A+XG4gICAgPGRpdiBjbGFzcz1cInJ0c2VlLW1lc3Nlbmdlci1tZXNzYWdlLWluZm9cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJydHNlZS1tZXNzZW5nZXItbWVzc2FnZS10aW1lXCI+XG4gICAgICAgIDxwPnt7IHRpbWVGb3JtYXRTZXJ2aWNlLnRvVGltZShtZXNzYWdlLmNyZWF0ZWRBdCkgfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJydHNlZS1tZXNzZW5nZXItbWVzc2FnZS1zdGF0dXNcIiAqbmdJZj1cIm1lc3NhZ2UuZnJvbSA9PT0gbWVzc2VuZ2VyLmNsaWVudElkXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwibWVzc2FnZS5zdGF0dXMgPT09ICdwZW5kaW5nJ1wiPnBlbmRpbmc8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwibWVzc2FnZS5zdGF0dXMgPT09ICdzZW50J1wiPnNlbnQ8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwibWVzc2FnZS5zdGF0dXMgPT09ICdkZWxpdmVyZWQnXCI+ZGVsaXZlcmVkPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIm1lc3NhZ2Uuc3RhdHVzID09PSAnc2VlbidcIj5zZWVuPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
34
34
|
}], messenger: [{
|
|
35
35
|
type: Input
|
|
36
36
|
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWVzc2FnZS13aWRnZXRzL2NhbGwtd2lkZ2V0L2NhbGwtd2lkZ2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL21lc3NhZ2Utd2lkZ2V0cy9jYWxsLXdpZGdldC9jYWxsLXdpZGdldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBU3pELE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsUUFBUTs7UUFDTixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxNQUFLLE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLDBDQUFFLFFBQVEsQ0FBQSxFQUFFO1lBQzNELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksMENBQUUsTUFBTSwwQ0FBRSxJQUFJLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRUQsUUFBUTs7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksMENBQUUsTUFBTSxDQUFBLEVBQUU7WUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1lBQ3JELE9BQU87U0FDUjtRQUNELEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekQsQ0FBQzs7Z0hBbkJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLCtHQ1RoQyw4UkFNQTsyRkRHYSxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQzNDOzhCQUVVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSVFNlZU1lc3NhZ2UsIFJUU2VlTWVzc2VuZ2VyIH0gZnJvbSAnQHJ0c2VlL21lc3Nlbmdlcic7XG5pbXBvcnQgeyBJUlRTZWVDYWxsIH0gZnJvbSAnQHJ0c2VlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtY2FsbC13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsbC13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxsLXdpZGdldC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhbGxXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtZXNzYWdlITogUlRTZWVNZXNzYWdlPElSVFNlZUNhbGw+O1xuICBASW5wdXQoKSBtZXNzZW5nZXIhOiBSVFNlZU1lc3NlbmdlcjtcbiAgY2FsbGVyTmFtZT86IHN0cmluZztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tZXNzZW5nZXIuY2xpZW50SWQgPT09IHRoaXMubWVzc2FnZS5kYXRhPy5jYWxsZXJJZCkge1xuICAgICAgdGhpcy5jYWxsZXJOYW1lID0gJ1lvdSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FsbGVyTmFtZSA9IHRoaXMubWVzc2FnZS5kYXRhPy5jYWxsZXI/Lm5hbWU7XG4gICAgfVxuICB9XG5cbiAgam9pbkNhbGwoKSB7XG4gICAgaWYgKCF0aGlzLm1lc3NlbmdlciB8fCAhdGhpcy5tZXNzYWdlLmRhdGE/LnJvb21JZCkge1xuICAgICAgY29uc29sZS5sb2coJ05vIFJvb20gSWQgc3BlY2lmaWVkIG9yIG5vIG1lc3NlbmdlciEnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdm9pZCB0aGlzLm1lc3Nlbmdlci5qb2luQ2FsbCh0aGlzLm1lc3NhZ2UuZGF0YS5yb29tSWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRzZWUtY2FsbC13aWRnZXRcIj5cbiAgPHAgKm5nSWY9XCJjYWxsZXJOYW1lXCI+IHt7IGNhbGxlck5hbWUgfX0gaGFzIHN0YXJ0ZWQgYSBjYWxsPC9wPlxuICA8cCAqbmdJZj1cImNhbGxlck5hbWUgPT09ICdZb3UnXCI+IFlvdSBoYXZlIHN0YXJ0ZWQgYSBjYWxsPC9wPlxuICA8cCAqbmdJZj1cIiFjYWxsZXJOYW1lXCI+IFRoZSBjYWxsIGhhcyBzdGFydGVkPC9wPlxuICA8YnV0dG9uIChjbGljayk9XCJqb2luQ2FsbCgpXCI+Sm9pbiBDYWxsPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
package/dist/ngx/esm2015/lib/components/rtsee-messenger/messages-list/messages-list.component.js
CHANGED
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "
|
|
3
|
+
import * as i1 from "../../../services/time-format-helper.service";
|
|
4
|
+
import * as i2 from "../message/message.component";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
5
6
|
export class MessagesListComponent {
|
|
7
|
+
constructor(timeFormatService) {
|
|
8
|
+
this.timeFormatService = timeFormatService;
|
|
9
|
+
}
|
|
10
|
+
hasDateChanged(currentMessage, index) {
|
|
11
|
+
const previousMessage = this.chat.messages[index - 1];
|
|
12
|
+
if (!previousMessage) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
if (!previousMessage.createdAt || !currentMessage.createdAt) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return (previousMessage.createdAt.getDay() !== currentMessage.createdAt.getDay());
|
|
19
|
+
}
|
|
20
|
+
formatDate(message) {
|
|
21
|
+
return this.timeFormatService.formatDate(message.createdAt);
|
|
22
|
+
}
|
|
6
23
|
}
|
|
7
|
-
MessagesListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessagesListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
MessagesListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessagesListComponent, selector: "ngx-messages-list", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-messenger-messages-list\">\n <div class=\"rtsee-messenger-message-wrapper\" *ngFor=\"let message of chat.messages\">\n <ngx-message [message]=\"message\" [messenger]=\"messenger\" [chat]=\"chat\"></ngx-message>\n </div>\n</div>\n", styles: [""], components: [{ type:
|
|
24
|
+
MessagesListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessagesListComponent, deps: [{ token: i1.TimeFormatHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
MessagesListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessagesListComponent, selector: "ngx-messages-list", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-messenger-messages-list\">\n <div class=\"rtsee-messenger-message-wrapper\" *ngFor=\"let message of chat.messages; let i = index;\">\n <span *ngIf=\"hasDateChanged(message, i)\"\n >{{formatDate(message)}}</span>\n <ngx-message [message]=\"message\" [messenger]=\"messenger\" [chat]=\"chat\"></ngx-message>\n </div>\n</div>\n", styles: [""], components: [{ type: i2.MessageComponent, selector: "ngx-message", inputs: ["chat", "message", "member", "messenger"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
9
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessagesListComponent, decorators: [{
|
|
10
27
|
type: Component,
|
|
11
28
|
args: [{
|
|
@@ -13,9 +30,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
13
30
|
templateUrl: './messages-list.component.html',
|
|
14
31
|
styleUrls: ['./messages-list.component.css'],
|
|
15
32
|
}]
|
|
16
|
-
}], propDecorators: { chat: [{
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i1.TimeFormatHelperService }]; }, propDecorators: { chat: [{
|
|
17
34
|
type: Input
|
|
18
35
|
}], messenger: [{
|
|
19
36
|
type: Input
|
|
20
37
|
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLW1lc3Nlbmdlci9tZXNzYWdlcy1saXN0L21lc3NhZ2VzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWVzc2FnZXMtbGlzdC9tZXNzYWdlcy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNqRCxNQUFNLE9BQU8scUJBQXFCO0lBSWhDLFlBQW9CLGlCQUEwQztRQUExQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO0lBQUcsQ0FBQztJQUVsRSxjQUFjLENBQUMsY0FBNEIsRUFBRSxLQUFhO1FBQ3hELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUU7WUFDM0QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sQ0FDTCxlQUFlLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQ3pFLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQXFCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7a0hBckJVLHFCQUFxQjtzR0FBckIscUJBQXFCLDJHQ1RsQyxvV0FPQTsyRkRFYSxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzdDOzhHQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUlRTZWVDaGF0LCBSVFNlZU1lc3NlbmdlciwgUlRTZWVNZXNzYWdlIH0gZnJvbSAnQHJ0c2VlL21lc3Nlbmdlcic7XG5pbXBvcnQgeyBUaW1lRm9ybWF0SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RpbWUtZm9ybWF0LWhlbHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LW1lc3NhZ2VzLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZXMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lc3NhZ2VzLWxpc3QuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlc0xpc3RDb21wb25lbnQge1xuICBASW5wdXQoKSBjaGF0ITogUlRTZWVDaGF0O1xuICBASW5wdXQoKSBtZXNzZW5nZXIhOiBSVFNlZU1lc3NlbmdlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRpbWVGb3JtYXRTZXJ2aWNlOiBUaW1lRm9ybWF0SGVscGVyU2VydmljZSkge31cblxuICBoYXNEYXRlQ2hhbmdlZChjdXJyZW50TWVzc2FnZTogUlRTZWVNZXNzYWdlLCBpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcHJldmlvdXNNZXNzYWdlID0gdGhpcy5jaGF0Lm1lc3NhZ2VzW2luZGV4IC0gMV07XG4gICAgaWYgKCFwcmV2aW91c01lc3NhZ2UpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoIXByZXZpb3VzTWVzc2FnZS5jcmVhdGVkQXQgfHwgIWN1cnJlbnRNZXNzYWdlLmNyZWF0ZWRBdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgcHJldmlvdXNNZXNzYWdlLmNyZWF0ZWRBdC5nZXREYXkoKSAhPT0gY3VycmVudE1lc3NhZ2UuY3JlYXRlZEF0LmdldERheSgpXG4gICAgKTtcbiAgfVxuXG4gIGZvcm1hdERhdGUobWVzc2FnZTogUlRTZWVNZXNzYWdlKSB7XG4gICAgcmV0dXJuIHRoaXMudGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0RGF0ZShtZXNzYWdlLmNyZWF0ZWRBdCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydHNlZS1tZXNzZW5nZXItbWVzc2FnZXMtbGlzdFwiPlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLW1lc3NhZ2Utd3JhcHBlclwiICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIGNoYXQubWVzc2FnZXM7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgPHNwYW4gKm5nSWY9XCJoYXNEYXRlQ2hhbmdlZChtZXNzYWdlLCBpKVwiXG4gICAgPnt7Zm9ybWF0RGF0ZShtZXNzYWdlKX19PC9zcGFuPlxuICAgIDxuZ3gtbWVzc2FnZSBbbWVzc2FnZV09XCJtZXNzYWdlXCIgW21lc3Nlbmdlcl09XCJtZXNzZW5nZXJcIiBbY2hhdF09XCJjaGF0XCI+PC9uZ3gtbWVzc2FnZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -7,16 +7,14 @@ export class MessengerHeaderComponent {
|
|
|
7
7
|
this.defaultImagesService = defaultImagesService;
|
|
8
8
|
}
|
|
9
9
|
call() {
|
|
10
|
-
|
|
11
|
-
if (!((_a = this.messenger.openedChat) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
12
|
-
console.log('Unable to call, no opened chat!');
|
|
10
|
+
if (!this.messenger.openedChat) {
|
|
13
11
|
return;
|
|
14
12
|
}
|
|
15
|
-
void this.messenger.initializeVideoCall(this.messenger.openedChat
|
|
13
|
+
void this.messenger.initializeVideoCall(this.messenger.openedChat);
|
|
16
14
|
}
|
|
17
15
|
}
|
|
18
16
|
MessengerHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessengerHeaderComponent, deps: [{ token: i1.DefaultImagesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
-
MessengerHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerHeaderComponent, selector: "ngx-messenger-header", inputs: { messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-messenger-header\"\n [ngClass]=\"{ 'rtsee-messenger-header-chat-opened': messenger.openedChat }\"\n>\n <div *ngIf=\"!messenger.openedChat\" class=\"rtsee-messenger-profile-image\">\n <img *ngIf=\"messenger.myPeer?.imageUrl\" [src]=\"messenger.myPeer.imageUrl\">\n <img *ngIf=\"!messenger.myPeer?.imageUrl\" [src]=\"defaultImagesService.PROFILE\">\n </div>\n\n <button class=\"rtsee-messenger-close-chat\"\n *ngIf=\"messenger.openedChat\"\n (click)=\"messenger.closeChat()\"\n
|
|
17
|
+
MessengerHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerHeaderComponent, selector: "ngx-messenger-header", inputs: { messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-messenger-header\"\n [ngClass]=\"{ 'rtsee-messenger-header-chat-opened': messenger.openedChat }\"\n>\n <div *ngIf=\"!messenger.openedChat\" class=\"rtsee-messenger-profile-image\">\n <img *ngIf=\"messenger.myPeer?.imageUrl\" [src]=\"messenger.myPeer.imageUrl\">\n <img *ngIf=\"!messenger.myPeer?.imageUrl\" [src]=\"defaultImagesService.PROFILE\">\n </div>\n\n <button class=\"rtsee-messenger-close-chat\"\n *ngIf=\"messenger.openedChat\"\n (click)=\"messenger.closeChat()\"\n >\n <span>←</span>\n <span *ngIf=\"messenger.unreadMessagesCount\">{{messenger.unreadMessagesCount}}</span>\n </button>\n\n <div *ngIf=\"messenger.openedChat\" class=\"rtsee-messenger-header-opened-chat-info\">\n <div class=\"rtsee-messenger-profile-image\">\n <img *ngIf=\"messenger.openedChat.imageUrl\" [src]=\"messenger.openedChat.imageUrl\">\n <img *ngIf=\"!messenger.openedChat.imageUrl\" [src]=\"defaultImagesService.PROFILE\">\n </div>\n <p *ngIf=\"messenger.openedChat\"\n class=\"rtsee-messenger-header-chat-title\"\n >{{ messenger.openedChat.name }}</p>\n </div>\n\n <p *ngIf=\"!messenger.openedChat\"\n class=\"rtsee-messenger-header-title\"\n >Chats</p>\n\n <button\n *ngIf=\"messenger.openedChat\"\n (click)=\"call()\"\n class=\"rtsee-messenger-call-button\"\n >Call</button>\n</div>\n", styles: [""], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
20
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessengerHeaderComponent, decorators: [{
|
|
21
19
|
type: Component,
|
|
22
20
|
args: [{
|
|
@@ -27,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
27
25
|
}], ctorParameters: function () { return [{ type: i1.DefaultImagesService }]; }, propDecorators: { messenger: [{
|
|
28
26
|
type: Input
|
|
29
27
|
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2VuZ2VyLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLW1lc3Nlbmdlci9tZXNzZW5nZXItaGVhZGVyL21lc3Nlbmdlci1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWVzc2VuZ2VyLWhlYWRlci9tZXNzZW5nZXItaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBU2pELE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsWUFBbUIsb0JBQTBDO1FBQTFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7SUFBRyxDQUFDO0lBRWpFLElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUU7WUFDOUIsT0FBTztTQUNSO1FBQ0QsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckUsQ0FBQzs7cUhBVFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsZ0dDVHJDLDQyQ0FvQ0E7MkZEM0JhLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsbUNBQW1DO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztpQkFDaEQ7MkdBRVUsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJUU2VlTWVzc2VuZ2VyIH0gZnJvbSAnQHJ0c2VlL21lc3Nlbmdlcic7XG5pbXBvcnQgeyBEZWZhdWx0SW1hZ2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2RlZmF1bHQtaW1hZ2VzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtbWVzc2VuZ2VyLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXNzZW5nZXItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVzc2VuZ2VyLWhlYWRlci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NlbmdlckhlYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1lc3NlbmdlciE6IFJUU2VlTWVzc2VuZ2VyO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGVmYXVsdEltYWdlc1NlcnZpY2U6IERlZmF1bHRJbWFnZXNTZXJ2aWNlKSB7fVxuXG4gIGNhbGwoKSB7XG4gICAgaWYgKCF0aGlzLm1lc3Nlbmdlci5vcGVuZWRDaGF0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZvaWQgdGhpcy5tZXNzZW5nZXIuaW5pdGlhbGl6ZVZpZGVvQ2FsbCh0aGlzLm1lc3Nlbmdlci5vcGVuZWRDaGF0KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJ0c2VlLW1lc3Nlbmdlci1oZWFkZXJcIlxuICAgICBbbmdDbGFzc109XCJ7ICdydHNlZS1tZXNzZW5nZXItaGVhZGVyLWNoYXQtb3BlbmVkJzogbWVzc2VuZ2VyLm9wZW5lZENoYXQgfVwiXG4+XG4gIDxkaXYgKm5nSWY9XCIhbWVzc2VuZ2VyLm9wZW5lZENoYXRcIiBjbGFzcz1cInJ0c2VlLW1lc3Nlbmdlci1wcm9maWxlLWltYWdlXCI+XG4gICAgPGltZyAqbmdJZj1cIm1lc3Nlbmdlci5teVBlZXI/LmltYWdlVXJsXCIgW3NyY109XCJtZXNzZW5nZXIubXlQZWVyLmltYWdlVXJsXCI+XG4gICAgPGltZyAqbmdJZj1cIiFtZXNzZW5nZXIubXlQZWVyPy5pbWFnZVVybFwiIFtzcmNdPVwiZGVmYXVsdEltYWdlc1NlcnZpY2UuUFJPRklMRVwiPlxuICA8L2Rpdj5cblxuICA8YnV0dG9uIGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLWNsb3NlLWNoYXRcIlxuICAgICAgICAgICpuZ0lmPVwibWVzc2VuZ2VyLm9wZW5lZENoYXRcIlxuICAgICAgICAgIChjbGljayk9XCJtZXNzZW5nZXIuY2xvc2VDaGF0KClcIlxuICA+XG4gICAgPHNwYW4+JiM4NTkyOzwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cIm1lc3Nlbmdlci51bnJlYWRNZXNzYWdlc0NvdW50XCI+e3ttZXNzZW5nZXIudW5yZWFkTWVzc2FnZXNDb3VudH19PC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8ZGl2ICpuZ0lmPVwibWVzc2VuZ2VyLm9wZW5lZENoYXRcIiBjbGFzcz1cInJ0c2VlLW1lc3Nlbmdlci1oZWFkZXItb3BlbmVkLWNoYXQtaW5mb1wiPlxuICAgIDxkaXYgY2xhc3M9XCJydHNlZS1tZXNzZW5nZXItcHJvZmlsZS1pbWFnZVwiPlxuICAgICAgPGltZyAqbmdJZj1cIm1lc3Nlbmdlci5vcGVuZWRDaGF0LmltYWdlVXJsXCIgW3NyY109XCJtZXNzZW5nZXIub3BlbmVkQ2hhdC5pbWFnZVVybFwiPlxuICAgICAgPGltZyAqbmdJZj1cIiFtZXNzZW5nZXIub3BlbmVkQ2hhdC5pbWFnZVVybFwiIFtzcmNdPVwiZGVmYXVsdEltYWdlc1NlcnZpY2UuUFJPRklMRVwiPlxuICAgIDwvZGl2PlxuICAgIDxwICpuZ0lmPVwibWVzc2VuZ2VyLm9wZW5lZENoYXRcIlxuICAgICAgIGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLWhlYWRlci1jaGF0LXRpdGxlXCJcbiAgICA+e3sgbWVzc2VuZ2VyLm9wZW5lZENoYXQubmFtZSB9fTwvcD5cbiAgPC9kaXY+XG5cbiAgPHAgKm5nSWY9XCIhbWVzc2VuZ2VyLm9wZW5lZENoYXRcIlxuICAgICBjbGFzcz1cInJ0c2VlLW1lc3Nlbmdlci1oZWFkZXItdGl0bGVcIlxuICA+Q2hhdHM8L3A+XG5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwibWVzc2VuZ2VyLm9wZW5lZENoYXRcIlxuICAgIChjbGljayk9XCJjYWxsKClcIlxuICAgIGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLWNhbGwtYnV0dG9uXCJcbiAgPkNhbGw8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
@@ -9,6 +9,77 @@ export class TimeFormatHelperService {
|
|
|
9
9
|
return dayjs(time).fromNow();
|
|
10
10
|
/* eslint-enable */
|
|
11
11
|
}
|
|
12
|
+
toDayOfWeek(time) {
|
|
13
|
+
/* eslint-disable */
|
|
14
|
+
return dayjs(time).format('ddd');
|
|
15
|
+
/* eslint-enable */
|
|
16
|
+
}
|
|
17
|
+
toTime(time) {
|
|
18
|
+
/* eslint-disable */
|
|
19
|
+
return dayjs(time).format('HH:mm');
|
|
20
|
+
/* eslint-enable */
|
|
21
|
+
}
|
|
22
|
+
toDate(time) {
|
|
23
|
+
/* eslint-disable */
|
|
24
|
+
return dayjs(time).format('D MMMM');
|
|
25
|
+
/* eslint-enable */
|
|
26
|
+
}
|
|
27
|
+
toDateNumeral(time) {
|
|
28
|
+
/* eslint-disable */
|
|
29
|
+
return dayjs(time).format('DD.MM');
|
|
30
|
+
/* eslint-enable */
|
|
31
|
+
}
|
|
32
|
+
toDateNumeralWithYear(time) {
|
|
33
|
+
/* eslint-disable */
|
|
34
|
+
return dayjs(time).format('DD.MM.YY');
|
|
35
|
+
/* eslint-enable */
|
|
36
|
+
}
|
|
37
|
+
toDateWithYear(time) {
|
|
38
|
+
/* eslint-disable */
|
|
39
|
+
return dayjs(time).format('MMMM D, YYYY ');
|
|
40
|
+
/* eslint-enable */
|
|
41
|
+
}
|
|
42
|
+
formatDate(time) {
|
|
43
|
+
const today = new Date();
|
|
44
|
+
const dayMs = 1000 * 60 * 60 * 24;
|
|
45
|
+
const twoDays = dayMs * 2;
|
|
46
|
+
if (!time) {
|
|
47
|
+
return '';
|
|
48
|
+
}
|
|
49
|
+
if (today.getTime() - time.getTime() < dayMs &&
|
|
50
|
+
today.getDay() === time.getDay()) {
|
|
51
|
+
return 'Today';
|
|
52
|
+
}
|
|
53
|
+
if (today.getTime() - time.getTime() < twoDays &&
|
|
54
|
+
today.getTime() - time.getTime() > dayMs &&
|
|
55
|
+
today.getDay() !== time.getDay()) {
|
|
56
|
+
return 'Yesterday';
|
|
57
|
+
}
|
|
58
|
+
if (today.getFullYear() === time.getFullYear()) {
|
|
59
|
+
return this.toDate(time);
|
|
60
|
+
}
|
|
61
|
+
return this.toDateWithYear(time);
|
|
62
|
+
}
|
|
63
|
+
formatTimeOrDate(time) {
|
|
64
|
+
if (!time) {
|
|
65
|
+
return '';
|
|
66
|
+
}
|
|
67
|
+
const today = new Date();
|
|
68
|
+
const dayMs = 1000 * 60 * 60 * 24;
|
|
69
|
+
if (today.getTime() - time.getTime() < dayMs &&
|
|
70
|
+
today.getDay() === time.getDay()) {
|
|
71
|
+
return this.toTime(time);
|
|
72
|
+
}
|
|
73
|
+
if (today.getTime() - time.getTime() > dayMs &&
|
|
74
|
+
today.getTime() - time.getTime() < dayMs * 7) {
|
|
75
|
+
return this.toDayOfWeek(time);
|
|
76
|
+
}
|
|
77
|
+
if (today.getTime() - time.getTime() > dayMs * 7 &&
|
|
78
|
+
today.getFullYear() === time.getFullYear()) {
|
|
79
|
+
return this.toDateNumeral(time);
|
|
80
|
+
}
|
|
81
|
+
return this.toDateNumeralWithYear(time);
|
|
82
|
+
}
|
|
12
83
|
}
|
|
13
84
|
TimeFormatHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: TimeFormatHelperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
85
|
TimeFormatHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: TimeFormatHelperService, providedIn: 'root' });
|
|
@@ -18,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
18
89
|
providedIn: 'root',
|
|
19
90
|
}]
|
|
20
91
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1mb3JtYXQtaGVscGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9zZXJ2aWNlcy90aW1lLWZvcm1hdC1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sS0FBSyxZQUFZLE1BQU0sMkJBQTJCLENBQUM7O0FBQzFELEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFLM0IsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxLQUFLLENBQUMsSUFBVTtRQUNkLG9CQUFvQjtRQUNwQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQVksQ0FBQztRQUN2QyxtQkFBbUI7SUFDckIsQ0FBQztJQUNELFdBQVcsQ0FBQyxJQUFVO1FBQ3BCLG9CQUFvQjtRQUNwQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsbUJBQW1CO0lBQ3JCLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBVTtRQUNmLG9CQUFvQjtRQUNwQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFXLENBQUM7UUFDN0MsbUJBQW1CO0lBQ3JCLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBVTtRQUNmLG9CQUFvQjtRQUNwQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFXLENBQUM7UUFDOUMsbUJBQW1CO0lBQ3JCLENBQUM7SUFDRCxhQUFhLENBQUMsSUFBVTtRQUN0QixvQkFBb0I7UUFDcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLG1CQUFtQjtJQUNyQixDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBVTtRQUM5QixvQkFBb0I7UUFDcEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLG1CQUFtQjtJQUNyQixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVU7UUFDdkIsb0JBQW9CO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQVcsQ0FBQztRQUNyRCxtQkFBbUI7SUFDckIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVO1FBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxJQUNFLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSztZQUN4QyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUNoQztZQUNBLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBRUQsSUFDRSxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLE9BQU87WUFDMUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLO1lBQ3hDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQ2hDO1lBQ0EsT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFFRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFVO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFbEMsSUFDRSxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUs7WUFDeEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFDaEM7WUFDQSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUI7UUFFRCxJQUNFLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSztZQUN4QyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQzVDO1lBQ0EsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9CO1FBRUQsSUFDRSxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssR0FBRyxDQUFDO1lBQzVDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQzFDO1lBQ0EsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7b0hBcEdVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0ICogYXMgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0ICogYXMgcmVsYXRpdmVUaW1lIGZyb20gJ2RheWpzL3BsdWdpbi9yZWxhdGl2ZVRpbWUnO1xuZGF5anMuZXh0ZW5kKHJlbGF0aXZlVGltZSk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lRm9ybWF0SGVscGVyU2VydmljZSB7XG4gIHRvQWdvKHRpbWU6IERhdGUpOiBzdHJpbmcge1xuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgcmV0dXJuIGRheWpzKHRpbWUpLmZyb21Ob3coKSBhcyBzdHJpbmc7XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICB9XG4gIHRvRGF5T2ZXZWVrKHRpbWU6IERhdGUpOiBzdHJpbmcge1xuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgcmV0dXJuIGRheWpzKHRpbWUpLmZvcm1hdCgnZGRkJyk7XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICB9XG4gIHRvVGltZSh0aW1lOiBEYXRlKTogc3RyaW5nIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIHJldHVybiBkYXlqcyh0aW1lKS5mb3JtYXQoJ0hIOm1tJykgYXMgc3RyaW5nO1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxuICB0b0RhdGUodGltZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICByZXR1cm4gZGF5anModGltZSkuZm9ybWF0KCdEIE1NTU0nKSBhcyBzdHJpbmc7XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICB9XG4gIHRvRGF0ZU51bWVyYWwodGltZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICByZXR1cm4gZGF5anModGltZSkuZm9ybWF0KCdERC5NTScpO1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxuXG4gIHRvRGF0ZU51bWVyYWxXaXRoWWVhcih0aW1lOiBEYXRlKTogc3RyaW5nIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIHJldHVybiBkYXlqcyh0aW1lKS5mb3JtYXQoJ0RELk1NLllZJyk7XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICB9XG5cbiAgdG9EYXRlV2l0aFllYXIodGltZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICByZXR1cm4gZGF5anModGltZSkuZm9ybWF0KCdNTU1NIEQsIFlZWVkgJykgYXMgc3RyaW5nO1xuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxuXG4gIGZvcm1hdERhdGUodGltZTogRGF0ZSkge1xuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBkYXlNcyA9IDEwMDAgKiA2MCAqIDYwICogMjQ7XG4gICAgY29uc3QgdHdvRGF5cyA9IGRheU1zICogMjtcblxuICAgIGlmICghdGltZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRvZGF5LmdldFRpbWUoKSAtIHRpbWUuZ2V0VGltZSgpIDwgZGF5TXMgJiZcbiAgICAgIHRvZGF5LmdldERheSgpID09PSB0aW1lLmdldERheSgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ1RvZGF5JztcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0b2RheS5nZXRUaW1lKCkgLSB0aW1lLmdldFRpbWUoKSA8IHR3b0RheXMgJiZcbiAgICAgIHRvZGF5LmdldFRpbWUoKSAtIHRpbWUuZ2V0VGltZSgpID4gZGF5TXMgJiZcbiAgICAgIHRvZGF5LmdldERheSgpICE9PSB0aW1lLmdldERheSgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ1llc3RlcmRheSc7XG4gICAgfVxuXG4gICAgaWYgKHRvZGF5LmdldEZ1bGxZZWFyKCkgPT09IHRpbWUuZ2V0RnVsbFllYXIoKSkge1xuICAgICAgcmV0dXJuIHRoaXMudG9EYXRlKHRpbWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRvRGF0ZVdpdGhZZWFyKHRpbWUpO1xuICB9XG5cbiAgZm9ybWF0VGltZU9yRGF0ZSh0aW1lOiBEYXRlKSB7XG4gICAgaWYgKCF0aW1lKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGRheU1zID0gMTAwMCAqIDYwICogNjAgKiAyNDtcblxuICAgIGlmIChcbiAgICAgIHRvZGF5LmdldFRpbWUoKSAtIHRpbWUuZ2V0VGltZSgpIDwgZGF5TXMgJiZcbiAgICAgIHRvZGF5LmdldERheSgpID09PSB0aW1lLmdldERheSgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy50b1RpbWUodGltZSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdG9kYXkuZ2V0VGltZSgpIC0gdGltZS5nZXRUaW1lKCkgPiBkYXlNcyAmJlxuICAgICAgdG9kYXkuZ2V0VGltZSgpIC0gdGltZS5nZXRUaW1lKCkgPCBkYXlNcyAqIDdcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLnRvRGF5T2ZXZWVrKHRpbWUpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRvZGF5LmdldFRpbWUoKSAtIHRpbWUuZ2V0VGltZSgpID4gZGF5TXMgKiA3ICYmXG4gICAgICB0b2RheS5nZXRGdWxsWWVhcigpID09PSB0aW1lLmdldEZ1bGxZZWFyKClcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLnRvRGF0ZU51bWVyYWwodGltZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudG9EYXRlTnVtZXJhbFdpdGhZZWFyKHRpbWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -9,13 +9,13 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
|
|
9
9
|
import * as i1$1 from '@angular/forms';
|
|
10
10
|
import { FormGroup, FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
11
11
|
import { interval } from 'rxjs';
|
|
12
|
+
import * as dayjs from 'dayjs';
|
|
13
|
+
import * as relativeTime from 'dayjs/plugin/relativeTime';
|
|
12
14
|
import { RTSeeChatEvents } from '@rtsee/messenger';
|
|
13
15
|
import * as i2$1 from 'ngx-autosize';
|
|
14
16
|
import { AutosizeModule } from 'ngx-autosize';
|
|
15
17
|
import * as i3$1 from 'ngx-infinite-scroll';
|
|
16
18
|
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
17
|
-
import * as dayjs from 'dayjs';
|
|
18
|
-
import * as relativeTime from 'dayjs/plugin/relativeTime';
|
|
19
19
|
import { MatIconModule } from '@angular/material/icon';
|
|
20
20
|
import { MatSelectModule } from '@angular/material/select';
|
|
21
21
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
@@ -224,16 +224,14 @@ class MessengerHeaderComponent {
|
|
|
224
224
|
this.defaultImagesService = defaultImagesService;
|
|
225
225
|
}
|
|
226
226
|
call() {
|
|
227
|
-
|
|
228
|
-
if (!((_a = this.messenger.openedChat) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
229
|
-
console.log('Unable to call, no opened chat!');
|
|
227
|
+
if (!this.messenger.openedChat) {
|
|
230
228
|
return;
|
|
231
229
|
}
|
|
232
|
-
void this.messenger.initializeVideoCall(this.messenger.openedChat
|
|
230
|
+
void this.messenger.initializeVideoCall(this.messenger.openedChat);
|
|
233
231
|
}
|
|
234
232
|
}
|
|
235
233
|
MessengerHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessengerHeaderComponent, deps: [{ token: DefaultImagesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
236
|
-
MessengerHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerHeaderComponent, selector: "ngx-messenger-header", inputs: { messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-messenger-header\"\n [ngClass]=\"{ 'rtsee-messenger-header-chat-opened': messenger.openedChat }\"\n>\n <div *ngIf=\"!messenger.openedChat\" class=\"rtsee-messenger-profile-image\">\n <img *ngIf=\"messenger.myPeer?.imageUrl\" [src]=\"messenger.myPeer.imageUrl\">\n <img *ngIf=\"!messenger.myPeer?.imageUrl\" [src]=\"defaultImagesService.PROFILE\">\n </div>\n\n <button class=\"rtsee-messenger-close-chat\"\n *ngIf=\"messenger.openedChat\"\n (click)=\"messenger.closeChat()\"\n
|
|
234
|
+
MessengerHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerHeaderComponent, selector: "ngx-messenger-header", inputs: { messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-messenger-header\"\n [ngClass]=\"{ 'rtsee-messenger-header-chat-opened': messenger.openedChat }\"\n>\n <div *ngIf=\"!messenger.openedChat\" class=\"rtsee-messenger-profile-image\">\n <img *ngIf=\"messenger.myPeer?.imageUrl\" [src]=\"messenger.myPeer.imageUrl\">\n <img *ngIf=\"!messenger.myPeer?.imageUrl\" [src]=\"defaultImagesService.PROFILE\">\n </div>\n\n <button class=\"rtsee-messenger-close-chat\"\n *ngIf=\"messenger.openedChat\"\n (click)=\"messenger.closeChat()\"\n >\n <span>←</span>\n <span *ngIf=\"messenger.unreadMessagesCount\">{{messenger.unreadMessagesCount}}</span>\n </button>\n\n <div *ngIf=\"messenger.openedChat\" class=\"rtsee-messenger-header-opened-chat-info\">\n <div class=\"rtsee-messenger-profile-image\">\n <img *ngIf=\"messenger.openedChat.imageUrl\" [src]=\"messenger.openedChat.imageUrl\">\n <img *ngIf=\"!messenger.openedChat.imageUrl\" [src]=\"defaultImagesService.PROFILE\">\n </div>\n <p *ngIf=\"messenger.openedChat\"\n class=\"rtsee-messenger-header-chat-title\"\n >{{ messenger.openedChat.name }}</p>\n </div>\n\n <p *ngIf=\"!messenger.openedChat\"\n class=\"rtsee-messenger-header-title\"\n >Chats</p>\n\n <button\n *ngIf=\"messenger.openedChat\"\n (click)=\"call()\"\n class=\"rtsee-messenger-call-button\"\n >Call</button>\n</div>\n", styles: [""], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
237
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessengerHeaderComponent, decorators: [{
|
|
238
236
|
type: Component,
|
|
239
237
|
args: [{
|
|
@@ -245,10 +243,101 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
245
243
|
type: Input
|
|
246
244
|
}] } });
|
|
247
245
|
|
|
246
|
+
dayjs.extend(relativeTime);
|
|
247
|
+
class TimeFormatHelperService {
|
|
248
|
+
toAgo(time) {
|
|
249
|
+
/* eslint-disable */
|
|
250
|
+
return dayjs(time).fromNow();
|
|
251
|
+
/* eslint-enable */
|
|
252
|
+
}
|
|
253
|
+
toDayOfWeek(time) {
|
|
254
|
+
/* eslint-disable */
|
|
255
|
+
return dayjs(time).format('ddd');
|
|
256
|
+
/* eslint-enable */
|
|
257
|
+
}
|
|
258
|
+
toTime(time) {
|
|
259
|
+
/* eslint-disable */
|
|
260
|
+
return dayjs(time).format('HH:mm');
|
|
261
|
+
/* eslint-enable */
|
|
262
|
+
}
|
|
263
|
+
toDate(time) {
|
|
264
|
+
/* eslint-disable */
|
|
265
|
+
return dayjs(time).format('D MMMM');
|
|
266
|
+
/* eslint-enable */
|
|
267
|
+
}
|
|
268
|
+
toDateNumeral(time) {
|
|
269
|
+
/* eslint-disable */
|
|
270
|
+
return dayjs(time).format('DD.MM');
|
|
271
|
+
/* eslint-enable */
|
|
272
|
+
}
|
|
273
|
+
toDateNumeralWithYear(time) {
|
|
274
|
+
/* eslint-disable */
|
|
275
|
+
return dayjs(time).format('DD.MM.YY');
|
|
276
|
+
/* eslint-enable */
|
|
277
|
+
}
|
|
278
|
+
toDateWithYear(time) {
|
|
279
|
+
/* eslint-disable */
|
|
280
|
+
return dayjs(time).format('MMMM D, YYYY ');
|
|
281
|
+
/* eslint-enable */
|
|
282
|
+
}
|
|
283
|
+
formatDate(time) {
|
|
284
|
+
const today = new Date();
|
|
285
|
+
const dayMs = 1000 * 60 * 60 * 24;
|
|
286
|
+
const twoDays = dayMs * 2;
|
|
287
|
+
if (!time) {
|
|
288
|
+
return '';
|
|
289
|
+
}
|
|
290
|
+
if (today.getTime() - time.getTime() < dayMs &&
|
|
291
|
+
today.getDay() === time.getDay()) {
|
|
292
|
+
return 'Today';
|
|
293
|
+
}
|
|
294
|
+
if (today.getTime() - time.getTime() < twoDays &&
|
|
295
|
+
today.getTime() - time.getTime() > dayMs &&
|
|
296
|
+
today.getDay() !== time.getDay()) {
|
|
297
|
+
return 'Yesterday';
|
|
298
|
+
}
|
|
299
|
+
if (today.getFullYear() === time.getFullYear()) {
|
|
300
|
+
return this.toDate(time);
|
|
301
|
+
}
|
|
302
|
+
return this.toDateWithYear(time);
|
|
303
|
+
}
|
|
304
|
+
formatTimeOrDate(time) {
|
|
305
|
+
if (!time) {
|
|
306
|
+
return '';
|
|
307
|
+
}
|
|
308
|
+
const today = new Date();
|
|
309
|
+
const dayMs = 1000 * 60 * 60 * 24;
|
|
310
|
+
if (today.getTime() - time.getTime() < dayMs &&
|
|
311
|
+
today.getDay() === time.getDay()) {
|
|
312
|
+
return this.toTime(time);
|
|
313
|
+
}
|
|
314
|
+
if (today.getTime() - time.getTime() > dayMs &&
|
|
315
|
+
today.getTime() - time.getTime() < dayMs * 7) {
|
|
316
|
+
return this.toDayOfWeek(time);
|
|
317
|
+
}
|
|
318
|
+
if (today.getTime() - time.getTime() > dayMs * 7 &&
|
|
319
|
+
today.getFullYear() === time.getFullYear()) {
|
|
320
|
+
return this.toDateNumeral(time);
|
|
321
|
+
}
|
|
322
|
+
return this.toDateNumeralWithYear(time);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
TimeFormatHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: TimeFormatHelperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
326
|
+
TimeFormatHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: TimeFormatHelperService, providedIn: 'root' });
|
|
327
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: TimeFormatHelperService, decorators: [{
|
|
328
|
+
type: Injectable,
|
|
329
|
+
args: [{
|
|
330
|
+
providedIn: 'root',
|
|
331
|
+
}]
|
|
332
|
+
}] });
|
|
333
|
+
|
|
248
334
|
class ChatThumbnailComponent {
|
|
335
|
+
constructor(timeFormatService) {
|
|
336
|
+
this.timeFormatService = timeFormatService;
|
|
337
|
+
}
|
|
249
338
|
}
|
|
250
|
-
ChatThumbnailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: ChatThumbnailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
251
|
-
ChatThumbnailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatThumbnailComponent, selector: "ngx-chat-thumbnail", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-chat-thumbnail\" (click)=\"messenger.openChat(chat)\">\n <div class=\"rtsee-chat-thumbnail-image\">\n <img [src]=\"chat.imageUrl\" alt=\"chat-img\">\n </div>\n <div class=\"rtsee-chat-thumbnail-info\">\n <p class=\"rtsee-chat-thumbnail-name\">{{ chat.name }}</p>\n <p class=\"rtsee-chat-thumbnail-last-
|
|
339
|
+
ChatThumbnailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: ChatThumbnailComponent, deps: [{ token: TimeFormatHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
340
|
+
ChatThumbnailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatThumbnailComponent, selector: "ngx-chat-thumbnail", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-chat-thumbnail\" (click)=\"messenger.openChat(chat)\">\n <div class=\"rtsee-chat-thumbnail-image\">\n <img [src]=\"chat.imageUrl\" alt=\"chat-img\">\n </div>\n <div class=\"rtsee-chat-thumbnail-info\">\n <p class=\"rtsee-chat-thumbnail-name\">{{ chat.name }} <span>{{ chat.unreadMessagesCount }}</span></p>\n <p class=\"rtsee-chat-thumbnail-last-sender\">{{chat.getLastSenderName()}}</p>\n <p class=\"rtsee-chat-thumbnail-last-message\" *ngIf=\"chat.messages.length\">\n <span>{{chat.getLastSentMessageText()}}</span>\n <span>{{chat.unreadMessagesCount}}</span>\n <span>{{chat.getLastSentMessageStatus()}}</span>\n <span>{{timeFormatService.formatTimeOrDate(chat.getLastSentMessageTime())}}</span>\n </p>\n </div>\n</div>\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
252
341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: ChatThumbnailComponent, decorators: [{
|
|
253
342
|
type: Component,
|
|
254
343
|
args: [{
|
|
@@ -256,7 +345,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
256
345
|
templateUrl: './chat-thumbnail.component.html',
|
|
257
346
|
styleUrls: ['./chat-thumbnail.component.css'],
|
|
258
347
|
}]
|
|
259
|
-
}], propDecorators: { chat: [{
|
|
348
|
+
}], ctorParameters: function () { return [{ type: TimeFormatHelperService }]; }, propDecorators: { chat: [{
|
|
260
349
|
type: Input
|
|
261
350
|
}], messenger: [{
|
|
262
351
|
type: Input
|
|
@@ -356,9 +445,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
356
445
|
}] });
|
|
357
446
|
|
|
358
447
|
class MessageComponent {
|
|
359
|
-
constructor(widgetsService, componentFactoryResolver) {
|
|
448
|
+
constructor(widgetsService, componentFactoryResolver, timeFormatService) {
|
|
360
449
|
this.widgetsService = widgetsService;
|
|
361
450
|
this.componentFactoryResolver = componentFactoryResolver;
|
|
451
|
+
this.timeFormatService = timeFormatService;
|
|
362
452
|
}
|
|
363
453
|
ngAfterViewInit() {
|
|
364
454
|
/* eslint-disable */
|
|
@@ -378,8 +468,8 @@ class MessageComponent {
|
|
|
378
468
|
/* eslint-enable */
|
|
379
469
|
}
|
|
380
470
|
}
|
|
381
|
-
MessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessageComponent, deps: [{ token: WidgetsService }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
|
|
382
|
-
MessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessageComponent, selector: "ngx-message", inputs: { chat: "chat", message: "message", member: "member", messenger: "messenger" }, viewQueries: [{ propertyName: "widgetHost", first: true, predicate: WidgetDirective, descendants: true }], ngImport: i0, template: "<div class=\"rtsee-messenger-message-container\"
|
|
471
|
+
MessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessageComponent, deps: [{ token: WidgetsService }, { token: i0.ComponentFactoryResolver }, { token: TimeFormatHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
472
|
+
MessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessageComponent, selector: "ngx-message", inputs: { chat: "chat", message: "message", member: "member", messenger: "messenger" }, viewQueries: [{ propertyName: "widgetHost", first: true, predicate: WidgetDirective, descendants: true }], ngImport: i0, template: "<div class=\"rtsee-messenger-message-container\"\n [ngClass]=\"{'rtsee-message-from-me': message.from === messenger.clientId}\"\n>\n <div class=\"rtsee-messenger-message\">\n <ng-template widgetHost></ng-template>\n <p *ngIf=\"!message.widget\"\n class=\"rtsee-messenger-message-text\"\n >{{ message.text }}</p>\n <div class=\"rtsee-messenger-message-info\">\n <div class=\"rtsee-messenger-message-time\">\n <p>{{ timeFormatService.toTime(message.createdAt) }}</p>\n </div>\n <div class=\"rtsee-messenger-message-status\" *ngIf=\"message.from === messenger.clientId\">\n <span *ngIf=\"message.status === 'pending'\">pending</span>\n <span *ngIf=\"message.status === 'sent'\">sent</span>\n <span *ngIf=\"message.status === 'delivered'\">delivered</span>\n <span *ngIf=\"message.status === 'seen'\">seen</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: WidgetDirective, selector: "[widgetHost]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
383
473
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessageComponent, decorators: [{
|
|
384
474
|
type: Component,
|
|
385
475
|
args: [{
|
|
@@ -387,7 +477,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
387
477
|
templateUrl: './message.component.html',
|
|
388
478
|
styleUrls: ['./message.component.css'],
|
|
389
479
|
}]
|
|
390
|
-
}], ctorParameters: function () { return [{ type: WidgetsService }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { chat: [{
|
|
480
|
+
}], ctorParameters: function () { return [{ type: WidgetsService }, { type: i0.ComponentFactoryResolver }, { type: TimeFormatHelperService }]; }, propDecorators: { chat: [{
|
|
391
481
|
type: Input
|
|
392
482
|
}], message: [{
|
|
393
483
|
type: Input
|
|
@@ -401,9 +491,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
401
491
|
}] } });
|
|
402
492
|
|
|
403
493
|
class MessagesListComponent {
|
|
494
|
+
constructor(timeFormatService) {
|
|
495
|
+
this.timeFormatService = timeFormatService;
|
|
496
|
+
}
|
|
497
|
+
hasDateChanged(currentMessage, index) {
|
|
498
|
+
const previousMessage = this.chat.messages[index - 1];
|
|
499
|
+
if (!previousMessage) {
|
|
500
|
+
return true;
|
|
501
|
+
}
|
|
502
|
+
if (!previousMessage.createdAt || !currentMessage.createdAt) {
|
|
503
|
+
return false;
|
|
504
|
+
}
|
|
505
|
+
return (previousMessage.createdAt.getDay() !== currentMessage.createdAt.getDay());
|
|
506
|
+
}
|
|
507
|
+
formatDate(message) {
|
|
508
|
+
return this.timeFormatService.formatDate(message.createdAt);
|
|
509
|
+
}
|
|
404
510
|
}
|
|
405
|
-
MessagesListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessagesListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
406
|
-
MessagesListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessagesListComponent, selector: "ngx-messages-list", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-messenger-messages-list\">\n <div class=\"rtsee-messenger-message-wrapper\" *ngFor=\"let message of chat.messages\">\n <ngx-message [message]=\"message\" [messenger]=\"messenger\" [chat]=\"chat\"></ngx-message>\n </div>\n</div>\n", styles: [""], components: [{ type: MessageComponent, selector: "ngx-message", inputs: ["chat", "message", "member", "messenger"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
511
|
+
MessagesListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessagesListComponent, deps: [{ token: TimeFormatHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
512
|
+
MessagesListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessagesListComponent, selector: "ngx-messages-list", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0, template: "<div class=\"rtsee-messenger-messages-list\">\n <div class=\"rtsee-messenger-message-wrapper\" *ngFor=\"let message of chat.messages; let i = index;\">\n <span *ngIf=\"hasDateChanged(message, i)\"\n >{{formatDate(message)}}</span>\n <ngx-message [message]=\"message\" [messenger]=\"messenger\" [chat]=\"chat\"></ngx-message>\n </div>\n</div>\n", styles: [""], components: [{ type: MessageComponent, selector: "ngx-message", inputs: ["chat", "message", "member", "messenger"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
407
513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: MessagesListComponent, decorators: [{
|
|
408
514
|
type: Component,
|
|
409
515
|
args: [{
|
|
@@ -411,7 +517,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
411
517
|
templateUrl: './messages-list.component.html',
|
|
412
518
|
styleUrls: ['./messages-list.component.css'],
|
|
413
519
|
}]
|
|
414
|
-
}], propDecorators: { chat: [{
|
|
520
|
+
}], ctorParameters: function () { return [{ type: TimeFormatHelperService }]; }, propDecorators: { chat: [{
|
|
415
521
|
type: Input
|
|
416
522
|
}], messenger: [{
|
|
417
523
|
type: Input
|
|
@@ -520,23 +626,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
520
626
|
type: Input
|
|
521
627
|
}] } });
|
|
522
628
|
|
|
523
|
-
dayjs.extend(relativeTime);
|
|
524
|
-
class TimeFormatHelperService {
|
|
525
|
-
toAgo(time) {
|
|
526
|
-
/* eslint-disable */
|
|
527
|
-
return dayjs(time).fromNow();
|
|
528
|
-
/* eslint-enable */
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
TimeFormatHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: TimeFormatHelperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
532
|
-
TimeFormatHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: TimeFormatHelperService, providedIn: 'root' });
|
|
533
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: TimeFormatHelperService, decorators: [{
|
|
534
|
-
type: Injectable,
|
|
535
|
-
args: [{
|
|
536
|
-
providedIn: 'root',
|
|
537
|
-
}]
|
|
538
|
-
}] });
|
|
539
|
-
|
|
540
629
|
class RtseeEventsDashboardClientThumbnailComponent {
|
|
541
630
|
constructor(timeFormatService) {
|
|
542
631
|
this.timeFormatService = timeFormatService;
|