Fuse
- Added “Reset” menu option to the local preview, allowing you to manually force the application to reset itself to a default state if javascript interactions plus live reloaded markup has caused your application to behave irregularly. Performing a reset in this way functions as a broadcast, resetting every active preview. This function can also be reached using
fuse reset-preview
Fuselibs
DelayBack
-
The meaning of
DelayBackandDurationBackhas now changed. The delay is now measured from the end of the timeline, and is the delay prior to the transiton starting. The transition still takesDurationBacktime, but does not start until afterDelayBacktime. This attempts to create a more understandable definition of the...Backproperties. -
ProgressAnimatorhas been removed. TheTrackAnimatorshould be used instead.
Handle renamed to Name
Docs update
- The
Node.HandleandState.Handleproperties are renamed toNode.NameandState.Namerespectively -
ux:Namenow sets theNameautomatically onNodeandState, and vice versa. (theux:prefix is therefore no longer strictly required forNameonNodeandState) - Script events that used to provide a
handleproperty now provide anameproperty instead
Previously:
<Page Handle="foo" />
Now:
<Page ux:Name="foo" />
Or alternatively:
<Page Name="foo" />
Misc
-
Number.Formatnow takes a shorter format string, for example:F2instead of{0:F2} -
Effect.ExtendsRenderBoundsandEffect.RenderBoundsremoved and replace withModifyRenderBoundsto allow chaining and effects to clip the bounds (as Mask does) -
RenderNodenow invalidates when children are added or removed and propagates layout to the children
FuseJS
- Added Observable.refreshAll + documentation
PullToReload
-
PullToReloadtrigger added to support common behaviour of pulling down on a scroller to reload the contents -
ColumnLayoutadded as a new layout type - The
ScrollViewerhas had some adjustments in how it responds to resizing. The result should be smoother now than before. -
ScrollViewer.SnapMinTransformcan now be set to false to disable any visual handling of the snap region at the top/left.
Text properties
- The
FontSize,TextAlignment,TextColor, andFontproperties are no longer inherited properties and must be set specifically on the newTextControlor derived types (specificallyTextInputorText). If you used such a property on a non-TextControl before and need it to cascade to the children set it in aStyleon that node instead.
Previously:
<Panel FontSize="16">
<Text/>
Could become:
<Panel>
<Text FontSize="16"/>
Or to affect all Text children:
<Panel>
<Style>
<Text FontSize="16"/>
</Style>
-
TextandTextEditderive from commonTextControl. Shared properties moved into base class.TextElementandTextEditmust be embedded in one of these controls now (to acquire the newITextPropertyProviderfor rendering details)
Layout in Node class
-
PanelacceptsNodeas children, not justElement - Some properties/functions moved from
ElementintoNode: LayoutRole, ArrangeMarginBox, GetMarginSize, InvalidateLayout, IsMarginBoxDependent, BringIntoView -
ArrangeMarginBoxrequires a third parameter, the default wasSizeFlags.Bothbefore - Some types moved from
Fuse.ElementsintoFuse: SizeFlags, LayoutRole, InvalidateLayoutReason, LayoutDependent -
Element.ParentElementhas been removed as the parent may not be an element (caseParenttoElementif you really need this, be aware of null) -
Element.ElementRoothas been removed as it is no longer clear what it means, and should not be used -
BringIntoViewArgs.Elementreplaced withNode -
InvalidateVisualReasonremoved as it wasn’t provided consistently and wasn’t used -
Element.RenderNodesplit intoRenderNodeWithEffects/WithoutEffects.RenderBoundsbecomes a property on Node, as doesHitTestBounds. -
Element.Boundshas been removed as it implied a feature that wasn’t there. Usenew Rect(float2(0),ActualSize)if you should actually need the local logical bounds of the control.
ParentNode refactoring
-
Node.ParentNoderenamed toNode.Parent -
INodeParent,IResourceParentandIWindowremoved. Accept aNodeinstead. -
Appnow suports behaviors (e.g.<JavaScript>) directly (added to hidden root node)
Uno
- Renamed Experimental.Threading to Uno.Threading
- Optionally send in dispatcher to HttpMessageHandler.CreateRequest