Skip to content

Releases: sregan1/SharePoint-Smart-Charts

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 02:28

Installation

  1. Download sharepoint-smart-charts.sppkg
  2. Upload to your SharePoint App Catalog
  3. Deploy tenant-wide or to specific sites

A feature release: richer filtering (operators, multiple viewer filters, cross-chart filtering from another web part), waterfall totals, annotations, keyboard and screen-reader accessibility, SharePoint lists beyond 5,000 items, and the interface in 30 languages — plus a round of bug fixes from a full code review.

Added

  • 30 languages — the interface is now translated into the same 30 languages as Smart Org Chart (Arabic, Chinese Simplified/Traditional, Czech, Danish, Dutch, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Norwegian Bokmål, Polish, Portuguese Brazil/Portugal, Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian, Vietnamese, plus English) and follows each user's Microsoft 365 display language.
  • Filter operators — the author filter and viewer filters now support contains, equals, does not equal, greater than, less than, between (low..high), is empty, and is not empty. Viewers can add multiple filter rows, and equals/does-not-equal offer a dropdown of the column's values.
  • Filter from another web part — new Dynamic Data consumer (Advanced > Filter from Another Web Part): rows are filtered to the value another web part publishes, e.g. a click on another chart.
  • Waterfall total bar with configurable increase / decrease / total colors.
  • Annotations — vertical markers with a note at a given X value on bar, line, and area charts.
  • Y2 value prefix / suffix, and value prefix / suffix / abbreviation now also apply to axis ticks and tooltips on bar, line, and area charts.
  • Accessibility — a "View as table" toggle, arrow-key navigation between data points (Enter selects) with screen-reader announcements, and a colorblind-safe palette.
  • Session caching for SharePoint List and SharePoint File sources (previously REST/Graph only).
  • SharePoint lists larger than 5,000 items now load in full (paged, up to 20,000 rows). Lookup and person columns are flattened to their display text instead of being dropped.
  • SD / SEM error bars on averaged groups now use each group's own spread.

Changed

  • "Cache API Results" is now "Cache Data" and applies to every network source (SharePoint List, SharePoint File, REST API, Microsoft Graph). Existing values are kept.
  • SharePoint list cap raised from 5,000 to 20,000 rows (loaded in pages). Anything past the cap is flagged to editors and viewers.
  • Value prefix / suffix / abbreviation now also format axis numbers and tooltips on Bar, Line, and Area charts, not just data labels.
  • Documentation screenshots refreshed: viewer filter bar, color palettes (now shows all 8 palettes instead of being cropped), Advanced property pane, and the data source panel (now shows the Microsoft Graph tile).

Fixed

  • Auto-refresh and read-mode loads no longer write the column mapping back to the page (which marked it dirty on every refresh).
  • Error bars are aligned correctly on a time axis when some rows have unparseable dates.
  • The Dual Y Axis group is no longer shown for horizontal bar charts, where it had no effect.
  • A Chart.js runtime error now shows an inline message instead of taking down the whole web part.
  • Theme changes after load now re-render the chart, and strong/dark section backgrounds are detected as dark.
  • Viewers are now told when a source was truncated, and when a background refresh failed while older data is still shown.
  • Heatmaps with values between 0 and 1 no longer render almost invisible, and duplicate cells are summed instead of overlapping.
  • Abbreviated values no longer round up to "1,000K"; treemap labels stay readable on light palettes; very large datasets no longer risk a stack overflow in min/max.
  • Removed the broken npm test script (no test runner is configured).

v1.3.1

Choose a tag to compare

@github-actions github-actions released this 12 Aug 20:20

No new chart types or data sources. Fixes a settings-persistence bug plus a data-loading bug, and changes X/Y Axis Label to default from the selected column instead of requiring manual entry.

Changed

  • X Axis Label and Y Axis Label now default to the selected column(s) instead of showing blank until typed in — e.g. mapping "Revenue" to the Y axis labels the axis "Revenue" automatically; multiple Y columns are joined with a comma (e.g. "Revenue, Profit"). The property pane fields still work exactly as before as an optional override — type a custom label (e.g. "Sales ($)") to replace the auto-derived one.

