Commit graph

394 commits

Author SHA1 Message Date
Zach Daniel
a658a8085b fix: when validating, use empty starting point for forms 2022-06-28 23:54:14 -04:00
Zach Daniel
42fec6fab4 improvement: helper functions around ignoring forms 2022-06-28 22:31:44 -04:00
Zach Daniel
a554cd9a07 improvement: allow forms to be ignored 2022-06-28 22:28:44 -04:00
Zach Daniel
6ba516aeaa WIP 2022-06-28 22:22:38 -04:00
Zach Daniel
e8bf9d648d chore: add explanation for add_form oddities 2022-06-21 18:33:03 -04:00
Zach Daniel
ec9aca942e Revert "improvement: pass generated form params in when validating"
This reverts commit b54d49074c.
2022-06-21 18:27:57 -04:00
Zach Daniel
e9466d1e12 Revert "improvement: trialing treating all form parameters as strings for keys/values"
This reverts commit 0307ff190c.
2022-06-21 18:27:44 -04:00
Zach Daniel
0307ff190c improvement: trialing treating all form parameters as strings for keys/values
This is experimental, and may be reverted later
2022-06-21 01:29:00 -04:00
Zach Daniel
b54d49074c improvement: pass generated form params in when validating 2022-06-21 00:05:35 -04:00
Zach Daniel
677be37d31 improvement: add read_one? option to submit 2022-06-18 16:31:24 -04:00
Zach Daniel
6505b44452 improvement: track and submit only touched fields by default 2022-06-17 15:11:42 -04:00
Zach Daniel
1873357f61 fix: include forms when !touched_forms 2022-06-13 21:51:48 -04:00
Zach Daniel
d9f2ed5e9a improvement: add set_params option 2022-06-10 13:13:50 -04:00
Zach Daniel
45db36d350 improvement: add filter option to params/2 2022-06-07 21:58:11 -04:00
Zach Daniel
be10b3cd07 fix: keep added? on validate 2022-06-06 13:08:36 -04:00
Zach Daniel
27761afcf0 fix: set changed after add and remove form 2022-06-06 12:51:15 -04:00
Zach Daniel
e66d4445cb improvement: add api_opts to submit 2022-06-01 15:56:06 -04:00
Zach Daniel
fa68ae1180 chore: optimize out some to_form calls
fixes #48
2022-05-31 12:05:08 -04:00
Zach Daniel
09f673751b chore: fix tests 2022-05-28 21:20:54 -04:00
Zach Daniel
d80a87c062 fix: handle case where certain actions are not present 2022-05-25 22:40:26 -04:00
Zach Daniel
6f48087e9f fix: properly call destroy action with changeset 2022-05-23 02:25:07 -04:00
Darren Black
142bbc3b52
fix: Fix validate_opts when single form (#44) 2022-05-22 02:08:43 -04:00
Zach Daniel
de56e1d20a fix: pass error state down to nested forms properly
closes #41
2022-05-20 11:05:28 -04:00
Zach Daniel
a840ca94a0 fix: ensure list forms are always [] after remove_form
closes #42
2022-05-19 10:34:44 -04:00
Zach Daniel
3f0e3788e2 fix: add opts to for_action in add_form
closes #41
2022-05-19 10:26:11 -04:00
Zach Daniel
b660254248 improvement: add validate_opts to add/remove_form 2022-05-19 00:19:24 -04:00
Zach Daniel
873317aa79 fix: validate after adding/removing forms 2022-05-17 11:06:41 -04:00
Zach Daniel
12b27461b6 fix: don't remove a form unless one exists 2022-05-16 22:42:01 -04:00
Zach Daniel
50f6a108b4 fix: raise error on non-existant resource for api 2022-05-16 16:09:38 -04:00
kernel-io
89af1acd41
fix: respect touched forms in params generation (#37) 2022-05-13 20:45:07 -04:00
Zach Daniel
8488ba3eaf chore: add to touched_forms on add/remove form 2022-05-13 10:41:10 -04:00
Zach Daniel
3d69d41fd7 fix: explicitly set as and id in matched form 2022-05-12 19:38:08 -04:00
Zach Daniel
35a4628946 fix: sequence manually matched forms
improvement: add `produce` option to `params`
2022-05-12 18:51:35 -04:00
Zach Daniel
56f11c7422 chore: fix build 2022-05-09 15:53:58 -04:00
Zach Daniel
4c013819d0 fix: synthetically cast attributes in read forms
fix: raise explicitly on non-existent action
2022-05-09 15:45:57 -04:00
Zach Daniel
728df80432 improvement: remove more managed relationship context
improvement: set a _form error field
2022-05-04 03:02:12 -04:00
Zach Daniel
6b1223b7f8 improvement: removed source changesets as they are gone from ash
improvement: add destroy_action/destroy_resource for forms
2022-05-04 02:08:13 -04:00
kernel-io
66a1b4002f
improvement: fix & clarify logic in do_decode_path/4 (#35) 2022-04-29 23:20:54 -04:00
kernel-io
3829807631
improvement: handle nil paths in do_decode_path/4 (#34) 2022-04-29 22:48:07 -04:00
kernel-io
37d02e20cb
improvement: use Map.get instead of direct key access (#33)
Co-authored-by: kernel-io <git@omnium.co>
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2022-04-25 12:24:46 -04:00
Zach Daniel
367e893598 fix: bad key access in keep_live 2022-04-06 21:58:52 -04:00
Zach Daniel
9de0ff8778 improvement: support data option on add_form 2022-03-22 16:54:10 -04:00
Zach Daniel
89db16968d fix: show hidden fields for read actions 2022-03-21 22:42:34 -04:00
Zach Daniel
a8223ecc09 fix: add pkey ids as params when creating read forms from data 2022-03-21 22:34:50 -04:00
Zach Daniel
f5357b5af4 fix: track data properly for reads generated from data 2022-03-21 22:24:19 -04:00
Zach Daniel
c7bf6ee272 fix: handle read_actions with data 2022-03-21 22:05:05 -04:00
Zach Daniel
82933c6bfa Revert "Revert "fix: fetch data for read_actions as well""
This reverts commit 922f11c815.
2022-03-21 21:52:53 -04:00
Zach Daniel
922f11c815 Revert "fix: fetch data for read_actions as well"
This reverts commit 1234071dfe.
2022-03-21 21:31:32 -04:00
Zach Daniel
1234071dfe fix: fetch data for read_actions as well 2022-03-21 21:18:23 -04:00
Zach Daniel
be10fb666e improvement: add after_fetch option to keep_live 2022-03-20 20:31:43 -04:00
Zach Daniel
2104ec8850 fix: don't create forms unnecessarily 2022-02-17 14:57:10 -05:00
Zach Daniel
f400a9fc1f fix: properly restrict errors to the current form 2022-01-14 19:06:47 -05:00
Zach Daniel
6f011a55fe chore: update tests/docs 2021-12-28 22:30:06 -05:00
Frank Dugan III
e1f0e66f23
fix: Fix logic for change detection of boolean defaults (#31) 2021-12-21 21:34:10 -05:00
Zach Daniel
b590e8ff72 fix: check for operators first
improvement: don't return ids by default
2021-12-06 14:17:30 -05:00
Zach Daniel
b8fae705a5 fix: properly set nested names 2021-12-06 01:13:40 -05:00
Zach Daniel
2b44ee50d5 chore: fix compiler warning 2021-12-06 01:07:20 -05:00
Zach Daniel
724b0defc2 fix: allow the as option to be set 2021-12-06 01:05:47 -05:00
Zach Daniel
6e21815628 improvement: better default name, just use ids elsewhere 2021-12-06 00:30:00 -05:00
Zach Daniel
076d9fe356 fix: properly set params on validate 2021-12-05 21:51:35 -05:00
Zach Daniel
6f9bc82895 fix: set proper form ids and names 2021-12-05 21:17:26 -05:00
Zach Daniel
4c4ca71609 fix: support only predicate in params 2021-12-05 20:24:08 -05:00
Zach Daniel
332046e824 improvement: to_filter -> to_filter_expression 2021-12-02 16:41:04 -05:00
Zach Daniel
9671841bf6 fix: don't make operators externally, only %Call{} structs 2021-12-02 15:58:22 -05:00
Zach Daniel
8ee53e4bfc improvement: better sanitized parameters
improvement: add params_for_query
2021-12-02 12:52:14 -05:00
Zach Daniel
0687568299 improvement: expose paths for filters
improvement: simple error handling patterns for filter forms
2021-12-02 03:12:18 -05:00
Zach Daniel
a61a7763cc chore: release version v0.6.0-rc.0 2021-12-01 15:28:59 -05:00
Zach Daniel
6e26f89fd1 feat: new FilterForm for building forms to produce Ash.Filters 2021-12-01 15:28:38 -05:00
Zach Daniel
dcc7edfaa7 WIP on filter_form 2021-11-29 21:40:46 -05:00
Zach Daniel
0d6a20ff5f fix: typo on checking if errors are set to the same value as before 2021-11-12 22:10:33 -05:00
Zach Daniel
1fe82efd04 chore: add a test trying to reproduce an issue
chore: update locked version of ash
2021-11-10 15:11:22 -05:00
Zach Daniel
b2fa924bbf fix: pass matcher in correct argument position 2021-11-09 02:25:46 -05:00
Zach Daniel
80777883f8 improvement: support custom matcher experimental 2021-11-09 02:17:11 -05:00
Zach Daniel
3f3c83dfa4 improvement: don't rebuild a form when params haven't changed 2021-11-08 17:26:24 -05:00
Zach Daniel
4eabe074af improvement: use existing forms on validate, instead of rebuilding 2021-11-08 04:47:12 -05:00
Zach Daniel
a8b6a7d1e5 improvement: enrich but also simplify changed? behavior 2021-11-06 14:12:53 -04:00
Zach Daniel
3c56731aae improvement: add a .changed? field 2021-11-06 12:15:50 -04:00
Zach Daniel
be5c0de5f1 fix: fix some error transforming logic 2021-10-21 18:42:09 -04:00
Zach Daniel
8f5b0f9df7 fix: forms now receive an error if no nested path matches the error path 2021-10-21 18:13:33 -04:00
kernel-io
ed062a3007
bugfix: fix typo (#28) 2021-10-16 22:08:03 -04:00
Zach Daniel
5326b2d198 fix: ensure transform_errors is never unset
improvement: always pass errors to `transform_errors/2`
2021-09-30 15:24:46 -04:00
kernel-io
eacf05487b
improvement: improve typespec on errors/2 (#27)
Co-authored-by: kernel-io <git@omnium.co>
2021-09-30 15:24:40 -04:00
Zach Daniel
d6f5f3266f fix: only include primary key's in hidden 2021-09-15 12:55:23 -04:00
Zach Daniel
d707fc3884 improvement: work on LiveView being available for regular sockets
fix: don't show hidden primary keys
2021-09-14 17:17:21 -04:00
Zach Daniel
4e077aa46f fix: don't add forms for remaining data 2021-09-06 22:43:06 -04:00
Zach Daniel
99405a3894 fix: don't guess on data matches w/ sparse?: true 2021-09-06 14:26:53 -04:00
Zach Daniel
4a0ae07118 fix: handle forms for to_one relationships with data better 2021-09-06 13:18:22 -04:00
Zach Daniel
2075d4e975 improvement: experimental Form.params options
fix: don't allow embeds to be sparse
2021-08-27 01:46:21 -04:00
Zach Daniel
ce9e7fc639 chore: add back in sparse forms, but fix ordering issue 2021-08-25 00:58:57 -04:00
Zach Daniel
2bd8a09b64 Revert "fix: remove sparse lists"
This reverts commit 8e2c34d9d0.
2021-08-25 00:47:49 -04:00
Zach Daniel
8e2c34d9d0 fix: remove sparse lists 2021-08-25 00:21:36 -04:00
Zach Daniel
0fd1709f89 fix: don't fallback to list with index sort 2021-08-24 23:47:00 -04:00
Zach Daniel
5cb09cac87 fix: only access params["_touched"] w/ map params 2021-08-24 00:46:32 -04:00
Zach Daniel
71f12f6806 fix: don't check params in get_changing_value/2 2021-08-18 01:38:38 -04:00
Zach Daniel
f208edf6e8 fix: don't check params for attributes/arguments in input_value/2 2021-08-18 01:34:08 -04:00
Zach Daniel
deeea97049 improvement: add hidden option to params
improvement: implement error protocol for invalid relationship
2021-08-16 10:56:08 -04:00
Zach Daniel
f194e157ae improvement: undo some data tracking changes that didn't work
improvement: continue improving sparse forms
2021-08-15 11:30:46 -04:00
Zach Daniel
f5b1d56936 improvement: more work on sparse forms 2021-08-12 18:15:13 -04:00
Zach Daniel
f9a49bc3f5 chore: fix lint 2021-08-11 21:02:08 -04:00
Zach Daniel
942c69dafb improvement: track touched forms for saner removal cases
improvement: add `sparse?` option for list forms
improvement: add auto options, including sparse forms and relationship_fetcher
2021-08-11 18:48:52 -04:00
Zach Daniel
b7a61d78a0 fix: if data was nilled, don't make a form with it 2021-08-11 01:32:09 -04:00
Zach Daniel
48df4c1eb5 improvement: customize relationship fetcher (experimental)
fix: attempt to fix data removal for to_one relationships
2021-08-11 01:27:07 -04:00
Zach Daniel
aa97ffe2f2 chore: release version v0.5.9 2021-08-05 02:07:36 -04:00
Zach Daniel
e43ab34f2a fix: don't return NotLoaded from input_value
improvement: add `Form.value/2`
2021-08-03 22:59:04 -04:00
Zach Daniel
6c8e92bd65 improvement: retain original data for form submission
improvement: update to latest ash
2021-08-01 13:19:01 -04:00
Jason Axelson
2d024dc250
docs: Various doc fixes (#22) 2021-07-24 21:51:16 -04:00
Zach Daniel
3ddc3793f7 fix: fix type signature of Form.errors/2 2021-07-23 13:20:26 -04:00
Zach Daniel
24cbc780de improvement: add Form.errors/2, deprecate Form.errors_for/3 2021-07-21 21:52:04 -04:00
Zach Daniel
b904af654c fix: don't consider www. as part of the host 2021-07-21 01:00:43 -04:00
Zach Daniel
7f29471916 chore: remove commented out code 2021-07-20 12:02:52 -04:00
Zach Daniel
60ad428974 docs: better liveview example 2021-07-20 10:49:14 -04:00
Zach Daniel
afd094da6a docs: add api option to docs 2021-07-20 10:45:20 -04:00
Zach Daniel
77e0a6337f fix: track data modifications and execute them again 2021-07-20 10:23:36 -04:00
Zach Daniel
5d64d77aed fix: only prepend to data when necessary 2021-07-20 01:46:19 -04:00
Darren Black
380a67a1fa
fix: Fix remove form path when a nested single (#19) 2021-07-20 01:00:44 -04:00
Darren Black
843923cb65
fix: Add form to single (#18) 2021-07-20 00:42:46 -04:00
Zach Daniel
54a4b76832 fix: actually reindex this time 2021-07-19 23:04:36 -04:00
Zach Daniel
d0bfdf37d9 fix: reindex after remove form 2021-07-19 22:29:34 -04:00
Darren Black
8194e433cb
improvement: Improve error message when incorrect api configured for resource (#15) 2021-07-19 00:58:46 -04:00
Darren Black
c861cc9092
fix: Fix nested form naming (#14) 2021-07-18 22:07:54 -04:00
Zach Daniel
d1889a5bfb fix: set form aliases properly
improvement: move `api` to initial form creation option
2021-07-18 19:20:25 -04:00
Zach Daniel
b058f6b276 fix: ensure existing forms is a list before adding 2021-07-18 17:09:04 -04:00
Zach Daniel
ff40864c6b improvement: alter behavior of params option to submit
improvement: add `set_data/2`
2021-07-18 12:43:59 -04:00
Darren Black
e8d8aebaa3
fix: Fix default form id when :as provided (#12) 2021-07-18 12:28:47 -04:00
Zach Daniel
2af4024562 improvement: lots of improvements around errors
improvement: track submission states
fix: various auto form fixes
2021-07-18 02:55:08 -04:00
Zach Daniel
f36e6c30f2 fix: always pass forms down 2021-07-17 16:06:15 -04:00
Zach Daniel
948dde6f4b fix: show forms on single
fix: always List.wrap() forms
2021-07-17 14:52:18 -04:00
Zach Daniel
e8da89bdbc improvement: add AshPhoenix.update_form/3
docs: add docs for special cases of auto forms
2021-07-17 14:17:05 -04:00
Zach Daniel
75bb281348 improvement: id defaults to name 2021-07-16 21:16:56 -04:00
Zach Daniel
080508c1f7 fix: set manage_opts properly 2021-07-16 21:03:48 -04:00
Zach Daniel
0508ff48d5 improvement: add auto?: true flag 2021-07-16 20:40:49 -04:00
Zach Daniel
c81568508e improvement: update to latest ash 2021-07-16 20:20:46 -04:00
Zach Daniel
ea9ec350cd test: add another test for validation errors
fix: don't set data unless necessary
2021-07-16 19:58:14 -04:00
Darren Black
8378a38713
fix: Wrap single items on to_form (#8) 2021-07-16 18:23:07 -04:00
Zach Daniel
b9f4b4345a chore: update docs 2021-07-16 17:03:55 -04:00
Zach Daniel
42c6612641 improvement: add destroy error message 2021-07-16 16:55:52 -04:00
Zach Daniel
defbf581dc improvement: first edition of auto forms 2021-07-16 16:50:36 -04:00
Zach Daniel
1eee011e26
chore: more documentation (#7)
Co-authored-by: Darren Black <dblack@totaltrash.net>
2021-07-15 14:43:11 -04:00
Zach Daniel
d7ec7da419
improvement: refactor forms with new data structure AshPhoenix.Form (#6)
Co-authored-by: Darren Black <dblack@totaltrash.net>
2021-07-15 14:09:15 -04:00
Zach Daniel
a7b2296d43 chore: refactor the use_data? change 2021-07-12 17:37:06 -04:00
Zach Daniel
9350101bb5 improvement: add use_data? opt to add_related
test: add some tests for `add_related`
fix: don't assume an empty map is an indexed map
2021-07-12 17:19:06 -04:00
Darren Black
5e3e6e02e3
docs: Minor doc formatting fixes (#4) 2021-07-09 22:30:30 -04:00
Zach Daniel
6c84e96c8d fix: handle ash core revert 2021-06-24 18:27:37 -04:00
Zach Daniel
554286516d chore: release version v0.4.22-rc1 2021-06-24 17:49:31 -04:00
Zach Daniel
c7e6e8264e fix: use new ash type primitives 2021-06-24 17:43:56 -04:00
Zach Daniel
434b0da801 fix: map_input_to_list on manage 2021-06-13 22:14:02 -04:00
Zach Daniel
f8f4cea62e fix: understand indexed lists in relationship data 2021-06-13 22:11:43 -04:00
Zach Daniel
26d24b4801 imorovement: add_to_path when 0th item is updating 2021-06-13 21:25:04 -04:00
Zach Daniel
d5a485e068 fix: fix case where "lists" weren't properly added to
test: add unit tests for `add_to_path/3`
2021-06-13 20:23:14 -04:00
Zach Daniel
2874070ff8 fix: use proper input params for embeds 2021-05-14 02:35:33 -04:00
Zach Daniel
98e26a9544 improvement: various improvements to relationship manipulation functions
fix: add removed embeds to hidden fields
2021-05-14 00:34:01 -04:00
Zach Daniel
b896735091 fix: support for to many rels as to_one manipulations 2021-05-12 20:15:08 -04:00
Zach Daniel
025b6e0058 improvement: track manage_relationship_source, as a utility 2021-05-10 17:44:54 -04:00
Zach Daniel
bde7926ed1 fix: ensure error message is always a string 2021-05-10 13:18:41 -04:00
Zach Daniel
5c3ea08838 fix: support embeds in relationships 2021-04-27 14:18:48 -04:00
Zach Daniel
c3c4ce11be fix: remove IO.inspect (facepalm) 2021-04-17 15:32:37 -04:00
Zach Daniel
7b618a8816 fix: support proper nested embedded appends 2021-04-17 15:24:58 -04:00
Zach Daniel
7ed71ba4df improvement: add add_value/4 and remove_value/3 helpers 2021-04-16 13:04:37 -04:00
Zach Daniel
68809250aa chore: fix lint/dialyzer 2021-04-14 13:34:29 -04:00
Zach Daniel
45970eb163 fix: check for managed relationship before embedded input 2021-04-14 13:28:53 -04:00
Zach Daniel
6f8e41b468 fix: handle empty error fields 2021-04-06 10:10:38 -04:00
Darren Black
650d38e7ad Add form errors for invalid arguments 2021-03-31 17:42:39 +11:00
Zach Daniel
918646853d fix: fix remove from path with indices 2021-03-30 01:35:15 -04:00
Zach Daniel
3d8df17779 fix: append values to maps properly 2021-03-30 01:16:27 -04:00
Zach Daniel
31a4943038 fix: handle adding to array paths bettter 2021-03-28 18:34:09 -04:00
Zach Daniel
ecfc918bf5 fix: add to path when is a map should be a list 2021-03-28 14:06:03 -04:00
Zach Daniel
224fb485bf improvement: added various utility functions
fix: fix doubly nested forms and various other issues
2021-03-28 13:11:54 -04:00
Zach Daniel
162383c750 improvement: many fixes around relationship forms 2021-03-25 12:55:21 -04:00
Zach Daniel
5af1cfad8f fix: transform error order of operations 2021-03-22 17:39:23 -04:00
Zach Daniel
3eebc845d8 fix: set impl correctly 2021-03-21 21:51:10 -04:00
Zach Daniel
0e4fa16ae5 improvement: improve pagination helpers 2021-03-21 12:03:33 -04:00
Zach Daniel
dd8db7d461 chore: fix errant backtick in docs 2021-03-19 18:25:05 -04:00
Zach Daniel
0bb2216147 improvement: readability refactor + additional docs 2021-03-19 18:20:49 -04:00
Zach Daniel
e7f13662de fix: properly set params on related create changeset
chore: clean up commented out file
chore: remove unnecessary options
2021-03-19 14:37:20 -04:00
Zach Daniel
2889b18081 feat: add initial support for relationships in inputs_for 2021-03-19 00:11:07 -04:00
Zach Daniel
8308a38782 chore: fix lint/deps 2021-03-16 22:47:08 -04:00
Zach Daniel
46ab44634b feature: add_embed and remove_embed helpers 2021-03-16 21:42:40 -04:00
Zach Daniel
73fd890dbe improvement: remove value option 2021-03-16 21:42:16 -04:00
Zach Daniel
da1e937216 improvement: don't render NotLoaded 2021-03-16 21:41:54 -04:00
Zach Daniel
c1d00e54ae feat: support queries as form targets
fix: various fixes
fix: a whole new error paradigm
feat: new helpers in `AshPhoenix`
2021-03-04 23:08:43 -05:00
Zach Daniel
cc814a5b71 improvement: don't filter errors based on params 2021-02-24 00:48:51 -05:00
Zach Daniel
d453093cb4 fix: don't assume action is set 2021-02-24 00:05:27 -05:00
Zach Daniel
b7ce044075 improvement: support latest ash version 2021-02-23 21:42:08 -05:00
Zach Daniel
6da47f7d1d WIP 2021-02-23 16:19:11 -05:00
Zach Daniel
04c9611187 improvement: add params_only for form helpers
improvement: add `SubdomainPlug`
2021-01-28 14:24:13 -05:00
Zach Daniel
69a80041d2 improvement: store changeset params in form 2021-01-25 02:15:47 -05:00
Zach Daniel
8912fdae71 fix: better error messages
improvement: support ci_string in html
2021-01-24 14:12:04 -05:00
Zach Daniel
7298d47d3a feat: support arguments in changeset
improvement: support the latest ash
2021-01-22 17:31:31 -05:00
Zach Daniel
5d5584c215 chore: remove comment about errors being bad 2021-01-15 20:04:35 -05:00
Zach Daniel
412eca18da improvement: support arguments in form_data 2021-01-07 22:18:20 -05:00
Zach Daniel
164459e4f8 fix: various improvements 2020-12-28 13:05:20 -05:00
Zach Daniel
8b03e9fc5a
feat: general cleanup, ready for initial release 2020-10-20 21:25:28 -04:00
Zach Daniel
6273bd08b0
improvement: setup project 2020-10-20 14:38:50 -04:00
Zach Daniel
b6b87b95e9
feat: init 2020-10-20 13:54:35 -04:00