From 724b0defc278317f8eb73f9d698d2f90d9062106 Mon Sep 17 00:00:00 2001 From: Zach Daniel Date: Mon, 6 Dec 2021 01:05:47 -0500 Subject: [PATCH] fix: allow the `as` option to be set --- lib/ash_phoenix/filter_form/filter_form.ex | 5 +++++ test/filter_form_test.exs | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/lib/ash_phoenix/filter_form/filter_form.ex b/lib/ash_phoenix/filter_form/filter_form.ex index 32c969f..f7b322a 100644 --- a/lib/ash_phoenix/filter_form/filter_form.ex +++ b/lib/ash_phoenix/filter_form/filter_form.ex @@ -21,6 +21,11 @@ defmodule AshPhoenix.FilterForm do doc: "Initial parameters to create the form with", default: %{} ], + as: [ + type: :string, + default: "filter", + doc: "Set the parameter name for the form." + ], transform_errors: [ type: :any, doc: """ diff --git a/test/filter_form_test.exs b/test/filter_form_test.exs index 6993226..4bf4e32 100644 --- a/test/filter_form_test.exs +++ b/test/filter_form_test.exs @@ -167,6 +167,16 @@ defmodule AshPhoenix.FilterFormTest do assert input_value(form, :operator) == :and end + test "the filter name can be overridden" do + filter_form = + FilterForm.new(Post, + params: %{field: :field, operator: :contains, value: ""}, + as: "resource_filter" + ) + + assert filter_form.name == "resource_filter" + end + test "the `:components` are available as nested forms" do form = Post @@ -180,6 +190,7 @@ defmodule AshPhoenix.FilterFormTest do assert [predicate_form] = inputs_for(form, :components) + assert form.name == "filter" assert form.name == form.source.name assert form.id == form.source.id assert predicate_form.name == predicate_form.source.id