diff --git a/src/app/test-controller/test-controller.component.html b/src/app/test-controller/test-controller.component.html index b5dab95eeb749d447ef34d0f432dfec2c963ecbf..4fef71d62a39067c6be5d135e4457c55ade52cd4 100644 --- a/src/app/test-controller/test-controller.component.html +++ b/src/app/test-controller/test-controller.component.html @@ -3,7 +3,7 @@ <mat-spinner></mat-spinner> </div> <div class="page-body" fxLayout="row" iqbResizeIFrameChild> - <div class="tcSidenav" name="sideNav" fxFlex="110px" fxLayout="column" fxLayoutAlign="start center" fxLayoutGap="5px"> + <div class="tcSidenav" name="sideNav" fxFlex="100px" fxLayout="column" fxLayoutAlign="start center" fxLayoutGap="5px"> <p>Aufgaben</p> <tc-sidenavi-button *ngFor="let u of allUnits" [unitData]="u"></tc-sidenavi-button> </div> diff --git a/src/app/test-controller/test-controller.service.ts b/src/app/test-controller/test-controller.service.ts index 7e52224409829105030ff576c374a010846ca2fc..28de2e61c1fd89b0d26e9ea8d8e61d808bbbb475 100644 --- a/src/app/test-controller/test-controller.service.ts +++ b/src/app/test-controller/test-controller.service.ts @@ -336,22 +336,42 @@ export class UnitDef { if (oDOM.documentElement.nodeName === 'Unit') { // ________________________ + let definitionRef = ''; const defElements = oDOM.documentElement.getElementsByTagName('Definition'); + if (defElements.length > 0) { const defElement = defElements[0]; this.unitDefinition = defElement.textContent; this.unitDefinitionType = defElement.getAttribute('type'); + } else { + const defRefElements = oDOM.documentElement.getElementsByTagName('DefinitionRef'); + + if (defRefElements.length > 0) { + const defRefElement = defRefElements[0]; + definitionRef = defRefElement.textContent; + this.unitDefinition = ''; + this.unitDefinitionType = defRefElement.getAttribute('type'); + } + } + if (this.unitDefinitionType.length > 0) { return tcs.loadItemplayerOk(auth, this.unitDefinitionType).pipe( - switchMap(ok => of(this.locked = !ok))); - // ________________________ - // const resourcesElements = oDOM.documentElement.getElementsByTagName('Resources'); - // if (resourcesElements.length > 0) { - // const resourcesElement = resourcesElements[0]; - // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - // - // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - // } + switchMap(ok => { + if (ok && definitionRef.length > 0) { + return bs.getUnitResourceTxt(auth, definitionRef).pipe( + switchMap(def => { + if (def instanceof ServerError) { + return of(false); + } else { + this.unitDefinition = def as string; + this.locked = false; + return of(true); + } + })); + } else { + return of(this.locked = !ok); + } + })); } else { this.label = 'unitdef not found'; return of(false); // Def-Element required diff --git a/src/environments/environment.build.ts b/src/environments/environment.build.ts index 5632f37e8363b04e97f4c7d4f1cb0d42f110130f..76a2ae170f5a9fd96892913c91cd45f509648274 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: '0.8.1 - 25.9.2018' + appVersion: '0.9.0 - 30.9.2018' };