20 Commits

Author SHA1 Message Date
Kaede Hoshikawa
8b9e164d7e
Update Dependencies to Fix CI (#3326)
* Update dependencies.

* Update dependencies.

* Fix gloo breaking change.
2023-07-01 01:33:18 +00:00
Kaede Hoshikawa
9cebb09b58
Update dependencies. (#3253) 2023-04-30 20:42:43 +05:00
Jedd Dryden
a53a045970
Simplified and Uniform Example Instructions (#3113)
* Add `--open` to `boids`

* Added running instructions to `contexts`

* Amended `counter` instructions

- Added `--open` flag
- Removed unnecessary instructions on how to run with `release` profile

* Amended `counter_functional` instructions

- Added `--open` flag
- Removed unnecessary instructions on how to run with `release` profile

* Amended `dyn_create_destroy_apps` instructions

- Added `--open` flag
- Removed unnecessary instructions on how to run with `release` profile

* Added running instructions to `file_upload`

* Added running instructions to `function_memory_game``

* Amended `function_router` instructions

- Amended `release` profile instructions
- Added `--open` flag

* Added running instructions to `function_todomvc`

* Added running instructions to `futures`

* Added running instructions to `game_of_life`

* Added running instructions to `immutable`

* Added running instructions to `inner_html`

* Added running instructions to `js_callback`

* Amended `keyed_list` instructions

- Added `--open` flag
- Amended `release` profile notice

* Added running instructions to `mount_point`

* Added running instructions to `nested_list`

* Added running instructions to `node_refs`

* Amended `password_strength` instructions

- Added `--open` flag
- Amended `release` profile notice

* Added running instructions to `portals`

* Amended `router` instructions

- Added `--open` flag
- Amended `release` profile notice

* Amended `simple_ssr` instructions

- Simplified wording
- Removed unnecessary notes
- Changed commands so that they should be executed from the `examples/simple_ssr` directory like every other example

* Amended `ssr_router` instructions

- Removed unnecessary notes
- Changed commands so that they should be executed from the `examples/ssr_router` directory like every other example

* Added running instructions to `suspense`

* Added running instructions to `timer`

* Added running instructions to `todo_mvc`

* Added running instructions to `two_apps`

* Added running instructions to `web_worker_fib`

* Added running instructions to `webgl`

* Amended various examples

- Simplified running instructions
- Moved running instructions to the bottom of each `README.md`

* Amended `examples/README.md` instructions

- Added `release` profile notice
- Added `--open` flag
- Removed `--release` flag

* Apply grammar suggestions from code review

Co-authored-by: Kaede Hoshikawa <futursolo@users.noreply.github.com>

* Update examples/function_router/README.md Grammar

Co-authored-by: Kaede Hoshikawa <futursolo@users.noreply.github.com>

* Add Grammar Suggestions from Review

* Apply Spelling Suggestion

Co-authored-by: Kaede Hoshikawa <futursolo@users.noreply.github.com>

---------

Co-authored-by: Kaede Hoshikawa <futursolo@users.noreply.github.com>
2023-04-02 03:19:08 +05:00
Kaede Hoshikawa
924792c002
Enable Dependabot for Examples and Tools (#2785)
* Enable dependabot for examples and tools.

* Make everything to use Gloo.

* Require features for binaries.

* Update every Friday.
2022-07-21 01:23:22 +09:00
dependabot[bot]
814e52daac
Update gloo requirement from 0.7 to 0.8 (#2766)
Updates the requirements on [gloo](https://github.com/rustwasm/gloo) to permit the latest version.
- [Release notes](https://github.com/rustwasm/gloo/releases)
- [Commits](https://github.com/rustwasm/gloo/compare/0.7.0...0.8.0)

---
updated-dependencies:
- dependency-name: gloo
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-01 21:32:32 +09:00
Muhammad Hamza
c28a71e78e
Use nightly for Rustfmt (#2630)
* add rustfmt.toml, use nightly in CI, update contributing docs

* run `cargo +nightly fmt`
2022-04-21 23:21:15 +05:00
dependabot[bot]
d2c3685521
Update gloo requirement from 0.6 to 0.7 (#2613)
Updates the requirements on [gloo](https://github.com/rustwasm/gloo) to permit the latest version.
- [Release notes](https://github.com/rustwasm/gloo/releases)
- [Commits](https://github.com/rustwasm/gloo/compare/0.6.0...0.7.0)

---
updated-dependencies:
- dependency-name: gloo
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-15 12:16:04 +02:00
WorldSEnder
daf6ec0152
Reduce size of examples (#2601)
* Reduce size of examples with this one weird trick

* oops, fixup function_router
2022-04-11 17:02:59 +05:00
Kaede Hoshikawa
8bc2212716
#[cfg(feature = "render")] and yew::Renderer (#2498)
* Bring changes to this branch.

* Bring changes to this branch.

* Add feature render and renderer.

* Bring changes to this branch.

* Migrate examples to Renderer.

* Satisfy no any render.

* Satisfy ssr.

* Satisfy feature render.

* Lint feature soundness.

* Suppress tests.

* Fix pr-flow, update docs.

* Add a notice.

* Adjust visibility.

* Correctly feature gate tests.

* make test scope available under feature render.

* Fix CI.

* Fix CI.

* Restore tests module to its original place as well.

* Make bundles crate private.

* Make most bundle APIs private.

* Adjust docs.

* Adjust debug implementation.

* Replace start_app with Renderer.

* Adjust documentation.

* Remove unused lint.

* Remove start_app from docs.

* DomBundle -> ReconcileTarget.

* Adjust documentation.

* Once render, now csr.

* Fix docs as well.
2022-03-20 00:48:47 +09:00
Muhammad Hamza
f05ba4152c
Update to edition 2021 (#2354)
* cargo fix --edition

* change edition="2018" to edition="2021" in Cargo.toml
2022-01-12 16:22:00 +02:00
dependabot[bot]
3677930fc4
Update gloo requirement from 0.4 to 0.6 (#2337)
* Update gloo requirement from 0.4 to 0.6

Updates the requirements on [gloo](https://github.com/rustwasm/gloo) to permit the latest version.
- [Release notes](https://github.com/rustwasm/gloo/releases)
- [Commits](https://github.com/rustwasm/gloo/commits)

---
updated-dependencies:
- dependency-name: gloo
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix ci

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: voidpumpkin <32368314+voidpumpkin@users.noreply.github.com>
2022-01-10 23:17:13 +02:00
Allan
b3f8ca1920
Replace Model with App or MyComponent (#2336)
`Model` is ambiguous and not a user-friendly name.
Some of the newer docs are already referring to the root component as
`App`.

This PR follows this naming scheme:
 - `App` for a root component
 - `MyComponent` for an arbitrary component

This naming is inspired by the React docs.

i18n references were not changed. They need a larger rewrite which will
go in a separate PR.
2022-01-07 20:50:21 +05:00
dependabot[bot]
8a43880586
Update gloo requirement from 0.3 to 0.4 (#2123)
Updates the requirements on [gloo](https://github.com/rustwasm/gloo) to permit the latest version.
- [Release notes](https://github.com/rustwasm/gloo/releases)
- [Commits](https://github.com/rustwasm/gloo/compare/0.3.0...0.4.0)

---
updated-dependencies:
- dependency-name: gloo
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-11 16:10:57 +01:00
Muhammad Hamza
dd2db93996
Use functions from gloo_utils instead of re-implementing them (#2124)
* Use functions from `gloo_utils` instead of re-implementing them

* Remove `anyhow` dependency

* fix errors

* review + post merge fixes
2021-11-11 16:45:08 +02:00
mc1098
0e52b88742
Update gloo dependencies in yew and examples (#2021)
Updates to using the latest stable gloo, in some cases removing
dependencies on `master` branch.

Removes `weblog` in favour of `gloo_console`, where applicable.
2021-08-29 02:13:06 +01:00
mc1098
4e974dad92
Remove ShouldRender type alias (#2011)
Remove `ShouldRender` type alias for bool. In the Component trait an
extra comment has been added to explain what the returned bool
represents.
2021-08-25 17:52:09 +02:00
Muhammad Hamza
f50c8c3cba
Components v2 (2) (#1961)
* Start rewrite

* Rc > cloning props

* fmt + rm useless file

* move props inside `Context`

* router compiles

* fix boids example

* fix counter example

* fix crm example

* fix dyn_create_destroy_apps example

* fix file_upload example

* fix futures example

* fix game_of_life example

* fix inner_html example

* fix js_callback example

* fix mount_point example

* fix keyed_list example

* fix web_gl example

* fix two_apps example

* fix todomvc example

* fix timer example

* fix store example

* fix nested_list example

* fix node_refs example

* fix pub_sub example

* fix multi_thread example

* don't call `changed` if props weren't changed

* formatting

* fix doc tests, remove neq_assign

* update router example, fix neq_assign compile errors

* fix macro/rest of doc tests

* start updating documentation

* `Component`'s documentation

* Apply suggestions from code review

Co-authored-by: mc1098 <m.cripps1@uni.brighton.ac.uk>

* Apply suggestions from code review (part 2)

* Apply suggestions from code review (part 3)

* fix context

* clippy

* post merge fixes

Co-authored-by: mc1098 <m.cripps1@uni.brighton.ac.uk>
2021-08-25 13:11:39 +01:00
Xavientois
4a14d0f0a4
Add requirement for braces around most props (#1939)
* Limit the properties to literals and brace-enclosed expressions

* Update examples with new syntax

* Update packages/yew-macro/src/props/prop.rs

Co-authored-by: Teymour Aldridge <42674621+teymour-aldridge@users.noreply.github.com>

* Fix lints and strip braces around single expressions

* Update docs with new prop syntax

* Add some test cases for new syntax

* Ensure all tests are passing

* Clean up missed code

* Update tests

* Update reverted docs

* Revert versioned docs

* Fix optional attributes paragraph

* Remove accidentally added files

* Remove accidentally added french docs

* Update packages/yew-macro/src/props/prop.rs

Co-authored-by: mc1098 <m.cripps1@uni.brighton.ac.uk>

* Fix forgotten braces and test cases

* Revert i18n old docs

* Revert translated docs

* Remove suggested fix in favour of more succinct error message

* Update errors after rebase

* Remove files accidentally added while rebasing

* Fix merge conflicts

Co-authored-by: Teymour Aldridge <42674621+teymour-aldridge@users.noreply.github.com>
Co-authored-by: mc1098 <m.cripps1@uni.brighton.ac.uk>
2021-07-18 18:54:21 +02:00
Muhammad Hamza
2412a68bee
Refactor and cleanup codebase (#1842)
* remove yew-dsl

* remove yew-components

* remove yew-services

* remove yew::format

* fix CI

* move yew::agent to yew-agent crate

* move yew-functional to yew

plus a couple of misc fixes

* move futures and neqassign out of yewtil

* move yewtil::store to yew_agent, remove yewtil

* formatting

* fix tests

* update docs

* use `rustwasm` gloo repo instead of mine

* add docs

* use rustwasm/gloo repo

* remove unused file

* fix Makefile.toml

* Fix issues after rebase

* Apply suggestions from code review (part 1)

Co-authored-by: mc1098 <m.cripps1@uni.brighton.ac.uk>

* Apply suggestions from code review (part 2)

* move `#[function_component(_)]` tests

missed those before

* Apply suggestions from code review

Co-authored-by: mc1098 <m.cripps1@uni.brighton.ac.uk>

Co-authored-by: mc1098 <m.cripps1@uni.brighton.ac.uk>
2021-07-18 15:57:09 +02:00
Nicklas Warming Jacobsen
09a41d6903
Change the app struct to be a real handle to an Yew app instance and make it possible to destroy a running app (#1825)
* Naive implementation of destroy app

* Move functions get_component_link and destroy

The function get_component_link and destroy on App does not require
Component::Properties to be Default. So move them to their own impl
block.

* Change the fn signatures for the other mount fns too

* Add example of how to use the apps dynamically

* Rename example

* Change title of example html file

* Update examples/dyn_create_destroy_apps/src/counter.rs

Co-authored-by: Simon <simon@siku2.io>

* Change fn signatures of App to not take Self

* app.rs thorugh to public API: only make it possible to create an
instance of an App by mounting it. And only make it possible to mount
an App by creating it. This prevents double mounting.
* Change Scope::mount_in_place to take &self instead of self, because it
doesn't have too.

* Fix examples to compile with new App signature

* Fix tests to compile with new App signature

* Remove pub pulic App::mount* API

* Make the documentation compile again with the new start_app API

* Make the examples compile again with the new start_app API

* Make the yew packages compile again with the new start_app API

* rename module yew::app to yew::app_handle

* Fix identation in styling file for dyn_create_destroy_app ex

* Fix naming in examples/dyn_create_destroy_apps/README.md

Co-authored-by: Simon <simon@siku2.io>

* Use Self instead of AppHandle to create AppHandle

Co-authored-by: Simon <simon@siku2.io>

* Fix the start_app_in_body docs

Co-authored-by: Simon <simon@siku2.io>

* Remove comparison with Elm in the start_app docs

Co-authored-by: Simon <simon@siku2.io>

* Fix english in dyn_create_destroy_apps example

Co-authored-by: Simon <simon@siku2.io>

* Impl Deref instead of AsRef for AppHandle

* Formatting

* Remove AppHandle::new use Default trait instead

* Rename the Yew::start_app* function names

* Revert "Remove AppHandle::new use Default trait instead"

This reverts commit 97e4897c1edafac34e012f13bc2b5084f68f8dce.

* remove default impl for AppHandle

* Make the tests compile again

* Make the examples compile again

* Add dyn_create_destroy_apps to examples/README.md

* Remove mount_to_body_with_props

Co-authored-by: Simon <simon@siku2.io>

* Use yew getters instead of query selectors

Co-authored-by: Simon <simon@siku2.io>

* Remove AppHandle::new

* Remove unused function

* code style fix

* Fix compile error

* Add func set_custom_panic_hook

This commit adds the function set_custom_panic_hook. In addition Yew
will now check if a custom panic is registered when one of start_app*
functions are called, if that is not the case a default panic hook is
registered.

* Fix docs for set_custom_panic_hook

Co-authored-by: Simon <simon@siku2.io>

Co-authored-by: Nicklas Warming Jacobsen <nwj@skybox.gg>
Co-authored-by: Simon <simon@siku2.io>
2021-05-17 13:43:06 +02:00