Commit Graph
27 Commits
Author SHA1 Message Date
Lee TaeWoo be1decf9f2 fix syntax error at derive Props using const generics (#1607) 2023-11-04 13:53:50 -05:00
Evan Almloff 42eb4b5098 fix clippy 2023-10-19 15:48:06 -05:00
Evan Almloff ad9c59c2b4 add an readable error when you name a prop key 2023-10-19 13:23:58 -05:00
Leonard c866ae602b Add system for creating component attributes + new #[component] attribute (#1448)
* Add `#[component]` attribute + system for creating component attributes + other stuff

* Delete inlineprops.rs

* Update inline_props.rs

* Cargo fmt

* Fix clippy warnings and paths in props/mods.rs

* Include where clause in `#[inline_props]` output

* Allow Clippy type complexity in `LinkProps`

* Allow the type complexity lint for the entire link.rs file

* Remove snake_case -> PascalCase converter, but rather enforce PascalCase

Also:
- Put the second function inside the main one instead of besides it.
- Simplify

* Simplify type check lints so they don't return false positives

They will not always work, but they won't return any false positives, like for aliases. This is likely going to be replaced by a more polished Clippy-backed linting system.

* Fix #583

* Cargo fmt

* Add docs for `deserialize()` and remove useless comment

* Add `#[component]` to prelude

* Merge branch 'master' of https://github.com/tigerros/dioxus

* #[inline_props] is no more. Except in the docs folder, but that's going to be removed

* Remove docs folder

* Remove docs from workspace

* Resolve `DeserializerOutput` conversation
2023-09-15 09:13:36 -05:00
Evan Almloff 212022d0c2 more clippy fixes 2023-07-19 13:54:10 -07:00
Evan Almloff 3d8d8a1b6f half-build-times 2023-07-19 10:19:23 -07:00
Evan Almloff b6c7d44a27 fix clippy 2023-01-27 20:35:46 -06:00
Jonathan Kelley 19eb12b8dd rollback: use default default 2022-12-19 20:25:21 -08:00
Jonathan Kelley 9c4abcbea0 wip: more tests! 2022-11-22 21:32:26 -08:00
Demonthos daeffd4149 pass clippy (#575) 2022-10-02 14:12:24 -07:00
Demonthos 4a5ae758ee Allow Multiple dependencies for states in the RealDom (native core) (#412)
* WIP multable deps

* WIP: refactor and genralize state macro

* add traversable trait

* update tui to use elementid to index dom
2022-07-07 00:50:22 -04:00
Muhannad Alrusayni 0b5b7f09db feat: Support generic component with inline_props with some limitation 2022-06-04 13:40:50 +03:00
Maccesch 5818da5f70 auto detect optional props 2022-03-15 16:52:45 +00:00
Jonathan Kelley 47bc4e4a44 feat: add "optional" flag for props 2022-01-16 15:27:41 -05:00
Jonathan Kelley d2372717bd feat: flatten props attrs 2022-01-10 02:57:03 -05:00
Alexandre Kirszenberg b6903bf558 Enable clippy 2022-01-08 16:35:26 +01:00
Jonathan Kelley b997b8ebbb feat: enable children properly 2021-12-21 00:46:10 -05:00
Jonathan Kelley e1c858dda5 chore: clippy happy on macro 2021-10-27 17:09:22 -04:00
Jonathan Kelley 16dbf4a6f8 wip: book documentation 2021-10-16 17:04:28 -04:00
Jonathan Kelley fac42339c2 feat: mutations 2021-08-08 15:15:16 -04:00
Jonathan Kelley dfaf5adee1 Feat: solve some issues regarding listeners 2021-07-24 00:29:23 -04:00
Jonathan Kelley 73047fe956 feat: props memoization is more powerful
This commit solves the memoization , properly memoizing properties that don't have any generic parameters. This is a rough heuristic to prevent non-static lifetimes from creeping into props and breaking our minual lifetime management.

Props that have a generic parameter are opted-out of the `partialeq` requirement and props *without* lifetimes must implement partialeq. We're going to leave manual disabling of memoization for future work.
2021-06-22 17:20:54 -04:00
Jonathan Kelley 7790750349 wip: merge in some code from the other branch 2021-06-05 23:47:54 -04:00
Jonathan Kelley b3c96a5996 Feat: props now autoderives its own trait 2021-03-12 15:41:36 -05:00
Jonathan Kelley 5ad81885e4 wip: staticify? 2021-03-11 12:27:01 -05:00
Jonathan Kelley 78d093a945 FIx: cargo fix to clean up things 2021-03-10 19:42:31 -05:00
Jonathan Kelley 7158bc3575 Feat: revert FC changes (like the old style).
This commit reverts to the old style of props + FC. The old style is desirable
because people comfortable with react can automatically be comfortable with
dioxus. It's also nice in that the same props can be used to drive two different
components - something the trait version couldn't do. Now, our trait bound forces
implementations to have the #[derive(Props)] flag. This will need to implement the
Properties trait as well as PartialEq (using ptr::equal for closure fields).
2021-03-09 00:58:20 -05:00