Skip to content

Docs' updates for v9.4 - #170

Merged
mafanya23 merged 99 commits into
masterfrom
next
Oct 22, 2026
Merged

mafanya23 merged 99 commits into
masterfrom
next

Conversation

@mafanya23

Copy link
Copy Markdown
Contributor

No description provided.

mafanya23 and others added 30 commits August 26, 2026 17:05
- headerRowHeight/footerRowHeight signature extended to number | (number | "auto")[]
- documented the levels model: the number of levels comes from the longest header/footer array among the columns
- described both forms: a number for all levels, an array sizing levels individually with px values or the "auto" keyword
- added the v9.4 changelog note to both API pages
- reworked the "Header/footer height" section of the Grid configuration guide, fixed a missing comma in its snippet
- replaced the examples with the verified 3-level header config, dropped the made-up footer snippet
- added the level height resolution table: number, array item, "auto", levels beyond the array length
- documented that extra array items are ignored and invalid items fall back to 40
- documented the precedence over headerAutoHeight/footerAutoHeight, noted it on both autoHeight pages too
- marked the "auto" item as PRO only, with the GPL degradation to 40px without wrapping
- noted that per-level heights are carried over to the XLSX/PDF/PNG export
- both API pages rebuilt with explicit sections: Description, Usage, Default config, Example, levels, PRO note, Height resolution rules, autoHeight relation, export
- examples now use one shared grid config: 3 header levels on the header page, 2 footer levels on the footer page
- PRO restriction of the "auto" item stated in a tip box next to the signature and in an info box after the array example
- Related API, Related article and Related samples blocks added, the new snippet 1hf173dk linked
- exportConfig docs note that the overridden row height may be an array
- restored the original short descriptions and the "sum of all row heights" wording
- levels snippets now use the same columns config as the other examples on the page
- number and array forms shown as value fragments, the full config is given once in the Example
- PRO restriction of "auto" consolidated in the box next to the signature, the info box keeps the GPL behavior only
- Description heading dropped, px units and the comma before the relative clause fixed
- container id normalized to grid_container in the autoHeight examples of both API pages and the guide
- autoHeight, headerAutoHeight and footerAutoHeight document that they are ignored for a zone with an array row height, with the v9.4 entry added to their changelogs
- autoHeight page: related comments replaced with visible Related API and Related article blocks
- exportConfig and the export guide state that config.headerRowHeight/config.footerRowHeight can be a number or an array
- guide example got footers so that footerRowHeight has levels to size, plus per-property level comments
- footer page example uses two plain footer levels instead of a rowspan cell
- consistency pass: bulleted change logs, no trailing comma after data: dataset, restored numbering of the second way
- return type corrected from void to Id, @returns section added
- newId marked optional, params switched to the Id alias
- silent scoped to the change event, changeId event does not exist
- example reworked to match the covered behavior in ts-data tests
- changelog notes the return value added in v9.4
- document the `options` property of `filterConfig` for selectFilter
  and comboFilter in the Grid configuration guide
- cover both forms (a static list and a callback function), the option
  format, the id vs formatted value caveat, and the behavior notes
- add the `selectFilter` config properties block the guide was missing,
  and list `options` among the comboFilter properties
- extend the column `header` API page: `TOption` in the usage block,
  `options` in `filterConfig`, and a `selectFilter` group in the
  parameters table
- link the related snippet sample

Release notes for v9.4 are left to the parent version branch.
- replace passive constructions with Grid as the explicit actor
  ("the list is built" to "Grid builds the list", and 7 more)
- make the recalculation trigger list parallel and active
  ("on calling setColumns()" to "when you call setColumns()")
- declare the `IOption` type that the `options` signature referenced
  but never defined, distinct from `TOption` because the callback
  never receives bare strings
- clarify that Grid normalizes the list before it calls the function
- fix Grid capitalization, `id` code formatting, and wordiness
- carry the guide's wording fixes into the column `header` API page,
  which the previous pass missed: active voice for "Grid does not scan
  the dataset" and "Grid builds the list", "a callback function"
  instead of "a function", and `id` code formatting
- split the option shape out of the array bullet on the API page into
  two points for `id` and `value`, mirroring the guide
- name `id` and `value` instead of "both parts", which could be read
  as the pair and the plain string form
- state that `option.id` is always defined, the guarantee behind
  it being safe to compare
- API pages for getVisibleIndex() of DataCollection and TreeCollection,
  new in v9.4: usage, parameters, the -1 return cases, and examples
- the flat parameter and the collapsed branch case are documented on the
  TreeCollection page only, the flat collection signature takes an id
- note the default expand state difference between Grid with
  type: "tree" and Tree
- cross-link the two pages, so the availability of the method and of the
  flat parameter is stated on both
