openvidu-testapp: Updated to Angular 14

ci: Updated testapp building 

openvidu-testapp: Added missing HTTPClient import

openvidu-testapp: Updated circular references stringifying a JSON
pull/772/head
Carlos Santos 2022-11-23 17:14:38 +01:00
parent 2985593391
commit f709eb8da9
34 changed files with 20194 additions and 23320 deletions

View File

@ -352,9 +352,9 @@ fi
# -------------
if [[ "${BUILD_OV_TESTAPP}" == true || "${EXECUTE_ALL}" == true ]]; then
pushd openvidu-testapp
npm install --legacy-peer-deps
npm link --legacy-peer-deps openvidu-browser openvidu-node-client
export NG_CLI_ANALYTICS="false" && export NODE_OPTIONS=--openssl-legacy-provider && ./node_modules/@angular/cli/bin/ng build --prod --output-path=/opt/openvidu/testapp
npm install
npm link openvidu-browser openvidu-node-client
export NG_CLI_ANALYTICS="false" && ./node_modules/@angular/cli/bin/ng.js build --configuration production --output-path=/opt/openvidu/testapp
popd
fi

View File

@ -4,6 +4,7 @@
/dist
/tmp
/out-tsc
.angular
# dependencies
/node_modules

View File

@ -18,9 +18,6 @@ Run `ng build` to build the project. The build artifacts will be stored in the `
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
## Running end-to-end tests
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
## Further help

View File

@ -15,7 +15,6 @@
"index": "src/index.html",
"main": "src/main.ts",
"tsConfig": "src/tsconfig.app.json",
"showCircularDependencies": false,
"polyfills": "src/polyfills.ts",
"assets": [
"src/assets",
@ -29,11 +28,19 @@
"scripts": []
},
"configurations": {
"development": {
"optimization": false,
"outputHashing": "all",
"sourceMap": true,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": false
},
"production": {
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
@ -51,14 +58,12 @@
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "openvidu-testapp:build",
"sourceMap": {
"scripts": true,
"styles": true,
"vendor": true
}
"browserTarget": "openvidu-testapp:build"
},
"configurations": {
"development": {
"browserTarget": "openvidu-testapp:build:development"
},
"production": {
"browserTarget": "openvidu-testapp:build:production"
}
@ -102,38 +107,12 @@
}
}
}
},
"openvidu-testapp-e2e": {
"root": "",
"sourceRoot": "",
"projectType": "application",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "./protractor.conf.js",
"devServerTarget": "openvidu-testapp:serve"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"e2e/tsconfig.e2e.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
}
},
"defaultProject": "openvidu-testapp",
"schematics": {
"@schematics/angular:component": {
"prefix": "app",
"styleext": "css"
"style": "css"
},
"@schematics/angular:directive": {
"prefix": "app"

View File

@ -1,14 +0,0 @@
import { AppPage } from './app.po';
describe('openvidu-testapp App', () => {
let page: AppPage;
beforeEach(() => {
page = new AppPage();
});
it('should display welcome message', () => {
page.navigateTo();
expect(page.getParagraphText()).toEqual('Welcome to app!');
});
});

View File

@ -1,11 +0,0 @@
import { browser, by, element } from 'protractor';
export class AppPage {
navigateTo() {
return browser.get('/');
}
getParagraphText() {
return element(by.css('app-root h1')).getText();
}
}

View File

@ -1,14 +0,0 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/e2e",
"baseUrl": "./",
"module": "commonjs",
"target": "es5",
"types": [
"jasmine",
"jasminewd2",
"node"
]
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,49 +1,50 @@
{
"dependencies": {
"@angular/animations": "8.2.14",
"@angular/cdk": "8.2.3",
"@angular/common": "8.2.14",
"@angular/compiler": "8.2.14",
"@angular/core": "8.2.14",
"@angular/flex-layout": "8.0.0-beta.27",
"@angular/forms": "8.2.14",
"@angular/http": "7.2.15",
"@angular/material": "8.2.3",
"@angular/platform-browser": "8.2.14",
"@angular/platform-browser-dynamic": "8.2.14",
"@angular/router": "8.2.14",
"colormap": "2.3.1",
"core-js": "3.4.7",
"hammerjs": "2.0.8",
"json-stringify-safe": "^5.0.1",
"openvidu-browser": "2.24.0",
"openvidu-node-client": "2.24.0",
"rxjs": "6.5.3",
"zone.js": "0.10.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "0.803.20",
"@angular/cli": "8.3.20",
"@angular/compiler-cli": "8.2.14",
"@angular/language-service": "8.2.14",
"@types/jasmine": "3.5.0",
"@types/jasminewd2": "2.0.8",
"@types/node": "12.12.14",
"codelyzer": "5.2.0",
"ts-node": "8.5.4",
"tslint": "5.20.1",
"typescript": "3.5.3"
},
"license": "Apache-2.0",
"name": "openvidu-testapp",
"private": true,
"scripts": {
"build": "NODE_OPTIONS=--openssl-legacy-provider ng build",
"e2e": "ng e2e",
"lint": "ng lint",
"ng": "ng",
"start": "NODE_OPTIONS=--openssl-legacy-provider ng serve --host 0.0.0.0 --ssl",
"test": "NODE_OPTIONS=--openssl-legacy-provider ng test"
},
"version": "2.24.0"
}
"dependencies": {
"@angular/animations": "14.2.12",
"@angular/cdk": "14.2.7",
"@angular/common": "14.2.12",
"@angular/compiler": "14.2.12",
"@angular/core": "14.2.12",
"@angular/flex-layout": "14.0.0-beta.41",
"@angular/forms": "14.2.12",
"@angular/material": "14.2.7",
"@angular/platform-browser": "14.2.12",
"@angular/platform-browser-dynamic": "14.2.12",
"@angular/router": "14.2.12",
"colormap": "2.3.2",
"core-js": "3.26.1",
"json-stringify-safe": "^5.0.1",
"openvidu-browser": "2.24.0",
"openvidu-node-client": "2.24.0",
"rxjs": "7.5.7",
"tslib": "^2.4.1",
"zone.js": "0.12.0"
},
"devDependencies": {
"@angular-devkit/build-angular": "14.2.10",
"@angular/cli": "14.2.10",
"@angular/compiler-cli": "14.2.12",
"@angular/language-service": "14.2.12",
"@types/jasmine": "4.3.0",
"@types/jasminewd2": "2.0.10",
"@types/json-stringify-safe": "^5.0.0",
"@types/node": "12.12.14",
"codelyzer": "6.0.2",
"ts-node": "8.5.4",
"tslint": "~6.1.3",
"typescript": "4.6.4"
},
"license": "Apache-2.0",
"name": "openvidu-testapp",
"private": true,
"scripts": {
"build": "ng build",
"e2e": "ng e2e",
"lint": "ng lint",
"ng": "ng",
"start:dev": "ng serve --open --configuration development",
"start": "ng serve --host 0.0.0.0 --ssl --configuration development",
"test": "ng test"
},
"version": "2.24.0"
}

View File

@ -1,28 +0,0 @@
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};

View File

@ -1,27 +1,26 @@
import { NgModule } from '@angular/core';
import { MatBadgeModule } from '@angular/material/badge';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatChipsModule } from '@angular/material/chips';
import { MatDialogModule } from '@angular/material/dialog';
import { MatExpansionModule } from '@angular/material/expansion';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatIconModule } from '@angular/material/icon';
import { MatInputModule } from '@angular/material/input';
import { MatListModule } from '@angular/material/list';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { MatRadioModule } from '@angular/material/radio';
import { MatSelectModule } from '@angular/material/select';
import { MatSidenavModule } from '@angular/material/sidenav';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { MatTableModule } from '@angular/material/table';
import { MatTabsModule } from '@angular/material/tabs';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatTooltipModule } from '@angular/material/tooltip';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import {
MatButtonModule,
MatIconModule,
MatCheckboxModule,
MatCardModule,
MatInputModule,
MatProgressSpinnerModule,
MatTooltipModule,
MatDialogModule,
MatToolbarModule,
MatTabsModule,
MatTableModule,
MatListModule,
MatRadioModule,
MatSelectModule,
MatChipsModule,
MatExpansionModule,
MatSlideToggleModule,
MatSidenavModule,
MatFormFieldModule,
MatBadgeModule
} from '@angular/material';
@NgModule({
exports: [

View File

@ -1,39 +1,39 @@
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FlexLayoutModule } from '@angular/flex-layout';
import { AppMaterialModule } from './app.material.module';
import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { FlexLayoutModule } from '@angular/flex-layout';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppMaterialModule } from './app.material.module';
import { routing } from './app.routing';
import { AppComponent } from './app.component';
import { TestSessionsComponent } from './components/test-sessions/test-sessions.component';
import { AppRoutingModule } from './app.routing';
import { OpenviduInstanceComponent } from './components/openvidu-instance/openvidu-instance.component';
import { TestApirestComponent } from './components/test-apirest/test-apirest.component';
import { TestScenariosComponent } from './components/test-scenarios/test-scenarios.component';
import { OpenviduInstanceComponent } from './components/openvidu-instance/openvidu-instance.component';
import { VideoComponent } from './components/video/video.component';
import { OpenViduVideoComponent } from './components/video/ov-video.component';
import { UsersTableComponent } from './components/users-table/users-table.component';
import { TestSessionsComponent } from './components/test-sessions/test-sessions.component';
import { TableVideoComponent } from './components/users-table/table-video.component';
import { UsersTableComponent } from './components/users-table/users-table.component';
import { OpenViduVideoComponent } from './components/video/ov-video.component';
import { VideoComponent } from './components/video/video.component';
import { EventsDialogComponent } from './components/dialogs/events-dialog/events-dialog.component';
import { ExtensionDialogComponent } from './components/dialogs/extension-dialog/extension-dialog.component';
import { LocalRecordingDialogComponent } from './components/dialogs/local-recording-dialog/local-recording-dialog.component';
import { SessionPropertiesDialogComponent } from './components/dialogs/session-properties-dialog/session-properties-dialog.component';
import { SessionApiDialogComponent } from './components/dialogs/session-api-dialog/session-api-dialog.component';
import { EventsDialogComponent } from './components/dialogs/events-dialog/events-dialog.component';
import { PublisherPropertiesDialogComponent } from './components/dialogs/publisher-properties-dialog/publisher-properties-dialog.component';
import { ScenarioPropertiesDialogComponent } from './components/dialogs/scenario-properties-dialog/scenario-properties-dialog.component';
import { OtherStreamOperationsDialogComponent } from './components/dialogs/other-stream-operations-dialog/other-stream-operations-dialog.component';
import { ShowCodecDialogComponent } from './components/dialogs/show-codec-dialog/show-codec-dialog.component';
import { PublisherPropertiesDialogComponent } from './components/dialogs/publisher-properties-dialog/publisher-properties-dialog.component';
import { RecordingPropertiesComponent } from './components/dialogs/recording-properties/recording-properties.component';
import { ScenarioPropertiesDialogComponent } from './components/dialogs/scenario-properties-dialog/scenario-properties-dialog.component';
import { SessionApiDialogComponent } from './components/dialogs/session-api-dialog/session-api-dialog.component';
import { SessionPropertiesDialogComponent } from './components/dialogs/session-properties-dialog/session-properties-dialog.component';
import { ShowCodecDialogComponent } from './components/dialogs/show-codec-dialog/show-codec-dialog.component';
import { OpenviduRestService } from './services/openvidu-rest.service';
import { OpenviduParamsService } from './services/openvidu-params.service';
import { TestFeedService } from './services/test-feed.service';
import { MuteSubscribersService } from './services/mute-subscribers.service';
import { SessionInfoDialogComponent } from "./components/dialogs/session-info-dialog/session-info-dialog.component";
import { ShowIceServerConfiguredDialog } from './components/dialogs/show-configured-ice/show-configured-ice.component';
import { MuteSubscribersService } from './services/mute-subscribers.service';
import { OpenviduParamsService } from './services/openvidu-params.service';
import { OpenviduRestService } from './services/openvidu-rest.service';
import { TestFeedService } from './services/test-feed.service';
@NgModule({
declarations: [
@ -66,7 +66,7 @@ import { ShowIceServerConfiguredDialog } from './components/dialogs/show-configu
AppMaterialModule,
FlexLayoutModule,
HttpClientModule,
routing
AppRoutingModule
],
providers: [
OpenviduRestService,
@ -74,19 +74,6 @@ import { ShowIceServerConfiguredDialog } from './components/dialogs/show-configu
TestFeedService,
MuteSubscribersService
],
entryComponents: [
ExtensionDialogComponent,
SessionPropertiesDialogComponent,
SessionApiDialogComponent,
EventsDialogComponent,
LocalRecordingDialogComponent,
PublisherPropertiesDialogComponent,
ScenarioPropertiesDialogComponent,
OtherStreamOperationsDialogComponent,
ShowCodecDialogComponent,
ShowIceServerConfiguredDialog,
SessionInfoDialogComponent
],
bootstrap: [AppComponent]
})
export class AppModule { }

View File

@ -1,9 +1,9 @@
import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { TestSessionsComponent } from './components/test-sessions/test-sessions.component';
import { TestScenariosComponent } from './components/test-scenarios/test-scenarios.component';
import { TestApirestComponent } from './components/test-apirest/test-apirest.component';
import { TestScenariosComponent } from './components/test-scenarios/test-scenarios.component';
import { TestSessionsComponent } from './components/test-sessions/test-sessions.component';
const appRoutes: Routes = [
{
@ -23,4 +23,9 @@ const appRoutes: Routes = [
}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes, { useHash: true });
@NgModule({
imports: [RouterModule.forRoot(appRoutes, { useHash: true })],
exports: [RouterModule]
})
export class AppRoutingModule {}

View File

@ -1,5 +1,6 @@
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
@Component({
selector: 'app-events-dialog',

View File

@ -1,5 +1,5 @@
import { Component, Inject } from '@angular/core';
import { MatDialog, MAT_DIALOG_DATA, MatDialogConfig } from '@angular/material';
import { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';
@Component({
selector: 'app-extension-dialog',

View File

@ -1,5 +1,5 @@
import { Component, Inject } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { LocalRecorder } from 'openvidu-browser';
@Component({

View File

@ -1,7 +1,7 @@
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { Session, Stream, FilterEvent } from 'openvidu-browser';
import { FilterEvent, Session, Stream } from 'openvidu-browser';
@Component({
selector: 'app-session-api-dialog',

View File

@ -1,15 +1,15 @@
import { Component, Inject } from '@angular/core';
import { MatDialogRef, MAT_CHECKBOX_CLICK_ACTION, MAT_DIALOG_DATA } from '@angular/material';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { PublisherProperties, OpenVidu, Filter } from 'openvidu-browser';
import { Filter, OpenVidu, PublisherProperties } from 'openvidu-browser';
@Component({
selector: 'app-publisher-properties-dialog',
templateUrl: './publisher-properties-dialog.component.html',
styleUrls: ['./publisher-properties-dialog.component.css'],
providers: [
{ provide: MAT_CHECKBOX_CLICK_ACTION, useValue: 'noop' }
]
// providers: [
// { provide: MAT_CHECKBOX_CLICK_ACTION, useValue: 'noop' }
// ]
})
export class PublisherPropertiesDialogComponent {

View File

@ -1,15 +1,15 @@
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef, MAT_CHECKBOX_CLICK_ACTION } from '@angular/material';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { PublisherProperties, OpenVidu } from 'openvidu-browser';
import { OpenVidu, PublisherProperties } from 'openvidu-browser';
@Component({
selector: 'app-scenario-properties-dialog',
templateUrl: './scenario-properties-dialog.component.html',
styleUrls: ['./scenario-properties-dialog.component.css'],
providers: [
{ provide: MAT_CHECKBOX_CLICK_ACTION, useValue: 'noop' }
]
// providers: [
// { provide: MAT_CHECKBOX_CLICK_ACTION, useValue: 'noop' }
// ]
})
export class ScenarioPropertiesDialogComponent {

View File

@ -1,7 +1,7 @@
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { OpenVidu as OpenViduAPI, Session as SessionAPI, RecordingProperties, ConnectionProperties, OpenViduRole } from 'openvidu-node-client';
import { ConnectionProperties, OpenVidu as OpenViduAPI, OpenViduRole, RecordingProperties, Session as SessionAPI } from 'openvidu-node-client';
@Component({
selector: 'app-session-api-dialog',

View File

@ -1,7 +1,7 @@
import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
import { SessionProperties, MediaMode, Recording, RecordingMode, RecordingLayout, ConnectionProperties, VideoCodec } from 'openvidu-node-client';
import { ConnectionProperties, MediaMode, Recording, RecordingLayout, RecordingMode, SessionProperties, VideoCodec } from 'openvidu-node-client';
@Component({
selector: 'app-session-properties-dialog',

View File

@ -1,5 +1,5 @@
import { Component, Inject } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
@Component({
selector: 'app-codec-used-dialog',

View File

@ -1,5 +1,5 @@
import { Component, Inject } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
@Component({

View File

@ -1,34 +1,19 @@
import {
Component, Input, HostListener, ChangeDetectorRef, SimpleChanges,
OnInit, OnDestroy, OnChanges
} from '@angular/core';
import { ChangeDetectorRef, Component, HostListener, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { ConnectionEvent, ConnectionPropertyChangedEvent, Event, ExceptionEvent, NetworkQualityLevelChangedEvent, OpenVidu, OpenViduAdvancedConfiguration, OpenViduError, Publisher, PublisherProperties, PublisherSpeakingEvent, RecordingEvent, Session, SessionDisconnectedEvent, SignalEvent, SpeechToTextEvent, StreamEvent, StreamPropertyChangedEvent, Subscriber } from 'openvidu-browser';
import {
OpenVidu, Session, Subscriber, Publisher, Event, StreamEvent, ConnectionEvent,
SessionDisconnectedEvent, SignalEvent, RecordingEvent,
PublisherSpeakingEvent, PublisherProperties, StreamPropertyChangedEvent, ConnectionPropertyChangedEvent, OpenViduError, NetworkQualityLevelChangedEvent, ExceptionEvent, OpenViduAdvancedConfiguration, SpeechToTextEvent
} from 'openvidu-browser';
import {
OpenVidu as OpenViduAPI,
Session as SessionAPI,
SessionProperties as SessionPropertiesAPI,
MediaMode,
RecordingMode,
RecordingLayout,
Connection,
ConnectionProperties,
OpenViduRole,
RecordingProperties,
Recording,
ConnectionProperties, MediaMode, OpenVidu as OpenViduAPI, OpenViduRole, Recording, RecordingLayout, RecordingMode, RecordingProperties, Session as SessionAPI,
SessionProperties as SessionPropertiesAPI
} from 'openvidu-node-client';
import { MatDialog, MAT_CHECKBOX_CLICK_ACTION } from '@angular/material';
import { ExtensionDialogComponent } from '../dialogs/extension-dialog/extension-dialog.component';
import { TestFeedService } from '../../services/test-feed.service';
import { EventsDialogComponent } from '../dialogs/events-dialog/events-dialog.component';
import { SessionPropertiesDialogComponent } from '../dialogs/session-properties-dialog/session-properties-dialog.component';
import { SessionApiDialogComponent } from '../dialogs/session-api-dialog/session-api-dialog.component';
import { ExtensionDialogComponent } from '../dialogs/extension-dialog/extension-dialog.component';
import { PublisherPropertiesDialogComponent } from '../dialogs/publisher-properties-dialog/publisher-properties-dialog.component';
import { SessionApiDialogComponent } from '../dialogs/session-api-dialog/session-api-dialog.component';
import { SessionInfoDialogComponent } from "../dialogs/session-info-dialog/session-info-dialog.component";
import { SessionPropertiesDialogComponent } from '../dialogs/session-properties-dialog/session-properties-dialog.component';
export interface SessionConf {
@ -47,9 +32,9 @@ export interface OpenViduEvent {
selector: 'app-openvidu-instance',
templateUrl: './openvidu-instance.component.html',
styleUrls: ['./openvidu-instance.component.css'],
providers: [
{ provide: MAT_CHECKBOX_CLICK_ACTION, useValue: 'noop' }
]
// providers: [
// { provide: MAT_CHECKBOX_CLICK_ACTION, useValue: 'noop' }
// ]
})
export class OpenviduInstanceComponent implements OnInit, OnChanges, OnDestroy {

View File

@ -29,6 +29,6 @@
<button *ngIf="!!textAreaValue && !isFocusedOnReport" id="update-report-btn" class="report-btn" mat-mini-fab color="primary" (click)="$event.stopPropagation(); updateRemoteStreamsInfo()">
<mat-icon aria-label="Update stream info">replay</mat-icon>
</button>
<textarea matInput readonly [value]="textAreaValue" [mat-autosize]="true" [disabled]="!textAreaValue"></textarea>
<textarea matInput readonly [value]="textAreaValue" [disabled]="!textAreaValue"></textarea>
</mat-form-field>
</div>

View File

@ -1,28 +1,21 @@
import { Component, OnInit, OnDestroy } from '@angular/core';
import { MatDialog } from '@angular/material';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Component, OnDestroy, OnInit } from '@angular/core';
import { Subscription } from 'rxjs';
import { SessionConf } from '../openvidu-instance/openvidu-instance.component';
import { OpenviduParamsService } from '../../services/openvidu-params.service';
import { TestFeedService } from '../../services/test-feed.service';
import { ScenarioPropertiesDialogComponent } from '../dialogs/scenario-properties-dialog/scenario-properties-dialog.component';
import { SessionConf } from '../openvidu-instance/openvidu-instance.component';
import { StreamManagerWrapper } from '../users-table/table-video.component';
import { MatDialog } from '@angular/material/dialog';
import {
OpenVidu,
Session,
ConnectionEvent, OpenVidu, PublisherProperties, Session,
StreamEvent,
StreamManagerEvent,
PublisherProperties,
ConnectionEvent
StreamManagerEvent
} from 'openvidu-browser';
import {
OpenVidu as OpenViduAPI,
SessionProperties as SessionPropertiesAPI,
MediaMode,
RecordingMode,
RecordingLayout
MediaMode, OpenVidu as OpenViduAPI, RecordingLayout, RecordingMode, SessionProperties as SessionPropertiesAPI
} from 'openvidu-node-client';
@Component({

View File

@ -8,7 +8,7 @@ import { StreamManager } from 'openvidu-browser';
})
export class OpenViduVideoComponent implements OnInit, AfterViewInit {
@ViewChild('videoElement', { static: false }) elementRef: ElementRef;
@ViewChild('videoElement') elementRef: ElementRef;
@Input() poster = '';
@Input() attrstyle = '';

View File

@ -1,29 +1,22 @@
import { Component, Input, OnInit, Output, EventEmitter, OnDestroy } from '@angular/core';
import { MatDialog, MatDialogRef } from '@angular/material';
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import { ShowCodecDialogComponent } from '../dialogs/show-codec-dialog/show-codec-dialog.component';
import {
StreamManager,
FilterEvent, OpenVidu,
Publisher, PublisherSpeakingEvent, StreamEvent, StreamManager,
StreamManagerEvent,
StreamPropertyChangedEvent,
VideoElementEvent,
Subscriber,
OpenVidu,
Publisher,
StreamEvent,
VideoInsertMode,
FilterEvent,
PublisherSpeakingEvent
StreamPropertyChangedEvent, Subscriber, VideoElementEvent, VideoInsertMode
} from 'openvidu-browser';
import { EventsDialogComponent } from '../dialogs/events-dialog/events-dialog.component';
import { MuteSubscribersService } from '../../services/mute-subscribers.service';
import { Subscription } from 'rxjs';
import { LocalRecordingDialogComponent } from '../dialogs/local-recording-dialog/local-recording-dialog.component';
import { MuteSubscribersService } from '../../services/mute-subscribers.service';
import { EventsDialogComponent } from '../dialogs/events-dialog/events-dialog.component';
import { ExtensionDialogComponent } from '../dialogs/extension-dialog/extension-dialog.component';
import { LocalRecordingDialogComponent } from '../dialogs/local-recording-dialog/local-recording-dialog.component';
import { OtherStreamOperationsDialogComponent } from '../dialogs/other-stream-operations-dialog/other-stream-operations-dialog.component';
import { OpenViduEvent } from '../openvidu-instance/openvidu-instance.component';
import { ShowIceServerConfiguredDialog } from '../dialogs/show-configured-ice/show-configured-ice.component';
import { OpenViduEvent } from '../openvidu-instance/openvidu-instance.component';
@Component({
selector: 'app-video',
@ -750,7 +743,7 @@ export class VideoComponent implements OnInit, OnDestroy {
});
dialogRef.componentInstance.myReference = dialogRef;
dialogRef.afterOpen().subscribe(() => {
dialogRef.afterOpened().subscribe(() => {
this.muteSubscribersService.updateMuted(true);
this.recorder.preview('recorder-preview').controls = true;
});

View File

@ -3,7 +3,7 @@ import { Subject } from 'rxjs';
import { Event } from 'openvidu-browser';
var stringify = require('json-stringify-safe');
import * as stringify from 'json-stringify-safe';
@Injectable()
export class TestFeedService {
@ -26,10 +26,10 @@ export class TestFeedService {
return stringify(event, (key, value) => {
// Remove unnecessary properties
if (key == 'ee' || key == 'openvidu' || key == 'userHandlerArrowHandler' || key == 'handlers') {
return
} else {
return value;
return undefined;
}
return value;
});
}

View File

@ -4,8 +4,6 @@ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import 'hammerjs';
if (environment.production) {
enableProdMode();
}

View File

@ -1,10 +1,10 @@
@import '~@angular/material/theming';
@use '@angular/material' as mat;
// Plus imports for other components in your app.
// Include the common styles for Angular Material. We include this here so that you only
// have to load a single css file for Angular Material in your app.
// Be sure that you only ever include this mixin once!
@include mat-core();
@include mat.core();
$mat-openvidu: (
50: #eaeaea,
@ -42,16 +42,16 @@ $mat-openvidu: (
// Define the palettes for your theme using the Material Design palettes available in palette.scss
// (imported above). For each palette, you can optionally specify a default, lighter, and darker
// hue.
$openvidu-primary: mat-palette($mat-openvidu);
$openvidu-accent: mat-palette($mat-openvidu, A200, A100, A400);
$openvidu-primary: mat.define-palette($mat-openvidu);
$openvidu-accent: mat.define-palette($mat-openvidu, A200, A100, A400);
// The warn palette is optional (defaults to red).
$openvidu-warn: mat-palette($mat-red);
$openvidu-warn: mat.define-palette(mat.$red-palette);
// Create the theme object (a Sass map containing all of the palettes).
$openvidu-theme: mat-light-theme($openvidu-primary, $openvidu-accent, $openvidu-warn);
$openvidu-theme: mat.define-light-theme($openvidu-primary, $openvidu-accent, $openvidu-warn);
// Include theme styles for core and each component used in your app.
// Alternatively, you can import and @include the theme mixins for each component
// that you are using.
@include angular-material-theme($openvidu-theme);
@include mat.all-component-themes($openvidu-theme);

View File

@ -4,7 +4,7 @@
"outDir": "../out-tsc/spec",
"baseUrl": "./",
"module": "commonjs",
"target": "es5",
"target": "es2020",
"types": [
"jasmine",
"node"

View File

@ -7,7 +7,7 @@
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"target": "es2020",
"typeRoots": [
"node_modules/@types"
],

View File

@ -13,6 +13,9 @@
"curly": true,
"eofline": true,
"forin": true,
"deprecation": {
"severity": "warning"
},
"import-blacklist": [
true
],
@ -68,7 +71,6 @@
"no-trailing-whitespace": true,
"no-unnecessary-initializer": true,
"no-unused-expression": true,
"no-use-before-declare": true,
"no-var-keyword": true,
"object-literal-sort-keys": false,
"one-line": [