diff --git a/package.json b/package.json index a6e8d29cb4873e205b48d5e90d5137091619230d..cdebdf4484253576c0d0e1c99c46d21d9e5b653d 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@angular/platform-browser-dynamic": "~8.2.14", "@angular/router": "~8.2.14", "@types/file-saver": "^2.0.1", - "iqb-components": "1.5.0", + "iqb-components": "1.6.0", "core-js": "^3.6.4", "file-saver": "^2.0.2", "hammerjs": "^2.0.8", diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 97b8c11a99e2fe33d7d55855d3cc9e98c4748f06..fd48278b26e50123dd846e96a144e03f57de7f48 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,17 +1,15 @@ import { AboutComponent } from './about/about.component'; -import { SuperadminComponent } from './superadmin/superadmin.component'; import { StartComponent } from './start/start.component'; import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; -import { WorkspaceComponent } from './workspace'; const routes: Routes = [ {path: '', redirectTo: 'start', pathMatch: 'full'}, {path: 'start', component: StartComponent}, - {path: 'ws', component: WorkspaceComponent}, {path: 'about', component: AboutComponent}, - {path: 'superadmin', component: SuperadminComponent} + {path: 'ws', loadChildren: './workspace/workspace.module#WorkspaceModule'}, + {path: 'superadmin', loadChildren: './superadmin/superadmin.module#SuperadminModule'} ]; @NgModule({ diff --git a/src/app/app.interceptor.ts b/src/app/app.interceptor.ts index a3db39b83e0213829dccb09f63f6decb2175d23b..31dcca3df5be209fe8ca37b0bdd61e2257d5fce7 100644 --- a/src/app/app.interceptor.ts +++ b/src/app/app.interceptor.ts @@ -25,6 +25,7 @@ export class AuthInterceptor implements HttpInterceptor { } }); + console.log('AuthInterceptor'); return next.handle(requestA); } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 9804ce88186f95c1a5d58cb8875a3b4f96ce2266..083e75a0e5125c642d83068b3edd436b7dbf0458 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -23,12 +23,10 @@ import { MatTooltipModule } from '@angular/material/tooltip'; import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routing.module'; -import { WorkspaceModule } from './workspace'; import { StartComponent } from './start/start.component'; -import { SuperadminModule } from './superadmin'; import { FlexLayoutModule } from '@angular/flex-layout'; import { httpInterceptorProviders } from './app.interceptor'; -import {IqbComponents} from "iqb-components"; +import {IqbComponentsModule} from "iqb-components"; @NgModule({ declarations: [ @@ -53,10 +51,8 @@ import {IqbComponents} from "iqb-components"; MatTabsModule, ReactiveFormsModule, HttpClientModule, - WorkspaceModule, - SuperadminModule, AppRoutingModule, - IqbComponents, + IqbComponentsModule, MatCardModule, MatProgressSpinnerModule, FlexLayoutModule diff --git a/src/app/iqb-files/iqb-files.module.ts b/src/app/iqb-files/iqb-files.module.ts index becf4803c2fda4f330fe7124fa0e95d113bcb50b..02d6c9ab0c3f59e43d84dce17d0a7f35f5192a84 100644 --- a/src/app/iqb-files/iqb-files.module.ts +++ b/src/app/iqb-files/iqb-files.module.ts @@ -1,4 +1,3 @@ -import { IqbComponents } from 'iqb-components'; import { NgModule } from '@angular/core'; import { IqbFilesUploadComponent } from './iqbFilesUpload/iqbFilesUpload.component'; import { IqbFilesUploadQueueComponent } from './iqbFilesUploadQueue/iqbFilesUploadQueue.component'; @@ -8,8 +7,8 @@ import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; import { MatProgressBarModule } from '@angular/material/progress-bar'; import { MatIconModule } from '@angular/material/icon'; -import { HttpClientModule } from '@angular/common/http'; import { CommonModule } from '@angular/common'; +import {IqbComponentsModule} from "iqb-components"; @NgModule({ @@ -18,8 +17,7 @@ import { CommonModule } from '@angular/common'; MatProgressBarModule, MatIconModule, MatCardModule, - HttpClientModule, - IqbComponents, + IqbComponentsModule, CommonModule ], declarations: [ diff --git a/src/app/start/start.component.ts b/src/app/start/start.component.ts index 49f6131022281c639e524395e4ea8058f475d6b9..ba5b72ebafa9d14936321361e4377641a216af92 100644 --- a/src/app/start/start.component.ts +++ b/src/app/start/start.component.ts @@ -1,11 +1,11 @@ import { LoginData, WorkspaceData } from '../app.interfaces'; import { BackendService } from '../backend.service'; -import { ServerError } from 'iqb-components'; import { MainDataService } from '../maindata.service'; import { Router } from '@angular/router'; import { Component, OnInit, OnDestroy } from '@angular/core'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { Subscription } from 'rxjs'; +import {ServerError} from "iqb-components"; @Component({ diff --git a/src/app/superadmin/backend.service.ts b/src/app/superadmin/backend.service.ts index bb9817402eca212721f13e3f2fdbb16037f3e794..d902c4899bd0adeea0d5be7de59d1f048718320f 100644 --- a/src/app/superadmin/backend.service.ts +++ b/src/app/superadmin/backend.service.ts @@ -1,4 +1,4 @@ -import { Injectable, Inject } from '@angular/core'; +import {Injectable, Inject, SkipSelf} from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable, of } from 'rxjs'; import { catchError } from 'rxjs/operators'; @@ -11,7 +11,7 @@ export class BackendService { constructor( @Inject('SERVER_URL') private readonly serverUrl: string, - private http: HttpClient) { + @SkipSelf() private http: HttpClient) { this.serverUrl = this.serverUrl + 'php/sys.php/'; } diff --git a/src/app/superadmin/superadmin-routing.module.ts b/src/app/superadmin/superadmin-routing.module.ts index 8a09ecc7be2107f2c790f612ffb959dbad170599..edbabde86edf28d79a64465db97d6530510f884c 100644 --- a/src/app/superadmin/superadmin-routing.module.ts +++ b/src/app/superadmin/superadmin-routing.module.ts @@ -8,7 +8,7 @@ import { SuperadminComponent } from './superadmin.component'; const routes: Routes = [ { - path: 'superadmin', + path: '', component: SuperadminComponent, children: [ {path: '', redirectTo: 'users', pathMatch: 'full'}, diff --git a/src/app/superadmin/superadmin.module.ts b/src/app/superadmin/superadmin.module.ts index 7159f02a2e7a5b1ddf315617b86ecea7118bb8ec..2d0619c766f6004e27599909f7135321ec4d0cc8 100644 --- a/src/app/superadmin/superadmin.module.ts +++ b/src/app/superadmin/superadmin.module.ts @@ -1,5 +1,4 @@ import { NgModule } from '@angular/core'; -import { HttpClientModule } from '@angular/common/http'; import { CommonModule } from '@angular/common'; import { MatButtonModule } from '@angular/material/button'; import { MatCheckboxModule } from '@angular/material/checkbox'; @@ -23,12 +22,12 @@ import { WorkspacesComponent } from './workspaces/workspaces.component'; import { UsersComponent } from './users/users.component'; import { SuperadminComponent } from './superadmin.component'; import { BackendService } from './backend.service'; -import { IqbFilesModule } from '../iqb-files/iqb-files.module'; -import { IqbComponents } from 'iqb-components'; +import { IqbFilesModule } from '../iqb-files'; import { NewuserComponent } from './users/newuser/newuser.component'; import { NewpasswordComponent } from './users/newpassword/newpassword.component'; import { NewworkspaceComponent } from './workspaces/newworkspace/newworkspace.component'; import { EditworkspaceComponent } from './workspaces/editworkspace/editworkspace.component'; +import {IqbComponentsModule} from "iqb-components"; @NgModule({ @@ -36,14 +35,13 @@ import { EditworkspaceComponent } from './workspaces/editworkspace/editworkspace CommonModule, SuperadminRoutingModule, IqbFilesModule, - IqbComponents, + IqbComponentsModule, MatTableModule, MatTabsModule, MatIconModule, MatSelectModule, MatCheckboxModule, MatSortModule, - HttpClientModule, ReactiveFormsModule, MatProgressSpinnerModule, MatDialogModule, diff --git a/src/app/superadmin/users/users.component.ts b/src/app/superadmin/users/users.component.ts index a4ac3999a4f501da6e60ec2942daa9c3b353ea05..4cc23e19fa39d3941801a75e8faa0d21b3edcddf 100644 --- a/src/app/superadmin/users/users.component.ts +++ b/src/app/superadmin/users/users.component.ts @@ -10,8 +10,10 @@ import { MatSnackBar } from '@angular/material/snack-bar'; import { MatSort } from '@angular/material/sort'; import { FormGroup } from '@angular/forms'; import { SelectionModel } from '@angular/cdk/collections'; -import { ConfirmDialogComponent, ConfirmDialogData, MessageDialogComponent, - MessageDialogData, MessageType } from 'iqb-components'; +import { + ConfirmDialogComponent, ConfirmDialogData, MessageDialogComponent, + MessageDialogData, MessageType +} from "iqb-components"; import { Subscription } from 'rxjs'; import { MainDataService } from 'src/app/maindata.service'; diff --git a/src/app/superadmin/workspaces/workspaces.component.ts b/src/app/superadmin/workspaces/workspaces.component.ts index cd077da3d7460f9311498661f147e97cb1ac0b3f..86a001c305038b1c4f7fbbccb9f9660b3507d06d 100644 --- a/src/app/superadmin/workspaces/workspaces.component.ts +++ b/src/app/superadmin/workspaces/workspaces.component.ts @@ -11,7 +11,7 @@ import { MatSort } from '@angular/material/sort'; import { FormGroup } from '@angular/forms'; import { SelectionModel } from '@angular/cdk/collections'; import { ConfirmDialogComponent, ConfirmDialogData, MessageDialogComponent, - MessageDialogData, MessageType } from 'iqb-components'; + MessageDialogData, MessageType } from "iqb-components"; import { Subscription } from 'rxjs'; import { MainDataService } from 'src/app/maindata.service'; diff --git a/src/app/workspace/backend.service.ts b/src/app/workspace/backend.service.ts index 7e67f5b08b62691ff6db46929d1177496a567198..e79ed687625fe9947f9976750051f59fe0483e49 100644 --- a/src/app/workspace/backend.service.ts +++ b/src/app/workspace/backend.service.ts @@ -1,6 +1,6 @@ import { GetFileResponseData, CheckWorkspaceResponseData, BookletsStarted, SysCheckStatistics, ReviewData, LogData, UnitResponse, ResultData, MonitorData } from './workspace.interfaces'; -import { Injectable, Inject } from '@angular/core'; +import {Injectable, Inject, SkipSelf} from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { catchError } from 'rxjs/operators'; @@ -12,7 +12,7 @@ export class BackendService { constructor( @Inject('SERVER_URL') private readonly serverUrl: string, - private http: HttpClient) { + @SkipSelf() private http: HttpClient) { this.serverUrlSlim = this.serverUrl + 'php/ws.php/'; this.serverUrl = this.serverUrl + 'php/'; diff --git a/src/app/workspace/files/files.component.ts b/src/app/workspace/files/files.component.ts index d9879ac54f7cfe2f909265a39b040b7371ce6fac..447344b8a565a5e205709a7c44ed1261061466cb 100644 --- a/src/app/workspace/files/files.component.ts +++ b/src/app/workspace/files/files.component.ts @@ -1,9 +1,8 @@ import { MainDataService } from '../../maindata.service'; -import { ServerError } from "iqb-components"; import { WorkspaceDataService } from '../workspacedata.service'; import { GetFileResponseData, CheckWorkspaceResponseData } from '../workspace.interfaces'; import { ConfirmDialogComponent, ConfirmDialogData, MessageDialogComponent, - MessageDialogData, MessageType } from 'iqb-components'; + MessageDialogData, MessageType, ServerError } from "iqb-components"; import { Subscription } from 'rxjs'; import { MatTableDataSource } from '@angular/material/table'; import { MatSnackBar } from '@angular/material/snack-bar'; diff --git a/src/app/workspace/monitor/monitor.component.ts b/src/app/workspace/monitor/monitor.component.ts index 090070ea1c8f0170f3be2eab37ea59aeac626dc8..8dbad30b947a890e77c05c5e37d02a0be555ace1 100644 --- a/src/app/workspace/monitor/monitor.component.ts +++ b/src/app/workspace/monitor/monitor.component.ts @@ -9,7 +9,7 @@ import { SelectionModel } from '@angular/cdk/collections'; import { saveAs } from 'file-saver'; import { MonitorData } from '../workspace.interfaces'; import { Subscription } from 'rxjs'; -import { ServerError } from 'iqb-components'; +import {ServerError} from "iqb-components"; @Component({ diff --git a/src/app/workspace/results/results.component.ts b/src/app/workspace/results/results.component.ts index bf31c7361a653d6a01c935857767b056856cf929..5cec77cd3c247c298dd23fd424f111bb2b47bc98 100644 --- a/src/app/workspace/results/results.component.ts +++ b/src/app/workspace/results/results.component.ts @@ -1,8 +1,8 @@ -import { LogData } from './../workspace.interfaces'; -import { WorkspaceDataService } from './../workspacedata.service'; -import { ConfirmDialogComponent, ConfirmDialogData } from 'iqb-components'; +import { LogData } from '../workspace.interfaces'; +import { WorkspaceDataService } from '../workspacedata.service'; +import { ConfirmDialogComponent, ConfirmDialogData } from "iqb-components"; import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core'; -import { BackendService } from './../backend.service'; +import { BackendService } from '../backend.service'; import { MatDialog } from '@angular/material/dialog'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatSort } from '@angular/material/sort'; @@ -35,7 +35,7 @@ export class ResultsComponent implements OnInit, OnDestroy { ) { } ngOnInit() { - this.workspaceIdSubscription = this.wds.workspaceId$.subscribe(ws => { + this.workspaceIdSubscription = this.wds.workspaceId$.subscribe(() => { this.updateTable(); }); } @@ -110,7 +110,7 @@ export class ResultsComponent implements OnInit, OnDestroy { myCsvData += lineDelimiter; } }); - var blob = new Blob([myCsvData], {type: "text/csv;charset=utf-8"}); + const blob = new Blob([myCsvData], {type: "text/csv;charset=utf-8"}); saveAs(blob, "iqb-testcenter-responses.csv"); } else { this.snackBar.open('Keine Daten verfügbar.', 'Fehler', {duration: 3000}); @@ -157,8 +157,10 @@ export class ResultsComponent implements OnInit, OnDestroy { responseData.forEach((resp: ReviewData) => { if ((resp.entry !== null) && (resp.entry.length > 0)) { - myCsvData += '"' + resp.groupname + '"' + columnDelimiter + '"' + resp.loginname + '"' + columnDelimiter + '"' + resp.code + '"' + columnDelimiter + - '"' + resp.bookletname + '"' + columnDelimiter + '"' + resp.unitname + '"' + columnDelimiter + '"' + resp.priority + '"' + columnDelimiter; + myCsvData += '"' + resp.groupname + '"' + columnDelimiter + '"' + resp.loginname + '"' + + columnDelimiter + '"' + resp.code + '"' + columnDelimiter + '"' + resp.bookletname + '"' + + columnDelimiter + '"' + resp.unitname + '"' + columnDelimiter + '"' + + resp.priority + '"' + columnDelimiter; const resp_categories = resp.categories.split(' '); allCategories.forEach(s => { if (resp_categories.includes(s)) { @@ -170,7 +172,7 @@ export class ResultsComponent implements OnInit, OnDestroy { myCsvData += '"' + resp.reviewtime + '"' + columnDelimiter + '"' + resp.entry + '"' + lineDelimiter; } }); - var blob = new Blob([myCsvData], {type: "text/csv;charset=utf-8"}); + const blob = new Blob([myCsvData], {type: "text/csv;charset=utf-8"}); saveAs(blob, "iqb-testcenter-reviews.csv"); } else { this.snackBar.open('Keine Daten verfügbar.', 'Fehler', {duration: 3000}); @@ -204,7 +206,7 @@ export class ResultsComponent implements OnInit, OnDestroy { resp.timestamp.toString() + '"' + columnDelimiter + resp.logentry.replace(/\\"/g, '""') + lineDelimiter; } }); - var blob = new Blob([myCsvData], {type: "text/csv;charset=utf-8"}); + const blob = new Blob([myCsvData], {type: "text/csv;charset=utf-8"}); saveAs(blob, "iqb-testcenter-logs.csv"); } else { this.snackBar.open('Keine Daten verfügbar.', 'Fehler', {duration: 3000}); @@ -243,7 +245,7 @@ export class ResultsComponent implements OnInit, OnDestroy { if (result !== false) { // ========================================================= this.dataLoading = true; - this.bs.deleteData(selectedGroups).subscribe((deleteOk: boolean) => { + this.bs.deleteData(selectedGroups).subscribe(() => { this.tableselectionCheckbox.clear(); this.dataLoading = false; }); diff --git a/src/app/workspace/syscheck/syscheck.component.ts b/src/app/workspace/syscheck/syscheck.component.ts index b95e5d3032f3740e54b5f0d6c26e69dbec6c8170..8d1952fc0511431b5f769f2b4b7ac45cdb8a9e1b 100644 --- a/src/app/workspace/syscheck/syscheck.component.ts +++ b/src/app/workspace/syscheck/syscheck.component.ts @@ -1,6 +1,6 @@ -import { ConfirmDialogComponent, ConfirmDialogData } from 'iqb-components'; +import { ConfirmDialogComponent, ConfirmDialogData } from "iqb-components"; import { Component, OnInit, ViewChild } from '@angular/core'; -import { BackendService } from './../backend.service'; +import { BackendService } from '../backend.service'; import { MatDialog } from '@angular/material/dialog'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatSort } from '@angular/material/sort'; @@ -17,7 +17,6 @@ import { SysCheckStatistics } from '../workspace.interfaces'; export class SyscheckComponent implements OnInit { displayedColumns: string[] = ['selectCheckbox', 'syscheckLabel', 'number', 'details']; public resultDataSource = new MatTableDataSource<SysCheckStatistics>([]); - private isAdmin = false; // prepared for selection if needed sometime public tableselectionCheckbox = new SelectionModel<SysCheckStatistics>(true, []); public dataLoading = false; @@ -114,7 +113,7 @@ export class SyscheckComponent implements OnInit { if (result !== false) { // ========================================================= this.dataLoading = true; - this.bs.deleteSysCheckReports(selectedReports).subscribe((deleteOk: boolean) => { + this.bs.deleteSysCheckReports(selectedReports).subscribe(() => { this.tableselectionCheckbox.clear(); this.dataLoading = false; }); diff --git a/src/app/workspace/workspace-routing.module.ts b/src/app/workspace/workspace-routing.module.ts index d4068ec0190232631effaae485cf14e84cb0e8df..98fd9e28120a5a0ce66973dca09b90f858ce2ba5 100644 --- a/src/app/workspace/workspace-routing.module.ts +++ b/src/app/workspace/workspace-routing.module.ts @@ -1,14 +1,14 @@ import { SyscheckComponent } from './syscheck/syscheck.component'; import { MonitorComponent } from './monitor/monitor.component'; import { ResultsComponent } from './results/results.component'; -import { NgModule, Component } from '@angular/core'; +import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { FilesComponent } from './files/files.component'; import { WorkspaceComponent } from './workspace.component'; const routes: Routes = [ { - path: 'ws/:ws', + path: ':ws', component: WorkspaceComponent, children: [ {path: '', redirectTo: 'monitor', pathMatch: 'full'}, diff --git a/src/app/workspace/workspace.component.ts b/src/app/workspace/workspace.component.ts index 31c200b583570a51261db85c4965efc6711d2ff5..9c59a47dc3773990b20ddb12a263db8512709f67 100644 --- a/src/app/workspace/workspace.component.ts +++ b/src/app/workspace/workspace.component.ts @@ -1,11 +1,8 @@ import { WorkspaceDataService } from './workspacedata.service'; -import { MainDataService } from './../maindata.service'; +import { MainDataService } from '../maindata.service'; import { ActivatedRoute } from '@angular/router'; -import { Observable, Subscription } from 'rxjs'; +import { Subscription } from 'rxjs'; import { Component, OnInit, OnDestroy } from '@angular/core'; -import { MatFormFieldModule } from '@angular/material/form-field'; -import { MatSelectModule } from '@angular/material/select'; -import { MatTabsModule } from '@angular/material/tabs'; @Component({ @@ -30,7 +27,7 @@ export class WorkspaceComponent implements OnInit, OnDestroy { this.wds.setWorkspace(ws, this.mds.getWorkspaceRole(ws), this.mds.getWorkspaceName(ws)); }); - this.logindataSubscription = this.mds.loginData$.subscribe(ld => { + this.logindataSubscription = this.mds.loginData$.subscribe(() => { this.wds.setWorkspace(this.wds.ws, this.mds.getWorkspaceRole(this.wds.ws), this.mds.getWorkspaceName(this.wds.ws)); }); } diff --git a/src/app/workspace/workspace.interceptor.ts b/src/app/workspace/workspace.interceptor.ts index 01876554a3aaaf629d912760e06601bd1a868171..24ff6b520711d77f6d432f89de673d1756d54281 100644 --- a/src/app/workspace/workspace.interceptor.ts +++ b/src/app/workspace/workspace.interceptor.ts @@ -1,10 +1,13 @@ import { WorkspaceDataService } from './workspacedata.service'; -import { Injectable } from '@angular/core'; +import {Injectable} from '@angular/core'; import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HTTP_INTERCEPTORS } from '@angular/common/http'; import { Observable } from 'rxjs'; -@Injectable() +@Injectable({ + providedIn: 'root' +}) + export class WorkspaceInterceptor implements HttpInterceptor { constructor(public wds: WorkspaceDataService) {} @@ -25,6 +28,7 @@ export class WorkspaceInterceptor implements HttpInterceptor { } }); + console.log('WorkspaceInterceptor'); return next.handle(requestA); } } diff --git a/src/app/workspace/workspace.module.ts b/src/app/workspace/workspace.module.ts index ced23362d1fb31a9e37b90cfa4534c3d134b6991..db946b1a2e52d554ea36dca13d3b7c57a79d9aad 100644 --- a/src/app/workspace/workspace.module.ts +++ b/src/app/workspace/workspace.module.ts @@ -1,21 +1,16 @@ import { FlexLayoutModule } from '@angular/flex-layout'; import { BackendService } from './backend.service'; import { IqbFilesModule } from '../iqb-files'; -import { IqbComponents } from 'iqb-components'; import { ReactiveFormsModule } from '@angular/forms'; -import { NgModule, Component } from '@angular/core'; +import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { WorkspaceDataService } from './workspacedata.service'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; - -import { HttpClientModule } from '@angular/common/http'; import { WorkspaceRoutingModule } from './workspace-routing.module'; import { WorkspaceComponent } from './workspace.component'; import { FilesComponent } from './files/files.component'; import { ResultsComponent } from './results/results.component'; - import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; import { MatCheckboxModule } from '@angular/material/checkbox'; @@ -36,6 +31,7 @@ import { MatExpansionModule } from '@angular/material/expansion'; import {MatGridListModule} from '@angular/material/grid-list'; import { SyscheckComponent } from './syscheck/syscheck.component'; import { httpInterceptorProviders } from './workspace.interceptor'; +import {IqbComponentsModule} from 'iqb-components'; @NgModule({ imports: [ @@ -50,7 +46,6 @@ import { httpInterceptorProviders } from './workspace.interceptor'; MatSortModule, MatCardModule, MatExpansionModule, - HttpClientModule, ReactiveFormsModule, MatProgressSpinnerModule, MatDialogModule, @@ -61,10 +56,9 @@ import { httpInterceptorProviders } from './workspace.interceptor'; MatToolbarModule, MatSnackBarModule, MatGridListModule, - IqbComponents, + IqbComponentsModule, FlexLayoutModule, MatCardModule, - BrowserAnimationsModule, FlexLayoutModule ], exports: [ diff --git a/src/app/workspace/workspacedata.service.ts b/src/app/workspace/workspacedata.service.ts index 1b91eba5fad6c922c4169ce13460e08cbb8f2360..6e13e13fa24bbde7236a0b9dadc68cd68d0627c1 100644 --- a/src/app/workspace/workspacedata.service.ts +++ b/src/app/workspace/workspacedata.service.ts @@ -1,6 +1,6 @@ import { BehaviorSubject } from 'rxjs'; import { Injectable } from '@angular/core'; -import { ServerError } from "iqb-components"; +import { ServerError } from 'iqb-components'; @Injectable({ providedIn: 'root'