@rtsee/ngx 0.0.17 → 0.0.18
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 +123 -9
- package/dist/ngx/bundles/rtsee-ngx.umd.js.map +1 -1
- package/dist/ngx/esm2015/lib/components/rtsee/rtsee-controls/rtsee-controls.component.js +1 -1
- package/dist/ngx/esm2015/lib/components/rtsee/rtsee.component.js +1 -1
- package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.js +2 -2
- package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.js +2 -2
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/message/message.component.js +35 -6
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.js +37 -0
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/messages-list/messages-list.component.js +2 -2
- package/dist/ngx/esm2015/lib/components/rtsee-messenger/messenger-header/messenger-header.component.js +10 -2
- package/dist/ngx/esm2015/lib/components/rtsee-settings/rtsee-settings.component.js +1 -1
- package/dist/ngx/esm2015/lib/directives/widget.directive.js +16 -0
- package/dist/ngx/esm2015/lib/ngx.module.js +8 -2
- package/dist/ngx/esm2015/lib/services/widgets.service.js +28 -0
- package/dist/ngx/fesm2015/rtsee-ngx.js +120 -9
- package/dist/ngx/fesm2015/rtsee-ngx.js.map +1 -1
- package/dist/ngx/lib/components/rtsee/rtsee-controls/rtsee-controls.component.d.ts +2 -2
- package/dist/ngx/lib/components/rtsee/rtsee.component.d.ts +2 -2
- package/dist/ngx/lib/components/rtsee-messenger/message/message.component.d.ts +13 -3
- package/dist/ngx/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.d.ts +13 -0
- package/dist/ngx/lib/components/rtsee-messenger/messenger-header/messenger-header.component.d.ts +1 -0
- package/dist/ngx/lib/components/rtsee-settings/rtsee-settings.component.d.ts +2 -2
- package/dist/ngx/lib/directives/widget.directive.d.ts +8 -0
- package/dist/ngx/lib/ngx.module.d.ts +10 -8
- package/dist/ngx/lib/services/widgets.service.d.ts +11 -0
- package/package.json +2 -2
|
@@ -229,10 +229,18 @@
|
|
|
229
229
|
var MessengerHeaderComponent = /** @class */ (function () {
|
|
230
230
|
function MessengerHeaderComponent() {
|
|
231
231
|
}
|
|
232
|
+
MessengerHeaderComponent.prototype.call = function () {
|
|
233
|
+
var _a;
|
|
234
|
+
if (!((_a = this.messenger.openedChat) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
235
|
+
console.log('Unable to call, no opened chat!');
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
void this.messenger.initializeVideoCall(this.messenger.openedChat.id);
|
|
239
|
+
};
|
|
232
240
|
return MessengerHeaderComponent;
|
|
233
241
|
}());
|
|
234
242
|
MessengerHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessengerHeaderComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
235
|
-
MessengerHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerHeaderComponent, selector: "ngx-messenger-header", inputs: { messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-header\" [ngClass]=\"{ 'chat-header': messenger.openedChat }\">\n <button *ngIf=\"messenger.openedChat\" (click)=\"messenger.closeChat()\"><span>←</span></button>\n <p class=\"title\" *ngIf=\"!messenger.openedChat\">Wessenger</p>\n <p class=\"title\" *ngIf=\"messenger.openedChat\">{{ messenger.openedChat.name }}</p>\n</div>\n", styles: [""], directives: [{ type: i2__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
243
|
+
MessengerHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessengerHeaderComponent, selector: "ngx-messenger-header", inputs: { messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-header\" [ngClass]=\"{ 'chat-header': messenger.openedChat }\">\n <button *ngIf=\"messenger.openedChat\" (click)=\"messenger.closeChat()\"><span>←</span></button>\n <p class=\"title\" *ngIf=\"!messenger.openedChat\">Wessenger</p>\n <p class=\"title\" *ngIf=\"messenger.openedChat\">{{ messenger.openedChat.name }}</p>\n <button *ngIf=\"messenger.openedChat\" (click)=\"call()\">Call</button>\n</div>\n", styles: [""], directives: [{ type: i2__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
236
244
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessengerHeaderComponent, decorators: [{
|
|
237
245
|
type: i0.Component,
|
|
238
246
|
args: [{
|
|
@@ -287,13 +295,110 @@
|
|
|
287
295
|
type: i0.Input
|
|
288
296
|
}] } });
|
|
289
297
|
|
|
298
|
+
var WidgetDirective = /** @class */ (function () {
|
|
299
|
+
function WidgetDirective(viewContainerRef) {
|
|
300
|
+
this.viewContainerRef = viewContainerRef;
|
|
301
|
+
}
|
|
302
|
+
return WidgetDirective;
|
|
303
|
+
}());
|
|
304
|
+
WidgetDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: WidgetDirective, deps: [{ token: i0__namespace.ViewContainerRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
305
|
+
WidgetDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.1.2", type: WidgetDirective, selector: "[widgetHost]", ngImport: i0__namespace });
|
|
306
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: WidgetDirective, decorators: [{
|
|
307
|
+
type: i0.Directive,
|
|
308
|
+
args: [{
|
|
309
|
+
selector: '[widgetHost]',
|
|
310
|
+
}]
|
|
311
|
+
}], ctorParameters: function () { return [{ type: i0__namespace.ViewContainerRef }]; } });
|
|
312
|
+
|
|
313
|
+
var CallWidgetComponent = /** @class */ (function () {
|
|
314
|
+
function CallWidgetComponent() {
|
|
315
|
+
}
|
|
316
|
+
CallWidgetComponent.prototype.ngOnInit = function () {
|
|
317
|
+
var _a, _b, _c;
|
|
318
|
+
if (this.messenger.clientId === ((_a = this.message.data) === null || _a === void 0 ? void 0 : _a.callerId)) {
|
|
319
|
+
this.callerName = 'You';
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
this.callerName = (_c = (_b = this.message.data) === null || _b === void 0 ? void 0 : _b.caller) === null || _c === void 0 ? void 0 : _c.name;
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
CallWidgetComponent.prototype.joinCall = function () {
|
|
326
|
+
var _a;
|
|
327
|
+
if (!this.messenger || !((_a = this.message.data) === null || _a === void 0 ? void 0 : _a.roomId)) {
|
|
328
|
+
console.log('No Room Id specified or no messenger!');
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
void this.messenger.joinCall(this.message.data.roomId);
|
|
332
|
+
};
|
|
333
|
+
return CallWidgetComponent;
|
|
334
|
+
}());
|
|
335
|
+
CallWidgetComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: CallWidgetComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
336
|
+
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: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
337
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: CallWidgetComponent, decorators: [{
|
|
338
|
+
type: i0.Component,
|
|
339
|
+
args: [{
|
|
340
|
+
selector: 'ngx-call-widget',
|
|
341
|
+
templateUrl: './call-widget.component.html',
|
|
342
|
+
styleUrls: ['./call-widget.component.css'],
|
|
343
|
+
}]
|
|
344
|
+
}], propDecorators: { message: [{
|
|
345
|
+
type: i0.Input
|
|
346
|
+
}], messenger: [{
|
|
347
|
+
type: i0.Input
|
|
348
|
+
}] } });
|
|
349
|
+
|
|
350
|
+
var WidgetsService = /** @class */ (function () {
|
|
351
|
+
function WidgetsService() {
|
|
352
|
+
this.widgetsMap = [
|
|
353
|
+
{ name: 'rtsee-call', component: CallWidgetComponent },
|
|
354
|
+
];
|
|
355
|
+
}
|
|
356
|
+
WidgetsService.prototype.getWidgetComponentByName = function (name) {
|
|
357
|
+
/* eslint-disable */
|
|
358
|
+
var mapping = this.widgetsMap.find(function (e) { return e.name === name; });
|
|
359
|
+
if (!mapping) {
|
|
360
|
+
return null;
|
|
361
|
+
}
|
|
362
|
+
return mapping.component;
|
|
363
|
+
/* eslint-enable */
|
|
364
|
+
};
|
|
365
|
+
return WidgetsService;
|
|
366
|
+
}());
|
|
367
|
+
WidgetsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: WidgetsService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
368
|
+
WidgetsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: WidgetsService, providedIn: 'root' });
|
|
369
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: WidgetsService, decorators: [{
|
|
370
|
+
type: i0.Injectable,
|
|
371
|
+
args: [{
|
|
372
|
+
providedIn: 'root',
|
|
373
|
+
}]
|
|
374
|
+
}] });
|
|
375
|
+
|
|
290
376
|
var MessageComponent = /** @class */ (function () {
|
|
291
|
-
function MessageComponent() {
|
|
377
|
+
function MessageComponent(widgetsService, componentFactoryResolver) {
|
|
378
|
+
this.widgetsService = widgetsService;
|
|
379
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
292
380
|
}
|
|
381
|
+
MessageComponent.prototype.ngAfterViewInit = function () {
|
|
382
|
+
/* eslint-disable */
|
|
383
|
+
if (this.message.widget) {
|
|
384
|
+
var widget = this.widgetsService.getWidgetComponentByName(this.message.widget);
|
|
385
|
+
if (!widget) {
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
var viewContainerRef = this.widgetHost.viewContainerRef;
|
|
389
|
+
viewContainerRef.clear();
|
|
390
|
+
var componentToShow = this.componentFactoryResolver.resolveComponentFactory(widget);
|
|
391
|
+
var componentRef = viewContainerRef.createComponent(componentToShow);
|
|
392
|
+
componentRef.instance.message = this.message;
|
|
393
|
+
componentRef.instance.messenger = this.messenger;
|
|
394
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
395
|
+
}
|
|
396
|
+
/* eslint-enable */
|
|
397
|
+
};
|
|
293
398
|
return MessageComponent;
|
|
294
399
|
}());
|
|
295
|
-
MessageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
296
|
-
MessageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessageComponent, selector: "ngx-message", inputs: { chat: "chat", message: "message", member: "member" }, ngImport: i0__namespace, template: "<div class=\"rtsee-message-container\" [ngClass]=\"{'rtsee-from-me': message.from !== chat.receiverId}\">\n <div class=\"rtsee-messenger-message\">\n <p>{{ message.text }}</p>\n </div>\n</div>\n", styles: [""], directives: [{ type: i2__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
400
|
+
MessageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageComponent, deps: [{ token: WidgetsService }, { token: i0__namespace.ComponentFactoryResolver }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
401
|
+
MessageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessageComponent, selector: "ngx-message", inputs: { chat: "chat", message: "message", member: "member", messenger: "messenger" }, viewQueries: [{ propertyName: "widgetHost", first: true, predicate: WidgetDirective, descendants: true }], ngImport: i0__namespace, template: "<div class=\"rtsee-message-container\" [ngClass]=\"{'rtsee-from-me': message.from !== chat.receiverId}\">\n <div class=\"rtsee-messenger-message\">\n <ng-template widgetHost></ng-template>\n <p *ngIf=\"!message.widget\">{{ message.text }}</p>\n </div>\n</div>\n", styles: [""], directives: [{ type: i2__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: WidgetDirective, selector: "[widgetHost]" }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
297
402
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessageComponent, decorators: [{
|
|
298
403
|
type: i0.Component,
|
|
299
404
|
args: [{
|
|
@@ -301,12 +406,17 @@
|
|
|
301
406
|
templateUrl: './message.component.html',
|
|
302
407
|
styleUrls: ['./message.component.css'],
|
|
303
408
|
}]
|
|
304
|
-
}], propDecorators: { chat: [{
|
|
409
|
+
}], ctorParameters: function () { return [{ type: WidgetsService }, { type: i0__namespace.ComponentFactoryResolver }]; }, propDecorators: { chat: [{
|
|
305
410
|
type: i0.Input
|
|
306
411
|
}], message: [{
|
|
307
412
|
type: i0.Input
|
|
308
413
|
}], member: [{
|
|
309
414
|
type: i0.Input
|
|
415
|
+
}], messenger: [{
|
|
416
|
+
type: i0.Input
|
|
417
|
+
}], widgetHost: [{
|
|
418
|
+
type: i0.ViewChild,
|
|
419
|
+
args: [WidgetDirective, { static: false }]
|
|
310
420
|
}] } });
|
|
311
421
|
|
|
312
422
|
var MessagesListComponent = /** @class */ (function () {
|
|
@@ -315,7 +425,7 @@
|
|
|
315
425
|
return MessagesListComponent;
|
|
316
426
|
}());
|
|
317
427
|
MessagesListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessagesListComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
318
|
-
MessagesListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessagesListComponent, selector: "ngx-messages-list", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-messages-list\">\n <div class=\"rtsee-messenger-message-wrapper\" *ngFor=\"let message of chat.messages\">\n <ngx-message [message]=\"message\" [chat]=\"chat\"></ngx-message>\n </div>\n</div>\n", styles: [""], components: [{ type: MessageComponent, selector: "ngx-message", inputs: ["chat", "message", "member"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
428
|
+
MessagesListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: MessagesListComponent, selector: "ngx-messages-list", inputs: { chat: "chat", messenger: "messenger" }, ngImport: i0__namespace, template: "<div class=\"rtsee-messenger-messages-list\">\n <div class=\"rtsee-messenger-message-wrapper\" *ngFor=\"let message of chat.messages\">\n <ngx-message [message]=\"message\" [messenger]=\"messenger\" [chat]=\"chat\"></ngx-message>\n </div>\n</div>\n", styles: [""], components: [{ type: MessageComponent, selector: "ngx-message", inputs: ["chat", "message", "member", "messenger"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
319
429
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: MessagesListComponent, decorators: [{
|
|
320
430
|
type: i0.Component,
|
|
321
431
|
args: [{
|
|
@@ -426,7 +536,7 @@
|
|
|
426
536
|
this.timeFormatService = timeFormatService;
|
|
427
537
|
}
|
|
428
538
|
RtseeEventsDashboardClientThumbnailComponent.prototype.ngOnInit = function () {
|
|
429
|
-
console.log(this.client);
|
|
539
|
+
console.log('client id', this.client.id);
|
|
430
540
|
};
|
|
431
541
|
RtseeEventsDashboardClientThumbnailComponent.prototype.openChat = function () {
|
|
432
542
|
this.dashboard.openChat(this.client);
|
|
@@ -454,7 +564,7 @@
|
|
|
454
564
|
return RtseeEventsDashboardComponent;
|
|
455
565
|
}());
|
|
456
566
|
RtseeEventsDashboardComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
457
|
-
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", styles: [".rtsee-events-dashboard{background-color:#333;padding:16px}.rtsee-events-dashboard .rtsee-dashboard-client-id{display:inline-block;font-weight:600}.rtsee-events-dashboard .rtsee-events-dashboard-client-thumbnails .rtsee-events-dashboard-client-thumbnail-wrapper{margin-bottom:16px}.rtsee-events-dashboard .rtsee-events-dashboard-client-thumbnails .rtsee-events-dashboard-client-thumbnail-wrapper:last-of-type{margin-bottom:0}"], components: [{ type: RtseeEventsDashboardClientThumbnailComponent, selector: "ngx-rtsee-events-dashboard-client-thumbnail", inputs: ["dashboard", "client"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
567
|
+
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 <p>Client id: {{ eventsDashboard.signalingClient.getMyPeerId() }}</p>\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", styles: [".rtsee-events-dashboard{background-color:#333;padding:16px}.rtsee-events-dashboard .rtsee-dashboard-client-id{display:inline-block;font-weight:600}.rtsee-events-dashboard .rtsee-events-dashboard-client-thumbnails .rtsee-events-dashboard-client-thumbnail-wrapper{margin-bottom:16px}.rtsee-events-dashboard .rtsee-events-dashboard-client-thumbnails .rtsee-events-dashboard-client-thumbnail-wrapper:last-of-type{margin-bottom:0}"], components: [{ type: RtseeEventsDashboardClientThumbnailComponent, selector: "ngx-rtsee-events-dashboard-client-thumbnail", inputs: ["dashboard", "client"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
458
568
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0__namespace, type: RtseeEventsDashboardComponent, decorators: [{
|
|
459
569
|
type: i0.Component,
|
|
460
570
|
args: [{
|
|
@@ -520,7 +630,9 @@
|
|
|
520
630
|
MessengerHeaderComponent,
|
|
521
631
|
RtseeEventsDashboardComponent,
|
|
522
632
|
RtseeEventsDashboardClientComponent,
|
|
523
|
-
RtseeEventsDashboardClientThumbnailComponent
|
|
633
|
+
RtseeEventsDashboardClientThumbnailComponent,
|
|
634
|
+
WidgetDirective,
|
|
635
|
+
CallWidgetComponent], imports: [i2.CommonModule,
|
|
524
636
|
icon.MatIconModule,
|
|
525
637
|
i1.MatButtonModule,
|
|
526
638
|
select.MatSelectModule,
|
|
@@ -557,6 +669,8 @@
|
|
|
557
669
|
RtseeEventsDashboardComponent,
|
|
558
670
|
RtseeEventsDashboardClientComponent,
|
|
559
671
|
RtseeEventsDashboardClientThumbnailComponent,
|
|
672
|
+
WidgetDirective,
|
|
673
|
+
CallWidgetComponent,
|
|
560
674
|
],
|
|
561
675
|
imports: [
|
|
562
676
|
i2.CommonModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtsee-ngx.umd.js","sources":["../../../projects/ngx/src/lib/ngx.service.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.html","../../../projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.ts","../../../projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.html","../../../projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.ts","../../../projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.html","../../../projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.ts","../../../projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.html","../../../projects/ngx/src/lib/components/rtsee/rtsee.component.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/message/message.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message/message.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.html","../../../projects/ngx/src/lib/services/time-format-helper.service.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.html","../../../projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.html","../../../projects/ngx/src/lib/ngx.module.ts","../../../projects/ngx/src/public-api.ts","../../../projects/ngx/src/rtsee-ngx.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgxService {\n lol: string;\n constructor() {\n this.lol = 'lol';\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { RTSee } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-rtsee-controls',\n templateUrl: './rtsee-controls.component.html',\n styleUrls: ['./rtsee-controls.component.scss'],\n})\nexport class RTSeeControlsComponent {\n @Input() rtsee!: RTSee;\n @Input() fullScreenMode?: boolean;\n\n onPresentClicked() {\n return this.rtsee.isPresenter\n ? this.rtsee.stopScreenShare()\n : this.rtsee.startScreenShare();\n }\n}\n","<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","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSee } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-rtsee-settings',\n templateUrl: './rtsee-settings.component.html',\n styleUrls: ['./rtsee-settings.component.scss'],\n})\nexport class RtseeSettingsComponent implements OnInit {\n availableAudioInputDevices: MediaDeviceInfo[];\n availableVideoInputDevices: MediaDeviceInfo[];\n availableAudioOutputDevices: MediaDeviceInfo[];\n\n @Input() rtSee!: RTSee;\n @Input() fullScreenMode!: boolean;\n constructor() {\n this.availableAudioInputDevices = [];\n this.availableVideoInputDevices = [];\n this.availableAudioOutputDevices = [];\n }\n\n ngOnInit(): void {\n this.refreshSelectOptions();\n }\n\n refreshSelectOptions() {\n void this.rtSee.refreshMediaDevicesList();\n }\n\n setAudioInput(deviceId: string) {\n this.rtSee.setAudioInputDevice(deviceId);\n console.log(deviceId);\n }\n\n setAudioOutput(deviceId: string) {\n this.rtSee.setAudioOutputDevice(deviceId);\n }\n\n setVideoInput(deviceId: string) {\n this.rtSee.setVideoInputDevice(deviceId);\n }\n}\n","<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","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeePeerConnection } from '@rtsee/core';\nimport { interval } from 'rxjs';\n\n@Component({\n selector: 'ngx-rtsee-soundbar',\n templateUrl: './rtsee-soundbar.component.html',\n styleUrls: ['./rtsee-soundbar.component.scss'],\n})\nexport class RtseeSoundbarComponent implements OnInit {\n intervalLength: number;\n noiceLevel: number;\n scaleOneLevel: number;\n scaleTwoLevel: number;\n scaleThreeLevel: number;\n\n @Input() peer!: RTSeePeerConnection;\n constructor() {\n this.intervalLength = 1000;\n this.noiceLevel = 0;\n this.scaleOneLevel = 0;\n this.scaleTwoLevel = 0;\n this.scaleThreeLevel = 0;\n }\n\n ngOnInit(): void {\n this.startSoundMeterListening();\n }\n\n startSoundMeterListening() {\n const step = interval(1000 / 10);\n step.subscribe(() => {\n if (!this.peer.soundMeter || !this.peer.soundMeter.level) {\n this.noiceLevel = 0;\n } else {\n this.noiceLevel = this.peer.soundMeter?.level * 100 || 0;\n }\n\n this.setSoundMeterHeights();\n });\n }\n\n setSoundMeterHeights() {\n const ZERO_LEVEL = 25;\n const SCALE_STEP = 25;\n const SCALE_ONE_TOP = ZERO_LEVEL + SCALE_STEP;\n const SCALE_TWO_TOP = SCALE_ONE_TOP + SCALE_STEP;\n\n if (!this.peer || !this.peer.soundMeter || this.noiceLevel < ZERO_LEVEL) {\n this.scaleOneLevel = 0;\n this.scaleTwoLevel = 0;\n this.scaleThreeLevel = 0;\n }\n\n const scaleOneValue = ((this.noiceLevel - ZERO_LEVEL) / SCALE_STEP) * 100;\n const scaleTwoValue =\n ((this.noiceLevel - SCALE_ONE_TOP) / SCALE_STEP) * 100;\n const scaleThreeValue =\n ((this.noiceLevel - SCALE_TWO_TOP) / SCALE_STEP) * 100;\n\n this.scaleOneLevel = scaleOneValue > 0 ? scaleOneValue : 0;\n this.scaleTwoLevel = scaleTwoValue > 0 ? scaleTwoValue : 0;\n this.scaleThreeLevel = scaleThreeValue > 0 ? scaleTwoValue : 0;\n }\n}\n","<div class=\"rtsee-soundbar\">\n <div class=\"rtsee-soundbar-scale\">\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-one\"\n [style.height.%]=\"scaleOneLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-two\"\n [style.height.%]=\"scaleTwoLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-three\"\n [style.height.%]=\"scaleThreeLevel\"\n ></div>\n </div>\n </div>\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { RTSeePeerConnection } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-rtsee-peer',\n templateUrl: './rtsee-peer.component.html',\n styleUrls: ['./rtsee-peer.component.scss'],\n})\nexport class RtseePeerComponent implements AfterViewInit {\n intervalLength: number;\n noiceLevel: number;\n\n @ViewChild('audioOutput') audioOutput?: ElementRef;\n @ViewChild('videoOutput') videoOutput?: ElementRef;\n @Input() peer!: RTSeePeerConnection;\n\n constructor() {\n this.intervalLength = 1000;\n this.noiceLevel = 0;\n }\n\n ngAfterViewInit(): void {\n if (!this.audioOutput) {\n return;\n }\n this.peer.setAudioOutputElement(\n this.audioOutput.nativeElement as HTMLAudioElement\n );\n }\n}\n","<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","import { Component, Input } from '@angular/core';\nimport { RTSee } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-rtsee',\n templateUrl: './rtsee.component.html',\n styleUrls: ['./rtsee.component.scss'],\n})\nexport class RTSeeComponent {\n settingsViewEnabled: boolean;\n fullScreenModeEnabled: boolean;\n\n @Input() rtSee!: RTSee;\n constructor() {\n this.settingsViewEnabled = false;\n this.fullScreenModeEnabled = false;\n }\n\n toggleSettings() {\n this.settingsViewEnabled = !this.settingsViewEnabled;\n }\n\n toggleFullScreenMode() {\n this.fullScreenModeEnabled = !this.fullScreenModeEnabled;\n }\n}\n","<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","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-messenger-header',\n templateUrl: './messenger-header.component.html',\n styleUrls: ['./messenger-header.component.css'],\n})\nexport class MessengerHeaderComponent {\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-messenger-header\" [ngClass]=\"{ 'chat-header': messenger.openedChat }\">\n <button *ngIf=\"messenger.openedChat\" (click)=\"messenger.closeChat()\"><span>←</span></button>\n <p class=\"title\" *ngIf=\"!messenger.openedChat\">Wessenger</p>\n <p class=\"title\" *ngIf=\"messenger.openedChat\">{{ messenger.openedChat.name }}</p>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-chat-thumbnail',\n templateUrl: './chat-thumbnail.component.html',\n styleUrls: ['./chat-thumbnail.component.css'],\n})\nexport class ChatThumbnailComponent {\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-chat-thumbnail\" (click)=\"messenger.openChat(chat)\">\n <div class=\"chat-info\">\n <div class=\"rtsee-chat-thumbnail-image\">\n <img [src]=\"chat.imageUrl\" alt=\"chat-img\">\n </div>\n <p class=\"rtsee-chat-thumbnail-name\">{{ chat.name }}</p>\n </div>\n <div class=\"last-message\">\n <p class=\"rtsee-chat-thumbnail-last-message\">{{chat.getLastSenderName()}} {{chat.getLastSentMessageText()}}</p>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-chats-list',\n templateUrl: './chats-list.component.html',\n styleUrls: ['./chats-list.component.css'],\n})\nexport class ChatsListComponent implements OnInit {\n @Input() messenger!: RTSeeMessenger;\n @Input() chats!: RTSeeChat[];\n\n ngOnInit(): void {\n console.log(this.chats);\n }\n}\n","<div class=\"rtsee-chats-list\">\n <div class=\"rtsee-chat-thumbnail-container\" *ngFor=\"let chat of chats; let last = last;\">\n <ngx-chat-thumbnail [chat]=\"chat\" [messenger]=\"messenger\"></ngx-chat-thumbnail>\n <div class=\"rtsee-chat-separator\"></div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeChat, RTSeeChatMember, RTSeeMessage } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-message',\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.css'],\n})\nexport class MessageComponent {\n @Input() chat!: RTSeeChat;\n @Input() message!: RTSeeMessage;\n @Input() member!: RTSeeChatMember<any>;\n}\n","<div class=\"rtsee-message-container\" [ngClass]=\"{'rtsee-from-me': message.from !== chat.receiverId}\">\n <div class=\"rtsee-messenger-message\">\n <p>{{ message.text }}</p>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-messages-list',\n templateUrl: './messages-list.component.html',\n styleUrls: ['./messages-list.component.css'],\n})\nexport class MessagesListComponent {\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-messenger-messages-list\">\n <div class=\"rtsee-messenger-message-wrapper\" *ngFor=\"let message of chat.messages\">\n <ngx-message [message]=\"message\" [chat]=\"chat\"></ngx-message>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-chat-input',\n templateUrl: './chat-input.component.html',\n styleUrls: ['./chat-input.component.css'],\n})\nexport class ChatInputComponent {\n sendMessageForm: FormGroup = new FormGroup({\n /* eslint-disable */\n message: new FormControl('', Validators.required),\n /* eslint-enable */\n });\n\n @Input() messenger!: RTSeeMessenger;\n @Input() chat!: RTSeeChat;\n\n sendMessage() {\n const text = this.sendMessageForm.get('message')?.value as string;\n if (!text) {\n return;\n }\n this.chat.sendMessage(text);\n this.sendMessageForm.get('message')?.setValue('');\n }\n}\n","<div class=\"rtsee-chat-input\">\n <div class=\"rtsee-send-message\">\n <form [formGroup]=\"sendMessageForm\">\n <input placeholder=\"Type message...\" type=\"text\" formControlName=\"message\" required>\n <button (click)=\"sendMessage()\"\n class=\"rtsee-send-message-button\"\n type=\"submit\">\n <span>Send</span>\n </button>\n </form>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-chat',\n templateUrl: './chat.component.html',\n styleUrls: ['./chat.component.css'],\n})\nexport class ChatComponent {\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-chat\">\n <div class=\"rtsee-chat-body-container\">\n <ngx-messages-list [messenger]=\"messenger\" [chat]=\"chat\"></ngx-messages-list>\n </div>\n <div class=\"input-container\">\n <ngx-chat-input [messenger]=\"messenger\" [chat]=\"chat\"></ngx-chat-input>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-messenger',\n templateUrl: './messenger.component.html',\n styleUrls: ['./messenger.component.scss'],\n})\nexport class MessengerComponent {\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-messenger\">\n <div class=\"rtsee-messenger-header-container\">\n <ngx-messenger-header [messenger]=\"messenger\"></ngx-messenger-header>\n </div>\n <div class=\"rtsee-messenger-body-container\">\n <ngx-chats-list *ngIf=\"!messenger.openedChat\" [chats]=\"messenger.chats\" [messenger]=\"messenger\"></ngx-chats-list>\n <ngx-chat *ngIf=\"messenger.openedChat\" [messenger]=\"messenger\" [chat]=\"messenger.openedChat\"></ngx-chat>\n </div>\n</div>\n\n\n","import { Injectable } from '@angular/core';\n\nimport * as dayjs from 'dayjs';\nimport * as relativeTime from 'dayjs/plugin/relativeTime';\ndayjs.extend(relativeTime);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TimeFormatHelperService {\n toAgo(time: Date): string {\n /* eslint-disable */\n return dayjs(time).fromNow() as string;\n /* eslint-enable */\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport {\n RTSeeDashboardClient,\n RTSeeEventsDashboard,\n} from '@rtsee/events-manager';\nimport { TimeFormatHelperService } from '../../../../services/time-format-helper.service';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard-client-thumbnail',\n templateUrl: './rtsee-events-dashboard-client-thumbnail.component.html',\n styleUrls: ['./rtsee-events-dashboard-client-thumbnail.component.scss'],\n})\nexport class RtseeEventsDashboardClientThumbnailComponent implements OnInit {\n @Input() dashboard!: RTSeeEventsDashboard;\n @Input() client!: RTSeeDashboardClient;\n\n constructor(public timeFormatService: TimeFormatHelperService) {}\n\n ngOnInit(): void {\n console.log(this.client);\n }\n\n openChat() {\n this.dashboard.openChat(this.client);\n }\n}\n","<div class=\"rtsee-dashboard-client-thumbnail\">\n <span class=\"rtsee-dashboard-client-id\" *ngIf=\"client.name\">{{ client.id }}</span>\n <span class=\"rtsee-dashboard-client-name\">{{ client.name || client.id }}</span>\n <div class=\"rtsee-dashboard-client-live\" *ngIf=\"client.isConnected\"></div>\n <div class=\"rtsee-dashboard-client-thumbnail-events\">\n <details *ngIf=\"client.events && client.events.length\">\n <summary>Last event: {{client.events[0].name}} ({{ timeFormatService.toAgo(client.events[0].createdAt) }})</summary>\n <ul>\n <li *ngFor=\"let event of client.events.slice(1, client.events.length)\" class=\"rtsee-dashboard-client-thumbnail-event\">\n <span>{{event.name}}</span>\n <span> </span>\n <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>\n </li>\n </ul>\n </details>\n <div class=\"rtsee-dashboard-client-thumbnail-actions\">\n <button (click)=\"openChat()\">Chat</button>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeEventsDashboard } from '@rtsee/events-manager';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard',\n templateUrl: './rtsee-events-dashboard.component.html',\n styleUrls: ['./rtsee-events-dashboard.component.scss'],\n})\nexport class RtseeEventsDashboardComponent {\n @Input() eventsDashboard!: RTSeeEventsDashboard;\n}\n","<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","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-rtsee-peers-list',\n templateUrl: './rtsee-peers-list.component.html',\n styleUrls: ['./rtsee-peers-list.component.scss'],\n})\nexport class RtseePeersListComponent {}\n","<p>rtsee-peers-list works!</p>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard-client',\n templateUrl: './rtsee-events-dashboard-client.component.html',\n styleUrls: ['./rtsee-events-dashboard-client.component.css'],\n})\nexport class RtseeEventsDashboardClientComponent {}\n","<p>rtsee-events-dashboard-client works!</p>\n","import { NgModule } from '@angular/core';\nimport { RTSeeComponent } from './components/rtsee/rtsee.component';\nimport { RTSeeControlsComponent } from './components/rtsee/rtsee-controls/rtsee-controls.component';\nimport { CommonModule } from '@angular/common';\nimport { RtseePeerComponent } from './components/rtsee-peer/rtsee-peer.component';\nimport { RtseeSoundbarComponent } from './components/rtsee-soundbar/rtsee-soundbar.component';\nimport { RtseePeersListComponent } from './components/rtsee-peers-list/rtsee-peers-list.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RtseeSettingsComponent } from './components/rtsee-settings/rtsee-settings.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MessengerComponent } from './components/rtsee-messenger/messenger/messenger.component';\nimport { ChatComponent } from './components/rtsee-messenger/chat/chat.component';\nimport { MessageComponent } from './components/rtsee-messenger/message/message.component';\nimport { ChatsListComponent } from './components/rtsee-messenger/chats-list/chats-list.component';\nimport { MessagesListComponent } from './components/rtsee-messenger/messages-list/messages-list.component';\nimport { ChatThumbnailComponent } from './components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component';\nimport { ChatInputComponent } from './components/rtsee-messenger/chat-input/chat-input.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MessengerHeaderComponent } from './components/rtsee-messenger/messenger-header/messenger-header.component';\nimport { RtseeEventsDashboardComponent } from './components/rtsee-events-dashboard/rtsee-events-dashboard.component';\nimport { RtseeEventsDashboardClientComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component';\nimport { RtseeEventsDashboardClientThumbnailComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component';\n\n@NgModule({\n declarations: [\n RTSeeComponent,\n RTSeeControlsComponent,\n RtseePeerComponent,\n RtseeSoundbarComponent,\n RtseePeersListComponent,\n RtseeSettingsComponent,\n MessengerComponent,\n ChatComponent,\n MessageComponent,\n ChatsListComponent,\n MessagesListComponent,\n ChatThumbnailComponent,\n ChatInputComponent,\n MessengerHeaderComponent,\n RtseeEventsDashboardComponent,\n RtseeEventsDashboardClientComponent,\n RtseeEventsDashboardClientThumbnailComponent,\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatSelectModule,\n BrowserAnimationsModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n ],\n exports: [RTSeeComponent, MessengerComponent, RtseeEventsDashboardComponent],\n})\nexport class RTSeeModule {}\n","/*\n * Public API Surface of ngx\n */\n\nexport * from './lib/ngx.service';\nexport * from './lib/components/rtsee/rtsee-controls/rtsee-controls.component';\nexport * from './lib/components/rtsee/rtsee.component';\nexport * from './lib/components/rtsee-messenger/messenger/messenger.component';\nexport * from './lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component';\nexport * from './lib/ngx.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","Component","Input","interval","ViewChild","FormGroup","FormControl","Validators","dayjs","relativeTime","CommonModule","MatIconModule","MatButtonModule","MatSelectModule","BrowserAnimationsModule","MatFormFieldModule","ReactiveFormsModule","NgModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rtsee-ngx.umd.js","sources":["../../../projects/ngx/src/lib/ngx.service.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.html","../../../projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.ts","../../../projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.html","../../../projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.ts","../../../projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.html","../../../projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.ts","../../../projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.html","../../../projects/ngx/src/lib/components/rtsee/rtsee.component.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.html","../../../projects/ngx/src/lib/directives/widget.directive.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.html","../../../projects/ngx/src/lib/services/widgets.service.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message/message.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message/message.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.html","../../../projects/ngx/src/lib/services/time-format-helper.service.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.html","../../../projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.html","../../../projects/ngx/src/lib/ngx.module.ts","../../../projects/ngx/src/public-api.ts","../../../projects/ngx/src/rtsee-ngx.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgxService {\n lol: string;\n constructor() {\n this.lol = 'lol';\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { RTSeeVideoChat } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-rtsee-controls',\n templateUrl: './rtsee-controls.component.html',\n styleUrls: ['./rtsee-controls.component.scss'],\n})\nexport class RTSeeControlsComponent {\n @Input() rtsee!: RTSeeVideoChat;\n @Input() fullScreenMode?: boolean;\n\n onPresentClicked() {\n return this.rtsee.isPresenter\n ? this.rtsee.stopScreenShare()\n : this.rtsee.startScreenShare();\n }\n}\n","<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","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeVideoChat } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-rtsee-settings',\n templateUrl: './rtsee-settings.component.html',\n styleUrls: ['./rtsee-settings.component.scss'],\n})\nexport class RtseeSettingsComponent implements OnInit {\n availableAudioInputDevices: MediaDeviceInfo[];\n availableVideoInputDevices: MediaDeviceInfo[];\n availableAudioOutputDevices: MediaDeviceInfo[];\n\n @Input() rtSee!: RTSeeVideoChat;\n @Input() fullScreenMode!: boolean;\n constructor() {\n this.availableAudioInputDevices = [];\n this.availableVideoInputDevices = [];\n this.availableAudioOutputDevices = [];\n }\n\n ngOnInit(): void {\n this.refreshSelectOptions();\n }\n\n refreshSelectOptions() {\n void this.rtSee.refreshMediaDevicesList();\n }\n\n setAudioInput(deviceId: string) {\n this.rtSee.setAudioInputDevice(deviceId);\n console.log(deviceId);\n }\n\n setAudioOutput(deviceId: string) {\n this.rtSee.setAudioOutputDevice(deviceId);\n }\n\n setVideoInput(deviceId: string) {\n this.rtSee.setVideoInputDevice(deviceId);\n }\n}\n","<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","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeePeerConnection } from '@rtsee/core';\nimport { interval } from 'rxjs';\n\n@Component({\n selector: 'ngx-rtsee-soundbar',\n templateUrl: './rtsee-soundbar.component.html',\n styleUrls: ['./rtsee-soundbar.component.scss'],\n})\nexport class RtseeSoundbarComponent implements OnInit {\n intervalLength: number;\n noiceLevel: number;\n scaleOneLevel: number;\n scaleTwoLevel: number;\n scaleThreeLevel: number;\n\n @Input() peer!: RTSeePeerConnection;\n constructor() {\n this.intervalLength = 1000;\n this.noiceLevel = 0;\n this.scaleOneLevel = 0;\n this.scaleTwoLevel = 0;\n this.scaleThreeLevel = 0;\n }\n\n ngOnInit(): void {\n this.startSoundMeterListening();\n }\n\n startSoundMeterListening() {\n const step = interval(1000 / 10);\n step.subscribe(() => {\n if (!this.peer.soundMeter || !this.peer.soundMeter.level) {\n this.noiceLevel = 0;\n } else {\n this.noiceLevel = this.peer.soundMeter?.level * 100 || 0;\n }\n\n this.setSoundMeterHeights();\n });\n }\n\n setSoundMeterHeights() {\n const ZERO_LEVEL = 25;\n const SCALE_STEP = 25;\n const SCALE_ONE_TOP = ZERO_LEVEL + SCALE_STEP;\n const SCALE_TWO_TOP = SCALE_ONE_TOP + SCALE_STEP;\n\n if (!this.peer || !this.peer.soundMeter || this.noiceLevel < ZERO_LEVEL) {\n this.scaleOneLevel = 0;\n this.scaleTwoLevel = 0;\n this.scaleThreeLevel = 0;\n }\n\n const scaleOneValue = ((this.noiceLevel - ZERO_LEVEL) / SCALE_STEP) * 100;\n const scaleTwoValue =\n ((this.noiceLevel - SCALE_ONE_TOP) / SCALE_STEP) * 100;\n const scaleThreeValue =\n ((this.noiceLevel - SCALE_TWO_TOP) / SCALE_STEP) * 100;\n\n this.scaleOneLevel = scaleOneValue > 0 ? scaleOneValue : 0;\n this.scaleTwoLevel = scaleTwoValue > 0 ? scaleTwoValue : 0;\n this.scaleThreeLevel = scaleThreeValue > 0 ? scaleTwoValue : 0;\n }\n}\n","<div class=\"rtsee-soundbar\">\n <div class=\"rtsee-soundbar-scale\">\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-one\"\n [style.height.%]=\"scaleOneLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-two\"\n [style.height.%]=\"scaleTwoLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-three\"\n [style.height.%]=\"scaleThreeLevel\"\n ></div>\n </div>\n </div>\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { RTSeePeerConnection } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-rtsee-peer',\n templateUrl: './rtsee-peer.component.html',\n styleUrls: ['./rtsee-peer.component.scss'],\n})\nexport class RtseePeerComponent implements AfterViewInit {\n intervalLength: number;\n noiceLevel: number;\n\n @ViewChild('audioOutput') audioOutput?: ElementRef;\n @ViewChild('videoOutput') videoOutput?: ElementRef;\n @Input() peer!: RTSeePeerConnection;\n\n constructor() {\n this.intervalLength = 1000;\n this.noiceLevel = 0;\n }\n\n ngAfterViewInit(): void {\n if (!this.audioOutput) {\n return;\n }\n this.peer.setAudioOutputElement(\n this.audioOutput.nativeElement as HTMLAudioElement\n );\n }\n}\n","<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","import { Component, Input } from '@angular/core';\nimport { RTSeeVideoChat } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-rtsee',\n templateUrl: './rtsee.component.html',\n styleUrls: ['./rtsee.component.scss'],\n})\nexport class RTSeeComponent {\n settingsViewEnabled: boolean;\n fullScreenModeEnabled: boolean;\n\n @Input() rtSee!: RTSeeVideoChat;\n constructor() {\n this.settingsViewEnabled = false;\n this.fullScreenModeEnabled = false;\n }\n\n toggleSettings() {\n this.settingsViewEnabled = !this.settingsViewEnabled;\n }\n\n toggleFullScreenMode() {\n this.fullScreenModeEnabled = !this.fullScreenModeEnabled;\n }\n}\n","<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","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-messenger-header',\n templateUrl: './messenger-header.component.html',\n styleUrls: ['./messenger-header.component.css'],\n})\nexport class MessengerHeaderComponent {\n @Input() messenger!: RTSeeMessenger;\n\n call() {\n if (!this.messenger.openedChat?.id) {\n console.log('Unable to call, no opened chat!');\n return;\n }\n void this.messenger.initializeVideoCall(this.messenger.openedChat.id);\n }\n}\n","<div class=\"rtsee-messenger-header\" [ngClass]=\"{ 'chat-header': messenger.openedChat }\">\n <button *ngIf=\"messenger.openedChat\" (click)=\"messenger.closeChat()\"><span>←</span></button>\n <p class=\"title\" *ngIf=\"!messenger.openedChat\">Wessenger</p>\n <p class=\"title\" *ngIf=\"messenger.openedChat\">{{ messenger.openedChat.name }}</p>\n <button *ngIf=\"messenger.openedChat\" (click)=\"call()\">Call</button>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-chat-thumbnail',\n templateUrl: './chat-thumbnail.component.html',\n styleUrls: ['./chat-thumbnail.component.css'],\n})\nexport class ChatThumbnailComponent {\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-chat-thumbnail\" (click)=\"messenger.openChat(chat)\">\n <div class=\"chat-info\">\n <div class=\"rtsee-chat-thumbnail-image\">\n <img [src]=\"chat.imageUrl\" alt=\"chat-img\">\n </div>\n <p class=\"rtsee-chat-thumbnail-name\">{{ chat.name }}</p>\n </div>\n <div class=\"last-message\">\n <p class=\"rtsee-chat-thumbnail-last-message\">{{chat.getLastSenderName()}} {{chat.getLastSentMessageText()}}</p>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-chats-list',\n templateUrl: './chats-list.component.html',\n styleUrls: ['./chats-list.component.css'],\n})\nexport class ChatsListComponent implements OnInit {\n @Input() messenger!: RTSeeMessenger;\n @Input() chats!: RTSeeChat[];\n\n ngOnInit(): void {\n console.log(this.chats);\n }\n}\n","<div class=\"rtsee-chats-list\">\n <div class=\"rtsee-chat-thumbnail-container\" *ngFor=\"let chat of chats; let last = last;\">\n <ngx-chat-thumbnail [chat]=\"chat\" [messenger]=\"messenger\"></ngx-chat-thumbnail>\n <div class=\"rtsee-chat-separator\"></div>\n </div>\n</div>\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[widgetHost]',\n})\nexport class WidgetDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeMessage, RTSeeMessenger } from '@rtsee/messenger';\nimport { ICall } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-call-widget',\n templateUrl: './call-widget.component.html',\n styleUrls: ['./call-widget.component.css'],\n})\nexport class CallWidgetComponent implements OnInit {\n @Input() message!: RTSeeMessage<ICall>;\n @Input() messenger!: RTSeeMessenger;\n callerName?: string;\n\n ngOnInit(): void {\n if (this.messenger.clientId === this.message.data?.callerId) {\n this.callerName = 'You';\n } else {\n this.callerName = this.message.data?.caller?.name;\n }\n }\n\n joinCall() {\n if (!this.messenger || !this.message.data?.roomId) {\n console.log('No Room Id specified or no messenger!');\n return;\n }\n void this.messenger.joinCall(this.message.data.roomId);\n }\n}\n","<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","import { Injectable } from '@angular/core';\nimport { CallWidgetComponent } from '../components/rtsee-messenger/message-widgets/call-widget/call-widget.component';\n\nexport interface IMessageWidget {\n name: string;\n component: any;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WidgetsService {\n widgetsMap: IMessageWidget[] = [\n { name: 'rtsee-call', component: CallWidgetComponent },\n ];\n\n getWidgetComponentByName(name: string) {\n /* eslint-disable */\n const mapping = this.widgetsMap.find((e) => e.name === name);\n if (!mapping) {\n return null;\n }\n return mapping.component;\n /* eslint-enable */\n }\n}\n","import {\n AfterViewInit,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {\n RTSeeChat,\n RTSeeChatMember,\n RTSeeMessage,\n RTSeeMessenger,\n} from '@rtsee/messenger';\nimport { WidgetsService } from '../../../services/widgets.service';\nimport { WidgetDirective } from '../../../directives/widget.directive';\n\n@Component({\n selector: 'ngx-message',\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.css'],\n})\nexport class MessageComponent implements AfterViewInit {\n @Input() chat!: RTSeeChat;\n @Input() message!: RTSeeMessage;\n @Input() member!: RTSeeChatMember<any>;\n @Input() messenger!: RTSeeMessenger;\n @ViewChild(WidgetDirective, { static: false }) widgetHost!: WidgetDirective;\n detach?: () => void;\n\n constructor(\n private widgetsService: WidgetsService,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {}\n\n ngAfterViewInit() {\n /* eslint-disable */\n if (this.message.widget) {\n const widget = this.widgetsService.getWidgetComponentByName(\n this.message.widget\n );\n if (!widget) {\n return;\n }\n const viewContainerRef = this.widgetHost.viewContainerRef;\n viewContainerRef.clear();\n const componentToShow =\n this.componentFactoryResolver.resolveComponentFactory(widget);\n const componentRef: ComponentRef<typeof widget> =\n viewContainerRef.createComponent(componentToShow);\n componentRef.instance.message = this.message;\n componentRef.instance.messenger = this.messenger;\n componentRef.changeDetectorRef.detectChanges();\n }\n /* eslint-enable */\n }\n}\n","<div class=\"rtsee-message-container\" [ngClass]=\"{'rtsee-from-me': message.from !== chat.receiverId}\">\n <div class=\"rtsee-messenger-message\">\n <ng-template widgetHost></ng-template>\n <p *ngIf=\"!message.widget\">{{ message.text }}</p>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-messages-list',\n templateUrl: './messages-list.component.html',\n styleUrls: ['./messages-list.component.css'],\n})\nexport class MessagesListComponent {\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-messenger-messages-list\">\n <div class=\"rtsee-messenger-message-wrapper\" *ngFor=\"let message of chat.messages\">\n <ngx-message [message]=\"message\" [messenger]=\"messenger\" [chat]=\"chat\"></ngx-message>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-chat-input',\n templateUrl: './chat-input.component.html',\n styleUrls: ['./chat-input.component.css'],\n})\nexport class ChatInputComponent {\n sendMessageForm: FormGroup = new FormGroup({\n /* eslint-disable */\n message: new FormControl('', Validators.required),\n /* eslint-enable */\n });\n\n @Input() messenger!: RTSeeMessenger;\n @Input() chat!: RTSeeChat;\n\n sendMessage() {\n const text = this.sendMessageForm.get('message')?.value as string;\n if (!text) {\n return;\n }\n this.chat.sendMessage(text);\n this.sendMessageForm.get('message')?.setValue('');\n }\n}\n","<div class=\"rtsee-chat-input\">\n <div class=\"rtsee-send-message\">\n <form [formGroup]=\"sendMessageForm\">\n <input placeholder=\"Type message...\" type=\"text\" formControlName=\"message\" required>\n <button (click)=\"sendMessage()\"\n class=\"rtsee-send-message-button\"\n type=\"submit\">\n <span>Send</span>\n </button>\n </form>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-chat',\n templateUrl: './chat.component.html',\n styleUrls: ['./chat.component.css'],\n})\nexport class ChatComponent {\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-chat\">\n <div class=\"rtsee-chat-body-container\">\n <ngx-messages-list [messenger]=\"messenger\" [chat]=\"chat\"></ngx-messages-list>\n </div>\n <div class=\"input-container\">\n <ngx-chat-input [messenger]=\"messenger\" [chat]=\"chat\"></ngx-chat-input>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'ngx-messenger',\n templateUrl: './messenger.component.html',\n styleUrls: ['./messenger.component.scss'],\n})\nexport class MessengerComponent {\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-messenger\">\n <div class=\"rtsee-messenger-header-container\">\n <ngx-messenger-header [messenger]=\"messenger\"></ngx-messenger-header>\n </div>\n <div class=\"rtsee-messenger-body-container\">\n <ngx-chats-list *ngIf=\"!messenger.openedChat\" [chats]=\"messenger.chats\" [messenger]=\"messenger\"></ngx-chats-list>\n <ngx-chat *ngIf=\"messenger.openedChat\" [messenger]=\"messenger\" [chat]=\"messenger.openedChat\"></ngx-chat>\n </div>\n</div>\n\n\n","import { Injectable } from '@angular/core';\n\nimport * as dayjs from 'dayjs';\nimport * as relativeTime from 'dayjs/plugin/relativeTime';\ndayjs.extend(relativeTime);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TimeFormatHelperService {\n toAgo(time: Date): string {\n /* eslint-disable */\n return dayjs(time).fromNow() as string;\n /* eslint-enable */\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport {\n RTSeeDashboardClient,\n RTSeeEventsDashboard,\n} from '@rtsee/events-manager';\nimport { TimeFormatHelperService } from '../../../../services/time-format-helper.service';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard-client-thumbnail',\n templateUrl: './rtsee-events-dashboard-client-thumbnail.component.html',\n styleUrls: ['./rtsee-events-dashboard-client-thumbnail.component.scss'],\n})\nexport class RtseeEventsDashboardClientThumbnailComponent implements OnInit {\n @Input() dashboard!: RTSeeEventsDashboard;\n @Input() client!: RTSeeDashboardClient;\n\n constructor(public timeFormatService: TimeFormatHelperService) {}\n\n ngOnInit(): void {\n console.log('client id', this.client.id);\n }\n\n openChat() {\n this.dashboard.openChat(this.client);\n }\n}\n","<div class=\"rtsee-dashboard-client-thumbnail\">\n <span class=\"rtsee-dashboard-client-id\" *ngIf=\"client.name\">{{ client.id }}</span>\n <span class=\"rtsee-dashboard-client-name\">{{ client.name || client.id }}</span>\n <div class=\"rtsee-dashboard-client-live\" *ngIf=\"client.isConnected\"></div>\n <div class=\"rtsee-dashboard-client-thumbnail-events\">\n <details *ngIf=\"client.events && client.events.length\">\n <summary>Last event: {{client.events[0].name}} ({{ timeFormatService.toAgo(client.events[0].createdAt) }})</summary>\n <ul>\n <li *ngFor=\"let event of client.events.slice(1, client.events.length)\" class=\"rtsee-dashboard-client-thumbnail-event\">\n <span>{{event.name}}</span>\n <span> </span>\n <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>\n </li>\n </ul>\n </details>\n <div class=\"rtsee-dashboard-client-thumbnail-actions\">\n <button (click)=\"openChat()\">Chat</button>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeEventsDashboard } from '@rtsee/events-manager';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard',\n templateUrl: './rtsee-events-dashboard.component.html',\n styleUrls: ['./rtsee-events-dashboard.component.scss'],\n})\nexport class RtseeEventsDashboardComponent {\n @Input() eventsDashboard!: RTSeeEventsDashboard;\n}\n","<div class=\"rtsee-events-dashboard\">\n <p>Client id: {{ eventsDashboard.signalingClient.getMyPeerId() }}</p>\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","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-rtsee-peers-list',\n templateUrl: './rtsee-peers-list.component.html',\n styleUrls: ['./rtsee-peers-list.component.scss'],\n})\nexport class RtseePeersListComponent {}\n","<p>rtsee-peers-list works!</p>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard-client',\n templateUrl: './rtsee-events-dashboard-client.component.html',\n styleUrls: ['./rtsee-events-dashboard-client.component.css'],\n})\nexport class RtseeEventsDashboardClientComponent {}\n","<p>rtsee-events-dashboard-client works!</p>\n","import { NgModule } from '@angular/core';\nimport { RTSeeComponent } from './components/rtsee/rtsee.component';\nimport { RTSeeControlsComponent } from './components/rtsee/rtsee-controls/rtsee-controls.component';\nimport { CommonModule } from '@angular/common';\nimport { RtseePeerComponent } from './components/rtsee-peer/rtsee-peer.component';\nimport { RtseeSoundbarComponent } from './components/rtsee-soundbar/rtsee-soundbar.component';\nimport { RtseePeersListComponent } from './components/rtsee-peers-list/rtsee-peers-list.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RtseeSettingsComponent } from './components/rtsee-settings/rtsee-settings.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MessengerComponent } from './components/rtsee-messenger/messenger/messenger.component';\nimport { ChatComponent } from './components/rtsee-messenger/chat/chat.component';\nimport { MessageComponent } from './components/rtsee-messenger/message/message.component';\nimport { ChatsListComponent } from './components/rtsee-messenger/chats-list/chats-list.component';\nimport { MessagesListComponent } from './components/rtsee-messenger/messages-list/messages-list.component';\nimport { ChatThumbnailComponent } from './components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component';\nimport { ChatInputComponent } from './components/rtsee-messenger/chat-input/chat-input.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MessengerHeaderComponent } from './components/rtsee-messenger/messenger-header/messenger-header.component';\nimport { RtseeEventsDashboardComponent } from './components/rtsee-events-dashboard/rtsee-events-dashboard.component';\nimport { RtseeEventsDashboardClientComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component';\nimport { RtseeEventsDashboardClientThumbnailComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component';\nimport { WidgetDirective } from './directives/widget.directive';\nimport { CallWidgetComponent } from './components/rtsee-messenger/message-widgets/call-widget/call-widget.component';\n\n@NgModule({\n declarations: [\n RTSeeComponent,\n RTSeeControlsComponent,\n RtseePeerComponent,\n RtseeSoundbarComponent,\n RtseePeersListComponent,\n RtseeSettingsComponent,\n MessengerComponent,\n ChatComponent,\n MessageComponent,\n ChatsListComponent,\n MessagesListComponent,\n ChatThumbnailComponent,\n ChatInputComponent,\n MessengerHeaderComponent,\n RtseeEventsDashboardComponent,\n RtseeEventsDashboardClientComponent,\n RtseeEventsDashboardClientThumbnailComponent,\n WidgetDirective,\n CallWidgetComponent,\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatSelectModule,\n BrowserAnimationsModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n ],\n exports: [RTSeeComponent, MessengerComponent, RtseeEventsDashboardComponent],\n})\nexport class RTSeeModule {}\n","/*\n * Public API Surface of ngx\n */\n\nexport * from './lib/ngx.service';\nexport * from './lib/components/rtsee/rtsee-controls/rtsee-controls.component';\nexport * from './lib/components/rtsee/rtsee.component';\nexport * from './lib/components/rtsee-messenger/messenger/messenger.component';\nexport * from './lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component';\nexport * from './lib/ngx.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Injectable","Component","Input","interval","ViewChild","Directive","FormGroup","FormControl","Validators","dayjs","relativeTime","CommonModule","MatIconModule","MatButtonModule","MatSelectModule","BrowserAnimationsModule","MatFormFieldModule","ReactiveFormsModule","NgModule"],"mappings":"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"}
|
|
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
24
24
|
}], fullScreenMode: [{
|
|
25
25
|
type: Input
|
|
26
26
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtY29udHJvbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS9ydHNlZS1jb250cm9scy9ydHNlZS1jb250cm9scy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlL3J0c2VlLWNvbnRyb2xzL3J0c2VlLWNvbnRyb2xzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVFqRCxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRTtZQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O21IQVJVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHdIQ1JuQywwb0VBMERBOzJGRGxEYSxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7aUJBQy9DOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUlRTZWVWaWRlb0NoYXQgfSBmcm9tICdAcnRzZWUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1ydHNlZS1jb250cm9scycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydHNlZS1jb250cm9scy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3J0c2VlLWNvbnRyb2xzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJUU2VlQ29udHJvbHNDb21wb25lbnQge1xuICBASW5wdXQoKSBydHNlZSE6IFJUU2VlVmlkZW9DaGF0O1xuICBASW5wdXQoKSBmdWxsU2NyZWVuTW9kZT86IGJvb2xlYW47XG5cbiAgb25QcmVzZW50Q2xpY2tlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5ydHNlZS5pc1ByZXNlbnRlclxuICAgICAgPyB0aGlzLnJ0c2VlLnN0b3BTY3JlZW5TaGFyZSgpXG4gICAgICA6IHRoaXMucnRzZWUuc3RhcnRTY3JlZW5TaGFyZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRzZWUtY29udHJvbHNcIiBbbmdDbGFzc109XCJ7J3J0c2VlLWZ1bGwtc2NyZWVuLWNvbnRyb2xzJyA6IGZ1bGxTY3JlZW5Nb2RlIH1cIj5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLWJvdHRvbS1wYW5lbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtaWMgcnRzZWUtYnV0dG9ucy1jb250YWluZXJcIj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICBjbGFzcz1cInJ0c2VlLXJpcHBsZS1idXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cInJ0c2VlLm1pY3JvcGhvbmVcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRoaXMucnRzZWUuZGlzYWJsZU1pY3JvcGhvbmUoKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5taWNfbm9uZTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4XG4gICAgICAgICAgICAgIGNsYXNzPVwicnRzZWUtcmlwcGxlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXJ0c2VlLm1pY3JvcGhvbmVcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRoaXMucnRzZWUuZW5hYmxlTWljcm9waG9uZSgpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPm1pY19vZmY8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJ2aWRlby1jYW1lcmEgcnRzZWUtYnV0dG9ucy1jb250YWluZXJcIj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICBjbGFzcz1cInJ0c2VlLXJpcHBsZS1idXR0b25cIlxuICAgICAgICAgICAgICAqbmdJZj1cInJ0c2VlLmNhbWVyYVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicnRzZWUuZGlzYWJsZUNhbWVyYSgpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnZpZGVvY2FtPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgY2xhc3M9XCJydHNlZS1yaXBwbGUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhcnRzZWUuY2FtZXJhXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJydHNlZS5lbmFibGVDYW1lcmEoKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj52aWRlb2NhbV9vZmY8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHJlc2VudCBydHNlZS1idXR0b25zLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsncnRzZWUtcHJlc2VudC1idXR0b24tY29udGFpbmVyJzogcnRzZWUuaXNQcmVzZW50ZXJ9XCI+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgY2xhc3M9XCJydHNlZS1yaXBwbGUtYnV0dG9uXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblByZXNlbnRDbGlja2VkKClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+cHJlc2VudF90b19hbGw8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FsbC1lbmQgcnRzZWUtYnV0dG9ucy1jb250YWluZXJcIj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICBjbGFzcz1cInJ0c2VlLXJpcHBsZS1idXR0b25cIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInJ0c2VlLmVuZCgpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmNhbGxfZW5kPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
30
30
|
}], ctorParameters: function () { return []; }, propDecorators: { rtSee: [{
|
|
31
31
|
type: Input
|
|
32
32
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS9ydHNlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlL3J0c2VlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVFqRCxNQUFNLE9BQU8sY0FBYztJQUt6QjtRQUNFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUN2RCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUMzRCxDQUFDOzsyR0FoQlUsY0FBYzsrRkFBZCxjQUFjLDZFQ1IzQixzNUZBc0VBOzJGRDlEYSxjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEM7MEVBS1UsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUlRTZWVWaWRlb0NoYXQgfSBmcm9tICdAcnRzZWUvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1ydHNlZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydHNlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3J0c2VlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJUU2VlQ29tcG9uZW50IHtcbiAgc2V0dGluZ3NWaWV3RW5hYmxlZDogYm9vbGVhbjtcbiAgZnVsbFNjcmVlbk1vZGVFbmFibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHJ0U2VlITogUlRTZWVWaWRlb0NoYXQ7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2V0dGluZ3NWaWV3RW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuZnVsbFNjcmVlbk1vZGVFbmFibGVkID0gZmFsc2U7XG4gIH1cblxuICB0b2dnbGVTZXR0aW5ncygpIHtcbiAgICB0aGlzLnNldHRpbmdzVmlld0VuYWJsZWQgPSAhdGhpcy5zZXR0aW5nc1ZpZXdFbmFibGVkO1xuICB9XG5cbiAgdG9nZ2xlRnVsbFNjcmVlbk1vZGUoKSB7XG4gICAgdGhpcy5mdWxsU2NyZWVuTW9kZUVuYWJsZWQgPSAhdGhpcy5mdWxsU2NyZWVuTW9kZUVuYWJsZWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydHNlZS1zaGVsbFwiIFtuZ0NsYXNzXT1cIntcbidydHNlZS1zaGVsbC1leHBhbmRlZCc6IHJ0U2VlLnVpQ29udHJvbHMuaXNFeHBhbmRlZCB8fCBmdWxsU2NyZWVuTW9kZUVuYWJsZWQsXG4ncnRzZWUtc2hlbGwtbm8tY29tcGFuaW9ucyc6ICFydFNlZS5ydGNQZWVyQ29ubmVjdGlvbnMuY29ubmVjdGlvbnM/Lmxlbmd0aFxufVwiPlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtbG9jYWwtcGVlclwiICpuZ0lmPVwicnRTZWUubG9jYWxTdHJlYW0gJiYgcnRTZWUuY2FtZXJhXCI+XG4gICAgPHZpZGVvIGNsYXNzPVwicnRzZWUtbG9jYWwtdmlkZW9cIlxuICAgICAgICAgICBbYXV0b3BsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgIFttdXRlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgW3NyY09iamVjdF09XCJydFNlZS5sb2NhbFN0cmVhbVwiXG4gICAgICAgICAgIHBsYXlzaW5saW5lPVwidHJ1ZVwiXG4gICAgPjwvdmlkZW8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtd2luZG93LWNvbnRyb2xzXCI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4XG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0aGlzLnRvZ2dsZVNldHRpbmdzKClcIlxuICAgICAgICAgICAgY2xhc3M9XCJydHNlZS13aW5kb3ctY29udHJvbHMtYnV0dG9uIHJ0c2VlLXJpcHBsZS1idXR0b25cIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5zZXR0aW5nczwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRoaXMudG9nZ2xlRnVsbFNjcmVlbk1vZGUoKVwiXG4gICAgICAgICAgICBjbGFzcz1cInJ0c2VlLXdpbmRvdy1jb250cm9scy1idXR0b24gcnRzZWUtcmlwcGxlLWJ1dHRvblwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPm9wZW5faW5fZnVsbDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJydHNlZS1zZXR0aW5ncy1jb250YWluZXJcIiAqbmdJZj1cInNldHRpbmdzVmlld0VuYWJsZWRcIj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXhcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRoaXMudG9nZ2xlU2V0dGluZ3MoKVwiXG4gICAgICAgICAgICBjbGFzcz1cInJ0c2VlLWNsb3NlLXNldHRpbmdzLWJ1dHRvblwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmNsb3NlPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxuZ3gtcnRzZWUtc2V0dGluZ3MgW3J0U2VlXT1cInJ0U2VlXCIgW2Z1bGxTY3JlZW5Nb2RlXT1cImZ1bGxTY3JlZW5Nb2RlRW5hYmxlZFwiPjwvbmd4LXJ0c2VlLXNldHRpbmdzPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLXNjcmVlbi1zaGFyZVwiICpuZ0lmPVwicnRTZWUuc2NyZWVuU2hhcmVQZWVyXCIgPlxuICAgIDx2aWRlbyBbYXV0b3BsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgIFttdXRlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgW3NyY09iamVjdF09XCJydFNlZS5zY3JlZW5TaGFyZVBlZXIucmVtb3RlVmlkZW9TdHJlYW1cIlxuICAgICAgICAgICBwbGF5c2lubGluZT1cInRydWVcIlxuICAgICAgICAgICBjbGFzcz1cInJ0c2VlLXNjcmVlbi1zaGFyZS12aWRlb1wiXG4gICAgPjwvdmlkZW8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtcGVlcnNcIiBbbmdDbGFzc109XCJ7XG4gICAgJ3J0c2VlLXBlZXJzLWFsb25lJzogIXJ0U2VlLnJ0Y1BlZXJDb25uZWN0aW9ucy5jb25uZWN0aW9ucz8ubGVuZ3RoLFxuICAgICdydHNlZS1wZWVycy1vbmUnOiBydFNlZS5ydGNQZWVyQ29ubmVjdGlvbnMuY29ubmVjdGlvbnM/Lmxlbmd0aCA9PT0gMSxcbiAgICAncnRzZWUtcGVlcnMtdGhyZWUtZ3JpZCc6IHJ0U2VlLnJ0Y1BlZXJDb25uZWN0aW9ucy5jb25uZWN0aW9ucz8ubGVuZ3RoXG4gICAgICAmJiBydFNlZS5ydGNQZWVyQ29ubmVjdGlvbnMuY29ubmVjdGlvbnMubGVuZ3RoID4gMVxuICAgICAgJiYgcnRTZWUucnRjUGVlckNvbm5lY3Rpb25zLmNvbm5lY3Rpb25zLmxlbmd0aCA8IDQsXG4gICAgJ3J0c2VlLXBlZXJzLXNpeC1ncmlkJzogcnRTZWUucnRjUGVlckNvbm5lY3Rpb25zLmNvbm5lY3Rpb25zPy5sZW5ndGhcbiAgICAgICYmIHJ0U2VlLnJ0Y1BlZXJDb25uZWN0aW9ucy5jb25uZWN0aW9ucy5sZW5ndGggPiAzXG4gICAgICAmJiBydFNlZS5ydGNQZWVyQ29ubmVjdGlvbnMuY29ubmVjdGlvbnMubGVuZ3RoIDwgNyxcbiAgICAncnRzZWUtcGVlcnMtbmluZS1ncmlkJzogcnRTZWUucnRjUGVlckNvbm5lY3Rpb25zLmNvbm5lY3Rpb25zPy5sZW5ndGhcbiAgICAgICYmIHJ0U2VlLnJ0Y1BlZXJDb25uZWN0aW9ucy5jb25uZWN0aW9ucy5sZW5ndGggPj0gN1xuICB9XCI+XG4gICAgPGRpdiBjbGFzcz1cInJ0c2VlLXBlZXItd3JhcHBlclwiXG4gICAgICAgICAqbmdGb3I9XCJsZXQgcGVlciBvZiBydFNlZS5ydGNQZWVyQ29ubmVjdGlvbnMuY29ubmVjdGlvbnNcIlxuICAgID5cbiAgICAgIDxuZ3gtcnRzZWUtcGVlciBbcGVlcl09XCJwZWVyXCI+PC9uZ3gtcnRzZWUtcGVlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJydHNlZS1wZWVycy1saXN0XCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJydHNlZS1jb250cm9scy13cmFwcGVyXCI+XG4gICAgPG5neC1ydHNlZS1jb250cm9scyBbcnRzZWVdPVwicnRTZWVcIiBbZnVsbFNjcmVlbk1vZGVdPVwiZnVsbFNjcmVlbk1vZGVFbmFibGVkXCI+PC9uZ3gtcnRzZWUtY29udHJvbHM+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
|
|
@@ -7,7 +7,7 @@ export class RtseeEventsDashboardClientThumbnailComponent {
|
|
|
7
7
|
this.timeFormatService = timeFormatService;
|
|
8
8
|
}
|
|
9
9
|
ngOnInit() {
|
|
10
|
-
console.log(this.client);
|
|
10
|
+
console.log('client id', this.client.id);
|
|
11
11
|
}
|
|
12
12
|
openChat() {
|
|
13
13
|
this.dashboard.openChat(this.client);
|
|
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
27
27
|
}], client: [{
|
|
28
28
|
type: Input
|
|
29
29
|
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVl6RCxNQUFNLE9BQU8sNENBQTRDO0lBSXZELFlBQW1CLGlCQUEwQztRQUExQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO0lBQUcsQ0FBQztJQUVqRSxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDOzt5SUFaVSw0Q0FBNEM7NkhBQTVDLDRDQUE0Qyx5SUNaekQsb2dDQW9CQTsyRkRSYSw0Q0FBNEM7a0JBTHhELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZDQUE2QztvQkFDdkQsV0FBVyxFQUFFLDBEQUEwRDtvQkFDdkUsU0FBUyxFQUFFLENBQUMsMERBQTBELENBQUM7aUJBQ3hFOzhHQUVVLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBSVFNlZURhc2hib2FyZENsaWVudCxcbiAgUlRTZWVFdmVudHNEYXNoYm9hcmQsXG59IGZyb20gJ0BydHNlZS9ldmVudHMtbWFuYWdlcic7XG5pbXBvcnQgeyBUaW1lRm9ybWF0SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3RpbWUtZm9ybWF0LWhlbHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUnRzZWVFdmVudHNEYXNoYm9hcmRDbGllbnRUaHVtYm5haWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXNoYm9hcmQhOiBSVFNlZUV2ZW50c0Rhc2hib2FyZDtcbiAgQElucHV0KCkgY2xpZW50ITogUlRTZWVEYXNoYm9hcmRDbGllbnQ7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHRpbWVGb3JtYXRTZXJ2aWNlOiBUaW1lRm9ybWF0SGVscGVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnY2xpZW50IGlkJywgdGhpcy5jbGllbnQuaWQpO1xuICB9XG5cbiAgb3BlbkNoYXQoKSB7XG4gICAgdGhpcy5kYXNoYm9hcmQub3BlbkNoYXQodGhpcy5jbGllbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRzZWUtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWxcIj5cbiAgPHNwYW4gY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LWlkXCIgKm5nSWY9XCJjbGllbnQubmFtZVwiPnt7IGNsaWVudC5pZCB9fTwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LW5hbWVcIj57eyBjbGllbnQubmFtZSB8fCBjbGllbnQuaWQgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LWxpdmVcIiAqbmdJZj1cImNsaWVudC5pc0Nvbm5lY3RlZFwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwtZXZlbnRzXCI+XG4gICAgPGRldGFpbHMgKm5nSWY9XCJjbGllbnQuZXZlbnRzICYmIGNsaWVudC5ldmVudHMubGVuZ3RoXCI+XG4gICAgICA8c3VtbWFyeT5MYXN0IGV2ZW50OiB7e2NsaWVudC5ldmVudHNbMF0ubmFtZX19ICh7eyB0aW1lRm9ybWF0U2VydmljZS50b0FnbyhjbGllbnQuZXZlbnRzWzBdLmNyZWF0ZWRBdCkgfX0pPC9zdW1tYXJ5PlxuICAgICAgPHVsPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGV2ZW50IG9mIGNsaWVudC5ldmVudHMuc2xpY2UoMSwgY2xpZW50LmV2ZW50cy5sZW5ndGgpXCIgY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC1ldmVudFwiPlxuICAgICAgICAgIDxzcGFuPnt7ZXZlbnQubmFtZX19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPiZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyB0aW1lRm9ybWF0U2VydmljZS50b0FnbyhldmVudC5jcmVhdGVkQXQpIH19PC9zcGFuPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2RldGFpbHM+XG4gICAgPGRpdiBjbGFzcz1cInJ0c2VlLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsLWFjdGlvbnNcIj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9wZW5DaGF0KClcIj5DaGF0PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/dist/ngx/esm2015/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.js
CHANGED
|
@@ -5,7 +5,7 @@ import * as i2 from "@angular/common";
|
|
|
5
5
|
export class RtseeEventsDashboardComponent {
|
|
6
6
|
}
|
|
7
7
|
RtseeEventsDashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: RtseeEventsDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
RtseeEventsDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeEventsDashboardComponent, selector: "ngx-rtsee-events-dashboard", inputs: { eventsDashboard: "eventsDashboard" }, ngImport: i0, 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", styles: [".rtsee-events-dashboard{background-color:#333;padding:16px}.rtsee-events-dashboard .rtsee-dashboard-client-id{display:inline-block;font-weight:600}.rtsee-events-dashboard .rtsee-events-dashboard-client-thumbnails .rtsee-events-dashboard-client-thumbnail-wrapper{margin-bottom:16px}.rtsee-events-dashboard .rtsee-events-dashboard-client-thumbnails .rtsee-events-dashboard-client-thumbnail-wrapper:last-of-type{margin-bottom:0}"], components: [{ type: i1.RtseeEventsDashboardClientThumbnailComponent, selector: "ngx-rtsee-events-dashboard-client-thumbnail", inputs: ["dashboard", "client"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
8
|
+
RtseeEventsDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: RtseeEventsDashboardComponent, selector: "ngx-rtsee-events-dashboard", inputs: { eventsDashboard: "eventsDashboard" }, ngImport: i0, template: "<div class=\"rtsee-events-dashboard\">\n <p>Client id: {{ eventsDashboard.signalingClient.getMyPeerId() }}</p>\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", styles: [".rtsee-events-dashboard{background-color:#333;padding:16px}.rtsee-events-dashboard .rtsee-dashboard-client-id{display:inline-block;font-weight:600}.rtsee-events-dashboard .rtsee-events-dashboard-client-thumbnails .rtsee-events-dashboard-client-thumbnail-wrapper{margin-bottom:16px}.rtsee-events-dashboard .rtsee-events-dashboard-client-thumbnails .rtsee-events-dashboard-client-thumbnail-wrapper:last-of-type{margin-bottom:0}"], components: [{ type: i1.RtseeEventsDashboardClientThumbnailComponent, selector: "ngx-rtsee-events-dashboard-client-thumbnail", inputs: ["dashboard", "client"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: RtseeEventsDashboardComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
11
11
|
args: [{
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
16
16
|
}], propDecorators: { eventsDashboard: [{
|
|
17
17
|
type: Input
|
|
18
18
|
}] } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFqRCxNQUFNLE9BQU8sNkJBQTZCOzswSEFBN0IsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsa0hDUjFDLDhmQVlBOzJGREphLDZCQUE2QjtrQkFMekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxXQUFXLEVBQUUseUNBQXlDO29CQUN0RCxTQUFTLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQztpQkFDdkQ7OEJBRVUsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJUU2VlRXZlbnRzRGFzaGJvYXJkIH0gZnJvbSAnQHJ0c2VlL2V2ZW50cy1tYW5hZ2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUnRzZWVFdmVudHNEYXNoYm9hcmRDb21wb25lbnQge1xuICBASW5wdXQoKSBldmVudHNEYXNoYm9hcmQhOiBSVFNlZUV2ZW50c0Rhc2hib2FyZDtcbn1cbiIsIjxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkXCI+XG4gIDxwPkNsaWVudCBpZDoge3sgZXZlbnRzRGFzaGJvYXJkLnNpZ25hbGluZ0NsaWVudC5nZXRNeVBlZXJJZCgpIH19PC9wPlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwtd3JhcHBlclwiXG4gICAgICAgICAqbmdGb3I9XCJsZXQgY2xpZW50IG9mIGV2ZW50c0Rhc2hib2FyZC5jbGllbnRzXCI+XG4gICAgICA8bmd4LXJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbFxuICAgICAgICBbY2xpZW50XT1cImNsaWVudFwiXG4gICAgICAgIFtkYXNoYm9hcmRdPVwiZXZlbnRzRGFzaGJvYXJkXCJcbiAgICAgID48L25neC1ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|