Merged
Conversation
- CI: test with `dart2js` and `dart2wasm` (on Chrome). - sdk: '>=3.6.0 <4.0.0' - js_interop_utils: ^1.0.1 - web_utils: ^1.0.1 - web: ^1.1.0 - collection: ^1.19.0 - lints: ^5.1.1
- CI: test with `dart2js` and `dart2wasm` (on Chrome). - sdk: '>=3.6.0 <4.0.0' - js_interop_utils: ^1.0.5 - web_utils: ^1.0.5 - dom_tools: ^3.0.0-beta.3 - dom_builder: ^3.0.0-beta.1 - web: ^1.1.0 - collection: ^1.19.0 - test: ^1.25.15 - stream_channel: ^2.1.4 - lints: ^5.1.1 - build_web_compilers: ^4.1.1 - build_runner: ^2.4.15
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #39 +/- ##
==========================================
+ Coverage 36.56% 37.64% +1.08%
==========================================
Files 22 23 +1
Lines 3408 3395 -13
==========================================
+ Hits 1246 1278 +32
+ Misses 2162 2117 -45
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- web_utils: ^1.0.6 - dom_tools: ^3.0.0-beta.4 - dom_builder: ^3.0.0-beta.2
- web_utils: ^1.0.7 - mercury_client: ^2.2.5
- web_utils: ^1.0.7 - mercury_client: ^2.2.5
- js_interop_utils: ^1.0.6
- web_utils: ^1.0.9 - intl_messages: ^3.0.0-beta.1 - dom_tools: ^3.0.0-beta.5 - swiss_knife: ^3.3.0 - statistics: ^1.2.0 - resource_portable: ^3.1.2 - intl: ^0.20.2
…sistencies in Wasm.
- Avoids using `identical` with `Element` (`JSObject`) to avoid inconsistencies in Wasm. - dom_tools: ^3.0.0-beta.7 - dom_builder: ^3.0.0-beta.3 - web: ^1.1.1 - mercury_client: ^2.3.0
# Conflicts: # CHANGELOG.md # lib/src/bones_ui.dart # lib/src/bones_ui_component.dart # lib/src/component/loading.dart # pubspec.yaml
✨♻️ refactor(bones_ui_test_tools): - Standardize `selectNonTyped` and rename it to `select`. - Standardize `selectNonTypedAll` and rename it to `selectAll`. - Ensure that `selectTyped` exists where `querySelectorTyped` exists. - web_utils: ^1.0.11
…er accuracy and clarity.
- web_utils: ^1.0.12 - dom_tools: ^3.0.0-beta.8 - project_template: ^1.1.1 - archive: ^4.0.4 - dependency_validator: ^5.0.2
# Conflicts: # CHANGELOG.md # lib/src/bones_ui.dart # lib/src/bones_ui_component.dart # pubspec.yaml
- Merge v2.5.15
- `UIComponent`:
- Added `renderedElementsAsync`.
- `UIDialogBase`:
- Added `configureButtons` to configure the buttons `onClick`.
- `posRender` and `posAsyncRender` calls `configureButtons`.
- js_interop_utils: ^1.0.7
- web_utils: ^1.0.14
- dom_tools: ^3.0.0-beta.9
- dom_builder: ^3.0.0-beta.4
- archive: ^4.0.5
- replace `append` with `appendChild` for DOM consistency.
- `UISVG`: - replace `createHTML` with `createElement` for SVG element creation. - `UIComponent`: - replace `append` with `appendChild` for DOM consistency. - js_interop_utils: ^1.0.8 - web_utils: ^1.0.15 - dom_tools: ^3.0.0-beta.10 - archive: ^4.0.7 - test: ^1.26.2 - test_api: ^0.7.6 - test_core: ^0.6.11 - build_web_compilers: ^4.1.5
# Conflicts: # CHANGELOG.md # lib/src/bones_ui.dart # pubspec.yaml
- New `KeyboardEventExtension`: - getter `keyCodeSafe`. - `UIDOMGenerator`: - `addExternalElementToElement`: improve external element resolution. - `attachFutureElement`: improve element resolution. - js_interop_utils: ^1.0.9 - web_utils: ^1.0.16 - dom_tools: ^3.0.0-beta.12 - expressions: ^0.2.5+3 - collection: ^1.19.1 - test: ^1.27.0 - test_api: ^0.7.8 - test_core: ^0.6.13 - build_web_compilers: ^4.4.2 - build_runner: ^2.10.4 - dependency_validator: ^5.0.3
- New `KeyboardEventExtension`: - getter `keyCodeSafe`. - `UIDOMGenerator`: - `addExternalElementToElement`: improve external element resolution. - `attachFutureElement`: improve element resolution. - js_interop_utils: ^1.0.9 - web_utils: ^1.0.16 - dom_tools: ^3.0.0-beta.12 - dom_builder: ^3.0.0-beta.5 - expressions: ^0.2.5+3 - collection: ^1.19.1 - test: ^1.28.0 - test_api: ^0.7.8 - test_core: ^0.6.14 - build_web_compilers: ^4.4.3 - build_runner: ^2.10.4 - dependency_validator: ^5.0.3
…ion.dart function and key event handling logic.
- `UIComponent`: - `getFieldElementTyped`: use `asElementOfNullable`. - web_utils: ^1.0.18
- `UIDOMGenerator`:
- `toElements`:
- Fix resolution of `UIComponent`, calling `UIComponent.ensureRendered` before return `UIComponent.content`.
- dom_builder: ^3.0.0-beta.6
- dom_tools: ^3.0.0-beta.13
- dom_tools: ^3.0.0-beta.13 - dom_builder: ^3.0.0-beta.7 - web_utils: ^1.0.19
- Updated event listener attachment to use `addEventListenerTyped`. - Fixed null safety and type checks for button elements.
- Fixed background color style to use `rgb` when alpha is 1.0.
- Added `ElementStreamExtension` and `StreamSubscriptionExtension` to track subscriptions in `DOMTreeMap`.
- Added `unregisterEventListener` and `clearEventListeners` methods. - `EventHandlerPrivate`: - Changed `_eventListeners` to nullable and lazily initialized. - Added `_unregisterEventListener` and `_clearEventListeners` implementations.
- Added delayed `_configure` call after construction. - Updated `_updateCanvasDimension` to return bool indicating if dimension changed. - Improved zoom and translate setters to avoid unnecessary renders.
- Updated calls to `buildDOM` to include `treeMap` and `setTreeMapRoot` parameters.
- Updated `addExternalElementToElement` and `toElements` to accept `treeMap` and `context` parameters. - Updated calls to `buildDOM` to pass `treeMap` and `setTreeMapRoot`.
- Added new `CaptureDataFormat.urlOrBlobUrl` format. - Added `selectedFileDataAsURLOrDataURLBase64` getter. - Updated `_readFile` and `_filterCapturedData` to support new format and improved async flow with `_yeld` helper. - Updated `_CapturedData` class to store optional MIME type and support new format. - Improved data format conversions to preserve MIME type. - Added helper `_yeld` function for async yielding.
- Updated `asDIVElement` buildDOM calls to pass `treeMap` and `setTreeMapRoot`.
- Updated DOM generation calls to pass `treeMap` and `setTreeMapRoot`.
- Updated DOM generation calls to pass `treeMap`, `context`, and `setTreeMapRoot`. - Updated template building to use `dsxResolution` enum instead of boolean flags.
…instead of toList to avoid extra copying
- Added optional `parent` parameter to rendering methods. - Updated DOM building calls to pass `treeMap` and `setTreeMapRoot`. - Updated `_resolveValueText` to use `parent` for intl message resolution. - `UIInputTable`: - Updated rendering of inputs and labels to pass `domTreeMap` and `setTreeMapRoot`.
…e setTreeMapRoot when building DOM
- Replaced `Expando` with `DualWeakMap` for static field `_asyncRenderingZoneComponent`. - Added `_domTreeMap` field and `domTreeMap` getter for lazy DOM tree mapping. - Added `domTreeMapIfInitialized` getter and static `domTreeMapDummy`. - Replaced `Expando` with `DualWeakMap` for `_contentsUIComponents`. - Updated parent setting methods to use named parameter `addToParent`. - Added `_resolveParentFromParentUIComponent` to better resolve `_parent`. - Updated many list conversions from `.toList()` to `.asListViewFixed` for performance. - Added `_onRender` and `_onChange` lazy event streams. - Added `_renderedUIRoots` and `_renderedUIComponents` sets to track rendering. - Improved `_markRenderTime` and rendering finish notification logic. - Added `dispose` and `_recycle` methods for lifecycle management. - Added static `purgeGlobals` to clear global UI state. - Updated rendering and async content handling to use nullable collections. - Updated event listener attachment to use `addEventListenerTyped`.
- Replaced `Expando` with `DualWeakMap` for static field `_asyncRenderingZoneComponent`. - Added `_domTreeMap` field and `domTreeMap` getter for lazy DOM tree mapping. - Added `domTreeMapIfInitialized` getter and static `domTreeMapDummy`. - Replaced `Expando` with `DualWeakMap` for `_contentsUIComponents`. - Updated parent setting methods to use named parameter `addToParent`. - Added `_resolveParentFromParentUIComponent` to better resolve `_parent`. - Updated many list conversions from `.toList()` to `.asListViewFixed` for performance. - Added `_onRender` and `_onChange` lazy event streams. - Added `_renderedUIRoots` and `_renderedUIComponents` sets to track rendering. - Improved `_markRenderTime` and rendering finish notification logic. - Added `dispose` and `_recycle` methods for lifecycle management. - Added static `purgeGlobals` to clear global UI state. - Updated rendering and async content handling to use nullable collections. - Updated event listener attachment to use `addEventListenerTyped`.
- Changed `_uiComponentsTree` to nullable and lazily initialized. - Added `_onPurgedUIComponents` callback to dispose purged components. - Updated methods to safely handle nullable `_uiComponentsTree`. - Added `purgeRoot` method to purge tree and global UI state. - Added `_UIDOMTreeReferenceMap` subclass to prevent premature purging of components not fully initialized or disposed.
- `UIEventHandler`:
- Added `unregisterEventListener` and `clearEventListeners` methods.
- `EventHandlerPrivate`:
- Changed `_eventListeners` to nullable and lazily initialized.
- Added `_unregisterEventListener` and `_clearEventListeners` implementations.
- `ElementProvider` and `CSSProvider`:
- Updated calls to `buildDOM` to include `treeMap` and `setTreeMapRoot` parameters.
- `UIComponent`:
- Replaced `Expando` with `DualWeakMap` for static field `_asyncRenderingZoneComponent`.
- Added `_domTreeMap` field and `domTreeMap` getter for lazy DOM tree mapping.
- Added `domTreeMapIfInitialized` getter and static `domTreeMapDummy`.
- Replaced `Expando` with `DualWeakMap` for `_contentsUIComponents`.
- Updated parent setting methods to use named parameter `addToParent`.
- Added `_resolveParentFromParentUIComponent` to better resolve `_parent`.
- Updated many list conversions from `.toList()` to `.asListViewFixed` for performance.
- Added `_onRender` and `_onChange` lazy event streams.
- Added `_renderedUIRoots` and `_renderedUIComponents` sets to track rendering.
- Improved `_markRenderTime` and rendering finish notification logic.
- Added `dispose` and `_recycle` methods for lifecycle management.
- Added static `purgeGlobals` to clear global UI state.
- Updated rendering and async content handling to use nullable collections.
- Updated event listener attachment to use `addEventListenerTyped`.
- `bones_ui_extension.dart`:
- Added `ElementStreamExtension` and `StreamSubscriptionExtension` to track subscriptions in `DOMTreeMap`.
- `UIDOMGenerator`:
- Updated `addExternalElementToElement` and `toElements` to accept `treeMap` and `context` parameters.
- Updated calls to `buildDOM` to pass `treeMap` and `setTreeMapRoot`.
- `UIRootComponent`:
- Changed `_uiComponentsTree` to nullable and lazily initialized.
- Added `_onPurgedUIComponents` callback to dispose purged components.
- Updated methods to safely handle nullable `_uiComponentsTree`.
- Added `purgeRoot` method to purge tree and global UI state.
- Added `_UIDOMTreeReferenceMap` subclass to prevent premature purging of components not fully initialized or disposed.
- `UIButtonBase` and `UIButtonLoader`:
- Updated event listener attachment to use `addEventListenerTyped`.
- Fixed null safety and type checks for button elements.
- `UICapture`:
- Added new `CaptureDataFormat.urlOrBlobUrl` format.
- Added `selectedFileDataAsURLOrDataURLBase64` getter.
- Updated `_readFile` and `_filterCapturedData` to support new format and improved async flow with `_yeld` helper.
- Updated `_CapturedData` class to store optional MIME type and support new format.
- Improved data format conversions to preserve MIME type.
- Added helper `_yeld` function for async yielding.
- `UIDialogBase`:
- Fixed background color style to use `rgb` when alpha is 1.0.
- `_CanvasEditImage`:
- Added delayed `_configure` call after construction.
- Updated `_updateCanvasDimension` to return bool indicating if dimension changed.
- Improved zoom and translate setters to avoid unnecessary renders.
- `InputConfig`:
- Added optional `parent` parameter to rendering methods.
- Updated DOM building calls to pass `treeMap` and `setTreeMapRoot`.
- Updated `_resolveValueText` to use `parent` for intl message resolution.
- `UIInputTable`:
- Updated rendering of inputs and labels to pass `domTreeMap` and `setTreeMapRoot`.
- `UILoading`:
- Updated `asDIVElement` buildDOM calls to pass `treeMap` and `setTreeMapRoot`.
- `MasonryItem` and `_MasonryRenderItem`:
- Updated DOM generation calls to pass `treeMap` and `setTreeMapRoot`.
- `UITemplateElementGenerator`:
- Updated DOM generation calls to pass `treeMap`, `context`, and `setTreeMapRoot`.
- Updated template building to use `dsxResolution` enum instead of boolean flags.
- `pubspec.yaml`:
- Updated dependencies:
- `web_utils`: ^1.0.21
- `dom_tools`: ^3.0.0-beta.19
- `dom_builder`: ^3.0.0-beta.11
- `swiss_knife`: ^3.3.5
- `statistics`: ^1.2.1
- `test`: ^1.29.0
- `test_api`: ^0.7.9
- `test_core`: ^0.6.15
- `build_web_compilers`: ^4.4.11
- `build_runner`: ^2.11.1
- `dependency_validator`: ^5.0.4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.