Repository navigation
Release v4.16.0
Scene input widgets now publish what the user enters as a binding output and command actions resolve their arguments from it. The components package gains a runtime entry with no design-time code, single-file and webview hosts get a fragment-based navigation history, and exposed template configuration enforces collection limits.
Added
useValueOutputandvalueOutputPropertyin@cratis/scene.reactpublish and declare an input'svalueoutput: on mount with the initial value and on every change, as JSON (dates as ISO 8601 strings). (part of #69)- The PrimeReact text, textarea, password, number, date, dropdown, multi-select, radio, checkbox and toggle inputs publish and declare their
valueoutput, so a designer can offer it as a binding source. (part of #69) resolveArgumentSource(@cratis/scene.engine) andArgumentSources.Resolve(Cratis.Scene.Engine) resolve a command argument source:component.<id>.<output>reads another element's output, choosing the longest element id since ids may contain dots, and any other source is a data-context path. (part of #69)@cratis/scene.components/runtimeexportscratisComponentsRuntimePackagewith the components, descriptors and manifest, and loads no designer, property editor or design-time action.cratisComponentsDesignTimeholds the design-time contributions. (part of #70)createHashSceneHistorykeeps navigation entries in the URL fragment, such asindex.html#/WorkItemDetails?workItemId=B, for hosts served as a single file or from a path they do not control. It also follows a fragment changed by hand. See Navigation diagnostics. (part of #74)
Changed
- The core
actioncomponent resolves its argument mapping when it is invoked and adds the values asargumentsto thecratis.scene.commandevent, so a host submits what the user typed. (part of #69) - A property that declares
acceptedBindingKindsaccepts a binding expression of one of those kinds in place of its own value type, and refuses other kinds with the accepted ones named. A command form'sinputscan now be bound to a table'sselectedItem. (part of #69) - The Generate fields action on a command form is disabled, and refuses to run, when the form's fields come from a binding, not only when they are authored. (part of #71)
- The
Cratis.Componentsmanifest no longer declarescommandFieldsandfieldWidthsas its own property editors. They are host editor kinds, so design-time hosts no longer report them as missing. (part of #70) - Exposed template configuration leaves collection items past the owner's
maximumItemsout of the effective result and reports them ascontributionTypeMismatch; they stay in the saved data. See Exposing a template to its screens. (part of #73) - The PrimeReact checkbox and toggle switch name their native input with the authored
ariaLabel, so the accessible name reaches the control rather than its wrapper. (part of #73)