Commit Graph

587 Commits

Author SHA1 Message Date
Elijah Ahianyo
5f1751acc2
Vardata for rx.Match (#2439) 2024-01-24 14:55:49 -08:00
Yummy-Yums
82aca76cd3
test_telemetry fails for Python Version 3.11.0rc1 (#2431)
* initial commit

* ruff updated formatting
2024-01-24 12:30:22 -08:00
Masen Furer
9446a1e99f
[REF-1705] Do not overwrite Var attributes during format (#2421) 2024-01-19 15:17:00 -08:00
Alek Petuskey
d466c2aaa2
Radix Accordion (#2310) 2024-01-18 14:20:21 -08:00
jackie-pc
2c270585ab
Skip frontend packages install if previously done (#2400) 2024-01-16 17:52:28 -08:00
benedikt-bartscher
1aca1b677f
fix is_backend_variable for dunder prefixed variables (#2391) 2024-01-16 17:37:05 -08:00
Elijah Ahianyo
abfc099779
rx.match component (#2318)
* initial commit

* add more tests

* refactor match jinja template

* add docstrings

* cleanup

* possible fix for pyright

* fix conflicts

* fix conflicts again

* comments

* fixed bug from review

* fix tests

* address PR comment

* fix tests

* type error improvement

* formatting

* darglint fix

* more tests

* stringify switch condition and cases as js doesnt support complex types(lists and dicts) in switch cases.

* Update reflex/vars.py

Co-authored-by: Masen Furer <m_github@0x26.net>

* change usages

* Precommit fix

---------

Co-authored-by: Alek Petuskey <alek@pynecone.io>
Co-authored-by: Masen Furer <m_github@0x26.net>
Co-authored-by: Alek Petuskey <alekpetuskey@aleks-mbp.lan>
2024-01-04 09:48:18 -08:00
Masen Furer
414a879879
Handle VarData roundtrip when encoded value contains newline (#2350) 2024-01-03 09:46:22 -08:00
Jishnu N
c5c42665eb
add: reflex init app name validator (#2336) 2023-12-28 00:07:55 -08:00
Masen Furer
0211e9a0e5
Avoid passing props to lists and list items (#2326) 2023-12-21 15:58:45 -08:00
Nikhil Rao
93c97383d9
Refactor chakra components into separate folder (#2315) 2023-12-21 09:52:08 -08:00
Nikhil Rao
cfb9d44e0c
Apply default theme to apps (#2320) 2023-12-20 15:17:49 -08:00
Nikhil Rao
5d21f0ca60
Add high-level API for accordion (#2285) 2023-12-18 17:21:49 -08:00
jackie-pc
7388617b72
apps should no longer call "app.compile()" (#2291) 2023-12-18 16:06:21 -08:00
Martin Xu
9da65b9a9a
[REF-1464] Handle requirements.txt encoding (#2284) 2023-12-14 14:25:40 -08:00
Elijah Ahianyo
9629b59617
DataFrame Serializer fix (#2281) 2023-12-12 14:03:40 -08:00
benedikt-bartscher
f90982ea06
use redis-py url syntax for redis_url (#2267)
* use redis-py url syntax for redis_url

* port is optional

* Add StateManagerRedis.close method

The close helper method always calls `close_connection_pool=True` so that all
outstanding redis operations can be stopped before changing event loops.

---------

Co-authored-by: Masen Furer <m_github@0x26.net>
2023-12-12 10:54:10 -08:00
Masen Furer
e52267477c
[REF-1417] Convert underscore-prefixed style props to pseudo selector (#2266) 2023-12-11 13:37:57 -08:00
Thomas Brandého
caf32605ca
add next/image and next-video in next namespace (#2223) 2023-12-07 10:38:47 -08:00
Masen Furer
0bbae2d3d5
[REF-1404] router_data not updated when processing events (#2255) 2023-12-04 16:45:22 -08:00
Masen Furer
60147dec65
[REF-201] Separate on_load handler from initial hydration (#1847) 2023-11-30 12:21:15 -08:00
Elijah Ahianyo
e3ee98098a
RED-1052/rx.State as Base State (#2146) 2023-11-29 09:43:33 -08:00
Martin Xu
f8395b1fd6
Separate out the hosting CLI from main repo (#2165) 2023-11-28 15:20:06 -08:00
Masen Furer
3deb2cec93
code_block responds to color mode by default (#2228) 2023-11-28 13:24:38 -08:00
Masen Furer
0c55723df4
[REF-1158] Move chakra-only deps to chakra lib (#2171) 2023-11-28 00:04:07 -08:00
Masen Furer
ee87e62efa
[REF-1035] Track ComputedVar dependency per class (#2067) 2023-11-27 18:17:53 -08:00
Masen Furer
527437cf23
[REF-144] Add context in each component to prevent rerenders (#2198) 2023-11-27 16:05:59 -08:00
Thomas Brandého
8fc254041b
fix name for import var when is default and add tests (#2214) 2023-11-26 12:46:43 -08:00
Masen Furer
1603144c7d
[REF-889] useContext per substate (#2149) 2023-11-21 11:52:06 -08:00
Nikhil Rao
e9437ad941
Use singleton app provider to speed up compiles (#2172) 2023-11-20 18:11:24 -08:00
Elijah Ahianyo
714edb3cde
REF-1202: Upgrade bun version if it differs from reflex set version (#2206) 2023-11-20 15:21:17 -08:00
Elijah Ahianyo
7f810ece21
To camel case fix (#2205) 2023-11-20 11:33:48 -08:00
Nikhil Rao
c3e652b8c1
Speed up reflex CLI imports (#2185) 2023-11-17 12:31:07 -08:00
Thomas Brandého
1a83f85783
_valid_children and _invalid_children accessible from class (#2192) 2023-11-17 12:30:18 -08:00
Masen Furer
7eccc6d988
[REF-723+] Upload with progress and cancellation (#1899) 2023-11-16 15:46:13 -08:00
Martin Xu
adb26787c8
Hosting CLI: remove requirements generation when init, add back timeout for deploy command, remove deploy legacy command (#2179) 2023-11-15 16:23:34 -08:00
Masen Furer
f3929f47e3
form: only pass handleSubmit when on_submit is defined (#2162) 2023-11-13 23:27:42 -08:00
Nikhil Rao
33e4816950
Lazy import modules in reflex (#2144) 2023-11-13 19:48:12 -08:00
Elijah Ahianyo
ea22452b27
Reduce Syntax highlighter footprint (#2037) 2023-11-13 12:47:55 -08:00
Thomas Brandého
39cc1b2f12
Upgrade to NextJS 14 (#2142) 2023-11-13 09:52:51 -08:00
Elijah Ahianyo
7a04652a6a
Revert "Bun as runtime on Mac and Linux (#2138)" (#2153) 2023-11-09 13:01:48 -08:00
Elijah Ahianyo
4d6fa9b823
Bun as runtime on Mac and Linux (#2138) 2023-11-08 16:22:02 -08:00
Thomas Brandého
c835ad0737
fix to_snake_case and add tests (#2133) 2023-11-06 12:13:28 -08:00
Nikhil Rao
e703d87450
Set unique index vars in rx.foreach (#2126) 2023-11-03 16:20:42 -07:00
Martin Xu
4c97b4c4c0
Hosting CLI: use http endpoint to return deploy milestones (#2085) 2023-11-03 12:13:46 -07:00
Martin Xu
4a526620ac
[REF-1042] Hosting CLI: check the user selected app name (#2102) 2023-11-02 14:34:10 -07:00
SandeshPyakurel
5e2ce46ddb
Typos fixed in multiple files (#2090) 2023-10-31 13:43:25 -07:00
Masen Furer
56476d0a86
Expose DOM event actions on EventHandler, EventSpec, and EventChain (stopPropagation) (#1891)
* Expose preventDefault and stopPropagation for DOM events

All EventHandler, EventSpec, and EventChain can now carry these extra
"event_actions" that will be applied inside the frontend code when an event is
triggered from the DOM.

Fix #1621
Fix REF-675

* Test cases (and fixes) for "event_actions"

* form: from __future__ import annotations

for py38, py39 compat

* Revert overzealous merge conflict resolution
2023-10-31 11:42:42 -07:00
Martin Xu
e9cf822460
CLI will not set auto/stop setting for deployment (#2040)
* do not set autostart/autostop as default on CLI

* cli feedback

* fix test

* clean up last few messages

* catch general exception for export and exit
2023-10-26 17:47:22 -07:00
Alek Petuskey
70a6b5f2d3
Autogenerating Dependencies During Deployment (#2033) 2023-10-26 17:32:58 -07:00
Martin Xu
fe01f0cf11
add region check upfront when user deploys interactively (#2030) 2023-10-26 10:07:49 -07:00
Masen Furer
92dd68c51f
Improve Var type handling for better rx.Model attribute access (#2010) 2023-10-25 11:55:50 -07:00
Masen Furer
1734ba0b6d
Generate state delta from processed state instance (#2023) 2023-10-24 10:44:12 -07:00
Martin Xu
81053618c9
CLI switch to prod server (#2016) 2023-10-24 09:43:20 -07:00
Martin Xu
07ca8fcb3b
[REF-99] Add first version of CLI for hosting service (#1810) 2023-10-21 13:09:56 -07:00
Masen Furer
cbf5b61a23
Drop python3.7 support (#2003)
* Drop python3.7 support

* poetry.lock: relock without py3.7

* Update README/CONTRIBUTING to say 3.8+
2023-10-19 22:21:29 +02:00
Elijah Ahianyo
06bdf9ed8a
Remove 0.3.0 deprecated features (#1947) 2023-10-19 09:44:32 -07:00
Elijah Ahianyo
b652d40ee5
Remove Default state (#1978) 2023-10-18 09:57:27 -07:00
Masen Furer
e15710de17
test_app: cleanup state_name logic and fixup get_sid() call (#1993) 2023-10-18 12:29:24 +02:00
Masen Furer
f6a7eed359
Fix AppHarness tests (#1987)
* test_client_storage: remove race conditions for cookie assignment

Poll for default timeout for cookies to appear in the controlled browser.

* Remove use of deprecated get_token and get_sid in core

Both reflex.app and reflex.state were still using deprecated methods, which
were throwing unsolvable warnings for end users.

* Remove deprecated router functions from integration tests

Mostly removing custom "token" var and replacing with
router.session.client_token.

Also replacing `get_query_params` and `get_current_page` usage as well.

* fix upload tests

Cannot pass substate as main app state, since it blocks us from accessing
"inherited vars"

* state: do NOT reset `router` to default

When calling `.reset` to reset state vars, do NOT reset the router data, as
that could mess up internal event processing.
2023-10-18 01:46:13 +02:00
Thomas Brandého
df09c716c6
fix serialization as a whole for list/dict/Base containing custom items to serialize (#1984) 2023-10-17 10:44:54 -07:00
Masen Furer
d1d5812602
format: event arg values use backticks (#1926) 2023-10-17 10:42:35 -07:00
Thomas Brandého
b1bab1206d
deprecate get_ methods for router_data, use BaseVars instead (#1967) 2023-10-17 09:59:44 -07:00
Masen Furer
67606561d3
[REF-668] Wrap MyApp with radix Theme component (#1867)
* partly add some radix-ui/themes based components

* add @radix-ui/themes integration to top-level app

* WiP: compile _app_wrap based on which component library is used

TODO: working color mode

* WiP get color mode working with agnostic provider

still not perfect, as the RadixColorModeProvider seems to trip hydration errors
when using color_mode_cond component, but for now, this provides a nice balance
between the two libraries and allows them to interoperate.

* WiP template _app.js instead of making a separate wrap file

* WiP: use next-themes for consistent darkmode switching

* strict pin chakra deps

* Move ChakraColorModeProvider to separate js file

* move nasty radix themes js code into js files

* remove chakra from default imports

* chakra fixup import to use .js extension

* Add radix theme typography and layout components

* do NOT special case the radix theme...

avoid templating json and applying it, avoid non-customizable logic

just add the radix Theme component as an app wrap if the user specifies it to
rx.App, and any other app-wrap theme-like component could _also_ be used
without having to change the code.

this also allows different themes for different sections of the app by simply
placing elements inside a different rdxt.theme wrapper.

* Theme uses "radius" not "borderRadius"

* move next-themes to main packages.json

this is always used, regardless of the component library

* test_app: test cases for app_wrap interface

* Finish wrapping Button, Switch, and TextField components

* docstring, comments, static fixups

* debounce: use alias or tag when passing child Element

Fix REF-830

* test_app: ruin my beautiful indentation

* py38 compatibility

* Add event triggers for switch and TextField

* Add type hints for radix theme components

* radix themes fixups from writing the tests

* Add integration test for radix themes components

* test_app: mock out package installation

we only need the compile result, we're not actually trying to install packages

* avoid incompatible version of @emotion/react

* test_radix_themes: include theme_panel component

* next-themes default scheme: "light"

until all of our components look good in dark mode, need to keep the default as
light mode regardless of the system setting.
2023-10-16 15:31:50 -07:00
Elijah Ahianyo
c6abeb31a5
Props as Literals (#1921) 2023-10-15 20:16:39 -07:00
Elijah Ahianyo
433ccda3a6
No state No Websocket (#1950) 2023-10-13 14:54:59 -07:00
Masen Furer
024cb5fa9b
Var field cleanup (#1943) 2023-10-13 14:53:55 -07:00
Masen Furer
684912e33b
[REF-843] Automatically update api_url and deploy_url (#1954) 2023-10-13 12:59:19 -07:00
Alek Petuskey
67eb661704
Core Graphing -> Recharts (#1878) 2023-10-04 15:05:08 -07:00
Thomas Brandého
58933278ad
fix rx.image src not working with state (#1915) 2023-10-04 14:15:18 -07:00
Masen Furer
43cc8d4f6c
test_state: assert popped value is the actual value (#1906) 2023-10-02 17:43:05 -07:00
Nikhil Rao
53d205ad9f
Improve default rx.markdown styling (#1904) 2023-10-02 11:52:16 -07:00
Masen Furer
4b84c2a471
state: subclass of MutableState must return _mark_dirty return value (#1898) 2023-10-02 11:17:45 -07:00
Thomas Brandého
7df3f2f621
allow external link for redirect (#1902) 2023-10-02 09:37:46 -07:00
Masen Furer
418f9ad569
state: get_value unwraps MutableProxy first (#1887) 2023-10-01 10:13:27 -07:00
Masen Furer
4f6b3c049b
State.reset uses deepcopy on defaults (#1889) 2023-09-29 16:33:16 -07:00
Masen Furer
5ca7f29853
MutableProxy wraps values yielded by __iter__ (#1876) 2023-09-28 17:34:46 -07:00
Thomas Brandého
dcb17103bb
code cleanup (split constants into a folder) (#1866) 2023-09-28 17:27:20 -07:00
Elijah Ahianyo
26885d98cf
rx.table __bool__ regression fix (#1828) 2023-09-28 09:31:01 -07:00
Nikhil Rao
89404e0b4a
Add head components to app (#1868) 2023-09-25 16:53:15 -07:00
Nikhil Rao
8231993e5a
Improvements to custom styles in rx.markdown (#1852) 2023-09-25 15:59:48 -07:00
Masen Furer
83d7a044fe
StateProxy rebinds functools.partial and methods that are bound to the proxied State (#1853) 2023-09-21 17:59:18 -07:00
Masen Furer
351611ca25
rx.background and StateManager.modify_state provides safe exclusive access to state (#1676) 2023-09-21 11:42:11 -07:00
Thomas Brandého
211dc15995
New API to define triggers (#1820) 2023-09-21 09:47:22 -07:00
Nikhil Rao
ac8dfc5f91
Format component as React string (#1848) 2023-09-20 19:30:38 -07:00
Elijah Ahianyo
d81d544b97
add option to disable Tailwind (#1842) 2023-09-20 16:47:58 -07:00
Masen Furer
1bfb579b20
state: implement __copy__ and __deepcopy__ for MutableProxy (#1845) 2023-09-20 16:46:49 -07:00
Elijah Ahianyo
2750228dbb
Prevent Substate class shadowing (#1827) 2023-09-19 15:56:39 -07:00
Masen Furer
1430075bdc
Reassign state Var when fields on a Base instance change (#1748) 2023-09-18 13:52:10 -07:00
Nikhil Rao
264c44e630
Disable metrics in CI (#1822) 2023-09-15 18:15:25 -07:00
Nikhil Rao
1938a6cc58
Add serializers for different var types (#1816) 2023-09-15 17:19:26 -07:00
Elijah Ahianyo
74d227d2fd
Move custom styles to root App file(_app.js) (#1764) 2023-09-15 13:18:35 -07:00
Elijah Ahianyo
f2b0915aff
Type Validation for Var Operations and Enhanced Compatibility (#1674) 2023-09-12 15:57:40 -07:00
Elijah Ahianyo
06a110a07d
Style props with Callable Values (#1751) 2023-09-12 11:26:53 -07:00
Martin Xu
3406be3ff8
supply default for sqlmodel PK for both DB and python to work (#1788) 2023-09-08 14:51:57 -07:00
Elijah Ahianyo
891e6a4736
Allow underscores in routes (#1713) 2023-09-08 12:18:33 -07:00
Thomas Brandého
043648da07
improve pyi files generation (#1765) 2023-09-07 00:23:17 -07:00
Masen Furer
2e014422f5
App: only render default overlay_component when DefaultState is not used (#1744) 2023-09-05 16:22:25 -07:00
Masen Furer
38c5503f94
Client-side Routing (404 redirect) (#1695) 2023-09-05 16:22:00 -07:00
Masen Furer
71811a600c
Var: __bool__ and __iter__ always raise a TypeError (#1750) 2023-09-05 13:44:22 -07:00
wassaf shahzad
e99d6723bc
added changes for datetime (#1745)
* added changes for datetime

* fixed formatting

* fixed darglint issue

* test_state: check for other datetime module classes

* utils/types.py: use issubclass check

fix docstring copy/paste issue

* utils/format.py: reuse types.is_datetime check

---------

Co-authored-by: Masen Furer <m_github@0x26.net>
2023-09-04 22:29:02 -07:00
Masen Furer
b44c2176e0
Track var dependencies in comprehensions and nested functions (#1728) 2023-09-04 14:31:17 -07:00
Nev Delap
41e97bbc46
Issues 1633 Add frontend_path to config to support running multiple reflex apps off the same domain, and 1583 Show the correct info on where the site is being served. (#1724)
* Support setting Next.js basePath in Reflex config. (#1633)

- Tests.
- And sorted config in next.config.js template.

* Display the correct running at url with basePath if it is set. (#1583)

* Formatting, fixed by black.

* Fix indenting in test data.

* Fixed that conflict resolution shouldnt have included console.debug line.

* Rmove use of :=. Add http:// to url. Use urljoin to build url.
2023-09-02 06:38:22 -07:00
Elijah Ahianyo
829a7751b5
Refactor: Move format_prop Static Method for Improved Reusability (#1714) 2023-09-01 13:01:11 -07:00
Masen Furer
ca4724cec8
AppHarness: disable telemetry for test apps (#1733) 2023-08-31 14:57:28 -07:00
Masen Furer
cc89f2b6e7
Proper serialization for chained Event payloads (#1725) 2023-08-31 09:50:15 -07:00
Masen Furer
2392c52928
Implement on_mount and on_unmount for all components. (#1636) 2023-08-30 09:50:39 -07:00
Thomas Brandého
bb44fcdaa1
renamed reserved endpoints of Reflex (#1542) 2023-08-30 09:33:54 -07:00
Elijah Ahianyo
689f078aa3
Fix Node Installation on ARM-based Macs with FNM (#1701) 2023-08-29 14:59:56 -07:00
Martin Xu
2e1aea9713
Add contains, reverse operations for Var (#1679) 2023-08-28 14:59:50 -07:00
Masen Furer
12e516da64
state: _init_event_handlers recursively (#1640) 2023-08-25 13:28:58 -07:00
Elijah Ahianyo
dbaa6a1e56
Fnm and node for POSIX (#1606) 2023-08-25 13:04:10 -07:00
Martin Xu
82dc237f44
Revert "Use DebounceInput wrapper for fully controlled Editable" (#1670) 2023-08-23 17:16:03 -07:00
Elijah Ahianyo
217a5806ee
Validate component children (#1647) 2023-08-23 15:56:27 -07:00
Martin Xu
d884b7ba96
Use DebounceInput wrapper for fully controlled Editable (#1650) 2023-08-21 14:25:56 -07:00
Nikhil Rao
0beb7a409f
Clean up config parameters (#1591) 2023-08-18 14:22:20 -07:00
Masen Furer
042710ca91
Handle file uploads with component-local state (#1616) 2023-08-18 13:12:17 -07:00
Thomas Brandého
f771894077
add system infos to output when in loglevel debug (#1567) 2023-08-18 13:00:49 -07:00
Martin Xu
510b71e644
Check the yield/return from user defined event handlers are valid (#1614) 2023-08-18 01:36:30 -07:00
Elijah Ahianyo
98fae89319
Automatic Install FNM and Node for Windows: (#1566) 2023-08-17 11:23:09 -07:00
Masen Furer
26e45c1f18
format_dict: only unescape quotes when removing outer quotes (#1609) 2023-08-17 09:45:25 -07:00
Elijah Ahianyo
ed4de0d7ba
Reinstate bun path (#1552) 2023-08-15 17:39:43 -07:00
Nikhil Rao
6d15326abf
Support f-strings in component children and non-style props (#1575) 2023-08-14 11:33:16 -07:00
mat-mil
ebf6c7e35c
performance: change platform check fixture scope to session (#1569) 2023-08-11 13:55:12 -07:00
mat-mil
fa1642fd6b
chore: ignore all files with .db extensions in .gitignore (#1568)
* chore: ignore all files with .db extensions in .gitignore

* Fix unit tests for .gitignore
2023-08-11 13:29:58 -07:00
Elijah Ahianyo
2fa087a0fa
Event Handlers should not shadow base state methods (#1543) 2023-08-10 12:47:35 -07:00
Smit Parmar
ef78465f16
Added support for RelexSet wrapper (#1535) 2023-08-10 09:59:03 -07:00
Masen Furer
4a658ef9be
Wrap Input and TextArea with DebounceInput for full control (#1484) 2023-08-07 14:27:42 -07:00
Elijah Ahianyo
a9b7394e0e
Remove Home folder for windows (#1502) 2023-08-03 14:27:38 -07:00
Thomas Brandého
9222bbbdf2
fix state reset() (#1501) 2023-08-02 11:02:05 -07:00
Nikhil Rao
91c0de4b5f
Use concurrent.futures for threading (#1483) 2023-07-31 17:45:40 -07:00
Nikhil Rao
f01eff5b29
Show status bar on reflex init (#1467)
* Show status bar on reflex init

* Fix tests

* Fix version

* Fix test
2023-07-30 20:45:34 -07:00
Nikhil Rao
068bcd906e
Add unified logging (#1462) 2023-07-30 19:58:48 -07:00
Nikhil Rao
e1cb09e9d4
Remove curl and parallelize node/bun install (#1458) 2023-07-28 17:53:24 -07:00
jackie-pc
e6f4bcdb95
Github action to run unit tests on windows (#1444) 2023-07-28 11:12:01 -07:00
Nikhil Rao
e26bba80a6
Create ~/.reflex directory and update integration tests (#1419) 2023-07-27 16:39:53 -07:00
Elijah Ahianyo
3fa33bd644
List and Dict mutation on setattr (#1428) 2023-07-27 12:45:57 -07:00
Elijah Ahianyo
d4abf5ff2b
Update tests for Foreach (#1394) 2023-07-21 11:49:55 -07:00
Elijah Ahianyo
549ab4e708
rx.App state arg should not be required (#1361) 2023-07-21 11:47:38 -07:00
Elijah Ahianyo
4505279d5d
Synchronize Event Namespace (#1370) 2023-07-19 18:05:42 -07:00
Masen Furer
bfec196d84
Expose Script component from next/script (#1355) 2023-07-18 18:57:50 -07:00
Elijah Ahianyo
ca11b82432
Yield with uploads (#1339) 2023-07-18 14:06:57 -07:00
Masen Furer
4a661a5395
reflex db migrate CLI and associated config (#1336) 2023-07-17 18:06:50 -07:00
Elijah Ahianyo
40953d05ac
Strict type checking for indexing with vars (#1333) 2023-07-13 15:46:15 -07:00
Masen Furer
2c97c1e7ca
reflex.testing.AppHarness: tools for testing reflex apps (#1326) 2023-07-13 15:45:57 -07:00
Masen Furer
5505d10989
rx.Model: automigrate using alembic (#1321) 2023-07-12 15:47:19 -07:00
Elijah Ahianyo
7f0fc86816
Computed vars tuple and str indexing support (#1322) 2023-07-12 15:26:34 -07:00
Masen Furer
20e2a25c9a
vars: unbox EventHandler and functools.partial for dep analysis (#1305)
When calculating the variable dependencies of a cached_var, reach into objects
with .func or .fn attributes and perform analysis on those.

Fix #1303
2023-07-05 16:05:49 -07:00
Masen Furer
cd63297fe4
state: Leading underscore functions are not backend vars (#1268) 2023-06-28 15:32:49 -07:00
Elijah Ahianyo
3b3fc4f965
Local storage clear and remove (#1222) 2023-06-28 11:59:27 -07:00
Elijah Ahianyo
be48e13c71
Remove cookies (#1223) 2023-06-27 18:04:29 -07:00
Siddhant Goel
c6c4410db5
Allow view overrides for registering models with admin (#1249) 2023-06-27 14:08:09 -07:00
Nikhil Rao
139ce38df1
Rename pynecone to reflex (#1236) 2023-06-25 16:56:55 -07:00
Elijah Ahianyo
3f56620870
Get Local Storage (#1234) 2023-06-23 12:56:05 -07:00
Elijah Ahianyo
91d872fb4c
Bugfix: Gitignore file empty newlines (#1232) 2023-06-22 14:36:06 -07:00
Elijah Ahianyo
b6ae225455
Get Cookies (#1221) 2023-06-20 14:57:33 -07:00
Elijah Ahianyo
e180f4d43a
Bun Version update (#1216) 2023-06-19 14:49:36 -07:00
Thomas Brandého
8947c26c7e
add server_side event for cookie and local storage (#1206) 2023-06-16 13:40:25 -07:00
Sergei Ozeranskii
8500a8444a
Allow gunicorn timeout be set in pcconfig.py (#1193) 2023-06-15 15:24:44 -07:00
Elijah Ahianyo
fe89d53dcf
Bugfix: default gitignore (#1189) 2023-06-13 11:14:57 -07:00
Nikhil Rao
fedecfdf44
Fix processing flag for generator events (#1157) 2023-06-09 10:50:03 -07:00
Elijah Ahianyo
278222db8f
async tests to test yield functionality (#1163) 2023-06-07 11:50:27 -07:00
Christopher Terrazas
d793e7a4dd
Feat/admin dashboard (#1098) 2023-06-06 11:53:34 -07:00
Nikhil Rao
895719cf68
Fix processing flag for generator event handlers (#1136) 2023-06-05 11:30:59 -07:00
Nikhil Rao
a18c6880b5
Add async events (#1107) 2023-06-01 21:47:55 -07:00
Elijah Ahianyo
d4d25c17d8
add support for .env configuration (#1104) 2023-05-31 17:26:03 -07:00
Curtis Turner
d4b5c78406
add set_focus (#1092) 2023-05-30 13:04:09 -07:00
TaiJuWu
0531d611dc
feature: support custom attribute for components (#1085) 2023-05-26 11:49:57 -07:00
Nikhil Rao
9485127c1c
Handle multi-select (#1082) 2023-05-26 10:50:16 -07:00
Elijah Ahianyo
368b79f160
pc table validation (#1075) 2023-05-24 13:14:27 -07:00
Elijah Ahianyo
fb69ddfd80
moved compiled constants into an env.json file (#1051) 2023-05-19 10:28:54 -07:00
Elijah Ahianyo
bb1cf4322e
Foreach support for other data structures(dict, set, tuple) (#1029) 2023-05-17 16:11:41 -07:00
Elijah Ahianyo
0c33ad19f6
bugfix for upload event (#1042) 2023-05-17 10:08:11 -07:00
Alek Petuskey
4a580b54ff
Visual CLI improvements (#1032) 2023-05-16 20:42:53 -07:00
Nikhil Rao
6209916795
Update max bun version (#1038) 2023-05-16 17:07:18 -07:00
Nikhil Rao
e6a679d3a3
Update pc.form on_submit args (#1033) 2023-05-16 12:09:15 -07:00
Nikhil Rao
98f1b30735
Fix event default call (#1031) 2023-05-15 21:10:42 -07:00
Nikhil Rao
948ec90fc4
Add pc.form component (#929) 2023-05-14 22:34:10 -07:00
Masen Furer
d0e383d23c
Fix db_url set to empty string in default pcconfig.py (#1022) 2023-05-14 19:03:36 -07:00
Elijah Ahianyo
139e4cf05b
Update upload event to use queue (#1005) 2023-05-12 16:44:16 -07:00
Elijah Ahianyo
7e8a4930ba
Bun version validation (#1002) 2023-05-12 16:43:11 -07:00
Nikhil Rao
5b3d0a51e8
Disable NextJS telemetry prod mode (#1013) 2023-05-12 13:58:46 -07:00
Nikhil Rao
92b1e241ac
Update dependency versions (#1007) 2023-05-12 00:09:58 -07:00
Masen Furer
0491852a45
@pc.cached_var: explicit opt-in for ComputedVar tracking (#1000) 2023-05-11 17:47:54 -07:00
Nikhil Rao
8c42c99ecf
Unindent jinja template code (#1001) 2023-05-10 23:26:01 -07:00
Nikhil Rao
6af7db42fb
Fix unit tests (#993) 2023-05-10 10:50:32 -07:00
Masen Furer
e887dd143b
Trigger on_load when router completes navigation (#984) 2023-05-10 01:11:54 -07:00
iron3oxide
32f3a387ae
Rename var module to vars (#983) 2023-05-09 23:01:25 -07:00
Masen Furer
557097e2ca
ComputedVar dependency tracking: require caller to pass objclass (#963)
Avoid issue where a ComputedVar is added to to a class dynamically, but does
not have a reference to the class its attached to, but requiring callers of the
`deps()` method to provide the objclass for looking up recursive method calls.

This allows for safer and more simplified determination of dependencies, even
in highly dynamic environments.
2023-05-09 14:36:45 -07:00
PeterYusuke
3b88e7c329
[Fix 477] Use jinja2 for templating (#915) 2023-05-09 14:34:47 -07:00
Nikhil Rao
dc2dff9323
Temp remove computed var dependency checks (#972) 2023-05-08 18:00:03 -07:00
Nikhil Rao
8e3daf9f5b
Clean up on_load events (#965) 2023-05-08 12:13:51 -07:00
Masen Furer
4515561e61
Per-instance backend variables (#959)
* test_state: check that _backend_vars are not shared between instances

Each instance of State should get its own backend vars

* per-instance backend vars

Attempt to fix #958
2023-05-07 16:23:31 -07:00
Thomas Brandého
893c0b132e
Make argument optional for event handlers (#950) 2023-05-06 13:10:35 -07:00
Masen Furer
b4e534cc97
Cache ComputedVar fixup for dynamic route vars (#952) 2023-05-06 12:44:50 -07:00
Elijah Ahianyo
9ea1a64d22
Throw error for unannotated computed vars (#941) 2023-05-06 12:26:49 -07:00
Elijah Ahianyo
0d51f58c9f
pc datatable fix for python <=3.8 (#949) 2023-05-05 15:01:00 -07:00
Elijah Ahianyo
18c715670a
Revamp Imports (#926) 2023-05-04 22:11:01 -07:00
Masen Furer
c344a5c0d7
Cache ComputedVar (#917) 2023-05-04 00:11:39 -07:00
Nikhil Rao
34d77db541
Fix event handler string args (#928) 2023-05-01 17:06:42 -07:00
Nikhil Rao
1a254aca8e
Add pc.set_value (#835) 2023-04-29 19:01:37 -07:00
Nikhil Rao
a9ee9f6d44
Fix event handler calls to handlers (#899) 2023-04-27 19:30:52 -07:00
Nikhil Rao
60323a3aec
Revert fstrings change (#895) 2023-04-27 14:36:20 -07:00
Nikhil Rao
23a23d437c
Fix f-strings in props (#891) 2023-04-26 21:20:40 -07:00
Nikhil Rao
f0346506d7
Allow fstrings as component children (#890) 2023-04-26 19:32:51 -07:00
Nikhil Rao
e03e5f8033
Use Python truthiness in pc.cond (#889) 2023-04-26 17:16:38 -07:00
Elijah Ahianyo
29945504bc
Dynamic vars initialization unit tests(#880) 2023-04-26 14:41:47 -07:00
Elijah Ahianyo
5ad3882898
Handle upload bugfix (#886) 2023-04-26 12:56:34 -07:00
Nikhil Rao
f504d6b4b1
Disable computed var deps (#872) 2023-04-25 21:24:40 -07:00
Nikhil Rao
f019e0e55a
Speed up computed var dependency tracking (#864) 2023-04-25 13:56:24 -07:00
Kasun Herath
fc9b03ebd7
Custom configuration support (#792) 2023-04-24 21:40:07 -07:00
Masen Furer
3c4fb256a2
Always emit a full dict() when hydrating (#843) 2023-04-24 21:28:30 -07:00
Kasun Herath
6631080a23
Drop default primary key is another is defined (#812) (#851) 2023-04-24 18:49:43 -07:00
Nikhil Rao
1029d3483a
Fix substate event handler conversions (#861) 2023-04-24 17:54:16 -07:00
Alan Mond
73cfd2fdba
Modify some methods in state.py to prevent being overwritten (#856) 2023-04-24 10:45:35 -07:00
Masen Furer
b4755b8123
Only update ComputedVar when dependent vars change (#840) 2023-04-23 18:48:44 -06:00
Elijah Ahianyo
a52145e52a
Python 3.10 tag issubclass bug: (#832) 2023-04-17 10:08:43 -07:00
Masen Furer
c3148d348c
component.get_hooks: inject hook code into component func (#810) 2023-04-15 22:10:17 -07:00
Nikhil Rao
e4bf94464b
Fix event handler override (#828) 2023-04-15 11:33:52 -07:00
Elijah Ahianyo
4b7cc6ddf5
File upload to use single syntax (#811) 2023-04-13 09:27:02 -07:00
Elijah Ahianyo
e8387c8e26
Fix Event chaining in the on_load event handler return not working (#773)
* Fix Event chaining in the on_load event handler return not working

* added async tests

* addressed comments
2023-04-06 22:26:43 -07:00
Kasun Herath
e9928d9838
Add Database configuration object (#763)
* Add DB config object (#759)

* Add DBConfig to base (#759)
2023-04-03 21:39:44 -07:00
Nikhil Rao
8eea6ac822
Add component memoization (#770) 2023-04-03 17:38:56 -07:00
Elijah Ahianyo
50cdfac24c
bugfix/723: pc.data_table not working well with pandas as computed vars (#745)
* bugfix/723: pc.data_table not working well with pandas as computed vars

Turns out this isnt really a bug. You need to specify an annotation for the computed var to work. This Pr adds a check for annotations on computed vars for data tables

* added more validation for column field
2023-04-02 16:49:50 -07:00
jonatan
e811a84ed4
Use strict equality in generated JS (#750) 2023-04-02 15:40:52 -07:00
Elijah Ahianyo
50d480da1f
Allow upload event handler to have arbitrary arg name (#755) 2023-04-02 15:40:05 -07:00
Elijah Ahianyo
1fdc01fa56
Bugfix: 719-File-upload-props-not-working (#738) 2023-03-29 18:26:02 -07:00
Elijah Ahianyo
a2f86f9fbb
Feature/Multi File upload (#712)
* This PR adds a feature to upload multiple files

* modified function to support python 3.8

* change code to use types instead of  arg name
2023-03-22 23:54:08 -07:00
Elijah Ahianyo
41e8afc92a
Handle file uploads with substates (#703) 2023-03-17 15:11:24 -07:00
Elijah Ahianyo
592be487c9
Call event handlers from other event handlers (#691) 2023-03-16 16:57:28 -07:00
iron3oxide
7067baf176
Refactor utils module (#666) 2023-03-16 14:59:27 -07:00
Nikhil Rao
2ee8c73d5a
Add error message for invalid var ops (#664) 2023-03-11 21:11:59 -08:00
Xiaojing Chen
3bf7d1f722
Throw better error for invalid child component (#655) 2023-03-10 13:02:17 -08:00
Xiaojing Chen
ae5b6426aa
Clean up json dumps (#642) 2023-03-07 14:37:34 -08:00
Elijah Ahianyo
e106b7aedf
Bugfix for properly rendering datatables (#638) 2023-03-07 13:50:04 -08:00
Nikhil Rao
3491955995
Fix format dict props (#641) 2023-03-06 17:38:21 -08:00
Nikhil Rao
d74efb9bff
Fix cond component render (#639) 2023-03-06 16:45:10 -08:00
Nikhil Rao
8ba22ed92d
Factor out responsive helpers (#624) 2023-03-03 13:29:17 -08:00
Nikhil Rao
46cdda4125
Fix issubclass check (#618) 2023-02-28 20:10:00 -08:00
Xiaojing Chen
55ac6e4973
Add unit test for style (#615) 2023-02-28 11:29:06 -08:00
Xiaojing Chen
b4c3cb5eb3
[Tests] add unit test for event (#614) 2023-02-27 19:13:49 -08:00
Nikhil Rao
6c8ce67b8b
Call special events from event triggers (#601) 2023-02-24 15:17:03 -08:00
Xiaojing Chen
37edaa2f6b
[Fix: issue 582] Icon tag should work despite case sensitivity. (#588) 2023-02-21 17:32:34 -08:00
Nikhil Rao
f88d4ce4b4
Add tests for pc.icon (#562) 2023-02-17 12:01:30 -08:00
Alek Petuskey
b36680fefd
Anonymous Telemetry Opt Out Available (#550)
* Added anonymous telemetry with opt-out.
2023-02-16 00:11:53 -08:00
Nikhil Rao
47eebe0ea5
Clean up cond vars (#536) 2023-02-13 15:27:03 -08:00
Nikhil Rao
0bd8f6acfc
Add keypress event handlers (#523) 2023-02-12 13:12:57 -08:00
Elijah Ahianyo
8de2163d84
Create PCDict (#503) 2023-02-12 12:52:45 -08:00
Elijah Ahianyo
69a9c95d73
Make PCList pickleable (#500) 2023-02-10 12:25:58 -08:00
advo-kat
8d9c75824c
Socket fixes and config options(#485) 2023-02-09 23:59:20 -08:00
叶子
1529a23c1b
Switch linter to ruff (#450) 2023-02-09 11:33:18 -08:00
Nikhil Rao
eb723b6ebe
Add compile error for invalid event handlers (#482) 2023-02-08 16:27:13 -08:00
Robert Neumann
fdf0e9ea6b
Add --no-zip pc CLI Parameter (#479) 2023-02-08 14:39:38 -08:00
PeterYusuke
07289c8735
Solve windows env test fails (#437) 2023-02-06 13:41:59 -08:00
Nikhil Rao
8958f14778
Allow pc.cond without else case (#453) 2023-02-05 17:50:34 -08:00
lawrence-axb
d1ff7d481f
Allow plotly figures as state vars (#440) 2023-02-04 16:13:18 -08:00
Elijah Ahianyo
00479362df
Allow conditional props (#359) 2023-02-02 00:22:44 -08:00
Nikhil Rao
e578956b0c
Comment out pclist (#407) 2023-01-30 19:25:02 -08:00
Nikhil Rao
6b97de71a0
Fix format route and code cleanup (#399) 2023-01-30 14:35:06 -08:00
Thomas Brandého
4971f6d814
Support backend-only state vars (#390) 2023-01-29 18:55:34 -08:00
Nikhil Rao
2b7e2ecf30
Fix custom routes on Windows (#389) 2023-01-29 16:39:19 -08:00
Thomas Brandého
b06f612a7d
Dynamically add vars to a State (#381) 2023-01-29 11:20:06 -08:00
Tommy Dew
d5a76f103a
Add pc.list for mutation detection (#339) 2023-01-28 10:50:52 -08:00
Alek Petuskey
cb61579f53
Added anonymous telemetry helpers. (#340) 2023-01-25 14:57:29 -08:00
Nikhil Rao
6f3d763f82
Rename path to route everywhere (#329) 2023-01-23 21:53:42 -08:00
Tommy Dew
f7e35771e9
Relax type requirement on pc.cond (#323) 2023-01-23 20:20:19 -08:00
Nikhil Rao
d376d2972b
Support dataframes as state vars (#324) 2023-01-23 18:47:21 -08:00
Thomas Brandého
554e6d919b
Add event token to router_data (#316) 2023-01-22 17:40:19 -08:00
Atharva Shah
2ccbfff223
General code cleanup (#312) 2023-01-22 10:58:07 -08:00
Nikhil Rao
8be411b81b
Implement var slicing (#289) 2023-01-18 17:53:04 -08:00
Elijah Ahianyo
c8936355f2
Remove assets dir symlink 2023-01-13 10:35:20 -08:00
Nikhil Rao
7f0aa4f5c4
Fix custom component imports (#246) 2023-01-11 11:34:46 -08:00
Alek Petuskey
876cf13344
Updated Victory Group/Stack (#231) 2023-01-08 23:36:51 -08:00
Thomas Brandého
1124067c12
Add router data to state (#228) 2023-01-08 13:48:09 -08:00
Alek Petuskey
2d5cb4a561
Added victory graphs. (#214) 2023-01-05 17:38:54 -08:00
Nikhil Rao
2543e48a30
Access parent state vars from substate (#207) 2023-01-04 15:41:05 -08:00
Nikhil Rao
3f27ce3442
Fix component decorator bugs (#203) 2023-01-04 15:20:33 -08:00
Nikhil Rao
d93e2cec00
Add decorator for custom components (#193) 2023-01-02 16:08:00 -08:00
Nikhil Rao
43bd4784dc
Fix substate event handlers (#171) 2022-12-22 16:10:15 -08:00
Nikhil Rao
974d2b4cbb
Improve event processing performance (#163) 2022-12-21 20:04:13 -08:00
Nikhil Rao
9ecadcc646
Improve prop error messages (#84)
* Add better error messages for component props
2022-12-13 11:31:57 -08:00
Nikhil Rao
dd26dd044b
Add style for code blocks. (#32)
* Rename github actions file
* Update custom code
* Add theme for code blocks
2022-12-06 01:22:57 -08:00
Nikhil Rao
5f9bbac11e
Fix state indexing (#16) 2022-11-28 20:12:08 -08:00
Nikhil Rao
c4b1f2c669
Create Github Action for pytest (#12) 2022-11-21 18:50:59 -08:00
Nikhil Rao
29e37350e5
Add basic unit tests (#7)
* Unit tests for components, state, and utils
2022-11-20 14:34:25 -08:00
Nikhil Rao
2008417bd7 Clean up tags. 2022-11-18 17:48:51 -08:00
Nikhil Rao
e8e8eaa010 Initial commit. 2022-11-18 12:44:06 -08:00