From 47ddb0d18c7b1facf3672da9f5172a435dcb3ffe Mon Sep 17 00:00:00 2001 From: Ivan Gabriele Date: Thu, 4 Jan 2024 08:13:23 +0100 Subject: [PATCH 1/4] Empty contact name when switching to custom name in control unit dialog --- ...yITests.kt.kt => JpaReportingRepositoryITests.kt} | 12 ++++++------ .../ControlUnitContactList/FormikNameSelect.tsx | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) rename backend/src/test/kotlin/fr/gouv/cacem/monitorenv/infrastructure/database/repositories/{JpaReportingRepositoryITests.kt.kt => JpaReportingRepositoryITests.kt} (98%) diff --git a/backend/src/test/kotlin/fr/gouv/cacem/monitorenv/infrastructure/database/repositories/JpaReportingRepositoryITests.kt.kt b/backend/src/test/kotlin/fr/gouv/cacem/monitorenv/infrastructure/database/repositories/JpaReportingRepositoryITests.kt similarity index 98% rename from backend/src/test/kotlin/fr/gouv/cacem/monitorenv/infrastructure/database/repositories/JpaReportingRepositoryITests.kt.kt rename to backend/src/test/kotlin/fr/gouv/cacem/monitorenv/infrastructure/database/repositories/JpaReportingRepositoryITests.kt index c9896bc38a..5e4d647902 100644 --- a/backend/src/test/kotlin/fr/gouv/cacem/monitorenv/infrastructure/database/repositories/JpaReportingRepositoryITests.kt.kt +++ b/backend/src/test/kotlin/fr/gouv/cacem/monitorenv/infrastructure/database/repositories/JpaReportingRepositoryITests.kt @@ -122,7 +122,7 @@ class JpaReportingRepositoryITests : AbstractDBTests() { existingReportingDTO.reporting.copy( missionId = 38, attachedToMissionAtUtc = - ZonedDateTime.parse("2023-04-01T00:00:00Z"), + ZonedDateTime.parse("2023-04-01T00:00:00Z"), ), ) assertThat(reportingWithMissionDTO.reporting.attachedEnvActionId).isNull() @@ -132,7 +132,7 @@ class JpaReportingRepositoryITests : AbstractDBTests() { jpaReportingRepository.save( reportingWithMissionDTO.reporting.copy( attachedEnvActionId = - UUID.fromString("e2257638-ddef-4611-960c-7675a3254c38"), + UUID.fromString("e2257638-ddef-4611-960c-7675a3254c38"), ), ) @@ -346,7 +346,7 @@ class JpaReportingRepositoryITests : AbstractDBTests() { jpaReportingRepository.save( existingReportingDTO.reporting.copy( attachedEnvActionId = - UUID.fromString("e2257638-ddef-4611-960c-7675a3254c38"), + UUID.fromString("e2257638-ddef-4611-960c-7675a3254c38"), ), ) } @@ -373,7 +373,7 @@ class JpaReportingRepositoryITests : AbstractDBTests() { existingReportingDTO.reporting.copy( missionId = 42, attachedEnvActionId = - UUID.fromString("e2257638-ddef-4611-960c-7675a3254c38"), + UUID.fromString("e2257638-ddef-4611-960c-7675a3254c38"), ), ) } @@ -398,7 +398,7 @@ class JpaReportingRepositoryITests : AbstractDBTests() { existingReportingDTO.reporting.copy( missionId = 100, attachedToMissionAtUtc = - ZonedDateTime.parse("2023-04-01T00:00:00Z"), + ZonedDateTime.parse("2023-04-01T00:00:00Z"), ), ) } @@ -421,7 +421,7 @@ class JpaReportingRepositoryITests : AbstractDBTests() { jpaReportingRepository.save( existingReportingDTO.reporting.copy( detachedFromMissionAtUtc = - ZonedDateTime.parse("2023-04-01T00:00:00Z"), + ZonedDateTime.parse("2023-04-01T00:00:00Z"), ), ) } diff --git a/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitContactList/FormikNameSelect.tsx b/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitContactList/FormikNameSelect.tsx index 801e870db0..1463e9b8e3 100644 --- a/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitContactList/FormikNameSelect.tsx +++ b/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitContactList/FormikNameSelect.tsx @@ -31,6 +31,7 @@ export function FormikNameSelect() { (nextName: string | undefined) => { if (nextName === 'SWITCH_TO_CUSTOM_NAME') { setIsCustomName(true) + helpers.setValue(undefined) return } From 26ed3bc26d8963c6029877f5922ba995ae715be4 Mon Sep 17 00:00:00 2001 From: Ivan Gabriele Date: Thu, 4 Jan 2024 08:24:12 +0100 Subject: [PATCH 2/4] Reset textareas value on cancel in control unit dialog --- .../ControlUnitDialog/shared/TextareaForm.tsx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/frontend/src/features/ControlUnit/components/ControlUnitDialog/shared/TextareaForm.tsx b/frontend/src/features/ControlUnit/components/ControlUnitDialog/shared/TextareaForm.tsx index d775730289..fb75434c66 100644 --- a/frontend/src/features/ControlUnit/components/ControlUnitDialog/shared/TextareaForm.tsx +++ b/frontend/src/features/ControlUnit/components/ControlUnitDialog/shared/TextareaForm.tsx @@ -14,6 +14,15 @@ export function TextareaForm({ controlUnit, isLabelHidden, label, name, onSubmit const [isEditing, setIsEditing] = useState(false) const [value, setValue] = useState(controlUnit[name]) + const cancel = () => { + setIsEditing(false) + setValue(controlUnit[name]) + } + + const edit = () => { + setIsEditing(true) + } + const moveCursorToEnd = useCallback((event: ChangeEvent) => { event.target.setSelectionRange(event.target.value.length, event.target.value.length) }, []) @@ -31,10 +40,6 @@ export function TextareaForm({ controlUnit, isLabelHidden, label, name, onSubmit setIsEditing(false) } - const toggleIsEditing = useCallback(() => { - setIsEditing(!isEditing) - }, [isEditing]) - if (isEditing) { return (
@@ -51,7 +56,7 @@ export function TextareaForm({ controlUnit, isLabelHidden, label, name, onSubmit value={value} />
- @@ -64,7 +69,7 @@ export function TextareaForm({ controlUnit, isLabelHidden, label, name, onSubmit <> {!isLabelHidden && } {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions */} - + {controlUnit[name]} From 079540a0419a7efb7c47a40088b6753892d1a708 Mon Sep 17 00:00:00 2001 From: Ivan Gabriele Date: Thu, 4 Jan 2024 11:43:54 +0100 Subject: [PATCH 3/4] Truncate long contact notes in control unit dialog --- .../ControlUnitDialog/ControlUnitResourceList/Item.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitResourceList/Item.tsx b/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitResourceList/Item.tsx index f9a6918aaa..b96a2f6a23 100644 --- a/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitResourceList/Item.tsx +++ b/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitResourceList/Item.tsx @@ -1,4 +1,5 @@ import { Accent, Icon, IconButton } from '@mtes-mct/monitor-ui' +import { truncate } from 'lodash/fp' import { useCallback } from 'react' import styled from 'styled-components' @@ -31,7 +32,8 @@ export function Item({ controlUnitResource, onEdit }: ItemProps) {
-

{controlUnitResource.note}

+ {/* 120 chars ~= 3 lines */} + {controlUnitResource.note &&

{truncate({ length: 120 }, controlUnitResource.note)}

} ) From 5594e9e4f981a1886eb3f8cdc3919d29874b2640 Mon Sep 17 00:00:00 2001 From: Ivan Gabriele Date: Thu, 4 Jan 2024 18:08:54 +0100 Subject: [PATCH 4/4] Truncate long resource notes in control unit dialog in CSS --- .../ControlUnitResourceList/Item.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitResourceList/Item.tsx b/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitResourceList/Item.tsx index b96a2f6a23..bd471a9310 100644 --- a/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitResourceList/Item.tsx +++ b/frontend/src/features/ControlUnit/components/ControlUnitDialog/ControlUnitResourceList/Item.tsx @@ -1,5 +1,4 @@ import { Accent, Icon, IconButton } from '@mtes-mct/monitor-ui' -import { truncate } from 'lodash/fp' import { useCallback } from 'react' import styled from 'styled-components' @@ -32,8 +31,7 @@ export function Item({ controlUnitResource, onEdit }: ItemProps) { - {/* 120 chars ~= 3 lines */} - {controlUnitResource.note &&

{truncate({ length: 120 }, controlUnitResource.note)}

} + {controlUnitResource.note && {controlUnitResource.note}} ) @@ -53,9 +51,9 @@ const InfoBox = styled.div` const InfoBoxHeader = styled.div` display: flex; + margin-bottom: 8px; color: ${p => p.theme.color.gunMetal}; - > div:first-child { display: flex; flex-direction: column; @@ -63,6 +61,13 @@ const InfoBoxHeader = styled.div` } ` +const Note = styled.div` + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + display: -webkit-box; + overflow: hidden; +` + const Name = styled.p` font-weight: bold; `