From 0a4bf203bbb077c8e4d82fe888cf2f532d1ec218 Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Fri, 17 Nov 2023 10:09:49 +0100 Subject: [PATCH 01/21] try to fix keyboard shortcut on mac --- .../associer-copies-etudiants.component.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/webapp/app/scanexam/associer-copies-etudiants/associer-copies-etudiants.component.ts b/src/main/webapp/app/scanexam/associer-copies-etudiants/associer-copies-etudiants.component.ts index 8e7995f9..c90160bb 100644 --- a/src/main/webapp/app/scanexam/associer-copies-etudiants/associer-copies-etudiants.component.ts +++ b/src/main/webapp/app/scanexam/associer-copies-etudiants/associer-copies-etudiants.component.ts @@ -262,7 +262,7 @@ export class AssocierCopiesEtudiantsComponent implements OnInit, AfterViewInit { this.shortcuts.push( { // ArrowRight - key: ['ctrl + right', 'meta + right'], + key: ['ctrl + right', 'cmd + right'], label: 'Navigation', description: this.translateService.instant('scanexam.nextstudent'), command: () => this.nextStudent(), @@ -270,7 +270,7 @@ export class AssocierCopiesEtudiantsComponent implements OnInit, AfterViewInit { }, { // ArrowLeft - key: ['ctrl + left', 'meta + left'], + key: ['ctrl + left', 'cmd + left'], label: 'Navigation', description: this.translateService.instant('scanexam.previousstudent'), command: () => this.previousStudent(), From 96a5aba46980ca83d28f974d421d3018a3764a3d Mon Sep 17 00:00:00 2001 From: arnobl <1052622+arnobl@users.noreply.github.com> Date: Fri, 17 Nov 2023 17:56:50 +0100 Subject: [PATCH 02/21] fix(latex): fix some commands and doc updated --- src/main/webapp/content/latex-template.zip | Bin 74009 -> 85663 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/webapp/content/latex-template.zip b/src/main/webapp/content/latex-template.zip index 40a3f86811cbebcb7e0151c60d98ecf7b57fffa0..c9595cc61b1acffd3643b67e9f25267802a26282 100644 GIT binary patch literal 85663 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%0D7z>$+&2tk`wBUQcJ-?eb+jx+#(HG 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
GF;V@~Sq4x1`SK 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%0Ds+GWyyb&_DlZv$ast#^#!Y3%nE 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 Date: Sat, 18 Nov 2023 14:18:14 +0100 Subject: [PATCH 03/21] update comment as a simple texte --- .../corrigequestion/ZoneCorrectionHandler.ts | 6 ++ .../corrigequestion.component.ts | 8 +- ...event-canevascorrection-handler.service.ts | 90 +++++++++++++++++-- .../toolbar/toolbar.component.html | 4 +- .../event-canevasvoircopie-handler.service.ts | 39 ++++++-- 5 files changed, 128 insertions(+), 19 deletions(-) diff --git a/src/main/webapp/app/scanexam/corrigequestion/ZoneCorrectionHandler.ts b/src/main/webapp/app/scanexam/corrigequestion/ZoneCorrectionHandler.ts index a2431030..80d00816 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/ZoneCorrectionHandler.ts +++ b/src/main/webapp/app/scanexam/corrigequestion/ZoneCorrectionHandler.ts @@ -84,6 +84,7 @@ export class ZoneCorrectionHandler { canvas.on('selection:updated', (e: any) => this.onSelectionUpdated(e as any)); canvas.on('object:moving', (e: any) => this.onObjectMoving(e as any)); canvas.on('object:scaling', (e: any) => this.onObjectScaling(e as any)); + canvas.on('object:modified', () => this.onObjectModified()); } private onCanvasMouseDown(event: { e: Event }) { @@ -99,6 +100,11 @@ export class ZoneCorrectionHandler { this.eventHandler.canvas = this.canvas!; this.eventHandler.mouseUp(); } + private onObjectModified() { + this.eventHandler.canvas = this.canvas!; + this.eventHandler.objectModified(); + } + private onSelectionCreated(e: any) { this.eventHandler.canvas = this.canvas!; diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts index e4172110..b70d6e09 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts @@ -370,7 +370,7 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { this.shortcuts.push( { // ArrowRight - key: ['ctrl + right', 'meta + right'], + key: ['ctrl + right', 'cmd + right'], label: 'Navigation', description: this.translateService.instant('scanexam.nextstudent'), command: () => this.nextStudent(), @@ -378,7 +378,7 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { }, { // ArrowLeft - key: ['ctrl + left', 'meta + left'], + key: ['ctrl + left', 'cmd + left'], label: 'Navigation', description: this.translateService.instant('scanexam.previousstudent'), command: () => this.previousStudent(), @@ -386,14 +386,14 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { }, { - key: ['ctrl + up', 'meta + up'], + key: ['ctrl + up', 'cmd + up'], label: 'Navigation', description: this.translateService.instant('scanexam.previousquestion'), command: () => this.previousQuestion(), preventDefault: true, }, { - key: ['ctrl + down', 'meta + down'], + key: ['ctrl + down', 'cmd + down'], label: 'Navigation', description: this.translateService.instant('scanexam.nextquestion'), command: () => this.nextQuestion(), diff --git a/src/main/webapp/app/scanexam/corrigequestion/event-canevascorrection-handler.service.ts b/src/main/webapp/app/scanexam/corrigequestion/event-canevascorrection-handler.service.ts index aeddb6a6..e9f5e323 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/event-canevascorrection-handler.service.ts +++ b/src/main/webapp/app/scanexam/corrigequestion/event-canevascorrection-handler.service.ts @@ -30,7 +30,7 @@ import { Injectable } from '@angular/core'; import { CustomFabricGroup } from '../annotate-template/paint/models'; import { IComments } from '../../entities/comments/comments.model'; import { CommentsService } from '../../entities/comments/service/comments.service'; -import { SVG, extend as SVGextend, Element as SVGElement, G } from '@svgdotjs/svg.js'; +import { SVG, extend as SVGextend, Element as SVGElement, G, Text } from '@svgdotjs/svg.js'; import { Platform } from '@angular/cdk/platform'; const RANGE_AROUND_CENTER = 20; @@ -57,12 +57,58 @@ export class EventCanevascorrectionHandlerService { draw = SVG(svg.split('\n').splice(2).join('\n')); } draw.scale(this.scale, this.scale, 0, 0); - fabric.loadSVGFromString(draw.svg(), (objects, options) => { - // const obj = fabric.util.groupSVGElements(objects, options); + const s2 = draw.svg((node: any) => { + if (node instanceof Text) { + node.attr('svgjs:data', null); + // node.attr("font-size",node.attr("font-size")/this.scale) + const text = node.node; + if (text.childNodes.length > 0) { + const content = text.childNodes[0].textContent; + let x = text.children[0].getAttribute('x'); + let y = text.children[0].getAttribute('y'); + if (x === undefined) { + x = '0'; + } + if (y === undefined) { + y = '0'; + } + + (node.parent() as G).translate(+x!, +y!); + text.removeChild(text.childNodes[0]); + if (content) { + text.innerHTML = content; // text.childNodes[0].textContent + } else { + text.innerHTML = 'Text'; + } + } + } + }); + fabric.loadSVGFromString(s2, (objects, options) => { + // const obj = fabric.util.fabricShapeService(objects, options); c.clear(); if (objects.length > 0) { - objects.forEach(obj => c.add(obj)); + objects.forEach(obj => { + if (obj.type === 'text') { + obj = this.convertToIText(obj); + (obj as any).firstText = (obj as any).text; + (obj as any).textState = 'original'; + } + c.add(obj); + }); c.renderAll(); + if ( + this._selectedTool === DrawingTools.SELECT || + this._selectedTool === DrawingTools.ERASER || + this._selectedTool === DrawingTools.FILL + ) { + c.forEachObject(obj => { + obj.selectable = true; + }); + } else { + c.forEachObject(obj => { + obj.selectable = false; + }); + } } }); } @@ -166,6 +212,17 @@ export class EventCanevascorrectionHandlerService { private platform: Platform, ) {} + convertToIText(obj: any) { + const text = obj.text; + const textobj = obj.toObject(); + delete textobj.text; + delete textobj.type; + textobj.fontSize = 20; + const itext = new fabric.IText(text, textobj); + itext.styles = {}; + return itext; + } + registerSelectedToolObserver(f: (d: DrawingTools) => void): any { this.drawingToolObserver = f; } @@ -264,6 +321,7 @@ export class EventCanevascorrectionHandlerService { pointer, fontSize: 20, }); + // console.error('createIText') break; } } @@ -355,6 +413,14 @@ export class EventCanevascorrectionHandlerService { }), ); } + if (this._selectedTool === DrawingTools.TEXT) { + this.selectedTool = DrawingTools.SELECT; + this.updateComments().then(e2 => + e2.subscribe(e1 => { + this.currentComment = e1.body; + }), + ); + } if (this._selectedTool !== DrawingTools.POLYGON) { this._elementUnderDrawing = undefined; @@ -416,11 +482,11 @@ export class EventCanevascorrectionHandlerService { const l = newLeft; const t = newTop; const nid = id; - this.updateComments().then(e2 => + /* this.updateComments().then(e2 => e2.subscribe(e1 => { this.currentComment = e1.body!; }), - ); + );*/ if (type !== FabricObjectType.ELLIPSE) { return; @@ -437,17 +503,25 @@ export class EventCanevascorrectionHandlerService { }); } + objectModified() { + this.updateComments().then(e2 => + e2.subscribe(e1 => { + this.currentComment = e1.body!; + }), + ); + } + objectScaling(id: string, type: FabricObjectType, newScales: { x: number; y: number }, newCoords: { left: number; top: number }) { const o1 = this.canvas.getObjects().filter(o => (o as any).id === id)[0]; const l = o1.aCoords?.tl.x; const t = o1.aCoords?.tl.y; const w = o1.aCoords?.br.x! - o1.aCoords?.tl.x!; const h = o1.aCoords?.br.y! - o1.aCoords?.tl.y!; - this.updateComments().then(e2 => + /* this.updateComments().then(e2 => e2.subscribe(e1 => { this.currentComment = e1.body!; }), - ); + );*/ if (type !== FabricObjectType.ELLIPSE) { return; diff --git a/src/main/webapp/app/scanexam/corrigequestion/toolbar/toolbar.component.html b/src/main/webapp/app/scanexam/corrigequestion/toolbar/toolbar.component.html index 0bbea6f0..b5dd1140 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/toolbar/toolbar.component.html +++ b/src/main/webapp/app/scanexam/corrigequestion/toolbar/toolbar.component.html @@ -65,14 +65,14 @@ > - + - diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html index dbfd1049..46780e56 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html @@ -85,6 +85,18 @@

Layout options

+
+ +
+ +
+ +
+ +
+ +
+
- diff --git a/src/main/webapp/app/scanexam/exportanonymoupdf/exportanonymoupdf.service.ts b/src/main/webapp/app/scanexam/exportanonymoupdf/exportanonymoupdf.service.ts index c8af31f4..3fe7ac7b 100644 --- a/src/main/webapp/app/scanexam/exportanonymoupdf/exportanonymoupdf.service.ts +++ b/src/main/webapp/app/scanexam/exportanonymoupdf/exportanonymoupdf.service.ts @@ -25,6 +25,7 @@ import { IComments } from 'app/entities/comments/comments.model'; import { SVG, Text, G } from '@svgdotjs/svg.js'; import { GradeType } from 'app/entities/enumerations/grade-type.model'; import { firstValueFrom } from 'rxjs'; +import { svgadapter } from '../svg.util'; const coefficient = 100000; @@ -243,37 +244,7 @@ export class ExportPdfService { } draw.node.attributes.removeNamedItem('transform'); - const svg = new Blob( - [ - draw.svg((node: any) => { - if (node instanceof Text) { - node.attr('svgjs:data', null); - // node.attr("font-size",node.attr("font-size")/this.scale) - const text = node.node; - if (text.childNodes.length > 0) { - const content = text.childNodes[0].textContent; - let x = text.children[0].getAttribute('x'); - let y = text.children[0].getAttribute('y'); - if (x === undefined) { - x = '0'; - } - if (y === undefined) { - y = '0'; - } - - (node.parent() as G).translate(+x!, +y!); - text.removeChild(text.childNodes[0]); - if (content) { - text.innerHTML = content; // text.childNodes[0].textContent - } else { - text.innerHTML = 'Text'; - } - } - } - }), - ], - { type: 'image/svg+xml' }, - ); + const svg = new Blob([draw.svg(svgadapter)], { type: 'image/svg+xml' }); const url = URL.createObjectURL(svg); const img1 = new Image(); img1.onload = () => { diff --git a/src/main/webapp/app/scanexam/scanexam.module.ts b/src/main/webapp/app/scanexam/scanexam.module.ts index 559de7a0..099b3f21 100644 --- a/src/main/webapp/app/scanexam/scanexam.module.ts +++ b/src/main/webapp/app/scanexam/scanexam.module.ts @@ -29,9 +29,9 @@ import { GraphicalToolbarComponent } from './annotate-template/paint/toolbar/too import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { EventHandlerService } from './annotate-template/paint/event-handler.service'; import { FabricShapeService } from './annotate-template/paint/shape.service'; -import { ColourPaletteComponent } from './annotate-template/paint/toolbar/colour-palette/colour-palette.component'; +import { ColourPaletteComponent } from './corrigequestion/toolbar/colour-palette/colour-palette.component'; import { FabricCanvasComponent } from './annotate-template/paint/fabric-canvas/fabric-canvas.component'; -import { ThicknessSliderComponent } from './annotate-template/paint/toolbar/thickness-slider/thickness-slider.component'; +import { ThicknessSliderComponent } from './corrigequestion/toolbar/thickness-slider/thickness-slider.component'; import { NgxExtendedPdfViewerModule } from 'ngx-extended-pdf-viewer'; import { QuestionpropertiesviewComponent } from './annotate-template/paint/questionpropertiesview/questionpropertiesview.component'; @@ -93,6 +93,7 @@ import { CheckboxModule } from 'primeng/checkbox'; import { ViewandreorderpagesComponent } from './viewandreorderpages/viewandreorderpages.component'; import { ProgressSpinnerModule } from 'primeng/progressspinner'; import { AllbindingsComponent } from './associer-copies-etudiants/allbindings/allbindings.component'; +import { FontsizeSliderComponent } from './corrigequestion/toolbar/fontsize-slider/fontsize-slider.component'; // set the location of the OpenCV files // registerAllModules(); @@ -461,6 +462,8 @@ export const CompareAnswer_ROUTE: Route = { ExportanonymoupdfComponent, ViewandreorderpagesComponent, AllbindingsComponent, + ColourPaletteComponent, + FontsizeSliderComponent, ], imports: [ CommonModule, diff --git a/src/main/webapp/app/scanexam/svg.util.ts b/src/main/webapp/app/scanexam/svg.util.ts new file mode 100644 index 00000000..fd12d9a1 --- /dev/null +++ b/src/main/webapp/app/scanexam/svg.util.ts @@ -0,0 +1,29 @@ +/* eslint-disable @typescript-eslint/explicit-function-return-type */ +import { Text, G } from '@svgdotjs/svg.js'; + +export const svgadapter = (node: any) => { + if (node instanceof Text) { + node.attr('svgjs:data', null); + // node.attr("font-size",node.attr("font-size")/this.scale) + const text = node.node; + if (text.childNodes.length > 0) { + const content = text.childNodes[0].textContent; + let x = text.children[0].getAttribute('x'); + let y = text.children[0].getAttribute('y'); + if (x === null) { + x = '0'; + } + if (y === null) { + y = '0'; + } + + (node.parent() as G).translate(+x, +y); + text.removeChild(text.childNodes[0]); + if (content) { + text.innerHTML = content; // text.childNodes[0].textContent + } else { + text.innerHTML = 'Text'; + } + } + } +}; diff --git a/src/main/webapp/app/scanexam/voircopie/event-canevasvoircopie-handler.service.ts b/src/main/webapp/app/scanexam/voircopie/event-canevasvoircopie-handler.service.ts index 4b8c1f04..2160f1e0 100644 --- a/src/main/webapp/app/scanexam/voircopie/event-canevasvoircopie-handler.service.ts +++ b/src/main/webapp/app/scanexam/voircopie/event-canevasvoircopie-handler.service.ts @@ -18,6 +18,7 @@ import { Injectable } from '@angular/core'; import { IComments } from '../../entities/comments/comments.model'; import { CommentsService } from '../../entities/comments/service/comments.service'; import { SVG, extend as SVGextend, Element as SVGElement, G, Text } from '@svgdotjs/svg.js'; +import { svgadapter } from '../svg.util'; @Injectable({ providedIn: 'root', @@ -41,30 +42,7 @@ export class EventCanevasVoirCopieHandlerService { draw = SVG(svg.split('\n').splice(2).join('\n')); } draw.scale(this.scale, this.scale, 0, 0); - const s2 = draw.svg((node: any) => { - if (node instanceof Text) { - node.attr('svgjs:data', null); - const text = node.node; - if (text.childNodes.length > 0) { - const content = text.childNodes[0].textContent; - let x = text.children[0].getAttribute('x'); - let y = text.children[0].getAttribute('y'); - if (x === undefined) { - x = '0'; - } - if (y === undefined) { - y = '0'; - } - (node.parent() as G).translate(+x!, +y!); - text.removeChild(text.childNodes[0]); - if (content) { - text.innerHTML = content; // text.childNodes[0].textContent - } else { - text.innerHTML = 'Text'; - } - } - } - }); + const s2 = draw.svg(svgadapter); fabric.loadSVGFromString(s2, (objects, options) => { // const obj = fabric.util.groupSVGElements(objects, options); if (objects.length > 0) { diff --git a/src/main/webapp/i18n/en/scanexammodule.json b/src/main/webapp/i18n/en/scanexammodule.json index 211c61d5..72dbc4b6 100644 --- a/src/main/webapp/i18n/en/scanexammodule.json +++ b/src/main/webapp/i18n/en/scanexammodule.json @@ -409,6 +409,12 @@ "nbreCore": "Number of cores used", "nbreCoreTooltip": "The more cores you use to perform this alignment operation, the more CPU and memory resources you will consume. Don't hesitate to lower this number if this step is too demanding on your browser.", "showAlignementOptionsTooltip": "Enables you to modify certain options associated with the sheet alignment algorithm", - "editCommentTooltip": "Edit the values for this comment (even if the title or description have not been defined beforehand)" + "editCommentTooltip": "Edit the values for this comment (even if the title or description have not been defined beforehand)", + "epaisseur": "Path thickness: ", + "epaisseurTooltip": "Used to adjust path thickness", + "fontsize": "Font size: ", + "fontsizeTooltip": "Used to adjust the font size", + "colour": "Color: ", + "colourTooltip": "Choice of color for text and lines" } } diff --git a/src/main/webapp/i18n/fr/scanexammodule.json b/src/main/webapp/i18n/fr/scanexammodule.json index 47936fd2..37781566 100644 --- a/src/main/webapp/i18n/fr/scanexammodule.json +++ b/src/main/webapp/i18n/fr/scanexammodule.json @@ -416,6 +416,12 @@ "nbreCore": "Nombre de coeur(s) utilisé(s)", "nbreCoreTooltip": "Plus vous utilisez un nombre de coeur élevé pour faire cet opération d'alignement, plus vous consomerez des resources CPU mais surtout mémoire. N'hésitez pas à descendre ce chiffres si cette étpe solicite trop votre navigateur", "showAlignementOptionsTooltip": "Permet de modifier certaines options associées à l'algorithme d'alignement des copies", - "editCommentTooltip": "Édition des valeurs de ce commentaire (même si le titre ou la description n'ont pas été définis au préalable)" + "editCommentTooltip": "Édition des valeurs de ce commentaire (même si le titre ou la description n'ont pas été définis au préalable)", + "epaisseur": "Épaisseur du trait : ", + "epaisseurTooltip": "Permet de régler l'épaisseur du trait", + "fontsize": "Taille de la font : ", + "fontsizeTooltip": "Permet de régler la taille de la font", + "colour": "Couleur : ", + "colourTooltip": "Choix de la couleur pour le texte et les traits" } } From 360b4b8b5876421f78d129dcd397b5f994fd2d80 Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Sun, 19 Nov 2023 11:32:44 +0100 Subject: [PATCH 06/21] keep the same order for comments --- .../corrigequestion.component.html | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html index 46780e56..3347c9ea 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html @@ -449,7 +449,7 @@

-
+
@@ -499,7 +499,7 @@

- +
{{ comment.text }}
@@ -513,7 +513,7 @@
{{ comment.text }}
/>
- +

{{ comment.description }}

@@ -543,7 +543,7 @@
{{ comment.text }}
>

-
+
{{ comment.text }}
@@ -553,7 +553,7 @@
-
+
{{ comment.text }}
- +
{{ comment.text }}
@@ -623,7 +623,7 @@
{{ comment.text }}
/>
- +

{{ comment.description }}

@@ -637,7 +637,7 @@
{{ comment.text }}
/>
- +

Note associée à ce commentaire : @@ -675,7 +675,7 @@

{{ comment.text }}
-
+
{{ comment.text }}
From 084f8e318574cf63a991a051cab7cafb495e5d0d Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Sun, 19 Nov 2023 16:36:35 +0100 Subject: [PATCH 07/21] close #391 --- .../corrigequestion.component.html | 15 +++++ .../corrigequestion.component.ts | 58 +++++++++++++++---- src/main/webapp/i18n/en/scanexammodule.json | 4 +- src/main/webapp/i18n/fr/scanexammodule.json | 4 +- 4 files changed, 68 insertions(+), 13 deletions(-) diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html index 3347c9ea..fb16a992 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html @@ -97,6 +97,21 @@

Layout options

+
+ + + +
+
+
diff --git a/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts b/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts index 07d45519..6bc40c4f 100644 --- a/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts +++ b/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts @@ -73,6 +73,7 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { uuid = ''; sheet: IExamSheet | undefined; resolve: any; + correctionLink: string | undefined; note = new Promise(resolve => { this.resolve = resolve; }); @@ -144,7 +145,7 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { this.questionindex = +params.get('questionno')! - 1; // Step 1 Query templates - + this.correctionLink = '/answer/' + this.exam.id! + '/' + params.get('questionno') + '/' + (this.currentStudent + 1); this.nbreFeuilleParCopie = this.sheet!.pagemax! - this.sheet!.pagemin! + 1; // Step 2 Query Scan in local DB this.finalize().then(() => { diff --git a/src/main/webapp/i18n/en/scanexammodule.json b/src/main/webapp/i18n/en/scanexammodule.json index f8e86ec2..8adaa648 100644 --- a/src/main/webapp/i18n/en/scanexammodule.json +++ b/src/main/webapp/i18n/en/scanexammodule.json @@ -417,6 +417,8 @@ "colour": "Color: ", "colourTooltip": "Choice of color for text and lines", "scalefactor": "Scaling :", - "scalefactorTooltip": "Used to change the page scaling factor" + "scalefactorTooltip": "Used to change the page scaling factor", + "gotoCorrection": "Go to correction view", + "gotoCorrectionTooltipView": "Used to go to the correction view when you are logged in as a teacher" } } diff --git a/src/main/webapp/i18n/fr/scanexammodule.json b/src/main/webapp/i18n/fr/scanexammodule.json index ae5b556e..d343cde1 100644 --- a/src/main/webapp/i18n/fr/scanexammodule.json +++ b/src/main/webapp/i18n/fr/scanexammodule.json @@ -424,6 +424,8 @@ "colour": "Couleur : ", "colourTooltip": "Choix de la couleur pour le texte et les traits", "scalefactor": "Mise à l'échelle :", - "scalefactorTooltip": "Permet de changer le facteur de mise à l'échelle" + "scalefactorTooltip": "Permet de changer le facteur de mise à l'échelle", + "gotoCorrection": "Aller à la correction", + "gotoCorrectionTooltipView": "Permet d'aller à la vue correction quand on est authentifié en tant que prof" } } From e58e312bf720cabd44020dc7250e7a4b30f3d8ea Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Thu, 23 Nov 2023 18:32:40 +0100 Subject: [PATCH 13/21] update --- .../voircopie/voircopie.component.html | 2 +- .../scanexam/voircopie/voircopie.component.ts | 30 ++++++++++++++++--- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/webapp/app/scanexam/voircopie/voircopie.component.html b/src/main/webapp/app/scanexam/voircopie/voircopie.component.html index a99c08c0..c465447c 100644 --- a/src/main/webapp/app/scanexam/voircopie/voircopie.component.html +++ b/src/main/webapp/app/scanexam/voircopie/voircopie.component.html @@ -54,7 +54,7 @@

Aucune bonne solution identifiée

diff --git a/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts b/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts index 6bc40c4f..834f9c75 100644 --- a/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts +++ b/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts @@ -149,6 +149,7 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { this.nbreFeuilleParCopie = this.sheet!.pagemax! - this.sheet!.pagemin! + 1; // Step 2 Query Scan in local DB this.finalize().then(() => { + this.initEmail(); this.populateBestSolutions(); }); } @@ -466,8 +467,17 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { return value; } } - getEmail(): string { + + email: string = ''; + + async initEmail() { if (this.selectionStudents !== undefined && this.exam !== undefined && this.questions !== undefined) { + const courseid = this.exam.courseId; + const emailsObj = await firstValueFrom( + this.http.get(this.applicationConfigService.getEndpointFor('api/getAllEmailProfs4course/' + courseid)), + ); + const emails: (string | undefined)[] = emailsObj.emails; + const firsName = this.selectionStudents![0].firstname!; const lastName = this.selectionStudents![0].name!; const examName = this.exam!.name!; @@ -495,12 +505,24 @@ ${firsName} `; if (this.translateService.currentLang === 'fr') { - return "mailto:?subject=Retour sur l'examen " + this.exam!.name + '&body=' + tfr; + this.email = + 'mailto:' + + emails.filter(e => e !== undefined && e !== '').join(',') + + "?subject=Retour sur l'examen " + + this.exam!.name + + '&body=' + + tfr; } else { - return 'mailto:?subject=Feedback on your ewam ' + this.exam!.name + '&body=' + ten; + this.email = + 'mailto:' + + emails.filter(e => e !== undefined && e !== '').join(',') + + '?subject=Feedback on your ewam ' + + this.exam!.name + + '&body=' + + ten; } } else { - return ''; + this.email = ''; } } From 7837d3a65e4b6b74ff00c20c88c6c27d4bbc9394 Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Fri, 24 Nov 2023 11:56:53 +0100 Subject: [PATCH 14/21] decrease comment size in minimized mode to show more comments in the page --- .../corrigequestion/corrigequestion.component.html | 11 ++++++----- .../corrigequestion/corrigequestion.component.scss | 7 +++++++ src/main/webapp/content/scss/global.scss | 14 +++++++++----- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html index fb16a992..3b62a1da 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html @@ -227,8 +227,9 @@

- + >
diff --git a/src/main/webapp/app/scanexam/annotate-template/paint/questionpropertiesview/questionpropertiesview.component.html b/src/main/webapp/app/scanexam/annotate-template/paint/questionpropertiesview/questionpropertiesview.component.html index d8e2aa0d..5f397fcc 100644 --- a/src/main/webapp/app/scanexam/annotate-template/paint/questionpropertiesview/questionpropertiesview.component.html +++ b/src/main/webapp/app/scanexam/annotate-template/paint/questionpropertiesview/questionpropertiesview.component.html @@ -1,4 +1,11 @@ - + diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html index c9465c4e..9bb8521b 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html @@ -373,7 +373,10 @@

+
@@ -465,7 +468,11 @@

-
+
@@ -569,7 +576,11 @@
-
+
-
+
Nouveau commentaire
From 8279a3c38fcfabe15954f0d9d07383df4ef12aea Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Sat, 25 Nov 2023 09:31:55 +0100 Subject: [PATCH 17/21] update default keyboard shortcut for each comment --- .../graded-comment/graded-comment.model.ts | 4 +- .../text-comment/text-comment.model.ts | 4 +- .../corrigequestion.component.html | 37 +++++++++++++----- .../corrigequestion.component.scss | 7 ++++ .../corrigequestion.component.ts | 39 +++++++++++++++++++ .../keyboardshortcut.component.ts | 36 ++++++++++++++++- .../toolbar/toolbar.component.scss | 4 -- src/main/webapp/content/scss/global.scss | 4 ++ 8 files changed, 119 insertions(+), 16 deletions(-) diff --git a/src/main/webapp/app/entities/graded-comment/graded-comment.model.ts b/src/main/webapp/app/entities/graded-comment/graded-comment.model.ts index 85f2706f..c5856d05 100644 --- a/src/main/webapp/app/entities/graded-comment/graded-comment.model.ts +++ b/src/main/webapp/app/entities/graded-comment/graded-comment.model.ts @@ -8,6 +8,7 @@ export interface IGradedComment { grade?: number | null; questionId?: number; studentResponses?: IStudentResponse[]; + shortcut?: string | string[]; } export class GradedComment implements IGradedComment { @@ -18,7 +19,8 @@ export class GradedComment implements IGradedComment { public description?: string | null, public grade?: number | null, public questionId?: number, - public studentResponses?: IStudentResponse[] + public studentResponses?: IStudentResponse[], + public shortcut?: string | string[], ) {} } diff --git a/src/main/webapp/app/entities/text-comment/text-comment.model.ts b/src/main/webapp/app/entities/text-comment/text-comment.model.ts index c482a8c0..103a1d15 100644 --- a/src/main/webapp/app/entities/text-comment/text-comment.model.ts +++ b/src/main/webapp/app/entities/text-comment/text-comment.model.ts @@ -7,6 +7,7 @@ export interface ITextComment { zonegeneratedid?: string | null; questionId?: number; studentResponses?: IStudentResponse[]; + shortcut?: string | string[]; } export class TextComment implements ITextComment { @@ -16,7 +17,8 @@ export class TextComment implements ITextComment { public description?: string | null, public zonegeneratedid?: string | null, public questionId?: number, - public studentResponses?: IStudentResponse[] + public studentResponses?: IStudentResponse[], + public shortcut?: string | string[], ) {} } diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html index 9bb8521b..7b35badf 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html @@ -39,6 +39,8 @@

(toggleGCommentById)="toggleGCommentById($event)" [examId]="+examId!" [questionindex]="questionindex4shortcut!" + [textcomments]="currentTextComment4Question" + [gradedcomments]="currentGradedComment4Question" > @@ -538,7 +540,9 @@
{{ comment.text }}
-

{{ comment.description }}

+

+ {{ comment.description }} ({{ comment.shortcut }}) +

{{ comment.text }}
>
-
- {{ comment.text }} -
+

+ {{ comment.text }} ({{ comment.shortcut }}) +

@@ -632,7 +642,9 @@
{{ comment.text }}
-

{{ comment.description }}

+

+ {{ comment.description }} ({{ comment.shortcut }}) +

@@ -652,7 +664,9 @@
{{ comment.text }}
-

{{ comment.description }}

+

+ {{ comment.description }} ({{ comment.shortcut }}) +

{{ comment.text }}
-
- {{ comment.text }} -
+

+ {{ comment.text }} ({{ comment.shortcut }}) +

diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.scss b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.scss index cb600984..f26b4360 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.scss +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.scss @@ -5,3 +5,10 @@ padding-top: 2pt; padding-bottom: 2pt; } + +.tooltipsmall { + font-size: xx-small; +} +small { + font-size: x-large; +} diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts index a0682039..c49cfabb 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts @@ -343,6 +343,7 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { }); } } + this.populateDefaultShortCut(); } this.showImage = new Array(questions.length); @@ -454,6 +455,37 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { active: Map = new Map(); + populateDefaultShortCut(): void { + const toRemove: number[] = []; + const comments: (IGradedComment | ITextComment)[] = []; + if (this.currentGradedComment4Question) { + comments.push(...this.currentGradedComment4Question); + } + if (this.currentTextComment4Question) { + comments.push(...this.currentTextComment4Question); + } + + if (this.keyboardShortcutService.getShortCutPreference().shortcuts.has(this.examId + '_' + this.questionindex)) { + const res: IKeyBoardShortCutPreferenceEntry[] = this.keyboardShortcutService + .getShortCutPreference() + .shortcuts.get(this.examId + '_' + this.questionindex)!; + res + .filter(e1 => e1.examId === +this.examId! && e1.questionIndex === +this.questionindex) + .forEach(entry => { + toRemove.push(entry.commentId); + const c2 = comments.filter(c => c.id === entry.commentId); + if (c2.length > 0) { + c2[0].shortcut = entry.key; + } + }); + } + for (const { index, comment } of comments.map((c1, i) => ({ index: i, comment: c1 }))) { + if (!toRemove.includes(comment.id!)) { + comment.shortcut = ['ctrl + ' + (index + 1), 'cmd + ' + (index + 1)]; + } + } + } + // eslint-disable-next-line @typescript-eslint/no-unused-vars editComment(comment: any) { this.active.set(comment.id, true); @@ -464,6 +496,8 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { this.testdisableAndEnableKeyBoardShortCut = false; this.shortCut4Comment = false; this.keyboardShortcutService.clearToDefault(); + this.populateDefaultShortCut(); + setTimeout(() => { (this.testdisableAndEnableKeyBoardShortCut = true), 300; }); @@ -515,6 +549,7 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { ]); } this.keyboardShortcutService.save(shorts); + this.populateDefaultShortCut(); this.commentShortcut = null; this.currentKeyBoardShorcut = ''; setTimeout(() => { @@ -747,6 +782,7 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { return new Promise((resolve, reject) => { this.gradedCommentService.create(comment).subscribe(e1 => { if (e1.body !== null) { + this.populateDefaultShortCut(); resolve(e1.body!); } else { reject(null); @@ -1079,6 +1115,7 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { this.resp = resp1.body!; (currentComment as any).checked = true; this.currentTextComment4Question?.push(currentComment); + this.populateDefaultShortCut(); this.titreCommentaire = ''; this.descCommentaire = ''; this.blocked = false; @@ -1101,6 +1138,8 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { (currentComment as any).checked = true; this.currentGradedComment4Question?.push(currentComment); + this.populateDefaultShortCut(); + this.computeNote(false, this.resp!, this.currentQuestion!); this.titreCommentaire = ''; this.descCommentaire = ''; diff --git a/src/main/webapp/app/scanexam/corrigequestion/keyboardshortcut/keyboardshortcut.component.ts b/src/main/webapp/app/scanexam/corrigequestion/keyboardshortcut/keyboardshortcut.component.ts index 4a26bb19..b932a1ea 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/keyboardshortcut/keyboardshortcut.component.ts +++ b/src/main/webapp/app/scanexam/corrigequestion/keyboardshortcut/keyboardshortcut.component.ts @@ -8,6 +8,8 @@ import { ActivatedRoute, Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { IKeyBoardShortCutPreferenceEntry, KeyboardShortcutService } from 'app/scanexam/preference-page/keyboardshortcut.service'; import { KeyboardShortcutsComponent, ShortcutInput } from 'ng-keyboard-shortcuts'; +import { IGradedComment } from '../../../entities/graded-comment/graded-comment.model'; +import { ITextComment } from '../../../entities/text-comment/text-comment.model'; @Component({ selector: 'jhi-keyboardshortcut', @@ -23,6 +25,11 @@ export class KeyboardshortcutComponent implements AfterViewInit { @Input() questionindex = 0; + @Input() + textcomments?: ITextComment[]; + @Input() + gradedcomments?: IGradedComment[]; + @Output() toggleTCommentById: EventEmitter = new EventEmitter(); @Output() @@ -34,7 +41,7 @@ export class KeyboardshortcutComponent implements AfterViewInit { protected activatedRoute: ActivatedRoute, protected router: Router, protected keyboardShortcutService: KeyboardShortcutService, - protected translateService: TranslateService + protected translateService: TranslateService, ) {} ngAfterViewInit(): void { @@ -42,6 +49,15 @@ export class KeyboardshortcutComponent implements AfterViewInit { } private installKeyBindings(): void { + const toRemove: number[] = []; + const comments: (IGradedComment | ITextComment)[] = []; + if (this.gradedcomments) { + comments.push(...this.gradedcomments); + } + if (this.textcomments) { + comments.push(...this.textcomments); + } + if (this.keyboardShortcutService.getShortCutPreference().shortcuts.has(this.examId + '_' + this.questionindex)) { const res: IKeyBoardShortCutPreferenceEntry[] = this.keyboardShortcutService .getShortCutPreference() @@ -50,6 +66,7 @@ export class KeyboardshortcutComponent implements AfterViewInit { .filter(e1 => e1.examId === +this.examId && e1.questionIndex === +this.questionindex) .forEach(entry => { const textComment = entry.textComment; + toRemove.push(entry.commentId); this.keyboardShortcuts.push({ key: entry.key, label: this.translateService.instant('gradeScopeIsticApp.comments.detail.title'), @@ -65,5 +82,22 @@ export class KeyboardshortcutComponent implements AfterViewInit { }); }); } + for (const { index, comment } of comments.map((c1, i) => ({ index: i, comment: c1 }))) { + if (!toRemove.includes(comment.id!)) { + this.keyboardShortcuts.push({ + key: ['ctrl + ' + (index + 1), 'cmd + ' + (index + 1)], + label: this.translateService.instant('gradeScopeIsticApp.comments.detail.title'), + description: 'toggle ' + comment.description, + command: () => { + if ('grade' in comment) { + this.toggleGCommentById.emit(comment.id); + } else { + this.toggleTCommentById.emit(comment.id); + } + }, + preventDefault: true, + }); + } + } } } diff --git a/src/main/webapp/app/scanexam/corrigequestion/toolbar/toolbar.component.scss b/src/main/webapp/app/scanexam/corrigequestion/toolbar/toolbar.component.scss index 7a81d369..b0be3d79 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/toolbar/toolbar.component.scss +++ b/src/main/webapp/app/scanexam/corrigequestion/toolbar/toolbar.component.scss @@ -9,7 +9,3 @@ img { width: 28px; } - -.selected { - background-color: grey; -} diff --git a/src/main/webapp/content/scss/global.scss b/src/main/webapp/content/scss/global.scss index c1467ef7..9e28b4fe 100644 --- a/src/main/webapp/content/scss/global.scss +++ b/src/main/webapp/content/scss/global.scss @@ -313,3 +313,7 @@ angular-cli removes postcss-rtl processed inline css, processed rules must be ad border: none; } } + +.p-tooltip-text small { + font-size: x-small; +} From 7c62a5fce1ead2e60065ef5c118abf44ac6a020c Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Sat, 25 Nov 2023 14:32:08 +0100 Subject: [PATCH 18/21] update comment shortcut default --- .../corrigequestion.component.html | 16 +++++++++++----- .../corrigequestion/corrigequestion.component.ts | 13 +++++++++++++ 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html index 7b35badf..01108e27 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html @@ -726,14 +726,20 @@
{{ comment.text }}

-
- {{ comment.text }} ( - + +

+ {{ comment.text }} (- + {{ comment.grade! / questionStep }} {{ comment.grade! }} - pt) -

+ pt) ({{ comment.shortcut }}) +

diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts index c49cfabb..37ebcfad 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts @@ -782,7 +782,11 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { return new Promise((resolve, reject) => { this.gradedCommentService.create(comment).subscribe(e1 => { if (e1.body !== null) { + this.testdisableAndEnableKeyBoardShortCut = false; this.populateDefaultShortCut(); + setTimeout(() => { + (this.testdisableAndEnableKeyBoardShortCut = true), 300; + }); resolve(e1.body!); } else { reject(null); @@ -1115,7 +1119,12 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { this.resp = resp1.body!; (currentComment as any).checked = true; this.currentTextComment4Question?.push(currentComment); + this.testdisableAndEnableKeyBoardShortCut = false; this.populateDefaultShortCut(); + setTimeout(() => { + (this.testdisableAndEnableKeyBoardShortCut = true), 300; + }); + this.titreCommentaire = ''; this.descCommentaire = ''; this.blocked = false; @@ -1138,7 +1147,11 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { (currentComment as any).checked = true; this.currentGradedComment4Question?.push(currentComment); + this.testdisableAndEnableKeyBoardShortCut = false; this.populateDefaultShortCut(); + setTimeout(() => { + (this.testdisableAndEnableKeyBoardShortCut = true), 300; + }); this.computeNote(false, this.resp!, this.currentQuestion!); this.titreCommentaire = ''; From 45966c79b09cf40ee6606e2f540e1d4063552bbc Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Sat, 25 Nov 2023 14:49:12 +0100 Subject: [PATCH 19/21] clean comment when changing questionno --- .../app/scanexam/corrigequestion/corrigequestion.component.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts index 37ebcfad..2b06dbe5 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts @@ -264,6 +264,9 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { } // eslint-disable-next-line no-constant-condition, @typescript-eslint/no-unnecessary-condition if (this.questionindex4shortcut !== questionindex4shortcut_prev) { + this.currentGradedComment4Question = []; + this.currentTextComment4Question = []; + if (params.get('questionno') !== null) { this.questionindex = +params.get('questionno')! - 1; } @@ -317,6 +320,7 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { } }); this.currentGradedComment4Question = com.body!; + this.currentGradedComment4Question.forEach(com1 => { this.active.set(com1.id!, false); }); From a7f2ce84ca7e368255659d1d81987b7b6bb2222b Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Sun, 26 Nov 2023 12:16:06 +0100 Subject: [PATCH 20/21] close #407 --- .../corrigequestion.component.html | 2 + .../corrigequestion.component.ts | 12 ++++- .../keyboardshortcut.component.ts | 35 +++++++----- .../voircopie/voircopie.component.html | 38 ++++++++++++- .../scanexam/voircopie/voircopie.component.ts | 54 +++++++++++++++++++ 5 files changed, 125 insertions(+), 16 deletions(-) diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html index 01108e27..fbf59dda 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.html @@ -275,6 +275,8 @@

Show full page diff --git a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts index 2b06dbe5..4ed44907 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts +++ b/src/main/webapp/app/scanexam/corrigequestion/corrigequestion.component.ts @@ -485,7 +485,16 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { } for (const { index, comment } of comments.map((c1, i) => ({ index: i, comment: c1 }))) { if (!toRemove.includes(comment.id!)) { - comment.shortcut = ['ctrl + ' + (index + 1), 'cmd + ' + (index + 1)]; + let sh = '' + (index + 1); + let createShortcut = true; + if (index + 1 > 9 && index + 1 < 36) { + sh = String.fromCharCode(87 + index + 1); + } else if (index + 1 >= 36) { + createShortcut = false; + } + if (createShortcut) { + comment.shortcut = ['ctrl + ' + sh, 'cmd + ' + sh]; + } } } } @@ -509,7 +518,6 @@ export class CorrigequestionComponent implements OnInit, AfterViewInit { saveShortCut() { this.testdisableAndEnableKeyBoardShortCut = false; - this.shortCut4Comment = false; const shorts = this.keyboardShortcutService.getShortCutPreference(); if (shorts.shortcuts.has(this.examId! + '_' + this.questionindex)) { diff --git a/src/main/webapp/app/scanexam/corrigequestion/keyboardshortcut/keyboardshortcut.component.ts b/src/main/webapp/app/scanexam/corrigequestion/keyboardshortcut/keyboardshortcut.component.ts index b932a1ea..f91317c7 100644 --- a/src/main/webapp/app/scanexam/corrigequestion/keyboardshortcut/keyboardshortcut.component.ts +++ b/src/main/webapp/app/scanexam/corrigequestion/keyboardshortcut/keyboardshortcut.component.ts @@ -84,19 +84,28 @@ export class KeyboardshortcutComponent implements AfterViewInit { } for (const { index, comment } of comments.map((c1, i) => ({ index: i, comment: c1 }))) { if (!toRemove.includes(comment.id!)) { - this.keyboardShortcuts.push({ - key: ['ctrl + ' + (index + 1), 'cmd + ' + (index + 1)], - label: this.translateService.instant('gradeScopeIsticApp.comments.detail.title'), - description: 'toggle ' + comment.description, - command: () => { - if ('grade' in comment) { - this.toggleGCommentById.emit(comment.id); - } else { - this.toggleTCommentById.emit(comment.id); - } - }, - preventDefault: true, - }); + let sh = '' + (index + 1); + let createShortcut = true; + if (index + 1 > 9 && index + 1 < 36) { + sh = String.fromCharCode(87 + index + 1); + } else if (index + 1 >= 36) { + createShortcut = false; + } + if (createShortcut) { + this.keyboardShortcuts.push({ + key: ['ctrl + ' + sh, 'cmd + ' + sh], + label: this.translateService.instant('gradeScopeIsticApp.comments.detail.title'), + description: 'toggle ' + comment.description, + command: () => { + if ('grade' in comment) { + this.toggleGCommentById.emit(comment.id); + } else { + this.toggleTCommentById.emit(comment.id); + } + }, + preventDefault: true, + }); + } } } } diff --git a/src/main/webapp/app/scanexam/voircopie/voircopie.component.html b/src/main/webapp/app/scanexam/voircopie/voircopie.component.html index c465447c..d78dd6af 100644 --- a/src/main/webapp/app/scanexam/voircopie/voircopie.component.html +++ b/src/main/webapp/app/scanexam/voircopie/voircopie.component.html @@ -4,6 +4,26 @@ + + +
+ +
+
+
@@ -19,7 +39,20 @@

-
+
+
+ +
+
+
>
+
+
+
diff --git a/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts b/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts index 834f9c75..488e079d 100644 --- a/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts +++ b/src/main/webapp/app/scanexam/voircopie/voircopie.component.ts @@ -82,6 +82,29 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { currentZoneVoirCopieHandler: ZoneVoirCopieHandler | undefined; scale = 1; windowWidth = 1; + + activeIndex = 1; + responsiveOptions2: any[] = [ + { + breakpoint: '1500px', + numVisible: 5, + }, + { + breakpoint: '1024px', + numVisible: 3, + }, + { + breakpoint: '768px', + numVisible: 2, + }, + { + breakpoint: '560px', + numVisible: 1, + }, + ]; + displayBasic = false; + images: any[] = []; + constructor( protected applicationConfigService: ApplicationConfigService, private http: HttpClient, @@ -163,6 +186,7 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { async finalize() { // this.courseService.find(this.exam!.courseId!).subscribe(e => (this.course = e.body!)); + this.images = []; // Step 4 Query zone 4 questions this.blocked = false; const b = await firstValueFrom(this.questionService.query({ examId: this.exam!.id })); @@ -214,6 +238,7 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { } reloadImage() { + this.images = []; this.questions!.forEach((q, i) => { this.showImage[i] = false; this.loadZone( @@ -348,6 +373,12 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { if (count === 0) { this.cacheUploadService.getNoAlignImage(this.exam!.id!, pageInscan).subscribe(body => { const image = JSON.parse(body, this.reviver); + this.images.push({ + src: image.pages, + alt: 'Description for Image 2', + title: 'Exam', + }); + db.addNonAligneImage({ examId: this.exam!.id!, pageNumber: pageInscan, @@ -359,6 +390,11 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { } else if (count > 0) { db.getFirstNonAlignImage(+this.exam!.id!, pageInscan).then(e2 => { const image = JSON.parse(e2!.value, this.reviver); + this.images.push({ + src: image.pages, + alt: 'Description for Image 2', + title: 'Exam', + }); this.loadImage1(image, pageInscan, zone, resolve); }); } else { @@ -374,6 +410,12 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { if (count === 0) { this.cacheUploadService.getAlignImage(this.exam!.id!, pageInscan).subscribe(body => { const image = JSON.parse(body, this.reviver); + this.images.push({ + src: image.pages, + alt: 'Description for Image 2', + title: 'Exam', + }); + db.addAligneImage({ examId: this.exam!.id!, pageNumber: pageInscan, @@ -385,6 +427,12 @@ export class VoirCopieComponent implements OnInit, AfterViewInit { } else if (count > 0) { db.getFirstAlignImage(+this.exam!.id!, pageInscan).then(e2 => { const image = JSON.parse(e2!.value, this.reviver); + this.images.push({ + src: image.pages, + alt: 'Description for Image 2', + title: 'Exam', + }); + this.loadImage1(image, pageInscan, zone, resolve); }); } else { @@ -544,10 +592,16 @@ ${firsName} @HostListener('window:resize', ['$event']) onResize(event: any) { + this.displayBasic = false; const old = this.windowWidth; this.windowWidth = event.target.innerWidth; if (old / event.target.innerWidth > 1.15 || old / event.target.innerWidth < 0.85) { this.reloadImage(); } } + + showGalleria(): void { + console.error(this.images.length, this.images); + this.displayBasic = true; + } } From 670b2e8b5f7e6ac970fc19f553b485efd00e348c Mon Sep 17 00:00:00 2001 From: Olivier Barais Date: Sun, 26 Nov 2023 21:16:18 +0100 Subject: [PATCH 21/21] update block for resultat view --- .../exam-detail/exam-detail.component.ts | 1 + .../resultatstudentcourse.component.ts | 92 +++++++++---------- 2 files changed, 47 insertions(+), 46 deletions(-) diff --git a/src/main/webapp/app/scanexam/exam-detail/exam-detail.component.ts b/src/main/webapp/app/scanexam/exam-detail/exam-detail.component.ts index 5e50f1c2..b156c8fc 100644 --- a/src/main/webapp/app/scanexam/exam-detail/exam-detail.component.ts +++ b/src/main/webapp/app/scanexam/exam-detail/exam-detail.component.ts @@ -203,6 +203,7 @@ export class ExamDetailComponent implements OnInit, CacheUploadNotification, Cac const ex2 = (this.students.map(s => s.examSheets) as any) .flat() .filter((ex1: any) => ex1.scanId === this.exam!.scanfileId && ex1.pagemin !== -1).length; + console.error(ex2, this.numberPagesInScan / this.nbreFeuilleParCopie, this.numberPagesInScan, this.nbreFeuilleParCopie); this.showCorrection = ex2 === this.numberPagesInScan / this.nbreFeuilleParCopie && this.showAssociation && this.showAlignement; }, () => { diff --git a/src/main/webapp/app/scanexam/resultatstudentcourse/resultatstudentcourse.component.ts b/src/main/webapp/app/scanexam/resultatstudentcourse/resultatstudentcourse.component.ts index 61408298..0f0747d0 100644 --- a/src/main/webapp/app/scanexam/resultatstudentcourse/resultatstudentcourse.component.ts +++ b/src/main/webapp/app/scanexam/resultatstudentcourse/resultatstudentcourse.component.ts @@ -64,7 +64,7 @@ export class ResultatStudentcourseComponent implements OnInit { this.mailabiBody = this.translate.instant('scanexam.mailabitemplate'); }); this.loadEtudiants(); - this.loadLibelle(); + // this.loadLibelle(); }); this.translate.onLangChange.subscribe(() => { this.translate.get('scanexam.mailtemplate').subscribe(data => { @@ -154,61 +154,61 @@ export class ResultatStudentcourseComponent implements OnInit { }); } - loadLibelle(): void { - this.blocked = true; - this.http.get(this.applicationConfigService.getEndpointFor('api/getLibelleQuestions/' + this.examid)).subscribe(s => { - // eslint-disable-next-line no-console - this.libelles = s as any; - this.blocked = false; - }); + async loadLibelle(): Promise { + const l = (await firstValueFrom( + this.http.get(this.applicationConfigService.getEndpointFor('api/getLibelleQuestions/' + this.examid)), + )) as any; + this.libelles = l; } exportExcel(): void { - import('xlsx').then(xlsx => { - let maxQuestion = 0; - this.studentsresult.forEach(res => { - // eslint-disable-next-line no-console - for (const key in res.notequestions) { - // eslint-disable-next-line no-prototype-builtins - if (res.notequestions.hasOwnProperty(key)) { - if (+key > maxQuestion) { - maxQuestion = +key; + this.loadLibelle().then(() => { + import('xlsx').then(xlsx => { + let maxQuestion = 0; + this.studentsresult.forEach(res => { + // eslint-disable-next-line no-console + for (const key in res.notequestions) { + // eslint-disable-next-line no-prototype-builtins + if (res.notequestions.hasOwnProperty(key)) { + if (+key > maxQuestion) { + maxQuestion = +key; + } } } - } - }); - this.studentsresult.forEach(res => { - for (let i = 1; i <= maxQuestion; i++) { - if (this.libelles[i] !== undefined && this.libelles[i] !== '') { - res['Q' + i + ' (' + this.libelles[i] + ')'] = undefined; - } else { - res['Q' + i] = undefined; + }); + this.studentsresult.forEach(res => { + for (let i = 1; i <= maxQuestion; i++) { + if (this.libelles[i] !== undefined && this.libelles[i] !== '') { + res['Q' + i + ' (' + this.libelles[i] + ')'] = undefined; + } else { + res['Q' + i] = undefined; + } } - } - }); + }); - this.studentsresult.forEach(res => { - if (res['note'] !== undefined) { - res['note'] = parseFloat(res['note'].replaceAll(',', '.')); - } - if (res['abi'] !== undefined) { - res['abi'] = !!res['abi']; - } - for (const key in res.notequestions) { - // eslint-disable-next-line no-prototype-builtins - if (res.notequestions.hasOwnProperty(key)) { - if (this.libelles[key] !== undefined && this.libelles[key] !== '') { - res['Q' + key + ' (' + this.libelles[key] + ')'] = parseFloat(res.notequestions[key].replaceAll(',', '.')); - } else { - res['Q' + key] = parseFloat(res.notequestions[key].replaceAll(',', '.')); + this.studentsresult.forEach(res => { + if (res['note'] !== undefined) { + res['note'] = parseFloat(res['note'].replaceAll(',', '.')); + } + if (res['abi'] !== undefined) { + res['abi'] = !!res['abi']; + } + for (const key in res.notequestions) { + // eslint-disable-next-line no-prototype-builtins + if (res.notequestions.hasOwnProperty(key)) { + if (this.libelles[key] !== undefined && this.libelles[key] !== '') { + res['Q' + key + ' (' + this.libelles[key] + ')'] = parseFloat(res.notequestions[key].replaceAll(',', '.')); + } else { + res['Q' + key] = parseFloat(res.notequestions[key].replaceAll(',', '.')); + } } } - } + }); + const worksheet = xlsx.utils.json_to_sheet(this.studentsresult); + const workbook = { Sheets: { data: worksheet }, SheetNames: ['data'] }; + const excelBuffer: any = xlsx.write(workbook, { bookType: 'xlsx', type: 'array' }); + this.saveAsExcelFile(excelBuffer, 'students'); }); - const worksheet = xlsx.utils.json_to_sheet(this.studentsresult); - const workbook = { Sheets: { data: worksheet }, SheetNames: ['data'] }; - const excelBuffer: any = xlsx.write(workbook, { bookType: 'xlsx', type: 'array' }); - this.saveAsExcelFile(excelBuffer, 'students'); }); }