Fixed

  • Settings changed via the in-canvas data source panel (Site URL, List Name, and other inline fields) were silently lost on Publish — edits were applied to the web part's in-memory properties but never marked the page dirty, so the page's saved draft never picked them up and Publish reverted to the last-persisted value. Canvas-driven edits now correctly persist.
  • Column mapping (X / Y / Label / Size columns) could silently reset to auto-picked defaults on load for SharePoint List, SharePoint File, REST API, and Microsoft Graph sources — the saved mapping was discarded because the column schema isn't known synchronously at mount for network sources; a valid persisted mapping is now trusted until the real schema arrives and can validate it.

Latest Build (v1.3.1.0)

Choose a tag to compare

@github-actions github-actions released this 12 Aug 20:20

Automated build from commit b4f2afe.
Upload sharepoint-smart-charts.sppkg to your SharePoint App Catalog to deploy.

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 23:50

[1.3.0] — 2026-07-14

A hardening release. No new chart types or data sources — this release is a full code review pass fixing 43 issues found across data loading, chart rendering, click/tooltip interactivity, and the property pane, plus documentation for previously-undocumented v1.2.0 settings (Dual Y Axis, Error Bars, Significance Brackets) and new screenshots covering Microsoft Graph setup and a finished multi-web-part page.

Added

  • Documentation for Dual Y Axis, Error Bars, and Significance Brackets — these v1.2.0 property pane groups had no README/User Guide coverage; both are now fully documented, including a new User Guide section 9
  • .xlsm / .xlsb support for Excel file uploads and SharePoint File URLs (previously only .xlsx / .xls)
  • CSV parse warnings: a partial parse (some rows malformed) now shows "N row(s) could not be parsed and were skipped" instead of silently dropping rows with no indication
  • Fetch timeout (30s) and a clearer error for non-JSON responses on REST API and SharePoint File requests, so a hung or misbehaving endpoint no longer leaves the panel stuck on "Loading…" indefinitely
  • Billions (B) abbreviation tier — "Abbreviate Numbers" now formats values ≥ 1 billion as e.g. 1.5B, in addition to the existing K/M tiers
  • Screenshots: Microsoft Graph source with Data Path mapped to a sample JSON response, SharePoint Admin Center API access screen showing Graph permission approval, and a finished page composing six Smart Data Visualization web parts into an IT operations dashboard

Changed

  • Chart export filenames are now derived from the chart title (e.g. Monthly Revenue.png) instead of the generic chart.png / data.csv, so multiple exports from a page with several web parts no longer collide
  • SharePoint list loads exclude a short list of always-useless internal fields (ContentTypeId, GUID, OData__UIVersionString, and similar) from the column mapper
  • Property pane color fields (Reference Line Color, Threshold Color) now validate hex input and show an error for invalid values instead of silently degrading the chart
  • Adopted stricter TypeScript union types (SortDirection, AggregationType, XAxisType, TrendlineType, ReferenceLineType, LegendPosition, ThresholdDirection) across the web part's property interface
  • Scatter/bubble/heatmap category grouping and discovery now run in a single pass instead of one scan per category, for datasets with many distinct categories
  • ChartRenderer is now memoized (React.memo) and number formatters are cached, and the read-mode viewer filter debounces its expensive recompute by 250ms instead of re-filtering on every keystroke

