Commit Graph

6033 Commits

Author SHA1 Message Date
Atanas Korchev
5cd64c8ac9 Stop embedding sources/PDB in shipped WASM assemblies
Set EmbedAllSources=false and DebugType=portable in the root
Directory.Build.props so the demo and API-reference assemblies no longer
carry an embedded PDB containing full source. The embedded source is
deflate-compressed, so Brotli cannot reclaim it - it was inflating
RadzenBlazorDemos.wasm from ~1.3MB to ~4.2MB Brotli (and the lazy API
bundle similarly).

The packable Radzen.Blazor library is unaffected: it is governed by
Radzen.Blazor/Directory.Build.props and still ships embedded sources in
its .snupkg for consumer step-into-source debugging.
2026-06-22 13:17:34 +03:00
Atanas Korchev
ccc3eaa93e Add SEO intros, FAQ and related links to remaining DataGrid demos
Group 6 (14 pages): custom header + column picker, density, grid lines, cell
context menu, conditional formatting, Excel/CSV export, cascading dropdowns,
empty state, save/load settings (+ LoadData), row reorder and drag between
grids / to scheduler. Completes the DataGrid cluster enrichment.
2026-06-22 12:27:18 +03:00
yordanov
5cac28f5e8 Add RTL-aware Start/End legend positions and default to End 2026-06-22 12:24:03 +03:00
Atanas Korchev
71fea296e7 Add SEO intros, FAQ and related links to DataGrid hierarchy, selection & editing demos
Group 5 (9 pages): hierarchy, hierarchy on demand, self-reference hierarchy,
master/detail; single/multiple/cell selection; inline & in-cell editing.
2026-06-22 12:16:22 +03:00
Atanas Korchev
5997612710 Add SEO intros, FAQ and related links to DataGrid sorting, paging & grouping demos
Group 4 (10 pages): single/multi-column sorting, sort API, custom sort comparer;
pager position/alignment/API; grouping API, group header & footer templates.
2026-06-22 12:10:25 +03:00
Atanas Korchev
8910322f23 Add SEO intros, FAQ and related links to DataGrid filtering demos
Group 3 (Filtering, 13 pages): simple/inline, simple-with-menu, advanced
(multi-condition), mixed, enum, CheckBoxList (Excel-style) + OData/auto-apply/
lookup variants, filter & filter-value templates, sub-property filter, filter API.

Intros reframed around real search terms (inline column filter, operator menu,
multi-condition, Excel-style checkbox) instead of internal mode names.
2026-06-22 11:59:19 +03:00
yordanov
508b5c6277 Improve chart legend item styles 2026-06-22 11:58:58 +03:00
Atanas Korchev
a50af13e54 Add SEO intros, FAQ and related links to DataGrid data-binding & column demos
Group 1 (Data-binding): LoadData, OData, Dynamic, DataTable, Real-time,
Crosstab, Performance. Group 2 (Columns): Template, Resizing, Column Picker,
Reorder, Footer Totals, Frozen Columns, Composite Columns, Conditional Columns.

Each page gets a keyword-rich intro (preserving terms like Entity Framework,
OData, ExpandoObject), a FAQ (rendered + FAQPage JSON-LD), and Related links.
2026-06-22 11:42:08 +03:00
Atanas Korchev
d64246a821 Add Blazor DataGrid overview landing page + schema infra
- Turn /datagrid into a dedicated DataGrid overview: keyword-rich intro
  (IQueryable, Entity Framework, OData, ...), flagship live grid, 12
  feature cards linking to each demo, and an FAQ. Matches the overview
  pattern Telerik/DevExpress/Infragistics/Syncfusion use for the head term.
- Move the IQueryable/EF demo to /datagrid-iqueryable (first under the
  Data-binding nav group); /datagrid keeps its URL/authority.
- Generalize SeoSchema for multiple clusters; add GetDataGridPages so every
  DataGrid page emits TechArticle + BreadcrumbList (Home > DataGrid > Page),
  the overview also FAQPage.
