Commit graph

1342 commits

Author SHA1 Message Date
rmorshea
506d40e566 0.37.1 has no changes 2022-03-05 13:23:34 -08:00
rmorshea
1e11b22a42 'version 0.37.1-a2' 2022-03-02 22:21:51 -08:00
Ryan Morshead
857c789812
fix flicker with observedValues buffer (#697)
We do this by constructing a buffer of observed input values. Then, each time the server renders, we check to see if the next rendered value matches the first value in the buffer. If it does then we continue to display the last value in the buffer and shift the buffer array. If it doesn't then we clear the buffer array and display that rendered value.
2022-03-02 21:51:09 -08:00
Ryan Morshead
a0291891e2
actually fix #684 (#696)
* actually fix #684

Because we handle events asynchronously, we must leave the value
uncontrolled in order to allow all changed committed by the user to be
recorded in the order they occur. If we don't, the user may commit
multiple changes before we render resulting in prior changes being
overwritten by subsequent ones. Instead of controlling the value, we set
it in an effect. This feels a bit hacky, but I can't think of a better
way to work around this problem.

* update changelog
2022-03-02 01:28:28 -08:00
rmorshea
c9536f6b94 'version 0.37.1-a1' 2022-02-28 08:59:58 -08:00
Ryan Morshead
fddd1d82cd
set target value onchange client-side (#694)
* set target value onchange client-side

This may not be a perfect solution. I worry that doing this may have unintended
consiquences. For example, what if someone wanted to have some sort of
auto-correct feature. Will setting the target value somehow overwrite
auto-corrections? From limited testing it seems to work fine, but that
testing was not extensive.

* changelog entry
2022-02-28 08:55:09 -08:00
rmorshea
78f33ffb68 minor changes to nox tag process 2022-02-27 21:57:37 -08:00
rmorshea
856487c8af noxfile correction 2022-02-27 21:32:15 -08:00
rmorshea
e6e91905f2 'update version to 0.37.0' 2022-02-27 21:31:10 -08:00
Ryan Morshead
a66eae4f87
load import source in effect (#691) 2022-02-27 20:18:05 -08:00
Ryan Morshead
3f8803e126
Re-organize docs + start using "Keep a Changelog" style (#689)
* doc reorg + apply "keep a changelog" style to changelog.rst

* fix spelling mistakes

* minor improvements

* remove unused ref

* fix typos
2022-02-27 12:09:50 -08:00
Ryan Morshead
2a54b3465f
reorganize creating-interfaces + add info on fragments (#685) 2022-02-24 22:26:22 -08:00
rmorshea
fdad4fd873 test reset schedule_render_later 2022-02-24 20:21:11 -08:00
Ryan Morshead
5b8ab7d389
reset schedule_render_later flag after triggering (#688) 2022-02-24 17:45:41 -08:00
Ryan Morshead
82a7edf43f
Add Use Context Hook (#585)
* implement use_context hook

* refine docs and make space for docs on contexts
2022-02-20 16:49:53 -08:00
Ryan Morshead
545f2f1000
support keys in HTML fragments (#683) 2022-02-20 12:46:27 -08:00
rmorshea
182317a5a9 remove temp file 2022-02-19 22:48:26 -08:00
rmorshea
9546b52a06 clean up docs 2022-02-19 13:13:15 -08:00
Alessio Civitillo
e8ae05a0c6
docs for components sharing state (#571)
* docs for components sharing state

* Add new line to end of file

* Update docs/source/adding-interactivity/components-sharing-state/_examples/filterable_list/data.json

* Update docs/source/adding-interactivity/components-sharing-state/_examples/filterable_list/data.json

* Update docs/source/adding-interactivity/components-sharing-state/_examples/filterable_list/data.json

* Update docs/source/adding-interactivity/components-sharing-state/_examples/filterable_list/data.json

* Update docs/source/adding-interactivity/components-sharing-state/_examples/filterable_list/app.py

* Update docs/source/adding-interactivity/components-sharing-state/_examples/filterable_list/app.py

* Update docs/source/adding-interactivity/components-sharing-state/_examples/filterable_list/data.json

* making syncedinputs an example, moving to managing-state

* fixing isort import issue in shared-component-state examples

* fixing link references

* fixing docker build by upgrading npm and fast-json-path

* Update noxfile.py

Co-authored-by: Alessio Civitillo <@acivitillo@dyvenia.com>
Co-authored-by: Ryan Morshead <ryan.morshead@gmail.com>
2022-02-19 12:46:52 -08:00
Ryan Morshead
3748f386d5
release 0.36.3 (#679) 2022-02-18 00:45:43 -08:00
rmorshea
dcd30c2132 fix mypy 2022-02-17 22:54:11 -08:00
rmorshea
e39404d1c0 require markupsafe<2.1
https://github.com/pallets/markupsafe/issues/283
2022-02-17 22:54:11 -08:00
rmorshea
0ce9ca63b7 remove flake8 pre-commit 2022-02-17 22:54:11 -08:00
rmorshea
896771c5d4 add tests for coverage 2022-02-17 22:54:11 -08:00
rmorshea
009cea21ed fix one more test 2022-02-17 22:54:11 -08:00
rmorshea
c8e718103e allow components to return None 2022-02-17 22:54:11 -08:00
rmorshea
35e5b9943f fix errors 2022-02-17 22:54:11 -08:00
rmorshea
781c6f66b1 implement element fragment + try to fix tests 2022-02-17 22:54:11 -08:00
rmorshea
99219f3e34 fix #652
In short, because components do not have a node in the model state tree
managed by the layout, keys for elements in the components were being
registered to the parent of the component rather than to a node for
the component which contained the elements.

The short-term solution was to make it so components wrap their
contents in a div without a key. The long-term solution is to
refactor the Layout() and give components a dedicated node in the
model state tree
2022-02-17 22:54:11 -08:00
Ryan Morshead
dcd507f5de
Remove work items section of task plan 2022-02-15 22:03:28 -08:00
rmorshea
a407913f6f fix types 2022-02-15 21:53:30 -08:00
rmorshea
96fce16b52 try another approach to fixing switching component def and resetting state 2022-02-15 21:53:30 -08:00
rmorshea
f0a276667e fix mispellings 2022-02-15 21:53:30 -08:00
rmorshea
3a8a5a1f52 compare definition ID to see if changed in layout 2022-02-15 21:53:30 -08:00
rmorshea
742cf570d9 configure pydocstyle 2022-02-15 21:53:30 -08:00
rmorshea
4723d7d340 new_opt is never None 2022-02-02 21:24:13 -08:00
rmorshea
73fe7f05b6 fix type annotation 2022-02-02 21:23:11 -08:00
rmorshea
755a203161 0.36.2 hotfix 2022-02-02 21:20:19 -08:00
rmorshea
c146dfb264 DeprecatedOption must mirror regular option 2022-02-02 21:18:00 -08:00
rmorshea
e4fca652bf fix typo 2022-02-02 18:56:30 -08:00
rmorshea
2e1f6eaebc fix rst formatting 2022-02-02 18:53:59 -08:00
rmorshea
d06a0c314f 0.36.1 release 2022-02-02 18:49:57 -08:00
rmorshea
0f8d31fef4 mark old state as None if unmounting 2022-02-02 18:00:23 -08:00
rmorshea
384bd42746 mark old state as None if unmounting 2022-02-02 18:00:08 -08:00
rmorshea
1a2805c1c7 rename IDOM_WED_MODULES_DIR to IDOM_WEB_MODULES_DIR 2022-02-02 18:00:08 -08:00
rmorshea
64b567df93 0.36.0 release 2022-01-30 18:04:58 -08:00
rmorshea
0ec06e1960 make scripts behave more like normal elements 2022-01-30 17:38:19 -08:00
rmorshea
7e7f6bdefb update license year 2022-01-30 17:37:43 -08:00
rmorshea
0c1edb5e07 upgrade black 2022-01-30 17:26:14 -08:00
Archmonger
37a5be2717 fix #629 2022-01-29 21:49:58 -08:00