Releases: iTwin/appui
v4.15.3
Release notes
Changes
- Fix
PopupContextMenu
inStatusBarPopover
(#914)
Full changelog: 4.15.2...4.15.3
v4.15.2
Release notes
Changes
- Fix
FrontstageDef.create()
to handleFrontstageProvider
shaped objects (#908)
Full changelog: 4.15.1...4.15.2
v4.15.1
Release notes
Changes
- Remove
ConditionalIconItem.isConditionalIconItem()
workaround (#903)
Full changelog: 4.15.0...4.15.1
v4.15.0
4.15.0 Change Notes
Table of contents:
@itwin/appui-react
Deprecations
- All Redux associated APIs are deprecated. The necessity for a Redux store will be eliminated in the upcoming releases. Instead, new applications should use their preferred state management library instead. For existing applications it is recommended to continue wrapping the application with Redux
Provider
andFrameworkState
to maintain the compatibility with the existing redux specific APIs and components, until component libraries migrate away from the deprecated APIs. #853Action
,ActionCreatorsObject
,ActionsUnion
,ActionTypes
,ActionWithPayload
,CombinedReducerState
,combineReducers
,CombineReducersFunction
,createAction
,DeepReadonly
,DeepReadonlyArray
,DeepReadonlyObject
,FunctionType
,NameToReducerMap
,Reducer
,ReducerActions
,ReducerMapActions
,ReducerRegistry
,ReducerRegistryInstance
,StateType
,StateManager
APIs that are specific to Redux. Use APIs from redux ecosystem i.e.@reduxjs/toolkit
or your preferred state management library instead.ConfigurableUiActionId
,ConfigurableUiActions
,ConfigurableUiActionsUnion
,ConfigurableUiReducer
,ConfigurableUiState
,SessionState
,SessionStateActionId
,SessionStateActions
,SessionStateActionsProps
,SessionStateActionsUnion
,sessionStateMapDispatchToProps
,SessionStateReducer
,FrameworkReducer
,FrameworkState
,connectIModelConnection
,connectIModelConnectionAndViewState
,PresentationSelectionScope
APIs that are related to AppUI framework store. Use replacements suggested forSessionState
andConfigurableUiState
properties instead.AppUiSettings
,InitialAppUiSettings
APIs. UseUiStateStorage
to persist UI settings instead.UiSettingsPage
component. Use iTwinUI components to build a settings page.IModelConnectedViewport
component. UseViewportComponent
instead.IModelConnectedViewSelector
component. UseViewSelector
instead.SelectionInfoField
component. UseSelectionCountField
instead.- Static methods and properties of
UiFramework
related to redux store.
- Deprecated
StandardMessageBox
in favor of iTwinUI Dialog. #866 - Deprecated
provideToolbarItems
,provideStatusBarItems
,provideWidgets
andprovideBackstageItems
methods ofUiItemsProvider
. UsegetToolbarItems
,getStatusBarItems
,getWidgets
andgetBackstageItems
methods ofUiItemsProvider
instead. #874 - Deprecated
AccuDrawCommandItems
. UseKeyboardShortcutUtilities
orToolbarItemUtilities
instead. #875 - Deprecated
AnyItemDef
. Use type specific item definitions instead, i.e.ToolbarItem
. #875 - Deprecated
areNoFeatureOverridesActive
,featureOverridesActiveStateFunc
,getFeatureOverrideSyncEventIds
,getIsHiddenIfFeatureOverridesActive
,getIsHiddenIfSelectionNotActive
,getSelectionContextSyncEventIds
,isNoSelectionActive
,selectionContextStateFunc
. UseToolbarItems
or a custom conditional value instead. #875 - Deprecated
BackstageManager
. UseUiFramework.backstage
instead. #875 - Deprecated
BaseItemState
. Define a custom state for your React components. #875 - Deprecated
ActionButtonItemDef
,CustomItemDef
,CustomItemProps
,CommandHandler
,CommandItemDef
,CommandItemProps
,GroupItemDef
,GroupItemProps
,ItemDefBase
,ItemProps
,ToolItemDef
,ToolItemProps
. Use specific item types instead, i.e.ToolbarActionItem
. #875 - Deprecated
CoreTools
,SelectionContextToolDefinitions
classes. Use functions fromToolbarItems
namespace instead. #875 - Deprecated
FrameworkBackstage.getBackstageToggleCommand()
method. UseBackstageAppButton
component instead. #875 - Deprecated
FrameworkKeyboardShortcut.item
property. Use properties ofFrameworkKeyboardShortcut
object instead. #875 - Deprecated
ItemList
,ItemMap
classes. UseArray
orMap
to store your objects. #875 - Deprecated
KeyboardShortcut
class. UseKeyboardShortcutProps
orFrameworkKeyboardShortcut
instead. #875 - Deprecated
KeyboardShortcutContainer
class. UseFrameworkKeyboardShortcutContainer
instead. #875 - Deprecated
KeyboardShortcutMenu
component andKeyboardShortcutMenuState
interface. This component is used internally viaUiFramework.keyboardShortcuts
APIs to display keyboard shortcuts in a context menu. #875 - Deprecated
MenuItem
,MenuItemHelpers
classes. Use@itwin/core-react#ContextMenuItem
and@itwin/core-react#ContextSubMenu
components instead. #875 - Deprecated
NestedFrontstage
class. UseNestedFrontstageAppButton
component instead. #875 - Deprecated
ToolbarHelper
class. Use functions fromToolbarItemUtilities
namespace instead. #875 - Deprecated
KeyboardShortcutProps.item
,CursorMenuItemProps.item
properties. Use properties of the object instead. #875 - Deprecated all APIs associated with
FrontstageProvider
class which added unnecessary bloat and layer of complication as it would always map to a single frontstage and forced API consumers to use inheritance. #878addFrontstageProvider()
property ofFrameworkFrontstages
interface. UseFrameworkFrontstages.addFrontstage()
instead.frontstageProvider
getter ofFrontstageDef
class. UseFrontstageDef.id
to look up a frontstage.FrontstageProvider
class. UseFrontstage
interface instead.StandardFrontstageProvider
class. UseFrontstageUtilities.createStandardFrontstage()
function instead.FrontstageConfig
interface. UseFrontstage
type instead.
- Deprecated
ContentDialog
,ModelessDialog
andUiDataProvidedDialog
in favor of iTwinUI Dialog. #883 - Deprecated
dialogId
prop ofAccuDrawDialogProps
. This prop is no longer needed. #883 - Deprecated
dialogs
prop ofFrameworkContent
. UseUiFramework.dialogs.modal
orUiFramework.dialogs.modeless
instead to control dialogs. #883
Additions
- Added additional APIs to support Redux store deprecation in backwards compatible way. #853
animateToolSettings
,collapsePanels
,toolAsToolSettingsLabel
,toolbarOpacity
,viewOverlay
,widgetIcon
,widgetOpacity
props toConfigurableUiContent
component.activeScope
,selectionScopes
,onChange
props toSelectionScopeField
component.snapMode
,onChange
props toSnapModeField
component.theme
prop toThemeManager
component.getNumItemsSelected
,setNumItemsSelected
static methods toUiFramework
to facilitate selection count in conditional values.
- Added
KeyboardShortcutUtilities
namespace to provide utilities for creating keyboard shortcuts. #875 - Added
NestedFrontstageAppButton
component which should be used to close a nested frontstage. #875 - Added
ToolbarItems
namespace with functions to create commonly used toolbar items. #875 - Added
ToolbarItemUtilities.createForTool()
function to create a toolbar item for a specified tool type.#875 - Added
KeyboardShortcutProps.execute()
,CursorMenuItemProps.execute()
properties to replace execute action of deprecateditem
properties. #875 - Added additional APIs to support
FrontstageProvider
deprecation. #878- Added
FrontstageUtilities
namespace to provide utilities for creating frontstages. addFrontstage()
property toFrameworkFrontstages
interface.Frontstage
alias type to rename existingFrontstageConfig
.- Expanded a union type of a static
FrontstageDef.create()
method to allowFrontstage
type together withFrontstageProvider
.
- Added
Changes
- Bumped
getToolbarItems
,getStatusBarItems
,getWidgets
andgetBackstageItems
methods ofUiItemsProvider
,layouts
property ofCommonToolbarItem
andWidget
,StandardLayoutToolbarItem
,StandardLayoutWidget
,ToolbarItemLayouts
,WidgetLayouts
to@public
. #874 - Changed
StandardMessageBox
from a class to a functional component. #883 - Changed components to use iTwinUI dialogs. #883
Fixes
- Fixed unexpected popout widget transition when popover is opened. [#88...
v4.14.1
Release notes
Changes
- Fix
ElementTooltip
to correctly render in a popup window (backport #868) (#871) - Re-open popout widgets in electron app (#872)
Full changelog: 4.14.0...4.14.1
v4.14.0
4.14.0 Change Notes
Table of contents:
@itwin/appui-react
Deprecations
- Deprecated
StatusBar
component in favor ofStatusBarComposer
. #848 - Deprecated
StatusBar
namespace. Please use the components directly. #848- Deprecated
StatusBar.Popup
andStatusBarPopup
in favor ofStatusBarPopover
. - Deprecated
StatusBar.Field
andStatusBarField
in favor of iTwinUI Button.
- Deprecated
- Deprecated
StatusBarIndicator
in favor of iTwinUI Button (or other components) and AppUIStatusBarPopover
. #848 - Deprecated
StatusBarLabelIndicator
in favor of iTwinUI Label and AppUIIcon
. #848
Additions
-
controlWidgetVisibility
preview feature. When enabled, additional UI elements are rendered to allow the end user of the layout to control widget visibility. #856Currently applications might use
WidgetState
to control widget visibility programmatically and expect the widgets to stay hidden until a certain condition is met. Since this preview feature adds UI elements to control widget visibility, it might conflict with the application's logic. To avoid this, the application should useUiItemsManager.register()
andUiItemsManager.unregister()
to strictly manage what widgets are available to the end-user.Additionally an array of widget ids can be specified to only expose visibility controls for specific widgets. This allows applications to experiment with other use-cases, like keeping at least one widget visible at all times.
-
Added
StatusBarPopover
to replaceStatusBar.Popup
. The component uses iTwinUI Popover with some consistent styling for allStatusBar
fields.StatusBarPopover
should wrap the element that triggers it (e.g. a button). #848 -
Added
StatusBarPopover.ExpandIndicator
which adds an indicator to show that a button has expandable content.StatusBarPopover.ExpandIndicator
is supposed to be used inStatusBarPopover
trigger buttons. #848Usage example:
// With iTwinUI Button <StatusBarPopover> <Button styleType="borderless"> {label} <StatusBarPopover.ExpandIndicator /> </Button> </StatusBarPopover> // With iTwinUI IconButton <StatusBarPopover> <IconButton styleType="borderless"> <SvgLightbulbHollow /> <StatusBarPopover.ExpandIndicator /> </IconButton> </StatusBarPopover>
Changes
- The dropdown menu of
widgetActionDropdown
preview feature will close once one of the menu items is activated. #856 - The labels for the buttons in the widget title bar will be rendered as tooltips, rather than using the
title
attribute. #856 - Started using iTwinUI components for
StatusBar
field components. That includes both the button and the popup. #848
Fixes
- Fixed
StatusBarComposer
overflow item order. Now status fields should always go into overflow from right to left. #848
@itwin/components-react
Deprecations
- Deprecated
DoublePropertyValueRenderer
andNavigationPropertyValueRenderer
in favor of defaultPrimitivePropertyValueRenderer
. #832 - Deprecated
RadialMenu
andRadialButton
components that were designed for a retired design pattern in favor ofContextMenu
or iTwinUI dropdown menu. #850
Changes
- Updated
VirtualizedPropertyGrid
component #849:- Enable user selection for property records
- Display browser context menu on property records if
onPropertyContextMenu
andisPropertySelectionOnRightClickEnabled
props are not set - Increased area of an element separator to avoid column overlap
- Changed handlers of
VirtualizedPropertyGrid
andUrlPropertyValueRenderer
components to open links withpw
scheme in a new window. #860
@itwin/core-react
Fixes
v4.13.4
v4.13.3
Release notes
Changes
- ts5.3.3; update @itwin/build-tools to update doc generation (backport #834) (#839)
- Added button.label.settings Translation to UiIModelComponents.json (#844)
Full changelog: 4.13.2...4.13.3
v4.13.2
v4.13.1
Release notes
Changes
PropertyGrid
: render display value when available (#833)
Full changelog: 4.13.0...4.13.1