@muraai/mnl-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/esm2020/lib/chat.module.mjs +87 -0
- package/esm2020/lib/components/ng-chat/ng-chat.component.mjs +588 -0
- package/esm2020/lib/components/ng-chat-friends-list/ng-chat-friends-list.component.mjs +128 -0
- package/esm2020/lib/components/ng-chat-options/ng-chat-options.component.mjs +29 -0
- package/esm2020/lib/components/ng-chat-window/ng-chat-window.component.mjs +247 -0
- package/esm2020/lib/core/chat-adapter.mjs +18 -0
- package/esm2020/lib/core/chat-controller.mjs +2 -0
- package/esm2020/lib/core/chat-group-adapter.mjs +2 -0
- package/esm2020/lib/core/chat-option.mjs +2 -0
- package/esm2020/lib/core/chat-participant-status-descriptor.mjs +6 -0
- package/esm2020/lib/core/chat-participant-status.enum.mjs +8 -0
- package/esm2020/lib/core/chat-participant-type.enum.mjs +6 -0
- package/esm2020/lib/core/chat-participant.mjs +2 -0
- package/esm2020/lib/core/default-file-upload-adapter.mjs +43 -0
- package/esm2020/lib/core/file-upload-adapter.mjs +2 -0
- package/esm2020/lib/core/group.mjs +14 -0
- package/esm2020/lib/core/guid.mjs +11 -0
- package/esm2020/lib/core/localization.mjs +2 -0
- package/esm2020/lib/core/message-counter.mjs +25 -0
- package/esm2020/lib/core/message-type.enum.mjs +7 -0
- package/esm2020/lib/core/message.mjs +7 -0
- package/esm2020/lib/core/paged-history-chat-adapter.mjs +9 -0
- package/esm2020/lib/core/participant-metadata.mjs +6 -0
- package/esm2020/lib/core/participant-response.mjs +3 -0
- package/esm2020/lib/core/scroll-direction.enum.mjs +6 -0
- package/esm2020/lib/core/theme.enum.mjs +7 -0
- package/esm2020/lib/core/user.mjs +7 -0
- package/esm2020/lib/core/window.mjs +20 -0
- package/esm2020/lib/firstLetter.pipe.mjs +20 -0
- package/esm2020/lib/material.module.mjs +50 -0
- package/esm2020/lib/pipes/emojify.pipe.mjs +41 -0
- package/esm2020/lib/pipes/group-message-display-name.pipe.mjs +24 -0
- package/esm2020/lib/pipes/linkfy.pipe.mjs +34 -0
- package/esm2020/lib/pipes/sanitize.pipe.mjs +21 -0
- package/esm2020/lib/services/chat.service.mjs +14 -0
- package/esm2020/muraai-mnl-chat.mjs +5 -0
- package/esm2020/public-api.mjs +25 -0
- package/fesm2015/muraai-mnl-chat.mjs +1426 -0
- package/fesm2015/muraai-mnl-chat.mjs.map +1 -0
- package/fesm2020/muraai-mnl-chat.mjs +1424 -0
- package/fesm2020/muraai-mnl-chat.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/chat.module.d.ts +24 -0
- package/lib/components/ng-chat/ng-chat.component.d.ts +130 -0
- package/lib/components/ng-chat-friends-list/ng-chat-friends-list.component.d.ts +45 -0
- package/lib/components/ng-chat-options/ng-chat-options.component.d.ts +12 -0
- package/lib/components/ng-chat-window/ng-chat-window.component.d.ts +65 -0
- package/lib/core/chat-adapter.d.ts +15 -0
- package/lib/core/chat-controller.d.ts +6 -0
- package/lib/core/chat-group-adapter.d.ts +4 -0
- package/lib/core/chat-option.d.ts +9 -0
- package/lib/core/chat-participant-status-descriptor.d.ts +3 -0
- package/lib/core/chat-participant-status.enum.d.ts +6 -0
- package/lib/core/chat-participant-type.enum.d.ts +4 -0
- package/lib/core/chat-participant.d.ts +9 -0
- package/lib/core/default-file-upload-adapter.d.ts +14 -0
- package/lib/core/file-upload-adapter.d.ts +5 -0
- package/lib/core/group.d.ts +13 -0
- package/lib/core/guid.d.ts +3 -0
- package/lib/core/localization.d.ts +15 -0
- package/lib/core/message-counter.d.ts +10 -0
- package/lib/core/message-type.enum.d.ts +5 -0
- package/lib/core/message.d.ts +10 -0
- package/lib/core/paged-history-chat-adapter.d.ts +10 -0
- package/lib/core/participant-metadata.d.ts +3 -0
- package/lib/core/participant-response.d.ts +6 -0
- package/lib/core/scroll-direction.enum.d.ts +4 -0
- package/lib/core/theme.enum.d.ts +5 -0
- package/lib/core/user.d.ts +10 -0
- package/lib/core/window.d.ts +13 -0
- package/lib/firstLetter.pipe.d.ts +7 -0
- package/lib/material.module.d.ts +14 -0
- package/lib/pipes/emojify.pipe.d.ts +7 -0
- package/lib/pipes/group-message-display-name.pipe.d.ts +9 -0
- package/lib/pipes/linkfy.pipe.d.ts +7 -0
- package/lib/pipes/sanitize.pipe.d.ts +10 -0
- package/lib/services/chat.service.d.ts +6 -0
- package/package.json +31 -0
- package/public-api.d.ts +21 -0
- package/src/assets/icons.css +140 -0
- package/src/assets/loading-spinner.css +59 -0
- package/src/assets/ng-chat.component.default.css +106 -0
- package/src/assets/notification.png +0 -0
- package/src/assets/notification.wav +0 -0
- package/src/assets/themes/ng-chat.theme.dark.scss +71 -0
- package/src/assets/themes/ng-chat.theme.default.scss +63 -0
- package/src/assets/user.png +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export class ChatAdapter {
|
|
2
|
+
constructor() {
|
|
3
|
+
// ### Abstract adapter methods ###
|
|
4
|
+
// Event handlers
|
|
5
|
+
/** @internal */
|
|
6
|
+
this.friendsListChangedHandler = (participantsResponse) => { };
|
|
7
|
+
/** @internal */
|
|
8
|
+
this.messageReceivedHandler = (participant, message) => { };
|
|
9
|
+
}
|
|
10
|
+
// ### Adapter/Chat income/ingress events ###
|
|
11
|
+
onFriendsListChanged(participantsResponse) {
|
|
12
|
+
this.friendsListChangedHandler(participantsResponse);
|
|
13
|
+
}
|
|
14
|
+
onMessageReceived(participant, message) {
|
|
15
|
+
this.messageReceivedHandler(participant, message);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL2NvcmUvY2hhdC1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sT0FBZ0IsV0FBVztJQUFqQztRQUVJLG1DQUFtQztRQW9CbkMsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQiw4QkFBeUIsR0FBMkQsQ0FBQyxvQkFBMkMsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3hJLGdCQUFnQjtRQUNoQiwyQkFBc0IsR0FBOEQsQ0FBQyxXQUE2QixFQUFFLE9BQWdCLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNoSixDQUFDO0lBakJHLDZDQUE2QztJQUV0QyxvQkFBb0IsQ0FBQyxvQkFBMkM7UUFFbkUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFdBQTZCLEVBQUUsT0FBZ0I7UUFFcEUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBT0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcIi4vbWVzc2FnZVwiO1xuLy8gaW1wb3J0IHsgVXNlciB9IGZyb20gXCIuL3VzZXJcIjtcbmltcG9ydCB7IFBhcnRpY2lwYW50UmVzcG9uc2UgfSBmcm9tIFwiLi9wYXJ0aWNpcGFudC1yZXNwb25zZVwiO1xuaW1wb3J0IHsgSUNoYXRQYXJ0aWNpcGFudCB9IGZyb20gJy4vY2hhdC1wYXJ0aWNpcGFudCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDaGF0QWRhcHRlclxue1xuICAgIC8vICMjIyBBYnN0cmFjdCBhZGFwdGVyIG1ldGhvZHMgIyMjXG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgbGlzdEZyaWVuZHMoKTogT2JzZXJ2YWJsZTxQYXJ0aWNpcGFudFJlc3BvbnNlW10+O1xuICAgIFxuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRNZXNzYWdlSGlzdG9yeShkZXN0aW5hdGFyeUlkOiBhbnkpOiBPYnNlcnZhYmxlPE1lc3NhZ2VbXT47XG5cbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2VuZE1lc3NhZ2UobWVzc2FnZTogTWVzc2FnZSk6IHZvaWQ7XG5cbiAgICAvLyAjIyMgQWRhcHRlci9DaGF0IGluY29tZS9pbmdyZXNzIGV2ZW50cyAjIyNcblxuICAgIHB1YmxpYyBvbkZyaWVuZHNMaXN0Q2hhbmdlZChwYXJ0aWNpcGFudHNSZXNwb25zZTogUGFydGljaXBhbnRSZXNwb25zZVtdKTogdm9pZFxuICAgIHtcbiAgICAgICAgdGhpcy5mcmllbmRzTGlzdENoYW5nZWRIYW5kbGVyKHBhcnRpY2lwYW50c1Jlc3BvbnNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25NZXNzYWdlUmVjZWl2ZWQocGFydGljaXBhbnQ6IElDaGF0UGFydGljaXBhbnQsIG1lc3NhZ2U6IE1lc3NhZ2UpOiB2b2lkXG4gICAge1xuICAgICAgICB0aGlzLm1lc3NhZ2VSZWNlaXZlZEhhbmRsZXIocGFydGljaXBhbnQsIG1lc3NhZ2UpO1xuICAgIH1cbiAgICBcbiAgICAvLyBFdmVudCBoYW5kbGVyc1xuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBmcmllbmRzTGlzdENoYW5nZWRIYW5kbGVyOiAocGFydGljaXBhbnRzUmVzcG9uc2U6IFBhcnRpY2lwYW50UmVzcG9uc2VbXSkgPT4gdm9pZCAgPSAocGFydGljaXBhbnRzUmVzcG9uc2U6IFBhcnRpY2lwYW50UmVzcG9uc2VbXSkgPT4ge307XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIG1lc3NhZ2VSZWNlaXZlZEhhbmRsZXI6IChwYXJ0aWNpcGFudDogSUNoYXRQYXJ0aWNpcGFudCwgbWVzc2FnZTogTWVzc2FnZSkgPT4gdm9pZCA9IChwYXJ0aWNpcGFudDogSUNoYXRQYXJ0aWNpcGFudCwgbWVzc2FnZTogTWVzc2FnZSkgPT4ge307XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL2NvcmUvY2hhdC1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ2hhdENvbnRyb2xsZXJcbntcbiAgICB0cmlnZ2VyT3BlbkNoYXRXaW5kb3codXNlcjogVXNlcik6IHZvaWQ7XG5cbiAgICB0cmlnZ2VyQ2xvc2VDaGF0V2luZG93KHVzZXJJZDogYW55KTogdm9pZDtcblxuICAgIHRyaWdnZXJUb2dnbGVDaGF0V2luZG93VmlzaWJpbGl0eSh1c2VySWQ6IGFueSk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1ncm91cC1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL2NvcmUvY2hhdC1ncm91cC1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHcm91cCB9IGZyb20gXCIuL2dyb3VwXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRHcm91cEFkYXB0ZXJcbntcbiAgICBncm91cENyZWF0ZWQoZ3JvdXA6IEdyb3VwKTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1vcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0L3NyYy9saWIvY29yZS9jaGF0LW9wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2luZG93IH0gZnJvbSAnLi4vY29yZS93aW5kb3cnO1xuaW1wb3J0IHsgSUNoYXRQYXJ0aWNpcGFudCB9IGZyb20gJy4uL2NvcmUvY2hhdC1wYXJ0aWNpcGFudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNoYXRPcHRpb25cbntcbiAgICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgICBkaXNwbGF5TGFiZWw6IHN0cmluZztcbiAgICBjaGF0dGluZ1RvOiBXaW5kb3c7XG4gICAgYWN0aW9uPzogKGNoYXR0aW5nVG86IFdpbmRvdykgPT4gdm9pZDtcbiAgICB2YWxpZGF0ZUNvbnRleHQ6IChwYXJ0aWNpcGFudDogSUNoYXRQYXJ0aWNpcGFudCkgPT4gYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ChatParticipantStatus } from './chat-participant-status.enum';
|
|
2
|
+
export function chatParticipantStatusDescriptor(status, localization) {
|
|
3
|
+
const currentStatus = ChatParticipantStatus[status].toString().toLowerCase();
|
|
4
|
+
return localization.statusDescription[currentStatus];
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1wYXJ0aWNpcGFudC1zdGF0dXMtZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9jb3JlL2NoYXQtcGFydGljaXBhbnQtc3RhdHVzLWRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHdkUsTUFBTSxVQUFVLCtCQUErQixDQUFDLE1BQTZCLEVBQUUsWUFBMEI7SUFDckcsTUFBTSxhQUFhLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFN0UsT0FBTyxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXRQYXJ0aWNpcGFudFN0YXR1cyB9IGZyb20gJy4vY2hhdC1wYXJ0aWNpcGFudC1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb24gfSBmcm9tICcuL2xvY2FsaXphdGlvbidcbiBcbmV4cG9ydCBmdW5jdGlvbiBjaGF0UGFydGljaXBhbnRTdGF0dXNEZXNjcmlwdG9yKHN0YXR1czogQ2hhdFBhcnRpY2lwYW50U3RhdHVzLCBsb2NhbGl6YXRpb246IExvY2FsaXphdGlvbikge1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0dXMgPSBDaGF0UGFydGljaXBhbnRTdGF0dXNbc3RhdHVzXS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XG4gICAgXG4gICAgcmV0dXJuIGxvY2FsaXphdGlvbi5zdGF0dXNEZXNjcmlwdGlvbltjdXJyZW50U3RhdHVzXTtcbn0iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var ChatParticipantStatus;
|
|
2
|
+
(function (ChatParticipantStatus) {
|
|
3
|
+
ChatParticipantStatus[ChatParticipantStatus["Online"] = 0] = "Online";
|
|
4
|
+
ChatParticipantStatus[ChatParticipantStatus["Busy"] = 1] = "Busy";
|
|
5
|
+
ChatParticipantStatus[ChatParticipantStatus["Away"] = 2] = "Away";
|
|
6
|
+
ChatParticipantStatus[ChatParticipantStatus["Offline"] = 3] = "Offline";
|
|
7
|
+
})(ChatParticipantStatus || (ChatParticipantStatus = {}));
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1wYXJ0aWNpcGFudC1zdGF0dXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9jb3JlL2NoYXQtcGFydGljaXBhbnQtc3RhdHVzLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkscUJBTVg7QUFORCxXQUFZLHFCQUFxQjtJQUU3QixxRUFBTSxDQUFBO0lBQ04saUVBQUksQ0FBQTtJQUNKLGlFQUFJLENBQUE7SUFDSix1RUFBTyxDQUFBO0FBQ1gsQ0FBQyxFQU5XLHFCQUFxQixLQUFyQixxQkFBcUIsUUFNaEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaGF0UGFydGljaXBhbnRTdGF0dXNcbntcbiAgICBPbmxpbmUsXG4gICAgQnVzeSxcbiAgICBBd2F5LFxuICAgIE9mZmxpbmVcbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var ChatParticipantType;
|
|
2
|
+
(function (ChatParticipantType) {
|
|
3
|
+
ChatParticipantType[ChatParticipantType["User"] = 0] = "User";
|
|
4
|
+
ChatParticipantType[ChatParticipantType["Group"] = 1] = "Group";
|
|
5
|
+
})(ChatParticipantType || (ChatParticipantType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1wYXJ0aWNpcGFudC10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0L3NyYy9saWIvY29yZS9jaGF0LXBhcnRpY2lwYW50LXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBRTNCLDZEQUFJLENBQUE7SUFDSiwrREFBSyxDQUFBO0FBQ1QsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaGF0UGFydGljaXBhbnRUeXBlXG57XG4gICAgVXNlcixcbiAgICBHcm91cFxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1wYXJ0aWNpcGFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9jb3JlL2NoYXQtcGFydGljaXBhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXRQYXJ0aWNpcGFudFN0YXR1cyB9IGZyb20gXCIuL2NoYXQtcGFydGljaXBhbnQtc3RhdHVzLmVudW1cIjtcbmltcG9ydCB7IENoYXRQYXJ0aWNpcGFudFR5cGUgfSBmcm9tIFwiLi9jaGF0LXBhcnRpY2lwYW50LXR5cGUuZW51bVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDaGF0UGFydGljaXBhbnQge1xuICAgIHJlYWRvbmx5IHBhcnRpY2lwYW50VHlwZTogQ2hhdFBhcnRpY2lwYW50VHlwZTtcbiAgICByZWFkb25seSBpZDogYW55O1xuICAgIHJlYWRvbmx5IHN0YXR1czogQ2hhdFBhcnRpY2lwYW50U3RhdHVzO1xuICAgIHJlYWRvbmx5IGF2YXRhcjogc3RyaW5nfG51bGw7XG4gICAgcmVhZG9ubHkgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*import { IFileUploadAdapter } from './file-upload-adapter';
|
|
2
|
+
import { HttpClient, HttpRequest, HttpEventType, HttpResponse, HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import { Observable, Subject } from 'rxjs';
|
|
4
|
+
import { User } from './user';
|
|
5
|
+
import { Message } from './message';*/
|
|
6
|
+
export class DefaultFileUploadAdapter {
|
|
7
|
+
/**
|
|
8
|
+
* @summary Basic file upload adapter implementation for HTTP request form file consumption
|
|
9
|
+
* @param _serverEndpointUrl The API endpoint full qualified address that will receive a form file to process and return the metadata.
|
|
10
|
+
*/
|
|
11
|
+
constructor(_serverEndpointUrl, _http) {
|
|
12
|
+
this._serverEndpointUrl = _serverEndpointUrl;
|
|
13
|
+
this._http = _http;
|
|
14
|
+
}
|
|
15
|
+
uploadFile(file, participantId) {
|
|
16
|
+
const formData = new FormData();
|
|
17
|
+
//formData.append('ng-chat-sender-userid', currentUserId);
|
|
18
|
+
formData.append('ng-chat-participant-id', participantId);
|
|
19
|
+
formData.append('file', file, file.name);
|
|
20
|
+
return this._http.post(this._serverEndpointUrl, formData);
|
|
21
|
+
// TODO: Leaving this if we want to track upload progress in detail in the future. Might need a different Subject generic type wrapper
|
|
22
|
+
// const fileRequest = new HttpRequest('POST', this._serverEndpointUrl, formData, {
|
|
23
|
+
// reportProgress: true
|
|
24
|
+
// });
|
|
25
|
+
// const uploadProgress = new Subject<number>();
|
|
26
|
+
// const uploadStatus = uploadProgress.asObservable();
|
|
27
|
+
//const responsePromise = new Subject<Message>();
|
|
28
|
+
// this._http
|
|
29
|
+
// .request(fileRequest)
|
|
30
|
+
// .subscribe(event => {
|
|
31
|
+
// // if (event.type == HttpEventType.UploadProgress)
|
|
32
|
+
// // {
|
|
33
|
+
// // const percentDone = Math.round(100 * event.loaded / event.total);
|
|
34
|
+
// // uploadProgress.next(percentDone);
|
|
35
|
+
// // }
|
|
36
|
+
// // else if (event instanceof HttpResponse)
|
|
37
|
+
// // {
|
|
38
|
+
// // uploadProgress.complete();
|
|
39
|
+
// // }
|
|
40
|
+
// });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1maWxlLXVwbG9hZC1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL2NvcmUvZGVmYXVsdC1maWxlLXVwbG9hZC1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOzs7O3NDQUlzQztBQUV0QyxNQUFNLE9BQU8sd0JBQXdCO0lBRWpDOzs7T0FHRztJQUNILFlBQW9CLGtCQUEwQixFQUFVLEtBQWlCO1FBQXJELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVk7SUFDekUsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVLEVBQUUsYUFBa0I7UUFDckMsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUUxQywwREFBMEQ7UUFDMUQsUUFBUSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN6RCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQVUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRW5FLHNJQUFzSTtRQUN0SSxtRkFBbUY7UUFDbkYsMkJBQTJCO1FBQzNCLE1BQU07UUFFTixnREFBZ0Q7UUFDaEQsc0RBQXNEO1FBRXRELGlEQUFpRDtRQUVqRCxhQUFhO1FBQ2IsNEJBQTRCO1FBQzVCLDRCQUE0QjtRQUM1Qiw2REFBNkQ7UUFDN0QsZUFBZTtRQUNmLG1GQUFtRjtRQUVuRixtREFBbUQ7UUFDbkQsZUFBZTtRQUNmLHFEQUFxRDtRQUNyRCxlQUFlO1FBRWYsNENBQTRDO1FBQzVDLGVBQWU7UUFDZixVQUFVO0lBQ2QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUZpbGVVcGxvYWRBZGFwdGVyIH0gZnJvbSAnLi9maWxlLXVwbG9hZC1hZGFwdGVyJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi9tZXNzYWdlJztcblxuLyppbXBvcnQgeyBJRmlsZVVwbG9hZEFkYXB0ZXIgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLWFkYXB0ZXInO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlcXVlc3QsIEh0dHBFdmVudFR5cGUsIEh0dHBSZXNwb25zZSwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyJztcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICcuL21lc3NhZ2UnOyovXG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0RmlsZVVwbG9hZEFkYXB0ZXIgaW1wbGVtZW50cyBJRmlsZVVwbG9hZEFkYXB0ZXJcbntcbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSBCYXNpYyBmaWxlIHVwbG9hZCBhZGFwdGVyIGltcGxlbWVudGF0aW9uIGZvciBIVFRQIHJlcXVlc3QgZm9ybSBmaWxlIGNvbnN1bXB0aW9uXG4gICAgICogQHBhcmFtIF9zZXJ2ZXJFbmRwb2ludFVybCBUaGUgQVBJIGVuZHBvaW50IGZ1bGwgcXVhbGlmaWVkIGFkZHJlc3MgdGhhdCB3aWxsIHJlY2VpdmUgYSBmb3JtIGZpbGUgdG8gcHJvY2VzcyBhbmQgcmV0dXJuIHRoZSBtZXRhZGF0YS5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXJ2ZXJFbmRwb2ludFVybDogc3RyaW5nLCBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgfVxuXG4gICAgdXBsb2FkRmlsZShmaWxlOiBGaWxlLCBwYXJ0aWNpcGFudElkOiBhbnkpOiBPYnNlcnZhYmxlPE1lc3NhZ2U+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICAgICAgLy9mb3JtRGF0YS5hcHBlbmQoJ25nLWNoYXQtc2VuZGVyLXVzZXJpZCcsIGN1cnJlbnRVc2VySWQpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ25nLWNoYXQtcGFydGljaXBhbnQtaWQnLCBwYXJ0aWNpcGFudElkKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSwgZmlsZS5uYW1lKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PE1lc3NhZ2U+KHRoaXMuX3NlcnZlckVuZHBvaW50VXJsLCBmb3JtRGF0YSk7XG5cbiAgICAgICAgLy8gVE9ETzogTGVhdmluZyB0aGlzIGlmIHdlIHdhbnQgdG8gdHJhY2sgdXBsb2FkIHByb2dyZXNzIGluIGRldGFpbCBpbiB0aGUgZnV0dXJlLiBNaWdodCBuZWVkIGEgZGlmZmVyZW50IFN1YmplY3QgZ2VuZXJpYyB0eXBlIHdyYXBwZXJcbiAgICAgICAgLy8gY29uc3QgZmlsZVJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCB0aGlzLl9zZXJ2ZXJFbmRwb2ludFVybCwgZm9ybURhdGEsIHtcbiAgICAgICAgLy8gICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlXG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIC8vIGNvbnN0IHVwbG9hZFByb2dyZXNzID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICAgICAgICAvLyBjb25zdCB1cGxvYWRTdGF0dXMgPSB1cGxvYWRQcm9ncmVzcy5hc09ic2VydmFibGUoKTtcblxuICAgICAgICAvL2NvbnN0IHJlc3BvbnNlUHJvbWlzZSA9IG5ldyBTdWJqZWN0PE1lc3NhZ2U+KCk7XG5cbiAgICAgICAgLy8gdGhpcy5faHR0cFxuICAgICAgICAvLyAgICAgLnJlcXVlc3QoZmlsZVJlcXVlc3QpXG4gICAgICAgIC8vICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgLy8gICAgICAgICAvLyBpZiAoZXZlbnQudHlwZSA9PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKVxuICAgICAgICAvLyAgICAgICAgIC8vIHtcbiAgICAgICAgLy8gICAgICAgICAvLyAgICAgY29uc3QgcGVyY2VudERvbmUgPSBNYXRoLnJvdW5kKDEwMCAqIGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsKTtcblxuICAgICAgICAvLyAgICAgICAgIC8vICAgICB1cGxvYWRQcm9ncmVzcy5uZXh0KHBlcmNlbnREb25lKTtcbiAgICAgICAgLy8gICAgICAgICAvLyB9XG4gICAgICAgIC8vICAgICAgICAgLy8gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpXG4gICAgICAgIC8vICAgICAgICAgLy8ge1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgLy8gICAgICAgICAvLyAgICAgdXBsb2FkUHJvZ3Jlc3MuY29tcGxldGUoKTtcbiAgICAgICAgLy8gICAgICAgICAvLyB9XG4gICAgICAgIC8vICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9jb3JlL2ZpbGUtdXBsb2FkLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbi8vIGltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXInO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gJy4vbWVzc2FnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpbGVVcGxvYWRBZGFwdGVyXG57XG4gICAgdXBsb2FkRmlsZShmaWxlOiBGaWxlLCBwYXJ0aWNpcGFudElkOiBhbnkpOiBPYnNlcnZhYmxlPE1lc3NhZ2U+O1xufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Guid } from "./guid";
|
|
2
|
+
import { ChatParticipantStatus } from "./chat-participant-status.enum";
|
|
3
|
+
import { ChatParticipantType } from "./chat-participant-type.enum";
|
|
4
|
+
export class Group {
|
|
5
|
+
constructor(participants) {
|
|
6
|
+
this.id = Guid.newGuid();
|
|
7
|
+
this.participantType = ChatParticipantType.Group;
|
|
8
|
+
this.chattingTo = participants;
|
|
9
|
+
this.status = ChatParticipantStatus.Online;
|
|
10
|
+
// TODO: Add some customization for this in future releases
|
|
11
|
+
this.displayName = participants.map((p) => p.displayName).sort((first, second) => second > first ? -1 : 1).join(", ");
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0L3NyYy9saWIvY29yZS9ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE1BQU0sT0FBTyxLQUFLO0lBRWQsWUFBWSxZQUFvQjtRQVN6QixPQUFFLEdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBR25CLG9CQUFlLEdBQXdCLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQVY3RSxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztRQUUzQywyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxSCxDQUFDO0NBVUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHdWlkIH0gZnJvbSBcIi4vZ3VpZFwiO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gXCIuL3VzZXJcIjtcbmltcG9ydCB7IENoYXRQYXJ0aWNpcGFudFN0YXR1cyB9IGZyb20gXCIuL2NoYXQtcGFydGljaXBhbnQtc3RhdHVzLmVudW1cIjtcbmltcG9ydCB7IElDaGF0UGFydGljaXBhbnQgfSBmcm9tIFwiLi9jaGF0LXBhcnRpY2lwYW50XCI7XG5pbXBvcnQgeyBDaGF0UGFydGljaXBhbnRUeXBlIH0gZnJvbSBcIi4vY2hhdC1wYXJ0aWNpcGFudC10eXBlLmVudW1cIjtcblxuZXhwb3J0IGNsYXNzIEdyb3VwIGltcGxlbWVudHMgSUNoYXRQYXJ0aWNpcGFudFxue1xuICAgIGNvbnN0cnVjdG9yKHBhcnRpY2lwYW50czogVXNlcltdKVxuICAgIHtcbiAgICAgICAgdGhpcy5jaGF0dGluZ1RvID0gcGFydGljaXBhbnRzO1xuICAgICAgICB0aGlzLnN0YXR1cyA9IENoYXRQYXJ0aWNpcGFudFN0YXR1cy5PbmxpbmU7XG5cbiAgICAgICAgLy8gVE9ETzogQWRkIHNvbWUgY3VzdG9taXphdGlvbiBmb3IgdGhpcyBpbiBmdXR1cmUgcmVsZWFzZXNcbiAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSA9IHBhcnRpY2lwYW50cy5tYXAoKHApID0+IHAuZGlzcGxheU5hbWUpLnNvcnQoKGZpcnN0LCBzZWNvbmQpID0+IHNlY29uZCA+IGZpcnN0ID8gLTEgOiAxKS5qb2luKFwiLCBcIik7XG4gICAgfVxuXG4gICAgcHVibGljIGlkOiBzdHJpbmcgPSBHdWlkLm5ld0d1aWQoKTtcbiAgICBwdWJsaWMgY2hhdHRpbmdUbzogVXNlcltdO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHBhcnRpY2lwYW50VHlwZTogQ2hhdFBhcnRpY2lwYW50VHlwZSA9IENoYXRQYXJ0aWNpcGFudFR5cGUuR3JvdXA7XG5cbiAgICBwdWJsaWMgc3RhdHVzOiBDaGF0UGFydGljaXBhbnRTdGF0dXM7XG4gICAgcHVibGljIGF2YXRhcjogc3RyaW5nIHwgbnVsbDtcbiAgICBwdWJsaWMgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Poached from: https://github.com/Steve-Fenton/TypeScriptUtilities
|
|
2
|
+
// @dynamic
|
|
3
|
+
export class Guid {
|
|
4
|
+
static newGuid() {
|
|
5
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
6
|
+
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
|
7
|
+
return v.toString(16);
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9jb3JlL2d1aWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLFdBQVc7QUFDWCxNQUFNLE9BQU8sSUFBSTtJQUNiLE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTyxzQ0FBc0MsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVMsQ0FBQztZQUNyRSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsRUFBRSxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxHQUFHLEdBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUG9hY2hlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vU3RldmUtRmVudG9uL1R5cGVTY3JpcHRVdGlsaXRpZXNcbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgR3VpZCB7XG4gICAgc3RhdGljIG5ld0d1aWQoKSB7XG4gICAgICAgIHJldHVybiAneHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIGZ1bmN0aW9uKGMpIHtcbiAgICAgICAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSoxNnwwLCB2ID0gYyA9PSAneCcgPyByIDogKHImMHgzfDB4OCk7XG4gICAgICAgICAgICByZXR1cm4gdi50b1N0cmluZygxNik7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL2NvcmUvbG9jYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIExvY2FsaXphdGlvblxue1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgbWVzc2FnZVBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBzdGF0dXNEZXNjcmlwdGlvbjogU3RhdHVzRGVzY3JpcHRpb247XG4gICAgYnJvd3Nlck5vdGlmaWNhdGlvblRpdGxlOiBzdHJpbmc7XG4gICAgbG9hZE1lc3NhZ2VIaXN0b3J5UGxhY2Vob2xkZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNEZXNjcmlwdGlvblxue1xuICAgIG9ubGluZTogc3RyaW5nO1xuICAgIGJ1c3k6IHN0cmluZztcbiAgICBhd2F5OiBzdHJpbmc7XG4gICAgb2ZmbGluZTogc3RyaW5nO1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export class MessageCounter {
|
|
2
|
+
static formatUnreadMessagesTotal(totalUnreadMessages) {
|
|
3
|
+
if (totalUnreadMessages > 0) {
|
|
4
|
+
if (totalUnreadMessages > 99)
|
|
5
|
+
return "99+";
|
|
6
|
+
else
|
|
7
|
+
return String(totalUnreadMessages);
|
|
8
|
+
}
|
|
9
|
+
// Empty fallback.
|
|
10
|
+
return "";
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Returns a formatted string containing the total unread messages of a chat window.
|
|
14
|
+
* @param window The window instance to count the unread total messages.
|
|
15
|
+
* @param currentUserId The current chat instance user id. In this context it would be the sender.
|
|
16
|
+
*/
|
|
17
|
+
static unreadMessagesTotal(window, currentUserId) {
|
|
18
|
+
let totalUnreadMessages = 0;
|
|
19
|
+
if (window) {
|
|
20
|
+
totalUnreadMessages = window.messages.filter(x => x.fromId != currentUserId && !x.dateSeen).length;
|
|
21
|
+
}
|
|
22
|
+
return MessageCounter.formatUnreadMessagesTotal(totalUnreadMessages);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1jb3VudGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL2NvcmUvbWVzc2FnZS1jb3VudGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxjQUFjO0lBRWhCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBMkI7UUFFL0QsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLEVBQUM7WUFFeEIsSUFBSSxtQkFBbUIsR0FBRyxFQUFFO2dCQUN4QixPQUFRLEtBQUssQ0FBQzs7Z0JBRWQsT0FBTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUMxQztRQUVELGtCQUFrQjtRQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQWMsRUFBRSxhQUFrQjtRQUVoRSxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUU1QixJQUFJLE1BQU0sRUFBQztZQUNQLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO1NBQ3RHO1FBRUQsT0FBTyxjQUFjLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXaW5kb3cgfSBmcm9tICcuL3dpbmRvdyc7XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlQ291bnRlclxue1xuICAgIHB1YmxpYyBzdGF0aWMgZm9ybWF0VW5yZWFkTWVzc2FnZXNUb3RhbCh0b3RhbFVucmVhZE1lc3NhZ2VzOiBudW1iZXIpOiBzdHJpbmdcbiAgICB7XG4gICAgICAgIGlmICh0b3RhbFVucmVhZE1lc3NhZ2VzID4gMCl7XG5cbiAgICAgICAgICAgIGlmICh0b3RhbFVucmVhZE1lc3NhZ2VzID4gOTkpXG4gICAgICAgICAgICAgICAgcmV0dXJuICBcIjk5K1wiO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcodG90YWxVbnJlYWRNZXNzYWdlcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFbXB0eSBmYWxsYmFjay5cbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIGZvcm1hdHRlZCBzdHJpbmcgY29udGFpbmluZyB0aGUgdG90YWwgdW5yZWFkIG1lc3NhZ2VzIG9mIGEgY2hhdCB3aW5kb3cuXG4gICAgICogQHBhcmFtIHdpbmRvdyBUaGUgd2luZG93IGluc3RhbmNlIHRvIGNvdW50IHRoZSB1bnJlYWQgdG90YWwgbWVzc2FnZXMuXG4gICAgICogQHBhcmFtIGN1cnJlbnRVc2VySWQgVGhlIGN1cnJlbnQgY2hhdCBpbnN0YW5jZSB1c2VyIGlkLiBJbiB0aGlzIGNvbnRleHQgaXQgd291bGQgYmUgdGhlIHNlbmRlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHVucmVhZE1lc3NhZ2VzVG90YWwod2luZG93OiBXaW5kb3csIGN1cnJlbnRVc2VySWQ6IGFueSk6IHN0cmluZ1xuICAgIHtcbiAgICAgICAgbGV0IHRvdGFsVW5yZWFkTWVzc2FnZXMgPSAwO1xuXG4gICAgICAgIGlmICh3aW5kb3cpe1xuICAgICAgICAgICAgdG90YWxVbnJlYWRNZXNzYWdlcyA9IHdpbmRvdy5tZXNzYWdlcy5maWx0ZXIoeCA9PiB4LmZyb21JZCAhPSBjdXJyZW50VXNlcklkICYmICF4LmRhdGVTZWVuKS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICByZXR1cm4gTWVzc2FnZUNvdW50ZXIuZm9ybWF0VW5yZWFkTWVzc2FnZXNUb3RhbCh0b3RhbFVucmVhZE1lc3NhZ2VzKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var MessageType;
|
|
2
|
+
(function (MessageType) {
|
|
3
|
+
MessageType[MessageType["Text"] = 1] = "Text";
|
|
4
|
+
MessageType[MessageType["File"] = 2] = "File";
|
|
5
|
+
MessageType[MessageType["Image"] = 3] = "Image";
|
|
6
|
+
})(MessageType || (MessageType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0L3NyYy9saWIvY29yZS9tZXNzYWdlLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBRW5CLDZDQUFRLENBQUE7SUFDUiw2Q0FBUSxDQUFBO0lBQ1IsK0NBQVMsQ0FBQTtBQUNiLENBQUMsRUFMVyxXQUFXLEtBQVgsV0FBVyxRQUt0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1lc3NhZ2VUeXBlXG57XG4gICAgVGV4dCA9IDEsXG4gICAgRmlsZSA9IDIsXG4gICAgSW1hZ2UgPSAzXG59XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MessageType } from './message-type.enum';
|
|
2
|
+
export class Message {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.type = MessageType.Text;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9jb3JlL21lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBRVcsU0FBSSxHQUFpQixXQUFXLENBQUMsSUFBSSxDQUFDO0lBUWpELENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9tZXNzYWdlLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlXG57XG4gICAgcHVibGljIHR5cGU/OiBNZXNzYWdlVHlwZSA9IE1lc3NhZ2VUeXBlLlRleHQ7XG4gICAgcHVibGljIGZyb21JZDogYW55O1xuICAgIHB1YmxpYyB0b0lkOiBhbnk7XG4gICAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcbiAgICBwdWJsaWMgZGF0ZVNlbnQ/OiBEYXRlO1xuICAgIHB1YmxpYyBkYXRlU2Vlbj86IERhdGU7XG4gICAgcHVibGljIGFkZGl0aW9uYWxQYXJhbWV0ZXI/OiBPYmplY3Q7XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// import { User } from "./user";
|
|
2
|
+
import { ChatAdapter } from "./chat-adapter";
|
|
3
|
+
/**
|
|
4
|
+
* @description Chat Adapter decorator class that adds pagination to load the history of messagesr.
|
|
5
|
+
* You will need an existing @see ChatAdapter implementation
|
|
6
|
+
*/
|
|
7
|
+
export class PagedHistoryChatAdapter extends ChatAdapter {
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWQtaGlzdG9yeS1jaGF0LWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0L3NyYy9saWIvY29yZS9wYWdlZC1oaXN0b3J5LWNoYXQtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxpQ0FBaUM7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsdUJBQXdCLFNBQVEsV0FBVztDQUdoRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tIFwiLi9tZXNzYWdlXCI7XG4vLyBpbXBvcnQgeyBVc2VyIH0gZnJvbSBcIi4vdXNlclwiO1xuaW1wb3J0IHsgQ2hhdEFkYXB0ZXIgfSBmcm9tIFwiLi9jaGF0LWFkYXB0ZXJcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ2hhdCBBZGFwdGVyIGRlY29yYXRvciBjbGFzcyB0aGF0IGFkZHMgcGFnaW5hdGlvbiB0byBsb2FkIHRoZSBoaXN0b3J5IG9mIG1lc3NhZ2Vzci5cbiAqIFlvdSB3aWxsIG5lZWQgYW4gZXhpc3RpbmcgQHNlZSBDaGF0QWRhcHRlciBpbXBsZW1lbnRhdGlvblxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFnZWRIaXN0b3J5Q2hhdEFkYXB0ZXIgZXh0ZW5kcyBDaGF0QWRhcHRlclxue1xuICAgIGFic3RyYWN0IGdldE1lc3NhZ2VIaXN0b3J5QnlQYWdlKGRlc3RpbmF0YXJ5SWQ6IGFueSwgc2l6ZTogbnVtYmVyLCBwYWdlOiBudW1iZXIpIDogT2JzZXJ2YWJsZTxNZXNzYWdlW10+O1xufVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export class ParticipantMetadata {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.totalUnreadMessages = 0;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljaXBhbnQtbWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0L3NyYy9saWIvY29yZS9wYXJ0aWNpcGFudC1tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBRVcsd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBQYXJ0aWNpcGFudE1ldGFkYXRhXG57XG4gICAgcHVibGljIHRvdGFsVW5yZWFkTWVzc2FnZXM6IG51bWJlciA9IDA7XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class ParticipantResponse {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljaXBhbnQtcmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0L3NyYy9saWIvY29yZS9wYXJ0aWNpcGFudC1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sbUJBQW1CO0NBSS9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHsgVXNlciB9IGZyb20gXCIuL3VzZXJcIjtcbmltcG9ydCB7IFBhcnRpY2lwYW50TWV0YWRhdGEgfSBmcm9tIFwiLi9wYXJ0aWNpcGFudC1tZXRhZGF0YVwiO1xuaW1wb3J0IHsgSUNoYXRQYXJ0aWNpcGFudCB9IGZyb20gXCIuL2NoYXQtcGFydGljaXBhbnRcIjtcblxuZXhwb3J0IGNsYXNzIFBhcnRpY2lwYW50UmVzcG9uc2VcbntcbiAgICBwdWJsaWMgcGFydGljaXBhbnQ6IElDaGF0UGFydGljaXBhbnQ7XG4gICAgcHVibGljIG1ldGFkYXRhOiBQYXJ0aWNpcGFudE1ldGFkYXRhO1xufVxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var ScrollDirection;
|
|
2
|
+
(function (ScrollDirection) {
|
|
3
|
+
ScrollDirection[ScrollDirection["Top"] = 0] = "Top";
|
|
4
|
+
ScrollDirection[ScrollDirection["Bottom"] = 1] = "Bottom";
|
|
5
|
+
})(ScrollDirection || (ScrollDirection = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWRpcmVjdGlvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL2NvcmUvc2Nyb2xsLWRpcmVjdGlvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDdkIsbURBQUcsQ0FBQTtJQUNILHlEQUFNLENBQUE7QUFDVixDQUFDLEVBSFcsZUFBZSxLQUFmLGVBQWUsUUFHMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTY3JvbGxEaXJlY3Rpb24ge1xuICAgIFRvcCxcbiAgICBCb3R0b21cbn0iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var Theme;
|
|
2
|
+
(function (Theme) {
|
|
3
|
+
Theme["Custom"] = "custom-theme";
|
|
4
|
+
Theme["Light"] = "light-theme";
|
|
5
|
+
Theme["Dark"] = "dark-theme";
|
|
6
|
+
})(Theme || (Theme = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9jb3JlL3RoZW1lLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksS0FLWDtBQUxELFdBQVksS0FBSztJQUViLGdDQUF1QixDQUFBO0lBQ3ZCLDhCQUFxQixDQUFBO0lBQ3JCLDRCQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFMVyxLQUFLLEtBQUwsS0FBSyxRQUtoQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRoZW1lXG57XG4gICAgQ3VzdG9tID0gJ2N1c3RvbS10aGVtZScsXG4gICAgTGlnaHQgPSAnbGlnaHQtdGhlbWUnLFxuICAgIERhcmsgPSAnZGFyay10aGVtZSdcbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ChatParticipantType } from "./chat-participant-type.enum";
|
|
2
|
+
export class User {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.participantType = ChatParticipantType.User;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9jb3JlL3VzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsTUFBTSxPQUFPLElBQUk7SUFBakI7UUFFb0Isb0JBQWUsR0FBd0IsbUJBQW1CLENBQUMsSUFBSSxDQUFDO0lBS3BGLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYXRQYXJ0aWNpcGFudFN0YXR1cyB9IGZyb20gXCIuL2NoYXQtcGFydGljaXBhbnQtc3RhdHVzLmVudW1cIjtcbmltcG9ydCB7IElDaGF0UGFydGljaXBhbnQgfSBmcm9tIFwiLi9jaGF0LXBhcnRpY2lwYW50XCI7XG5pbXBvcnQgeyBDaGF0UGFydGljaXBhbnRUeXBlIH0gZnJvbSBcIi4vY2hhdC1wYXJ0aWNpcGFudC10eXBlLmVudW1cIjtcblxuZXhwb3J0IGNsYXNzIFVzZXIgaW1wbGVtZW50cyBJQ2hhdFBhcnRpY2lwYW50XG57XG4gICAgcHVibGljIHJlYWRvbmx5IHBhcnRpY2lwYW50VHlwZTogQ2hhdFBhcnRpY2lwYW50VHlwZSA9IENoYXRQYXJ0aWNpcGFudFR5cGUuVXNlcjtcbiAgICBwdWJsaWMgaWQ6IGFueTtcbiAgICBwdWJsaWMgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgc3RhdHVzOiBDaGF0UGFydGljaXBhbnRTdGF0dXM7XG4gICAgcHVibGljIGF2YXRhcjogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class Window {
|
|
2
|
+
constructor(participant, isLoadingHistory, isCollapsed) {
|
|
3
|
+
this.messages = [];
|
|
4
|
+
this.newMessage = "";
|
|
5
|
+
// UI Behavior properties
|
|
6
|
+
this.isCollapsed = false;
|
|
7
|
+
this.isLoadingHistory = false;
|
|
8
|
+
this.hasFocus = false;
|
|
9
|
+
this.hasMoreMessages = true;
|
|
10
|
+
this.historyPage = 0;
|
|
11
|
+
this.participant = participant;
|
|
12
|
+
this.messages = [];
|
|
13
|
+
this.isLoadingHistory = isLoadingHistory;
|
|
14
|
+
this.hasFocus = false; // This will be triggered when the 'newMessage' input gets the current focus
|
|
15
|
+
this.isCollapsed = isCollapsed;
|
|
16
|
+
this.hasMoreMessages = false;
|
|
17
|
+
this.historyPage = 0;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL2NvcmUvd2luZG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxNQUFNO0lBRWYsWUFBWSxXQUE2QixFQUFFLGdCQUF5QixFQUFFLFdBQW9CO1FBWW5GLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsZUFBVSxHQUFZLEVBQUUsQ0FBQztRQUVoQyx5QkFBeUI7UUFDbEIsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFDOUIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFsQjNCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLDRFQUE0RTtRQUNuRyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBWUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcIi4vbWVzc2FnZVwiO1xuLy8gaW1wb3J0IHsgVXNlciB9IGZyb20gXCIuL3VzZXJcIjtcbi8vIGltcG9ydCB7IENoYXRQYXJ0aWNpcGFudFR5cGUgfSBmcm9tIFwiLi9jaGF0LXBhcnRpY2lwYW50LXR5cGUuZW51bVwiO1xuLy8gaW1wb3J0IHsgQ2hhdFBhcnRpY2lwYW50U3RhdHVzIH0gZnJvbSBcIi4vY2hhdC1wYXJ0aWNpcGFudC1zdGF0dXMuZW51bVwiO1xuLy8gaW1wb3J0IHsgR3JvdXAgfSBmcm9tIFwiLi9ncm91cFwiO1xuaW1wb3J0IHsgSUNoYXRQYXJ0aWNpcGFudCB9IGZyb20gXCIuL2NoYXQtcGFydGljaXBhbnRcIjtcblxuZXhwb3J0IGNsYXNzIFdpbmRvd1xue1xuICAgIGNvbnN0cnVjdG9yKHBhcnRpY2lwYW50OiBJQ2hhdFBhcnRpY2lwYW50LCBpc0xvYWRpbmdIaXN0b3J5OiBib29sZWFuLCBpc0NvbGxhcHNlZDogYm9vbGVhbilcbiAgICB7XG4gICAgICAgIHRoaXMucGFydGljaXBhbnQgPSBwYXJ0aWNpcGFudDtcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9ICBbXTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmdIaXN0b3J5ID0gaXNMb2FkaW5nSGlzdG9yeTtcbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IGZhbHNlOyAvLyBUaGlzIHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gdGhlICduZXdNZXNzYWdlJyBpbnB1dCBnZXRzIHRoZSBjdXJyZW50IGZvY3VzXG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSBpc0NvbGxhcHNlZDtcbiAgICAgICAgdGhpcy5oYXNNb3JlTWVzc2FnZXMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oaXN0b3J5UGFnZSA9IDA7XG4gICAgfVxuXG4gICAgcHVibGljIHBhcnRpY2lwYW50OiBJQ2hhdFBhcnRpY2lwYW50O1xuICAgIHB1YmxpYyBtZXNzYWdlczogTWVzc2FnZVtdID0gW107XG4gICAgcHVibGljIG5ld01lc3NhZ2U/OiBzdHJpbmcgPSBcIlwiO1xuXG4gICAgLy8gVUkgQmVoYXZpb3IgcHJvcGVydGllc1xuICAgIHB1YmxpYyBpc0NvbGxhcHNlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNMb2FkaW5nSGlzdG9yeTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBoYXNGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBoYXNNb3JlTWVzc2FnZXM6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHB1YmxpYyBoaXN0b3J5UGFnZTogbnVtYmVyID0gMDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FirstLetterPipe {
|
|
4
|
+
transform(value) {
|
|
5
|
+
// const parts = value.split(" ");
|
|
6
|
+
// const firstLetter = parts[0][0];
|
|
7
|
+
// const secondLetters = parts.length > 1 ? parts[1].slice(0, 2) : '';
|
|
8
|
+
let parts = value.split(" ");
|
|
9
|
+
let firstLetter = parts[0].slice(0, 1);
|
|
10
|
+
let secondLetters = parts.length > 1 ? parts[1].slice(0, 1) : '';
|
|
11
|
+
return (firstLetter.toUpperCase() + secondLetters.toUpperCase());
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
FirstLetterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FirstLetterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
15
|
+
FirstLetterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FirstLetterPipe, name: "firstLetterPipe" });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FirstLetterPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{ name: 'firstLetterPipe' }]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyc3RMZXR0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9maXJzdExldHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUlwRCxNQUFNLE9BQU8sZUFBZTtJQUN4QixTQUFTLENBQUMsS0FBYTtRQUNuQixrQ0FBa0M7UUFDbEMsbUNBQW1DO1FBQ25DLHNFQUFzRTtRQUN0RSxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTdCLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXZDLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pFLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEdBQUcsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDcEUsQ0FBQzs7NEdBWFEsZUFBZTswR0FBZixlQUFlOzJGQUFmLGVBQWU7a0JBRjNCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHsgbmFtZTogJ2ZpcnN0TGV0dGVyUGlwZScgfSlcblxuZXhwb3J0IGNsYXNzIEZpcnN0TGV0dGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgLy8gY29uc3QgcGFydHMgPSB2YWx1ZS5zcGxpdChcIiBcIik7XG4gICAgICAgIC8vIGNvbnN0IGZpcnN0TGV0dGVyID0gcGFydHNbMF1bMF07XG4gICAgICAgIC8vIGNvbnN0IHNlY29uZExldHRlcnMgPSBwYXJ0cy5sZW5ndGggPiAxID8gcGFydHNbMV0uc2xpY2UoMCwgMikgOiAnJztcbiAgICAgICAgbGV0IHBhcnRzID0gdmFsdWUuc3BsaXQoXCIgXCIpO1xuXG4gICAgICAgIGxldCBmaXJzdExldHRlciA9IHBhcnRzWzBdLnNsaWNlKDAsIDEpO1xuXG4gICAgICAgIGxldCBzZWNvbmRMZXR0ZXJzID0gcGFydHMubGVuZ3RoID4gMSA/IHBhcnRzWzFdLnNsaWNlKDAsIDEpIDogJyc7XG4gICAgICAgIHJldHVybiAoZmlyc3RMZXR0ZXIudG9VcHBlckNhc2UoKSArIHNlY29uZExldHRlcnMudG9VcHBlckNhc2UoKSlcbiAgICB9XG59Il19
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
+
import { MatInputModule } from '@angular/material/input';
|
|
5
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export function modules() {
|
|
10
|
+
return [
|
|
11
|
+
MatButtonModule,
|
|
12
|
+
MatFormFieldModule,
|
|
13
|
+
MatIconModule,
|
|
14
|
+
MatInputModule,
|
|
15
|
+
FormsModule,
|
|
16
|
+
ReactiveFormsModule,
|
|
17
|
+
MatMenuModule,
|
|
18
|
+
];
|
|
19
|
+
}
|
|
20
|
+
export class ChatMaterialModule {
|
|
21
|
+
}
|
|
22
|
+
ChatMaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChatMaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
23
|
+
ChatMaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ChatMaterialModule, imports: [MatButtonModule,
|
|
24
|
+
MatFormFieldModule,
|
|
25
|
+
MatIconModule,
|
|
26
|
+
MatInputModule,
|
|
27
|
+
FormsModule,
|
|
28
|
+
ReactiveFormsModule,
|
|
29
|
+
MatMenuModule], exports: [MatButtonModule,
|
|
30
|
+
MatFormFieldModule,
|
|
31
|
+
MatIconModule,
|
|
32
|
+
MatInputModule,
|
|
33
|
+
FormsModule,
|
|
34
|
+
ReactiveFormsModule,
|
|
35
|
+
MatMenuModule] });
|
|
36
|
+
ChatMaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChatMaterialModule, imports: [modules(), MatButtonModule,
|
|
37
|
+
MatFormFieldModule,
|
|
38
|
+
MatIconModule,
|
|
39
|
+
MatInputModule,
|
|
40
|
+
FormsModule,
|
|
41
|
+
ReactiveFormsModule,
|
|
42
|
+
MatMenuModule] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChatMaterialModule, decorators: [{
|
|
44
|
+
type: NgModule,
|
|
45
|
+
args: [{
|
|
46
|
+
imports: modules(),
|
|
47
|
+
exports: modules()
|
|
48
|
+
}]
|
|
49
|
+
}] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL21hdGVyaWFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBQ3ZELE1BQU0sVUFBVSxPQUFPO0lBQ3JCLE9BQU87UUFDTCxlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixjQUFjO1FBQ2QsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO0tBQ2QsQ0FBQztBQUNKLENBQUM7QUFLRCxNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsWUFiM0IsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsY0FBYztRQUNkLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsYUFBYSxhQU5iLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7Z0hBT0osa0JBQWtCLFlBSHBCLE9BQU8sRUFBRSxFQVZoQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixjQUFjO1FBQ2QsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhOzJGQU9KLGtCQUFrQjtrQkFKOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsT0FBTyxFQUFFO29CQUNsQixPQUFPLEVBQUUsT0FBTyxFQUFFO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuZXhwb3J0IGZ1bmN0aW9uIG1vZHVsZXMoKSB7XG4gIHJldHVybiBbXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgXTtcbn1cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IG1vZHVsZXMoKSxcbiAgZXhwb3J0czogbW9kdWxlcygpXG59KVxuZXhwb3J0IGNsYXNzIENoYXRNYXRlcmlhbE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
let emojiDictionary = [
|
|
4
|
+
{ patterns: [':)', ':-)', '=)'], unicode: '😃' },
|
|
5
|
+
{ patterns: [':D', ':-D', '=D'], unicode: '😀' },
|
|
6
|
+
{ patterns: [':(', ':-(', '=('], unicode: '🙁' },
|
|
7
|
+
{ patterns: [':|', ':-|', '=|'], unicode: '😐' },
|
|
8
|
+
{ patterns: [':*', ':-*', '=*'], unicode: '😙' },
|
|
9
|
+
{ patterns: ['T_T', 'T.T'], unicode: '😭' },
|
|
10
|
+
{ patterns: [':O', ':-O', '=O', ':o', ':-o', '=o'], unicode: '😮' },
|
|
11
|
+
{ patterns: [':P', ':-P', '=P', ':p', ':-p', '=p'], unicode: '😋' },
|
|
12
|
+
{ patterns: ['>.<'], unicode: '😣' },
|
|
13
|
+
{ patterns: ['@.@'], unicode: '😵' },
|
|
14
|
+
{ patterns: ['*.*'], unicode: '😍' },
|
|
15
|
+
{ patterns: ['<3'], unicode: '❤️' },
|
|
16
|
+
{ patterns: ['^.^'], unicode: '😊' },
|
|
17
|
+
{ patterns: [':+1'], unicode: '👍' },
|
|
18
|
+
{ patterns: [':-1'], unicode: '👎' }
|
|
19
|
+
];
|
|
20
|
+
/*
|
|
21
|
+
* Transforms common emoji text to UTF encoded emojis
|
|
22
|
+
*/
|
|
23
|
+
export class EmojifyPipe {
|
|
24
|
+
transform(message, pipeEnabled) {
|
|
25
|
+
if (pipeEnabled && message && message.length > 1) {
|
|
26
|
+
emojiDictionary.forEach(emoji => {
|
|
27
|
+
emoji.patterns.forEach(pattern => {
|
|
28
|
+
message = message.replace(pattern, emoji.unicode);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return message;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
EmojifyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmojifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
36
|
+
EmojifyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: EmojifyPipe, name: "emojify" });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: EmojifyPipe, decorators: [{
|
|
38
|
+
type: Pipe,
|
|
39
|
+
args: [{ name: 'emojify' }]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamlmeS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL3BpcGVzL2Vtb2ppZnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFFcEQsSUFBSSxlQUFlLEdBQUc7SUFDbEIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDaEQsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDaEQsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDaEQsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDaEQsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDaEQsRUFBRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtJQUMzQyxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtJQUNuRSxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtJQUNuRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDcEMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQ3BDLEVBQUUsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtJQUNwQyxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7SUFDbkMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQ3BDLEVBQUUsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtJQUNwQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7Q0FDdkMsQ0FBQztBQUVGOztFQUVFO0FBRUYsTUFBTSxPQUFPLFdBQVc7SUFDcEIsU0FBUyxDQUFDLE9BQWUsRUFBRSxXQUFvQjtRQUMzQyxJQUFJLFdBQVcsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDOUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQzdCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3RELENBQUMsQ0FBQyxDQUFBO1lBQ04sQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVMLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O3dHQVhVLFdBQVc7c0dBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IGVtb2ppRGljdGlvbmFyeSA9IFtcbiAgICB7IHBhdHRlcm5zOiBbJzopJywgJzotKScsICc9KSddLCB1bmljb2RlOiAn8J+YgycgfSxcbiAgICB7IHBhdHRlcm5zOiBbJzpEJywgJzotRCcsICc9RCddLCB1bmljb2RlOiAn8J+YgCcgfSxcbiAgICB7IHBhdHRlcm5zOiBbJzooJywgJzotKCcsICc9KCddLCB1bmljb2RlOiAn8J+ZgScgfSxcbiAgICB7IHBhdHRlcm5zOiBbJzp8JywgJzotfCcsICc9fCddLCB1bmljb2RlOiAn8J+YkCcgfSxcbiAgICB7IHBhdHRlcm5zOiBbJzoqJywgJzotKicsICc9KiddLCB1bmljb2RlOiAn8J+YmScgfSxcbiAgICB7IHBhdHRlcm5zOiBbJ1RfVCcsICdULlQnXSwgdW5pY29kZTogJ/CfmK0nIH0sXG4gICAgeyBwYXR0ZXJuczogWyc6TycsICc6LU8nLCAnPU8nLCAnOm8nLCAnOi1vJywgJz1vJ10sIHVuaWNvZGU6ICfwn5iuJyB9LFxuICAgIHsgcGF0dGVybnM6IFsnOlAnLCAnOi1QJywgJz1QJywgJzpwJywgJzotcCcsICc9cCddLCB1bmljb2RlOiAn8J+YiycgfSxcbiAgICB7IHBhdHRlcm5zOiBbJz4uPCddLCB1bmljb2RlOiAn8J+YoycgfSxcbiAgICB7IHBhdHRlcm5zOiBbJ0AuQCddLCB1bmljb2RlOiAn8J+YtScgfSxcbiAgICB7IHBhdHRlcm5zOiBbJyouKiddLCB1bmljb2RlOiAn8J+YjScgfSxcbiAgICB7IHBhdHRlcm5zOiBbJzwzJ10sIHVuaWNvZGU6ICfinaTvuI8nIH0sXG4gICAgeyBwYXR0ZXJuczogWydeLl4nXSwgdW5pY29kZTogJ/CfmIonIH0sXG4gICAgeyBwYXR0ZXJuczogWyc6KzEnXSwgdW5pY29kZTogJ/CfkY0nIH0sXG4gICAgeyBwYXR0ZXJuczogWyc6LTEnXSwgdW5pY29kZTogJ/CfkY4nIH1cbl07XG5cbi8qXG4gKiBUcmFuc2Zvcm1zIGNvbW1vbiBlbW9qaSB0ZXh0IHRvIFVURiBlbmNvZGVkIGVtb2ppc1xuKi9cbkBQaXBlKHtuYW1lOiAnZW1vamlmeSd9KVxuZXhwb3J0IGNsYXNzIEVtb2ppZnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKG1lc3NhZ2U6IHN0cmluZywgcGlwZUVuYWJsZWQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBpZiAocGlwZUVuYWJsZWQgJiYgbWVzc2FnZSAmJiBtZXNzYWdlLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGVtb2ppRGljdGlvbmFyeS5mb3JFYWNoKGVtb2ppID0+IHtcbiAgICAgICAgICAgICAgICBlbW9qaS5wYXR0ZXJucy5mb3JFYWNoKHBhdHRlcm4gPT4ge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHBhdHRlcm4sIGVtb2ppLnVuaWNvZGUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { ChatParticipantType } from "../core/chat-participant-type.enum";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/*
|
|
5
|
+
* Renders the display name of a participant in a group based on who's sent the message
|
|
6
|
+
*/
|
|
7
|
+
export class GroupMessageDisplayNamePipe {
|
|
8
|
+
transform(participant, message) {
|
|
9
|
+
if (participant && participant.participantType == ChatParticipantType.Group) {
|
|
10
|
+
let group = participant;
|
|
11
|
+
let userIndex = group.chattingTo.findIndex(x => x.id == message.fromId);
|
|
12
|
+
return group.chattingTo[userIndex >= 0 ? userIndex : 0].displayName;
|
|
13
|
+
}
|
|
14
|
+
else
|
|
15
|
+
return "";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
GroupMessageDisplayNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GroupMessageDisplayNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
19
|
+
GroupMessageDisplayNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: GroupMessageDisplayNamePipe, name: "groupMessageDisplayName" });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GroupMessageDisplayNamePipe, decorators: [{
|
|
21
|
+
type: Pipe,
|
|
22
|
+
args: [{ name: 'groupMessageDisplayName' }]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtbWVzc2FnZS1kaXNwbGF5LW5hbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9waXBlcy9ncm91cC1tZXNzYWdlLWRpc3BsYXktbmFtZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUl6RTs7RUFFRTtBQUVGLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsU0FBUyxDQUFDLFdBQTZCLEVBQUUsT0FBZ0I7UUFDckQsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLGVBQWUsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLEVBQzNFO1lBQ0ksSUFBSSxLQUFLLEdBQUcsV0FBb0IsQ0FBQztZQUNqQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXhFLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUN2RTs7WUFFRyxPQUFPLEVBQUUsQ0FBQztJQUNsQixDQUFDOzt3SEFYUSwyQkFBMkI7c0hBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUR2QyxJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tIFwiLi4vY29yZS9ncm91cFwiO1xuaW1wb3J0IHsgQ2hhdFBhcnRpY2lwYW50VHlwZSB9IGZyb20gXCIuLi9jb3JlL2NoYXQtcGFydGljaXBhbnQtdHlwZS5lbnVtXCI7XG5pbXBvcnQgeyBJQ2hhdFBhcnRpY2lwYW50IH0gZnJvbSBcIi4uL2NvcmUvY2hhdC1wYXJ0aWNpcGFudFwiO1xuaW1wb3J0IHsgTWVzc2FnZSB9IGZyb20gXCIuLi9jb3JlL21lc3NhZ2VcIjtcblxuLypcbiAqIFJlbmRlcnMgdGhlIGRpc3BsYXkgbmFtZSBvZiBhIHBhcnRpY2lwYW50IGluIGEgZ3JvdXAgYmFzZWQgb24gd2hvJ3Mgc2VudCB0aGUgbWVzc2FnZVxuKi9cbkBQaXBlKHtuYW1lOiAnZ3JvdXBNZXNzYWdlRGlzcGxheU5hbWUnfSlcbmV4cG9ydCBjbGFzcyBHcm91cE1lc3NhZ2VEaXNwbGF5TmFtZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0ocGFydGljaXBhbnQ6IElDaGF0UGFydGljaXBhbnQsIG1lc3NhZ2U6IE1lc3NhZ2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAocGFydGljaXBhbnQgJiYgcGFydGljaXBhbnQucGFydGljaXBhbnRUeXBlID09IENoYXRQYXJ0aWNpcGFudFR5cGUuR3JvdXApXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxldCBncm91cCA9IHBhcnRpY2lwYW50IGFzIEdyb3VwO1xuICAgICAgICAgICAgbGV0IHVzZXJJbmRleCA9IGdyb3VwLmNoYXR0aW5nVG8uZmluZEluZGV4KHggPT4geC5pZCA9PSBtZXNzYWdlLmZyb21JZCk7XG5cbiAgICAgICAgICAgIHJldHVybiBncm91cC5jaGF0dGluZ1RvW3VzZXJJbmRleCA+PSAwID8gdXNlckluZGV4IDogMF0uZGlzcGxheU5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/*
|
|
4
|
+
* Transforms text containing URLs or E-mails to valid links/mailtos
|
|
5
|
+
*/
|
|
6
|
+
export class LinkfyPipe {
|
|
7
|
+
transform(message, pipeEnabled) {
|
|
8
|
+
if (pipeEnabled && message && message.length > 1) {
|
|
9
|
+
let replacedText;
|
|
10
|
+
let replacePatternProtocol;
|
|
11
|
+
let replacePatternWWW;
|
|
12
|
+
let replacePatternMailTo;
|
|
13
|
+
// URLs starting with http://, https://, or ftp://
|
|
14
|
+
replacePatternProtocol = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
|
|
15
|
+
replacedText = message.replace(replacePatternProtocol, '<a href="$1" target="_blank">$1</a>');
|
|
16
|
+
// URLs starting with "www." (ignoring // before it).
|
|
17
|
+
replacePatternWWW = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
|
|
18
|
+
replacedText = replacedText.replace(replacePatternWWW, '$1<a href="http://$2" target="_blank">$2</a>');
|
|
19
|
+
// Change email addresses to mailto:: links.
|
|
20
|
+
replacePatternMailTo = /(([a-zA-Z0-9\-\_\.])+@[a-zA-Z\_]+?(\.[a-zA-Z]{2,6})+)/gim;
|
|
21
|
+
replacedText = replacedText.replace(replacePatternMailTo, '<a href="mailto:$1">$1</a>');
|
|
22
|
+
return replacedText;
|
|
23
|
+
}
|
|
24
|
+
else
|
|
25
|
+
return message;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
LinkfyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkfyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
29
|
+
LinkfyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: LinkfyPipe, name: "linkfy" });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LinkfyPipe, decorators: [{
|
|
31
|
+
type: Pipe,
|
|
32
|
+
args: [{ name: 'linkfy' }]
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2Z5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0L3NyYy9saWIvcGlwZXMvbGlua2Z5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBEOztFQUVFO0FBRUYsTUFBTSxPQUFPLFVBQVU7SUFDbkIsU0FBUyxDQUFDLE9BQWUsRUFBRSxXQUFvQjtRQUMzQyxJQUFJLFdBQVcsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ2hEO1lBQ0ksSUFBSSxZQUFZLENBQUM7WUFDakIsSUFBSSxzQkFBc0IsQ0FBQztZQUMzQixJQUFJLGlCQUFpQixDQUFDO1lBQ3RCLElBQUksb0JBQW9CLENBQUM7WUFFekIsa0RBQWtEO1lBQ2xELHNCQUFzQixHQUFHLHlFQUF5RSxDQUFDO1lBQ25HLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLHFDQUFxQyxDQUFDLENBQUM7WUFFOUYscURBQXFEO1lBQ3JELGlCQUFpQixHQUFHLGdDQUFnQyxDQUFDO1lBQ3JELFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLDhDQUE4QyxDQUFDLENBQUM7WUFFdkcsNENBQTRDO1lBQzVDLG9CQUFvQixHQUFHLDBEQUEwRCxDQUFDO1lBQ2xGLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLDRCQUE0QixDQUFDLENBQUM7WUFFeEYsT0FBTyxZQUFZLENBQUM7U0FDdkI7O1lBRUcsT0FBTyxPQUFPLENBQUM7SUFDdkIsQ0FBQzs7dUdBekJRLFVBQVU7cUdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLypcbiAqIFRyYW5zZm9ybXMgdGV4dCBjb250YWluaW5nIFVSTHMgb3IgRS1tYWlscyB0byB2YWxpZCBsaW5rcy9tYWlsdG9zXG4qL1xuQFBpcGUoe25hbWU6ICdsaW5rZnknfSlcbmV4cG9ydCBjbGFzcyBMaW5rZnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKG1lc3NhZ2U6IHN0cmluZywgcGlwZUVuYWJsZWQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBpZiAocGlwZUVuYWJsZWQgJiYgbWVzc2FnZSAmJiBtZXNzYWdlLmxlbmd0aCA+IDEpXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxldCByZXBsYWNlZFRleHQ7XG4gICAgICAgICAgICBsZXQgcmVwbGFjZVBhdHRlcm5Qcm90b2NvbDtcbiAgICAgICAgICAgIGxldCByZXBsYWNlUGF0dGVybldXVztcbiAgICAgICAgICAgIGxldCByZXBsYWNlUGF0dGVybk1haWxUbztcblxuICAgICAgICAgICAgLy8gVVJMcyBzdGFydGluZyB3aXRoIGh0dHA6Ly8sIGh0dHBzOi8vLCBvciBmdHA6Ly9cbiAgICAgICAgICAgIHJlcGxhY2VQYXR0ZXJuUHJvdG9jb2wgPSAvKFxcYihodHRwcz98ZnRwKTpcXC9cXC9bLUEtWjAtOSsmQCNcXC8lPz1+X3whOiwuO10qWy1BLVowLTkrJkAjXFwvJT1+X3xdKS9naW07XG4gICAgICAgICAgICByZXBsYWNlZFRleHQgPSBtZXNzYWdlLnJlcGxhY2UocmVwbGFjZVBhdHRlcm5Qcm90b2NvbCwgJzxhIGhyZWY9XCIkMVwiIHRhcmdldD1cIl9ibGFua1wiPiQxPC9hPicpO1xuXG4gICAgICAgICAgICAvLyBVUkxzIHN0YXJ0aW5nIHdpdGggXCJ3d3cuXCIgKGlnbm9yaW5nIC8vIGJlZm9yZSBpdCkuXG4gICAgICAgICAgICByZXBsYWNlUGF0dGVybldXVyA9IC8oXnxbXlxcL10pKHd3d1xcLltcXFNdKyhcXGJ8JCkpL2dpbTtcbiAgICAgICAgICAgIHJlcGxhY2VkVGV4dCA9IHJlcGxhY2VkVGV4dC5yZXBsYWNlKHJlcGxhY2VQYXR0ZXJuV1dXLCAnJDE8YSBocmVmPVwiaHR0cDovLyQyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+JDI8L2E+Jyk7XG5cbiAgICAgICAgICAgIC8vIENoYW5nZSBlbWFpbCBhZGRyZXNzZXMgdG8gbWFpbHRvOjogbGlua3MuXG4gICAgICAgICAgICByZXBsYWNlUGF0dGVybk1haWxUbyA9IC8oKFthLXpBLVowLTlcXC1cXF9cXC5dKStAW2EtekEtWlxcX10rPyhcXC5bYS16QS1aXXsyLDZ9KSspL2dpbTtcbiAgICAgICAgICAgIHJlcGxhY2VkVGV4dCA9IHJlcGxhY2VkVGV4dC5yZXBsYWNlKHJlcGxhY2VQYXR0ZXJuTWFpbFRvLCAnPGEgaHJlZj1cIm1haWx0bzokMVwiPiQxPC9hPicpO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVwbGFjZWRUZXh0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
/*
|
|
5
|
+
* Sanitizes an URL resource
|
|
6
|
+
*/
|
|
7
|
+
export class SanitizePipe {
|
|
8
|
+
constructor(sanitizer) {
|
|
9
|
+
this.sanitizer = sanitizer;
|
|
10
|
+
}
|
|
11
|
+
transform(url) {
|
|
12
|
+
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
SanitizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SanitizePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
SanitizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: SanitizePipe, name: "sanitize" });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SanitizePipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{ name: 'sanitize' }]
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL2xpYi9waXBlcy9zYW5pdGl6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFHcEQ7O0VBRUU7QUFFRixNQUFNLE9BQU8sWUFBWTtJQUNyQixZQUFzQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUcsQ0FBQztJQUVqRCxTQUFTLENBQUMsR0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7eUdBTFEsWUFBWTt1R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlUmVzb3VyY2VVcmwgIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbi8qXG4gKiBTYW5pdGl6ZXMgYW4gVVJMIHJlc291cmNlXG4qL1xuQFBpcGUoe25hbWU6ICdzYW5pdGl6ZSd9KVxuZXhwb3J0IGNsYXNzIFNhbml0aXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAgIHRyYW5zZm9ybSh1cmw6IHN0cmluZyk6IFNhZmVSZXNvdXJjZVVybCB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ChatService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
}
|
|
6
|
+
ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChatService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
7
|
+
ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChatService, providedIn: 'root' });
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ChatService, decorators: [{
|
|
9
|
+
type: Injectable,
|
|
10
|
+
args: [{
|
|
11
|
+
providedIn: 'root'
|
|
12
|
+
}]
|
|
13
|
+
}], ctorParameters: function () { return []; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbGliL3NlcnZpY2VzL2NoYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sV0FBVztJQUN0QixnQkFBZSxDQUFDOzt3R0FETCxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGF0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVyYWFpLW1ubC1jaGF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC9zcmMvbXVyYWFpLW1ubC1jaGF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of mnl-chat
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/chat.module';
|
|
5
|
+
export * from './lib/services/chat.service';
|
|
6
|
+
export * from './lib/components/ng-chat/ng-chat.component';
|
|
7
|
+
export * from './lib/core/chat-adapter';
|
|
8
|
+
export * from './lib/core/message';
|
|
9
|
+
export * from './lib/core/chat-participant-status.enum';
|
|
10
|
+
export * from './lib/core/user';
|
|
11
|
+
export * from './lib/core/participant-response';
|
|
12
|
+
export * from './lib/core/participant-metadata';
|
|
13
|
+
export * from './lib/core/window';
|
|
14
|
+
export * from './lib/core/localization';
|
|
15
|
+
export * from './lib/core/chat-controller';
|
|
16
|
+
export * from './lib/core/paged-history-chat-adapter';
|
|
17
|
+
export * from './lib/core/theme.enum';
|
|
18
|
+
export * from './lib/core/chat-option';
|
|
19
|
+
export * from './lib/core/group';
|
|
20
|
+
export * from './lib/core/chat-participant';
|
|
21
|
+
export * from './lib/core/chat-group-adapter';
|
|
22
|
+
export * from './lib/core/chat-participant-type.enum';
|
|
23
|
+
export * from './lib/core/message-type.enum';
|
|
24
|
+
export * from './lib/core/file-upload-adapter';
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NoYXQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbW5sLWNoYXRcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hhdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY2hhdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmctY2hhdC9uZy1jaGF0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2NoYXQtYWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL21lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9jaGF0LXBhcnRpY2lwYW50LXN0YXR1cy5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL3BhcnRpY2lwYW50LXJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvcGFydGljaXBhbnQtbWV0YWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS93aW5kb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9sb2NhbGl6YXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9jaGF0LWNvbnRyb2xsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9wYWdlZC1oaXN0b3J5LWNoYXQtYWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL3RoZW1lLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9jaGF0LW9wdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2dyb3VwJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvY2hhdC1wYXJ0aWNpcGFudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2NoYXQtZ3JvdXAtYWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlL2NoYXQtcGFydGljaXBhbnQtdHlwZS5lbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvbWVzc2FnZS10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29yZS9maWxlLXVwbG9hZC1hZGFwdGVyJzsiXX0=
|