- list the method in the DataCollection and TreeCollection overviews and
  in the sidebar

Release notes for v9.4 are left to the parent version branch.
- new functionality: individual height of the header/footer rows,
  custom options of the header/footer filters, getVisibleIndex()
  of DataCollection/TreeCollection
- updates: the changeId() return value, headerAutoHeight/footerAutoHeight/
  autoHeight ignored for the array form of headerRowHeight/footerRowHeight
- new samples for the Grid features
- the release date and the Fixes section are left to be filled in
- DataCollection group(): new "Group counters and aggregates" section on
  $count, $totalCount and map fields being recomputed after filter(),
  resetFilter(), add(), remove(), update() and parse(); showEmptyGroups
  added to the group() config
- Grid: two new properties of the group config documented in the config
  page and the "Grouping data" guide - counter and showEmptyGroups
- Grid guide: new "Group counters and aggregates" section covering the
  service properties, the filtering scope and group removal; dropped the
  note claiming that changing values doesn't affect the aggregates
- filter(), resetFilter(), add(), update() and parse() pages note the
  recalculation; a rule is matched against data rows only, so a callback
  never gets a $group or $groupSummary row
- remove(): passing the id of a group header removes the whole group
- helpers: dhx.methods signature and the new "Aggregating an empty set of
  items" section - sum and count give 0, avg, min and max give null
- grid summary config: the same for the footer of a grid with no rows
- related sample linked in the group config, guide and group() pages
- new functionality: a combined entry for the group counters, listing the
  `counter` and `showEmptyGroups` properties of the Grid `group` config,
  `showEmptyGroups` of the DataCollection `group()` config and the
  `$count`, `$totalCount` and `$by` service properties of a header row
- fixes: 11 entries for the group counter recalculation task, sorted by
  the component prefix
- new sample of the grouping counters and empty groups added
- the "New functionality" section restructured to the v9.1 format: the
  component subheadings replace the inline prefixes, and the
  `getVisibleIndex()` and `headerRowHeight`/`footerRowHeight` sub-bullets
  are split one API item per line

The links to the group counters, group filtering and empty set sections
resolve after the 4956 branch is merged.
The column and Grid summaries are calculated over the data rows only,
the group header rows and the group summary rows aren't counted as data.

- `configuration.md`: a note in the intro of "Custom statistics in the
  column header/footer and spans", before both summary subsections
- `grid_summary_config.md`: the same in the description, ahead of the
  empty set paragraph
- `usage.md`: a line in "Group counters and aggregates" linking back to
  the summary guide, matching the wording used for `$count`
- `data_calculation_functions.md`: the empty set condition is stated as
  "an empty or missing set of items"; the unverified case of a field
  that none of the items has is dropped
- `usage.md`: the `showEmptyGroups` example aggregates into the rendered
  "price" column instead of a `total` field that no column shows, so the
  zero total the comment mentions is actually visible
- `usage.md`, `datacollection_group_method.md`: the sentence about a
  group losing all its rows is recast so that the subject isn't
  separated from its verb by a relative clause
- new calendar_controls_config.md page with the property values, the list of controls and code samples
- Controls section in the configuration guide and a cross-reference from the Timepicker section
- cancel, today and clear labels documented in the calendar locale, with a note that the timepicker Save label belongs to the timepicker locale
- related API and article links of the timePicker page made visible instead of markdown comments
- the new page registered in the API overview and in the sidebar
# Conflicts:
#	docs/whatsnew.md
- Controls section of the calendar configuration guide split into sub-sections, with a screenshot illustrating the position of the controls
- descriptive parts reworded to the active voice, API names wrapped in backticks, names of the controls capitalized
- new Localization guide for Timepicker covering the hours, minutes and save labels, registered in the sidebar, the features and the overview pages
- Controls row added to the calendar features guide
- setLocale examples of Colorpicker and Combobox fixed to pass the widget name instead of the container id, otherwise the call does nothing
- new functionality entry for the Calendar controls property, linked to the Controls section of the configuration guide
- Calendar. Controls snippet added to the new samples section
- both links point at the pages of the feature branch, so they resolve once it is merged
- js code fences switched to jsx in the Controls section of the calendar configuration guide and on the localization pages of Calendar and Timepicker
- intro sentence added before the image that shows the layouts of the controls
- names of the controls capitalized in the frontmatter description of the controls page
- datacollection group(): the new section split into "Counters of a
  group", "Aggregated fields", "Filtering grouped data" and "Removing a
  group"; the scope note turned into an admonition; the service
  properties of a header row marked as such; api names linked as code
- grid guide: the same sub-sections in "Group counters and aggregates";
  $index added next to $count and $totalCount, and $by widened to cover
  the function form of `by`
