From a9042a048e37c1f56fc7429ccd417839b6e77049 Mon Sep 17 00:00:00 2001 From: rhenck <richard.henck@iqb.hu-berlin.de> Date: Thu, 31 Mar 2022 12:40:19 +0200 Subject: [PATCH] Implement sub- and superscript for cloze texts --- .../common/components/ui-elements/cloze.component.ts | 12 ++++++++++++ projects/common/pipes/mark-list.pipe.ts | 12 ++++++++++++ projects/common/shared.module.ts | 4 +++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 projects/common/pipes/mark-list.pipe.ts diff --git a/projects/common/components/ui-elements/cloze.component.ts b/projects/common/components/ui-elements/cloze.component.ts index e1c0101dc..d9b719e4c 100644 --- a/projects/common/components/ui-elements/cloze.component.ts +++ b/projects/common/components/ui-elements/cloze.component.ts @@ -145,6 +145,18 @@ import { ClozeUtils } from '../../util/cloze'; {{subPart.text}} </span> </ng-container> + + <ng-container *ngIf="$any(subPart).type === 'text' && (subPart.marks | markList).includes('superscript')"> + <sup [ngStyle]="subPart.marks | styleMarks"> + {{subPart.text}} + </sup> + </ng-container> + <ng-container *ngIf="$any(subPart).type === 'text' && (subPart.marks | markList).includes('subscript')"> + <sub [ngStyle]="subPart.marks | styleMarks"> + {{subPart.text}} + </sub> + </ng-container> + <ng-container *ngIf="$any(subPart).type === 'image'"> <img [src]="subPart.attrs.src" [alt]="subPart.attrs.alt" [style.display]="'inline-block'" diff --git a/projects/common/pipes/mark-list.pipe.ts b/projects/common/pipes/mark-list.pipe.ts new file mode 100644 index 000000000..5ade8e8e9 --- /dev/null +++ b/projects/common/pipes/mark-list.pipe.ts @@ -0,0 +1,12 @@ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ + name: 'markList' +}) +export class MarkListPipe implements PipeTransform { + transform(markList: Record<string, any>): any[] { + console.log('markList', markList); + + return markList ? markList.map((element: any) => element.type) : []; + } +} diff --git a/projects/common/shared.module.ts b/projects/common/shared.module.ts index 4a8d02fdf..0f73c7a50 100644 --- a/projects/common/shared.module.ts +++ b/projects/common/shared.module.ts @@ -52,6 +52,7 @@ import { MarkingBarComponent } from './components/marking-bar/marking-bar.compon import { StyleMarksPipe } from './pipes/styleMarks.pipe'; import { MarkingButtonComponent } from './components/marking-bar/marking-button.component'; import { CompoundChildOverlayComponent } from './components/compound-child-overlay.component'; +import { MarkListPipe } from './pipes/mark-list.pipe'; @NgModule({ imports: [ @@ -104,7 +105,8 @@ import { CompoundChildOverlayComponent } from './components/compound-child-overl MarkingBarComponent, StyleMarksPipe, MarkingButtonComponent, - CompoundChildOverlayComponent + CompoundChildOverlayComponent, + MarkListPipe ], exports: [ CommonModule, -- GitLab