Fixed

  • Numeric X-axis mapping silently reset on every page load: switching chart types reset a deliberately-mapped numeric X column (e.g. a bar chart of Year vs Sales) back to a text column on mount, and persisted the change — the reset now only fires when actually leaving a chart type that requires a numeric X axis
  • Count aggregation rendered a blank chart: the generated Count column was never reachable as a Y column; charts now read it correctly, and a column literally named Count no longer collides with the aggregation output
  • JPEG export was solid black, and dark-theme PNG export was invisible on a white background — both now composite onto an opaque background before export
  • Chart clicks and tooltip extra columns showed the wrong row on Pie/Doughnut, Scatter/Bubble (including color-by-category and log/time-axis variants), and time-axis Bar/Line/Area charts, because filtered/partitioned chart elements were indexed directly into the unfiltered source data
  • Microsoft Graph collections silently truncated at ~100 items with no warning — results now page through @odata.nextLink (up to 50 pages) and show a truncation warning like the SharePoint list source
  • Auto-refresh and the manual Refresh button could reload from a stale URL after an inline data-source edit, and the wrong session-cache entry could be cleared
  • Applying a bookmark while editing didn't persist — a later save could revert the chart to its pre-bookmark view
  • Numeric values stored as text sorted alphabetically ("100" before "20") instead of numerically
  • Excel date columns loaded as raw serial numbers (e.g. 45329) instead of dates
  • Per-series color/type overrides desynced when a Y column in the middle of the list was unchecked, silently reassigning colors to the wrong series
  • Delimiter changes had no effect on an already-uploaded CSV/TSV file, since the Load button is hidden once a file loads
  • A typo'd Data Path, or a null entry in a REST/Graph array, crashed with a raw JavaScript error instead of a readable message
  • A SharePoint sharing link ("Copy link" URL) parsed as CSV garbage instead of a clear error explaining a direct file URL is needed
  • Dual Y axis and log-scale toggles were miswired: enabling dual axis on a Horizontal Bar chart produced a broken second category axis; "Log Scale (X)" affected the Y axis instead on Scatter/Bubble, and was offered (with no effect) on Histogram
  • The monochrome color palette's last two swatches were invalid (3-digit hex), producing an invalid color once transparency was applied
  • Pie/Doughnut legend text lost its color in dark theme
  • Significance brackets silently never rendered on Horizontal Bar charts (now Bar chart only, matching where the bracket math is correct)
  • Error bars drew wildly incorrect lengths on a logarithmic axis
  • "Cache API Results" was offered for every data source even though only REST API and Microsoft Graph use it; now disabled for other sources
  • A background auto-refresh could close the data source panel while an editor had it open
  • A hand-edited or corrupted bookmark could crash the whole web part for viewers; malformed entries are now filtered out
  • Clearing an upper drill level left lower levels in a broken, disabled-but-populated state
  • Radar charts ignored the Y Axis Minimum/Maximum setting
  • A manual "Load Data" click for REST/Graph sources didn't clear the session cache, so a page reload could resurrect stale cached data
  • List discovery in the Site URL field fired one request per keystroke instead of debouncing
  • The sheet picker and delimiter selection could persist after switching to a different data source type

Technical

  • package-solution.json feature version corrected to match the solution version; developer URL corrected to https://

v1.2.0

Choose a tag to compare

@sregan1 sregan1 released this 20 Jun 01:32

What's New in v1.2.0

Added

  • 2 new chart types (17 total): Violin Plot and Before-After Plot
    • Violin Plot: distribution shape and density per category rendered as a smooth mirrored density curve — complements Box Plot by showing the full distribution shape, not just quartiles
    • Before-After Plot: paired dot plot connecting a "before" value to an "after" value per data row; requires exactly two Y columns
  • Logarithmic scale (Right Axis): a Log Scale (Right Axis) toggle in the Dual Y Axis property pane group independently log-scales the secondary axis
  • R² in linear trendline label: the chart legend now shows the coefficient of determination for each linear trendline — e.g. Revenue (trend) (R²=0.94) — so fit quality is visible at a glance
  • Significance brackets: a new Significance Brackets property pane group lets you annotate statistical comparisons between bar groups; accepts newline-delimited col1,col2,label format or a JSON array

Changed

  • Removed Simple / Advanced mode toggle: the property pane now always shows all three pages (Chart, Appearance, Advanced). The Show Advanced Options toggle has been removed; all settings and inline panels are always accessible when data is loaded
  • Property pane fields are now conditionally hidden (not just disabled) for chart types where they don't apply
  • KPI Tile sub-label now shows the aggregation method — e.g. Revenue • SUM • 12 rows
  • Heatmap diverging color scale: blue for negative values, red for positive values
  • Histogram bin labels: half-open interval notation (10–<20, 20–30)
  • Refresh interval slider is disabled when data source is Upload File
  • Updated hero chart image to a 2×2 composite of Bubble, Horizontal Bar, Radar, and Box Plot

Fixed

  • Bar chart X axis showing 0–11 instead of category names: axis is now explicitly set to category for all non-numeric-axis chart types
  • Pie / Doughnut: null/non-numeric rows filtered before rendering; threshold color applied per-slice
  • Before-After chart: clear validation message when fewer than two Y columns are selected

Installation

Download smart-data-visualization.sppkg and upload it to your SharePoint App Catalog (SharePoint Admin Center → Advanced → App Catalog → Apps for SharePoint). Check Make this solution available to all sites and click Deploy.

