Skip to content

Releases: xh/hoist-react

v7.2.0

20 Jun 18:00
Compare
Choose a tag to compare

🎁 New Features

  • Admin console grids now outfitted with column choosers and grid state. #375
  • Additional components for Onsen UI mobile development.

🐞 Bug Fixes

  • Multiple improvements to the Admin console config differ. #380 #381 #392

:octocat: Commit Log

v7.1.0

20 Jun 03:27
Compare
Choose a tag to compare

🎁 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.

:octocat: Commit Log

v7.0.0

15 Jun 16:44
Compare
Choose a tag to compare

💥 Breaking Changes

  • Restructuring of core App concept with change to new @HoistApp decorator and conventions around defining App.js and AppComponent.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 and SliderField 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

:octocat: Commit Log

v6.0.0

12 Jun 21:17
Compare
Choose a tag to compare

💥 Breaking Changes

  • API for MessageModel has changed as part of the feature addition noted below, with alert() and confirm() replaced by show() and new XH convenience methods making the need for direct calls rare.
  • TabContainerModel no longer takes an orientation prop, replaced by the more flexible switcherPosition 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 a stateModel argument, which in its simplest form is a string xhStateId used to persist grid state to local storage. See the GridStateModel class for implementation details. #331
  • The Message API has been improved and simplified, with new XH.confirm() and XH.alert() methods providing an easy way to show pop-up alerts without needing to manually construct or maintain a MessageModel. #349
  • TabContainer components can now be controlled with a remote TabSwitcher that does not need to be directly docked to the container itself. Specify switcherPosition:none on the TabContainerModel to suppress showing the switching affordance on the tabs themselves and instantiate a TabSwitcher 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. #368
  • DataViewModel supports an emptyText config.

🐞 Bugfixes

  • Dropdown fields no longer fire multiple commit messages, and no longer commit partial entries under some circumstances. #353 and #354
  • Grids resizing fixed when shrinking the containing component. #357

:octocat: Commit Log

v5.0.0

06 Jun 16:10
Compare
Choose a tag to compare

💥 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

01 Jun 03:00
Compare
Choose a tag to compare

🐞 Bugfixes

  • DataView now properly re-renders its items when properties on their records change (and the ID does not)

v4.0.0

30 May 23:10
Compare
Choose a tag to compare

💥 Breaking Changes

  • The GridModel selection API has been reworked for clarity. These models formerly exposed their selectionModel as grid.selection - now that getter returns the selected records. A new selectedRecord 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 an onRowDoubleClicked 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 via elemFactory into a layoutConfig 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

30 May 23:02
Compare
Choose a tag to compare

🐞 Bugfixes

  • FetchService throws a dedicated exception when the server is unreachable, fixes a confusing failure case detailed in #315

v3.0.0

23 May 14:21
Compare
Choose a tag to compare

💥 Breaking Changes

  • An application's AppModel class must now implement a new checkAccess() 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 a hasAccess boolean and an optional message string. For a return with hasAccess: 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