From 99405a389486b022019faddfe06111c98637bb56 Mon Sep 17 00:00:00 2001 From: Zach Daniel Date: Mon, 6 Sep 2021 14:26:53 -0400 Subject: [PATCH] fix: don't guess on data matches w/ `sparse?: true` --- lib/ash_phoenix/form/form.ex | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/ash_phoenix/form/form.ex b/lib/ash_phoenix/form/form.ex index 5d41c9c..cf05590 100644 --- a/lib/ash_phoenix/form/form.ex +++ b/lib/ash_phoenix/form/form.ex @@ -485,7 +485,8 @@ defmodule AshPhoenix.Form do manage_relationship_source_changeset, name, id, - opts[:data_updates] || [] + opts[:data_updates] || [], + [data] ) %__MODULE__{ @@ -568,7 +569,8 @@ defmodule AshPhoenix.Form do manage_relationship_source_changeset, name, id, - opts[:data_updates] || [] + opts[:data_updates] || [], + [data] ) %__MODULE__{ @@ -2852,7 +2854,11 @@ defmodule AshPhoenix.Form do {match, rest} = List.pop_at(data, match_index) [match | rest] else - data + if opts[:sparse?] do + [nil | data] + else + data + end end end