Skip to content

v3.2.0.0: Major formatting enhancements and modernization#212

Open
DataZoeMS wants to merge 16 commits into
microsoft:mainfrom
DataZoeMS:main
Open

v3.2.0.0: Major formatting enhancements and modernization#212
DataZoeMS wants to merge 16 commits into
microsoft:mainfrom
DataZoeMS:main

Conversation

@DataZoeMS

Copy link
Copy Markdown

New Features:

  • Theme color support for bar fills
  • Bar formatting: border, corner radius, inner padding
  • Center line customization (color, width, style)
  • Plot area background fill with transparency
  • Negative bar color customization
  • Axis normalization (scale to 100%)
  • Auto-range toggles for independent left/right axis min/max
  • Data label display format (Value, %, Value (%))
  • Legend shows for both dynamic series and static measures
  • New modern icon with gradient bars

Improvements:

  • Fixed high contrast mode for bars
  • Fixed legend bottom positioning
  • Updated legend defaults (Segoe UI 12, #616161)
  • Axis min/max validation (min cannot exceed max)

Localization:

  • Added 28+ new keys to all 43 language files
  • Fixed missing legend formatting pane labels

New Features:
- Theme color support for bar fills
- Bar formatting: border, corner radius, inner padding
- Center line customization (color, width, style)
- Plot area background fill with transparency
- Negative bar color customization
- Axis normalization (scale to 100%)
- Auto-range toggles for independent left/right axis min/max
- Data label display format (Value, %, Value (%))
- Legend shows for both dynamic series and static measures
- New modern icon with gradient bars

Improvements:
- Fixed high contrast mode for bars
- Fixed legend bottom positioning
- Updated legend defaults (Segoe UI 12, #616161)
- Axis min/max validation (min cannot exceed max)

Localization:
- Added 28+ new keys to all 43 language files
- Fixed missing legend formatting pane labels
Copilot AI review requested due to automatic review settings January 26, 2026 09:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request introduces version 3.2.0.0 of the Tornado Chart visual with major formatting enhancements and modernization features. The update adds extensive customization options for bar appearance, axis controls, data labels, and visual theming while improving high contrast mode support and legend positioning.

Changes:

  • Added comprehensive bar formatting options including borders, corner radius, spacing, and negative bar customization
  • Implemented axis normalization and independent left/right axis range controls
  • Enhanced data label display with multiple format options (value, percentage, or both)
  • Improved theme integration with automatic color palette selection and background/foreground color awareness
  • Updated localization files with 28+ new keys across 43 languages

Reviewed changes

Copilot reviewed 53 out of 57 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
src/TornadoChart.ts Core rendering logic with new bar formatting, axis normalization, theme colors, and data label enhancements
src/TornadoWebBehavior.ts Updated behavior handling for negative bar transparency and high contrast mode
src/TornadoChartSettingsModel.ts New settings cards for bars, negative bars, center line, plot area, and axis controls
src/interfaces.ts Added properties for axis min/max values and series-specific ranges
style/tornadoChart.less CSS fix for legend bottom positioning
capabilities.json New capability definitions for all formatting options
stringResources/*.resjson Localization strings for 43 languages (mostly untranslated English keys)
assets/* New modern icon with gradient bars and updated screenshot
package.json Updated dependencies including powerbi-visuals-tools, webpack, and utilities
pbiviz.json Version bump to 3.2.0.0
CHANGELOG.md Comprehensive changelog documenting all features and improvements

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/TornadoChartSettingsModel.ts Outdated
Comment thread src/TornadoChartSettingsModel.ts
Comment thread src/TornadoChartSettingsModel.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts Outdated
Comment thread stringResources/zh-TW/resources.resjson
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts Outdated
DataZoeMS and others added 2 commits January 26, 2026 01:40
- Remove unused 'isNormalized' variable (line 248)
- Remove unused 'hasDynamicSeries' parameter from getLegendData() (line 795)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings January 26, 2026 09:42
…tColumn

- Changed columnPadding from getter to private field _columnPadding
- Calculate _columnPadding after heightColumn in computeHeightColumn()
- Eliminates potential circular dependency while preserving bar spacing feature

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 53 out of 57 changed files in this pull request and generated 11 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread style/tornadoChart.less
Comment thread package.json Outdated
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread package.json Outdated
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts Outdated
DataZoeMS added 2 commits May 9, 2026 00:54
- New labelPosition enum (auto, insideEnd, outsideEnd, insideCenter, insideBase) in capabilities and settings
- New percentagePrecision integer setting
- Default negative bars 'show' to true
- Default bar/negative-bar corner radius to 4px
- TornadoChart label rendering updates to support new position options
- en-US localization additions; sync minor updates across all locales
- Remove unused fast-json-stable-stringify devDependency
- Restore karma-typescript to 5.5.4 (revert accidental downgrade)
- Move eslint and eslint-plugin-powerbi-visuals to devDependencies
- Use Number.isNaN and != null pattern in axis value checks
- Extract getBorderSettings helper to dedupe positive/negative bar border logic
- Add HighContrastStrokeWidth constant (replaces magic number 2)
- Add clarifying comment for per-series normalization scaling
Copilot AI review requested due to automatic review settings May 9, 2026 08:00
DataZoeMS added 2 commits May 9, 2026 01:05
Previously auto preferred outsideEnd whenever the label fit in outer space,
which made short bars get outside labels and produced an apparent gap.
Now auto picks insideEnd whenever the label fits inside the bar, falling
back to outsideEnd only when it does not.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 53 out of 57 changed files in this pull request and generated 5 comments.

Comments suppressed due to low confidence (1)

stringResources/en-US/resources.resjson:66

  • stringResources/en-US/resources.resjson defines "Visual_Color" twice (once near the top and again near the bottom). Duplicate JSON keys can lead to unpredictable results depending on the parser (typically the last one wins) and makes localization harder to maintain. Remove the duplicate and keep a single canonical entry.
    "Visual_Title": "Title",
    "Visual_TitleText": "Title text",
    "Visual_Legend_Name": "Legend Name",
    "Visual_Legend_Color": "Color",
    "Visual_Group": "Group",
    "Visual_Color": "Color",
    "Visual_Group_Left": "Left",

Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts Outdated
Comment thread src/TornadoChart.ts
Comment thread stringResources/fr-FR/resources.resjson
Copilot AI review requested due to automatic review settings May 9, 2026 08:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 53 out of 57 changed files in this pull request and generated 4 comments.

Comment thread src/TornadoChartSettingsModel.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread CHANGELOG.md
Copilot AI review requested due to automatic review settings May 9, 2026 08:31

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 55 out of 59 changed files in this pull request and generated 6 comments.

Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChart.ts
Comment thread src/TornadoChartSettingsModel.ts
Comment thread CHANGELOG.md Outdated
@DataZoeMS

Copy link
Copy Markdown
Author

#sign-off

@DataZoeMS

Copy link
Copy Markdown
Author

@Demonkratiy when you have a chance, could you take a look at this PR? All Copilot review threads have been addressed/resolved and CI is green. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants