@arthakosh/chat 0.0.1
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/README.md +24 -0
- package/esm2022/arthakosh-chat.mjs +5 -0
- package/esm2022/lib/all-chats/all-chats.component.mjs +121 -0
- package/esm2022/lib/chat-launcher/chat-launcher.component.mjs +96 -0
- package/esm2022/lib/chat-widget-notification/chat-widget-notification.component.mjs +69 -0
- package/esm2022/lib/chat-widget.module.mjs +47 -0
- package/esm2022/lib/chat-widget.service.mjs +12 -0
- package/esm2022/lib/chat-window/chat-window.component.mjs +210 -0
- package/esm2022/lib/core/config/chat-config.mjs +2 -0
- package/esm2022/lib/core/config/chat.tokens.mjs +4 -0
- package/esm2022/lib/core/models/chat.models.mjs +2 -0
- package/esm2022/lib/core/models/notification.model.mjs +2 -0
- package/esm2022/lib/core/services/chat.service.mjs +117 -0
- package/esm2022/lib/core/services/socket.service.mjs +148 -0
- package/esm2022/public-api.mjs +10 -0
- package/fesm2022/arthakosh-chat.mjs +776 -0
- package/fesm2022/arthakosh-chat.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/all-chats/all-chats.component.d.ts +23 -0
- package/lib/chat-launcher/chat-launcher.component.d.ts +34 -0
- package/lib/chat-widget-notification/chat-widget-notification.component.d.ts +22 -0
- package/lib/chat-widget.module.d.ts +14 -0
- package/lib/chat-widget.service.d.ts +6 -0
- package/lib/chat-window/chat-window.component.d.ts +49 -0
- package/lib/core/config/chat-config.d.ts +4 -0
- package/lib/core/config/chat.tokens.d.ts +3 -0
- package/lib/core/models/chat.models.d.ts +22 -0
- package/lib/core/models/notification.model.d.ts +6 -0
- package/lib/core/services/chat.service.d.ts +34 -0
- package/lib/core/services/socket.service.d.ts +38 -0
- package/package.json +42 -0
- package/public-api.d.ts +6 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Inject, Injectable, signal } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { CHAT_CONFIG } from "../config/chat.tokens";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SocketService {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.config = config;
|
|
8
|
+
this.listeners = new Map();
|
|
9
|
+
this.notifications = signal([]);
|
|
10
|
+
this.hasNewNotification = signal(false);
|
|
11
|
+
this.reconnectAttempts = 0;
|
|
12
|
+
this.MAX_RECONNECT_ATTEMPTS = 5;
|
|
13
|
+
// this.connect();
|
|
14
|
+
}
|
|
15
|
+
connect(userId) {
|
|
16
|
+
// this.socket = new WebSocket('wss://coreuatarthkosh.sarjak.com/ws/');
|
|
17
|
+
if (this.reconnectAttempts >= this.MAX_RECONNECT_ATTEMPTS) {
|
|
18
|
+
console.error('[WS] Max reconnect attempts reached. Giving up.');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
this.socket = new WebSocket(`${this.config.wsBaseUrl}/ws/`);
|
|
22
|
+
this.socket.onopen = () => {
|
|
23
|
+
console.log('[WS] Connected');
|
|
24
|
+
this.reconnectAttempts = 0;
|
|
25
|
+
this.joinUserChannel(userId);
|
|
26
|
+
this.on('notificationCreated').subscribe((notification) => {
|
|
27
|
+
console.log('Listening for notifications', notification);
|
|
28
|
+
this.notifications.update(list => {
|
|
29
|
+
const roomId = notification.entityId;
|
|
30
|
+
const eventType = notification.eventType;
|
|
31
|
+
// 🔑 Dedup key = room + eventType
|
|
32
|
+
const exists = list.some(n => n.entityId === roomId && n.eventType === eventType);
|
|
33
|
+
// ❌ Already exists → do nothing
|
|
34
|
+
if (exists) {
|
|
35
|
+
return list;
|
|
36
|
+
}
|
|
37
|
+
// ✅ New (room + eventType) combination
|
|
38
|
+
return [
|
|
39
|
+
{
|
|
40
|
+
...notification,
|
|
41
|
+
unreadCount: 1
|
|
42
|
+
},
|
|
43
|
+
...list
|
|
44
|
+
];
|
|
45
|
+
});
|
|
46
|
+
this.notifyArrival();
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
this.socket.onmessage = (event) => {
|
|
50
|
+
const msg = JSON.parse(event.data);
|
|
51
|
+
const handlers = this.listeners.get(msg.event) || [];
|
|
52
|
+
handlers.forEach(h => h(msg.data));
|
|
53
|
+
};
|
|
54
|
+
this.socket.onerror = (err) => {
|
|
55
|
+
console.error('[WS] Error', err);
|
|
56
|
+
this.socket.close();
|
|
57
|
+
};
|
|
58
|
+
this.socket.onclose = () => {
|
|
59
|
+
this.reconnectAttempts++;
|
|
60
|
+
console.warn('[WS] Disconnected – reconnecting...');
|
|
61
|
+
if (this.reconnectAttempts < this.MAX_RECONNECT_ATTEMPTS) {
|
|
62
|
+
setTimeout(() => this.connect(userId), 2000);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.error('[WS] Stopped reconnecting.');
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
emit(event, data) {
|
|
70
|
+
const payload = { event, data };
|
|
71
|
+
this.socket.send(JSON.stringify(payload));
|
|
72
|
+
}
|
|
73
|
+
joinRoom(roomId) {
|
|
74
|
+
this.emit('joinRoom', roomId);
|
|
75
|
+
}
|
|
76
|
+
joinUserChannel(userId) {
|
|
77
|
+
this.emit('joinUserChannel', userId);
|
|
78
|
+
}
|
|
79
|
+
sendMessage(data) {
|
|
80
|
+
this.emit('sendMessage', data);
|
|
81
|
+
}
|
|
82
|
+
messageSeen(data) {
|
|
83
|
+
this.emit('messageSeen', data);
|
|
84
|
+
}
|
|
85
|
+
on(event) {
|
|
86
|
+
return new Observable(sub => {
|
|
87
|
+
const handler = (data) => sub.next(data);
|
|
88
|
+
if (!this.listeners.has(event)) {
|
|
89
|
+
this.listeners.set(event, []);
|
|
90
|
+
}
|
|
91
|
+
this.listeners.get(event).push(handler);
|
|
92
|
+
return () => {
|
|
93
|
+
const arr = this.listeners.get(event) || [];
|
|
94
|
+
this.listeners.set(event, arr.filter(h => h !== handler));
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
onNewMessage(cb) {
|
|
99
|
+
this.addListener('newMessage', cb);
|
|
100
|
+
}
|
|
101
|
+
offNewMessage(cb) {
|
|
102
|
+
this.removeListener('newMessage', cb);
|
|
103
|
+
}
|
|
104
|
+
onMessageSeen(cb) {
|
|
105
|
+
this.addListener('messageSeen', cb);
|
|
106
|
+
}
|
|
107
|
+
offMessageSeen(cb) {
|
|
108
|
+
this.removeListener('messageSeen', cb);
|
|
109
|
+
}
|
|
110
|
+
addListener(event, cb) {
|
|
111
|
+
if (!this.listeners.has(event)) {
|
|
112
|
+
this.listeners.set(event, []);
|
|
113
|
+
}
|
|
114
|
+
this.listeners.get(event).push(cb);
|
|
115
|
+
}
|
|
116
|
+
removeListener(event, cb) {
|
|
117
|
+
if (!cb) {
|
|
118
|
+
this.listeners.delete(event);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const arr = this.listeners.get(event) || [];
|
|
122
|
+
this.listeners.set(event, arr.filter(h => h !== cb));
|
|
123
|
+
}
|
|
124
|
+
clearAll() {
|
|
125
|
+
this.notifications.set([]);
|
|
126
|
+
}
|
|
127
|
+
notifyArrival() {
|
|
128
|
+
this.hasNewNotification.set(true);
|
|
129
|
+
setTimeout(() => {
|
|
130
|
+
this.hasNewNotification.set(false);
|
|
131
|
+
}, 2000);
|
|
132
|
+
}
|
|
133
|
+
clearRoom(chat) {
|
|
134
|
+
this.notifications.update(list => list.filter(n => !(n.entityId === chat.entityId &&
|
|
135
|
+
n.eventType === chat.eventType)));
|
|
136
|
+
this.hasNewNotification.set(this.notifications().length > 1);
|
|
137
|
+
}
|
|
138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SocketService, deps: [{ token: CHAT_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
139
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SocketService, providedIn: 'root' }); }
|
|
140
|
+
}
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SocketService, decorators: [{
|
|
142
|
+
type: Injectable,
|
|
143
|
+
args: [{ providedIn: 'root' }]
|
|
144
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
145
|
+
type: Inject,
|
|
146
|
+
args: [CHAT_CONFIG]
|
|
147
|
+
}] }] });
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXdpZGdldC9zcmMvbGliL2NvcmUvc2VydmljZXMvc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUtsRCxNQUFNLE9BQU8sYUFBYTtJQVN0QixZQUF5QyxNQUFrQjtRQUFsQixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBTm5ELGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztRQUMvRCxrQkFBYSxHQUFHLE1BQU0sQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0Isc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsMkJBQXNCLEdBQUcsQ0FBQyxDQUFDO1FBR3hDLGtCQUFrQjtJQUN0QixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWM7UUFDbEIsdUVBQXVFO1FBQ3ZFLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3hELE9BQU8sQ0FBQyxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztZQUNqRSxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsTUFBTSxDQUFDLENBQUM7UUFFNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JB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QUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFzQjtRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUM3QixJQUFJLENBQUMsTUFBTSxDQUNQLENBQUMsQ0FBQyxFQUFFLENBQ0EsQ0FBQyxDQUNHLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVE7WUFDNUIsQ0FBQyxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUNqQyxDQUNSLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDOytHQXhLUSxhQUFhLGtCQVNGLFdBQVc7bUhBVHRCLGFBQWEsY0FERCxNQUFNOzs0RkFDbEIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OzBCQVVmLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0NIQVRfQ09ORklHfSBmcm9tIFwiLi4vY29uZmlnL2NoYXQudG9rZW5zXCI7XHJcbmltcG9ydCB7Q2hhdENvbmZpZ30gZnJvbSBcIi4uL2NvbmZpZy9jaGF0LWNvbmZpZ1wiO1xyXG5pbXBvcnQge0NoYXROb3RpZmljYXRpb259IGZyb20gXCIuLi9tb2RlbHMvbm90aWZpY2F0aW9uLm1vZGVsXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcclxuZXhwb3J0IGNsYXNzIFNvY2tldFNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgc29ja2V0ITogV2ViU29ja2V0O1xyXG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnMgPSBuZXcgTWFwPHN0cmluZywgKChkYXRhOiBhbnkpID0+IHZvaWQpW10+KCk7XHJcbiAgICBub3RpZmljYXRpb25zID0gc2lnbmFsPGFueVtdPihbXSk7XHJcbiAgICBoYXNOZXdOb3RpZmljYXRpb24gPSBzaWduYWwoZmFsc2UpO1xyXG4gICAgcHJpdmF0ZSByZWNvbm5lY3RBdHRlbXB0cyA9IDA7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IE1BWF9SRUNPTk5FQ1RfQVRURU1QVFMgPSA1O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoQ0hBVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBDaGF0Q29uZmlnKSB7XHJcbiAgICAgICAgLy8gdGhpcy5jb25uZWN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29ubmVjdCh1c2VySWQ6IHN0cmluZykge1xyXG4gICAgICAgIC8vIHRoaXMuc29ja2V0ID0gbmV3IFdlYlNvY2tldCgnd3NzOi8vY29yZXVhdGFydGhrb3NoLnNhcmphay5jb20vd3MvJyk7XHJcbiAgICAgICAgaWYgKHRoaXMucmVjb25uZWN0QXR0ZW1wdHMgPj0gdGhpcy5NQVhfUkVDT05ORUNUX0FUVEVNUFRTKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tXU10gTWF4IHJlY29ubmVjdCBhdHRlbXB0cyByZWFjaGVkLiBHaXZpbmcgdXAuJyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc29ja2V0ID0gbmV3IFdlYlNvY2tldChgJHt0aGlzLmNvbmZpZy53c0Jhc2VVcmx9L3dzL2ApO1xyXG5cclxuICAgICAgICB0aGlzLnNvY2tldC5vbm9wZW4gPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdbV1NdIENvbm5lY3RlZCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlY29ubmVjdEF0dGVtcHRzID0gMDtcclxuICAgICAgICAgICAgdGhpcy5qb2luVXNlckNoYW5uZWwodXNlcklkKTtcclxuICAgICAgICAgICAgdGhpcy5vbignbm90aWZpY2F0aW9uQ3JlYXRlZCcpLnN1YnNjcmliZSgobm90aWZpY2F0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdMaXN0ZW5pbmcgZm9yIG5vdGlmaWNhdGlvbnMnLCBub3RpZmljYXRpb24pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLnVwZGF0ZShsaXN0ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByb29tSWQgPSBub3RpZmljYXRpb24uZW50aXR5SWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXZlbnRUeXBlID0gbm90aWZpY2F0aW9uLmV2ZW50VHlwZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8g8J+UkSBEZWR1cCBrZXkgPSByb29tICsgZXZlbnRUeXBlXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RzID0gbGlzdC5zb21lKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuID0+IG4uZW50aXR5SWQgPT09IHJvb21JZCAmJiBuLmV2ZW50VHlwZSA9PT0gZXZlbnRUeXBlXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8g4p2MIEFscmVhZHkgZXhpc3RzIOKGkiBkbyBub3RoaW5nXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4aXN0cykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGlzdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIOKchSBOZXcgKHJvb20gKyBldmVudFR5cGUpIGNvbWJpbmF0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubm90aWZpY2F0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5yZWFkQ291bnQ6IDFcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4ubGlzdFxyXG4gICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZ5QXJyaXZhbCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnNvY2tldC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbXNnOiBhbnkgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpO1xyXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVycyA9IHRoaXMubGlzdGVuZXJzLmdldChtc2cuZXZlbnQpIHx8IFtdO1xyXG4gICAgICAgICAgICBoYW5kbGVycy5mb3JFYWNoKGggPT4gaChtc2cuZGF0YSkpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuc29ja2V0Lm9uZXJyb3IgPSAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tXU10gRXJyb3InLCBlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLnNvY2tldC5jbG9zZSgpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuc29ja2V0Lm9uY2xvc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucmVjb25uZWN0QXR0ZW1wdHMrKztcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKCdbV1NdIERpc2Nvbm5lY3RlZCDigJMgcmVjb25uZWN0aW5nLi4uJyk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnJlY29ubmVjdEF0dGVtcHRzIDwgdGhpcy5NQVhfUkVDT05ORUNUX0FUVEVNUFRTKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY29ubmVjdCh1c2VySWQpLCAyMDAwKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tXU10gU3RvcHBlZCByZWNvbm5lY3RpbmcuJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGVtaXQoZXZlbnQ6IHN0cmluZywgZGF0YT86IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtldmVudCwgZGF0YX07XHJcbiAgICAgICAgdGhpcy5zb2NrZXQuc2VuZChKU09OLnN0cmluZ2lmeShwYXlsb2FkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgam9pblJvb20ocm9vbUlkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmVtaXQoJ2pvaW5Sb29tJywgcm9vbUlkKTtcclxuICAgIH1cclxuXHJcbiAgICBqb2luVXNlckNoYW5uZWwodXNlcklkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmVtaXQoJ2pvaW5Vc2VyQ2hhbm5lbCcsIHVzZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZE1lc3NhZ2UoZGF0YTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5lbWl0KCdzZW5kTWVzc2FnZScsIGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIG1lc3NhZ2VTZWVuKGRhdGE6IHsgY2hhdFJvb21JZDogc3RyaW5nOyB1c2VySWQ6IHN0cmluZyB9KSB7XHJcbiAgICAgICAgdGhpcy5lbWl0KCdtZXNzYWdlU2VlbicsIGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uPFQ+KGV2ZW50OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3ViID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaGFuZGxlciA9IChkYXRhOiBUKSA9PiBzdWIubmV4dChkYXRhKTtcclxuXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5saXN0ZW5lcnMuaGFzKGV2ZW50KSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KGV2ZW50LCBbXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuZ2V0KGV2ZW50KSEucHVzaChoYW5kbGVyKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBhcnIgPSB0aGlzLmxpc3RlbmVycy5nZXQoZXZlbnQpIHx8IFtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KGV2ZW50LCBhcnIuZmlsdGVyKGggPT4gaCAhPT0gaGFuZGxlcikpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uTmV3TWVzc2FnZShjYjogKG1zZzogYW55KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgdGhpcy5hZGRMaXN0ZW5lcignbmV3TWVzc2FnZScsIGNiKTtcclxuICAgIH1cclxuXHJcbiAgICBvZmZOZXdNZXNzYWdlKGNiPzogKG1zZzogYW55KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcignbmV3TWVzc2FnZScsIGNiKTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1lc3NhZ2VTZWVuKGNiOiAoZGF0YTogeyBjaGF0Um9vbUlkOiBzdHJpbmc7IHVzZXJJZDogc3RyaW5nIH0pID0+IHZvaWQpIHtcclxuICAgICAgICB0aGlzLmFkZExpc3RlbmVyKCdtZXNzYWdlU2VlbicsIGNiKTtcclxuICAgIH1cclxuXHJcbiAgICBvZmZNZXNzYWdlU2VlbihjYj86IChkYXRhOiBhbnkpID0+IHZvaWQpIHtcclxuICAgICAgICB0aGlzLnJlbW92ZUxpc3RlbmVyKCdtZXNzYWdlU2VlbicsIGNiKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZExpc3RlbmVyKGV2ZW50OiBzdHJpbmcsIGNiOiAoZGF0YTogYW55KSA9PiB2b2lkKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RlbmVycy5oYXMoZXZlbnQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLnNldChldmVudCwgW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpc3RlbmVycy5nZXQoZXZlbnQpIS5wdXNoKGNiKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbW92ZUxpc3RlbmVyKGV2ZW50OiBzdHJpbmcsIGNiPzogKGRhdGE6IGFueSkgPT4gdm9pZCkge1xyXG4gICAgICAgIGlmICghY2IpIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuZGVsZXRlKGV2ZW50KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBhcnIgPSB0aGlzLmxpc3RlbmVycy5nZXQoZXZlbnQpIHx8IFtdO1xyXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnNldChldmVudCwgYXJyLmZpbHRlcihoID0+IGggIT09IGNiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJBbGwoKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLnNldChbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgbm90aWZ5QXJyaXZhbCgpIHtcclxuICAgICAgICB0aGlzLmhhc05ld05vdGlmaWNhdGlvbi5zZXQodHJ1ZSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzTmV3Tm90aWZpY2F0aW9uLnNldChmYWxzZSk7XHJcbiAgICAgICAgfSwgMjAwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJSb29tKGNoYXQ6IENoYXROb3RpZmljYXRpb24pIHtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMudXBkYXRlKGxpc3QgPT5cclxuICAgICAgICAgICAgbGlzdC5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICBuID0+XHJcbiAgICAgICAgICAgICAgICAgICAgIShcclxuICAgICAgICAgICAgICAgICAgICAgICAgbi5lbnRpdHlJZCA9PT0gY2hhdC5lbnRpdHlJZCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuLmV2ZW50VHlwZSA9PT0gY2hhdC5ldmVudFR5cGVcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaGFzTmV3Tm90aWZpY2F0aW9uLnNldCh0aGlzLm5vdGlmaWNhdGlvbnMoKS5sZW5ndGggPiAxKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of chat-widget
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/chat-widget.module';
|
|
5
|
+
export * from './lib/chat-launcher/chat-launcher.component';
|
|
6
|
+
export * from './lib/all-chats/all-chats.component';
|
|
7
|
+
export * from './lib/core/models/chat.models';
|
|
8
|
+
export * from './lib/chat-widget-notification/chat-widget-notification.component';
|
|
9
|
+
export * from './lib/chat-widget.service';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NoYXQtd2lkZ2V0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1FQUFtRSxDQUFBO0FBQ2pGLGNBQWMsMkJBQTJCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY2hhdC13aWRnZXRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGF0LXdpZGdldC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGF0LWxhdW5jaGVyL2NoYXQtbGF1bmNoZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWxsLWNoYXRzL2FsbC1jaGF0cy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21vZGVscy9jaGF0Lm1vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoYXQtd2lkZ2V0LW5vdGlmaWNhdGlvbi9jaGF0LXdpZGdldC1ub3RpZmljYXRpb24uY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGF0LXdpZGdldC5zZXJ2aWNlJ1xyXG5cclxuIl19
|