From 78ae147ba060d211d16f9682eab9286566332168 Mon Sep 17 00:00:00 2001 From: Cristen Jones Date: Wed, 5 Feb 2025 15:04:54 -0500 Subject: [PATCH 1/2] feedback: send data after dropdown is closed --- assets/ts/ui/autocomplete/config.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/assets/ts/ui/autocomplete/config.ts b/assets/ts/ui/autocomplete/config.ts index 36db602c9e..b5e71cff22 100644 --- a/assets/ts/ui/autocomplete/config.ts +++ b/assets/ts/ui/autocomplete/config.ts @@ -211,9 +211,11 @@ const TRIP_PLANNER = ({ pushToLiveView({}); }, onStateChange({ prevState, state }) { - // Send changed input text to LiveView - if (state.query !== prevState.query) { - const newInputData = state.query === "" ? {} : { name: state.query }; + const isCleared = state.query === ""; + const changedToClosedState = prevState.isOpen && !state.isOpen; + // Send changed input text to LiveView when leaving this input + if (changedToClosedState) { + const newInputData = isCleared ? {} : { name: state.query }; pushToLiveView(newInputData); } }, From 64893a889b7a044c6386927d0c5065807c647b90 Mon Sep 17 00:00:00 2001 From: Cristen Jones Date: Wed, 5 Feb 2025 15:08:26 -0500 Subject: [PATCH 2/2] feedback: add test --- test/dotcom/trip_plan/input_form_test.exs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test/dotcom/trip_plan/input_form_test.exs b/test/dotcom/trip_plan/input_form_test.exs index 7b73ed3a4f..c28affcd9e 100644 --- a/test/dotcom/trip_plan/input_form_test.exs +++ b/test/dotcom/trip_plan/input_form_test.exs @@ -60,6 +60,23 @@ defmodule Dotcom.TripPlan.InputFormTest do refute changeset.errors[:from] end + test "adds error if invalid location" do + changeset = + InputForm.changeset(%{ + "to" => %{ + "latitude" => "", + "longitude" => "", + "name" => Faker.Cat.breed(), + "stop_id" => "" + } + }) + + refute changeset.valid? + + expected_error = InputForm.error_message(:to) + assert {^expected_error, _} = changeset.errors[:to] + end + test "adds error if from & to are the same" do changeset = InputForm.changeset(%{