- Fix TitleFor to honor an explicit Title on an "Overview"-named entry.
2026-06-22 11:14:42 +03:00
yordanov
f2ec0428ad Add corner radius and exploded slices to pie and donut series 2026-06-21 16:21:29 +03:00
yordanov
1c7af74e1e Add opt-in gradient fills to funnel and pyramid series 2026-06-19 13:37:07 +03:00
yordanov
1ba8529cb9 Style axis crosshair labels 2026-06-19 11:59:59 +03:00
Vladimir Enchev
3e513bfea9 Better tooltip positioning 2026-06-19 09:46:31 +03:00
yordanov
d2f8171df4 Add MaxWidth/MaxHeight and CategoryGap options to control column/bar width 2026-06-18 18:37:29 +03:00
Atanas Korchev
c918ce3d8c Add SEO schema and copy to chart configuration/feature demos
Extend the chart SEO work to the 15 chart configuration and feature
demo pages (axis, legend, tooltip, interpolation, data labels,
crosshair, etc.):

- GetChartConfigPages() + SeoSchema treats these pages as article-
  eligible (TechArticle + BreadcrumbList + FAQPage), without adding
  them to the /charts gallery ItemList
- Human-readable intros, "how do I..." FAQs, and related links per page
2026-06-18 17:49:54 +03:00
yordanov
7fd1445246 Add TickPlacement 2026-06-18 17:47:34 +03:00
Atanas Korchev
3301acaece Add chart SEO: structured data, FAQs, and consistent copy
Enrich all 58 chart/dataviz demo pages on blazor.radzen.com for search
and AI discovery:

- JSON-LD via a new head-schemas section + SeoSchema/DemoSeo, emitted
  once per page from MainLayout (CollectionPage+ItemList on /charts,
  TechArticle+BreadcrumbList+FAQPage on each chart page)
- Human-readable intros, 1-3 FAQs, and related-chart links per page,
  sourced once from ExampleService (rendered on-page and as FAQPage)
- Complete OG/Twitter tags; corrected gallery copy (30+ chart types /
  40+ data-visualization components); dropped "native" wording
- Rename chart-spline/-histogram/-pareto to {type}-chart

Adds RadzenBlazorDemos/Services/SeoSchema.cs and Shared/DemoSeo.razor.
2026-06-18 17:24:21 +03:00
yordanov
cdc0f410bc Add TickPlacement option to category axis for between/on tick positioning 2026-06-18 15:44:03 +03:00
yordanov
4f340ac0b2 Add opt-in gradient fills to waterfall chart series 2026-06-18 00:03:43 +03:00
yordanov
fa2cf4825d Add opt-in gradient fills to range area chart series 2026-06-17 23:34:35 +03:00
Atanas Korchev
9853c4aa2e Inherit RadzenSpreadsheetToolBase in merge/borders/conditional/validation tools
Replace the duplicated selection-binding boilerplate (cascading parameters,
IsDisabled, EventBinding<Selection>, OnParametersSet/OnSelectionChanged/Dispose)
with @inherits RadzenSpreadsheetToolBase, overriding only Feature - matching the
Insert* tools.
2026-06-17 18:27:36 +03:00
yordanov
8530e5f060 Show gradient in pie and donut demos 2026-06-17 18:22:54 +03:00
yordanov
82e1e5ac06 Add opt-in radial gradient fills to pie and donut chart series 2026-06-17 18:22:54 +03:00
Atanas Korchev
cae0e7d3a1 Fix RadzenSpreadsheet edit refresh, table sort, filter and tool issues
- Edited value cells now repaint: fire the changed cell's notification even
  inside a command batch (only dependent recalc is deferred to EndUpdate).
- Table sort excludes the header (and totals) row by sorting DataBodyRange;
  the cell-menu and context-menu sorts are now table/auto-filter aware.
- Re-apply active filters after a sort (and on sort undo) so filtered-out
  rows stay hidden by value.
- Enable Merge, Borders, Conditional and Data Validation tools when a range
  is selected by subscribing to Selection.Changed.
- Keep the worksheet prefix on cross-sheet references in the formula-bar
  syntax highlighter (use the raw token text).

