Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(children): make children observation a binding #1732

Merged
merged 6 commits into from
Apr 7, 2023

Conversation

bigopon
Copy link
Member

@bigopon bigopon commented Apr 7, 2023

Pull Request

📖 Description

Currently children observation is treated slightly different: it's tracked in the element definition and initialized with different timing, as well start + stop calls. These treatments are unnecessary and can be made the same with standard bindings, via lifecycle hooks.

Also make @children work like v1 when the argument is a string: currently @children('div') means target the div property on the class, while in v1, it means query child <div/> element.

This work is part of @slotted and <au-slot/> feature, where we improve the infra structure around this feature. So if an application doesn't use @children, it won't have to pay the cost.

  • some extra cleanup & coverage improvement.

Next steps

  • implement @slotted for <au-slot/>
  • add documentation for @children and @slotted

@bigopon bigopon merged commit 5bde983 into master Apr 7, 2023
@bigopon bigopon deleted the feat/slotted-deco branch April 7, 2023 09:36
AureliaEffect pushed a commit that referenced this pull request Apr 13, 2023
2.0.0-beta.4 (2023-04-13)

**Features:**

* **debounce-throttle:** flush via signals (#1739) ([af238a9](af238a9))
* **slotted:** add slotted decorator, slotchange bindable for au-slot (#1735) ([8cf87af](8cf87af))
* **router-lite:** extended support for ../ prefix, activeClass router configuration (#1733) ([bd18fde](bd18fde))
* **router-lite:** non-string support for fallback (#1730) ([59da952](59da952))
* **vite-plugin:** add vite plugin (#1726) ([564e533](564e533))
* **router-lite:** ce aliases as configured route (#1723) ([2b7f9fc](2b7f9fc))
* **router-lite:** transitionplan as nav opt ([7905d98](7905d98))

**Bug Fixes:**

* **repeat:** fix mismatchedLengthError on assigning an array with duplicate primitive values (#1737) ([cf60ac8](cf60ac8))
* **vite-plugin:** optionally resolve alias, add preliminary doc (#1731) ([3f37f8d](3f37f8d))
* **select:** insensitive multiple.bind order (#1727) ([c8d912f](c8d912f))
* **ci:** fix vite build in ci, upgrade chromedriver ([564e533](564e533))
* **proxy-observation:** prevent proxies from being wrapped in proxies again (#1716) ([7792e9c](7792e9c))

**Refactorings:**

* **children:** remove children observers from custom element def, make children deco as a hook (#1732) ([5bde983](5bde983))
* **all:** ignore dev message coverage ([5bde983](5bde983))
* **router-lite:** routable fallback ([59da952](59da952))
* **platform:** remove unnecessary properties on PLATFORM (#1722) ([7cd77ad](7cd77ad))
* **router-lite:** route definition configuration ([eba6d61](eba6d61))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant