Skip to content

Charts - Stock demo improvements - #35726

Merged
16adianay merged 15 commits into
mainfrom
feature/demo-charts-stock-improvements
Nov 3, 2026
Merged

16adianay merged 15 commits into
mainfrom
feature/demo-charts-stock-improvements

Conversation

@16adianay

Copy link
Copy Markdown
Contributor

No description provided.

@16adianay
16adianay requested review from a team as code owners October 15, 2026 19:04
@16adianay 16adianay changed the title Chart - Stock demo improvements Charts - Stock demo improvements Oct 16, 2026

@EugeniyKiyashko EugeniyKiyashko left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

  • apps/demos/menuMeta.json is not updated. The Stock entry still has "MvcAdditionalFiles": ["/Models/SampleData/FinancialData.cs"], but after DevExpress/dxvcs#52233 the ASP.NET demo takes its data from StockChartData.cs, so the source viewer will show the wrong file. Please point it to /Models/SampleData/StockChartData.cs (the same way it is done for StochasticData.cs and CustomLegendMarkersSampleData.cs). The Equivalents keywords still list workdaysOnly - consider adding zoomAndPan, scrollBar, visualRange.
  • description.md is not updated. It still says that you can enable argumentAxis.workdaysOnly, and it does not mention the new zoom/pan, scroll bar and visual range API.
  • Unrelated files in the diff. The two Scheduler recurrence-form__*_mask.png etalons are the same blobs that are already in main (#35687), so the squash will not change them, but merging main into the feature branch will remove this noise from the diff.

Minor:

  • The initial visual range (Apr 15 - Apr 29) ends exactly on candle dates, so the first and the last candles are cut in half (visible in the new etalons). Padding the range by half a day on each side would fix it.
  • Mouse wheel and drag zoom are not limited to 3 days the way the buttons are. argumentAxis.minVisualRangeLength: { day: 3 } would make both behave the same.

DuckTieCorpMember and others added 3 commits October 27, 2026 17:30
Export: the default one is replaced by a dxDropDownButton in the toolbar with the same menu (Print, PNG, PDF, JPEG, GIF, SVG)

Title: the chart title is removed from the chart and added as the first toolbar item (location: 'before', class chart-title)

Toolbar icons: arrowleft and arrowright for panning

Axis labels: format: 'MMM dd' is removed, and customizeText shows the date at midnight and the time otherwise. This removes duplicate "Apr 15" labels when zoomed in
@16adianay 16adianay self-assigned this Oct 30, 2026
EugeniyKiyashko
EugeniyKiyashko previously approved these changes Nov 3, 2026
Copilot AI balanced review requested due to automatic review settings November 3, 2026 08:10
@16adianay
16adianay removed the request for review from Copilot November 3, 2026 08:13
Copilot AI balanced review requested due to automatic review settings November 3, 2026 09:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The Vue chart’s range models become stale after zooming or panning, causing toolbar actions to use an outdated viewport and Reset Zoom to potentially do nothing.

1 open issue
What changed in this PR

Updates the Stock chart demo across Angular, React, Vue, and jQuery to demonstrate interactive navigation and custom export controls.

Changes:

  • Adds toolbar pan, zoom, reset, export, and print actions, plus mouse interactions and a scrollbar.
  • Replaces static prices with deterministic data for 65 weekdays.
  • Updates chart layout, date labels, currency tooltips, and demo metadata.
File Description
apps/​demos/​menuMeta.json Updates MVC sample reference and search keywords.
apps/​demos/​Demos/​Charts/​Stock/​Vue/​data.ts Generates deterministic stock prices.
apps/​demos/​Demos/​Charts/​Stock/​Vue/​App.vue Adds navigation, export controls, and chart formatting.
apps/​demos/​Demos/​Charts/​Stock/​ReactJs/​styles.css Styles the toolbar title.
apps/​demos/​Demos/​Charts/​Stock/​ReactJs/​data.js Generates deterministic stock prices.
apps/​demos/​Demos/​Charts/​Stock/​ReactJs/​App.js Adds navigation, export controls, and chart formatting.
apps/​demos/​Demos/​Charts/​Stock/​React/​styles.css Styles the toolbar title.
apps/​demos/​Demos/​Charts/​Stock/​React/​data.ts Defines typed stock data generation.
apps/​demos/​Demos/​Charts/​Stock/​React/​App.tsx Adds typed navigation and export handlers.
apps/​demos/​Demos/​Charts/​Stock/​jQuery/​styles.css Styles the toolbar title.
apps/​demos/​Demos/​Charts/​Stock/​jQuery/​index.js Configures toolbar actions and interactive chart behavior.
apps/​demos/​Demos/​Charts/​Stock/​jQuery/​index.html Adds the toolbar container.
apps/​demos/​Demos/​Charts/​Stock/​jQuery/​data.js Provides deterministic stock data generation.
apps/​demos/​Demos/​Charts/​Stock/​Angular/​app/​app.service.ts Supplies generated stock prices.
apps/​demos/​Demos/​Charts/​Stock/​Angular/​app/​app.component.ts Implements range management and toolbar handlers.
apps/​demos/​Demos/​Charts/​Stock/​Angular/​app/​app.component.html Adds toolbar and interactive chart bindings.
apps/​demos/​Demos/​Charts/​Stock/​Angular/​app/​app.component.css Styles the toolbar title.

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings November 3, 2026 10:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

The Stock demos still offer unsupported GIF exports that fall back to PNG, lack a meaningful accessible label for the export/print control, and omit the chart title from exports and printouts.

No open issues 🎉

3 previously missed issues

In code that hasn't changed since last review

Medium severity Filter export formats by browser encoding support

apps/​demos/​Demos/​Charts/​Stock/​React/​App.tsx:33

When the browser cannot encode GIF, selecting “GIF file” raises W2108 and downloads PNG instead. Remove GIF from the custom menu or filter formats by browser support, as the built-in menu did. Apply the same change in the Stock demo's ReactJs/App.js:29, Vue/App.vue:139, jQuery/index.js:113, and Angular/app/app.component.ts:25.

Medium severity Give the icon-only export button an accessible name

apps/​demos/​Demos/​Charts/​Stock/​React/​App.tsx:161

This icon-only control receives the generic accessible name “dropdownbutton”, so screen-reader users cannot identify its export/print purpose. Provide meaningful button text or label the focusable inner button; the outer hint does not supply that label. Apply the same change in the Stock demo's ReactJs/App.js:150, Vue/App.vue:220, jQuery/index.js:180, and Angular/app/app.component.ts:103.

Medium severity Include the chart title in exports and printouts

apps/​demos/​Demos/​Charts/​Stock/​React/​App.tsx:169

Moving “Stock Price” into the sibling toolbar removes the heading from exported files and printouts because these methods capture only the chart. Preserve the title during export/printing or include it in the exported markup. The same issue affects the Stock demo's ReactJs/App.js:159, Vue/App.vue:229, jQuery/index.js:189, and Angular/app/app.component.ts:112.

1 resolved since last review

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings November 3, 2026 10:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues block approval of the stock chart demo updates.

No open issues 🎉

Review effort: Balanced

@16adianay
16adianay added this pull request to the merge queue Nov 3, 2026
Merged via the queue into main with commit ff456b0 Nov 3, 2026
267 of 274 checks passed
@16adianay
16adianay deleted the feature/demo-charts-stock-improvements branch November 3, 2026 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants