chore: resolve warnings/dialyzer

This commit is contained in:
Zach Daniel 2021-07-18 13:40:54 -04:00
parent f6f28d93ae
commit 31d5aa5f96
5 changed files with 45 additions and 33 deletions

View file

@ -156,7 +156,7 @@ defmodule AshAdmin.Components.Resource.DataTable do
<div class="px-4 sm:p-6">
<Form
:if={{ @query }}
as="query"
as={{ :query }}
for={{ @query }}
change="validate"
submit="save"

View file

@ -138,7 +138,7 @@ defmodule AshAdmin.Components.Resource.Form do
tables={{ @tables }}
/>
<Form
as="action"
as={{ :action }}
for={{ :action }}
change="change_action"
opts={{id: @id <> "_action_form"}}
@ -978,29 +978,7 @@ defmodule AshAdmin.Components.Resource.Form do
AshPhoenix.Form.update_form(
socket.assigns.form,
path,
fn adding_form ->
current_value =
adding_form.source
|> Phoenix.HTML.FormData.input_value(nil, String.to_existing_atom(field))
|> List.wrap()
|> Enum.with_index()
|> Map.new(fn {value, index} ->
{to_string(index), value}
end)
new_value = Map.delete(current_value, index)
new_value =
if new_value == %{} do
nil
else
new_value
end
new_params = Map.put(adding_form.params, field, new_value)
AshPhoenix.Form.validate(adding_form, new_params)
end
&remove_value(&1, field, index)
)
path =
@ -1068,6 +1046,40 @@ defmodule AshAdmin.Components.Resource.Form do
assign(socket, :targets, MapSet.put(old_targets, Enum.map(target, &to_string/1)))
end
defp remove_value(form, field, index) do
current_value =
form.source
|> Phoenix.HTML.FormData.input_value(
Phoenix.HTML.Form.form_for(form, "foo"),
String.to_existing_atom(field)
)
|> case do
map when is_map(map) ->
map
list ->
list
|> List.wrap()
|> Enum.with_index()
|> Map.new(fn {value, index} ->
{to_string(index), value}
end)
end
new_value = Map.delete(current_value, index)
new_value =
if new_value == %{} do
nil
else
new_value
end
new_params = Map.put(form.params, field, new_value)
AshPhoenix.Form.validate(form, new_params)
end
defp params(params, socket) do
targets = socket.assigns[:targets] || MapSet.new()

View file

@ -14,7 +14,7 @@ defmodule AshAdmin.Components.Resource.SelectTable do
~H"""
<div>
<div :if={{ @resource && AshAdmin.Resource.polymorphic?(@resource) }}>
<Form as="table" for={{ :table }} change={{ @on_change }}>
<Form as={{ :table }} for={{ :table }} change={{ @on_change }}>
<FieldContext name="table">
<Label>Table</Label>
<Select selected={{ @table }} options={{ @tables || [] }} />

View file

@ -87,13 +87,13 @@ defmodule AshAdmin.MixProject do
defp deps do
[
{:ash, "~> 1.46 and >= 1.46.9"},
{:ash_phoenix, "~> 0.4.23-rc1"},
{:surface, "~> 0.3.2"},
{:ash_phoenix, "~> 0.5"},
{:surface, "~> 0.4.1"},
{:phoenix_live_view, "~> 0.15.4"},
{:phoenix_html, "~> 2.14.1 or ~> 2.15"},
{:jason, "~> 1.0"},
# Dev dependencies
{:surface_formatter, "~> 0.3.1", only: [:dev, :test]},
{:surface_formatter, "~> 0.4.1", only: [:dev, :test]},
{:plug_cowboy, "~> 2.0", only: [:dev, :test]},
{:phoenix_live_reload, "~> 1.2", only: [:dev, :test]},
{:ash_postgres, "~> 0.35.4", only: [:dev, :test]},

View file

@ -1,6 +1,6 @@
%{
"ash": {:hex, :ash, "1.46.9", "8c2428786c12bbd0b9fd961600355bb80ce95b510b4aec737fdd096359bcb60e", [:mix], [{:comparable, "~> 1.0", [hex: :comparable, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.4", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8.0", [hex: :ets, repo: "hexpm", optional: false]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.3.5", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.1.5", [hex: :picosat_elixir, repo: "hexpm", optional: false]}, {:timex, ">= 3.0.0", [hex: :timex, repo: "hexpm", optional: false]}], "hexpm", "493d64692dd6e37f88a8614af1ac71c0c27db836d4400c3791e72d1b14efaef8"},
"ash_phoenix": {:hex, :ash_phoenix, "0.4.23", "8e5cfaec04a43c77a093dd0c52d2b163b1d3e506ea62452503c293069bfb0bae", [:mix], [{:ash, "~> 1.46", [hex: :ash, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.5.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.15", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "4d13d96465cf34b3c4e8adc00123091a03035dfb0a5d1a28a5ec8471cb876a4a"},
"ash_phoenix": {:hex, :ash_phoenix, "0.5.0", "af0aba6dd3a413782b2c731453b5de1710e2f7ed0cf789d9b0df1cbaa3fc4df1", [:mix], [{:ash, "~> 1.46.8", [hex: :ash, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.5.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.15", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "21b48f16cb1ae6093e1e960192b2d8e103e49de9b0c3a5e32cd15c584d303a5f"},
"ash_policy_authorizer": {:hex, :ash_policy_authorizer, "0.16.0", "18b2352facf8f860458bf81aeed481ced9a7e13e8eb2826e7ae714bf0fbd4792", [:mix], [{:ash, "~> 1.35 and >= 1.35.1", [hex: :ash, repo: "hexpm", optional: false]}], "hexpm", "40b2fd1071a60da1404c5a133f43bf416f5cb2c4f7313a7949b638340f482a61"},
"ash_postgres": {:hex, :ash_postgres, "0.35.4", "f72b0780c839f588888985578aa0a03ae027f4e460fbeab4ddf209f97f794c77", [:mix], [{:ash, "~> 1.34 and >= 1.34.6", [hex: :ash, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.5", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: false]}], "hexpm", "cba9e3ad50b1888dbb4623d80b88b75997f94912e088e69554259f9f00543a98"},
"bunt": {:hex, :bunt, "0.2.0", "951c6e801e8b1d2cbe58ebbd3e616a869061ddadcc4863d0a2182541acae9a38", [:mix], [], "hexpm", "7af5c7e09fe1d40f76c8e4f9dd2be7cebd83909f31fee7cd0e9eadc567da8353"},
@ -16,7 +16,7 @@
"decimal": {:hex, :decimal, "2.0.0", "a78296e617b0f5dd4c6caf57c714431347912ffb1d0842e998e9792b5642d697", [:mix], [], "hexpm", "34666e9c55dea81013e77d9d87370fe6cb6291d1ef32f46a1600230b1d44f577"},
"dialyxir": {:hex, :dialyxir, "1.1.0", "c5aab0d6e71e5522e77beff7ba9e08f8e02bad90dfbeffae60eaf0cb47e29488", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "07ea8e49c45f15264ebe6d5b93799d4dd56a44036cf42d0ad9c960bc266c0b9a"},
"earmark": {:hex, :earmark, "1.4.14", "d04572cef64dd92726a97d92d714e38d6e130b024ea1b3f8a56e7de66ec04e50", [:mix], [{:earmark_parser, ">= 1.4.12", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "df338b8b1852ee425180b276c56c6941cb12220e04fe8718fe4acbdd35fd699f"},
"earmark_parser": {:hex, :earmark_parser, "1.4.12", "b245e875ec0a311a342320da0551da407d9d2b65d98f7a9597ae078615af3449", [:mix], [], "hexpm", "711e2cc4d64abb7d566d43f54b78f7dc129308a63bc103fbd88550d2174b3160"},
"earmark_parser": {:hex, :earmark_parser, "1.4.13", "0c98163e7d04a15feb62000e1a891489feb29f3d10cb57d4f845c405852bbef8", [:mix], [], "hexpm", "d602c26af3a0af43d2f2645613f65841657ad6efc9f0e361c3b6c06b578214ba"},
"ecto": {:hex, :ecto, "3.5.8", "8ebf12be6016cb99313348ba7bb4612f4114b9a506d6da79a2adc7ef449340bc", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ea0be182ea8922eb7742e3ae8e71b67ee00ae177de1bf76210299a5f16ba4c77"},
"ecto_sql": {:hex, :ecto_sql, "3.5.4", "a9e292c40bd79fff88885f95f1ecd7b2516e09aa99c7dd0201aa84c54d2358e4", [:mix], [{:db_connection, "~> 2.2", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.5.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.3.0 or ~> 0.4.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.15.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "1fff1a28a898d7bbef263f1f3ea425b04ba9f33816d843238c84eff883347343"},
"elixir_make": {:hex, :elixir_make, "0.6.2", "7dffacd77dec4c37b39af867cedaabb0b59f6a871f89722c25b28fcd4bd70530", [:mix], [], "hexpm", "03e49eadda22526a7e5279d53321d1cced6552f344ba4e03e619063de75348d9"},
@ -55,8 +55,8 @@
"ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"},
"sobelow": {:hex, :sobelow, "0.11.1", "23438964486f8112b41e743bbfd402da3e5b296fdc9eacab29914b79c48916dd", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "9897363a7eff96f4809304a90aad819e2ad5e5d24db547af502885146746a53c"},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"},
"surface": {:hex, :surface, "0.3.2", "e80be602ab5f441bc10491e452768692c80036aeb9fc1c6b854061dd3584ea46", [:mix], [{:earmark, "~> 1.3", [hex: :earmark, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.15.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "209d7a58763300b182fa2e41b3f22b5d0e16b2ef62e3cbd5e8c34a9d3e795439"},
"surface_formatter": {:hex, :surface_formatter, "0.3.1", "c5efb638d24d1b7890bc5c8ce98f75e9ca8d890872a68cf93f416b77008310a3", [:mix], [{:surface, "~> 0.3.1", [hex: :surface, repo: "hexpm", optional: false]}], "hexpm", "016049d5e4502a6ec5380edf1804c221424004bf99bd5b868c55fb7816c37287"},
"surface": {:hex, :surface, "0.4.1", "baecbf1f0e008ad19ef5a971e9db4ca1d69e8d72bb6cdae7a09f2bdc3bb4975f", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.15", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "aa60074ccc3ad05db2b866275da159bf13e3c7f7810ebc0f8a098b44e10e58ad"},
"surface_formatter": {:hex, :surface_formatter, "0.4.1", "1f98b0751e010e94fca722fe6a8fecd03315e9e59d4f7ec3e5609e05d2051e9f", [:mix], [{:surface, "~> 0.4.0", [hex: :surface, repo: "hexpm", optional: false]}], "hexpm", "3dc3c4cabb06315a8f502ee4f240a33a2770830efef1f4b082d29e1e2a307e20"},
"telemetry": {:hex, :telemetry, "0.4.3", "a06428a514bdbc63293cd9a6263aad00ddeb66f608163bdec7c8995784080818", [:rebar3], [], "hexpm", "eb72b8365ffda5bed68a620d1da88525e326cb82a75ee61354fc24b844768041"},
"timex": {:hex, :timex, "3.7.5", "3eca56e23bfa4e0848f0b0a29a92fa20af251a975116c6d504966e8a90516dfd", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 1.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "a15608dca680f2ef663d71c95842c67f0af08a0f3b1d00e17bbd22872e2874e4"},
"typable": {:hex, :typable, "0.3.0", "0431e121d124cd26f312123e313d2689b9a5322b15add65d424c07779eaa3ca1", [:mix], [], "hexpm", "880a0797752da1a4c508ac48f94711e04c86156f498065a83d160eef945858f8"},