diff --git a/src/app/maindata.service.ts b/src/app/maindata.service.ts index 59e8e2430f953a10eeff6dd511adb64fbf272b41..1e3a1344c476e6dd6cb1ef7d870c874fdf5d4e89 100644 --- a/src/app/maindata.service.ts +++ b/src/app/maindata.service.ts @@ -23,28 +23,28 @@ export class MainDataService { }; private static defaultCostumTexts: KeyValuePair = { 'app_title': 'IQB-Testcenter', - 'app_loginErrorMsg': 'Die Anmeldedaten sind nicht korrekt.', 'login_testEndButtonText': 'Test beenden', - 'login_bookletSelectPrompt': 'Bitte wählen', - 'login_bookletSelectTitle': 'Bitte wählen', - 'login_bookletSelectPromptOne': 'Bitte klick auf die Schaltfläche links, um den Test zu starten!', - 'login_bookletSelectPromptMany': 'Bitte klick auf eine der Schaltflächen links, um einen Test zu starten!', + 'login_bookletSelectPrompt': 'Bitte wählen!', + 'login_bookletSelectTitle': 'Bitte wählen!', + 'login_bookletSelectPromptOne': 'Bitte klicke auf die Schaltfläche auf der linken Seite, um den Test zu starten!', + 'login_bookletSelectPromptMany': 'Bitte klicke auf eine der Schaltflächen auf der linken Seite, um einen Test zu starten!', 'login_codeInputPrompt': 'Bitte Log-in eingeben, der auf dem Zettel steht!', 'login_codeInputTitle': 'Log-in eingeben', 'booklet_msgPresentationNotCompleteTitle': - 'Weiterblättern nicht möglich', + 'Weiterblättern nicht möglich!', 'booklet_msgPresentationNotCompleteText': 'Du kannst erst weiterblättern, wenn Audio-Dateien vollständig abgespielt wurden ' + 'und wenn du in allen Fenstern bis ganz nach unten gescrollt hast.', - 'booklet_codeToEnterTitle': 'Freigabecode', - 'booklet_codeToEnterPrompt': 'Bitte gib den Code ein, der angesagt wurde!', + 'booklet_codeToEnterTitle': 'Freigabewort', + 'booklet_codeToEnterPrompt': 'Bitte gib das Freigabewort ein, das angesagt wurde!', 'booklet_msgSoonTimeOver5Minutes': 'Du hast noch 5 Minuten Zeit für die Bearbeitung der Aufgaben in diesem Abschnitt.', 'booklet_msgSoonTimeOver1Minute': 'Du hast noch 1 Minute Zeit für die Bearbeitung der Aufgaben in diesem Abschnitt.', 'booklet_msgTimerStarted': 'Die Bearbeitungszeit für diesen Abschnitt hat begonnen: ', 'booklet_msgTimerCancelled': 'Die Bearbeitung des Abschnittes wurde abgebrochen.', 'booklet_msgTimeOver': 'Die Bearbeitung des Abschnittes ist beendet.', 'booklet_warningLeaveTimerBlockTitle': 'Aufgabenabschnitt verlassen?', - 'booklet_warningLeaveTimerBlockPrompt': 'Wenn du jetzt weiterblätterst, ist die Bearbeitungszeit beendet und du kannst nicht zurück.', + 'booklet_warningLeaveTimerBlockPrompt': 'Wenn du jetzt weiterblätterst, beendest ' + + 'du vorzeitig die Bearbeitung dieses Aufgabenabschnitts und du kannst nicht mehr zurück.', }; public loginData$ = new BehaviorSubject<LoginData>(MainDataService.defaultLoginData); diff --git a/src/app/test-controller/start-lock-input/start-lock-input.component.html b/src/app/test-controller/start-lock-input/start-lock-input.component.html index 523f279d0b19e9e78344340ab7c986c5a5588df7..f2b53dca8f993d86052842409839849e698079dc 100644 --- a/src/app/test-controller/start-lock-input/start-lock-input.component.html +++ b/src/app/test-controller/start-lock-input/start-lock-input.component.html @@ -2,6 +2,7 @@ <h1 mat-dialog-title>{{ data.title }}</h1> <mat-dialog-content> + <p>{{ data.prompt }}</p> <mat-form-field *ngFor="let c of data.codes" fxLayout="column"> <p>{{ c.prompt }}</p> <input matInput [formControlName]="c.testletId" [(ngModel)]="c.value" (keyup.enter)="close()"> diff --git a/src/app/test-controller/test-controller.component.css b/src/app/test-controller/test-controller.component.css index 373ece55f756224bfe508e26eaf4dd623769a0ba..7ca99a39815da9cd1b2117e5e16b480f96d311b9 100644 --- a/src/app/test-controller/test-controller.component.css +++ b/src/app/test-controller/test-controller.component.css @@ -42,12 +42,16 @@ #buttonsContainer { position: absolute; right: 5px; - top: 5px; + top: 2px; + left: 5px; color: white; } #buttonsContainer .material-icons { font-size: 2.0rem; } +#buttonsContainer img { + width: 100px; +} /* --------------------------------------------- */ mat-toolbar { diff --git a/src/app/test-controller/test-controller.component.html b/src/app/test-controller/test-controller.component.html index 98703cab638ef7657479fc501228e34fce9f8542..c8f21d7efb0f57ae93dfd6ad9887095bf898820e 100644 --- a/src/app/test-controller/test-controller.component.html +++ b/src/app/test-controller/test-controller.component.html @@ -1,31 +1,34 @@ -<div class="logo"> +<div id="buttonsContainer" fxLayout="row" fxLayoutAlign="space-between center"> <a [routerLink]="['/']"> <img src="assets/IQB-LogoA.png" matTooltip="Startseite"/> </a> -</div> -<div id="buttonsContainer" fxLayout="row wrap" fxLayoutAlign="end center"> - <p class="timer" *ngIf="tcs.mode !== 'hot'">{{ timerValue?.timeLeftString }}</p> - <button mat-fab [disabled]="!(tcs.unitPrevEnabled$ | async)" *ngIf="tcs.navArrows" color="accent" (click)="tcs.setUnitNavigationRequest('#previous')" matTooltip="Zurück"> - <i class="material-icons">chevron_left</i> - </button> - <div *ngIf="tcs.navButtons" fxLayout="row" fxLayoutAlign="start center"> - <div *ngFor="let u of (tcs.unitListForNaviButtons$ | async)"> - <div fxLayout="column" fxLayoutAlign="start center"> - <button (click)="gotoUnit(u.sequenceId)" class="unit-button" [disabled]="u.disabled">{{ u.label }}</button> - <span class="current-unit-dot" *ngIf="u.isCurrent"></span> - <span class="notcurrent-unit-dot" *ngIf="!u.isCurrent"></span> + <div fxLayout="row" fxLayoutAlign="end center"> + <p class="timer" *ngIf="tcs.mode !== 'hot'">{{ timerValue?.timeLeftString }}</p> + <button mat-fab [disabled]="!(tcs.unitPrevEnabled$ | async)" *ngIf="tcs.navArrows" color="accent" + (click)="tcs.setUnitNavigationRequest('#previous')" matTooltip="Zurück" fxFlex="none"> + <i class="material-icons">chevron_left</i> + </button> + <div *ngIf="tcs.navButtons" fxLayout="row wrap" fxLayoutAlign="start center" fxFlex="0 3 100%"> + <div *ngFor="let u of (tcs.unitListForNaviButtons$ | async)"> + <div fxLayout="column" fxLayoutAlign="start center"> + <button (click)="gotoUnit(u.sequenceId)" class="unit-button" [disabled]="u.disabled">{{ u.label }}</button> + <span class="current-unit-dot" *ngIf="u.isCurrent"></span> + <span class="notcurrent-unit-dot" *ngIf="!u.isCurrent"></span> + </div> </div> </div> + <button mat-fab [disabled]="!(tcs.unitNextEnabled$ | async)" *ngIf="tcs.navArrows" color="accent" + (click)="tcs.setUnitNavigationRequest('#next')" matTooltip="Weiter" fxFlex="none"> + <i class="material-icons">chevron_right</i> + </button> + <button mat-button (click)="showReviewDialog()" *ngIf="tcs.mode === 'review'" matTooltip="Kommentar senden" fxFlex="none"> + <mat-icon>rate_review</mat-icon> + </button> + <button mat-button (click)="tcs.setUnitNavigationRequest('#end')" *ngIf="tcs.mode !== 'hot'" + matTooltip="Zur Testheft-Auswahl zurückkehren" fxFlex="none"> + <mat-icon>exit_to_app</mat-icon> + </button> </div> - <button mat-fab [disabled]="!(tcs.unitNextEnabled$ | async)" *ngIf="tcs.navArrows" color="accent" (click)="tcs.setUnitNavigationRequest('#next')" matTooltip="Weiter"> - <i class="material-icons">chevron_right</i> - </button> - <button mat-button (click)="showReviewDialog()" *ngIf="tcs.mode === 'review'" matTooltip="Kommentar senden"> - <mat-icon>rate_review</mat-icon> - </button> - <button mat-button (click)="tcs.setUnitNavigationRequest('#end')" *ngIf="tcs.mode !== 'hot'" matTooltip="Zur Testheft-Auswahl zurückkehren"> - <mat-icon>exit_to_app</mat-icon> - </button> </div> <div class="spinner-container" *ngIf="dataLoading"> <mat-spinner></mat-spinner> diff --git a/src/app/test-controller/test-controller.component.ts b/src/app/test-controller/test-controller.component.ts index 2ac224cccc5a263a7041b97f026b9a687e0d0f9d..5afd01fbb6dcfeb7b20e5de7a61249a16cc05684 100644 --- a/src/app/test-controller/test-controller.component.ts +++ b/src/app/test-controller/test-controller.component.ts @@ -490,7 +490,7 @@ export class TestControllerComponent implements OnInit, OnDestroy { if (bookletData.laststate.hasOwnProperty(LastStateKey.LASTUNIT)) { navTarget = bookletData.laststate[LastStateKey.LASTUNIT]; } - if (bookletData.laststate.hasOwnProperty(LastStateKey.MAXTIMELEFT)) { + if (bookletData.laststate.hasOwnProperty(LastStateKey.MAXTIMELEFT) && (loginData.mode === 'hot')) { this.tcs.LastMaxTimerState = JSON.parse(bookletData.laststate[LastStateKey.MAXTIMELEFT]); } } diff --git a/src/environments/environment.build.ts b/src/environments/environment.build.ts index 0fbdf20e217a473704fe5976e79fd13ac4cbe8ce..0b2ac7708dbcf4f5e70a9f3bbbb4aebb15c64193 100644 --- a/src/environments/environment.build.ts +++ b/src/environments/environment.build.ts @@ -5,5 +5,5 @@ export const environment = { testcenterUrl: '/', appName: 'IQB-Testcenter', appPublisher: 'IQB - Institut zur Qualitätsentwicklung im Bildungswesen', - appVersion: '1.1.1 - 26.3.2019' + appVersion: '1.1.2 - 26.3.2019' }; diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 89c58eb1e3899768b66409435fbc70900a605b1f..dbf9f42b25270fe2a05043dbdd299f0fdc86f7bb 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -5,5 +5,5 @@ export const environment = { testcenterUrl: '/', appName: 'IQB-Testcenter', appPublisher: 'IQB - Institut zur Qualitätsentwicklung im Bildungswesen', - appVersion: '1.1.1 - 26.3.2019' + appVersion: '1.1.2 - 26.3.2019' };