Releases: xh/hoist-react
Releases · xh/hoist-react
v7.2.0
v7.1.0
🎁 New Features
- Additional kit components added for Onsen UI mobile development.
🐞 Bug Fixes
- Dropdown fields no longer default to
commitOnChange: true
- avoiding unexpected commits of type-ahead query values for the comboboxes. - Exceptions thrown from FetchService more accurately report the remote host when unreachable, along with some additional enhancements to fetch exception reporting for clarity.
v7.0.0
💥 Breaking Changes
- Restructuring of core
App
concept with change to new@HoistApp
decorator and conventions around definingApp.js
andAppComponent.js
files as core app entry points.XH.app
now installed to provide access to singleton instance of primary app class. See #387.
🎁 New Features
- Added
AppBar
component to help further standardize a pattern for top-level application headers. - Added
SwitchField
andSliderField
form field components. - Kit package added for Onsen UI - base component library for mobile development.
- Preferences get a group field for better organization, parity with AppConfigs. (Requires hoist-core 3.1.x.)
🐞 Bug Fixes
- Improvements to
Grid
component's interaction with underlying ag-Grid instance, avoiding extra renderings and unwanted loss of state. 03de0ae
v6.0.0
💥 Breaking Changes
- API for
MessageModel
has changed as part of the feature addition noted below, withalert()
andconfirm()
replaced byshow()
and newXH
convenience methods making the need for direct calls rare. TabContainerModel
no longer takes anorientation
prop, replaced by the more flexibleswitcherPosition
as noted below.
🎁 New Features
- Initial version of grid state now available, supporting easy persistence of user grid column selections and sorting. The
GridModel
constructor now takes astateModel
argument, which in its simplest form is a stringxhStateId
used to persist grid state to local storage. See theGridStateModel
class for implementation details. #331 - The Message API has been improved and simplified, with new
XH.confirm()
andXH.alert()
methods providing an easy way to show pop-up alerts without needing to manually construct or maintain aMessageModel
. #349 TabContainer
components can now be controlled with a remoteTabSwitcher
that does not need to be directly docked to the container itself. SpecifyswitcherPosition:none
on theTabContainerModel
to suppress showing the switching affordance on the tabs themselves and instantiate aTabSwitcher
bound to the same model to control a tabset from elsewhere in the component hierarchy. In particular, this enabled top-level application tab navigation to move up into the top toolbar, saving vertical space in the layout. #368DataViewModel
supports anemptyText
config.
🐞 Bugfixes
v5.0.0
💥 Breaking Changes
- Multi environment configs have been unwound See these release notes/instructions for how to migrate: https://github.com/exhi/hoist-core/releases/tag/release-3.0.0
- Breaking change to context menus in dataviews and grids not using the default context menu: StoreContextMenu no longer takes an array of items as an argument to its constructor. Instead it takes a configuration object with an ‘items’ key that will point to any current implementation’s array of items.
This object can also contain an optional gridModel argument which is intended to support StoreContextMenuItems that may now be specified as known ‘hoist tokens’, currently limited to a ‘colChooser’ token.
🎁 New Features
- Config differ presents inline view, easier to read diffs now.
- Print Icon added!
🐞 Bugfixes
- Update processFailedLoad to loadData into gridModel store, Fixes #337
- Fix regression to ErrorTracking. Make errorTrackingService safer/simpler to call at any point in life-cycle.
- Fix broken LocalStore state.
- Tweak flex prop for charts. Side by side charts in a flexbox now auto-size themselves! Fixes #342
- Provide token parsing for storeContextMenus. Context menus are all grown up! Fixes #300
v4.0.1
v4.0.0
💥 Breaking Changes
- The
GridModel
selection API has been reworked for clarity. These models formerly exposed their selectionModel asgrid.selection
- now that getter returns the selected records. A newselectedRecord
getter is also available to return a single selection, and new string shortcut options are available when configuring GridModel selection behavior. - Grid components can now take an
agOptions
prop to pass directly to the underlying ag-grid component, as well as anonRowDoubleClicked
handler function. 16be2bf
🎁 New Features
- Additional core components have been updated with built-in
layoutSupport
, allowing developers to set width/height/flex and other layout properties directly as top-level props for key comps such as Grid, DataView, and Chart. These special props are processed viaelemFactory
into alayoutConfig
prop that is now passed down to the underlying wrapper div for these components. 081fb1f
🐞 Bugfixes
- Log viewer tail mode now working properly for long log files - #325
v3.0.1
v3.0.0
💥 Breaking Changes
- An application's
AppModel
class must now implement a newcheckAccess()
method. This method is passed the current user, and the appModel should determine if that user should see the UI and return an object with ahasAccess
boolean and an optionalmessage
string. For a return withhasAccess: false
, the framework will render a lockout panel instead of the primary UI. 974c1de- Note that this is only a secondary level of "security" designed to avoid showing an unauthorized user a confusing / non-functional UI. The server or any other third-party data sources must always be the actual enforcer of access to data or other operations.
- We updated the APIs for core MobX helper methods added to component/model/service classes. In particular,
addReaction()
was updated to take a more declarative / clear config object. 8169123- See Reactive.js - the mixin that provides this functionality.
🎁 New Features
- Built-in client-side lockout support, as per above.
🐞 Bugfixes
- None