From a0d65234483f204b3941018d8e6a5b6e21eb5040 Mon Sep 17 00:00:00 2001 From: Aram <37216945+alimpens@users.noreply.github.com> Date: Tue, 13 Feb 2024 10:59:45 +0100 Subject: [PATCH] [feat-5611]: change extra questions THOR Nautisch (#2820) * First part of THOR Nautisch questions * Implement rest of questions * Restore time selector * Restore changes to Olie op het water questionnaire --- .../overlast-op-het-water.test.ts | 15 +- .../overlast-op-het-water.ts | 212 ++++++++++++------ 2 files changed, 150 insertions(+), 77 deletions(-) diff --git a/src/signals/incident/definitions/wizard-step-2-vulaan/overlast-op-het-water.test.ts b/src/signals/incident/definitions/wizard-step-2-vulaan/overlast-op-het-water.test.ts index a885505b38..ec63e4006a 100644 --- a/src/signals/incident/definitions/wizard-step-2-vulaan/overlast-op-het-water.test.ts +++ b/src/signals/incident/definitions/wizard-step-2-vulaan/overlast-op-het-water.test.ts @@ -7,12 +7,15 @@ describe('definition overlast-op-het-water', () => { expect(keys).toStrictEqual([ 'locatie', 'dateTime', - 'extra_boten_snelheid_typeboot', - 'extra_boten_snelheid_rederij', - 'extra_boten_snelheid_naamboot', - 'extra_boten_snelheid_meer', - 'extra_boten_geluid_meer', - 'extra_boten_gezonken_meer', + 'extra_boten_frequentie', + 'extra_boten_moment', + 'extra_boten_beweging', + 'extra_boten_soort', + 'extra_boten_open_gesloten', + 'extra_boten_drijfkracht', + 'extra_boten_vast', + 'extra_boten_lekken', + 'extra_boten_meer', ]) }) }) diff --git a/src/signals/incident/definitions/wizard-step-2-vulaan/overlast-op-het-water.ts b/src/signals/incident/definitions/wizard-step-2-vulaan/overlast-op-het-water.ts index 4c799d25f6..b6e3111736 100644 --- a/src/signals/incident/definitions/wizard-step-2-vulaan/overlast-op-het-water.ts +++ b/src/signals/incident/definitions/wizard-step-2-vulaan/overlast-op-het-water.ts @@ -11,119 +11,189 @@ import locatie from './locatie' export const overlastOpHetWater = { locatie, dateTime: { + meta: { + ignoreVisibility: true, + label: 'Wanneer heeft u de overlast?', + canBeNull: true, + }, + options: { + validators: [falsyOrNumberOrNow, inPast, 'required'], + }, + render: QuestionFieldType.DateTimeInput, + }, + + extra_boten_frequentie: { meta: { ifOneOf: { subcategory: [ 'blokkade-van-de-vaarweg', 'overig-boten', 'overlast-op-het-water-geluid', - 'scheepvaart-nautisch-toezicht', - 'overlast-op-het-water-snel-varen', 'overlast-op-het-water-gezonken-boot', + 'overlast-op-het-water-snel-varen', + 'overlast-op-het-water-vaargedrag', ], }, - ignoreVisibility: true, - label: 'Wanneer was het?', - canBeNull: true, + values: { + ja: 'Ja, het gebeurt vaker', + nee: 'Nee, het is de eerste keer', + }, + label: 'Heeft u deze overlast al eerder gehad?', + shortLabel: 'Eerder overlast', + pathMerge: 'extra_properties', }, - options: { - validators: [falsyOrNumberOrNow, inPast], + render: QuestionFieldType.RadioInput, + }, + + extra_boten_moment: { + meta: { + ifAllOf: { + extra_boten_frequentie: 'ja', + }, + label: 'Op welke momenten van de dag hebt u de overlast?', + shortLabel: 'Overlast momenten', + pathMerge: 'extra_properties', }, - render: QuestionFieldType.DateTimeInput, + options: { validators: ['required'] }, + render: QuestionFieldType.TextInput, }, - extra_boten_snelheid_typeboot: { + + extra_boten_beweging: { meta: { - label: 'Wat voor type boot is het?', - shortLabel: 'Type boot', + ifOneOf: { + subcategory: [ + 'blokkade-van-de-vaarweg', + 'overig-boten', + 'overlast-op-het-water-geluid', + 'overlast-op-het-water-snel-varen', + 'overlast-op-het-water-vaargedrag', + ], + }, + values: { + ja: 'Ja, de boot ligt stil', + nee: 'Nee, de boot vaart', + }, + label: 'Ligt de boot stil?', + shortLabel: 'Beweging boot', pathMerge: 'extra_properties', + }, + render: QuestionFieldType.RadioInput, + }, + + extra_boten_soort: { + meta: { + ifOneOf: { + subcategory: [ + 'overig-boten', + 'overlast-op-het-water-geluid', + 'overlast-op-het-water-snel-varen', + 'overlast-op-het-water-vaargedrag', + ], + }, values: { - pleziervaart: 'Pleziervaart', - rondvaartboot_of_salonboot: 'Rondvaartboot of salonboot', - vrachtschip_of_binnenvaartschip: 'Vrachtschip of binnenvaartschip', + plezier: '(Plezier)boot in privé-eigendom', + rondvaart: 'Rondvaartboot of salonboot van rederij', + vracht: 'Vrachtschip of binnenvaartschip', + huur: 'Huurboot', overig: 'Overig', }, - ifAllOf: { - subcategory: 'overlast-op-het-water-snel-varen', - }, + label: 'Wat voor soort boot is het?', + shortLabel: 'Soort boot', + pathMerge: 'extra_properties', }, options: { validators: ['required'] }, render: QuestionFieldType.RadioInput, }, - extra_boten_snelheid_rederij: { + + extra_boten_open_gesloten: { meta: { - label: 'Wat is de naam van de rederij?', - shortLabel: 'Rederij', - pathMerge: 'extra_properties', - ifAllOf: { - subcategory: 'overlast-op-het-water-snel-varen', - extra_boten_snelheid_typeboot: 'rondvaartboot_of_salonboot', + ifOneOf: { + subcategory: [ + 'overig-boten', + 'overlast-op-het-water-geluid', + 'overlast-op-het-water-snel-varen', + 'overlast-op-het-water-vaargedrag', + ], }, + values: { + ja: 'Ja, het is een open boot (bijvoorbeeld een sloep, roeiboot, rondvaartboot met dak open)', + nee: 'Nee, het is een gesloten boot (bijvoorbeeld een rondvaartboot, salonboot, kajuitboot)', + onduidelijk: 'Ik kan het niet zien', + }, + label: 'Is het een open of een gesloten boot?', + shortLabel: 'Soort boot', + pathMerge: 'extra_properties', }, - render: QuestionFieldType.TextInput, + options: { validators: ['required'] }, + render: QuestionFieldType.RadioInput, }, - extra_boten_snelheid_naamboot: { + + extra_boten_drijfkracht: { meta: { - label: 'Wat is de naam van de boot?', - shortLabel: 'Naam boot', - pathMerge: 'extra_properties', - ifAllOf: { - subcategory: 'overlast-op-het-water-snel-varen', - ifOneOf: { - extra_boten_snelheid_typeboot: [ - 'pleziervaart', - 'rondvaartboot_of_salonboot', - 'vrachtschip_of_binnenvaartschip', - 'overig', - ], - }, + ifOneOf: { + subcategory: 'overlast-op-het-water-gezonken-boot', }, + values: { + ja: 'Ja, de boot ligt volledig onder water', + nee: 'Nee, de boot kan nog drijven', + }, + label: 'Ligt de boot volledig onder water of kan hij nog drijven?', + shortLabel: 'Drijfkracht', + pathMerge: 'extra_properties', }, - render: QuestionFieldType.TextInput, + render: QuestionFieldType.RadioInput, }, - extra_boten_snelheid_meer: { + + extra_boten_vast: { meta: { - label: 'Wat weet u nog meer over deze situatie?', - shortLabel: 'Extra informatie', - subtitle: - 'Bijvoorbeeld: de kleur van de boot, aantal passagiers, vaarrichting, Y of Vignet nummer etc.', - pathMerge: 'extra_properties', - ifAllOf: { - subcategory: 'overlast-op-het-water-snel-varen', - ifOneOf: { - extra_boten_snelheid_typeboot: [ - 'pleziervaart', - 'rondvaartboot_of_salonboot', - 'vrachtschip_of_binnenvaartschip', - 'overig', - ], - }, + ifOneOf: { + subcategory: 'overlast-op-het-water-gezonken-boot', + }, + values: { + ja: 'Ja, de boot ligt vast', + nee: 'Nee, de boot kan wegdrijven', }, + label: + 'Ligt de boot nog vast? Of kan de boot wegdrijven zodat hij de vaarweg blokkeert?', + shortLabel: 'Boot vast?', + pathMerge: 'extra_properties', }, - render: QuestionFieldType.TextareaInput, + render: QuestionFieldType.RadioInput, }, - extra_boten_geluid_meer: { + + extra_boten_lekken: { meta: { - label: 'Wat weet u nog meer over deze situatie?', - shortLabel: 'Extra informatie', - subtitle: - 'Bijvoorbeeld: waar de boot naar toe vaart, kleur van de boot, aantal passagiers, kenteken, vignet, etc.', - pathMerge: 'extra_properties', - ifAllOf: { - subcategory: 'overlast-op-het-water-geluid', + ifOneOf: { + subcategory: 'overlast-op-het-water-gezonken-boot', }, + values: { + ja: 'Ja, boot lekt vloeistof', + nee: 'Nee, boot lekt geen vloeistof', + weetniet: 'Weet ik niet', + }, + label: 'Lekt de boot olie of een andere vloeistof?', + shortLabel: 'Boot vast?', + pathMerge: 'extra_properties', }, - render: QuestionFieldType.TextareaInput, + render: QuestionFieldType.RadioInput, }, - extra_boten_gezonken_meer: { + + extra_boten_meer: { meta: { + ifOneOf: { + subcategory: [ + 'blokkade-van-de-vaarweg', + 'overig-boten', + 'overlast-op-het-water-geluid', + 'overlast-op-het-water-snel-varen', + 'overlast-op-het-water-vaargedrag', + ], + }, label: 'Wat weet u nog meer over deze situatie?', shortLabel: 'Extra informatie', subtitle: - 'Bijvoorbeeld: "er lekt olie", "gevaar voor andere boten", etc.', + 'Bijvoorbeeld: waar de boot naar toe vaart, naam boot, kleur van de boot, lengte en andere dingen die u opvallen, aantal passagiers', pathMerge: 'extra_properties', - ifAllOf: { - subcategory: 'overlast-op-het-water-gezonken-boot', - }, }, render: QuestionFieldType.TextareaInput, },