@rtsee/ngx 0.0.25 → 0.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ngx/bundles/rtsee-ngx.umd.js +469 -112
- package/dist/ngx/bundles/rtsee-ngx.umd.js.map +1 -1
- package/dist/ngx/esm2015/lib/common/components/preloader/preloader.component.js +34 -0
- package/dist/ngx/esm2015/lib/components/rtsee-container/rtsee-container.component.js +14 -0
- package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.js +73 -0
- package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.js +2 -3
- package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.js +9 -7
- package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.js +22 -0
- package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.js +2 -3
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/chat/chat.component.js +5 -43
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/chat-input/chat-input.component.js +3 -4
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.js +8 -5
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/chats-list/chats-list.component.js +3 -4
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.js +20 -0
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.js +23 -0
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.js +8 -0
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/main-menu/components/search/search.component.js +34 -0
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/main-menu/main-menu.component.js +35 -0
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.js +24 -0
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/message/message.component.js +9 -9
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/messages-list/messages-list.component.js +44 -13
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/messenger/messenger.component.js +14 -7
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/messenger-header/messenger-header.component.js +17 -12
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/profile/profile.component.js +28 -0
- package/dist/ngx/esm2015/lib/directives/shave.directive.js +22 -0
- package/dist/ngx/esm2015/lib/ngx.module.js +35 -2
- package/dist/ngx/esm2015/lib/services/events-widgets.service.js +25 -0
- package/dist/ngx/esm2015/lib/services/message-widgets.service.js +28 -0
- package/dist/ngx/fesm2015/rtsee-ngx.js +431 -96
- package/dist/ngx/fesm2015/rtsee-ngx.js.map +1 -1
- package/dist/ngx/lib/common/components/preloader/preloader.component.d.ts +13 -0
- package/dist/ngx/lib/components/rtsee-container/rtsee-container.component.d.ts +5 -0
- package/dist/ngx/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.d.ts +20 -0
- package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.d.ts +3 -1
- package/dist/ngx/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.d.ts +10 -0
- package/dist/ngx/lib/components/rtsee-messenger/chat/chat.component.d.ts +2 -12
- package/dist/ngx/lib/components/rtsee-messenger/chat-input/chat-input.component.d.ts +1 -1
- package/dist/ngx/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.d.ts +4 -3
- package/dist/ngx/lib/components/rtsee-messenger/chats-list/chats-list.component.d.ts +1 -1
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.d.ts +9 -0
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.d.ts +10 -0
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.d.ts +9 -0
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/components/search/search.component.d.ts +14 -0
- package/dist/ngx/lib/components/rtsee-messenger/main-menu/main-menu.component.d.ts +13 -0
- package/dist/ngx/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.d.ts +11 -0
- package/dist/ngx/lib/components/rtsee-messenger/message/message.component.d.ts +3 -3
- package/dist/ngx/lib/components/rtsee-messenger/messages-list/messages-list.component.d.ts +12 -3
- package/dist/ngx/lib/components/rtsee-messenger/messenger/messenger.component.d.ts +4 -1
- package/dist/ngx/lib/components/rtsee-messenger/messenger-header/messenger-header.component.d.ts +5 -2
- package/dist/ngx/lib/components/rtsee-messenger/profile/profile.component.d.ts +9 -0
- package/dist/ngx/lib/directives/shave.directive.d.ts +9 -0
- package/dist/ngx/lib/ngx.module.d.ts +21 -10
- package/dist/ngx/lib/services/events-widgets.service.d.ts +8 -0
- package/dist/ngx/lib/services/{widgets.service.d.ts → message-widgets.service.d.ts} +3 -3
- package/dist/ngx/src/lib/common/compiled-scss/styles.scss +980 -37
- package/package.json +3 -2
- package/dist/ngx/esm2015/lib/services/widgets.service.js +0 -28
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/button'), require('@angular/common'), require('@angular/material/form-field'), require('@angular/forms'), require('rxjs'), require('dayjs'), require('dayjs/plugin/relativeTime'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@rtsee/ngx', ['exports', '@angular/core', '@angular/material/button', '@angular/common', '@angular/material/form-field', '@angular/forms', 'rxjs', 'dayjs', 'dayjs/plugin/relativeTime', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.rtsee = global.rtsee || {}, global.rtsee.ngx = {}), global.ng.core, global.ng.material.button, global.ng.common, global.ng.material.formField, global.ng.forms, global.rxjs, global.dayjs, global.relativeTime, global.
|
|
5
|
-
}(this, (function (exports, i0, i1,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/button'), require('@angular/common'), require('@angular/material/form-field'), require('@angular/forms'), require('rxjs'), require('@rtsee/messenger'), require('dayjs'), require('dayjs/plugin/relativeTime'), require('shave'), require('ngx-infinite-scroll'), require('ngx-autosize'), require('rxjs/operators'), require('@angular/material/icon'), require('@angular/material/select'), require('@angular/platform-browser/animations')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@rtsee/ngx', ['exports', '@angular/core', '@angular/material/button', '@angular/common', '@angular/material/form-field', '@angular/forms', 'rxjs', '@rtsee/messenger', 'dayjs', 'dayjs/plugin/relativeTime', 'shave', 'ngx-infinite-scroll', 'ngx-autosize', 'rxjs/operators', '@angular/material/icon', '@angular/material/select', '@angular/platform-browser/animations'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.rtsee = global.rtsee || {}, global.rtsee.ngx = {}), global.ng.core, global.ng.material.button, global.ng.common, global.ng.material.formField, global.ng.forms, global.rxjs, global.messenger, global.dayjs, global.relativeTime, global.shave, global.i3$2, global.i2, global.rxjs.operators, global.ng.material.icon, global.ng.material.select, global.ng.platformBrowser.animations));
|
|
5
|
+
}(this, (function (exports, i0, i1, i3, i3$1, i1$1, rxjs, messenger, dayjs, relativeTime, shave, i3$2, i2, operators, icon, select, animations) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
6
8
|
|
|
7
9
|
function _interopNamespace(e) {
|
|
8
10
|
if (e && e.__esModule) return e;
|
|
@@ -26,13 +28,14 @@
|
|
|
26
28
|
|
|
27
29
|
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
28
30
|
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
|
29
|
-
var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
|
|
30
31
|
var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
|
|
32
|
+
var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
|
|
31
33
|
var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
|
|
32
34
|
var dayjs__namespace = /*#__PURE__*/_interopNamespace(dayjs);
|
|
33
35
|
var relativeTime__namespace = /*#__PURE__*/_interopNamespace(relativeTime);
|
|
34
|
-
var
|
|
35
|
-
var i3__namespace$
|
|
36
|
+
var shave__default = /*#__PURE__*/_interopDefaultLegacy(shave);
|
|
37
|
+
var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$2);
|
|
38
|
+
var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
|
|
36
39
|
|
|
37
40
|
var NgxService = /** @class */ (function () {
|
|
38
41
|
function NgxService() {
|
|
@@ -60,7 +63,7 @@
|
|
|
60
63
|
return RTSeeControlsComponent;
|
|
61
64
|
}());
|
|
62
65
|
RTSeeControlsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RTSeeControlsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
63
|
-
RTSeeControlsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RTSeeControlsComponent, selector: "ngx-rtsee-controls", inputs: { rtsee: "rtsee", fullScreenMode: "fullScreenMode" }, ngImport: i0__namespace, template: "<div class=\"rtsee-controls\" [ngClass]=\"{'rtsee-full-screen-controls' : fullScreenMode }\">\n <div class=\"rtsee-bottom-panel\">\n <div class=\"mic rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"rtsee.microphone\"\n type=\"button\"\n (click)=\"this.rtsee.disableMicrophone()\"\n >\n <span class=\"material-icons-outlined\">mic_none</span>\n </button>\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"!rtsee.microphone\"\n type=\"button\" (click)=\"this.rtsee.enableMicrophone()\"\n >\n <span class=\"material-icons-outlined\">mic_off</span>\n </button>\n </div>\n\n <div class=\"video-camera rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"rtsee.camera\"\n type=\"button\"\n (click)=\"rtsee.disableCamera()\"\n >\n <span class=\"material-icons-outlined\">videocam</span>\n </button>\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"!rtsee.camera\"\n type=\"button\"\n (click)=\"rtsee.enableCamera()\"\n >\n <span class=\"material-icons-outlined\">videocam_off</span>\n </button>\n </div>\n <div class=\"present rtsee-buttons-container\" [ngClass]=\"{'rtsee-present-button-container': rtsee.isPresenter}\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n type=\"button\"\n (click)=\"onPresentClicked()\"\n >\n <span class=\"material-icons-outlined\">present_to_all</span>\n </button>\n </div>\n <div class=\"call-end rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n type=\"button\"\n (click)=\"rtsee.end()\"\n >\n <span class=\"material-icons-outlined\">call_end</span>\n </button>\n </div>\n </div>\n</div>\n", styles: [".rtsee-controls{display:inline-block;height:100%}.rtsee-controls .rtsee-buttons-container{height:35px;width:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 6px;cursor:pointer}.rtsee-controls .rtsee-buttons-container:last-child{margin-right:0}.rtsee-controls .rtsee-buttons-container:first-child{margin-left:0}.rtsee-controls .rtsee-buttons-container .mat-icon-button{background-color:#333;color:#fff}.rtsee-controls .rtsee-buttons-container.call-end .mat-icon-button{background-color:red}.rtsee-controls .rtsee-buttons-container.rtsee-present-button-container .mat-icon-button{background-color:#090}.rtsee-controls .full-screen{align-self:flex-end;padding:12px;cursor:pointer}.rtsee-controls .rtsee-bottom-panel{padding:12px;display:flex;justify-content:center;align-items:center;border-radius:45px;background-color:rgba(0,0,0,.7)}.rtsee-controls.rtsee-full-screen-controls .rtsee-buttons-container{height:60px;width:60px}"], components: [{ type: i1__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type:
|
|
66
|
+
RTSeeControlsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RTSeeControlsComponent, selector: "ngx-rtsee-controls", inputs: { rtsee: "rtsee", fullScreenMode: "fullScreenMode" }, ngImport: i0__namespace, template: "<div class=\"rtsee-controls\" [ngClass]=\"{'rtsee-full-screen-controls' : fullScreenMode }\">\n <div class=\"rtsee-bottom-panel\">\n <div class=\"mic rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"rtsee.microphone\"\n type=\"button\"\n (click)=\"this.rtsee.disableMicrophone()\"\n >\n <span class=\"material-icons-outlined\">mic_none</span>\n </button>\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"!rtsee.microphone\"\n type=\"button\" (click)=\"this.rtsee.enableMicrophone()\"\n >\n <span class=\"material-icons-outlined\">mic_off</span>\n </button>\n </div>\n\n <div class=\"video-camera rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"rtsee.camera\"\n type=\"button\"\n (click)=\"rtsee.disableCamera()\"\n >\n <span class=\"material-icons-outlined\">videocam</span>\n </button>\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"!rtsee.camera\"\n type=\"button\"\n (click)=\"rtsee.enableCamera()\"\n >\n <span class=\"material-icons-outlined\">videocam_off</span>\n </button>\n </div>\n <div class=\"present rtsee-buttons-container\" [ngClass]=\"{'rtsee-present-button-container': rtsee.isPresenter}\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n type=\"button\"\n (click)=\"onPresentClicked()\"\n >\n <span class=\"material-icons-outlined\">present_to_all</span>\n </button>\n </div>\n <div class=\"call-end rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n type=\"button\"\n (click)=\"rtsee.end()\"\n >\n <span class=\"material-icons-outlined\">call_end</span>\n </button>\n </div>\n </div>\n</div>\n", styles: [".rtsee-controls{display:inline-block;height:100%}.rtsee-controls .rtsee-buttons-container{height:35px;width:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 6px;cursor:pointer}.rtsee-controls .rtsee-buttons-container:last-child{margin-right:0}.rtsee-controls .rtsee-buttons-container:first-child{margin-left:0}.rtsee-controls .rtsee-buttons-container .mat-icon-button{background-color:#333;color:#fff}.rtsee-controls .rtsee-buttons-container.call-end .mat-icon-button{background-color:red}.rtsee-controls .rtsee-buttons-container.rtsee-present-button-container .mat-icon-button{background-color:#090}.rtsee-controls .full-screen{align-self:flex-end;padding:12px;cursor:pointer}.rtsee-controls .rtsee-bottom-panel{padding:12px;display:flex;justify-content:center;align-items:center;border-radius:45px;background-color:rgba(0,0,0,.7)}.rtsee-controls.rtsee-full-screen-controls .rtsee-buttons-container{height:60px;width:60px}"], components: [{ type: i1__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.MatSuffix, selector: "[matSuffix]" }] });
|
|
64
67
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RTSeeControlsComponent, decorators: [{
|
|
65
68
|
type: i0.Component,
|
|
66
69
|
args: [{
|
|
@@ -99,7 +102,7 @@
|
|
|
99
102
|
return RtseeSettingsComponent;
|
|
100
103
|
}());
|
|
101
104
|
RtseeSettingsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeSettingsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
102
|
-
RtseeSettingsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeSettingsComponent, selector: "ngx-rtsee-settings", inputs: { rtSee: "rtSee", fullScreenMode: "fullScreenMode" }, ngImport: i0__namespace, template: "<div class=\"rtsee-settings\" [ngClass]=\"{'rtsee-full-screen-settings' : fullScreenMode}\">\n <div class=\"rtsee-devices\">\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-input\">Audio Input:</label>\n <select class=\"rtsee-select\" id=\"audio-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioInputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-output\">Audio Output:</label>\n <select class=\"rtsee-select\" id=\"audio-output\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioOutputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioOutput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"video-input\">Video Input:</label>\n <select class=\"rtsee-select\" id=\"video-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.videoInputDevices\" [value]=\"device.deviceId\" (click)=\"setVideoInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n </div>\n</div>\n", styles: [".rtsee-settings{box-sizing:border-box;background-color:#404040;border-bottom:1px solid;max-height:180px;padding:16px 0;overflow:auto;color:#fff}.rtsee-settings .rtsee-device-select-wrapper{padding:0 10px}.rtsee-settings .rtsee-device-select-wrapper .rtsee-select-label{font-family:monospace;display:inline-block;margin:8px}.rtsee-settings.rtsee-full-screen-settings{max-height:unset;overflow:unset}"], directives: [{ type:
|
|
105
|
+
RtseeSettingsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeSettingsComponent, selector: "ngx-rtsee-settings", inputs: { rtSee: "rtSee", fullScreenMode: "fullScreenMode" }, ngImport: i0__namespace, template: "<div class=\"rtsee-settings\" [ngClass]=\"{'rtsee-full-screen-settings' : fullScreenMode}\">\n <div class=\"rtsee-devices\">\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-input\">Audio Input:</label>\n <select class=\"rtsee-select\" id=\"audio-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioInputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-output\">Audio Output:</label>\n <select class=\"rtsee-select\" id=\"audio-output\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioOutputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioOutput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"video-input\">Video Input:</label>\n <select class=\"rtsee-select\" id=\"video-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.videoInputDevices\" [value]=\"device.deviceId\" (click)=\"setVideoInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n </div>\n</div>\n", styles: [".rtsee-settings{box-sizing:border-box;background-color:#404040;border-bottom:1px solid;max-height:180px;padding:16px 0;overflow:auto;color:#fff}.rtsee-settings .rtsee-device-select-wrapper{padding:0 10px}.rtsee-settings .rtsee-device-select-wrapper .rtsee-select-label{font-family:monospace;display:inline-block;margin:8px}.rtsee-settings.rtsee-full-screen-settings{max-height:unset;overflow:unset}"], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
|
|
103
106
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeSettingsComponent, decorators: [{
|
|
104
107
|
type: i0.Component,
|
|
105
108
|
args: [{
|
|
@@ -184,7 +187,7 @@
|
|
|
184
187
|
return RtseePeerComponent;
|
|
185
188
|
}());
|
|
186
189
|
RtseePeerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseePeerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
187
|
-
RtseePeerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseePeerComponent, selector: "ngx-rtsee-peer", inputs: { peer: "peer" }, viewQueries: [{ propertyName: "audioOutput", first: true, predicate: ["audioOutput"], descendants: true }, { propertyName: "videoOutput", first: true, predicate: ["videoOutput"], descendants: true }], ngImport: i0__namespace, template: "<div class=\"rtsee-peer\" [ngClass]=\"{\n'rtsee-peer-video-disabled': !peer.remoteVideoStream || !peer.camera\n}\">\n <div class=\"rtsee-peer-content\">\n <div class=\"rtsee-peer-photo\" *ngIf=\"!peer.camera\">\n <div class=\"rtsee-peer-photo-wrapper\">\n <div *ngIf=\"peer.imageUrl\"\n [style.background-image]=\"'url(' + peer.imageUrl + ')'\"\n class=\"rtsee-peer-photo-image\"\n ></div>\n <img *ngIf=\"!peer.imageUrl\" [src]=\"\" alt=\"peer_photo\" class=\"rtsee-peer-photo-image\">\n </div>\n <div class=\"rtsee-peer-info\">\n <p class=\"rtsee-peer-name\" *ngIf=\"peer.name\">{{peer.name}}</p>\n </div>\n </div>\n <video #videoOutput\n class=\"rtsee-peer-video\"\n [autoplay]=\"true\"\n [srcObject]=\"peer.remoteVideoStream\"\n playsinline=\"true\"\n >\n </video>\n <div class=\"rtsee-peer-soundbar\">\n <ngx-rtsee-soundbar [peer]=\"peer\"></ngx-rtsee-soundbar>\n </div>\n </div>\n</div>\n", styles: [".rtsee-peer{height:100%;width:100%;overflow:hidden}.rtsee-peer .rtsee-peer-content{height:100%;text-align:center;background-color:#404040;border-radius:4px}.rtsee-peer .rtsee-peer-content .rtsee-peer-photo .rtsee-peer-photo-wrapper{display:inline-block;height:120px;width:120px;border-radius:50%;position:relative;border:0 solid #fff}.rtsee-peer .rtsee-peer-content .rtsee-peer-photo .rtsee-peer-photo-wrapper .rtsee-peer-photo-image{border:0 solid #fff;height:100%;left:0;background-size:cover;border-radius:50%}.rtsee-peer .rtsee-peer-content .rtsee-peer-info{color:#fff}.rtsee-peer .rtsee-peer-content .rtsee-peer-info .rtsee-peer-name{font-family:monospace;padding:8px 0 0;margin-top:-8px}.rtsee-peer .rtsee-peer-content .rtsee-peer-soundbar{position:absolute;right:16px;bottom:16px;background:#404040;padding:7px 6px 8px;border-radius:50%;border:1px solid}.rtsee-peer .rtsee-peer-video{height:100%;max-width:100%}.rtsee-peer.rtsee-peer-video-disabled .rtsee-peer-video{position:absolute;left:-3000px}"], components: [{ type: RtseeSoundbarComponent, selector: "ngx-rtsee-soundbar", inputs: ["peer"] }], directives: [{ type:
|
|
190
|
+
RtseePeerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseePeerComponent, selector: "ngx-rtsee-peer", inputs: { peer: "peer" }, viewQueries: [{ propertyName: "audioOutput", first: true, predicate: ["audioOutput"], descendants: true }, { propertyName: "videoOutput", first: true, predicate: ["videoOutput"], descendants: true }], ngImport: i0__namespace, template: "<div class=\"rtsee-peer\" [ngClass]=\"{\n'rtsee-peer-video-disabled': !peer.remoteVideoStream || !peer.camera\n}\">\n <div class=\"rtsee-peer-content\">\n <div class=\"rtsee-peer-photo\" *ngIf=\"!peer.camera\">\n <div class=\"rtsee-peer-photo-wrapper\">\n <div *ngIf=\"peer.imageUrl\"\n [style.background-image]=\"'url(' + peer.imageUrl + ')'\"\n class=\"rtsee-peer-photo-image\"\n ></div>\n <img *ngIf=\"!peer.imageUrl\" [src]=\"\" alt=\"peer_photo\" class=\"rtsee-peer-photo-image\">\n </div>\n <div class=\"rtsee-peer-info\">\n <p class=\"rtsee-peer-name\" *ngIf=\"peer.name\">{{peer.name}}</p>\n </div>\n </div>\n <video #videoOutput\n class=\"rtsee-peer-video\"\n [autoplay]=\"true\"\n [srcObject]=\"peer.remoteVideoStream\"\n playsinline=\"true\"\n >\n </video>\n <div class=\"rtsee-peer-soundbar\">\n <ngx-rtsee-soundbar [peer]=\"peer\"></ngx-rtsee-soundbar>\n </div>\n </div>\n</div>\n", styles: [".rtsee-peer{height:100%;width:100%;overflow:hidden}.rtsee-peer .rtsee-peer-content{height:100%;text-align:center;background-color:#404040;border-radius:4px}.rtsee-peer .rtsee-peer-content .rtsee-peer-photo .rtsee-peer-photo-wrapper{display:inline-block;height:120px;width:120px;border-radius:50%;position:relative;border:0 solid #fff}.rtsee-peer .rtsee-peer-content .rtsee-peer-photo .rtsee-peer-photo-wrapper .rtsee-peer-photo-image{border:0 solid #fff;height:100%;left:0;background-size:cover;border-radius:50%}.rtsee-peer .rtsee-peer-content .rtsee-peer-info{color:#fff}.rtsee-peer .rtsee-peer-content .rtsee-peer-info .rtsee-peer-name{font-family:monospace;padding:8px 0 0;margin-top:-8px}.rtsee-peer .rtsee-peer-content .rtsee-peer-soundbar{position:absolute;right:16px;bottom:16px;background:#404040;padding:7px 6px 8px;border-radius:50%;border:1px solid}.rtsee-peer .rtsee-peer-video{height:100%;max-width:100%}.rtsee-peer.rtsee-peer-video-disabled .rtsee-peer-video{position:absolute;left:-3000px}"], components: [{ type: RtseeSoundbarComponent, selector: "ngx-rtsee-soundbar", inputs: ["peer"] }], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
188
191
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseePeerComponent, decorators: [{
|
|
189
192
|
type: i0.Component,
|
|
190
193
|
args: [{
|
|
@@ -216,7 +219,7 @@
|
|
|
216
219
|
return RTSeeComponent;
|
|
217
220
|
}());
|
|
218
221
|
RTSeeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RTSeeComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
219
|
-
RTSeeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RTSeeComponent, selector: "ngx-rtsee", inputs: { rtSee: "rtSee" }, ngImport: i0__namespace, template: "<div class=\"rtsee-shell\" [ngClass]=\"{\n'rtsee-shell-expanded': rtSee.uiControls.isExpanded || fullScreenModeEnabled,\n'rtsee-shell-no-companions': !rtSee.rtcPeerConnections.connections?.length\n}\">\n <div class=\"rtsee-local-peer\" *ngIf=\"rtSee.localStream && rtSee.camera\">\n <video class=\"rtsee-local-video\"\n [autoplay]=\"true\"\n [muted]=\"true\"\n [srcObject]=\"rtSee.localStream\"\n playsinline=\"true\"\n ></video>\n </div>\n <div class=\"rtsee-window-controls\">\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleSettings()\"\n class=\"rtsee-window-controls-button rtsee-ripple-button\"\n >\n <span class=\"material-icons-outlined\">settings</span>\n </button>\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleFullScreenMode()\"\n class=\"rtsee-window-controls-button rtsee-ripple-button\"\n >\n <span class=\"material-icons-outlined\">open_in_full</span>\n </button>\n </div>\n <div class=\"rtsee-settings-container\" *ngIf=\"settingsViewEnabled\">\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleSettings()\"\n class=\"rtsee-close-settings-button\"\n >\n <span class=\"material-icons-outlined\">close</span>\n </button>\n <ngx-rtsee-settings [rtSee]=\"rtSee\" [fullScreenMode]=\"fullScreenModeEnabled\"></ngx-rtsee-settings>\n </div>\n <div class=\"rtsee-screen-share\" *ngIf=\"rtSee.screenSharePeer\" >\n <video [autoplay]=\"true\"\n [muted]=\"true\"\n [srcObject]=\"rtSee.screenSharePeer.remoteVideoStream\"\n playsinline=\"true\"\n class=\"rtsee-screen-share-video\"\n ></video>\n </div>\n <div class=\"rtsee-peers\" [ngClass]=\"{\n 'rtsee-peers-alone': !rtSee.rtcPeerConnections.connections?.length,\n 'rtsee-peers-one': rtSee.rtcPeerConnections.connections?.length === 1,\n 'rtsee-peers-three-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length > 1\n && rtSee.rtcPeerConnections.connections.length < 4,\n 'rtsee-peers-six-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length > 3\n && rtSee.rtcPeerConnections.connections.length < 7,\n 'rtsee-peers-nine-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length >= 7\n }\">\n <div class=\"rtsee-peer-wrapper\"\n *ngFor=\"let peer of rtSee.rtcPeerConnections.connections\"\n >\n <ngx-rtsee-peer [peer]=\"peer\"></ngx-rtsee-peer>\n </div>\n </div>\n <div class=\"rtsee-peers-list\"></div>\n <div class=\"rtsee-controls-wrapper\">\n <ngx-rtsee-controls [rtsee]=\"rtSee\" [fullScreenMode]=\"fullScreenModeEnabled\"></ngx-rtsee-controls>\n </div>\n</div>\n\n", styles: [".rtsee-shell{position:fixed;z-index:10;right:16px;bottom:16px;background-color:#333;width:100%;max-width:320px;height:240px;overflow:hidden;border-radius:8px}.rtsee-shell:hover .rtsee-controls-wrapper{bottom:8px}.rtsee-shell:hover .rtsee-window-controls{top:8px}.rtsee-shell .rtsee-local-peer{position:absolute;top:8px;left:8px;width:80px;height:60px;text-align:center}.rtsee-shell .rtsee-local-peer .rtsee-local-video{height:100%;max-width:100%;border-radius:8px}.rtsee-shell .rtsee-screen-share{height:100%}.rtsee-shell .rtsee-screen-share .rtsee-screen-share-video{width:100%;height:calc(100% - 50px)}.rtsee-shell .rtsee-peers{height:100%}.rtsee-shell .rtsee-peers .rtsee-peer-wrapper{padding:8px;box-sizing:border-box;height:100%}.rtsee-shell .rtsee-peers .rtsee-peer-wrapper .rtsee-peer{position:relative}.rtsee-shell .rtsee-peers .rtsee-peer-wrapper .rtsee-peer ::ng-deep .rtsee-peer-video{border-radius:8px}.rtsee-shell .rtsee-controls-wrapper{height:60px;width:100%;position:absolute;left:0;bottom:-60px;transition:bottom .1s;text-align:center}.rtsee-shell .rtsee-window-controls{position:absolute;top:-60px;right:8px;transition:top .1s;z-index:4}.rtsee-shell .rtsee-window-controls .rtsee-window-controls-button{margin-left:8px;background-color:rgba(0,0,0,.7);color:#fff}.rtsee-shell .rtsee-settings-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;z-index:4}.rtsee-shell.rtsee-shell-no-companions .rtsee-local-peer{box-sizing:border-box;padding:8px;height:100%;width:100%;top:0;bottom:0;left:0}.rtsee-shell .rtsee-close-settings-button{position:absolute;right:25px;top:5px;width:30px;height:30px;line-height:30px}.rtsee-shell.rtsee-shell-expanded{position:absolute;border-radius:0;max-width:unset;height:unset;width:unset;bottom:0;right:0;left:0;top:0}.rtsee-shell.rtsee-shell-expanded:hover .rtsee-controls-wrapper{bottom:16px}.rtsee-shell.rtsee-shell-expanded:hover .rtsee-window-controls{top:16px;right:16px}.rtsee-shell.rtsee-shell-expanded .rtsee-local-peer{top:unset;left:unset;width:211.2px;height:158.4px;bottom:16px;right:16px;padding:0;z-index:5}.rtsee-shell.rtsee-shell-expanded .rtsee-peers{width:100%;height:100%;display:table;table-layout:fixed}.rtsee-shell.rtsee-shell-expanded .rtsee-peers .rtsee-peer-wrapper{display:table-cell;vertical-align:middle}.rtsee-shell.rtsee-shell-expanded .rtsee-peers .rtsee-peer-wrapper ::ng-deep .rtsee-peer-video{border-radius:0}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-one .rtsee-peer-wrapper{width:100%;height:100%}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-one .rtsee-peer-wrapper ::ng-deep .rtsee-peer{height:70%;position:relative}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-three-grid .rtsee-peer-wrapper{width:50%;height:100%}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-three-grid .rtsee-peer-wrapper ::ng-deep .rtsee-peer{height:70%;position:relative}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-six-grid .rtsee-peer-wrapper{width:33.3%;height:50%;float:left}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-shell-no-companions .rtsee-local-peer{height:100%;max-width:100%}.rtsee-shell.rtsee-shell-expanded .rtsee-controls-wrapper{height:84px;bottom:-84px}::ng-deep .rtsee-ripple-button{background-position:50%;transition:background .2s;outline:none}::ng-deep .rtsee-ripple-button:hover{background:hsla(0,0%,96%,.1) radial-gradient(circle,transparent 1%,hsla(0,0%,96%,.1) 0) 50%/15000%}::ng-deep .rtsee-ripple-button:active{background-size:100%;transition:background 0s}::ng-deep .rtsee-select{padding:8px;border-radius:4px;width:100%;outline:none}::ng-deep .material-icons-outlined{font-size:18px}::ng-deep .rtsee-shell.rtsee-shell-expanded .material-icons-outlined{font-size:24px}::ng-deep .rtsee-shell.rtsee-shell-expanded .rtsee-ripple-button{height:60px;width:60px;line-height:60px}"], components: [{ type: i1__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: RtseeSettingsComponent, selector: "ngx-rtsee-settings", inputs: ["rtSee", "fullScreenMode"] }, { type: RtseePeerComponent, selector: "ngx-rtsee-peer", inputs: ["peer"] }, { type: RTSeeControlsComponent, selector: "ngx-rtsee-controls", inputs: ["rtsee", "fullScreenMode"] }], directives: [{ type:
|
|
222
|
+
RTSeeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RTSeeComponent, selector: "ngx-rtsee", inputs: { rtSee: "rtSee" }, ngImport: i0__namespace, template: "<div class=\"rtsee-shell\" [ngClass]=\"{\n'rtsee-shell-expanded': rtSee.uiControls.isExpanded || fullScreenModeEnabled,\n'rtsee-shell-no-companions': !rtSee.rtcPeerConnections.connections?.length\n}\">\n <div class=\"rtsee-local-peer\" *ngIf=\"rtSee.localStream && rtSee.camera\">\n <video class=\"rtsee-local-video\"\n [autoplay]=\"true\"\n [muted]=\"true\"\n [srcObject]=\"rtSee.localStream\"\n playsinline=\"true\"\n ></video>\n </div>\n <div class=\"rtsee-window-controls\">\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleSettings()\"\n class=\"rtsee-window-controls-button rtsee-ripple-button\"\n >\n <span class=\"material-icons-outlined\">settings</span>\n </button>\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleFullScreenMode()\"\n class=\"rtsee-window-controls-button rtsee-ripple-button\"\n >\n <span class=\"material-icons-outlined\">open_in_full</span>\n </button>\n </div>\n <div class=\"rtsee-settings-container\" *ngIf=\"settingsViewEnabled\">\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleSettings()\"\n class=\"rtsee-close-settings-button\"\n >\n <span class=\"material-icons-outlined\">close</span>\n </button>\n <ngx-rtsee-settings [rtSee]=\"rtSee\" [fullScreenMode]=\"fullScreenModeEnabled\"></ngx-rtsee-settings>\n </div>\n <div class=\"rtsee-screen-share\" *ngIf=\"rtSee.screenSharePeer\" >\n <video [autoplay]=\"true\"\n [muted]=\"true\"\n [srcObject]=\"rtSee.screenSharePeer.remoteVideoStream\"\n playsinline=\"true\"\n class=\"rtsee-screen-share-video\"\n ></video>\n </div>\n <div class=\"rtsee-peers\" [ngClass]=\"{\n 'rtsee-peers-alone': !rtSee.rtcPeerConnections.connections?.length,\n 'rtsee-peers-one': rtSee.rtcPeerConnections.connections?.length === 1,\n 'rtsee-peers-three-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length > 1\n && rtSee.rtcPeerConnections.connections.length < 4,\n 'rtsee-peers-six-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length > 3\n && rtSee.rtcPeerConnections.connections.length < 7,\n 'rtsee-peers-nine-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length >= 7\n }\">\n <div class=\"rtsee-peer-wrapper\"\n *ngFor=\"let peer of rtSee.rtcPeerConnections.connections\"\n >\n <ngx-rtsee-peer [peer]=\"peer\"></ngx-rtsee-peer>\n </div>\n </div>\n <div class=\"rtsee-peers-list\"></div>\n <div class=\"rtsee-controls-wrapper\">\n <ngx-rtsee-controls [rtsee]=\"rtSee\" [fullScreenMode]=\"fullScreenModeEnabled\"></ngx-rtsee-controls>\n </div>\n</div>\n\n", styles: [".rtsee-shell{position:fixed;z-index:10;right:16px;bottom:16px;background-color:#333;width:100%;max-width:320px;height:240px;overflow:hidden;border-radius:8px}.rtsee-shell:hover .rtsee-controls-wrapper{bottom:8px}.rtsee-shell:hover .rtsee-window-controls{top:8px}.rtsee-shell .rtsee-local-peer{position:absolute;top:8px;left:8px;width:80px;height:60px;text-align:center}.rtsee-shell .rtsee-local-peer .rtsee-local-video{height:100%;max-width:100%;border-radius:8px}.rtsee-shell .rtsee-screen-share{height:100%}.rtsee-shell .rtsee-screen-share .rtsee-screen-share-video{width:100%;height:calc(100% - 50px)}.rtsee-shell .rtsee-peers{height:100%}.rtsee-shell .rtsee-peers .rtsee-peer-wrapper{padding:8px;box-sizing:border-box;height:100%}.rtsee-shell .rtsee-peers .rtsee-peer-wrapper .rtsee-peer{position:relative}.rtsee-shell .rtsee-peers .rtsee-peer-wrapper .rtsee-peer ::ng-deep .rtsee-peer-video{border-radius:8px}.rtsee-shell .rtsee-controls-wrapper{height:60px;width:100%;position:absolute;left:0;bottom:-60px;transition:bottom .1s;text-align:center}.rtsee-shell .rtsee-window-controls{position:absolute;top:-60px;right:8px;transition:top .1s;z-index:4}.rtsee-shell .rtsee-window-controls .rtsee-window-controls-button{margin-left:8px;background-color:rgba(0,0,0,.7);color:#fff}.rtsee-shell .rtsee-settings-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;z-index:4}.rtsee-shell.rtsee-shell-no-companions .rtsee-local-peer{box-sizing:border-box;padding:8px;height:100%;width:100%;top:0;bottom:0;left:0}.rtsee-shell .rtsee-close-settings-button{position:absolute;right:25px;top:5px;width:30px;height:30px;line-height:30px}.rtsee-shell.rtsee-shell-expanded{position:absolute;border-radius:0;max-width:unset;height:unset;width:unset;bottom:0;right:0;left:0;top:0}.rtsee-shell.rtsee-shell-expanded:hover .rtsee-controls-wrapper{bottom:16px}.rtsee-shell.rtsee-shell-expanded:hover .rtsee-window-controls{top:16px;right:16px}.rtsee-shell.rtsee-shell-expanded .rtsee-local-peer{top:unset;left:unset;width:211.2px;height:158.4px;bottom:16px;right:16px;padding:0;z-index:5}.rtsee-shell.rtsee-shell-expanded .rtsee-peers{width:100%;height:100%;display:table;table-layout:fixed}.rtsee-shell.rtsee-shell-expanded .rtsee-peers .rtsee-peer-wrapper{display:table-cell;vertical-align:middle}.rtsee-shell.rtsee-shell-expanded .rtsee-peers .rtsee-peer-wrapper ::ng-deep .rtsee-peer-video{border-radius:0}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-one .rtsee-peer-wrapper{width:100%;height:100%}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-one .rtsee-peer-wrapper ::ng-deep .rtsee-peer{height:70%;position:relative}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-three-grid .rtsee-peer-wrapper{width:50%;height:100%}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-three-grid .rtsee-peer-wrapper ::ng-deep .rtsee-peer{height:70%;position:relative}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-peers-six-grid .rtsee-peer-wrapper{width:33.3%;height:50%;float:left}.rtsee-shell.rtsee-shell-expanded .rtsee-peers.rtsee-shell-no-companions .rtsee-local-peer{height:100%;max-width:100%}.rtsee-shell.rtsee-shell-expanded .rtsee-controls-wrapper{height:84px;bottom:-84px}::ng-deep .rtsee-ripple-button{background-position:50%;transition:background .2s;outline:none}::ng-deep .rtsee-ripple-button:hover{background:hsla(0,0%,96%,.1) radial-gradient(circle,transparent 1%,hsla(0,0%,96%,.1) 0) 50%/15000%}::ng-deep .rtsee-ripple-button:active{background-size:100%;transition:background 0s}::ng-deep .rtsee-select{padding:8px;border-radius:4px;width:100%;outline:none}::ng-deep .material-icons-outlined{font-size:18px}::ng-deep .rtsee-shell.rtsee-shell-expanded .material-icons-outlined{font-size:24px}::ng-deep .rtsee-shell.rtsee-shell-expanded .rtsee-ripple-button{height:60px;width:60px;line-height:60px}"], components: [{ type: i1__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: RtseeSettingsComponent, selector: "ngx-rtsee-settings", inputs: ["rtSee", "fullScreenMode"] }, { type: RtseePeerComponent, selector: "ngx-rtsee-peer", inputs: ["peer"] }, { type: RTSeeControlsComponent, selector: "ngx-rtsee-controls", inputs: ["rtsee", "fullScreenMode"] }], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.MatSuffix, selector: "[matSuffix]" }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
220
223
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RTSeeComponent, decorators: [{
|
|
221
224
|
type: i0.Component,
|
|
222
225
|
args: [{
|
|
@@ -243,28 +246,61 @@
|
|
|
243
246
|
}]
|
|
244
247
|
}] });
|
|
245
248
|
|
|
246
|
-
var
|
|
247
|
-
function
|
|
248
|
-
this.defaultImagesService = defaultImagesService;
|
|
249
|
+
var ProfileComponent = /** @class */ (function () {
|
|
250
|
+
function ProfileComponent() {
|
|
249
251
|
}
|
|
250
|
-
|
|
252
|
+
ProfileComponent.prototype.call = function () {
|
|
251
253
|
if (!this.messenger.openedChat) {
|
|
252
254
|
return;
|
|
253
255
|
}
|
|
254
256
|
void this.messenger.initializeVideoCall(this.messenger.openedChat);
|
|
255
257
|
};
|
|
258
|
+
ProfileComponent.prototype.videoCall = function () {
|
|
259
|
+
if (!this.messenger.openedChat) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
void this.messenger.initializeVideoCall(this.messenger.openedChat);
|
|
263
|
+
};
|
|
264
|
+
return ProfileComponent;
|
|
265
|
+
}());
|
|
266
|
+
ProfileComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ProfileComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
267
|
+
ProfileComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ProfileComponent, selector: "rtsee-profile", inputs: { messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-profile\">\n <ul class=\"rtsee-messenger-profile-controls\">\n <li class=\"rtsee-messenger-profile-control\">\n <button (click)=\"call()\" class=\"rtsee-messenger-profile-control-button\">\n <span class=\"rtsee-messenger-profile-control-button-icon material-icons-outlined\">call</span>\n <span class=\"rtsee-messenger-profile-control-button-label\">call</span>\n </button>\n </li>\n <li class=\"rtsee-messenger-profile-control\">\n <button (click)=\"videoCall()\" class=\"rtsee-messenger-profile-control-button\">\n <span class=\"rtsee-messenger-profile-control-button-icon material-icons-outlined\">videocam</span>\n <span class=\"rtsee-messenger-profile-control-button-label\">video</span>\n </button>\n </li>\n <li class=\"rtsee-messenger-profile-control\">\n <button (click)=\"videoCall()\" class=\"rtsee-messenger-profile-control-button\">\n <span class=\"rtsee-messenger-profile-control-button-icon material-icons-outlined\">videocam</span>\n <span class=\"rtsee-messenger-profile-control-button-label\">person</span>\n </button>\n </li>\n </ul>\n</div>\n" });
|
|
268
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ProfileComponent, decorators: [{
|
|
269
|
+
type: i0.Component,
|
|
270
|
+
args: [{
|
|
271
|
+
selector: 'rtsee-profile',
|
|
272
|
+
templateUrl: './profile.component.html',
|
|
273
|
+
}]
|
|
274
|
+
}], propDecorators: { messenger: [{
|
|
275
|
+
type: i0.Input
|
|
276
|
+
}] } });
|
|
277
|
+
|
|
278
|
+
var MessengerHeaderComponent = /** @class */ (function () {
|
|
279
|
+
function MessengerHeaderComponent(defaultImagesService) {
|
|
280
|
+
this.defaultImagesService = defaultImagesService;
|
|
281
|
+
this.expandToggled = new i0.EventEmitter();
|
|
282
|
+
this.isExpanded = false;
|
|
283
|
+
this.expandToggled.emit(this.isExpanded);
|
|
284
|
+
}
|
|
285
|
+
MessengerHeaderComponent.prototype.toggleExpand = function () {
|
|
286
|
+
this.isExpanded = !this.isExpanded;
|
|
287
|
+
this.expandToggled.emit(this.isExpanded);
|
|
288
|
+
};
|
|
256
289
|
return MessengerHeaderComponent;
|
|
257
290
|
}());
|
|
258
291
|
MessengerHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessengerHeaderComponent, deps: [{ token: DefaultImagesService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
259
|
-
MessengerHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerHeaderComponent, selector: "
|
|
292
|
+
MessengerHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerHeaderComponent, selector: "rtsee-messenger-header", inputs: { isExpanded: "isExpanded", messenger: "messenger" }, outputs: { expandToggled: "expandToggled" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-header\"\n [ngClass]=\"{\n 'rtsee-messenger-header-chat-opened': messenger.openedChat,\n 'rtsee-messenger-header-expanded': isExpanded\n }\"\n>\n <div class=\"rtsee-messenger-profile-image-container \">\n <div *ngIf=\"!messenger.openedChat\"\n [style.background-image]=\"'url(' + messenger.myPeer?.imageUrl || defaultImagesService.PROFILE + ')'\"\n class=\"rtsee-messenger-profile-image\">\n </div>\n </div>\n\n <button class=\"rtsee-messenger-close-chat\"\n *ngIf=\"messenger.openedChat\"\n (click)=\"messenger.closeChat()\"\n >\n <span class=\"material-icons-outlined\">chevron_left</span>\n <span *ngIf=\"messenger.unreadMessagesCount\">{{messenger.unreadMessagesCount}}</span>\n </button>\n\n <button class=\"rtsee-messenger-menu-toggle\"\n *ngIf=\"!messenger.openedChat\"\n (click)=\"messenger.openMainMenu(true)\"\n >\n <span class=\"material-icons-outlined rtsee-messenger-menu-toggle-icon\">chat_bubble</span>\n </button>\n <div *ngIf=\"messenger.openedChat\"\n [ngClass]=\"{'rtsee-messenger-header-opened-chat-info-expanded': isExpanded}\"\n class=\"rtsee-messenger-header-opened-chat-info\">\n <div class=\"rtsee-messenger-profile-header-placeholder\">\n <p *ngIf=\"messenger.openedChat\"\n class=\"rtsee-messenger-header-chat-title\"\n >{{ messenger.openedChat.name }}</p>\n <div class=\"rtsee-messenger-profile-image-container\" (click)=\"toggleExpand()\">\n <div class=\"rtsee-messenger-profile-image\"\n [style.background-image]=\"'url(' + messenger.openedChat.imageUrl || defaultImagesService.PROFILE + ')'\"\n ></div>\n </div>\n </div>\n <div class=\"rtsee-messenger-profile-data-container\">\n <rtsee-profile *ngIf=\"isExpanded\" [messenger]=\"messenger\"></rtsee-profile>\n </div>\n </div>\n\n <p *ngIf=\"!messenger.openedChat\"\n class=\"rtsee-messenger-header-title\"\n >Chats</p>\n</div>\n", components: [{ type: ProfileComponent, selector: "rtsee-profile", inputs: ["messenger"] }], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
260
293
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessengerHeaderComponent, decorators: [{
|
|
261
294
|
type: i0.Component,
|
|
262
295
|
args: [{
|
|
263
|
-
selector: '
|
|
296
|
+
selector: 'rtsee-messenger-header',
|
|
264
297
|
templateUrl: './messenger-header.component.html',
|
|
265
|
-
styleUrls: ['./messenger-header.component.css'],
|
|
266
298
|
}]
|
|
267
|
-
}], ctorParameters: function () { return [{ type: DefaultImagesService }]; }, propDecorators: {
|
|
299
|
+
}], ctorParameters: function () { return [{ type: DefaultImagesService }]; }, propDecorators: { expandToggled: [{
|
|
300
|
+
type: i0.Output
|
|
301
|
+
}], isExpanded: [{
|
|
302
|
+
type: i0.Input
|
|
303
|
+
}], messenger: [{
|
|
268
304
|
type: i0.Input
|
|
269
305
|
}] } });
|
|
270
306
|
|
|
@@ -359,20 +395,93 @@
|
|
|
359
395
|
}]
|
|
360
396
|
}] });
|
|
361
397
|
|
|
398
|
+
var PreloaderComponent = /** @class */ (function () {
|
|
399
|
+
function PreloaderComponent() {
|
|
400
|
+
this.viewBox = '0 0 100 100';
|
|
401
|
+
this.d = 'M 50 96 a 46 46 0 0 1 0 -92 46 46 0 0 1 0 92';
|
|
402
|
+
this.color = '#000000';
|
|
403
|
+
if (this.diameter) {
|
|
404
|
+
this.viewBox = "0 0 " + this.diameter + " " + this.diameter;
|
|
405
|
+
this.d = "M " + this.diameter / 2 + " " + this.diameter * 0.96 + " a " + this.diameter * 0.46 + " " + this.diameter * 0.46 + " 0 0 1 0 -" + this.diameter * 0.92 + " " + this.diameter * 0.46 + " " + this.diameter * 0.46 + " 0 0 1 0 " + this.diameter * 0.92;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
PreloaderComponent.prototype.ngOnInit = function () {
|
|
409
|
+
//viewBox="0 0 100 100"
|
|
410
|
+
//d="M 50 96 a 46 46 0 0 1 0 -92 46 46 0 0 1 0 92"
|
|
411
|
+
};
|
|
412
|
+
return PreloaderComponent;
|
|
413
|
+
}());
|
|
414
|
+
PreloaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: PreloaderComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
415
|
+
PreloaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: PreloaderComponent, selector: "rtsee-preloader", inputs: { diameter: "diameter", color: "color" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }], ngImport: i0__namespace, template: "<div class=\"rtsee-preloader\">\n <svg [style.max-width.px]=\"diameter\" #canvas [attr.viewBox]=\"viewBox\">\n <path [attr.d]=\"d\" [attr.stroke]=\"color\"/>\n </svg>\n</div>\n" });
|
|
416
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: PreloaderComponent, decorators: [{
|
|
417
|
+
type: i0.Component,
|
|
418
|
+
args: [{
|
|
419
|
+
selector: 'rtsee-preloader',
|
|
420
|
+
templateUrl: './preloader.component.html',
|
|
421
|
+
}]
|
|
422
|
+
}], ctorParameters: function () { return []; }, propDecorators: { canvas: [{
|
|
423
|
+
type: i0.ViewChild,
|
|
424
|
+
args: ['canvas']
|
|
425
|
+
}], diameter: [{
|
|
426
|
+
type: i0.Input
|
|
427
|
+
}], color: [{
|
|
428
|
+
type: i0.Input
|
|
429
|
+
}] } });
|
|
430
|
+
|
|
431
|
+
var MessageTimeAndStatusComponent = /** @class */ (function () {
|
|
432
|
+
function MessageTimeAndStatusComponent(timeFormatService) {
|
|
433
|
+
this.timeFormatService = timeFormatService;
|
|
434
|
+
}
|
|
435
|
+
return MessageTimeAndStatusComponent;
|
|
436
|
+
}());
|
|
437
|
+
MessageTimeAndStatusComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageTimeAndStatusComponent, deps: [{ token: TimeFormatHelperService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
438
|
+
MessageTimeAndStatusComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessageTimeAndStatusComponent, selector: "rtsee-message-time-and-status", inputs: { message: "message", hideStatus: "hideStatus" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-message-time-and-status\">\n <span class=\"rtsee-messenger-message-time\">{{timeFormatService.formatTimeOrDate(message.createdAt)}}</span>\n <span class=\"rtsee-messenger-message-status\" *ngIf=\"!hideStatus\">\n <span *ngIf=\"message.status === 'pending'\"><rtsee-preloader [diameter]=\"5\"></rtsee-preloader></span>\n <span *ngIf=\"message.status === 'sent'\" class=\"material-icons-outlined rtsee-message-sent-status\">check</span>\n <span *ngIf=\"message.status === 'delivered'\" class=\"material-icons-outlined rtsee-message-delivered-status\">check</span>\n <span *ngIf=\"message.status === 'seen'\" class=\"material-icons-outlined rtsee-message-seen-status\">check</span>\n </span>\n</div>\n", components: [{ type: PreloaderComponent, selector: "rtsee-preloader", inputs: ["diameter", "color"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
439
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageTimeAndStatusComponent, decorators: [{
|
|
440
|
+
type: i0.Component,
|
|
441
|
+
args: [{
|
|
442
|
+
selector: 'rtsee-message-time-and-status',
|
|
443
|
+
templateUrl: './message-time-and-status.component.html',
|
|
444
|
+
}]
|
|
445
|
+
}], ctorParameters: function () { return [{ type: TimeFormatHelperService }]; }, propDecorators: { message: [{
|
|
446
|
+
type: i0.Input
|
|
447
|
+
}], hideStatus: [{
|
|
448
|
+
type: i0.Input
|
|
449
|
+
}] } });
|
|
450
|
+
|
|
451
|
+
var ShaveDirective = /** @class */ (function () {
|
|
452
|
+
function ShaveDirective(elem) {
|
|
453
|
+
this.elem = elem;
|
|
454
|
+
}
|
|
455
|
+
ShaveDirective.prototype.ngAfterViewInit = function () {
|
|
456
|
+
var _a;
|
|
457
|
+
var height = (_a = this.elem.nativeElement) === null || _a === void 0 ? void 0 : _a.offsetHeight;
|
|
458
|
+
shave__default['default'](this.elem.nativeElement, height);
|
|
459
|
+
};
|
|
460
|
+
return ShaveDirective;
|
|
461
|
+
}());
|
|
462
|
+
ShaveDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ShaveDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
463
|
+
ShaveDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.1.2", type: ShaveDirective, selector: "[rtseeShave]", ngImport: i0__namespace });
|
|
464
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ShaveDirective, decorators: [{
|
|
465
|
+
type: i0.Directive,
|
|
466
|
+
args: [{
|
|
467
|
+
selector: '[rtseeShave]',
|
|
468
|
+
}]
|
|
469
|
+
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; } });
|
|
470
|
+
|
|
362
471
|
var ChatThumbnailComponent = /** @class */ (function () {
|
|
363
472
|
function ChatThumbnailComponent(timeFormatService) {
|
|
364
473
|
this.timeFormatService = timeFormatService;
|
|
474
|
+
this.RTSeeChatTypes = messenger.RTSeeChatTypes;
|
|
365
475
|
}
|
|
366
476
|
return ChatThumbnailComponent;
|
|
367
477
|
}());
|
|
368
478
|
ChatThumbnailComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ChatThumbnailComponent, deps: [{ token: TimeFormatHelperService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
369
|
-
ChatThumbnailComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatThumbnailComponent, selector: "
|
|
479
|
+
ChatThumbnailComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatThumbnailComponent, selector: "rtsee-chat-thumbnail", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-chat-thumbnail\" (click)=\"messenger.openChatById(chat.chatId)\">\n <div class=\"rtsee-chat-thumbnail-image\">\n <img [src]=\"chat.chatImageUrl\" alt=\"chat-img\">\n </div>\n <div class=\"rtsee-chat-thumbnail-left\">\n <div class=\"rtsee-chat-thumbnail-name\">\n <span>{{ chat.chatName }}</span>\n <div class=\"rtsee-chat-thumbnail-status\">\n <rtsee-message-time-and-status [message]=\"chat\"></rtsee-message-time-and-status>\n </div>\n </div>\n <div class=\"rtsee-chat-thumbnail-last-message\"\n [ngClass]=\"{'rtsee-has-unread': chat.unreadMessagesCount}\"\n rtseeShave>\n <span class=\"rtsee-chat-thumbnail-last-message-sender\"\n *ngIf=\"chat.chatType !== RTSeeChatTypes.INDIVIDUAL && chat.senderName\"\n >{{chat.senderName}}</span>\n <span class=\"rtsee-chat-thumbnail-last-message-text\"\n *ngIf=\"chat.text\"\n >{{chat.text}}</span>\n <div class=\"rtsee-messenger-thumbnail-unread\" *ngIf=\"chat.unreadMessagesCount\">\n <span class=\"rtsee-messenger-thumbnail-unread-count\">{{chat.unreadMessagesCount}}</span>\n </div>\n </div>\n </div>\n</div>\n", components: [{ type: MessageTimeAndStatusComponent, selector: "rtsee-message-time-and-status", inputs: ["message", "hideStatus"] }], directives: [{ type: ShaveDirective, selector: "[rtseeShave]" }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
370
480
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ChatThumbnailComponent, decorators: [{
|
|
371
481
|
type: i0.Component,
|
|
372
482
|
args: [{
|
|
373
|
-
selector: '
|
|
483
|
+
selector: 'rtsee-chat-thumbnail',
|
|
374
484
|
templateUrl: './chat-thumbnail.component.html',
|
|
375
|
-
styleUrls: ['./chat-thumbnail.component.css'],
|
|
376
485
|
}]
|
|
377
486
|
}], ctorParameters: function () { return [{ type: TimeFormatHelperService }]; }, propDecorators: { chat: [{
|
|
378
487
|
type: i0.Input
|
|
@@ -389,13 +498,12 @@
|
|
|
389
498
|
return ChatsListComponent;
|
|
390
499
|
}());
|
|
391
500
|
ChatsListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ChatsListComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
392
|
-
ChatsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatsListComponent, selector: "
|
|
501
|
+
ChatsListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatsListComponent, selector: "rtsee-chats-list", inputs: { messenger: "messenger", chats: "chats" }, ngImport: i0__namespace, template: "<div class=\"rtsee-chats-list\">\n <div class=\"rtsee-chat-thumbnail-container\" *ngFor=\"let chat of chats; let last = last;\">\n <rtsee-chat-thumbnail [chat]=\"chat.thumbnail\" [messenger]=\"messenger\"></rtsee-chat-thumbnail>\n <div class=\"rtsee-chat-thumbnail-separator\" *ngIf=\"!last\"></div>\n </div>\n</div>\n", components: [{ type: ChatThumbnailComponent, selector: "rtsee-chat-thumbnail", inputs: ["chat", "messenger"] }], directives: [{ type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
393
502
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ChatsListComponent, decorators: [{
|
|
394
503
|
type: i0.Component,
|
|
395
504
|
args: [{
|
|
396
|
-
selector: '
|
|
505
|
+
selector: 'rtsee-chats-list',
|
|
397
506
|
templateUrl: './chats-list.component.html',
|
|
398
|
-
styleUrls: ['./chats-list.component.css'],
|
|
399
507
|
}]
|
|
400
508
|
}], propDecorators: { messenger: [{
|
|
401
509
|
type: i0.Input
|
|
@@ -441,7 +549,7 @@
|
|
|
441
549
|
return CallWidgetComponent;
|
|
442
550
|
}());
|
|
443
551
|
CallWidgetComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: CallWidgetComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
444
|
-
CallWidgetComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: CallWidgetComponent, selector: "ngx-call-widget", inputs: { message: "message", messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-call-widget\">\n <p *ngIf=\"callerName\"> {{ callerName }} has started a call</p>\n <p *ngIf=\"callerName === 'You'\"> You have started a call</p>\n <p *ngIf=\"!callerName\"> The call has started</p>\n <button (click)=\"joinCall()\">Join Call</button>\n</div>\n", styles: [""], directives: [{ type:
|
|
552
|
+
CallWidgetComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: CallWidgetComponent, selector: "ngx-call-widget", inputs: { message: "message", messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-call-widget\">\n <p *ngIf=\"callerName\"> {{ callerName }} has started a call</p>\n <p *ngIf=\"callerName === 'You'\"> You have started a call</p>\n <p *ngIf=\"!callerName\"> The call has started</p>\n <button (click)=\"joinCall()\">Join Call</button>\n</div>\n", styles: [""], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
445
553
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: CallWidgetComponent, decorators: [{
|
|
446
554
|
type: i0.Component,
|
|
447
555
|
args: [{
|
|
@@ -455,13 +563,13 @@
|
|
|
455
563
|
type: i0.Input
|
|
456
564
|
}] } });
|
|
457
565
|
|
|
458
|
-
var
|
|
459
|
-
function
|
|
566
|
+
var MessageWidgetsService = /** @class */ (function () {
|
|
567
|
+
function MessageWidgetsService() {
|
|
460
568
|
this.widgetsMap = [
|
|
461
569
|
{ name: 'rtsee-call', component: CallWidgetComponent },
|
|
462
570
|
];
|
|
463
571
|
}
|
|
464
|
-
|
|
572
|
+
MessageWidgetsService.prototype.getWidgetComponentByName = function (name) {
|
|
465
573
|
/* eslint-disable */
|
|
466
574
|
var mapping = this.widgetsMap.find(function (e) { return e.name === name; });
|
|
467
575
|
if (!mapping) {
|
|
@@ -470,11 +578,11 @@
|
|
|
470
578
|
return mapping.component;
|
|
471
579
|
/* eslint-enable */
|
|
472
580
|
};
|
|
473
|
-
return
|
|
581
|
+
return MessageWidgetsService;
|
|
474
582
|
}());
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type:
|
|
583
|
+
MessageWidgetsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageWidgetsService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
584
|
+
MessageWidgetsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageWidgetsService, providedIn: 'root' });
|
|
585
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageWidgetsService, decorators: [{
|
|
478
586
|
type: i0.Injectable,
|
|
479
587
|
args: [{
|
|
480
588
|
providedIn: 'root',
|
|
@@ -506,16 +614,15 @@
|
|
|
506
614
|
};
|
|
507
615
|
return MessageComponent;
|
|
508
616
|
}());
|
|
509
|
-
MessageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageComponent, deps: [{ token:
|
|
510
|
-
MessageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessageComponent, selector: "
|
|
617
|
+
MessageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageComponent, deps: [{ token: MessageWidgetsService }, { token: i0__namespace.ComponentFactoryResolver }, { token: TimeFormatHelperService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
618
|
+
MessageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessageComponent, selector: "rtsee-message", inputs: { chat: "chat", message: "message", member: "member", messenger: "messenger" }, viewQueries: [{ propertyName: "widgetHost", first: true, predicate: WidgetDirective, descendants: true }], ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-message-container\" #rtsMessageContainer\n [ngClass]=\"{'rtsee-message-from-me': message.from === messenger.clientId}\"\n>\n <div class=\"rtsee-messenger-message\">\n <ng-template *ngIf=\"message.widget\" widgetHost></ng-template>\n <p *ngIf=\"!message.widget\"\n class=\"rtsee-messenger-message-text\"\n >{{ message.text }}</p>\n <div class=\"rtsee-messenger-message-info\" #rtsMessageInfo>\n <rtsee-message-time-and-status [message]=\"message\"\n [hideStatus]=\"message.from !== messenger.clientId\"\n ></rtsee-message-time-and-status>\n </div>\n </div>\n</div>\n", components: [{ type: MessageTimeAndStatusComponent, selector: "rtsee-message-time-and-status", inputs: ["message", "hideStatus"] }], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: WidgetDirective, selector: "[widgetHost]" }] });
|
|
511
619
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageComponent, decorators: [{
|
|
512
620
|
type: i0.Component,
|
|
513
621
|
args: [{
|
|
514
|
-
selector: '
|
|
622
|
+
selector: 'rtsee-message',
|
|
515
623
|
templateUrl: './message.component.html',
|
|
516
|
-
styleUrls: ['./message.component.css'],
|
|
517
624
|
}]
|
|
518
|
-
}], ctorParameters: function () { return [{ type:
|
|
625
|
+
}], ctorParameters: function () { return [{ type: MessageWidgetsService }, { type: i0__namespace.ComponentFactoryResolver }, { type: TimeFormatHelperService }]; }, propDecorators: { chat: [{
|
|
519
626
|
type: i0.Input
|
|
520
627
|
}], message: [{
|
|
521
628
|
type: i0.Input
|
|
@@ -531,16 +638,43 @@
|
|
|
531
638
|
var MessagesListComponent = /** @class */ (function () {
|
|
532
639
|
function MessagesListComponent(timeFormatService) {
|
|
533
640
|
this.timeFormatService = timeFormatService;
|
|
641
|
+
this.bindScrollFunction = this.scrollToBottom.bind(this);
|
|
534
642
|
}
|
|
535
|
-
MessagesListComponent.prototype.
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
643
|
+
MessagesListComponent.prototype.ngOnInit = function () {
|
|
644
|
+
this.chat.on(messenger.RTSeeChatEvents.MESSAGE_ADDED, this.bindScrollFunction);
|
|
645
|
+
};
|
|
646
|
+
MessagesListComponent.prototype.ngAfterViewInit = function () {
|
|
647
|
+
this.scrollToBottom();
|
|
648
|
+
};
|
|
649
|
+
MessagesListComponent.prototype.onMessageSent = function () {
|
|
650
|
+
this.scrollToBottom();
|
|
651
|
+
};
|
|
652
|
+
MessagesListComponent.prototype.ngOnDestroy = function () {
|
|
653
|
+
this.chat.off(messenger.RTSeeChatEvents.MESSAGE_ADDED, this.bindScrollFunction);
|
|
654
|
+
};
|
|
655
|
+
MessagesListComponent.prototype.onScrolledToTop = function () {
|
|
656
|
+
if (this.chat.messagesLoadInProgress) {
|
|
657
|
+
return;
|
|
658
|
+
}
|
|
659
|
+
this.chat.loadRemoteMessages();
|
|
660
|
+
};
|
|
661
|
+
MessagesListComponent.prototype.onScroll = function () {
|
|
662
|
+
if (this.scrollContainer.nativeElement.scrollTop < 1) {
|
|
663
|
+
this.scrollContainer.nativeElement.scrollTop = 1;
|
|
539
664
|
}
|
|
540
|
-
|
|
541
|
-
|
|
665
|
+
};
|
|
666
|
+
MessagesListComponent.prototype.scrollToBottom = function () {
|
|
667
|
+
var _a, _b;
|
|
668
|
+
if (!((_b = (_a = this.scrollContainer) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.scrollHeight)) {
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
671
|
+
try {
|
|
672
|
+
this.scrollContainer.nativeElement.scrollTop =
|
|
673
|
+
this.scrollContainer.nativeElement.scrollHeight;
|
|
674
|
+
}
|
|
675
|
+
catch (err) {
|
|
676
|
+
console.log('Failed to Scroll');
|
|
542
677
|
}
|
|
543
|
-
return (previousMessage.createdAt.getDay() !== currentMessage.createdAt.getDay());
|
|
544
678
|
};
|
|
545
679
|
MessagesListComponent.prototype.formatDate = function (message) {
|
|
546
680
|
return this.timeFormatService.formatDate(message.createdAt);
|
|
@@ -548,18 +682,20 @@
|
|
|
548
682
|
return MessagesListComponent;
|
|
549
683
|
}());
|
|
550
684
|
MessagesListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessagesListComponent, deps: [{ token: TimeFormatHelperService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
551
|
-
MessagesListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessagesListComponent, selector: "
|
|
685
|
+
MessagesListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessagesListComponent, selector: "rtsee-messages-list", inputs: { chat: "chat", messenger: "messenger" }, viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollBlock"], descendants: true }], ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-messages-list\"\n #scrollBlock\n infiniteScroll\n [infiniteScrollUpDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n [scrollWindow]=\"false\"\n (scrolledUp)=\"onScrolledToTop()\"\n (scroll)=\"onScroll()\"\n>\n <div *ngFor=\"let message of chat.messages; let i = index;\"\n [ngClass]=\"{'rtsee-messenger-message-wrapper-consecutive': message.from === chat.messages[i+1]?.from}\"\n class=\"rtsee-messenger-message-wrapper\"\n >\n <div *ngIf=\"message.hasDateChanged\" class=\"rtsee-messenger-message-date\">\n <span>{{formatDate(message)}}</span>\n </div>\n <rtsee-message [message]=\"message\" [messenger]=\"messenger\" [chat]=\"chat\"></rtsee-message>\n </div>\n</div>\n", components: [{ type: MessageComponent, selector: "rtsee-message", inputs: ["chat", "message", "member", "messenger"] }], directives: [{ type: i3__namespace$2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
552
686
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessagesListComponent, decorators: [{
|
|
553
687
|
type: i0.Component,
|
|
554
688
|
args: [{
|
|
555
|
-
selector: '
|
|
689
|
+
selector: 'rtsee-messages-list',
|
|
556
690
|
templateUrl: './messages-list.component.html',
|
|
557
|
-
styleUrls: ['./messages-list.component.css'],
|
|
558
691
|
}]
|
|
559
692
|
}], ctorParameters: function () { return [{ type: TimeFormatHelperService }]; }, propDecorators: { chat: [{
|
|
560
693
|
type: i0.Input
|
|
561
694
|
}], messenger: [{
|
|
562
695
|
type: i0.Input
|
|
696
|
+
}], scrollContainer: [{
|
|
697
|
+
type: i0.ViewChild,
|
|
698
|
+
args: ['scrollBlock']
|
|
563
699
|
}] } });
|
|
564
700
|
|
|
565
701
|
var ChatInputComponent = /** @class */ (function () {
|
|
@@ -582,13 +718,12 @@
|
|
|
582
718
|
return ChatInputComponent;
|
|
583
719
|
}());
|
|
584
720
|
ChatInputComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ChatInputComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
585
|
-
ChatInputComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatInputComponent, selector: "
|
|
721
|
+
ChatInputComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatInputComponent, selector: "rtsee-chat-input", inputs: { messenger: "messenger", chat: "chat" }, ngImport: i0__namespace, template: "<div class=\"rtsee-chat-input\" xmlns=\"http://www.w3.org/1999/html\">\n <div class=\"rtsee-send-message\">\n <form [formGroup]=\"sendMessageForm\">\n <textarea\n placeholder=\"Type message...\"\n type=\"text\"\n formControlName=\"message\"\n class=\"rtsee-chat-input-field\"\n autosize\n required\n ></textarea>\n </form>\n </div>\n <button (click)=\"sendMessage()\"\n class=\"rtsee-send-message-button\"\n type=\"submit\">\n <span class=\"material-icons-outlined\">send</span>\n </button>\n</div>\n", directives: [{ type: i1__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2__namespace.AutosizeDirective, selector: "[autosize]", inputs: ["onlyGrow", "useImportant", "minRows", "autosize", "maxRows"], outputs: ["resized"] }, { type: i1__namespace$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }] });
|
|
586
722
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ChatInputComponent, decorators: [{
|
|
587
723
|
type: i0.Component,
|
|
588
724
|
args: [{
|
|
589
|
-
selector: '
|
|
725
|
+
selector: 'rtsee-chat-input',
|
|
590
726
|
templateUrl: './chat-input.component.html',
|
|
591
|
-
styleUrls: ['./chat-input.component.css'],
|
|
592
727
|
}]
|
|
593
728
|
}], propDecorators: { messenger: [{
|
|
594
729
|
type: i0.Input
|
|
@@ -598,52 +733,127 @@
|
|
|
598
733
|
|
|
599
734
|
var ChatComponent = /** @class */ (function () {
|
|
600
735
|
function ChatComponent() {
|
|
601
|
-
this.bindScrollFunction = this.scrollToBottom.bind(this);
|
|
602
736
|
}
|
|
603
|
-
ChatComponent
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
737
|
+
return ChatComponent;
|
|
738
|
+
}());
|
|
739
|
+
ChatComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ChatComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
740
|
+
ChatComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ChatComponent, selector: "rtsee-chat", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-chat\">\n <div class=\"rtsee-chat-body-container\">\n <rtsee-messages-list [messenger]=\"messenger\" [chat]=\"chat\"></rtsee-messages-list>\n </div>\n <div class=\"rtsee-chat-footer-container\">\n <rtsee-chat-input [messenger]=\"messenger\" [chat]=\"chat\"></rtsee-chat-input>\n </div>\n</div>\n", components: [{ type: MessagesListComponent, selector: "rtsee-messages-list", inputs: ["chat", "messenger"] }, { type: ChatInputComponent, selector: "rtsee-chat-input", inputs: ["messenger", "chat"] }] });
|
|
741
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ChatComponent, decorators: [{
|
|
742
|
+
type: i0.Component,
|
|
743
|
+
args: [{
|
|
744
|
+
selector: 'rtsee-chat',
|
|
745
|
+
templateUrl: './chat.component.html',
|
|
746
|
+
}]
|
|
747
|
+
}], propDecorators: { chat: [{
|
|
748
|
+
type: i0.Input
|
|
749
|
+
}], messenger: [{
|
|
750
|
+
type: i0.Input
|
|
751
|
+
}] } });
|
|
752
|
+
|
|
753
|
+
var MainMenuPanels;
|
|
754
|
+
(function (MainMenuPanels) {
|
|
755
|
+
MainMenuPanels["HOME"] = "home";
|
|
756
|
+
MainMenuPanels["CONTACTS_SELECT"] = "contacts-select";
|
|
757
|
+
MainMenuPanels["MANAGE_CHAT"] = "manage-chat";
|
|
758
|
+
})(MainMenuPanels || (MainMenuPanels = {}));
|
|
759
|
+
var DEFAULT_MAIN_MENU_STATE = MainMenuPanels.HOME;
|
|
760
|
+
|
|
761
|
+
var SearchComponent = /** @class */ (function () {
|
|
762
|
+
function SearchComponent() {
|
|
763
|
+
this.queryControl = new i1$1.FormControl();
|
|
764
|
+
}
|
|
765
|
+
SearchComponent.prototype.ngOnInit = function () {
|
|
766
|
+
var _this = this;
|
|
767
|
+
this.queryCtrlSub = this.queryControl.valueChanges
|
|
768
|
+
.pipe(operators.debounceTime(200))
|
|
769
|
+
.subscribe(function (value) { return _this.search.onQueryChange(value); });
|
|
608
770
|
};
|
|
609
|
-
|
|
610
|
-
|
|
771
|
+
SearchComponent.prototype.ngOnDestroy = function () {
|
|
772
|
+
if (this.queryCtrlSub) {
|
|
773
|
+
this.queryCtrlSub.unsubscribe();
|
|
774
|
+
}
|
|
611
775
|
};
|
|
612
|
-
|
|
613
|
-
|
|
776
|
+
return SearchComponent;
|
|
777
|
+
}());
|
|
778
|
+
SearchComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: SearchComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
779
|
+
SearchComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: SearchComponent, selector: "rtsee-search", inputs: { search: "search" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-search\">\n <input type=\"text\"\n [formControl]=\"queryControl\"\n class=\"rtsee-messenger-search-input\"\n placeholder=\"Search...\"/>\n</div>\n\n<div class=\"rtsee-messenger-search-results\">\n <rtsee-preloader [diameter]=\"50\" *ngIf=\"search.searchInProgress\"></rtsee-preloader>\n <p>Chats</p>\n <div class=\"rtsee-messenger-search-results-chats\">\n <div *ngFor=\"let chat of search.results.chats\" class=\"rtsee-messenger-search-results-chat-wrapper\">\n <p>{{chat.name}}</p>\n </div>\n </div>\n <p>Messages</p>\n <div class=\"rtsee-messenger-search-results-messages\">\n <div *ngFor=\"let message of search.results.messages\" class=\"rtsee-messenger-search-results-message-wrapper\">\n <p>{{message.chatName || message.senderName }}</p>\n </div>\n </div>\n</div>\n", components: [{ type: PreloaderComponent, selector: "rtsee-preloader", inputs: ["diameter", "color"] }], directives: [{ type: i1__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
780
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: SearchComponent, decorators: [{
|
|
781
|
+
type: i0.Component,
|
|
782
|
+
args: [{
|
|
783
|
+
selector: 'rtsee-search',
|
|
784
|
+
templateUrl: './search.component.html',
|
|
785
|
+
}]
|
|
786
|
+
}], propDecorators: { search: [{
|
|
787
|
+
type: i0.Input
|
|
788
|
+
}] } });
|
|
789
|
+
|
|
790
|
+
var ManageChatComponent = /** @class */ (function () {
|
|
791
|
+
function ManageChatComponent() {
|
|
792
|
+
}
|
|
793
|
+
ManageChatComponent.prototype.onInviteContactsClicked = function () {
|
|
794
|
+
this.menuState.activePanel = MainMenuPanels.CONTACTS_SELECT;
|
|
614
795
|
};
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
796
|
+
return ManageChatComponent;
|
|
797
|
+
}());
|
|
798
|
+
ManageChatComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ManageChatComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
799
|
+
ManageChatComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ManageChatComponent, selector: "rtsee-manage-chat", inputs: { messenger: "messenger", menuState: "menuState" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-manage-chat\">\n <p>We are going to manage chat here</p>\n <button (click)=\"onInviteContactsClicked()\">Invite Contacts</button>\n</div>\n", styles: [""] });
|
|
800
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ManageChatComponent, decorators: [{
|
|
801
|
+
type: i0.Component,
|
|
802
|
+
args: [{
|
|
803
|
+
selector: 'rtsee-manage-chat',
|
|
804
|
+
templateUrl: './manage-chat.component.html',
|
|
805
|
+
styleUrls: ['./manage-chat.component.scss'],
|
|
806
|
+
}]
|
|
807
|
+
}], propDecorators: { messenger: [{
|
|
808
|
+
type: i0.Input
|
|
809
|
+
}], menuState: [{
|
|
810
|
+
type: i0.Input
|
|
811
|
+
}] } });
|
|
812
|
+
|
|
813
|
+
var ContactsMultiselectComponent = /** @class */ (function () {
|
|
814
|
+
function ContactsMultiselectComponent() {
|
|
815
|
+
}
|
|
816
|
+
return ContactsMultiselectComponent;
|
|
817
|
+
}());
|
|
818
|
+
ContactsMultiselectComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ContactsMultiselectComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
819
|
+
ContactsMultiselectComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: ContactsMultiselectComponent, selector: "rtsee-contacts-multiselect", inputs: { menuState: "menuState", search: "search" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-contacts-multiselect\">\n <rtsee-search [search]=\"search\"></rtsee-search>\n</div>\n", styles: [""], components: [{ type: SearchComponent, selector: "rtsee-search", inputs: ["search"] }] });
|
|
820
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: ContactsMultiselectComponent, decorators: [{
|
|
821
|
+
type: i0.Component,
|
|
822
|
+
args: [{
|
|
823
|
+
selector: 'rtsee-contacts-multiselect',
|
|
824
|
+
templateUrl: './contacts-multiselect.component.html',
|
|
825
|
+
styleUrls: ['./contacts-multiselect.component.scss'],
|
|
826
|
+
}]
|
|
827
|
+
}], propDecorators: { menuState: [{
|
|
828
|
+
type: i0.Input
|
|
829
|
+
}], search: [{
|
|
830
|
+
type: i0.Input
|
|
831
|
+
}] } });
|
|
832
|
+
|
|
833
|
+
var MainMenuComponent = /** @class */ (function () {
|
|
834
|
+
function MainMenuComponent() {
|
|
835
|
+
this.MainMenuPanels = MainMenuPanels;
|
|
836
|
+
this.state = {
|
|
837
|
+
activePanel: DEFAULT_MAIN_MENU_STATE,
|
|
838
|
+
};
|
|
839
|
+
}
|
|
840
|
+
MainMenuComponent.prototype.onNewGroupClicked = function () {
|
|
841
|
+
this.state.activePanel = MainMenuPanels.CONTACTS_SELECT;
|
|
618
842
|
};
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
if (!((_b = (_a = this.scrollContainer) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.scrollHeight)) {
|
|
622
|
-
return;
|
|
623
|
-
}
|
|
624
|
-
try {
|
|
625
|
-
this.scrollContainer.nativeElement.scrollTop =
|
|
626
|
-
this.scrollContainer.nativeElement.scrollHeight;
|
|
627
|
-
}
|
|
628
|
-
catch (err) {
|
|
629
|
-
console.log('Failed to Scroll');
|
|
630
|
-
}
|
|
843
|
+
MainMenuComponent.prototype.onNewChannelClicked = function () {
|
|
844
|
+
this.state.activePanel = MainMenuPanels.MANAGE_CHAT;
|
|
631
845
|
};
|
|
632
|
-
return
|
|
846
|
+
return MainMenuComponent;
|
|
633
847
|
}());
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type:
|
|
848
|
+
MainMenuComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MainMenuComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
849
|
+
MainMenuComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MainMenuComponent, selector: "rtsee-main-menu", inputs: { search: "search", messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-main-menu\">\n <div class=\"rtsee-messenger-main-menu-home\" *ngIf=\"state.activePanel === MainMenuPanels.HOME\">\n <ul class=\"rtsee-messenger-controls\">\n <li>\n <button (click)=\"onNewGroupClicked()\">\n <span class=\"material-icons-outlined\">people</span>\n <span>New Group</span>\n </button>\n </li>\n <li>\n <button (click)=\"onNewChannelClicked()\">\n <span class=\"material-icons-outlined\">campaign</span>\n <span>New Channel</span>\n </button>\n </li>\n </ul>\n <rtsee-search [search]=\"search\" ></rtsee-search>\n </div>\n\n <rtsee-manage-chat *ngIf=\"state.activePanel === MainMenuPanels.MANAGE_CHAT\"\n [messenger]=\"messenger\"\n [menuState]=\"state\"\n ></rtsee-manage-chat>\n <rtsee-contacts-multiselect [search]=\"search\"\n [menuState]=\"state\"\n *ngIf=\"state.activePanel === MainMenuPanels.CONTACTS_SELECT\"\n ></rtsee-contacts-multiselect>\n</div>\n", components: [{ type: SearchComponent, selector: "rtsee-search", inputs: ["search"] }, { type: ManageChatComponent, selector: "rtsee-manage-chat", inputs: ["messenger", "menuState"] }, { type: ContactsMultiselectComponent, selector: "rtsee-contacts-multiselect", inputs: ["menuState", "search"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
850
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MainMenuComponent, decorators: [{
|
|
637
851
|
type: i0.Component,
|
|
638
852
|
args: [{
|
|
639
|
-
selector: '
|
|
640
|
-
templateUrl: './
|
|
641
|
-
styleUrls: ['./chat.component.css'],
|
|
853
|
+
selector: 'rtsee-main-menu',
|
|
854
|
+
templateUrl: './main-menu.component.html',
|
|
642
855
|
}]
|
|
643
|
-
}],
|
|
644
|
-
type: i0.ViewChild,
|
|
645
|
-
args: ['scrollBlock']
|
|
646
|
-
}], chat: [{
|
|
856
|
+
}], propDecorators: { search: [{
|
|
647
857
|
type: i0.Input
|
|
648
858
|
}], messenger: [{
|
|
649
859
|
type: i0.Input
|
|
@@ -651,28 +861,141 @@
|
|
|
651
861
|
|
|
652
862
|
var MessengerComponent = /** @class */ (function () {
|
|
653
863
|
function MessengerComponent() {
|
|
864
|
+
this.isHeaderExpanded = false;
|
|
654
865
|
}
|
|
655
866
|
MessengerComponent.prototype.onScroll = function () {
|
|
656
867
|
this.messenger.loadChats();
|
|
657
868
|
};
|
|
869
|
+
MessengerComponent.prototype.onHeaderExpandToggled = function (value) {
|
|
870
|
+
this.isHeaderExpanded = value;
|
|
871
|
+
};
|
|
658
872
|
return MessengerComponent;
|
|
659
873
|
}());
|
|
660
874
|
MessengerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessengerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
661
|
-
MessengerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerComponent, selector: "
|
|
875
|
+
MessengerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerComponent, selector: "rtsee-messenger", inputs: { messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger\" [ngClass]=\"{\n 'rtsee-messenger-main-menu-opened': messenger.mainMenuOpened,\n 'rtsee-messenger-header-expanded': isHeaderExpanded\n}\">\n <div class=\"rtsee-messenger-header-container\">\n <rtsee-messenger-header [messenger]=\"messenger\" (expandToggled)=\"onHeaderExpandToggled($event)\"></rtsee-messenger-header>\n </div>\n <div class=\"rtsee-messenger-body-container\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n [scrollWindow]=\"false\"\n (scrolled)=\"onScroll()\"\n >\n <rtsee-chats-list *ngIf=\"!messenger.openedChat\" [chats]=\"messenger.chats\" [messenger]=\"messenger\"></rtsee-chats-list>\n <rtsee-chat *ngIf=\"messenger.openedChat\" [messenger]=\"messenger\" [chat]=\"messenger.openedChat\"></rtsee-chat>\n <rtsee-preloader [diameter]=\"50\" *ngIf=\"messenger.loadingChatsInProgress\" ></rtsee-preloader>\n </div>\n <div class=\"rtsee-messenger-main-menu-container\">\n <rtsee-main-menu\n *ngIf=\"messenger.mainMenuOpened\"\n [search]=\"messenger.search\"\n [messenger]=\"messenger\"></rtsee-main-menu>\n </div>\n <div class=\"rtsee-messenger-overlay\" (click)=\"messenger.openMainMenu(false)\"></div>\n</div>\n\n\n", components: [{ type: MessengerHeaderComponent, selector: "rtsee-messenger-header", inputs: ["isExpanded", "messenger"], outputs: ["expandToggled"] }, { type: ChatsListComponent, selector: "rtsee-chats-list", inputs: ["messenger", "chats"] }, { type: ChatComponent, selector: "rtsee-chat", inputs: ["chat", "messenger"] }, { type: PreloaderComponent, selector: "rtsee-preloader", inputs: ["diameter", "color"] }, { type: MainMenuComponent, selector: "rtsee-main-menu", inputs: ["search", "messenger"] }], directives: [{ type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace$2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
662
876
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessengerComponent, decorators: [{
|
|
663
877
|
type: i0.Component,
|
|
664
878
|
args: [{
|
|
665
|
-
selector: '
|
|
879
|
+
selector: 'rtsee-messenger',
|
|
666
880
|
templateUrl: './messenger.component.html',
|
|
667
|
-
styleUrls: ['./messenger.component.scss'],
|
|
668
881
|
}]
|
|
669
|
-
}], propDecorators: { messenger: [{
|
|
882
|
+
}], ctorParameters: function () { return []; }, propDecorators: { messenger: [{
|
|
883
|
+
type: i0.Input
|
|
884
|
+
}] } });
|
|
885
|
+
|
|
886
|
+
var EventsWidgetsService = /** @class */ (function () {
|
|
887
|
+
function EventsWidgetsService() {
|
|
888
|
+
this.widgetsMap = [];
|
|
889
|
+
}
|
|
890
|
+
EventsWidgetsService.prototype.getWidgetComponentByName = function (name) {
|
|
891
|
+
/* eslint-disable */
|
|
892
|
+
var mapping = this.widgetsMap.find(function (e) { return e.name === name; });
|
|
893
|
+
if (!mapping) {
|
|
894
|
+
return null;
|
|
895
|
+
}
|
|
896
|
+
return mapping.component;
|
|
897
|
+
/* eslint-enable */
|
|
898
|
+
};
|
|
899
|
+
return EventsWidgetsService;
|
|
900
|
+
}());
|
|
901
|
+
EventsWidgetsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: EventsWidgetsService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
902
|
+
EventsWidgetsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: EventsWidgetsService, providedIn: 'root' });
|
|
903
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: EventsWidgetsService, decorators: [{
|
|
904
|
+
type: i0.Injectable,
|
|
905
|
+
args: [{
|
|
906
|
+
providedIn: 'root',
|
|
907
|
+
}]
|
|
908
|
+
}] });
|
|
909
|
+
|
|
910
|
+
var EventThumbnailComponent = /** @class */ (function () {
|
|
911
|
+
function EventThumbnailComponent(widgetsService, componentFactoryResolver, timeFormatService) {
|
|
912
|
+
this.widgetsService = widgetsService;
|
|
913
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
914
|
+
this.timeFormatService = timeFormatService;
|
|
915
|
+
}
|
|
916
|
+
EventThumbnailComponent.prototype.ngOnInit = function () {
|
|
917
|
+
if (this.event.data) {
|
|
918
|
+
this.generateTooltip();
|
|
919
|
+
}
|
|
920
|
+
};
|
|
921
|
+
EventThumbnailComponent.prototype.generateTooltip = function () {
|
|
922
|
+
/* eslint-disable */
|
|
923
|
+
var tooltip = '';
|
|
924
|
+
if (typeof this.event.data !== 'object') {
|
|
925
|
+
return;
|
|
926
|
+
}
|
|
927
|
+
try {
|
|
928
|
+
for (var key in this.event.data) {
|
|
929
|
+
if (this.event.data.hasOwnProperty(key)) {
|
|
930
|
+
if (tooltip) {
|
|
931
|
+
tooltip += '
';
|
|
932
|
+
}
|
|
933
|
+
tooltip += key + ' -> ' + this.event.data[key];
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
this.tooltip = tooltip;
|
|
937
|
+
}
|
|
938
|
+
catch (e) {
|
|
939
|
+
console.log('Failed to generate a tooltip');
|
|
940
|
+
}
|
|
941
|
+
/* eslint-enable */
|
|
942
|
+
};
|
|
943
|
+
EventThumbnailComponent.prototype.ngAfterViewInit = function () {
|
|
944
|
+
/* eslint-disable */
|
|
945
|
+
if (this.event.widget) {
|
|
946
|
+
var widget = this.widgetsService.getWidgetComponentByName(this.event.widget);
|
|
947
|
+
if (!widget) {
|
|
948
|
+
return;
|
|
949
|
+
}
|
|
950
|
+
var viewContainerRef = this.widgetHost.viewContainerRef;
|
|
951
|
+
viewContainerRef.clear();
|
|
952
|
+
var componentToShow = this.componentFactoryResolver.resolveComponentFactory(widget);
|
|
953
|
+
var componentRef = viewContainerRef.createComponent(componentToShow);
|
|
954
|
+
componentRef.instance.event = this.event;
|
|
955
|
+
componentRef.instance.event = this.event;
|
|
956
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
957
|
+
}
|
|
958
|
+
/* eslint-enable */
|
|
959
|
+
};
|
|
960
|
+
return EventThumbnailComponent;
|
|
961
|
+
}());
|
|
962
|
+
EventThumbnailComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: EventThumbnailComponent, deps: [{ token: EventsWidgetsService }, { token: i0__namespace.ComponentFactoryResolver }, { token: TimeFormatHelperService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
963
|
+
EventThumbnailComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: EventThumbnailComponent, selector: "rtsee-event-thumbnail", inputs: { event: "event" }, viewQueries: [{ propertyName: "widgetHost", first: true, predicate: WidgetDirective, descendants: true }], ngImport: i0__namespace, template: "<div class=\"rtsee-events-dashboard-event-thumbnail\">\n <ng-template *ngIf=\"event.widget\" widgetHost></ng-template>\n <div *ngIf=\"!event.widget\" class=\"rtsee-events-dashboard-default-event-thumbnail\"\n [ngClass]=\"{'rtsee-events-dashboard-default-event-thumbnail-with-data': event.data}\"\n >\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-name\">{{event.name}}</div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-info\">\n <div *ngIf=\"event.data\" class=\"rtsee-events-dashboard-default-event-thumbnail-details\"\n [title]=\"tooltip\"\n >\n <span class=\"rtsee-events-dashboard-default-event-thumbnail-details-icon material-icons-outlined\"\n >info</span>\n </div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-time\">\n <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>\n </div>\n </div>\n\n </div>\n</div>\n", directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: WidgetDirective, selector: "[widgetHost]" }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
964
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: EventThumbnailComponent, decorators: [{
|
|
965
|
+
type: i0.Component,
|
|
966
|
+
args: [{
|
|
967
|
+
selector: 'rtsee-event-thumbnail',
|
|
968
|
+
templateUrl: './event-thumbnail.component.html',
|
|
969
|
+
}]
|
|
970
|
+
}], ctorParameters: function () { return [{ type: EventsWidgetsService }, { type: i0__namespace.ComponentFactoryResolver }, { type: TimeFormatHelperService }]; }, propDecorators: { event: [{
|
|
971
|
+
type: i0.Input
|
|
972
|
+
}], widgetHost: [{
|
|
973
|
+
type: i0.ViewChild,
|
|
974
|
+
args: [WidgetDirective, { static: false }]
|
|
975
|
+
}] } });
|
|
976
|
+
|
|
977
|
+
var RtseeEventsDashboardSessionComponent = /** @class */ (function () {
|
|
978
|
+
function RtseeEventsDashboardSessionComponent(timeFormatService) {
|
|
979
|
+
this.timeFormatService = timeFormatService;
|
|
980
|
+
}
|
|
981
|
+
return RtseeEventsDashboardSessionComponent;
|
|
982
|
+
}());
|
|
983
|
+
RtseeEventsDashboardSessionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardSessionComponent, deps: [{ token: TimeFormatHelperService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
984
|
+
RtseeEventsDashboardSessionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeEventsDashboardSessionComponent, selector: "rtsee-rtsee-events-dashboard-session", inputs: { session: "session" }, ngImport: i0__namespace, template: "<div class=\"rtsee-events-dashboard-session\">\n <div class=\"rtsee-events-dashboard-session-header\" *ngIf=\"session.info\">\n <p class=\"rtsee-events-dashboard-session-client-info\">{{session.info.clientThumbnail}}</p>\n <p class=\"rtsee-events-dashboard-session-os-info\">{{session.info.osThumbnail}}</p>\n <div class=\"rtsee-events-dashboard-session-device-info\" [title]=\"session.info.deviceThumbnail\">\n <span *ngIf=\"session.info.deviceType === 'smartphone' && !session.info.botName\"\n class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n >phone_iphone</span>\n <span class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n *ngIf=\"session.info.deviceType === 'tablet' && !session.info.botName\"\n >tablet_mac</span>\n <span class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n *ngIf=\"session.info.deviceType === 'desktop' && !session.info.botName\"\n >computer</span>\n <span class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n *ngIf=\"session.info.botName\"\n >smart_toy</span>\n </div>\n </div>\n <ul *ngIf=\"session.events && session.events.length\"\n class=\"rtsee-events-dashboard-session-events-list\"\n >\n <li *ngFor=\"let event of session.events | slice:0:5;\" class=\"rtsee-events-dashboard-session-event\">\n <rtsee-event-thumbnail [event]=\"event\"></rtsee-event-thumbnail>\n </li>\n </ul>\n <div class=\"rtsee-events-dashboard-session-footer\">\n <button *ngIf=\"session.events.length > 5\">{{session.events.length - 5}} more</button>\n </div>\n</div>\n", components: [{ type: EventThumbnailComponent, selector: "rtsee-event-thumbnail", inputs: ["event"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "slice": i3__namespace.SlicePipe } });
|
|
985
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardSessionComponent, decorators: [{
|
|
986
|
+
type: i0.Component,
|
|
987
|
+
args: [{
|
|
988
|
+
selector: 'rtsee-rtsee-events-dashboard-session',
|
|
989
|
+
templateUrl: './rtsee-events-dashboard-session.component.html',
|
|
990
|
+
}]
|
|
991
|
+
}], ctorParameters: function () { return [{ type: TimeFormatHelperService }]; }, propDecorators: { session: [{
|
|
670
992
|
type: i0.Input
|
|
671
993
|
}] } });
|
|
672
994
|
|
|
673
995
|
var RtseeEventsDashboardClientThumbnailComponent = /** @class */ (function () {
|
|
674
|
-
function RtseeEventsDashboardClientThumbnailComponent(timeFormatService) {
|
|
996
|
+
function RtseeEventsDashboardClientThumbnailComponent(timeFormatService, defaultImagesService) {
|
|
675
997
|
this.timeFormatService = timeFormatService;
|
|
998
|
+
this.defaultImagesService = defaultImagesService;
|
|
676
999
|
}
|
|
677
1000
|
RtseeEventsDashboardClientThumbnailComponent.prototype.ngOnInit = function () {
|
|
678
1001
|
console.log('client id', this.client.id);
|
|
@@ -682,16 +1005,15 @@
|
|
|
682
1005
|
};
|
|
683
1006
|
return RtseeEventsDashboardClientThumbnailComponent;
|
|
684
1007
|
}());
|
|
685
|
-
RtseeEventsDashboardClientThumbnailComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardClientThumbnailComponent, deps: [{ token: TimeFormatHelperService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
686
|
-
RtseeEventsDashboardClientThumbnailComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeEventsDashboardClientThumbnailComponent, selector: "ngx-rtsee-events-dashboard-client-thumbnail", inputs: { dashboard: "dashboard", client: "client" }, ngImport: i0__namespace, template: "<div class=\"rtsee-dashboard-client-thumbnail\">\n <
|
|
1008
|
+
RtseeEventsDashboardClientThumbnailComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardClientThumbnailComponent, deps: [{ token: TimeFormatHelperService }, { token: DefaultImagesService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1009
|
+
RtseeEventsDashboardClientThumbnailComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeEventsDashboardClientThumbnailComponent, selector: "ngx-rtsee-events-dashboard-client-thumbnail", inputs: { dashboard: "dashboard", client: "client" }, ngImport: i0__namespace, template: "<div class=\"rtsee-dashboard-client-thumbnail\">\n <div class=\"rtsee-dashboard-client-header\">\n <div class=\"rtsee-dashboard-client-header-photo\">\n <div class=\"rtsee-dashboard-client-header-image\"\n [style.background-image]=\"'url(' + client.imageUrl || defaultImagesService.PROFILE + ')'\"\n ></div>\n <div class=\"rtsee-dashboard-client-live-indicator\" *ngIf=\"client.isConnected\"></div>\n </div>\n <p class=\"rtsee-dashboard-client-name\">\n <span class=\"rtsee-dashboard-client-name-text\">{{ client.name || client.id }}</span>\n <button (click)=\"openChat()\" class=\"rtsee-dashboard-client-engage\">\n <span class=\"rtsee-dashboard-client-engage-icon material-icons-outlined\">chat_bubble</span>\n </button>\n </p>\n </div>\n <div class=\"rtsee-dashboard-sessions\">\n <div *ngFor=\"let session of client.sessions\"\n class=\"rtsee-dashboard-sessions-container\">\n <rtsee-rtsee-events-dashboard-session [session]=\"session\"></rtsee-rtsee-events-dashboard-session>\n </div>\n </div>\n</div>\n", components: [{ type: RtseeEventsDashboardSessionComponent, selector: "rtsee-rtsee-events-dashboard-session", inputs: ["session"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
687
1010
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardClientThumbnailComponent, decorators: [{
|
|
688
1011
|
type: i0.Component,
|
|
689
1012
|
args: [{
|
|
690
1013
|
selector: 'ngx-rtsee-events-dashboard-client-thumbnail',
|
|
691
1014
|
templateUrl: './rtsee-events-dashboard-client-thumbnail.component.html',
|
|
692
|
-
styleUrls: ['./rtsee-events-dashboard-client-thumbnail.component.scss'],
|
|
693
1015
|
}]
|
|
694
|
-
}], ctorParameters: function () { return [{ type: TimeFormatHelperService }]; }, propDecorators: { dashboard: [{
|
|
1016
|
+
}], ctorParameters: function () { return [{ type: TimeFormatHelperService }, { type: DefaultImagesService }]; }, propDecorators: { dashboard: [{
|
|
695
1017
|
type: i0.Input
|
|
696
1018
|
}], client: [{
|
|
697
1019
|
type: i0.Input
|
|
@@ -703,13 +1025,12 @@
|
|
|
703
1025
|
return RtseeEventsDashboardComponent;
|
|
704
1026
|
}());
|
|
705
1027
|
RtseeEventsDashboardComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
706
|
-
RtseeEventsDashboardComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeEventsDashboardComponent, selector: "ngx-rtsee-events-dashboard", inputs: { eventsDashboard: "eventsDashboard" }, ngImport: i0__namespace, template: "<div class=\"rtsee-events-dashboard\">\n <
|
|
1028
|
+
RtseeEventsDashboardComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeEventsDashboardComponent, selector: "ngx-rtsee-events-dashboard", inputs: { eventsDashboard: "eventsDashboard" }, ngImport: i0__namespace, template: "<div class=\"rtsee-events-dashboard\">\n <div class=\"rtsee-events-dashboard-client-thumbnails\">\n <div class=\"rtsee-events-dashboard-client-thumbnail-wrapper\"\n *ngFor=\"let client of eventsDashboard.clients\">\n <ngx-rtsee-events-dashboard-client-thumbnail\n [client]=\"client\"\n [dashboard]=\"eventsDashboard\"\n ></ngx-rtsee-events-dashboard-client-thumbnail>\n </div>\n </div>\n</div>\n", components: [{ type: RtseeEventsDashboardClientThumbnailComponent, selector: "ngx-rtsee-events-dashboard-client-thumbnail", inputs: ["dashboard", "client"] }], directives: [{ type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
707
1029
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardComponent, decorators: [{
|
|
708
1030
|
type: i0.Component,
|
|
709
1031
|
args: [{
|
|
710
1032
|
selector: 'ngx-rtsee-events-dashboard',
|
|
711
1033
|
templateUrl: './rtsee-events-dashboard.component.html',
|
|
712
|
-
styleUrls: ['./rtsee-events-dashboard.component.scss'],
|
|
713
1034
|
}]
|
|
714
1035
|
}], propDecorators: { eventsDashboard: [{
|
|
715
1036
|
type: i0.Input
|
|
@@ -737,13 +1058,27 @@
|
|
|
737
1058
|
return RtseeEventsDashboardClientComponent;
|
|
738
1059
|
}());
|
|
739
1060
|
RtseeEventsDashboardClientComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardClientComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
740
|
-
RtseeEventsDashboardClientComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeEventsDashboardClientComponent, selector: "ngx-rtsee-events-dashboard-client", ngImport: i0__namespace, template: "<p>rtsee-events-dashboard-client works!</p>\n"
|
|
1061
|
+
RtseeEventsDashboardClientComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeEventsDashboardClientComponent, selector: "ngx-rtsee-events-dashboard-client", ngImport: i0__namespace, template: "<p>rtsee-events-dashboard-client works!</p>\n" });
|
|
741
1062
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardClientComponent, decorators: [{
|
|
742
1063
|
type: i0.Component,
|
|
743
1064
|
args: [{
|
|
744
1065
|
selector: 'ngx-rtsee-events-dashboard-client',
|
|
745
1066
|
templateUrl: './rtsee-events-dashboard-client.component.html',
|
|
746
|
-
|
|
1067
|
+
}]
|
|
1068
|
+
}] });
|
|
1069
|
+
|
|
1070
|
+
var RtseeContainerComponent = /** @class */ (function () {
|
|
1071
|
+
function RtseeContainerComponent() {
|
|
1072
|
+
}
|
|
1073
|
+
return RtseeContainerComponent;
|
|
1074
|
+
}());
|
|
1075
|
+
RtseeContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeContainerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1076
|
+
RtseeContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeContainerComponent, selector: "rtsee-rtsee-container", ngImport: i0__namespace, template: "<p>rtsee-container works!</p>\n" });
|
|
1077
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeContainerComponent, decorators: [{
|
|
1078
|
+
type: i0.Component,
|
|
1079
|
+
args: [{
|
|
1080
|
+
selector: 'rtsee-rtsee-container',
|
|
1081
|
+
templateUrl: './rtsee-container.component.html',
|
|
747
1082
|
}]
|
|
748
1083
|
}] });
|
|
749
1084
|
|
|
@@ -771,25 +1106,36 @@
|
|
|
771
1106
|
RtseeEventsDashboardClientComponent,
|
|
772
1107
|
RtseeEventsDashboardClientThumbnailComponent,
|
|
773
1108
|
WidgetDirective,
|
|
774
|
-
CallWidgetComponent
|
|
1109
|
+
CallWidgetComponent,
|
|
1110
|
+
MainMenuComponent,
|
|
1111
|
+
MessageTimeAndStatusComponent,
|
|
1112
|
+
PreloaderComponent,
|
|
1113
|
+
SearchComponent,
|
|
1114
|
+
ManageChatComponent,
|
|
1115
|
+
ContactsMultiselectComponent,
|
|
1116
|
+
ShaveDirective,
|
|
1117
|
+
ProfileComponent,
|
|
1118
|
+
EventThumbnailComponent,
|
|
1119
|
+
RtseeEventsDashboardSessionComponent,
|
|
1120
|
+
RtseeContainerComponent], imports: [i3.CommonModule,
|
|
775
1121
|
icon.MatIconModule,
|
|
776
1122
|
i1.MatButtonModule,
|
|
777
1123
|
select.MatSelectModule,
|
|
778
1124
|
animations.BrowserAnimationsModule,
|
|
779
|
-
i3.MatFormFieldModule,
|
|
1125
|
+
i3$1.MatFormFieldModule,
|
|
780
1126
|
i1$1.ReactiveFormsModule,
|
|
781
|
-
i2
|
|
782
|
-
i3$
|
|
1127
|
+
i2.AutosizeModule,
|
|
1128
|
+
i3$2.InfiniteScrollModule], exports: [RTSeeComponent, MessengerComponent, RtseeEventsDashboardComponent] });
|
|
783
1129
|
RTSeeModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RTSeeModule, imports: [[
|
|
784
|
-
|
|
1130
|
+
i3.CommonModule,
|
|
785
1131
|
icon.MatIconModule,
|
|
786
1132
|
i1.MatButtonModule,
|
|
787
1133
|
select.MatSelectModule,
|
|
788
1134
|
animations.BrowserAnimationsModule,
|
|
789
|
-
i3.MatFormFieldModule,
|
|
1135
|
+
i3$1.MatFormFieldModule,
|
|
790
1136
|
i1$1.ReactiveFormsModule,
|
|
791
|
-
i2
|
|
792
|
-
i3$
|
|
1137
|
+
i2.AutosizeModule,
|
|
1138
|
+
i3$2.InfiniteScrollModule,
|
|
793
1139
|
]] });
|
|
794
1140
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RTSeeModule, decorators: [{
|
|
795
1141
|
type: i0.NgModule,
|
|
@@ -814,17 +1160,28 @@
|
|
|
814
1160
|
RtseeEventsDashboardClientThumbnailComponent,
|
|
815
1161
|
WidgetDirective,
|
|
816
1162
|
CallWidgetComponent,
|
|
1163
|
+
MainMenuComponent,
|
|
1164
|
+
MessageTimeAndStatusComponent,
|
|
1165
|
+
PreloaderComponent,
|
|
1166
|
+
SearchComponent,
|
|
1167
|
+
ManageChatComponent,
|
|
1168
|
+
ContactsMultiselectComponent,
|
|
1169
|
+
ShaveDirective,
|
|
1170
|
+
ProfileComponent,
|
|
1171
|
+
EventThumbnailComponent,
|
|
1172
|
+
RtseeEventsDashboardSessionComponent,
|
|
1173
|
+
RtseeContainerComponent,
|
|
817
1174
|
],
|
|
818
1175
|
imports: [
|
|
819
|
-
|
|
1176
|
+
i3.CommonModule,
|
|
820
1177
|
icon.MatIconModule,
|
|
821
1178
|
i1.MatButtonModule,
|
|
822
1179
|
select.MatSelectModule,
|
|
823
1180
|
animations.BrowserAnimationsModule,
|
|
824
|
-
i3.MatFormFieldModule,
|
|
1181
|
+
i3$1.MatFormFieldModule,
|
|
825
1182
|
i1$1.ReactiveFormsModule,
|
|
826
|
-
i2
|
|
827
|
-
i3$
|
|
1183
|
+
i2.AutosizeModule,
|
|
1184
|
+
i3$2.InfiniteScrollModule,
|
|
828
1185
|
],
|
|
829
1186
|
exports: [RTSeeComponent, MessengerComponent, RtseeEventsDashboardComponent],
|
|
830
1187
|
}]
|