See the User Guide for full setup instructions.

v1.1.1

Choose a tag to compare

@sregan1 sregan1 released this 18 Jun 01:21

What's changed

Added


  • pm run ship\ script: runs \gulp clean && gulp bundle --ship && gulp package-solution --ship\ in a single command

Changed

  • Removed the \webApiPermissionRequests\ declaration from \package-solution.json\ — deploying the package no longer triggers an admin trust/API approval dialog. To use the Microsoft Graph data source, a tenant admin must now manually grant the required scope(s) via SharePoint Admin Center → Advanced → API access. See the README for full instructions.

Fixed

  • Switching from a Scatter, Bubble, or Histogram chart back to a category-axis chart type (Bar, Line, Area, etc.) no longer retains the numeric X column; the X axis now automatically resets to the first non-numeric column (e.g. country names, categories)

See CHANGELOG.md for the full history.

v1.1.0

Choose a tag to compare

@sregan1 sregan1 released this 13 Jun 20:13

What's New

6 new chart types (15 total)

KPI Tile, Histogram, Waterfall, Box Plot, Treemap, Heatmap

New data sources

Microsoft Graph, Excel sheet picker, result caching, auto-refresh

Data shaping & analytics

Group-by aggregation, trendlines, forecast, reference lines, date/time axis, conditional formatting

Interactivity

Viewer filter bar, details on demand, drill-down hierarchies, bookmarks, SPFx Dynamic Data, custom tooltip columns, color by category

UI improvements

Grouped chart type dropdown (all 15 always visible), Analytics and Reference Line groups auto-hidden for unsupported chart types, advanced options panel, dark theme support, full localization, accessibility

Bug fixes

10 bug fixes including scatter/bubble numeric X auto-correction, bookmark column validation, DataTable key fix, and more.

See CHANGELOG.md for the full list.

v1.0.0

Choose a tag to compare

@sregan1 sregan1 released this 08 Jun 12:03

Changelog

All notable changes to Smart Data Visualization are documented here.


[1.0.0] — 2026-06-07

Added

  • 9 chart types: Bar (Vertical), Bar (Horizontal), Line, Area, Scatter, Bubble, Pie, Doughnut, Radar
  • 4 data sources: Upload File (CSV / TSV / Excel), SharePoint List, SharePoint File (URL), REST API
  • File upload persistence: uploaded data serialized to web part properties (up to 200 KB) — survives page reloads and Edit↔Preview switches
  • Two-state file UI: "Choose File…" when no file loaded; filename banner with "Change File…" and "Clear" when a file is loaded
  • Web part header: optional prominent title above the chart, toggled from the property pane Header group
  • 7 color palettes: Office, Vibrant, Pastel, Monochrome, Traffic Light, Warm, Cool; per-series color overrides supported
  • Data labels: optional value annotations with prefix, suffix, decimal control, and K/M abbreviation
  • Stacked mode: toggle stacking on Bar and Line charts
  • Data table: optional paginated tabular view below the chart (20 rows per page)
  • Export bar: download chart as PNG, JPEG, CSV, or Excel from every view
  • Axis controls: X/Y axis labels, Y axis min/max override, log scale, X label rotation, grid line toggle
  • Chart height slider: configurable chart height in pixels
  • Legend control: toggle on/off, choose position (Top, Bottom, Left, Right)
  • Column mapping: X axis, Y axis (multi-select), Label, Size columns auto-discovered from loaded data
  • Migration guard: web parts previously configured with the removed "Paste CSV" source gracefully fall back to Upload File
  • Screenshot guide: mockups/screenshot-guide.html with Puppeteer automation (npm run screenshots) for regenerating documentation images
  • Sample data: six CSV files covering all nine chart types
  • User Guide: USER-GUIDE.md with step-by-step instructions for every feature
  • README: quick-start, no-build installation instructions, feature overview, and project structure

Technical

  • SPFx 1.20.0 · React 17.0.1 · TypeScript 4.7.4
  • Chart.js 4.x + react-chartjs-2 5.x + chartjs-plugin-datalabels 2.x
  • PapaParse 5.x (CSV/TSV), xlsx 0.18.5 (Excel)
  • @pnp/sp 3.22 (SharePoint list/file access)