All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- #302 - Refactored to use React 18 (and @mui instead of @material-ui).
- #273 - Adjusted
propTypes
forwidth
andheight
properties ofScrollArea
component to also accept strings. Adjusted its handle sizes and their positions and improved UX with small areas and large content as well as with two scrollbars.
- #275 - Added
WebvizDialog
component. New dialog component which handles multiple instances simultaneously, where the currently active dialog is placed on top and highlighted with box shadow. - #299 - Support Python 3.11 and 3.12.
- #290 - Updated various JavaScript dependencies.
- #270 - Fixed bug in
Select
component not allowing value to be0
. - #271 - Invalid states for active plugin and view are now replaced with the first plugin of the current page and its first view.
- #220 -
Overlay
was hiding menu due to conflicting z-index properties. AddedzIndex
prop toOverlay
component and adjusted consumers. - #233 - Settings drawer not collapsing (not collapsable) if no settings group given.
- #234 - Adjusted message window width in Webviz tour component according to remaining view width.
- #236 - Removed usage of
withStyles
inDialogComponent
in order to avoid class name conflicts withwebviz-subsurface-components
caused byMaterialUI
/jss
.
- #207 - Added
storybook
and stories for each component. Added publishment ofstorybook
to GitHub workflow. Addedstorybook
link to README. - #219 - Implemented components required by the new Webviz Layout Framework (WLF)
- #227 - Added
EdsIcon
component in order to use icons from the Equinor Design System (EDS) directly in Python. - #240 - States of menu, active view, settings drawer and settings groups are getting stored now. If no URL path is given, the one of the first page is opened now.
- #248 - Added missing
id
inWebvizSettingsGroup
andkey
inWebvizViewList
(for view groups).
- #219 - Pinned
dash
version to2.4.x
, added more info output to GitHub workflow, switched to React version16.14.0
in order to comply with non-maintainedreact-colorscales
requirements, implemented adjustments toOverlay
andScrollArea
- #240 - Settings groups remain open when others are toggled (independent toggle state).
- #252 - Refactored
Menu
component in order to make it work seamlessly withdcc.Location
anddcc.Link
. - #257 - Added debounce time for
Select
component to prevent firing selected values immediately. The selected values will be updated after configured amount of milliseconds after last interaction. Reduces number of callback triggers in Dash. - #265 - Refactored
ScrollArea
component in order to improve scrolling experience.
- #212 - Changed
tab
behaviour inSmartNodeSelector
. When pressingtab
on the last tag orshift+tab
on the first one, the default behaviour is no longer prevented.
- #202 - Adjusted
z-index
of suggestions ofSmartNodeSelector
to a hard-coded value of1500
. - #201 - Implemented wrapper around
MaterialUI's
draggable dialog. Makes a newDialog
component available inDash
. - #210 - Added
backdrop
property toDialog
. This allows to disable the backdrop behind a dialog and makes all other elements remain clickable.
- #197 - Updated
@equinor/eds-icons
(and associated@equinor/eds-core-react
dependencies) in order to use new icons upstream in the application menu.
- #178 - Bug fixes in
SmartNodeSelector
: Placeholder not applied, text width not calculated correctly initially, jump to next node when pressingEnter
, bug fixes and improvements when navigating with arrows. Node names containing-
were breaking the code. - #191 - Removed
pointer
cursor fromwebviz-selectors
class.
- #178 - Implemented case-insensitive and description search in
SmartNodeSelector
. Also added export of data types and implementedOR
operator in nodes as beta feature. Implemented better visual feedback, tab and end/home navigation. Implemented visual feedback and possibility to show all suggestions.
- #181 -
SmartNodeSelector
suggestions window is now attached at top level of DOM tree. This improves usability when used in a scroll area.
- #177 - Bug fix: Menu missing if using non-existent icon.
- #182 - Added option to wrap
SelectWithLabel
in aDetails
collapsible widget. - #174 - Implemented
initiallyCollapsed
setting for menu.
- #157 - Added utf8 encoding to Python's
open()
calls. - #158 - Fixed error messages when contact person details not provided to
WebvizPluginPlaceholder
. - #159 - Call
revokeObjectURL
after usingcreateObjectURL
inWebvizPluginPlaceholder
. - #160 - Bug fix:
Select
propertyvalue
does not return correct type. - #172 - Bug fix: No margin between plugins.
- #154 - Implemented new menu component.
- #140 - Improved styling of the
Select
component. - #145 - Added wrapper components for typically used Dash components (Dropdown, Slider, etc) with additional styling.
- #148 - Changed default value of
numSecondsUntilSuggestionsAreShown
to 0.5 inSmartNodeSelector
component - #150 - Changed color of single remove button in
SmartNodeSelector
to the same as for the remove all button. - #151 -
SmartNodeSelector
: Changes todata
anddelimiter
props are considered now and cause the component to update.
- #148 - Added
lineBreakAfterTag
property toSmartNodeSelector
which defaults to false. If set to true, tags are separated by a line break.
- #134 - When prereleases are done in GitHub, they will now be published to
npm
using thenext
tag. E.g.npm install @webviz/core-components
will install the latest official release, whilenpm install @webviz/core-components@next
will install the latest prerelease. - #125 - Moved
React
code andNode.js
configuration into./react/
directory. Adjustedpackage.json
,.gitignore
,.vscode/launch.js
and GitHub workflow file accordingly. - #125 - Tightened
tsconfig
options in order to have a more strict code validation. - #125 - Synchronized ECMA Script version in
tsconfig
andeslint
. - #125 - Added automatic removal of unused autogenerated files (
.Rbuildignore
). - #125 - Removed
plotly-cartesian.js
andpackage.json
(top level) fromMANIFEST.in
. - #125 - Adjusted components according to new
tsconfig
options. - #125 - Moved
flexbox.css
into new component folder. - #125 - Introduced
DefaultPropsHelper.ts
in order to account for coexistence of TypeScript restrictions andReact
'sdefaultProps
. - #125 -
setup.py
is now reading package data frompackage.json
file insidewebviz_core_components
. - #121 - Changed rendering of
SmartNodeSelector
component when only one node can be selected. - #136 - Changes to selected tags in
SmartNodeSelector
are now always sent.
- #125 - Added
Storybook
for demo of components. - #125 - Added
declarations.d.ts
file for ambient declarations for npm modules without type declarations. - #130 - Added feedback button to
WebvizPluginPlaceholder
. Addedhref
andtarget
properties toWebvizToolbarButton
.
- #136 - Several bug fixes in
SmartNodeSelector
(exception on entering invalid node name when no metadata given, exception on using several wildcards, new tag when pressing enter with single node selection and invalid data, node selected several times when its name is partly contained in other nodes, exception on holding backspace pressed). - #125 - Removed
selectedNodes
attribute fromSmartNodeSelector
arguments inusage.py
. - #124 -
SmartNodeSelector
now returns all selected tags (also invalid and duplicate ones) to parent. - #123 - Removed unused variables and added types to
SmartNodeSelector
and its tests.
- #122 - Fixed bug in
WebvizPluginPlaceholder
preventing download button from working. Added tests forWebvizPluginPlaceholder
. - #120 - Multiple bug fixes (deletion of currently selected tag not possible; state not dynamically updated; empty or invalid node names no longer allowed; auto resizing not working when initializing tag component) and new tests for these bugs. Also removed unnecessary properties.
- #114 - Added deprecation warning to
WebvizPluginPlaceholder
.
- #114 - Better alignment of tooltips with icons and pointer cursor when hovering buttons in
WebvizPluginPlaceholder
. - #118 - Remove
toImage
from defaultmodeBarButtonsToRemove
inwcc.Graph
.
- #114 - Fixed bug in
WebvizPluginPlaceholder
preventing tooltips from being shown.
- #115 - Removed postinstall script in order to not having npm trying to copy package.json when installing as npm package.
- #113 - Fixed LGTM warnings caused by SmartNodeSelector component's defaultProps definitions.
- #107 - Fixed bug in argument modifier method (when input argument is given as positional).
- #107 - Prevent false positives through LGTM/GitHub CodeQL.
- #105 - Fixed bug when updating Select values from a Dash callback.
- #99 - Fixed bug which prevented using the download button in
WebvizPluginPlaceholder
and started to download when component was mounting.
- #96 - Added publishing of npm package to Github Workflow
- #100 - Adjusted build environment in order to be able to write components in TypeScript and to publish to npm. Also changed all components to TypeScript.
- #86 - Refactored and converted code to TypeScript (main component files to JSX), adjusted build environment accordingly and added validation of JS/TS to GitHub workflow