- grid group config: `by` added to IGroupOrder and to the `order`
  description, the usage snippet highlight fixed to point at `group`
- getSummary(): a note that a grouped grid counts the data rows only
- changelogs: v9.4 entries for the recalculation, the filtering scope,
  remove() on a group header, the summaries of a grouped grid, and the
  new `counter` and `showEmptyGroups` properties
- the descriptions reworded from the passive to the active voice
- filter(): the description split into "Combining filters" and
  "Filtering grouped data"; grid summary config: into "Summaries in a
  grouped grid" and "Summaries of an empty grid"; the related links
  moved above the headings to keep them page-level
- add(), update(), remove(): the commented @related links replaced with
  readable "Related article" ones
- changelogs: the v9.4 behavior entries dropped where they only restated
  the description, kept on group() where the section is to be moved to
  the guides later
- counter: a custom `template` hides it in the cell, while the tooltip
  keeps it until `tooltipTemplate` is redefined; the brackets dropped
  from the examples, as a counter function returns the whole string
- the same wording for the group counters across the pages, and a fixed
  highlight of the snippet in the grid guide
- header config extended with a callback returning an HTML string or a widget
- API page migrated to Usage/Example sections with the ts signature
- guide section with subsections on markup, widgets, events and collapsing
- v9.4 changelog entry, new snippets and readable related links
- intro paragraph, header height nested under the cell header section
- sizing, visibility and collapsing sections regrouped
- custom header collapsing moved to the collapsibility section
- explicit backticked labels for api links, jsx fences on the page
- readable related links on the headerIcon and headerImage pages,
  with the broken layout/api paths and the #cellheader anchor fixed
- header page: callback parameter described in its own list item,
  examples split per case, attach() added to the related api list
- new functionality entry for HTML content and widgets in a cell header
- three Layout samples in the new samples list
- new Dual axis chart section in the chart configuration guide: the value
  scale of a series, the full form of the binding, the grid of the second
  scale, matching the ticks, stack groups, the supported series types
- new series configuration properties: scale and scales
- series stacked property extended to boolean | string
- new scales configuration property: alignTicks
- grid property description extended for two scales of one direction
- the type of the horizontal Bar chart is "xbar", not "x-bar": the value
  was renamed in the widget before Suite 6.0 and the pages kept the old
  spelling since the docs import
- corrected in the type, series, scales and legend API pages and in the
  configuration guide
- the historical whatsnew entry is left as is
- new sections on the series and scales API pages that hold the
  descriptions of scale, scales, stacked, grid and alignTicks, with the
  signature, the rendering cases, an example and the related links of
  every property
- the rows of the option tables shortened to a line pointing at the
  corresponding section
- the dual axis guide section links to the API pages of the properties
  it mentions, and every new API section links back to the guide
- the grid sample of the guide matches the sentence it follows, and the
  lead of the stack groups describes the whole subsection
- the mixing paragraph no longer contradicts the note on Bar and X-Bar
- the scale sample of the series page and the container ids of the guide
  samples brought in line with the rest of the documentation
mafanya23 and others added 29 commits October 6, 2026 14:49
- the chart calls the fill/color function with a data item, instead of the function taking it
- applied in the bar color section of the customization guide and the fill/color rows of the series API
[add] dynamic bar color docs for chart series
- new ariaLabel API pages for Toolbar and Window, listed in the API
  overviews and the sidebar; Grid ariaLabel and keyNavigation pages
  moved to Usage/Example headings, keyNavigation changelog as a list
- accessibility support guide: sentence-case headings, links to the
  ariaLabel, title and announce() pages, locale examples as a list,
  palette options wording, varied screenshot descriptions
- Grid accessibility guide, conformance report and localization:
  "color" spelling (EN 301 549 clause title kept), reworded remarks,
  links to the translatable screen-reader names, keyboard navigation
  intro split into paragraphs, backticked API links
- unique meta descriptions; swatch definition in Colorpicker
  configuration; dashes and screen-reader wording made consistent
- Toolbar/Window entry links to the new ariaLabel pages and to title
- "Screen-reader announcements" and spaced Shift + Tab, matching the
  accessibility guides
- ariaLabel changelog for Toolbar and Window set to v9.3.12, where the
  option was introduced and announced in what's new
- Toolbar/Window ariaLabel bullet removed from the 9.4 accessibility
  updates, since the v9.3.12 release notes already cover it
- 9.4 what's new: ariaLabel entries for Toolbar and Window under
  New functionality, in the same format as the Grid ariaLabel entry;
  the bullet in the 9.4 accessibility updates is removed
- 9.3.12 what's new: the ariaLabel item is removed; its dialog focus
  order note is kept as a separate Window item
