Skip to content

Commit a635e80

Browse files
hissalhtyaaax
authored andcommitted
Remplace les instances de Tiptap par du HTML généré sur le rapport (#1080)
* render html from tiptap json and organize tiptap files * use tiptap renderer in tiptap debug page * add tiptap renderer to transverse criterium note * update changelog
1 parent 5226975 commit a635e80

15 files changed

Lines changed: 307 additions & 291 deletions

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Tous les changements notables de Ara sont documentés ici avec leur date, leur catégorie (nouvelle fonctionnalité, correction de bug ou autre changement) et leur pull request (PR) associée.
44

5+
## 24/04/2025
6+
7+
### Corrections 🐛
8+
9+
- Corrige les erreurs et recommendations des éléments transverses affichés au format JSON ([#1080](https://github.com/DISIC/Ara/pull/1080))
10+
511
## 23/04/2025
612

713
### Corrections 🐛

confiture-web-app/src/components/audit/AuditGenerationCriterium.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import {
2020
handleFileDeleteError,
2121
handleFileUploadError
2222
} from "../../utils";
23-
import MarkdownRenderer from "../ui/MarkdownRenderer.vue";
23+
import TiptapRenderer from "../tiptap/TiptapRenderer.vue";
2424
import { RadioColor } from "../ui/Radio.vue";
2525
import RadioGroup from "../ui/RadioGroup.vue";
2626
import CriteriumCompliantAccordion from "./CriteriumCompliantAccordion.vue";
@@ -336,10 +336,10 @@ const showTransverseStatus = computed(() => {
336336
</button>
337337
</div>
338338

339-
<MarkdownRenderer
339+
<TiptapRenderer
340340
v-if="showTransverseComment && transverseComment"
341+
:document="transverseComment"
341342
class="fr-mt-5w"
342-
:markdown="transverseComment"
343343
/>
344344
</div>
345345

confiture-web-app/src/components/audit/CriteriumCompliantAccordion.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
22
import { useIsOffline } from "../../composables/useIsOffline";
3-
import Tiptap from "../ui/Tiptap.vue";
3+
import TiptapEditor from "../tiptap/TiptapEditor.vue";
44
import LazyAccordion from "./LazyAccordion.vue";
55
66
defineProps<{
@@ -23,7 +23,7 @@ const title = "Points d’amélioration";
2323
<p :id="`criterum-comment-field-${id}`" class="fr-label fr-sr-only">
2424
{{ title }}
2525
</p>
26-
<Tiptap
26+
<TiptapEditor
2727
:model-value="comment"
2828
:labelled-by="`criterum-comment-field-${id}`"
2929
:disabled="isOffline"

confiture-web-app/src/components/audit/CriteriumNotApplicableAccordion.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
22
import { useIsOffline } from "../../composables/useIsOffline";
3-
import Tiptap from "../ui/Tiptap.vue";
3+
import TiptapEditor from "../tiptap/TiptapEditor.vue";
44
import LazyAccordion from "./LazyAccordion.vue";
55
66
defineProps<{ id: string; comment: string | null }>();
@@ -20,7 +20,7 @@ const title = "Commentaire";
2020
<p :id="`criterum-comment-field-${id}`" class="fr-label fr-sr-only">
2121
{{ title }}
2222
</p>
23-
<Tiptap
23+
<TiptapEditor
2424
:model-value="comment"
2525
:labelled-by="`criterum-comment-field-${id}`"
2626
:disabled="isOffline"

confiture-web-app/src/components/audit/CriteriumNotCompliantAccordion.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import { useIsOffline } from "../../composables/useIsOffline";
55
import { FileErrorMessage } from "../../enums";
66
import { AuditFile, CriterionResultUserImpact } from "../../types";
77
import { formatUserImpact } from "../../utils";
8+
import TiptapEditor from "../tiptap/TiptapEditor.vue";
89
import FileUpload from "../ui/FileUpload.vue";
910
import { RadioColor } from "../ui/Radio.vue";
1011
import RadioGroup from "../ui/RadioGroup.vue";
11-
import Tiptap from "../ui/Tiptap.vue";
1212
import LazyAccordion from "./LazyAccordion.vue";
1313
1414
export interface Props {
@@ -73,7 +73,7 @@ function onFileRequestFinished() {
7373
}
7474
7575
const lazyAccordionRef = ref<InstanceType<typeof LazyAccordion>>();
76-
const commentEditorRef = ref<InstanceType<typeof Tiptap>>();
76+
const commentEditorRef = ref<InstanceType<typeof TiptapEditor>>();
7777
7878
let hasJustBeenSetAsNotCompliant = false;
7979
@@ -107,7 +107,7 @@ const title = "Erreur et recommandation";
107107
<p :id="`criterum-comment-field-${id}`" class="fr-label fr-sr-only">
108108
{{ title }}
109109
</p>
110-
<Tiptap
110+
<TiptapEditor
111111
ref="commentEditorRef"
112112
class="fr-mb-4w"
113113
:model-value="comment"

confiture-web-app/src/components/audit/NotesModal.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import { FileErrorMessage } from "../../enums";
88
import { useAuditStore } from "../../store/audit";
99
import { AuditFile, StoreName } from "../../types";
1010
import { handleFileDeleteError, handleFileUploadError } from "../../utils";
11+
import TiptapEditor from "../tiptap/TiptapEditor.vue";
1112
import DsfrModal from "../ui/DsfrModal.vue";
1213
import FileUpload from "../ui/FileUpload.vue";
13-
import Tiptap from "../ui/Tiptap.vue";
1414
import SaveIndicator from "./SaveIndicator.vue";
1515
1616
defineProps<{
@@ -105,7 +105,7 @@ function handleDeleteFile(file: AuditFile) {
105105
<p id="audit-notes" class="fr-label">
106106
Remarques et recommandations générales
107107
</p>
108-
<Tiptap
108+
<TiptapEditor
109109
v-model="notes"
110110
class="fr-mb-4w"
111111
labelled-by="audit-notes"

confiture-web-app/src/components/report/ReportErrorCriterium.vue

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
getUploadUrl,
1111
isTiptapDocumentEmpty
1212
} from "../../utils";
13-
import Tiptap from "../ui/Tiptap.vue";
13+
import TiptapRenderer from "../tiptap/TiptapRenderer.vue";
1414
1515
defineProps<{
1616
error: ReportCriteriumResult;
@@ -63,11 +63,12 @@ function getCriteriumTitle(topicNumber: number, criteriumNumber: number) {
6363
</ul>
6464

6565
<!-- Error -->
66-
<Tiptap
67-
v-if="!isTiptapDocumentEmpty(error.notCompliantComment)"
68-
:class="{ 'fr-mb-3w': chunk(error.exampleImages, 2).length }"
69-
:model-value="error.notCompliantComment"
70-
:editable="false"
66+
<TiptapRenderer
67+
v-if="
68+
error.notCompliantComment &&
69+
!isTiptapDocumentEmpty(error.notCompliantComment)
70+
"
71+
:document="error.notCompliantComment"
7172
/>
7273

7374
<p v-else>

confiture-web-app/src/components/report/ReportImprovementCriterium.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { marked } from "marked";
44
import rgaa from "../../criteres.json";
55
import { CriteriumResultStatus } from "../../types";
66
import { formatStatus, isTiptapDocumentEmpty } from "../../utils";
7-
import Tiptap from "../ui/Tiptap.vue";
7+
import TiptapRenderer from "../tiptap/TiptapRenderer.vue";
88
99
defineProps<{
1010
topic: number;
@@ -46,10 +46,9 @@ function getCriteriumTitle(topicNumber: number, criteriumNumber: number) {
4646
{{ formatStatus(status) }}
4747
</p>
4848

49-
<Tiptap
50-
v-if="!isTiptapDocumentEmpty(comment)"
51-
:model-value="comment"
52-
:editable="false"
49+
<TiptapRenderer
50+
v-if="comment && !isTiptapDocumentEmpty(comment)"
51+
:document="comment"
5352
/>
5453
</div>
5554
</template>

confiture-web-app/src/components/report/ReportNotes.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { computed } from "vue";
33
44
import { useReportStore } from "../../store";
55
import { isTiptapDocumentEmpty } from "../../utils";
6+
import TiptapRenderer from "../tiptap/TiptapRenderer.vue";
67
import FileUpload from "../ui/FileUpload.vue";
7-
import Tiptap from "../ui/Tiptap.vue";
88
99
const report = useReportStore();
1010
@@ -13,11 +13,11 @@ const files = computed(() => report.data?.notesFiles);
1313

1414
<template>
1515
<h2 class="fr-sr-only">Notes</h2>
16-
<Tiptap
17-
v-if="!isTiptapDocumentEmpty(report.data?.notes)"
18-
:model-value="report.data?.notes"
19-
:editable="false"
16+
<TiptapRenderer
17+
v-if="report.data?.notes && !isTiptapDocumentEmpty(report.data?.notes)"
18+
:document="report.data?.notes"
2019
/>
20+
2121
<h3 v-if="files?.length" class="fr-text--sm">Pièces jointes</h3>
2222
<FileUpload
2323
v-if="files"

confiture-web-app/src/components/ui/TiptapButton.vue renamed to confiture-web-app/src/components/tiptap/TiptapButton.vue

File renamed without changes.

0 commit comments

Comments
 (0)