Adds regression tests for all of the above.
2026-06-17 18:08:12 +03:00
Atanas Korchev
172fc588b8 Add Tile Layout to README component list 2026-06-15 18:54:01 +03:00
yordanov
c880ac3595 Fix series colors in demos 2026-06-15 18:45:54 +03:00
yordanov
dd23260d6f Render gradient fills in chart demos 2026-06-15 18:45:54 +03:00
yordanov
16d7afb31c Add crosshair and shared tooltip to line chart demos 2026-06-15 18:45:54 +03:00
yordanov
414e9968f2 Default area and range-navigator series fills to solid 2026-06-15 18:45:54 +03:00
yordanov
e694f75a75 Add opt-in gradient fill to column, bar, and bullet series 2026-06-15 18:45:54 +03:00
Atanas Korchev
77f1d6b8f8 Remove google map and ssrsviewer from charts demo page. 2026-06-15 18:45:54 +03:00
yordanov
07510c0aa9 Prevent infinite loop in logarithmic axis tick measurement 2026-06-15 18:45:54 +03:00
yordanov
ce5f4c3beb Add initial render animations for part-to-whole and financial charts 2026-06-15 18:45:54 +03:00
yordanov
51999fd197 Add initial render animations for scatter, bubble, heatmap and contour 2026-06-15 18:45:53 +03:00
yordanov
200559943a Enable initial render animations in the column and bar chart demos 2026-06-15 18:45:53 +03:00
yordanov
11dc51c41a Fix RTL layout of bar charts 2026-06-15 18:45:53 +03:00
yordanov
e87934540f Add initial render animations for column and bar series 2026-06-15 18:45:53 +03:00
yordanov
ae8478c060 Remove the Export PNG button from the synchronized charts demo 2026-06-15 18:45:53 +03:00
yordanov
61a4839dfe Add chart demos for data labels, synchronized charts and reference lines 2026-06-15 18:45:53 +03:00
yordanov
403ea3cd30 Active point highlight inherits series colors and marker shapes, skips range-style series 2026-06-15 18:45:53 +03:00
yordanov
a53596fab2 Redesign chart data labels: positions, background chips, overlap hiding and formatting 2026-06-15 18:45:53 +03:00
Vladimir Enchev
0283a67892 fix(chart): reserve space for wrapped top/bottom legend rows
A Top or Bottom legend only reserved a single row of height regardless of
series count, so with many series the legend wrapped onto multiple rows and
overlapped the plot area. Measure now simulates the horizontal wrap across the
chart width and reserves height for every wrapped row.

Fixes #2573
2026-06-15 18:45:53 +03:00
Vladimir Enchev
50ea7dbad0 Unify image export: ToSvg() returns markup, ToPng() downloads across Chart, QRCode, Barcode
Replace RadzenChart.ExportAsync with ToSvg() returning the baked, standalone
SVG string (matching QRCode/Barcode). Add ToPng(fileName) to all three, which
rasterizes the SVG to PNG and downloads it via the shared Radzen.downloadFile
helper. Fix copy-pasted RadzenBarcode.ToSvg doc that referenced a QR code.
2026-06-15 18:45:53 +03:00
yordanov
9b24ef9596 Update chart demos and premium themes 2026-06-15 18:45:53 +03:00
yordanov
01e9afabc0 Improve chart UI/UX: gradient fills, animations, synced charts, axis tooltips 2026-06-15 18:45:52 +03:00
yordanov
71e5b5716b Add calendar-aligned ticks to the chart date axis 2026-06-15 18:45:52 +03:00
Vladimir Enchev
9f4f624149 fix(spider-chart): merge duplicate Dispose introduced by 11-onto-master rebase
The rebase combined master's ResizeObserver-teardown fix with branch 11's
own Dispose, leaving two overrides. Merge them so disposal both disconnects
the resize observer (Radzen.destroyResizable) and runs disposeElement.
2026-06-15 18:45:52 +03:00
Vladimir Enchev
912ddd9b2f DataGrid preserves filters of columns hidden via the Column Picker
Fix #2567
2026-06-15 18:45:19 +03:00
Vladimir Enchev
e5bd0343fa Add built-in German, French, Spanish, Italian and Japanese translations
Ship satellite resource files (RadzenStrings.{de,fr,es,it,ja}.resx) with all
535 strings translated, so components localize out of the box via the standard
.NET ResourceManager.

Make culture handling reactive everywhere:
- RadzenDatePicker rebuilds its month/year lists when Culture or the
  DefaultCulture cascade changes (previously cached at init).
- Scheduler views, HtmlEditor tools and the spreadsheet ChartOverlay localize
  through their parent component's UICulture instead of CurrentUICulture;
  spreadsheet dialogs honor a DefaultUICulture cascade. UICulture is added to
  IScheduler/ISpreadsheet as default interface members, so this is non-breaking.

Update the Localization demo with an interactive language switcher (cascading
DefaultUICulture + DefaultCulture) backed by an ILocalizer so it works in-place
on Blazor WebAssembly.
2026-06-15 18:45:19 +03:00
yordanov
56dc7a4884 Add new premium Material 3 Expressive theme 2026-06-15 18:45:19 +03:00