- ariaLabel API pages of Toolbar and Window: added in v9.4
[add] Grid. Added the Conformance report (VPAT) (DHX-5290)
Docs updates for v9.4
- new tabbar_foreach_method.md API page, listed in the sidebar and API overview
- "Iterating over cells" section in the Tabbar and Layout guides
- features tables link the new guide sections
- forEach() API pages of Tabbar and Layout link back to the guides
[add] forEach() method into Tabbar docs
- what's new 9.4: "Accessibility" subsection gathering the ariaLabel
  entries of Combobox, ContextMenu, Grid, Toolbar and Window
- what's new 9.4: Grid keyboard and Toolbar/Menu accessibility updates,
  changeId() grouping restriction, fixes for ContextMenu, Tabbar
  (DHX-5288, DHX-5289) and changeId() handling (DHX-5162)
- new API pages: Combobox and ContextMenu ariaLabel, with sidebar and
  API overview entries
- accessibility support guide: Combobox section, context menu naming
  and focus, button names from tooltips, submenu keys
- changeId() page: restriction for grouped data
- Chart: total and stacked links
- Calendar, Chart, Grid, Layout and Tabbar sample links point to the
  new snippets, with the new "Widget. Group. Description" names
- the same names in the guides, API pages, feature tables and the
  9.4 what's new list of new samples
- HTML sample links in the Chart series table updated as well
- ?mode=wide suffix dropped from the new links
# Conflicts:
#	docs/chart/customization.md
[update] 9.4 what's new revision, ariaLabel pages
- three caniuse-lite entries merged into one at 1.0.30001815
- refreshes browserslist data, no package.json changes
- ariaLabel pages for Ribbon and Sidebar, Menu page covers Menu and ContextMenu
- new pages added to sidebars.js and the Ribbon/Sidebar API overviews
- accessibility guide: Menu/Sidebar/Ribbon naming, menu role note fixed
- chart series: scales takes priority over scale, as in the source
- 9.4 what's new: links and formatting restored, ariaLabel entries for
  Menu, Ribbon and Sidebar, new Chart/Grid/List/Tabbar fixes
- 9.4 what's new: Message fix for the alertdialog role and the
  accessible name of an alert without a header
- accessibility guide: aria_alert key in the Message section
[update] 9.4 ariaLabel pages, chart scales priority
- Chart: Radar row in the series types table, stack-group and
  visible-series/sectors wording for total (DHX-1869, 3481, 4778)
- Layout: headerIcon example takes a CSS class (DHX-4153)
- Tabbar: tabTemplate example uses isActive and icon (DHX-3305)
- Calendar: controls typing, default config, lowercase control names,
  today keeps the time; change/beforeChange params and related links
  (DHX-2734)
- Grid: header/footer row height wording and what's new entry
  (DHX-3574); group counter, showEmptyGroups and remove() wording,
  dhx.methods empty set (DHX-4956); filter options read from the
  header, callback wording (DHX-5218)
- DataCollection/TreeCollection: getVisibleIndex related API lists
  (DHX-5189); changeId rejected cases and changelog, new
  TreeCollection changeId page (DHX-5162)
- dark and contrast-dark theme pages: added the --dhx-color-focused
  override that raises the focus outline contrast to 3:1 (DHX-5364)
- Grid ariaLabel page: singular "Related article" label
- what's new: the tabAutoWidth/tabAutoHeight fix entry names the
  mode mismatch that collapsed the header (DHX-5289)
- tabAutoWidth/tabAutoHeight pages: one :::note with the mode rule
  replaces the legacy {{note}}, related article link made visible
- DataCollection group(): showEmptyGroups false case says resetFilter()
  brings back only a group emptied by filtering
- Calendar controls: TCalendarControlsInput alias removed from Usage,
  controls typed as TCalendarControls[]
- dark and contrast dark themes: comment after --dhx-color-focused removed
Suggested improvements for v9.4 docs
- Grid: new "How to make Grid accessible" section with links to the
  Accessibility guide, its setup section and the Conformance Report
- Accessibility support row added to the Common functionality table of
  the Grid, Chart, List, DataView, Toolbar, Menu, Sidebar, Ribbon,
  Window, Colorpicker, Combobox, Message and Tree features guides
- curly apostrophe replaced with a straight one in the AwaitRedraw row
  of all features guides
- Chart: stack groups and dynamic bar colors rows added
- Chart: total value rows link the guide sections instead of the
  total API page
- Grid: custom options of header/footer filters and group counters
  and aggregates rows added
- release date of v9.4 set to October 22, 2026
@mafanya23
mafanya23 merged commit 010de62 into master Oct 22, 2026
4 checks passed
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