Change Log - ui-components

1.10.0

Tue Jan 07 2020

Updates

  • Fix styling issue in property grid when actionButtonRenders are not defined.
  • Fixed lgtm issues in UI folders
  • Update code to up code coverage to avoid CI failures on Linux machines.
  • Added Action Buttons for properties
  • Attempt to fix sporadic failing solartimeline test.
  • Fix bug in timeline component when view only has an analysis animation without dates.
  • Update timeline test to use fake timers to see if that resolved sporadic failures on CI builds.

1.9.0

Tue Dec 10 2019

Updates

  • Update sunrise/sunset calculation
  • Update solar timeline test
  • Made detecting links have stricter rules. Links have to start with a schema or www..
  • Fix solar timeline timezone bug.
  • Added a tooltip component.
  • No longer accessing this.state or this.props in setState updater - flagged by lgtm report
  • Changed SignIn & SignOut buttons to large. Fixed Dialog component resizing. Reduced default minimum size of Dialog component.
  • Update sinon version.
  • Added documentation to ControlledTree API and changes release tags to beta
  • Added node editing support in ControlledTree
  • Changes ControlledTree events to pass TreeNodeItem instead of nodeId
  • Added 'removeChild', 'insertChild', 'getChildOffset' methods to MutableTreeModel
  • Moved ControlledTree node highlighting to TreeRenderer
  • Use exhaustive-deps linter rule.
  • Truncate property grid group title.
  • Rename array length property label to be less ambiguous
  • Solar timeline date/time offset fix.
  • Start arrays at 1 when rendering array property items
  • Removed unused React state variables. Removed unsupported setState calls from render() methods.
  • Code cleanup based on code analysis report from lgtm.

1.8.0

Fri Nov 22 2019

Updates

  • Update Icon package version
  • Responsive logic in Property Grid to switch to Vertical orientation when too narrow
  • Added StatusBarComposer, StatusBarItem, StatusBarManager and StatusBarItemsManager
  • Added Table cell context menu support
  • Added Tree Node.tsx export to ui-components package
  • Added tslint-react-hooks to UI packages
  • Change componentDidUpdate to call _setDuration instead of setState directly. This will make sure the onChange handler is called.
  • Refactor ControlledTree custom hooks to use useEffectSkipFirst
  • Separated TreeModelSource and TreeNodeLoader. Added highlighting support to ControlledTree.
  • Added node icon rendering to ControlledTree
  • Fix node content sometimes not being re-rendered when editor state changed very quickly
  • Add componentDidUpdate() to the TimelineComponent, updating currentDuration after the app changes the state of initialDuration.

1.7.0

Fri Nov 01 2019

Updates

  • Add ability to have Table provide top visible row feedback
  • Made PropertyGrid categories keep the collapsed state when data is refreshed.
  • Added New badge for UI items
  • Added Table column filtering support
  • Added initial ui-abstract package setup
  • Added UiAdmin with support for displaying Menus and Toolbars at a location
  • Added DataProvider getter on TreeModelSource
  • Fix tree attempting to highlight empty text in nodes
  • Fix tree no re-rendering delay loaded nodes after reload
  • Added initial implementation of ControlledTree

1.6.0

Wed Oct 09 2019

Updates

  • Clear internal row/column selection data when number or rows change in Table. Add definitions for platform MeasureTools.
  • Allow width defined in ColumnDescription to be passed into component to set initial column width.
  • Added AutoSuggest component and improved KeyinBrowser component
  • Focus EnumButtonGroupEditor without scrolling.
  • 1.5.0

    Mon Sep 30 2019

    Updates

    • AccuDraw Popup Editors. Improved editor sizes. Editor Params improvements.
    • Initial Accudraw Ui components - Buttons, ContextMenus, Calculator, Editors. IconInput in ui-core.
    • Added ability to automatically expand non primitive properties
    • Ability to Scroll to Table row via scrollToRow Prop
    • Add alwaysMinimized prop to TimelineComponent.
    • Tool Assistance changes per UX Design
    • Joe G required the tree (empty data) be more descriptive and generic.
    • In the Model/Category/Spatial trees, center the error message
    • upgrade to TypeScript 3.6.2
    • Fixed signature of BreadcrumbTreeUtils.aliasNodeListToTableDataProvider for consistent extract-api treatment
    • Tree: Clear page caches when reloading tree data
    • this.props.viewportRef(this._vp); callback moved to the end of async componentDidMount(); Additional check if (!this._mounted) after await

    1.4.0

    Tue Sep 10 2019

    Updates

    • Using Checkbox component in BooleanEditor. Cleaned up cell editor positioning.
    • Updated inputs and button padding for iModel.js. Fixed Popup colors & z-index.
    • Color picker had incorrect styling after focus trap added.
    • Added support for content view minSize properties
    • Added support for ProjectWise Explorer links.
    • Added a new component for the Poc, an icon picker.
    • Addressed some warnings introduced with React 16.9
    • Timeline: added display for times
    • Fixed bug in style of the weight picker popup

    1.3.0

    Tue Aug 13 2019

    Updates

    • Update to use latest icon library
    • Added CursorPrompt, improved Pointer messages
    • explicitly set margin for button groups to avoid bleed over from BWC styles.
    • After canceling (clearing) search, set focus back to input field.
    • Skip failing test until UI team can investigate
    • Updated generic icon package
    • Fix DateTime type converters
    • Improve point type converters to handle points defined as number[] or {x,y} or {x,y,z}
    • Change floating point converter to round-off numbers up to 2 decimal places
    • Fixed property grid tests.
    • Fixed OnPropertyLinkClick event handler assignment for nested properties in PropertyGrid. Fixed OnPropertyLinkClick signature for PropertyGrid.
    • Added onPropertyLinkClick handler property for PropertyGrid with default behavior to open url links in the new tab or open email client if it is an email link. Wrote tests for it.
    • Update FilteringInput to use updated search box design from UX.
    • Added SelectionMode.None to the default SelectionHandler.
    • Tree: Fix children not loaded when parent is reloaded due to other page loads after children request
    • Update to latest icon package version.

    1.2.0

    Wed Jul 24 2019

    Updates

    • Tree: Add bulkCheckboxActionsDisabled prop.
    • Tree: Update visual styles.
    • Table: Update visual styles.
    • PropertyView: Update visual styles.

    1.1.0

    Mon Jul 01 2019

    Updates

    • Tree: Fix an issue whith multiselection where shift-selecting nodes would not select anything.
    • Tree: Add ability to check or uncheck multiple selected nodes' checkboxes all at once.
    • BeInspireTree: Fix an issue with calling updateNodesCheckboxes() while handling ModelLoaded event
    • Tree: Correct TreeProps.checkboxInfo documentation.
    • Allow Line Weight to be selected via Up/Down arrow keys once popup is open.
    • Updated react-data-grid import statement
    • Added prefixes to Dialog & ContextMenu positioning CSS classes
    • Removed missing group descriptions
    • Call filterclear when the user enters an empty search string and clicks Search.
    • Added autofocus to the FilteringInput component.
    • Remove inner focus outline that is only displayed in Firefox.
    • Update WeightPicker.
    • Removed 4 dangerouslySetInnerHtml usages to help with Security audit; 3 remain on purpose.
    • Save & Restore View Layouts
    • Update to TypeScript 3.5
    • Temporarily lowered ui-components coverage thresholds
    • BeInspireTree: Fix an issue with delay-loaded child nodes sometimes being assigned to expired node objects.
    • Tree: Fix child node checkbox events affecting parent node's checkbox state
    • Improve test coverage.
    • ui-component unit tests. NumericInput strict=true default.

    1.0.0

    Mon Jun 03 2019

    Updates

    • Update to use parse error message from callback.
    • Added UI Logger & UiError usage & improved i18n calls
    • Added Overflow button support
    • Define extendedData in TreeNodeItem and RowItem as a key-value pairs structure. We're about to expose this structure to external consumers and don't want them to set extendedData to some primitive value. Instead, consumers should put key-value pairs with keys unique enough to not overwrite others' values.
    • Update CustomNumberEditor to show InputFieldMessage when unable to parse quantity.
    • Release tag cleanup and ui-framework unit tests
    • Updated UI package release tags for 1.0 release.
    • Fixed release tag warnings in UI packages
    • Add alpha level support for solar timeline
    • Added property selection to the property grid component on right click
    • Update Tree API. Allow onCheckboxClick callback to receive multiple checkbox state changes.
    • Tree: Fix node placeholder offset
    • Added ViewSelectorChangedEvent

    0.191.0

    Mon May 13 2019

    Updates

    • Update to latest version of icon library.
    • @beta tags for Toolbar. More React.PureComponent usage. Added constructors to prevent deprecated warnings. Coverage minimum thresholds.
    • #84584 Add support for a view overlay component. This will provide ability to show animation timeline control in viewport.
    • Update Timeline interfaces.
    • Update CSS for ColorSwatch.
    • Add Unit test for ColorEditor and ColorPickerButton
    • Added CommonProps to many component Props in ui-core & ui-components
    • Added 'Register' link back to SignIn component. Added ExternalIModel test widget. Made AppBackstage in ui-test-app Redux connected again.
    • Added missing package prefix to some CSS class names in ui-core, ui-components & ui-framework
    • Reverted CubeNavigationAid changes
    • Added viewport synchronization for 2d drawing navigation aid
    • Added local snapshot support to ui-test-app. Added specialized div components to ui-core.
    • Fix broken links
    • Fix failing CustomNumberPropertyEditor test
    • Add WeightEditor line weight type editor.
    • Add components to show and select a line weight.
    • Put sourcemap in npm package.
    • Locked react-data-grid at 6.0.1 and @types/react-data-grid at 4.0.2
    • #96348 Improve default rotate point for navigation cube
    • Fix to SignIn constructor in ui-components
    • Added SignIn presentational component to ui-components. Removed --ignoreMissingTags extract-api option.
    • Require React & React-dom 16.8
    • remove IModelApp subclasses
    • Added ViewportDialog in ui-test-app, ui-core/ContributeGuidelines.md. TSLint rules in ui-core for no-default-export & completed-docs. @beta release tags.
    • Update icons-generic-webfont version to latest available.
    • Clean up WeightPickerButton test code.
    • Introduce timeline animation interfaces.
    • Move timeline components from ui-test-app to ui-components package
    • Added release tags to ui-framework, ui-components and ui-core.
    • Property Grid: Show loading spinner only after half a second delay
    • Fix indefinite Tree component rendering when used with checkboxInfo prop
    • Tree: Fix nodes not being re-rendered in some async workflows
    • Fix tree being marked as dirty when selected nodes predicate changes, but returns the same results (actual selection doesn't change)
    • Add Tree.getLoadedNode(nodeId) function
    • Add ability to set tooltips on tree node checkboxes
    • Unit tests and fixed ColorEditor alignment
    • Upgrade TypeDoc dependency to 0.14.2
    • Added test coverage for ViewportComponent

    0.190.0

    Thu Mar 14 2019

    Updates

    • Add ColorEditor to list of available Type Editors
    • Cleaned up index.scss for variables & mixins in ui-core and added classes.scss that generates CSS
    • Add SaturationPicker for use with ColorType editor.
    • Add Transparency slider component.

    0.189.0

    Wed Mar 06 2019

    Updates

    • UI documentation fixes
    • Added ToggleEditor. Support for defaultTool in Frontstage. Fixed BooleanEditor sizing.
    • Added 100% test coverage for Breadcrumb/BreadcrumbDetails
    • Use new buildIModelJsBuild script
    • Remove unneeded typedoc plugin dependency
    • Added EnumEditor & BooleanEditor type editors
    • Minor UI Color Theme changes
    • Support for including CSS files in published UI packages
    • Updated type editors to support updated PropertyRecord. Moved setFocus to props in type editors..
    • Removed dependency on BWC. Parts of BWC copied into ui-core in preparation for theming support.
    • Added ToggleEditor. Support for defaultTool in Frontstage.
    • Save BUILD_SEMVER to globally accessible map
    • Change setImmediate to setTimeout. Fixed cube rotation issue.
    • Added ItemStyle and ItemStyle provider.
    • CellItem and TreeNodeItem now have the same style property.
    • Added TableCell and TableCellContent React components.
    • Changed table css class names.
    • Changed CellItem interface property - 'alignment' type to be a restricted string instead of an enum.
    • Cleanup of DefaultToolSetting provider and EnumButtonGroup editor
    • Add EnumButtonGroupEditor.
    • Primitive property value renderers now render links specified in property records.
    • Renamed class names that start with "ui-components-" to start with just "components-"
    • Added IImageLoader, ImageRenderer and TreeImageLoader.
    • Added showIcons and imageLoader props to Tree component.
    • Added a property to provide rowHeight value or function that calculates it.
    • Tree now accepts one checkbox prop object instead of multiple props.
    • Tree now accepts one cell editing prop object instead of multiple props.
    • Split tree node label and description rendering into a separate component - TreeNodeContent.
    • Added an ability to show node descriptions in the Tree component via showDescriptions property.
    • Fix tree failing to load nodes in special cases
    • Added support for UI color themes
    • Add a way to specify checkbox states asynchronously in Tree component
    • Breadcrumb fixes
    • Add a way to specify custom Tree checkbox renderer
    • Update to use newer generic-icons-webfont package.
    • upgrade to TypeScript 3.2.2
    • WIP: ViewportComponent unit tests. Removed imodeljs-clients-backend dependency from ui-framework

    0.188.0

    Wed Jan 16 2019

    Version update only

    0.187.0

    Tue Jan 15 2019

    Updates

    • Add a separate PropertyGrid prop to tell if properties should be hoverable
    • Add ability to assign context menu for properties in PropertyGrid

    0.186.0

    Mon Jan 14 2019

    Updates

    • Property pane does not show struct or array info anymore

    0.185.0

    Fri Jan 11 2019

    Version update only

    0.184.0

    Thu Jan 10 2019

    Updates

    • Renamed PropertyDataProvider to IPropertyDataProvider.
    • Add ui-component root to avoid relative file conflicts in bundles.
    • Handle custom row and cell item styling in Table component
    • Fix double and navigation property value renderers to not append ".0" to values in certain cases

    0.183.0

    Mon Jan 07 2019

    Version update only

    0.182.0

    Mon Jan 07 2019

    Version update only

    0.181.0

    Fri Jan 04 2019

    Version update only

    0.180.0

    Wed Jan 02 2019

    Updates

    • Changed property pane css.
    • Changed how vertical PropertyPane looks.
    • Fix BeInspireTree's render suspension not being consistent in some cases
    • Added optional viewState prop to ViewportComponent

    0.179.0

    Wed Dec 19 2018

    Updates

    • Added Tests, updated Table, fixed breadcrumb mutability issues
    • Added DragDrop tests, added component withDragDrop HOC tests
    • Synchronizing navigation aids with view definition changes
    • Simplified property pane tooltips and improved Property Pane performance.
    • Simplified struct and array tooltips in Table component.
    • Fix BeInspireTree's event listening functions to handle array inputs
    • Fix BeInspireTree's muting events with allowed number of triggers
    • Cache BeInspireTree.visible() result for better performance
    • Optimize BeInspireTree.selectBetween
    • Avoid loading PropertyGrid data for intermediate data changes
    • Avoid loading TableView data for intermediate column / row changes
    • Allow property converters and renderers to return result either sync or async
    • Fix tree node loosing its children when collapsed while children are being loaded
    • Fix tree not showing data after changing data provider while another data provider is being loaded
    • Show loading spinner in the Tree while root nodes are being loaded

    0.178.0

    Thu Dec 13 2018

    Version update only

    0.177.0

    Wed Dec 12 2018

    Updates

    • Added a merged property value renderer.
    • Set BeInspireTreeNode's payload as possibly undefined
    • Fix Tree component to handle data provider change before the first update
    • Handle shift-selecting not loaded tree nodes
    • Fix tree checkbox-related props
    • Improved speed & smoothness of CubeNavigationAid. Made class names unique to fix documentation. UI Tree doc fixes.

    0.176.0

    Mon Dec 10 2018

    Version update only

    0.175.0

    Mon Dec 10 2018

    Version update only

    0.174.0

    Mon Dec 10 2018

    Updates

    • Added Tests, updated Table, fixed breadcrumb mutability issues
    • Tree now accepts propertyValueRendererManager as a property.
    • PrimitivePropertyValueRenderer now accepts context and can render tree properties.
    • TreeNodeItem now accepts an additional optional property - typename.
    • TreeNode can now render asynchronously.

    0.173.0

    Thu Dec 06 2018

    Updates

    • Added fillZone property to the Widget
    • Fixed initial & return layout of Frontstage. Styling of scrollbar in Chrome.
    • Custom imodelJs noDirectImport lint rule implemented, noDuplicateImport lint rule turned on.

    0.172.0

    Tue Dec 04 2018

    Updates

    • Changed index file name to match package name, eliminate subdirectory index files, decrease usage of default exports, change imports to use other packages' index file.

    0.171.0

    Mon Dec 03 2018

    Updates

    • Added tests to Breadcrumb, updated Table and fixed Table Resize issues.
    • Added property value renderers for double and navigation primitive types.
    • Added specialized property value renderers for nonprimitive types when their container is a table.
    • Refactored PropertyRenderer into smaller pieces and added isSelectable and indentation prop
    • Changed the way PropertyCategoryBlock looks.
    • Enabled table to contain popups and dialog and slightly cleaned up it's CSS.
    • Unit tests
    • Removed ConfigurableUiManager.addFrontstageDef and other unused/old methods and components
    • Implement pagination in Tree component

    0.170.0

    Mon Nov 26 2018

    Updates

    • Added property value renderers for double and navigation primitive types.
    • Added specialized property value renderers for nonprimitive types when their container is a table.
    • Refactored PropertyRenderer into smaller pieces and added isSelectable and indentation prop
    • Changed the way PropertyCategoryBlock looks.
    • Enabled table to contain popups and dialog and slightly cleaned up it's CSS.

    0.169.0

    Tue Nov 20 2018

    Updates

    • Virtualized nodes' rendering in the Tree component

    0.168.0

    Sat Nov 17 2018

    Version update only

    0.167.0

    Fri Nov 16 2018

    Updates

    • Fixed some content control sizing issues
    • Added Tree cell editing
    • Added ShowHide in Common package, implemented ShowHide for Table columns.
    • Tree cell editing unit tests
    • Fix tree nodes loosing their state when ITreeDataProvider.onTreeNodeChanged is called
    • ui-framework unit tests & docs

    0.166.0

    Mon Nov 12 2018

    Version update only

    0.165.0

    Mon Nov 12 2018

    Version update only

    0.164.0

    Thu Nov 08 2018

    Updates

    • Deprecated dev-cors-proxy-server and use of it.
    • Fix: Do not start search if input field is empty
    • Use strongly typed enums for identifying keyboard keys
    • PropertyGrid property editing and unit tests
    • Updated to TypeScript 3.1
    • Refactored Tree component to improve its performance
    • Refactored Breadcrumb and added tests
    • Zone & Widget initial state, more ui-core unit tests, cleaned up ui-framework index.ts files.

    0.163.0

    Wed Oct 31 2018

    Updates

    • Fixed breadcrumb component test
    • Added JSX specification for Frontstage, Zone & Widget
    • Fixed ui-framework unit test

    0.162.0

    Wed Oct 24 2018

    Updates

    • Tooltips, ToolAdmin.activeToolChanged support, SheetNavigationAid/SheetsModalFrontstage improvements.
    • Ui Documentation
    • Vertical PropertyGrid layout improvements. PropertyGrid background color. Setting the widget state.
    • Changed Horizontal PropertyGrid css to use grid instead of table display and modified subcomponents accordingly.
    • Fixed property selection.
    • Added an ability to resize label/value in PropertyRenderer.
    • SelectablePropertyBlock now controls label/value ratio for every property in a category.
    • Fixed PropertyList to use the right key.
    • Updated types from any to more specific one in TypeConverters.
    • Primitive property record value now can not be undefined.
    • TextEditor now accepts property defined as string instead of PropertyRecord.
    • Added a manager that allows registering custom property value renderers.
    • Added default renderers for Primitive, Array and Struct properties.
    • Custom property value renderer manager can now be provided to Table and Pane. Without it they use default property renderers.

    0.161.0

    Fri Oct 19 2018

    Version update only

    0.160.0

    Wed Oct 17 2018

    Version update only

    0.159.0

    Tue Oct 16 2018

    Version update only

    0.158.0

    Mon Oct 15 2018

    Version update only

    0.157.0

    Sun Oct 14 2018

    Updates

    • Fixing scripts for linux

    0.156.0

    Fri Oct 12 2018

    Updates

    • Initial release

Last Updated: 08 January, 2020