From 171c33bb114090a99e0e52f7d12c37bce7036d1b Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Tue, 20 Jan 2026 11:25:38 +0300 Subject: [PATCH 01/18] [add] draft of what's new for v9.3 --- docs/whatsnew.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/whatsnew.md b/docs/whatsnew.md index 48d0e0e3..f432f2f6 100644 --- a/docs/whatsnew.md +++ b/docs/whatsnew.md @@ -8,6 +8,27 @@ description: You can explore what's new in DHTMLX Suite and its release history Before updating DHTMLX to the latest version, please check the [Migration to Newer Versions](migration.md) guide to avoid possible breakdowns. +## Version 9.3 + +Released on January , 2026 + +### New functionality + +- Grid. The ability to define the behaviour of a dragged item via the `dropBehaviour` config property in the TreeGrid mode (PRO version) +- Grid. The ability to place the footer at the bottom of the container (PRO version) +- Tree. The ability to add tooltips for the items + +### Updates + +- Chart. Export module. The [`pdf()`](/chart/api/export/chart_pdf_method/) and [`png()`](/chart/api/export/chart_png_method/) export functions return a promise of data export +- Grid. Export module. The [`pdf()`](/grid/api/export/grid_pdf_method/), [`png()`](/grid/api/export/grid_png_method/), [`xlsx()`](/grid/api/export/grid_xlsx_method/) and [`csv()`](/grid/api/export/grid_csv_method/) export functions return a promise of data export +- Grid. The functionality of header filters is updated. New `dateFilter` is added for the column header + +### Fixes + +- Grid. The inability to set a single date in the range mode is fixed +- Grid. Performance issues that occurred while filtering large data sets via `inputFilter` + ## Version 9.2.7 Released on January 15, 2026 From 3fb8bba8180099aecf662e063fe53a7a45883ed5 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Tue, 20 Jan 2026 11:26:53 +0300 Subject: [PATCH 02/18] [update] descriptions of chart and grid methods of export module --- docs/chart/api/export/chart_pdf_method.md | 21 +++++++++++++---- docs/chart/api/export/chart_png_method.md | 20 ++++++++++++---- docs/grid/api/export/grid_csv_method.md | 20 ++++++++++++---- docs/grid/api/export/grid_pdf_method.md | 20 ++++++++++++---- docs/grid/api/export/grid_png_method.md | 20 ++++++++++++---- docs/grid/api/export/grid_xlsx_method.md | 21 +++++++++++++---- docs/grid/usage.md | 28 ++++++++++++++++------- 7 files changed, 113 insertions(+), 37 deletions(-) diff --git a/docs/chart/api/export/chart_pdf_method.md b/docs/chart/api/export/chart_pdf_method.md index f8f55098..e809f446 100644 --- a/docs/chart/api/export/chart_pdf_method.md +++ b/docs/chart/api/export/chart_pdf_method.md @@ -8,11 +8,14 @@ description: You can explore the pdf method of Chart in the documentation of the @short: Exports a chart to a PDF file -@signature: {'pdf(config?: object): void;'} +@signature: {'pdf(config?: IPDFConfig): Promise;'} + +@returns: +A promise of data export @params: - `config` - (optional) an object with export settings. You can specify the following settings for export to PDF: - - `url?: string` - (optional) the url of the service that executes export and returns an exported file. This setting is optional, you should use it only if you need to specify the path to your local export service. The default value is `https://export.dhtmlx.com/chart/pdf/8.0.0` + - `url?: string` - (optional) the url of the service that executes export and returns an exported file. This setting is optional, you should use it only if you need to specify the path to your local export service. The default value is `https://export.dhtmlx.com/chart/pdf/9.3.0` - `name?: string` - (optional) the name of the exported file - `theme?: string` - (optional) the exported theme, "light" by default. For custom or overridden themes, enable the `exportStyles` option - `exportStyles?: boolean | string[]` - (optional) defines the styles that will be sent to the export service when exporting Chart. Use *false* to prevent all styles from being sent to the export service @@ -45,13 +48,19 @@ description: You can explore the pdf method of Chart in the documentation of the @example: // default export -chart.export.pdf(); +chart.export.pdf() + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); // export with config settings chart.export.pdf({ - url: "https://export.dhtmlx.com/chart/pdf/8.0.0", + url: "https://export.dhtmlx.com/chart/pdf/9.3.0", name:"result.pdf" -}); +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); @descr: @@ -80,6 +89,8 @@ It is necessary to set sufficient margin for correct display of `headerTemplate` **Related API:** [exportStyles](chart/api/chart_exportstyles_config.md) **Change log:** + +- The method returns a promise of data export since v9.3 - The **header** and **footer** options of the export object were added in v8.4 - The **theme**, **exportStyles** options of the export object were added in v8.1 - The **pageRanges**, **displayHeaderFooter**, **footerTemplate**, **headerTemplate** options of the pdf object were added in v8.1 diff --git a/docs/chart/api/export/chart_png_method.md b/docs/chart/api/export/chart_png_method.md index b5b457c1..e4c0539d 100644 --- a/docs/chart/api/export/chart_png_method.md +++ b/docs/chart/api/export/chart_png_method.md @@ -8,11 +8,14 @@ description: You can explore the png method of Chart in the documentation of the @short: Exports a chart to a PNG file -@signature: {'png(config?: object): void;'} +@signature: {'png(config?: IPNGConfig): Promise;'} + +@returns: +A promise of data export @params: - `config` - (optional) an object with export settings. You can specify the following settings for export to PNG: - - `url?: string` - (optional) the url of the service that executes export and returns an exported file. This setting is optional, you should use it only if you need to specify the path to your local export service. The default value is `https://export.dhtmlx.com/chart/png/8.0.0` + - `url?: string` - (optional) the url of the service that executes export and returns an exported file. This setting is optional, you should use it only if you need to specify the path to your local export service. The default value is `https://export.dhtmlx.com/chart/png/9.3.0` - `name?: string` - (optional) the name of the exported file - `theme?: string` - (optional) the exported theme, "light" by default. For custom or overridden themes, enable the `exportStyles` option - `exportStyles?: boolean | string[]` - (optional) defines the styles that will be sent to the export service when exporting Chart. Use *false* to prevent all styles from being sent to the export service @@ -21,13 +24,19 @@ description: You can explore the png method of Chart in the documentation of the @example: // default export -chart.export.png(); +chart.export.png() + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); // export with config settings chart.export.png({ - url: "https://export.dhtmlx.com/chart/png/8.0.0", + url: "https://export.dhtmlx.com/chart/png/9.3.0", name: "result.png" -}); +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); @descr: @@ -37,6 +46,7 @@ chart.export.png({ **Change log:** +- The method returns a promise of data export since v9.3 - The **header** and **footer** options of the export object were added in 8.4 - The **theme** and **exportStyles** options of the export object were added in 8.1 - Added in v8.0 \ No newline at end of file diff --git a/docs/grid/api/export/grid_csv_method.md b/docs/grid/api/export/grid_csv_method.md index 80c1ede6..eeed31a5 100644 --- a/docs/grid/api/export/grid_csv_method.md +++ b/docs/grid/api/export/grid_csv_method.md @@ -8,7 +8,7 @@ description: You can explore the csv export method of Grid in the documentation @short: Exports data from a grid into a CSV file -@signature: {'csv(config?: object): string;'} +@signature: {'csv(config?: ICsvExportConfig) => Promise;'} @params: - `config` - (optional) an object with export settings. You can specify the following settings for export to CSV: @@ -18,22 +18,32 @@ description: You can explore the csv export method of Grid in the documentation - `columnDelimiter?: string` - (optional) a comma (",") by default. A separator between columns, can be a semicolon - ";", or any other value @returns: -A CSV string with Grid data +A promise of data export @example: // default export -grid.export.csv(); +grid.export.csv() + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); // export with config settings grid.export.csv({ name: "my_file", // the name of a ready CSV file rowDelimiter: "\t", // the delimiter used to separate rows columnDelimiter: ";" // the delimiter used to separate columns -}); +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); @descr: **Related samples**: [Grid. Export to xlsx and csv](https://snippet.dhtmlx.com/58oqij47) -**Related article:** [Exporting Grid](grid/usage.md) \ No newline at end of file +**Related article:** [Exporting Grid](grid/usage.md) + +**Change log:** + +- The method returns a promise of data export since v9.3 \ No newline at end of file diff --git a/docs/grid/api/export/grid_pdf_method.md b/docs/grid/api/export/grid_pdf_method.md index 6fd9563d..4fe2de11 100644 --- a/docs/grid/api/export/grid_pdf_method.md +++ b/docs/grid/api/export/grid_pdf_method.md @@ -8,11 +8,14 @@ description: You can explore the pdf export method of Grid in the documentation @short: Exports data from a grid to a PDF file -@signature: {'pdf(config?: object): void;'} +@signature: {'pdf(config?: IPDFConfig) => Promise;'} + +@returns: +A promise of data export @params: - `config` - (optional) an object with export settings. You can specify the following settings for export to PDF: - - `url?: string` - (optional) the url of the service that executes export and returns an exported file. This setting is optional, you should use it only if you need to specify the path to your local export service. The default value is `https://export.dhtmlx.com/grid/pdf/8.1.0` + - `url?: string` - (optional) the url of the service that executes export and returns an exported file. This setting is optional, you should use it only if you need to specify the path to your local export service. The default value is `https://export.dhtmlx.com/grid/pdf/9.3.0` - `name?: string` - (optional) the name of the exported file - `theme?: string` - (optional) the exported theme, "light" by default. For custom or overridden themes, enable the `exportStyles` option - `exportStyles?: boolean | string[]` - (optional) defines the styles that will be sent to the export service when exporting Grid. Use *false* to prevent all styles from being sent to the export service @@ -46,7 +49,10 @@ description: You can explore the pdf export method of Grid in the documentation @example: // default export -grid.export.pdf(); +grid.export.pdf() + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); // export with config settings grid.export.pdf({ @@ -54,8 +60,10 @@ grid.export.pdf({ scale: 0.75, displayHeaderFooter: true, theme: "dark", -}); - +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); @descr: @@ -91,5 +99,7 @@ If you use Grid in conjunction with [Pagination](pagination.md), only the displa **Related API:** [exportStyles](grid/api/grid_exportstyles_config.md) **Change log:** + +- The method returns a promise of data export since v9.3 - The **header** and **footer** options of the export object were added in v8.4 - Added in v8.1 \ No newline at end of file diff --git a/docs/grid/api/export/grid_png_method.md b/docs/grid/api/export/grid_png_method.md index c1fad239..d3bc7428 100644 --- a/docs/grid/api/export/grid_png_method.md +++ b/docs/grid/api/export/grid_png_method.md @@ -8,11 +8,14 @@ description: You can explore the png export method of Grid in the documentation @short: Exports data from a grid to a PNG file -@signature: {'png(config?: object): void;'} +@signature: {'png(config?: IPNGConfig) => Promise;'} + +@returns: +A promise of data export @params: - `config` - (optional) an object with export settings. You can specify the following settings for export to PNG: - - `url?: string` - (optional) the url of the service that executes export and returns an exported file. This setting is optional, you should use it only if you need to specify the path to your local export service. The default value is `https://export.dhtmlx.com/grid/png/8.1.0` + - `url?: string` - (optional) the url of the service that executes export and returns an exported file. This setting is optional, you should use it only if you need to specify the path to your local export service. The default value is `https://export.dhtmlx.com/grid/png/9.3.0` - `name?: string` - (optional) the name of the exported file - `theme?: string` - (optional) the exported theme, "light" by default. For custom or overridden themes, enable the `exportStyles` option - `exportStyles?: boolean | string[]` - (optional) defines the styles that will be sent to the export service when exporting Grid. Use *false* to prevent all styles from being sent to the export service @@ -21,12 +24,18 @@ description: You can explore the png export method of Grid in the documentation @example: // default export -grid.export.png(); +grid.export.png() + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); // export with config settings grid.export.png({ theme: "dark", -}); +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); @descr: @@ -43,5 +52,6 @@ If you use Grid in conjunction with [Pagination](pagination.md), only the displa **Change log:** -- The **header** and **footer** options of the export object were added in 8.4 +- The method returns a promise of data export since v9.3 +- The **header** and **footer** options of the export object were added in v8.4 - Added in v8.1 \ No newline at end of file diff --git a/docs/grid/api/export/grid_xlsx_method.md b/docs/grid/api/export/grid_xlsx_method.md index 4c546902..6f71f050 100644 --- a/docs/grid/api/export/grid_xlsx_method.md +++ b/docs/grid/api/export/grid_xlsx_method.md @@ -12,7 +12,7 @@ description: You can explore the xlsx export method of Grid in the documentation DHTMLX Grid uses the WebAssembly-based library [Json2Excel](https://github.com/dhtmlx/json2excel) for export of data to Excel. [Check the details](grid/usage.md/#exporting-data-to-excel). ::: -@signature: {'xlsx(config?: object): void;'} +@signature: {'xlsx(config?: IXlsxExportConfig) => Promise;'} @params: - `config` - (optional) an object with export settings. You can specify the following settings for export to Excel: @@ -21,9 +21,15 @@ DHTMLX Grid uses the WebAssembly-based library [Json2Excel](https://github.com/d - `tableName?: string` - (optional) "data" by default. The name of a sheet with grid data in the Excel file - `dateFormatMask?: string` - (optional) "dd/mm/yy" by default. The mask used for [dates formatting in Excel](https://support.microsoft.com/en-us/office/format-a-date-the-way-you-want-in-excel-8e10019e-d5d8-47a1-ba95-db95123d273e) +@returns: +A promise of data export + @example: // default export -grid.export.xlsx(); +grid.export.xlsx() + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); // export with config settings grid.export.xlsx({ @@ -31,10 +37,17 @@ grid.export.xlsx({ name: "my_file", // the name of a ready Excel file tableName: "grid", // the name of a sheet with grid data in the Excel file dateFormatMask: "mm.dd.yy" // the date format mask for Excel -}); +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); @descr: **Related samples**: [Grid. Export to xlsx and csv](https://snippet.dhtmlx.com/58oqij47) -**Related article:** [Exporting Grid](grid/usage.md/#exporting-data-to-excel) \ No newline at end of file +**Related article:** [Exporting Grid](grid/usage.md/#exporting-data-to-excel) + +**Change log:** + +- The method returns a promise of data export since v9.3 \ No newline at end of file diff --git a/docs/grid/usage.md b/docs/grid/usage.md index 49764fd9..a216a763 100644 --- a/docs/grid/usage.md +++ b/docs/grid/usage.md @@ -481,7 +481,7 @@ Since v9.2 DHTMLX Grid uses the WebAssembly-based library [Json2Excel](https://g Thus, to have the possibility of exporting files you need to: -- call the [`xlsx()`](grid/api/export/grid_xlsx_method.md) method of the `Export` module. The method takes an [object with export settings](grid/api/export/grid_xlsx_method.md) as a parameter (all settings are optional) +- call the [`xlsx()`](grid/api/export/grid_xlsx_method.md) method of the `Export` module. The method takes an [object with export settings](grid/api/export/grid_xlsx_method.md) as a parameter (all settings are optional) and returns a promise of data export. - if you use the public export server, you don't need to specify the link to it, since it is used by default - if you use your own export server, you need to: - install the [Json2Excel](https://github.com/dhtmlx/json2excel) library @@ -492,7 +492,10 @@ grid.export.xlsx({ name: "my_file", // the name of a ready Excel file, "grid" by default tableName: "grid", // the name of a sheet with grid data in the Excel file, "data" by default dateFormatMask: "mm.dd.yy" // the date format mask for Excel, "dd/mm/yy" by default -}); +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); ~~~ You can check the latest version of the Json2Excel library at the [github repository](https://github.com/dhtmlx/json2excel). @@ -515,14 +518,17 @@ or provide a local path to the export module on your computer as a value of the #### Exporting data to CSV -You can export data from Grid to the CSV format with the [`csv()`](grid/api/export/grid_csv_method.md) method of the Export module. The method takes an [object with export settings](grid/api/export/grid_csv_method.md) as a parameter (all settings are optional). +You can export data from Grid to the CSV format with the [`csv()`](grid/api/export/grid_csv_method.md) method of the Export module. The method takes an [object with export settings](grid/api/export/grid_csv_method.md) as a parameter (all settings are optional) and returns a promise of data export. ~~~jsx grid.export.csv({ name: "my_file", // the name of a ready CSV file, "grid" by default rowDelimiter: "\t", // the delimiter used to separate rows, "\n" (newline) by default columnDelimiter: ";" // the delimiter used to separate columns, "," (comma) by default -}); +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); ~~~ **Related sample**: [Grid. Export to xlsx and csv](https://snippet.dhtmlx.com/58oqij47) @@ -531,7 +537,7 @@ The `csv()` method returns a CSV string with Grid data. #### Exporting data to PDF -The [`pdf()`](grid/api/export/grid_pdf_method.md) method of the Export module allows you to export data from Grid into a PDF file. The method takes an [object with export settings](grid/api/export/grid_pdf_method.md) as a parameter (all settings are optional). +The [`pdf()`](grid/api/export/grid_pdf_method.md) method of the Export module allows you to export data from Grid into a PDF file. The method takes an [object with export settings](grid/api/export/grid_pdf_method.md) as a parameter (all settings are optional) and returns a promise of data export. ~~~jsx grid.export.pdf({ @@ -539,19 +545,25 @@ grid.export.pdf({ scale: 0.75, // the scale of the grid rendering (between 0.1 and 2) displayHeaderFooter: true, // defines whether to display the header and footer, false by default theme: "dark" // the exported theme, "light" by default -}); +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); ~~~ **Related sample**: [Grid. Export to PDF/PNG](https://snippet.dhtmlx.com/ti9l91mn) #### Exporting data to PNG -The [`png()`](grid/api/export/grid_png_method.md) method of the Export module allows you to export data from Grid into a PNG file. The method takes an [object with export settings](grid/api/export/grid_png_method.md) as a parameter (all settings are optional). +The [`png()`](grid/api/export/grid_png_method.md) method of the Export module allows you to export data from Grid into a PNG file. The method takes an [object with export settings](grid/api/export/grid_png_method.md) as a parameter (all settings are optional) and returns a promise of data export. ~~~jsx grid.export.png({ theme: "dark" // the exported theme, "light" by default -}); +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); ~~~ **Related sample**: [Grid. Export to PDF/PNG](https://snippet.dhtmlx.com/ti9l91mn) From c55d56dfb441b0ba1abbddd2286fb3d6f64f086c Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Wed, 21 Jan 2026 12:48:49 +0300 Subject: [PATCH 03/18] [add] drafts for dropbehavior option of grid (type tree) and related docs' updates --- docs/grid/api/api_overview.md | 1 + docs/grid/api/grid_dropbehaviour_config.md | 46 ++++++++++++++ docs/grid/configuration.md | 2 + docs/grid/features.md | 1 + docs/grid/treegrid_mode.md | 73 ++++++++++++++++------ docs/tree/api/tree_dropbehaviour_config.md | 12 ++-- docs/tree/drag_and_drop_handling.md | 22 ++++--- sidebars.js | 1 + 8 files changed, 123 insertions(+), 35 deletions(-) create mode 100644 docs/grid/api/grid_dropbehaviour_config.md diff --git a/docs/grid/api/api_overview.md b/docs/grid/api/api_overview.md index 656e8c69..51bde2e1 100644 --- a/docs/grid/api/api_overview.md +++ b/docs/grid/api/api_overview.md @@ -198,6 +198,7 @@ description: You can explore the API of Grid in the documentation of the DHTMLX | [](grid/api/grid_dragitem_config.md) | @getshort(grid/api/grid_dragitem_config.md) | | [](grid/api/grid_dragmode_config.md) | @getshort(grid/api/grid_dragmode_config.md) | | [](grid/api/grid_dragpanel_config.md) | @getshort(grid/api/grid_dragpanel_config.md) | +| [](grid/api/grid_dropbehaviour_config.md) | @getshort(grid/api/grid_dropbehaviour_config.md) | | [](grid/api/grid_editable_config.md) | @getshort(grid/api/grid_editable_config.md) | | [](grid/api/grid_eventhandlers_config.md) | @getshort(grid/api/grid_eventhandlers_config.md) | | [](grid/api/grid_exportstyles_config.md) | @getshort(grid/api/grid_exportstyles_config.md) | diff --git a/docs/grid/api/grid_dropbehaviour_config.md b/docs/grid/api/grid_dropbehaviour_config.md new file mode 100644 index 00000000..7b2b5885 --- /dev/null +++ b/docs/grid/api/grid_dropbehaviour_config.md @@ -0,0 +1,46 @@ +--- +sidebar_label: dropBehaviour +title: JavaScript Grid - dropBehaviour Config +description: You can explore the dropBehaviour config of Grid in the documentation of the DHTMLX JavaScript UI library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Suite. +--- + +# dropBehaviour + +:::tip pro version only +This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) package. +::: + +@short: Optional. Defines the behaviour of a dragged item in a Grid in the TreeGrid mode + +:::note +The `dropBehaviour` property is available only in the TreeGrid mode with the enabled drag-n-drop functionality. + +To enable drag-n-drop within Grid in the TreeGrid mode (reorder the items), use the [`dragItem`](/grid/api/grid_dragitem_config/) property, to enable drag-n-drop between Grids in the TreeGrid mode, use the [`dragMode`](/grid/api/grid_dragmode_config/) property. +::: + +@signature: {'dropBehaviour?: "child" | "sibling" | "complex";'} + +@example: +const grid = new dhx.Grid("treegrid_container", { + type: "tree", + columns: [ + { id: "name", header: [{ text: "Book Name" }], gravity: 1.5 }, + { id: "price", type: "string", header: [{ text: "Terms and conditions", colspan: 2 }, { text: "Price" }] }, + { id: "cover", type: "string", header: [{}, { text: "Cover" }] }, + { id: "ships", type: "string", header: [{ text: "Ships in" }] }, + { id: "inStock", type: "string", header: [{ text: "In stock" }] } + ], + dragItem: "both", // to activate the functionality for columns or rows separately, set the value to "column" or "row" + dropBehaviour: "sibling" // enables one of the drop modes: "child" | "sibling" | "complex" +}); + +@descr: +There are three modes of behaviour of a dragged item, depending on the value set for the `dropBehaviour` option in the configuration object of a grid in the TreeGrid mode: + +- "child" - a dragged item becomes a child of the item it is dragged to +- "sibling" - a dragged item becomes a sibling of the item it is dragged to +- "complex" - a dragged item can become both a child or a sibling of a target item, depending on the position specified by highlighting + +**Related sample**: [Grid (TreeGrid). Drop behaviour](https://snippet.dhtmlx.com/l5waxyqe) + +**Related article**: [Drop behaviour](/grid/treegrid_mode/#drop-behaviour) \ No newline at end of file diff --git a/docs/grid/configuration.md b/docs/grid/configuration.md index b5372821..d696b3b5 100644 --- a/docs/grid/configuration.md +++ b/docs/grid/configuration.md @@ -2486,6 +2486,8 @@ If you use the GPL version of DHTMLX Grid (or DHTMLX Suite), you will be able to **Note**, to be able to drag-n-drop a column and (or) multiple rows, you need to use PRO version of the DHTMLX Grid (or DHTMLX Suite) package. ::: +There are some peculiarities of the drag-n-drop functionality in the Grid in the TreeGrid mode. [Check the related section for details](/grid/treegrid_mode/#drag-n-drop). + ### Drag-n-drop inside the grid It is possible to reorder a row or column of Grid by drag and drop. To enable the functionality, define the [`dragItem: "both"`](grid/api/grid_dragitem_config.md) property in the configuration object of Grid: diff --git a/docs/grid/features.md b/docs/grid/features.md index e05ae2d0..1a86a2fc 100644 --- a/docs/grid/features.md +++ b/docs/grid/features.md @@ -55,6 +55,7 @@ In this section you will find the ways of working with the TreeGrid mode of Grid | [Enabling TreeGrid mode](../treegrid_mode/#initialization) | Learn how to enable the TreeGrid mode of Grid | | [Configuring TreeGrid mode](../treegrid_mode/#configuration)| Learn how to configure the TreeGrid mode of Grid | | [Data loading in TreeGrid mode](../treegrid_mode/#data-loading)| Learn how to load data in the TreeGrid mode of Grid | +| [Drag-n-drop in TreeGrid mode](../treegrid_mode/#drag-n-drop)| Learn how to enable and configure the drag-n-drop functionality in the TreeGrid mode of Grid | | [Working with TreeGrid mode](../treegrid_mode/#work-with-grid-in-the-treegrid-mode) | Learn how to expand/collapse nodes | ### How to configure columns diff --git a/docs/grid/treegrid_mode.md b/docs/grid/treegrid_mode.md index 1603cd72..459f0e32 100644 --- a/docs/grid/treegrid_mode.md +++ b/docs/grid/treegrid_mode.md @@ -36,11 +36,11 @@ const Grid = new dhx.Grid("grid_container", { Grid in the TreeGrid mode uses all the same configuration options available in the [API of the default Grid](grid/configuration.md). -There is also a set of properties you can provide for Grid in the TreeGrid mode to optimize its configuration for your needs. +There is also a set of properties you can provide for Grid in the TreeGrid mode to optimize its configuration for your needs. They are described below. ### Collapsed mode -To initialize Grid in the TreeGrid mode in the collapsed state, use the [collapsed](grid/api/grid_collapsed_config.md) property: +To initialize Grid in the TreeGrid mode in the collapsed state, use the [`collapsed`](grid/api/grid_collapsed_config.md) property: ~~~jsx {7} const grid = new dhx.Grid("grid_container", { @@ -55,24 +55,6 @@ const grid = new dhx.Grid("grid_container", { **Related sample**: [Grid (TreeGrid). Collapsed mode](https://snippet.dhtmlx.com/t4iswa2y) -### Expanding collapsed rows on drag-n-drop - -If you have collapsed rows in your Grid in the TreeGrid mode, they will expand automatically when you move the mouse pointer over them during drag-n-drop. To disable this functionality, set the [dragExpand](grid/api/grid_dragexpand_config.md) property to *false*: - -~~~jsx {7} -const grid = new dhx.Grid("grid_container", { - type: "tree", - columns: [ - // columns config - ], - dragItem: "row", - dragExpand: false, - data: dataset -}); -~~~ - -**Related sample:** [Grid (TreeGrid). Multiselection and drag-n-drop](https://snippet.dhtmlx.com/hwddi1ki) - ### Defining the id of the root parent To define the id of the root parent, use the [rootParent](grid/api/grid_rootparent_config.md) configuration property: @@ -217,6 +199,57 @@ grid.data.load("/some/data").then(function(){ }); ~~~ +## Drag-n-drop + +The drag-n-drop functionality provides the possibility to reorder items inside the grid or between several grids in the TreeGrid mode. + +To enable drag-n-drop within Grid in the TreeGrid mode (reorder the items), use the [`dragItem`](/grid/api/grid_dragitem_config/) property, to enable drag-n-drop between Grids in the TreeGrid mode, use the [`dragMode`](/grid/api/grid_dragmode_config/) property. + +### Drop behaviour + +You can specify the drag-n-drop behaviour of items in the Grid in the TreeGrid mode with the [`dropBehaviour`](/grid/api/grid_dropbehaviour_config/) option in the configuration object of the component. + +There are three modes of behaviour of a dragged item: + +- "child" - a dragged item becomes a child of the item it is dragged to +- "sibling" - a dragged item becomes a sibling of the item it is dragged to +- "complex" - a dragged item can become both a child or a sibling of a target item, depending on the position specified by highlighting + +~~~jsx +const grid = new dhx.Grid("treegrid_container", { + type: "tree", + columns: [ + { id: "name", header: [{ text: "Book Name" }], gravity: 1.5 }, + { id: "price", type: "string", header: [{ text: "Terms and conditions", colspan: 2 }, { text: "Price" }] }, + { id: "cover", type: "string", header: [{}, { text: "Cover" }] }, + { id: "ships", type: "string", header: [{ text: "Ships in" }] }, + { id: "inStock", type: "string", header: [{ text: "In stock" }] } + ], + dragItem: "both", // to activate the functionality for columns or rows separately, set the value to "column" or "row" + dropBehaviour: "sibling" // enables one of the drop modes "child" | "sibling" | "complex" +}); +~~~ + +**Related sample**: [Grid (TreeGrid). Drop behaviour](https://snippet.dhtmlx.com/l5waxyqe) + +### Expanding collapsed rows on drag-n-drop + +If you have collapsed rows in your Grid in the TreeGrid mode, they will expand automatically when you move the mouse pointer over them during drag-n-drop. To disable this functionality, set the [`dragExpand`](grid/api/grid_dragexpand_config.md) property to *false*: + +~~~jsx {7} +const grid = new dhx.Grid("grid_container", { + type: "tree", + columns: [ + // columns config + ], + dragItem: "row", + dragExpand: false, + data: dataset +}); +~~~ + +**Related sample:** [Grid (TreeGrid). Multiselection and drag-n-drop](https://snippet.dhtmlx.com/hwddi1ki) + ## Work with Grid in the TreeGrid mode While working with Grid in the TreeGrid mode, you can use the [API methods of DHTMLX Grid](/category/grid-methods/) which allow setting configuration of columns, getting an object of a particular column as well as the parameters of a certain cell. There are some methods specific for the TreeGrid mode of Grid. These are the methods for expanding/collapsing nodes. diff --git a/docs/tree/api/tree_dropbehaviour_config.md b/docs/tree/api/tree_dropbehaviour_config.md index ddcf28d4..ee1c75a1 100644 --- a/docs/tree/api/tree_dropbehaviour_config.md +++ b/docs/tree/api/tree_dropbehaviour_config.md @@ -11,16 +11,18 @@ description: You can explore the dropBehaviour config of Tree in the documentati @signature: {'dropBehaviour?: "child" | "sibling" | "complex";'} @example: -const source = new dhx.Tree("tree-source",{dragMode:"source", dropBehaviour:"complex"}); -const target = new dhx.Tree("tree-target",{dragMode:"target", dropBehaviour:"complex"}); +const source = new dhx.Tree("tree-source", { dragMode: "source", dropBehaviour: "complex" }); +const target = new dhx.Tree("tree-target", { dragMode: "target", dropBehaviour: "complex" }); @descr: **Related sample**: [Tree. Drop behaviour](https://snippet.dhtmlx.com/80mh3hly) -{{note Don't forget to enable drag-n-drop via the [](tree/api/tree_dragmode_config.md) property to use dropBehaviour.}} +:::note +Don't forget to enable drag-n-drop via the [`dragMode`](tree/api/tree_dragmode_config.md) property to use `dropBehaviour`. +::: -There are three modes of behaviour of a dragged tree item, depending on the value set for the **dropBehaviour** option in the configuration object of a tree: +There are three modes of behaviour of a dragged tree item, depending on the value set for the `dropBehaviour` option in the configuration object of a tree: - "child" - a dragged item becomes a child of the item it is dragged to @@ -32,4 +34,4 @@ There are three modes of behaviour of a dragged tree item, depending on the valu - "complex" - a dragged item can become both a child or a sibling of a target item, depending on the position specified by highlighting (check the above images) -[comment]: # (@related: tree/initialization_of_dhtmlxtree.md#initialize-tree tree/drag_and_drop_handling.md#drop-behaviour) +**Related article**: [Drop behaviour](/tree/drag_and_drop_handling/#drop-behaviour) diff --git a/docs/tree/drag_and_drop_handling.md b/docs/tree/drag_and_drop_handling.md index 81508d4b..e1be516f 100644 --- a/docs/tree/drag_and_drop_handling.md +++ b/docs/tree/drag_and_drop_handling.md @@ -9,8 +9,8 @@ description: You can explore the drag-n-drop of Tree in the documentation of the DHTMLX Tree possesses an advanced drag-n-drop functionality. With this feature, it is possible to reorder items in a tree and drag items between trees. To enable drag-n-drop, you should define the drag mode. ~~~js -const source = new dhx.Tree("tree-source",{dragMode:"source", dropBehaviour:"complex"}); -const target = new dhx.Tree("tree-target",{dragMode:"target", dropBehaviour:"complex"}); +const source = new dhx.Tree("tree-source", { dragMode: "source", dropBehaviour: "complex" }); +const target = new dhx.Tree("tree-target", { dragMode: "target", dropBehaviour: "complex" }); ~~~ ## Drag mode @@ -23,19 +23,21 @@ There are three modes of drag-n-drop available in a tree: By setting the drag mode, you automatically enable the drag-n-drop functionality. -~~~js +~~~jsx const tree = new dhx.Tree("tree_container", { - dragMode:"source" + dragMode: "source" }); ~~~ **Related sample**: [Tree. Drag modes](https://snippet.dhtmlx.com/7idtw7i4) -{{note Please note that drag-n-drop within a tree works, if it has **dragMode:"both"** setting in its configuration object.}} +:::note +Please note that drag-n-drop within a tree works, if it has `dragMode:"both"` setting in its configuration object. +::: ## Drop behaviour -You can specify the drag-n-drop behaviour of tree items with the [](tree/api/tree_dropbehaviour_config.md) in the configuration object of a tree. +You can specify the drag-n-drop behaviour of tree items with the [`dropBehaviour`](tree/api/tree_dropbehaviour_config.md) property in the configuration object of a tree. There are three modes of behaviour of a dragged tree item: @@ -51,11 +53,11 @@ There are three modes of behaviour of a dragged tree item: ## Copying dragged item -Instead of moving a dragged item to a new position in the same or a different tree, you can copy it. Use the [](tree/api/tree_dragcopy_config.md) option in the configuration object of a tree. +Instead of moving a dragged item to a new position in the same or a different tree, you can copy it. Use the [`dragCopy`](tree/api/tree_dragcopy_config.md) option in the configuration object of a tree. -~~~js -const treeSource = new dhx.Tree("tree-source", {dragMode: "source", dragCopy: true}); -const treeTarget = new dhx.Tree("tree-target", {dragMode: "target", dragCopy: true}); +~~~jsx +const treeSource = new dhx.Tree("tree-source", { dragMode: "source", dragCopy: true }); +const treeTarget = new dhx.Tree("tree-target", { dragMode: "target", dragCopy: true }); ~~~ **Related sample**: [Tree. Copy dragged item](https://snippet.dhtmlx.com/xm0lxbpj) diff --git a/sidebars.js b/sidebars.js index e29a1902..8e124d4e 100644 --- a/sidebars.js +++ b/sidebars.js @@ -2628,6 +2628,7 @@ module.exports = { "grid/api/grid_dragitem_config", "grid/api/grid_dragmode_config", "grid/api/grid_dragpanel_config", + "grid/api/grid_dropbehaviour_config", "grid/api/grid_editable_config", "grid/api/grid_eventhandlers_config", "grid/api/grid_exportstyles_config", From 14e52002fe75ff50e53ada9904c2ffa6e2954a14 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Fri, 23 Jan 2026 15:49:58 +0300 Subject: [PATCH 04/18] [update] docs for grid column header filters, add description of the new `dateFilter` type --- docs/grid/api/grid_beforefilter_event.md | 28 +++- docs/grid/api/grid_beforesort_event.md | 2 +- docs/grid/api/grid_filterchange_event.md | 26 +++- .../gridcolumn_header_property.md | 35 ++++- docs/grid/api/headerfilter/setvalue_method.md | 16 +- docs/grid/configuration.md | 139 +++++++++++++----- docs/whatsnew.md | 8 +- 7 files changed, 187 insertions(+), 67 deletions(-) diff --git a/docs/grid/api/grid_beforefilter_event.md b/docs/grid/api/grid_beforefilter_event.md index 4e7eee16..23b011dd 100644 --- a/docs/grid/api/grid_beforefilter_event.md +++ b/docs/grid/api/grid_beforefilter_event.md @@ -1,22 +1,34 @@ --- sidebar_label: beforeFilter -title: JavaScript Grid - beforeFilter Event eSort +title: JavaScript Grid - beforeFilter Event description: You can explore the beforeFilter event of Grid in the documentation of the DHTMLX JavaScript UI library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Suite. --- # beforeFilter -@short: fires before the filterChange event is called +@short: fires before filtering is applied -@signature: {'beforeFilter:({ value: string, colId?: string | number }) => void | boolean;'} +:::note +The event can be canceled by returning `false`. +::: + +### Usage + +~~~jsx +beforeFilter: ( + value: string | string[] | Date | Date[], + colId?: string | number +) => void | boolean; +~~~ @params: The callback of the event is called with the following parameters: -- `value: string` - required, the entered value by which data must be filtered -- `colId: string | number` - optional, the ID of a column + +- `value: string | string[] | Date | Date[]` - the value by which the data will be filtered +- `colId: string | number` - the ID of the column the filter is applied to @returns: -Return `false` to block the filtering process; otherwise, `true`. +Return `false` to prevent data filtering; otherwise, `true`. @example: grid.events.on("beforeFilter", (value, colId) => { @@ -28,4 +40,6 @@ grid.events.on("beforeFilter", (value, colId) => { **Related sample**: [Grid. Events](https://snippet.dhtmlx.com/9zeyp4ds) -@changelog: added in v8.0 +@changelog: +- The `value` parameter of the callback function can be a *Date* object or an array of *Date[]* objects since v9.3 +- Added in v8.0 diff --git a/docs/grid/api/grid_beforesort_event.md b/docs/grid/api/grid_beforesort_event.md index 050eaa8a..b3e1f10b 100644 --- a/docs/grid/api/grid_beforesort_event.md +++ b/docs/grid/api/grid_beforesort_event.md @@ -1,6 +1,6 @@ --- sidebar_label: beforeSort -title: JavaScript Grid - beforeSort Event eSort +title: JavaScript Grid - beforeSort Event description: You can explore the beforeSort event of Grid in the documentation of the DHTMLX JavaScript UI library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Suite. --- diff --git a/docs/grid/api/grid_filterchange_event.md b/docs/grid/api/grid_filterchange_event.md index 3b125af5..8bc566a5 100644 --- a/docs/grid/api/grid_filterchange_event.md +++ b/docs/grid/api/grid_filterchange_event.md @@ -6,26 +6,36 @@ description: You can explore the filterChange event of Grid in the documentation # filterChange -@short: fires on typing text in an input of a column's header +@short: fires when the filter value is changed -@signature: {'filterChange: (value: string, colId: string | number, filterId: string) => void;'} +### Usage + +~~~jsx +filterChange: ( + value: string | string[] | Date | Date[], + colId: string | number, + content: "inputFilter" | "selectFilter" | "comboFilter" | "dateFilter" +) => void; +~~~ @params: The callback of the event is called with the following parameters: -- `value: string` - an entered value -- `colId: string | number` - the id of a column -- `filterId: string` - the type of a filter: "inputFilter" | "selectFilter" | "comboFilter" +- `value: string | string[] | Date | Date[]` - the current value of the filter +- `colId: string | number` - the ID of the column where the filter changed +- `content: string` - the type of the applied filter ("inputFilter", "selectFilter", "comboFilter", or "dateFilter") @example: -grid.events.on("filterChange", (value, colId, filterId) => { +grid.events.on("filterChange", (value, colId, content) => { console.log("You've entered "+value+" into the "+colId+" column"); }); @descr: :::info -The **filterChange** event invokes the [beforeFilter](grid/api/grid_beforefilter_event.md) event +The `filterChange` event invokes the [`beforeFilter`](grid/api/grid_beforefilter_event.md) event. ::: -@changelog: added in v6.3 +@changelog: +- The `value` parameter of the callback function can be a *Date* object or an array of *Date[]* objects since v9.3 +- Added in v6.3 diff --git a/docs/grid/api/gridcolumn_properties/gridcolumn_header_property.md b/docs/grid/api/gridcolumn_properties/gridcolumn_header_property.md index 07ff6a70..a97e9ef8 100644 --- a/docs/grid/api/gridcolumn_properties/gridcolumn_header_property.md +++ b/docs/grid/api/gridcolumn_properties/gridcolumn_header_property.md @@ -31,16 +31,35 @@ header: [ colspan?: number, rowspan?: number, css?: string, - content?: "inputFilter" | "selectFilter" | "comboFilter", + content?: "inputFilter" | "selectFilter" | "comboFilter" | "dateFilter", filterConfig?: { + placeholder?: string, // sets an input placeholder for `inputFilter`, `comboFilter` and `dateFilter` + icon?: string, // sets CSS class for the filter icon in `inputFilter` and the calendar icon in `dateFilter` + /* properties of `comboFilter` configuration */ filter?: (item, input: string) => boolean, multiselection?: boolean, readonly?: boolean, - placeholder?: string, // sets an input placeholder for `comboFilter` and `inputFilter` virtual?: boolean, // true by default - template?: function + template?: function, + /* properties of `dateFilter` configuration */ + asDateObject?: boolean, + date?: Date | string, + mark?: (date: Date) => string, + disabledDates?: (date: Date) => boolean, + weekStart?: "saturday" | "sunday" | "monday", + weekNumbers?: boolean, + mode?: "calendar" | "year" | "month" | "timepicker", + timePicker?: boolean, + dateFormat?: string, + timeFormat?: 24 | 12, + thisMonthOnly?: boolean, + width?: string | number, + range?: boolean }, - customFilter?: (item, input: string) => boolean, + customFilter?: ( + value: string | number | Date | Date[], + match: string | string[] | Date | Date[] + ) => boolean, headerSort?: boolean, // true by default sortAs?: (cellValue) => string | number, htmlEnable?: boolean, // false by default @@ -76,13 +95,15 @@ Each header object may include: css(optional) styling to be applied to a header - content(optional) additional content of a header, which can be one of the filters: "inputFilter" | "selectFilter" | "comboFilter" + content(optional) defines the content of the column header, including the filter type. Allows setting one of the predefined filters: +
  • "inputFilter" — a text input field
  • "selectFilter" — a dropdown list
  • "comboFilter" — a combobox with search
  • "dateFilter" (PRO version) — a filter with a calendar for selecting a date or a date range
- filterConfig(optional) a configuration object for "comboFilter" and "inputFilter"

a configuration object for "comboFilter" can contain a set of properties:
  • filter - (optional) sets a custom function for filtering Combo Box options
  • multiselection - (optional) enables selection of multiple options
  • readonly - (optional) makes ComboBox readonly (it is only possible to select options from the list, without entering words in the input). The default value of the readonly property depends on the following conditions:
    • the `readonly:true` is set as a default value, if `htmlEnable:true` is set for a column and there is no template specified for a column
    • in all other cases, `readonly:false` is set by default
  • placeholder - (optional) sets a placeholder in the input of ComboBox
  • virtual - (optional) enables dynamic loading of data on scrolling the list of options, true by default
  • template - (optional) a function which returns a template with content for the filter options. Takes an option item as a parameter:
    • item - (object) an option item

a configuration object for "inputFilter" can contain the following property:
  • placeholder - (optional) sets a placeholder in the input
+ filterConfig + (optional) a configuration object for setting the behavior and appearance of the filter. The set of properties depends on the filter type specified in the `content` property:

- a configuration object for "inputFilter" can contain the following properties:
  • placeholder - (optional) the placeholder text in the input field
  • icon - (optional) the CSS class for the filter icon

- a configuration object for "comboFilter" can contain a set of properties:
  • filter - (optional) sets a custom function for filtering Combo Box options
  • multiselection - (optional) enables selection of multiple options
  • readonly - (optional) makes ComboBox readonly (it is only possible to select options from the list, without entering words in the input). The default value of the readonly property depends on the following conditions:
    • the `readonly:true` is set as a default value, if `htmlEnable:true` is set for a column and there is no template specified for a column
    • in all other cases, `readonly:false` is set by default
  • placeholder - (optional) sets a placeholder in the input of ComboBox
  • virtual - (optional) enables dynamic loading of data on scrolling the list of options, true by default
  • template - (optional) a function which returns a template with content for the filter options. Takes an option item as a parameter:
    • item - (object) an option item
- a configuration object for "dateFilter" (PRO version) can contain a set of properties:
Main properties:
  • icon - (optional) the CSS class for the calendar icon
  • placeholder - (optional) the placeholder text in the input field when no date is selected
  • asDateObject (optional) - determines how the filter processes data for `customFilter` and the `beforeFilter` and `filterChange` events. If `true`, the comparison is performed using Date objects
  • range - (optional) enables the date range selection mode (from and to)
  • dateFormat - (optional) the date display format (e.g., `"%d/%m/%Y"`). By default, applies the `dateFormat` used for the column
Calendar API configuration properties:
  • date - (optional) - the initial date opened in the calendar
  • mark - (optional) - a function for adding custom CSS classes to specific dates
  • disabledDates - (optional) - a function for disabling the selection of specific dates
  • weekStart - (optional) - the start day of the week (`"saturday"`, `"sunday"`, `"monday"`).
  • weekNumbers - (optional) - shows week numbers if `true`
  • mode - (optional) - the calendar display mode (`"calendar"`, `"year"`, `"month"`, `"timepicker"`)
  • timePicker - (optional) - adds the ability to select time
  • timeFormat - (optional) - the time format (`12` or `24` hours)
  • thisMonthOnly - (optional) - if `true`, allows selecting dates only within the current month
  • width - (optional) - the width of the dropdown calendar
- customFilter (optional) a custom function for extended filtering. It takes two parameters:
  • item - (required) a data item the value of which should be compared
  • input - (required) the value of the option selected in the filter
and returns true/false to specify whether the data item should be displayed in the grid after filtering + customFilter (optional) a callback function that allows defining custom filtering logic. It takes two parameters:
  • value - (required) the cell value in the row
  • match - (required) the value selected in the filter
and returns `true`, if the row matches the filtering criteria, otherwise `false` headerSort(optional) enables/disables sorting by clicking the header, true by default diff --git a/docs/grid/api/headerfilter/setvalue_method.md b/docs/grid/api/headerfilter/setvalue_method.md index 23491755..68786ad1 100644 --- a/docs/grid/api/headerfilter/setvalue_method.md +++ b/docs/grid/api/headerfilter/setvalue_method.md @@ -6,17 +6,17 @@ description: You can explore the setValue method of the header filter of Grid in # setValue() -@short: sets a value by which a column will be filtered +@short: Sets the filter value -@signature: {'setValue(value: string | string[]): void;'} +@signature: {'setValue(value: string | string[] | Date | Date[]): void;'} @params: -- `value: string | string[]` - a value by which the column will be filtered - -@descr: +- `value: string | string[] | Date | Date[]` - the value to be set for the filter :::info -An array of string values can be specified only for **comboFilter** in the [`multiselection:true`](grid/configuration.md#headerfooter-filters) mode. +- An array of string values can be specified only for [`comboFilter`](/grid/configuration/#customizing-headerfooter-filters) in the `multiselection:true` mode. + +- For [`dateFilter`](/grid/configuration/#customizing-headerfooter-filters), the value must be passed strictly as a *Date* object (for a single selection) or an array of *Date[]* objects (for the `range` mode). *String* values are not supported by the `setValue()` method for this filter type. ::: @example: @@ -25,4 +25,6 @@ grid.getHeaderFilter("country").setValue("Brazil"); @descr: @changelog: -added in v8.0 \ No newline at end of file + +- The `value` parameter can be set as a *Date* object or as an array of *Date[]* objects since v9.3 +- Added in v8.0 \ No newline at end of file diff --git a/docs/grid/configuration.md b/docs/grid/configuration.md index d696b3b5..59d7f284 100644 --- a/docs/grid/configuration.md +++ b/docs/grid/configuration.md @@ -1373,9 +1373,11 @@ const grid = new dhx.Grid("grid_container", { ### Header/footer filters -There are three types of filters that you can specify in the header/footer content of a [Grid column](grid/api/grid_columns_config.md): +There are the following types of filters that you can specify in the header/footer content of a [Grid column](grid/api/grid_columns_config.md): **inputFilter**, **selectFilter**, **comboFilter**, **dateFilter** (**PRO version**). -- **inputFilter** - provides a way of filtering data of a Grid column by using a text field +- **inputFilter** + +Provides a way of filtering data of a Grid column by using a text input field. ~~~jsx { @@ -1384,9 +1386,12 @@ There are three types of filters that you can specify in the header/footer conte } ~~~ -**Related sample**: [Grid. Header filters (comboFilter, inputFilter, selectFilter)](https://snippet.dhtmlx.com/4qz8ng3c) +If you specify **inputFilter** as the header or footer content of a column, you can set a configuration object for it via the `filterConfig` property. + +#### The list of configuration properties for `inputFilter` -If you specify **inputFilter** as the header or footer content of a column, you can set a configuration object for it via the `filterConfig` property. The configuration object may contain the **placeholder** property that sets a placeholder in the input: +- `placeholder` - (*string*) - optional, the placeholder text in the input field +- `icon` - (*string*) - optional, the CSS class for the filter icon ~~~jsx { @@ -1396,53 +1401,41 @@ If you specify **inputFilter** as the header or footer content of a column, you { content: "inputFilter", filterConfig: { placeholder: "Type something" } } ] } -~~~ +~~~ -- **selectFilter** - allows end users to filter data of a column by choosing an option from a presented dropdown list +**Related sample**: [Grid. Header filters (comboFilter, inputFilter, selectFilter, dateFilter)](https://snippet.dhtmlx.com/4qz8ng3c) + +- **selectFilter** + +Allows end users to filter data of a column by choosing an option from a presented dropdown list. ~~~jsx { - width: 160, id: "status", + id: "status", header: [{ text: "Status" }, { content: "selectFilter" }], editorType: "select", options: ["Done", "In Progress", "Not Started"] } ~~~ -**Related sample**: [Grid. Header filters (comboFilter, inputFilter, selectFilter)](https://snippet.dhtmlx.com/4qz8ng3c) +**Related sample**: [Grid. Header filters (comboFilter, inputFilter, selectFilter, dateFilter)](https://snippet.dhtmlx.com/4qz8ng3c) + +- **comboFilter** -- **comboFilter** - provides a way to filter data of a column by choosing an option from a presented dropdown list. To find an option quickly you can enter text into the edit control +Provides a way to filter data of a column by choosing an option from a presented combobox. To find an option quickly, you can enter text into the edit control. ~~~jsx { - width: 160, id: "renewals", + id: "renewals", header: [{ text: "Number of renewals" }, { content: "comboFilter" }], type: "string", editorType: "combobox", options: ["1 time", "1-2 times", "more than 5 times"] } ~~~ -**Related sample**: [Grid. Header filters (comboFilter, inputFilter, selectFilter)](https://snippet.dhtmlx.com/4qz8ng3c) - -If you specify **comboFilter** as the header or footer content of a column, you can set an additional config with properties for it via the `filterConfig` property: - -~~~jsx {8} -const grid = new dhx.Grid("grid_container", { - columns: [ - { - width: 150, - id: "migrants", - header: [ - { text: "Migrants (net)" }, - { content: "comboFilter", filterConfig: {readonly: true }} - ] - } - ], - data: dataset -}); -~~~ +If you specify **comboFilter** as the header or footer content of a column, you can set an additional config with properties for it via the `filterConfig` property. -#### The list of configuration properties for comboFilter +#### The list of configuration properties for `comboFilter` - **filter** - (*function*) sets a custom function for filtering Combo Box options - **multiselection** - (*boolean*) enables selection of multiple options @@ -1453,14 +1446,92 @@ const grid = new dhx.Grid("grid_container", { - **virtual** - (*boolean*) enables dynamic loading of data on scrolling the list of options, *true* by default - **template** - (*function*) a function which returns a template with content for the filter options. Takes an option item as a parameter -#### Customizing header/footer filters +~~~jsx +{ + id: "category", + header: [ + { text: "Category" }, + { content: "comboFilter", filterConfig: { placeholder: "Select a category" } } + ] +} +~~~ + +**Related sample**: [Grid. Header filters (comboFilter, inputFilter, selectFilter, dateFilter)](https://snippet.dhtmlx.com/4qz8ng3c) + +- **dateFilter** + +:::tip pro version only +This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) package. +::: + +Provides a way of filtering data of a Grid column by using a calendar for selecting a date or a date range. + +If you specify **dateFilter** as the header or footer content of a column, you can set an additional config with properties for it via the `filterConfig` property. + +#### The list of configuration properties for `dateFilter` + +Main properties: + +- `icon` - (*string*) - the CSS class for the calendar icon. +- `placeholder` - (*string*) - the placeholder text in the input field when no date is selected. +- `asDateObject` - (*boolean*) - determines how the filter processes data for `customFilter` and the `beforeFilter` and `filterChange` events. If `true`, the comparison is performed using Date objects. +- `range` - (*boolean*) - enables the date range selection mode (from and to). +- `dateFormat` - (*string*) - the date display format (e.g., `"%d/%m/%Y"`). By default, applies the `dateFormat` used for the column. + +Calendar API configuration properties: + +- `date` - (*Date | string*) - the initial date opened in the calendar. +- `mark` - (*function*) - a function for adding custom CSS classes to specific dates. +- `disabledDates` - (*function*) - a function for disabling the selection of specific dates. +- `weekStart` - (*string*) - the start day of the week (`"saturday"`, `"sunday"`, `"monday"`). +- `weekNumbers` - (*boolean*) - shows week numbers if `true`. +- `mode` - (*string*) - the calendar display mode (`"calendar"`, `"year"`, `"month"`, `"timepicker"`). +- `timePicker` - (*boolean*) - adds the ability to select time. +- `timeFormat` - (*number*) - the time format (`12` or `24` hours). +- `thisMonthOnly` - (*boolean*) - if `true`, allows selecting dates only within the current month. +- `width` - (*string | number*) - the width of the dropdown calendar. + +**dateFilter** supports two modes of operation: + +- **single mode** (default) - the filter allows selecting a single specific date by default. Only records corresponding to the selected day will remain in the table. + +- **range mode** - this mode is activated by setting the `range: true` property in the `filterConfig` object. In this mode, the user can select the start date and the end date. The table will filter records falling within the selected time interval (inclusive). + +~~~jsx +{ + id: "receivedDate", + type: "date", + dateFormat: "%d.%m.%Y", + header: [ + { text: "Received Date" }, + { + content: "dateFilter", + filterConfig: { + placeholder: "Select a date", + range: true + } + } + ] +} +~~~ + +**Related sample**: [Grid. Header filters (comboFilter, inputFilter, selectFilter, dateFilter)](https://snippet.dhtmlx.com/4qz8ng3c) + +### Customizing header/footer filters To add a custom function with your you own logic for the filter of a Grid column, you need to set the `customFilter` attribute when configuring the header/footer content of the [column](grid/api/api_gridcolumn_properties.md). :::note -The `customFilter` attribute can be used when [*content: "inputFilter" | "selectFilter" | "comboFilter"*](#headerfooter-filters) is set. +The `customFilter` attribute can be used when [*content: "inputFilter" | "selectFilter" | "comboFilter" | "dateFilter"*](#headerfooter-filters) is set. ::: +The `customFilter` attribute is a callback function that compares the value of each cell of the row with the value which is selected in the header/footer filter of the column. It takes two parameters: + +- `value` - (*string* | *number* | *Date* | *Date[]*) the cell value in the row +- `match` - (*string* | *string[]* | *Date* | *Date[]*) the value selected in the filter + +and returns `true`, if the row matches the filtering criteria, otherwise `false`. + ~~~jsx {8} const grid = new dhx.Grid("grid_container", { columns: [ @@ -1473,14 +1544,12 @@ const grid = new dhx.Grid("grid_container", { } ]}, ], - data: dataset + // other configuration properties }); ~~~ **Related sample**: [Grid. Custom filters in the header](https://snippet.dhtmlx.com/gcidkxjg) -The `customFilter` attribute is a function which compares the value of each cell of the column with the value which is selected in the header/footer filter of the column. If the value of the cell matches the specified criteria, the function returns *true*, otherwise, it returns *false*. - ### Header/footer height You can change the height of the header/footer in one of the following ways: diff --git a/docs/whatsnew.md b/docs/whatsnew.md index f432f2f6..04c12135 100644 --- a/docs/whatsnew.md +++ b/docs/whatsnew.md @@ -14,15 +14,19 @@ Released on January , 2026 ### New functionality -- Grid. The ability to define the behaviour of a dragged item via the `dropBehaviour` config property in the TreeGrid mode (PRO version) +- Grid. The ability to [define the behaviour of a dragged item](/grid/treegrid_mode/#drop-behaviour) via the [`dropBehaviour`](/grid/api/grid_dropbehaviour_config/) config property in the TreeGrid mode (PRO version) - Grid. The ability to place the footer at the bottom of the container (PRO version) +- Grid. A new [`dateFilter`](/grid/configuration/#headerfooter-filters) type of filter is added for the column header (PRO version) - Tree. The ability to add tooltips for the items ### Updates - Chart. Export module. The [`pdf()`](/chart/api/export/chart_pdf_method/) and [`png()`](/chart/api/export/chart_png_method/) export functions return a promise of data export - Grid. Export module. The [`pdf()`](/grid/api/export/grid_pdf_method/), [`png()`](/grid/api/export/grid_png_method/), [`xlsx()`](/grid/api/export/grid_xlsx_method/) and [`csv()`](/grid/api/export/grid_csv_method/) export functions return a promise of data export -- Grid. The functionality of header filters is updated. New `dateFilter` is added for the column header +- Grid. The functionality of header filters is updated: + - the [`setValue()`](/grid/api/headerfilter/setvalue_method/) method (of the [`getHeaderFilter()`](/grid/api/grid_getheaderfilter_method/) API), can take a *Date* object or an array of *Date[]* objects as a parameter + - the `value` parameter of the callback functions of [`filterChange`](/grid/api/grid_filterchange_event/) and [`beforeFilter`](/grid/api/grid_beforefilter_event/) events can be a *Date* object or an array of *Date[]* objects + - the parameters of the [`customFilter`](/grid/configuration/#customizing-headerfooter-filters) callback function can be *Date* objects or arrays of *Date[]* objects ### Fixes From 5e02a7214d50f1b5b7239d8ad0d19d1aff3a7090 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Mon, 26 Jan 2026 12:35:36 +0300 Subject: [PATCH 05/18] [add] description of the Grid footerPosition configuration option --- docs/assets/grid/footer_bottom_position.png | Bin 0 -> 34796 bytes docs/assets/grid/footer_relative_position.png | Bin 0 -> 34781 bytes docs/grid/api/api_overview.md | 1 + docs/grid/api/grid_footerposition_config.md | 37 ++++++++++++++++++ docs/grid/configuration.md | 29 ++++++++++++++ docs/grid/features.md | 1 + docs/whatsnew.md | 10 ++++- sidebars.js | 1 + 8 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 docs/assets/grid/footer_bottom_position.png create mode 100644 docs/assets/grid/footer_relative_position.png create mode 100644 docs/grid/api/grid_footerposition_config.md diff --git a/docs/assets/grid/footer_bottom_position.png b/docs/assets/grid/footer_bottom_position.png new file mode 100644 index 0000000000000000000000000000000000000000..2e95b06914e5cdd6927c6c9c2a34104ae8bf4fab GIT binary patch literal 34796 zcmcG$1yq~O!Y+yxcZyr_QrwD@mO^nT&=z->0>NEMi#rsTQmhnrcL@%~-2w!+;1W*g zxA$K6{^#50od2GEXRUW-tyyp0%uHq`k4-|~Da+tsQeYw=AmGT!N~s|rAZ;TcAReQm z!fVb1Q*Yrf7!I;pP6!Bu&W{)3vN^3gyb{e>PDvVV7m)&;knk>6mmLA&8G@YD>-X;I z`%8Y#@6TI~9xT$#b8Y;&-UusZhwAr+qm)VEZP23tt7Eh=a$aHQP8$kTWBp(=;VBHy z<&4Y0m`0H|XLYb?pOE55MXNv#!J)#iz7x=n)Rq*+CS}IJ&5NirQw9oIwfdP#G9&V? z$#llF(%4iuA6@Q`LiqTyS}wi(E-X}9e=jaB28BEpsjv2k*t8POqiiC+ckXSI4CAy> zRKlGfZz{2$?hf+eQwckMDJpFYv)4cT>y5H3OxyI2MO6x;@$pHrPgOs2 zK2{J)Cwve8^K63u$Stwk%42B;bb=g_i^EFy@3e@@#8ThR=ah}n)|^vbT91#9YaX;N z;$&yFjXuwXvGX2Vwn=np*q1O{%-LV>Z*1Cyp8W(s0|R_vM}ecKI!UF^g}H{yV$z_5 zXk9Zn6umBTm#0<17TnAijsnGKhf}#F?%_Lw>0)uth(PjHW#BO&b5oFV1*~F_VSO}O zclRZWD|MuA`3y29(Gfk!nnpSUDItzU=R6kMd>DTN^-C4|1zo|n>Nkp8f34#nSZ#iqH^ z1*bs@RtaT*Sbt4U@p$^_D@@d|3R=b0iJ$HYZ7OK(y6-*ra9nI&cVvDrRWF`Qi zVx=YJ7V6iLv4Zs^x)qda003nIe0mCBGc*Vv5YVIw;xfE4q%C{c64w6(kX@y%z-~HJ zrqOnN*eNP#&(h!6Vaf2O2{GFk<|DhrYgE1wwwP0DKK+@I1mnq|^@Z@c-Wefz2t;!; zZQZS;oupzY%HdM4#}ybFVO;ANSd0cV)z7R*(2Ji$H62gg<8CE@Wuw8C_Y}S@zIc8& zyH6{+O2N~`S@9WSl`Rp|InC$$j+rH*1FT@O!^WPcA9a2%-G!WfyR4?wY>M`LI5*MP zy{BrsJ$qizYGpcfS#{krnm=}COVQ(Ukk?#8A6ZxYM97I=&k1!_k8 zRzo2!r=orq4~JF;RMN32;rY49JW&X&G zx)R8aZMecK&`B=ik0vYV0LKL2=%xQO01-qA7MOH@)+Fc@eNT7TFyc;U z5UA_lZc%o81}!^=B^7Y%dy#q!9$83kgO7HaglA3`$&g!wAF`_U$1>7ZIRM?wZfLa8 zqg~ffR>*m#gqIho0Z*(<;tH*ZtBTP8H^7R`?d0ZGZXb9TR)^pozFs{-^%HXU3*t*v zYUOk*{Aoyfks#_&c$;q6{wQFfvVSl&YG?4WaQ2F%06`l7ZZON+$5dR0$w2#RBTZL& zy)%8mY^zW0#nV)z#TEUE(`%$J@n`Nt!!%k)G!R%;*5{B|vOvp2_t6ra;u?Y{b8F@D zUhJY9$2$8r;a|!5SPWbJ1DEH>9smpu31u(?NMp3krJ-VKM}iGn7i6@;c9Szo--&cC z+T3YIKxVGSk$lu=88#o7mRQwz_#9YO*{>rO*bbq+Y(1S0Y_2aRgJj1pp1-4+vobk8 zVmG_a4^-^a9=!>+LtWhpp01Lxk?dYqZaHVaPLp7{@LN$?e)HH|@?pq{7WRAilz9Ns zW+6|MWN(O>Dh@Dgh^G!G5EMv$DqiKtS3lmXc{&oB<6*<2a ~uO(gV#~XQsxRR#P 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 QAt7E;@8p1`Z}t5C2Ms#E`2YX_ literal 0 HcmV?d00001 diff --git a/docs/assets/grid/footer_relative_position.png b/docs/assets/grid/footer_relative_position.png new file mode 100644 index 0000000000000000000000000000000000000000..769eee448146744cfd9733d947aecea21978a6dd GIT binary patch literal 34781 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 Date: Mon, 26 Jan 2026 18:03:19 +0300 Subject: [PATCH 06/18] [add] description of the setActive() method of window --- docs/whatsnew.md | 6 +- docs/window/api/api_overview.md | 1 + docs/window/api/window_setactive_method.md | 48 +++++++++ docs/window/features.md | 1 + docs/window/usage.md | 112 ++++++++++++++------- sidebars.js | 1 + 6 files changed, 131 insertions(+), 38 deletions(-) create mode 100644 docs/window/api/window_setactive_method.md diff --git a/docs/whatsnew.md b/docs/whatsnew.md index f5e2c4ac..70384999 100644 --- a/docs/whatsnew.md +++ b/docs/whatsnew.md @@ -15,9 +15,10 @@ Released on January , 2026 ### New functionality - Grid. The ability to [define the behaviour of a dragged item](/grid/treegrid_mode/#drop-behaviour) via the [`dropBehaviour`](/grid/api/grid_dropbehaviour_config/) config property in the TreeGrid mode (PRO version) -- Grid. The ability to define the position of the footer and bottom-pinned rows within the component container via the [`footerPosition`](/grid/api/grid_footerposition_config/) property (PRO version) +- Grid. The ability to [define the position of the footer and bottom-pinned rows within the component container](/grid/configuration/#footer-position) via the [`footerPosition`](/grid/api/grid_footerposition_config/) property (PRO version) - Grid. A new [`dateFilter`](/grid/configuration/#headerfooter-filters) type of filter is added for the column header (PRO version) - Tree. The ability to add tooltips for the items +- Window. The ability to [set the active window](/window/usage/#setting-the-active-window) via the [`setActive()`](/window/api/window_setactive_method/) method ### Updates @@ -40,6 +41,9 @@ Released on January , 2026 - [Grid. Fixed rows positioned at the bottom](https://snippet.dhtmlx.com/8n0pdqhp) - [Grid. Footer positioned at the bottom](https://snippet.dhtmlx.com/etg7raih) +#### Window + +- [Window. Setting the active window](https://snippet.dhtmlx.com/lvm3kfwq) ## Version 9.2.7 diff --git a/docs/window/api/api_overview.md b/docs/window/api/api_overview.md index 505ba3f0..c1d0118f 100644 --- a/docs/window/api/api_overview.md +++ b/docs/window/api/api_overview.md @@ -21,6 +21,7 @@ description: You can explore the API of Window in the documentation of the DHTML | [](window/api/window_isfullscreen_method.md) | @getshort(window/api/window_isfullscreen_method.md) | | [](window/api/window_isvisible_method.md) | @getshort(window/api/window_isvisible_method.md) | | [](window/api/window_paint_method.md) | @getshort(window/api/window_paint_method.md) | +| [](window/api/window_setactive_method.md) | @getshort(window/api/window_setactive_method.md) | | [](window/api/window_setfullscreen_method.md) | @getshort(window/api/window_setfullscreen_method.md) | | [](window/api/window_setposition_method.md) | @getshort(window/api/window_setposition_method.md) | | [](window/api/window_setsize_method.md) | @getshort(window/api/window_setsize_method.md) | diff --git a/docs/window/api/window_setactive_method.md b/docs/window/api/window_setactive_method.md new file mode 100644 index 00000000..e8d84af3 --- /dev/null +++ b/docs/window/api/window_setactive_method.md @@ -0,0 +1,48 @@ +--- +sidebar_label: setActive() +title: JavaScript Window - setActive Method +description: You can explore the setActive method of Window in the documentation of the DHTMLX JavaScript UI library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Suite. +--- + +# setActive() + +@short: brings a specific window to the foreground by setting it to the active state + +@signature: {'setActive(): void;'} + +@descr: +In the following example the second window overlaps the first one on initialization, but the call of `setActive()` allows bringing the first window back to the front. + +@example: +const windowConfig = { + width: 300, + height: 300, + html: "
Window content
" +}; + +const window1 = new dhx.Window({ + ...windowConfig, + title: "Window 1", +}); + +const window2 = new dhx.Window({ + ...windowConfig, + title: "Window 2", +}); + +// displaying both windows +window1.show(); +window2.show(); // Window 2 is currently on top + +// bringing Window 1 to the front without refreshing its content +window1.setActive(); + +@descr: +The main benefit of this method is that the activation occurs **without re-rendering the content**, which ensures that the DOM state, such as form input values, scroll positions, or media playback remains completely intact. + +@changelog: +Added in v9.3 + +**Related sample**: [Window. Setting the active window](https://snippet.dhtmlx.com/lvm3kfwq) + +**Related article**: [Work with Window](/window/usage/#setting-the-active-window) \ No newline at end of file diff --git a/docs/window/features.md b/docs/window/features.md index 901d402d..f42b90b9 100644 --- a/docs/window/features.md +++ b/docs/window/features.md @@ -69,6 +69,7 @@ In this section you can learn how to show and hide the window, how to switch it | Topic | Description | | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | | [Showing / hiding Window](../usage/#showinghiding-window) | Learn how to show or hide a window on the page ([Example](https://snippet.dhtmlx.com/ee2vf9xw)) | +| [Setting the active Window](../usage/#setting-the-active-window) | Learn how to set the active window ([Example](https://snippet.dhtmlx.com/lvm3kfwq)) | [Checking visibility of a window](../usage/#checking-visibility-of-window) | Learn how to check whether a window is visible on the page or not ([Example](https://snippet.dhtmlx.com/woz5c09h)) | | [Switching Window to the full screen mode](../usage/#fullscreen-mode) | Learn how to display a window in the full screen mode ([Example](https://snippet.dhtmlx.com/aftti5fy)) | | [Setting / getting Window position](../usage/#positioning-window) | Learn how to set/get the position of a window on the fly ([Example](https://snippet.dhtmlx.com/hc3ronrk)) | diff --git a/docs/window/usage.md b/docs/window/usage.md index a548acac..8f3aa02c 100644 --- a/docs/window/usage.md +++ b/docs/window/usage.md @@ -8,10 +8,10 @@ description: You can explore how to work with Window in the documentation of the ## Attaching content -You can easily attach some HTML content to a window via the [](window/api/window_attachhtml_method.md) method. It takes as a parameter a string with HTML. +You can easily attach some HTML content to a window via the [`attachHTML()`](window/api/window_attachhtml_method.md) method. It takes as a parameter a string with HTML. -~~~js -const dhxWindow = new dhx.Window({title: "Window"}); +~~~jsx +const dhxWindow = new dhx.Window({ title: "Window" }); const html = "

Header

paragraph

"; dhxWindow.attachHTML(html); dhxWindow.show(); @@ -21,59 +21,62 @@ dhxWindow.show(); ## Attaching DHTMLX components -DHTMLX Window allows attaching other DHTMLX components inside it. +DHTMLX Window allows attaching other DHTMLX components inside it via the [`attach()`](/window/api/window_attach_method/) method. -~~~js -dhxWindow.attach("richtext",{mode: "document"}); +~~~jsx +dhxWindow.attach("richtext", { mode: "document" }); dhxWindow.show(); ~~~ **Related sample**: [Window. Attach widget](https://snippet.dhtmlx.com/t9ncuuou) -{{note The Message, Popup, Window components can't be attached to Window because these components can't have the parent container due to their architecture principles.}} +:::note +The Message, Popup, Window components can't be attached to Window because these components can't have the parent container due to their architecture principles. +::: + ## Repainting window -In case you've changed some configuration settings of a window, you can repaint it on a page via the [](window/api/window_paint_method.md) method: +In case you've changed some configuration settings of a window, you can repaint it on a page via the [`paint()`](window/api/window_paint_method.md) method: -~~~js +~~~jsx dhxWindow.paint(); ~~~ ## Fullscreen mode -DHTMLX Window can be displayed in the full screen mode. To activate the full screen mode, make use of the [](window/api/window_setfullscreen_method.md) method: +DHTMLX Window can be displayed in the full screen mode. To activate the full screen mode, make use of the [`setFullScreen()`](window/api/window_setfullscreen_method.md) method: -~~~js +~~~jsx dhxWindow.setFullScreen(); ~~~ **Related sample**: [Window. Fullscreen mode](https://snippet.dhtmlx.com/aftti5fy) -To disable the full screen mode, apply the [](window/api/window_unsetfullscreen_method.md) method: +To disable the full screen mode, apply the [`unsetFullScreen()`](window/api/window_unsetfullscreen_method.md) method: -~~~js +~~~jsx dhxWindow.unsetFullScreen(); ~~~ -To check whether the full screen mode is activated or not, use the [](window/api/window_isfullscreen_method.md) method: +To check whether the full screen mode is activated or not, use the [`isFullScreen()`](window/api/window_isfullscreen_method.md) method: -~~~js +~~~jsx dhxWindow.setFullScreen(); dhxWindow.isFullScreen(); // -> true ~~~ ## Showing/hiding window -You can hide a particular window or show it in a particular position on a page with the help of the [](window/api/window_hide_method.md) and [](window/api/window_show_method.md) methods. The [](window/api/window_show_method.md) method takes two optional parameters: +You can hide a particular window or show it in a particular position on a page with the help of the [`hide()`](window/api/window_hide_method.md) and [`show()`](window/api/window_show_method.md) methods. The [`show()`](window/api/window_show_method.md) method takes two optional parameters: -- [left](window/api/window_show_method.md) - (*number*) the left margin of a window -- [top](window/api/window_show_method.md) - (*number*) the top margin of a window +- [`left`](window/api/window_show_method.md) - (*number*) the left margin of a window +- [`top`](window/api/window_show_method.md) - (*number*) the top margin of a window If called without parameters, the method shows a window in the default position on a page. -~~~js +~~~jsx // shows a window in the specified position -dhxWindow.show(34,54); +dhxWindow.show(34, 54); // hides a window dhxWindow.hide(); @@ -81,20 +84,55 @@ dhxWindow.hide(); **Related sample**: [Window. Showing / hiding Window](https://snippet.dhtmlx.com/ee2vf9xw) +## Setting the active window + +While working with several windows, you may need to make a particular window active and bring it to the top. You can apply the [`setActive()`](/window/api/window_setactive_method/) method to the necessary window for this purpose. + +In the example below two windows are created. Although the second window overlaps the first one upon initialization, calling `setActive()` on the first window programmatically brings it back to the front. + +~~~jsx +const windowConfig = { + width: 300, + height: 300, + html: "
Window content
" +}; + +const window1 = new dhx.Window({ + ...windowConfig, + title: "Window 1", +}); + +const window2 = new dhx.Window({ + ...windowConfig, + title: "Window 2", +}); + +// displaying both windows +window1.show(); +window2.show(); // Window 2 is currently on top + +// bringing Window 1 to the front without refreshing its content +window1.setActive(); +~~~ + +**Related sample**: [Window. Setting the active window](https://snippet.dhtmlx.com/lvm3kfwq) + +The key advantage of this method is that the activation occurs **without re-rendering the content**. This ensures that the DOM state, such as form input values, scroll positions, or media playback, remains completely intact. + ## Sizing window -You can change the size of a window via the [](window/api/window_setsize_method.md) method. It takes two parameters: +You can change the size of a window via the [`setSize()`](window/api/window_setsize_method.md) method. It takes two parameters: -- [width](window/api/window_setsize_method.md) - (*number*) the width of a window -- [height](window/api/window_setsize_method.md) - (*number*) the height of a window +- [`width`](window/api/window_setsize_method.md) - (*number*) the width of a window +- [`height`](window/api/window_setsize_method.md) - (*number*) the height of a window -~~~js -dhxWindow.setSize(250,250); +~~~jsx +dhxWindow.setSize(250, 250); ~~~ -To get the current size of a window, use the [](window/api/window_getsize_method.md) method. It will return an object with width and height of a window: +To get the current size of a window, use the [`getSize()`](window/api/window_getsize_method.md) method. It will return an object with width and height of a window: -~~~js +~~~jsx const size = dhxWindow.getSize(); // -> {width: 960, height: 469} ~~~ @@ -102,29 +140,29 @@ const size = dhxWindow.getSize(); // -> {width: 960, height: 469} ## Positioning window -To set the position of a window on the fly, make use of the [](window/api/window_setposition_method.md) method. You should pass two parameters to the method: +To set the position of a window on the fly, make use of the [`setPosition()`](window/api/window_setposition_method.md) method. You should pass two parameters to the method: -- [left](window/api/window_setposition_method.md) - (*number*) the left coordinate of a window -- [top](window/api/window_setposition_method.md) - (*number*) the top coordinate of a window +- [`left`](window/api/window_setposition_method.md) - (*number*) the left coordinate of a window +- [`top`](window/api/window_setposition_method.md) - (*number*) the top coordinate of a window -~~~js -dhxWindow.setPosition(20,20); +~~~jsx +dhxWindow.setPosition(20, 20); dhxWindow.show(); ~~~ -To get the current position of a window, use the [](window/api/window_getposition_method.md) method. It will return an object with left and top coordinates of a window: +To get the current position of a window, use the [`getPosition()`](window/api/window_getposition_method.md) method. It will return an object with left and top coordinates of a window: -~~~js -const position = dhxWindow.getPosition(); // -> {left: 480, top: 234} +~~~jsx +const position = dhxWindow.getPosition(); // -> { left: 480, top: 234 } ~~~ **Related sample**: [Window. Get/set Window position](https://snippet.dhtmlx.com/hc3ronrk) ## Checking visibility of window -You can check whether a window is hidden or shown on a page using the [](window/api/window_isvisible_method.md) method of the Window API. The method returns *true*, if a window is visible, and *false* if it's hidden. +You can check whether a window is hidden or shown on a page using the [`isVisible()`](window/api/window_isvisible_method.md) method of the Window API. The method returns `true`, if a window is visible, and `false` if it's hidden. -~~~js +~~~jsx const visible = window.isVisible(); // -> true/false ~~~ diff --git a/sidebars.js b/sidebars.js index d1fbb0ae..e177672b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -4596,6 +4596,7 @@ module.exports = { "window/api/window_isfullscreen_method", "window/api/window_isvisible_method", "window/api/window_paint_method", + "window/api/window_setactive_method", "window/api/window_setfullscreen_method", "window/api/window_setposition_method", "window/api/window_setsize_method", From 18e60ac63311689d671999efabe5b4d32e4a1f1f Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Tue, 27 Jan 2026 15:26:41 +0300 Subject: [PATCH 07/18] [add] description of the tooltip property of tree --- docs/tree/api/api_overview.md | 3 +- docs/tree/api/tree_autoload_config.md | 12 ++-- docs/tree/api/tree_checkbox_config.md | 6 +- docs/tree/api/tree_css_config.md | 11 ++-- docs/tree/api/tree_data_config.md | 10 +-- docs/tree/api/tree_template_config.md | 11 ++-- docs/tree/api/tree_tooltip_config.md | 89 +++++++++++++++++++++++++++ docs/tree/configuration.md | 83 ++++++++++++++++++++----- docs/tree/features.md | 15 ++--- docs/whatsnew.md | 9 ++- sidebars.js | 1 + 11 files changed, 204 insertions(+), 46 deletions(-) create mode 100644 docs/tree/api/tree_tooltip_config.md diff --git a/docs/tree/api/api_overview.md b/docs/tree/api/api_overview.md index f6a51606..674ea1ed 100644 --- a/docs/tree/api/api_overview.md +++ b/docs/tree/api/api_overview.md @@ -69,7 +69,7 @@ description: You can explore the API of Tree in the documentation of the DHTMLX | ----------------------------------------- | ------------------------------------------------ | | [](tree/api/tree_autoload_config.md) | @getshort(tree/api/tree_autoload_config.md) | | [](tree/api/tree_checkbox_config.md) | @getshort(tree/api/tree_checkbox_config.md) | -| [](tree/api/tree_collapsed_config.md) | @getshort(tree/api/tree_collapsed_config.md) | +| [](tree/api/tree_collapsed_config.md) | @getshort(tree/api/tree_collapsed_config.md) | | [](tree/api/tree_css_config.md) | @getshort(tree/api/tree_css_config.md) | | [](tree/api/tree_data_config.md) | @getshort(tree/api/tree_data_config.md) | | [](tree/api/tree_dragcopy_config.md) | @getshort(tree/api/tree_dragcopy_config.md) | @@ -84,3 +84,4 @@ description: You can explore the API of Tree in the documentation of the DHTMLX | [](tree/api/tree_rootid_config.md) | @getshort(tree/api/tree_rootid_config.md) | | [](tree/api/tree_selection_config.md) | @getshort(tree/api/tree_selection_config.md) | | [](tree/api/tree_template_config.md) | @getshort(tree/api/tree_template_config.md) | +| [](tree/api/tree_tooltip_config.md) | @getshort(tree/api/tree_tooltip_config.md) | diff --git a/docs/tree/api/tree_autoload_config.md b/docs/tree/api/tree_autoload_config.md index 361861c5..1cb6f4a6 100644 --- a/docs/tree/api/tree_autoload_config.md +++ b/docs/tree/api/tree_autoload_config.md @@ -11,7 +11,7 @@ description: You can explore the autoload config of Tree in the documentation of @signature: {'autoload?: string;'} @example: -const tree = new dhx.Tree("tree_container", {autoload: "/backend/autoload"}); +const tree = new dhx.Tree("tree_container", { autoload: "/backend/autoload" }); tree.data.load("/backend/autoload?id=tree"); @descr: @@ -19,18 +19,16 @@ tree.data.load("/backend/autoload?id=tree"); **Related sample**: [Tree. Autoload](https://snippet.dhtmlx.com/ahrblf1m) :::info -To control the process of auto-load, use the related [beforeItemLoad](tree_collection/api/treecollection_beforeitemload_event.md) and [afterItemLoad](tree_collection/api/treecollection_afteritemload_event.md) events +To control the process of auto-load, use the related [`beforeItemLoad`](tree_collection/api/treecollection_beforeitemload_event.md) and [`afterItemLoad`](tree_collection/api/treecollection_afteritemload_event.md) events. ::: -
- Here is an example of sending an HTTP GET request to the server using the Express library: -~~~js +~~~jsx app.get("/backend/autoload", (req, res) => { const currentData = treeData.filter(i => i.parent === req.query.id); return res.send(currentData); -}) +}); ~~~ -[comment]: # (@related: tree/initialization_of_dhtmlxtree.md#initialize-tree) +**Related article**: [Initialization](/tree/initialization_of_dhtmlxtree/#initialize-tree) diff --git a/docs/tree/api/tree_checkbox_config.md b/docs/tree/api/tree_checkbox_config.md index b8f7ac08..80178927 100644 --- a/docs/tree/api/tree_checkbox_config.md +++ b/docs/tree/api/tree_checkbox_config.md @@ -11,10 +11,12 @@ description: You can explore the checkbox config of Tree in the documentation of @signature: {'checkbox?: boolean;'} @example: -const tree = new dhx.Tree("tree_container", {checkbox: true}); +const tree = new dhx.Tree("tree_container", { checkbox: true }); @descr: **Related sample**: [Tree. Inline editing, drag-and-drop and checkboxes](https://snippet.dhtmlx.com/hyfz6ai7) -[comment]: # (@related: tree/initialization_of_dhtmlxtree.md#initialize-tree tree/configuration.md#checkboxes-for-items) +**Related articles**: +- [Initialization](/tree/initialization_of_dhtmlxtree/#initialize-tree) +- [Configuration](/tree/configuration/#checkboxes-for-items) diff --git a/docs/tree/api/tree_css_config.md b/docs/tree/api/tree_css_config.md index 4225955b..705cbf53 100644 --- a/docs/tree/api/tree_css_config.md +++ b/docs/tree/api/tree_css_config.md @@ -31,18 +31,19 @@ description: You can explore the css config of Tree in the documentation of the ~~~ -**Related samples**: -- [Tree. Styling (custom CSS)](https://snippet.dhtmlx.com/ocv4p7zg) -- [Tree. Custom toggle icon](https://snippet.dhtmlx.com/zapehxd3) - +@descr: Note, that the DHTMLX library provides [a set of own CSS classes](helpers/base_elements.md#list-of-css-classes-for-styling-a-widget) that you can also apply to change the appearance of Tree: -~~~js +~~~jsx const tree = new dhx.Tree("tree_container", { css: "dhx_widget--bg-gray" }); ~~~ +**Related samples**: +- [Tree. Styling (custom CSS)](https://snippet.dhtmlx.com/ocv4p7zg) +- [Tree. Custom toggle icon](https://snippet.dhtmlx.com/zapehxd3) + **Related articles**: - [List of CSS classes for styling a widget](helpers/base_elements.md#list-of-css-classes-for-styling-a-widget) - [Themes](themes.md) diff --git a/docs/tree/api/tree_data_config.md b/docs/tree/api/tree_data_config.md index ab063fc0..9f2ec217 100644 --- a/docs/tree/api/tree_data_config.md +++ b/docs/tree/api/tree_data_config.md @@ -15,7 +15,7 @@ Please note that if you specify the `id` fields in the tree collection, their va @signature: {'data?: object[];'} @params: -Each **data** object can have the following properties: +Each `data` object can have the following properties: @@ -77,10 +77,12 @@ const tree = new dhx.Tree("tree", { - [Tree. Initialization with config.data](https://snippet.dhtmlx.com/r49y51k3) - [Tree. Initialization with external TreeCollection](https://snippet.dhtmlx.com/osjo7t0h) -You can disable displaying of a checkbox for a tree item via the [update](tree_collection/api/treecollection_update_method.md) method of tree collection. +You can disable displaying of a checkbox for a tree item via the [`update()`](tree_collection/api/treecollection_update_method.md) method of tree collection. ~~~jsx -tree.data.update("Books", {checkbox:false}); +tree.data.update("Books", { checkbox: false }); ~~~ -[comment]: # (@related: tree/initialization_of_dhtmlxtree.md#initialize-tree tree/loading_data.md#preparing-data-set) +**Related articles**: +- [Initialization](/tree/initialization_of_dhtmlxtree/#initialize-tree) +- [Data loading](tree/loading_data.md#preparing-data-set) diff --git a/docs/tree/api/tree_template_config.md b/docs/tree/api/tree_template_config.md index 88b59938..d1f4f736 100644 --- a/docs/tree/api/tree_template_config.md +++ b/docs/tree/api/tree_template_config.md @@ -8,7 +8,7 @@ description: You can explore the template config of Tree in the documentation of @short: Optional. Specifies a template for Tree items -@signature: template?: (item: object, isFolder: boolean) => string | null; +@signature: {'template?: (item: object, isFolder: boolean) => string | null;'} @params: The template function takes two parameters: @@ -16,9 +16,11 @@ The template function takes two parameters: - `item` - an object of a Tree item - `isFolder` - defines whether an item is a folder -and returns either a string or null. +and returns either a *string* or *null*. -**Tip.** The callback function together with the isFolder parameter allows you to specify a template for child items only. +:::tip +The callback function together with the `isFolder` parameter allows you to specify a template for child items only. +::: @example: const tree = new dhx.Tree("tree_container", { @@ -36,7 +38,8 @@ const tree = new dhx.Tree("tree_container", { return isFolder ? null : template; } }); -@examplestop: + +@descr: **Related sample**: [Tree. Handling events in template](https://snippet.dhtmlx.com/hg3f50td) diff --git a/docs/tree/api/tree_tooltip_config.md b/docs/tree/api/tree_tooltip_config.md new file mode 100644 index 00000000..dc3f7e46 --- /dev/null +++ b/docs/tree/api/tree_tooltip_config.md @@ -0,0 +1,89 @@ +--- +sidebar_label: tooltip +title: JavaScript Tree - tooltip Config +description: You can explore the tooltip config of Tree in the documentation of the DHTMLX JavaScript UI library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Suite. +--- + +# tooltip + +@short: Optional. Enables and configures tooltips for Tree items + +#### Usage + +~~~jsx +tooltip?: + | boolean + | (item: ITreeItem, event: MouseEvent) => string + | { + template?: (item: ITreeItem, event: MouseEvent) => string; + force?: boolean; // false by default + showDelay?: number; + hideDelay?: number; + htmlEnable?: boolean; + margin?: number; // 8 by default + position?: "right" | "bottom" | "center" | "left" | "top"; // "bottom" by default + css?: string; + } +~~~ + +@values: +- `boolean` — if `true`, enables the standard tooltip (the value is taken from the [`value`](/tree/api/tree_data_config/) property of the item) +- `function` — a template function that returns the string content of the tooltip +- `object` — a configuration object for detailed customization of the tooltip's behavior and appearance. Check the available properties below + +@params: + +The properties of the `tooltip` *configuration object* are described below: + +- `template` - (optional) a function that determines the content of the tooltip. It takes two arguments: + - `item` - (*object*) the data object of a tree item. + - `event` - (*object*) the native mouse event (MouseEvent). + The template function must return a string. +- `force` - (optional) if `true`, forces the tooltip to appear without delays. In this case, the `showDelay` and `hideDelay` settings are ignored. The default value is `false`. +- `showDelay` - (optional) the delay before the tooltip appears (in milliseconds). +- `hideDelay` - (optional) the delay before the tooltip hides (in milliseconds). +- `htmlEnable` - (optional) specifies whether the use of the HTML markup inside the tooltip is allowed. +- `margin` - (optional) the margin between the tree item and the tooltip (in pixels). The default value is `8`. +- `position` - (optional) the position of the tooltip relative to the item. The possible values are: `"right"`, `"bottom"`, `"center"`, `"left"`, `"top"`. The default value is `"bottom"`. +- `css` - (optional) the name of the CSS class for customizing the style of the tooltip container. + +@descr: +#### Examples + +- using the tooltip configuration with a custom template and a display delay: + +~~~jsx +const tree = new dhx.Tree("tree_container", { + tooltip: { + htmlEnable: true, + // the 500ms delay before showing + showDelay: 500, + // the tooltip will appear to the right of the item + position: "right", + // a CSS class for styling + css: "custom-tooltip-style", + // the template function + template: (item, event) => { + // display the item's name and the number of children (if any) + const count = item.items ? ` (${item.items.length})` : ""; + return `${item.value}${count}`; + } + } +}); +~~~ + +- defining the content of tooltip via a function: + +~~~jsx +const tree = new dhx.Tree("tree_container", { + tooltip: (item) => + (item.value + (item.items ? ` (${item.items?.length})` : "") + "") +}); +~~~ + +**Related sample**: [Tree. Adding tooltips for the items](https://snippet.dhtmlx.com/7j097ht4) + +**Related article**: [Configuration](/tree/configuration/#tooltips-for-items) + +@changelog: +Added in v9.3 \ No newline at end of file diff --git a/docs/tree/configuration.md b/docs/tree/configuration.md index 425c69d4..12c841a0 100644 --- a/docs/tree/configuration.md +++ b/docs/tree/configuration.md @@ -13,19 +13,19 @@ description: You can explore the configuration of Tree in the documentation of t DHTMLX Tree provides enhanced system of checkbox manipulations. In addition to standard two-state checkboxes that allow check/uncheck tree items, it also uses three-state checkboxes that include an intermediate state, when just some children of a parent item are checked. -In order to enable checkboxes for items, make use of the [](tree/api/tree_checkbox_config.md) configuration option: +In order to enable checkboxes for items, make use of the [`checkbox`](tree/api/tree_checkbox_config.md) configuration option: -~~~js -const tree = new dhx.Tree("tree_container", {checkbox: true}); +~~~jsx +const tree = new dhx.Tree("tree_container", { checkbox: true }); ~~~ **Related sample**: [Tree. Inline editing, drag-and-drop and checkboxes](https://snippet.dhtmlx.com/hyfz6ai7) ## Collapsed mode -To initialize a tree in the collapsed state, use the [collapsed](tree/api/tree_collapsed_config.md) property: +To initialize a tree in the collapsed state, use the [`collapsed`](tree/api/tree_collapsed_config.md) property: -~~~js +~~~jsx const tree = new dhx.Tree("tree_container", { collapsed: true, }); @@ -37,23 +37,23 @@ const tree = new dhx.Tree("tree_container", { ![](../assets/tree/editable.png) -It is possible to enable editing of the text of Tree items before initialization of the component using the [](tree/api/tree_editable_config.md) configuration property: +It is possible to enable editing of the text of Tree items before initialization of the component using the [`editable`](tree/api/tree_editable_config.md) configuration property: -~~~js -const tree = new dhx.Tree("tree_container", {editable: true}); +~~~jsx +const tree = new dhx.Tree("tree_container", { editable: true }); ~~~ **Related sample**: [Tree. Inline editing, drag-and-drop and checkboxes](https://snippet.dhtmlx.com/hyfz6ai7) ## Key navigation -You can switch on key navigation in a tree with the [](tree/api/tree_keynavigation_config.md) property before initialization of the component: +You can switch on key navigation in a tree with the [`keyNavigation`](tree/api/tree_keynavigation_config.md) property before initialization of the component: -~~~js -const tree = new dhx.Tree("tree_container", {keyNavigation: true}); +~~~jsx +const tree = new dhx.Tree("tree_container", { keyNavigation: true }); ~~~ -After that you need to select any item and then apply Arrow keys: +After that you need to select any item and then apply the Arrow keys:
@@ -84,10 +84,65 @@ After that you need to select any item and then apply Arrow keys: **Related sample**: [Tree. Disable selection](https://snippet.dhtmlx.com/2x9htpke) -The default configuration of Tree provides you with the selection feature that allows highlighting a Tree item. To disable selection in a Tree you need to set the [](tree/api/tree_selection_config.md) configuration property to *false*: +The default configuration of Tree provides you with the selection feature that allows highlighting a Tree item. To disable selection in a Tree you need to set the [`selection`](tree/api/tree_selection_config.md) configuration property to `false`: -~~~js +~~~jsx const tree = new dhx.Tree("tree_container", { selection: false, }); ~~~ + +## Tooltips for items + +You can add tooltips for Tree items via the [`tooltip`](/tree/api/tree_tooltip_config/) configuration option. It is possible to use the default tooltips, provide a template function to render a custom content in the tooltips, or apply extended options to get the desired tooltip configuration. Check the following examples: + +- using the tooltip configuration with a custom template and a display delay: + +~~~jsx +const tree = new dhx.Tree("tree_container", { + tooltip: { + htmlEnable: true, + // the 500ms delay before showing + showDelay: 500, + // the tooltip will appear to the right of the item + position: "right", + // a CSS class for styling + css: "custom-tooltip-style", + // the template function + template: (item, event) => { + // display the item's name and the number of children (if any) + const count = item.items ? ` (${item.items.length})` : ""; + return `${item.value}${count}`; + } + } +}); +~~~ + +- defining the content of tooltip via a function: + +~~~jsx +const tree = new dhx.Tree("tree_container", { + tooltip: (item) => + (item.value + (item.items ? ` (${item.items?.length})` : "") + "") +}); +~~~ + +**Related sample**: [Tree. Adding tooltips for the items](https://snippet.dhtmlx.com/7j097ht4) + +The [`tooltip`](/tree/api/tree_tooltip_config/) property can take the following types of values: + +- `boolean` — if `true`, enables the standard tooltip (the value is taken from the [`value`](/tree/api/tree_data_config/) property of the item) +- `function` — a template function that returns the string content of the tooltip +- `object` — a configuration object for detailed customization of the tooltip's behavior and appearance. The available properties are given below: + - `template` - (optional) a function that determines the content of the tooltip. It takes two arguments: + - `item` - (*object*) the data object of a tree item. + - `event` - (*object*) the native mouse event (MouseEvent). + The template function must return a string. + - `force` - (optional) if `true`, forces the tooltip to appear without delays. In this case, the `showDelay` and `hideDelay` settings are ignored. The default value is `false`. + - `showDelay` - (optional) the delay before the tooltip appears (in milliseconds). + - `hideDelay` - (optional) the delay before the tooltip hides (in milliseconds). + - `htmlEnable` - (optional) specifies whether the use of HTML markup inside the tooltip is allowed. + - `margin` - (optional) the margin between the tree item and the tooltip (in pixels). The default value is `8`. + - `position` - (optional) the position of the tooltip relative to the item. The possible values are: `"right"`, `"bottom"`, `"center"`, `"left"`, `"top"`. The default value is `"bottom"`. + - `css` - (optional) the name of the CSS class for customizing the style of the tooltip container. + diff --git a/docs/tree/features.md b/docs/tree/features.md index dc9b4fdd..58674c37 100644 --- a/docs/tree/features.md +++ b/docs/tree/features.md @@ -46,13 +46,14 @@ In this section you can find out how to initialize Tree, how to load data into t In this section you can find out how to configure drag-n-drop in Tree, how to enable or disable key navigation, how to let users to edit items by double-click. -| Topic | Description | -| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [Configuring drag-n-drop](../drag_and_drop_handling/) | Learn how to configure the necessary mode of drag-n-drop of items between trees ([Example 1](https://snippet.dhtmlx.com/7idtw7i4), [Example 2](https://snippet.dhtmlx.com/hyfz6ai7)) | -| [Configuring drop behavior](../drag_and_drop_handling/) | Learn how to define the behavior of a dragged item ([Example](https://snippet.dhtmlx.com/80mh3hly)) | -| [Copying items during drag-n-drop](../drag_and_drop_handling/) | Learn how to copy an item to a target during drag-n-drop ([Example](https://snippet.dhtmlx.com/xm0lxbpj)) | -| [Enabling/disabling key navigation](../configuration/#key-navigation) | Learn how to enable and disable key navigation ([Example](https://snippet.dhtmlx.com/icql8fwq)) | -| [Activating inline editing](../configuration/#editing-of-items) | Learn how to activate inline editing on Tree initialization ([Example](https://snippet.dhtmlx.com/hyfz6ai7)) | +| Topic | Description | +| ------------------------------------------------------------- | -------------------------------------------------------------------------- | +| [Configuring drag-n-drop](../drag_and_drop_handling/) | Learn how to configure the necessary mode of drag-n-drop of items between trees ([Example 1](https://snippet.dhtmlx.com/7idtw7i4), [Example 2](https://snippet.dhtmlx.com/hyfz6ai7)) | +| [Configuring drop behavior](../drag_and_drop_handling/) | Learn how to define the behavior of a dragged item ([Example](https://snippet.dhtmlx.com/80mh3hly)) | +| [Copying items during drag-n-drop](../drag_and_drop_handling/) | Learn how to copy an item to a target during drag-n-drop ([Example](https://snippet.dhtmlx.com/xm0lxbpj)) | +| [Enabling/disabling key navigation](../configuration/#key-navigation) | Learn how to enable and disable key navigation ([Example](https://snippet.dhtmlx.com/icql8fwq)) | +| [Activating inline editing](../configuration/#editing-of-items) | Learn how to activate inline editing on Tree initialization ([Example](https://snippet.dhtmlx.com/hyfz6ai7)) | +| [Enabling and configuring tooltips](../configuration/#tooltips-for-items) | Learn how to enable and configure tooltips for Tree items ([Example](https://snippet.dhtmlx.com/7j097ht4)) | ## How to customize Tree and change its size diff --git a/docs/whatsnew.md b/docs/whatsnew.md index 70384999..8f6287b7 100644 --- a/docs/whatsnew.md +++ b/docs/whatsnew.md @@ -14,10 +14,10 @@ Released on January , 2026 ### New functionality -- Grid. The ability to [define the behaviour of a dragged item](/grid/treegrid_mode/#drop-behaviour) via the [`dropBehaviour`](/grid/api/grid_dropbehaviour_config/) config property in the TreeGrid mode (PRO version) +- Grid. The ability to [define the behaviour of a dragged item](/grid/treegrid_mode/#drop-behaviour) via the [`dropBehaviour`](/grid/api/grid_dropbehaviour_config/) property in the TreeGrid mode (PRO version) - Grid. The ability to [define the position of the footer and bottom-pinned rows within the component container](/grid/configuration/#footer-position) via the [`footerPosition`](/grid/api/grid_footerposition_config/) property (PRO version) - Grid. A new [`dateFilter`](/grid/configuration/#headerfooter-filters) type of filter is added for the column header (PRO version) -- Tree. The ability to add tooltips for the items +- Tree. The ability to [add tooltips for the items](/tree/configuration/#tooltips-for-items) via the [`tooltip`](/tree/api/tree_tooltip_config/) property - Window. The ability to [set the active window](/window/usage/#setting-the-active-window) via the [`setActive()`](/window/api/window_setactive_method/) method ### Updates @@ -40,6 +40,11 @@ Released on January , 2026 - [Grid. Fixed rows positioned at the bottom](https://snippet.dhtmlx.com/8n0pdqhp) - [Grid. Footer positioned at the bottom](https://snippet.dhtmlx.com/etg7raih) +- [Grid (TreeGrid). Drop behavior](https://snippet.dhtmlx.com/l5waxyqe) + +#### Tree + +- [Tree. Adding tooltips for the items](https://snippet.dhtmlx.com/7j097ht4) #### Window diff --git a/sidebars.js b/sidebars.js index e177672b..1782fc1f 100644 --- a/sidebars.js +++ b/sidebars.js @@ -4534,6 +4534,7 @@ module.exports = { "tree/api/tree_rootid_config", "tree/api/tree_selection_config", "tree/api/tree_template_config", + "tree/api/tree_tooltip_config" ], }, ], From 495664aaa0b5e58bf8e89f0022fef8b2c5a0bf3a Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Thu, 29 Jan 2026 12:27:08 +0300 Subject: [PATCH 08/18] [add] description of the exportConfig property of grid, update what's new for v9.3 --- docs/grid/api/api_overview.md | 1 + docs/grid/api/export/grid_csv_method.md | 4 + docs/grid/api/export/grid_pdf_method.md | 4 + docs/grid/api/export/grid_png_method.md | 4 + docs/grid/api/export/grid_xlsx_method.md | 4 + docs/grid/api/grid_blockselection_config.md | 4 +- docs/grid/api/grid_clipboard_config.md | 2 +- docs/grid/api/grid_dragpanel_config.md | 2 +- docs/grid/api/grid_exportconfig_config.md | 167 ++++++++++++++++++++ docs/grid/api/grid_exportstyles_config.md | 10 +- docs/grid/api/grid_group_config.md | 4 +- docs/grid/api/grid_history_config.md | 2 +- docs/grid/api/grid_rangeselection_config.md | 2 +- docs/grid/api/grid_rootparent_config.md | 6 +- docs/grid/api/grid_subrow_config.md | 4 +- docs/grid/api/grid_subrowconfig_config.md | 4 +- docs/grid/api/grid_summary_config.md | 4 +- docs/grid/features.md | 1 + docs/grid/usage.md | 137 +++++++++++++++- docs/whatsnew.md | 19 ++- sidebars.js | 1 + 21 files changed, 357 insertions(+), 29 deletions(-) create mode 100644 docs/grid/api/grid_exportconfig_config.md diff --git a/docs/grid/api/api_overview.md b/docs/grid/api/api_overview.md index e29eacaf..44d6c0c9 100644 --- a/docs/grid/api/api_overview.md +++ b/docs/grid/api/api_overview.md @@ -201,6 +201,7 @@ description: You can explore the API of Grid in the documentation of the DHTMLX | [](grid/api/grid_dropbehaviour_config.md) | @getshort(grid/api/grid_dropbehaviour_config.md) | | [](grid/api/grid_editable_config.md) | @getshort(grid/api/grid_editable_config.md) | | [](grid/api/grid_eventhandlers_config.md) | @getshort(grid/api/grid_eventhandlers_config.md) | +| [](grid/api/grid_exportconfig_config.md) | @getshort(grid/api/grid_exportconfig_config.md) | | [](grid/api/grid_exportstyles_config.md) | @getshort(grid/api/grid_exportstyles_config.md) | | [](grid/api/grid_footerautoheight_config.md)| @getshort(grid/api/grid_footerautoheight_config.md)| | [](grid/api/grid_footerposition_config.md) | @getshort(grid/api/grid_footerposition_config.md) | diff --git a/docs/grid/api/export/grid_csv_method.md b/docs/grid/api/export/grid_csv_method.md index eeed31a5..49884671 100644 --- a/docs/grid/api/export/grid_csv_method.md +++ b/docs/grid/api/export/grid_csv_method.md @@ -17,6 +17,10 @@ description: You can explore the csv export method of Grid in the documentation - `rowDelimiter?: string` - (optional) a newline ("\n") by default. A separator between rows, can be a tab - "\t", or any other value - `columnDelimiter?: string` - (optional) a comma (",") by default. A separator between columns, can be a semicolon - ";", or any other value +:::note +You can specify extended export configuration settings via the Grid [`exportConfig`](/grid/api/grid_exportconfig_config/) configuration property. +::: + @returns: A promise of data export diff --git a/docs/grid/api/export/grid_pdf_method.md b/docs/grid/api/export/grid_pdf_method.md index 4fe2de11..b95f23ac 100644 --- a/docs/grid/api/export/grid_pdf_method.md +++ b/docs/grid/api/export/grid_pdf_method.md @@ -46,6 +46,10 @@ A promise of data export - `header?: string` - (optional) an HTML template for the header in the exported file - `footer?: string` - (optional) an HTML template for the footer in the exported file +:::note +You can specify extended export configuration settings via the Grid [`exportConfig`](/grid/api/grid_exportconfig_config/) configuration property. +::: + @example: // default export diff --git a/docs/grid/api/export/grid_png_method.md b/docs/grid/api/export/grid_png_method.md index d3bc7428..8f16035d 100644 --- a/docs/grid/api/export/grid_png_method.md +++ b/docs/grid/api/export/grid_png_method.md @@ -22,6 +22,10 @@ A promise of data export - `header?: string` - (optional) an HTML template for the header in the exported file - `footer?: string` - (optional) an HTML template for the footer in the exported file +:::note +You can specify extended export configuration settings via the Grid [`exportConfig`](/grid/api/grid_exportconfig_config/) configuration property. +::: + @example: // default export grid.export.png() diff --git a/docs/grid/api/export/grid_xlsx_method.md b/docs/grid/api/export/grid_xlsx_method.md index 6f71f050..4b14b378 100644 --- a/docs/grid/api/export/grid_xlsx_method.md +++ b/docs/grid/api/export/grid_xlsx_method.md @@ -21,6 +21,10 @@ DHTMLX Grid uses the WebAssembly-based library [Json2Excel](https://github.com/d - `tableName?: string` - (optional) "data" by default. The name of a sheet with grid data in the Excel file - `dateFormatMask?: string` - (optional) "dd/mm/yy" by default. The mask used for [dates formatting in Excel](https://support.microsoft.com/en-us/office/format-a-date-the-way-you-want-in-excel-8e10019e-d5d8-47a1-ba95-db95123d273e) +:::note +You can specify extended export configuration settings via the Grid [`exportConfig`](/grid/api/grid_exportconfig_config/) configuration property. +::: + @returns: A promise of data export diff --git a/docs/grid/api/grid_blockselection_config.md b/docs/grid/api/grid_blockselection_config.md index 69d2a1d9..88609bc9 100644 --- a/docs/grid/api/grid_blockselection_config.md +++ b/docs/grid/api/grid_blockselection_config.md @@ -12,7 +12,7 @@ This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) pac @short: Optional. Enables/disables the BlockSelection module during the Grid initialization -### Usage +#### Usage ~~~jsx blockSelection?: @@ -53,7 +53,7 @@ const grid = new dhx.Grid("grid_container", { }); @descr: -### Parameters +#### Parameters The `blockSelection` property can be set in two ways: diff --git a/docs/grid/api/grid_clipboard_config.md b/docs/grid/api/grid_clipboard_config.md index e08eab05..4defc87e 100644 --- a/docs/grid/api/grid_clipboard_config.md +++ b/docs/grid/api/grid_clipboard_config.md @@ -16,7 +16,7 @@ This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) pac The module requires the [`RangeSelection`](grid/usage_rangeselection.md) module to be enabled and is best used in conjunction with the [`BlockSelection`](grid/usage_blockselection.md) module in the `"range"` mode (enabled on initialization of the `Clipboard` module) for convenient range selection via the UI. ::: -### Usage +#### Usage ~~~jsx clipboard?: diff --git a/docs/grid/api/grid_dragpanel_config.md b/docs/grid/api/grid_dragpanel_config.md index 36d8c5b9..14e584f2 100644 --- a/docs/grid/api/grid_dragpanel_config.md +++ b/docs/grid/api/grid_dragpanel_config.md @@ -12,7 +12,7 @@ This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) pac @short: Optional. Enables/disables the DragPanel module during the Grid initialization -### Usage +#### Usage ~~~jsx dragPanel?: diff --git a/docs/grid/api/grid_exportconfig_config.md b/docs/grid/api/grid_exportconfig_config.md new file mode 100644 index 00000000..191e9be1 --- /dev/null +++ b/docs/grid/api/grid_exportconfig_config.md @@ -0,0 +1,167 @@ +--- +sidebar_label: exportConfig +title: JavaScript Grid - exportConfig Config +description: You can explore the exportConfig config of Grid in the documentation of the DHTMLX JavaScript UI library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Suite. +--- + +# exportConfig + +:::tip pro version only +This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) package. +::: + +@short: allows providing an advanced configuring of parameters for Grid export into CSV, XLSX, PDF, and PNG formats + +#### Usage + +~~~jsx +exportConfig?: (config: IGridConfig, exportType: "pdf" | "png" | "csv" | "xlsx") => { + // overriding basic Grid settings + columns?: (column: ICol, index: number, columns: ICol[], api: IGrid) => ICol | null; + data?: (row: IRow, index: number, data: IRow[], api: IGrid) => IRow | null; + spans?: (span: ISpan, index: number, spans: ISpan[], api: IGrid) => ISpan | null; + + // format-specific configurations + typeConfig?: IXlsxExportConfig | ICsvExportConfig | IPDFConfig | IPNGConfig; + + // any other IGridConfig properties (e.g., headerRowHeight) + [key: string]: any; +} +~~~ + +#### Parameters + +The `exportConfig` property is a callback function that takes the following parameters: + +- `config` - (*IGridConfig*) the current configuration of a Grid instance +- `exportType` - (*string*) the type of export being performed: "pdf", "png", "csv", or "xlsx" + +and returns a configuration object with export parameters. The returned configuration object may contain the following properties: + +- `columns` - (*function*) a function for column transformation; returning `null` excludes the column from the export +- `data` - (*function*) a function for filtering or modifying row data; returning `null` excludes the row from the final file +- `spans` - (*function*) a function to handle cell merging (spans); returning `null` ignores the span in the export +- `typeConfig` - (*object*) an object containing unique settings for the specific format (filenames, delimiters, themes) +- **Grid properties** - any Grid property that should be overridden (e.g., `headerRowHeight`) set as a `key:value` pair, where the *key* is the property name and the *value* is the property value to be applied only to the exported state + +#### Examples + +- Example 1: Conditional filtering and formatting + +In this example, sensitive data is excluded for all formats, while for PDF/PNG the headers are converted to the uppercase and HTML templates are disabled: + +~~~jsx +const grid = new dhx.Grid("grid_container", { + columns: [ + // columns config + ], + data:dataset, + exportConfig: (config, exportType) => ({ + // Column transformation + columns: (column) => { + // Completely exclude the "experience_level" column from any export + if (column.id === "experience_level") return null; + + // For spreadsheet formats (Excel/CSV), keep columns as is + if (exportType === "xlsx" || exportType === "csv") { + return column; + } + + // For PDF/PNG, remove HTML templates and uppercase the headers + column.template = null; + column.header[0].text = column.header[0].text.toUpperCase(); + + return column; + }, + + // Row data filtering + data: (row) => { + // Exclude young animals (age <= 3) from the export + if (row.animal_age <= 3) return null; + + // Business logic example: do not export dogs to CSV and cats to Excel + if (exportType === "csv" && row.animal_type === "Dog") return null; + if (exportType === "xlsx" && row.animal_type === "Cat") return null; + + return row; + }, + + // Adjust the header height specifically for the Excel file + headerRowHeight: exportType === "xlsx" ? 60 : config.headerRowHeight, + }), +}); +~~~ + +- Example 2: Format-specific configuration with `typeConfig` + +The following example shows the use of the `typeConfig` property to define filenames, CSV delimiters, and XLSX date masks: + +~~~jsx +const exportConfig = { + csv: { + name: "cat_report", // Resulting CSV filename + rowDelimiter: "\t", // Use Tab as row delimiter + columnDelimiter: ";" // Use Semicolon as column delimiter + }, + xlsx: { + name: "dog_report", // Resulting Excel filename + tableName: "Main Report", // Sheet name in the Excel workbook + dateFormatMask: "dd.mm.yyyy" // Excel-specific date format mask + }, + pdf: { + theme: "dark", // Apply the dark theme to the PDF document + scale: 0.8, // Content scaling (80%) + format: "A4" // Page format + } +}; + +const grid = new dhx.Grid("grid_container", { + columns: [ + // columns config + ], + data:dataset, + exportConfig: (config, exportType) => ({ + // Pass settings from our object based on the export type + typeConfig: exportConfig[exportType] + }) +}); +~~~ + +- Example 3: Filtering spans + +If your Grid uses cell merging, you can manage how spans are handled during export. Check the example below: + +~~~jsx +const grid = new dhx.Grid("grid_container", { + columns: [ + // columns config + ], + data:dataset, + spans: [ + // span configuration objects + ], + exportConfig: (config, exportType) => ({ + spans: (span) => { + // Exclude cells' merges when exporting to CSV, + // as the CSV format does not support merged cells + if (exportType === "csv") return null; + return span; + } + }) +}); +~~~ + +#### Details + +The `exportConfig` property extends the possibilities of the standard export and allows you to dynamically modify the structure and content of the resulting document at the moment the export function is called. With this property, you can: + +- **filter data**: exclude specific rows, columns, or spans by returning `null` in the corresponding callback methods +- **transform content**: modify headers, format values, or strip HTML templates to ensure data is displayed correctly in spreadsheet editors +- **define format-specific settings**: set delimiters for CSV, date masks for Excel, or visual themes for PDF +- **adjust styling**: override Grid properties (such as row height) specifically for the exported file + +**Related sample**: [Grid. Custom export logic for PDF, PNG, XLSX, CSV](https://snippet.dhtmlx.com/k4wberkh) + +**Related article**: [Extended export configuration settings](/grid/usage/#extended-export-configuration-settings) + +@changelog: added in v9.3 \ No newline at end of file diff --git a/docs/grid/api/grid_exportstyles_config.md b/docs/grid/api/grid_exportstyles_config.md index 6916f26d..0db7d48e 100644 --- a/docs/grid/api/grid_exportstyles_config.md +++ b/docs/grid/api/grid_exportstyles_config.md @@ -22,11 +22,11 @@ const grid = new dhx.Grid("grid_container", { }); @descr: -By default, the **exportStyles** property is disabled. Thus, when you export Grid, CSS styles included to the page are not sent to the export service. This reduces the size of the exported data. +By default, the `exportStyles` property is disabled. Thus, when you export Grid, CSS styles included to the page are not sent to the export service. This reduces the size of the exported data. -If you want some styles to be exported, set string values with the absolute paths to the desired styles to the **exportStyles** array: +If you want some styles to be exported, set string values with the absolute paths to the desired styles to the `exportStyles` array: -~~~js +~~~jsx const grid = new dhx.Grid("grid_container", { columns: [ // columns config @@ -50,7 +50,7 @@ You need to enable the property if you want to export Grid with a [custom or ove @descr: **Related API:** -- [png()](grid/api/export/grid_png_method.md) -- [pdf()](grid/api/export/grid_pdf_method.md) +- [`png()`](grid/api/export/grid_png_method.md) +- [`pdf()`](grid/api/export/grid_pdf_method.md) @changelog: added in v8.1 diff --git a/docs/grid/api/grid_group_config.md b/docs/grid/api/grid_group_config.md index eee91af6..488bc972 100644 --- a/docs/grid/api/grid_group_config.md +++ b/docs/grid/api/grid_group_config.md @@ -16,7 +16,7 @@ The described functionality requires PRO version of the DHTMLX Grid (or DHTMLX S Note that when you initialize Grid with the `group` configuration property, the tree-like mode is enabled for Grid and it will have the `type: tree` property in its configuration. ::: -## Usage +#### Usage ~~~jsx {22} type TAggregate = "sum" | "count" | "min" | "max" | "avg" | string; @@ -45,7 +45,7 @@ interface IGridConfig { } ~~~ -## Parameters +#### Parameters As an object the `group` configuration option has the following properties: diff --git a/docs/grid/api/grid_history_config.md b/docs/grid/api/grid_history_config.md index 774aecd9..c217a0d1 100644 --- a/docs/grid/api/grid_history_config.md +++ b/docs/grid/api/grid_history_config.md @@ -12,7 +12,7 @@ This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) pac @short: Optional. Enables/disables the History module during the Grid initialization -### Usage +#### Usage ~~~jsx history?: diff --git a/docs/grid/api/grid_rangeselection_config.md b/docs/grid/api/grid_rangeselection_config.md index 5b40cbc3..54e7e561 100644 --- a/docs/grid/api/grid_rangeselection_config.md +++ b/docs/grid/api/grid_rangeselection_config.md @@ -12,7 +12,7 @@ This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) pac @short: Optional. Enables/disables the RangeSelection module during the Grid initialization -### Usage +#### Usage ~~~jsx rangeSelection?: diff --git a/docs/grid/api/grid_rootparent_config.md b/docs/grid/api/grid_rootparent_config.md index 1a319d3e..8ae59e79 100644 --- a/docs/grid/api/grid_rootparent_config.md +++ b/docs/grid/api/grid_rootparent_config.md @@ -9,12 +9,12 @@ description: You can explore the rootParent config of Grid in the documentation @short: Optional. Defines the id of the root parent :::note -The property works only for Grid with the `type: "tree"` configuration option +The property works only for Grid with the `type: "tree"` configuration option. ::: -@signature: rootParent?: string; +@signature: {'rootParent?: string;'} -@example: +@example: const grid = new dhx.Grid("grid_container", { type: "tree", rootParent: "root", diff --git a/docs/grid/api/grid_subrow_config.md b/docs/grid/api/grid_subrow_config.md index 8a05764f..8e3d9d7c 100644 --- a/docs/grid/api/grid_subrow_config.md +++ b/docs/grid/api/grid_subrow_config.md @@ -20,11 +20,11 @@ Note that when the `subRow` config is used, Grid doesn't support the [TreeGrid m @descr: -## Parameters +#### Parameters The `subRow` property is a callback function which is called with the row object as a parameter and returns HTML as string or a constructor of a subGrid (or any other nested Suite component). -### Example +#### Example - a sub-row with an HTML content diff --git a/docs/grid/api/grid_subrowconfig_config.md b/docs/grid/api/grid_subrowconfig_config.md index 561103a6..306f5094 100644 --- a/docs/grid/api/grid_subrowconfig_config.md +++ b/docs/grid/api/grid_subrowconfig_config.md @@ -20,7 +20,7 @@ Note that when the [`subRow`](/grid/api/grid_subrow_config/) config is used, Gri @descr: -## Parameters +#### Parameters When the property is set as an *object*, the specified parameters are applied to all the rows. @@ -40,7 +40,7 @@ The `subRowConfig` object may contain the following properties: The `fullWidth` property works only if the `subRowConfig` property is initialized as an object. ::: -### Example +#### Example - the global configuration of sub-rows diff --git a/docs/grid/api/grid_summary_config.md b/docs/grid/api/grid_summary_config.md index c0b77ab5..48981521 100644 --- a/docs/grid/api/grid_summary_config.md +++ b/docs/grid/api/grid_summary_config.md @@ -8,7 +8,7 @@ description: You can explore the spans config of Grid in the documentation of th @short: Optional. Creates the list of calculated values based on the column's data -## Usage +#### Usage ~~~jsx type TSummaryMethod = (rows: IRow[]) => string | number; @@ -19,7 +19,7 @@ interface ISummary { summary?: ISummary; ~~~ -## Parameters +#### Parameters The `summary` configuration option of Grid is an object with calculated values, where the *keys* are the field names and the *values* can be: diff --git a/docs/grid/features.md b/docs/grid/features.md index 336b1fdb..f3ef09f0 100644 --- a/docs/grid/features.md +++ b/docs/grid/features.md @@ -356,6 +356,7 @@ In this section you will get to know how to export Grid to different formats. | Topic | Description | | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | [Exporting Grid to XLSX, CSV, PNG or PDF format](../usage/#exporting-data) | Learn how to export Grid to the necessary format ([Example 1](https://snippet.dhtmlx.com/58oqij47), [Example 2](https://snippet.dhtmlx.com/ti9l91mn)) | +| [Extended export configuration settings](../usage/#extended-export-configuration-settings)| Learn how to provide extended configuration properties for Grid export ([Example](https://snippet.dhtmlx.com/k4wberkh))| ## How to localize Grid diff --git a/docs/grid/usage.md b/docs/grid/usage.md index a216a763..56f20398 100644 --- a/docs/grid/usage.md +++ b/docs/grid/usage.md @@ -473,7 +473,7 @@ The [](grid/api/grid_editend_method.md) method does not work if [the type of the ### Exporting data -You can easily export data of Grid into the Excel, CSV, PDF, or PNG format. +You can easily export data of Grid into the Excel, CSV, PDF, or PNG format. Besides the standard functionality of the `Export` module methods described below, you can also [provide advanced configuring of parameters for Grid export](/grid/usage/#extended-export-configuration-settings) via the Grid [`exportConfig`](/grid/api/grid_exportconfig_config/) property. #### Exporting data to Excel @@ -568,6 +568,141 @@ grid.export.png({ **Related sample**: [Grid. Export to PDF/PNG](https://snippet.dhtmlx.com/ti9l91mn) +### Extended export configuration settings + +:::tip pro version only +This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) package. +::: + +There is a possibility to provide an advanced configuring of parameters for Grid export into the CSV, XLSX, PDF, and PNG formats with the [`exportConfig`](/grid/api/grid_exportconfig_config/) property. + +Unlike the standard export, [`exportConfig`](/grid/api/grid_exportconfig_config/) allows you to dynamically modify the structure and content of the resulting document at the moment the export function is called. With this property, you can: + +- **filter data**: exclude specific rows, columns, or spans by returning `null` in the corresponding callback methods +- **transform content**: modify headers, format values, or strip HTML templates to ensure data is displayed correctly in spreadsheet editors +- **define format-specific settings**: set delimiters for CSV, date masks for Excel, or visual themes for PDF +- **adjust styling**: override Grid properties (such as row height) specifically for the exported file + +The `exportConfig` property is a callback function that takes the following parameters: + +- `config` - (*IGridConfig*) the current configuration of a Grid instance +- `exportType` - (*string*) the type of export being performed: "pdf", "png", "csv", or "xlsx" + +The returned configuration object may contain the following properties: + +- `columns` - (*function*) a function for column transformation; returning `null` excludes the column from the export +- `data` - (*function*) a function for filtering or modifying row data; returning `null` excludes the row from the final file +- `spans` - (*function*) a function to handle cell merging (spans); returning `null` ignores the span in the export +- `typeConfig` - (*object*) an object containing unique settings for the specific format (filenames, delimiters, themes) +- **Grid properties** - any Grid property that should be overridden (e.g., `headerRowHeight`) set as a `key:value` pair, where the *key* is the property name and the *value* is the property value to be applied only to the exported state + +#### Example 1: Conditional filtering and formatting + +In this example, sensitive data is excluded for all formats, while for PDF/PNG the headers are converted to the uppercase and HTML templates are disabled: + +~~~jsx +const grid = new dhx.Grid("grid_container", { + columns: [ + // columns config + ], + data:dataset, + exportConfig: (config, exportType) => ({ + // Column transformation + columns: (column) => { + // Completely exclude the "experience_level" column from any export + if (column.id === "experience_level") return null; + + // For spreadsheet formats (Excel/CSV), keep columns as is + if (exportType === "xlsx" || exportType === "csv") { + return column; + } + + // For PDF/PNG, remove HTML templates and uppercase the headers + column.template = null; + column.header[0].text = column.header[0].text.toUpperCase(); + + return column; + }, + + // Row data filtering + data: (row) => { + // Exclude young animals (age <= 3) from the export + if (row.animal_age <= 3) return null; + + // Business logic example: do not export dogs to CSV and cats to Excel + if (exportType === "csv" && row.animal_type === "Dog") return null; + if (exportType === "xlsx" && row.animal_type === "Cat") return null; + + return row; + }, + + // Adjust the header height specifically for the Excel file + headerRowHeight: exportType === "xlsx" ? 60 : config.headerRowHeight, + }), +}); +~~~ + +#### Example 2: Format-specific configuration with `typeConfig` + +The following example shows the use of the `typeConfig` property to define filenames, CSV delimiters, and XLSX date masks: + +~~~jsx +const exportConfig = { + csv: { + name: "cat_report", // Resulting CSV filename + rowDelimiter: "\t", // Use Tab as row delimiter + columnDelimiter: ";" // Use Semicolon as column delimiter + }, + xlsx: { + name: "dog_report", // Resulting Excel filename + tableName: "Main Report", // Sheet name in the Excel workbook + dateFormatMask: "dd.mm.yyyy" // Excel-specific date format mask + }, + pdf: { + theme: "dark", // Apply the dark theme to the PDF document + scale: 0.8, // Content scaling (80%) + format: "A4" // Page format + } +}; + +const grid = new dhx.Grid("grid_container", { + columns: [ + // columns config + ], + data:dataset, + exportConfig: (config, exportType) => ({ + // Pass settings from our object based on the export type + typeConfig: exportConfig[exportType] + }) +}); +~~~ + +#### Example 3: Filtering spans + +If your Grid uses cell merging, you can manage how spans are handled during export. Check the example below: + +~~~jsx +const grid = new dhx.Grid("grid_container", { + columns: [ + // columns config + ], + data:dataset, + spans: [ + // span configuration objects + ], + exportConfig: (config, exportType) => ({ + spans: (span) => { + // Exclude cells' merges when exporting to CSV, + // as the CSV format does not support merged cells + if (exportType === "csv") return null; + return span; + } + }) +}); +~~~ + +**Related sample**: [Grid. Custom export logic for PDF, PNG, XLSX, CSV](https://snippet.dhtmlx.com/k4wberkh) + ## Grouping data :::tip pro version only diff --git a/docs/whatsnew.md b/docs/whatsnew.md index 8f6287b7..836ffd13 100644 --- a/docs/whatsnew.md +++ b/docs/whatsnew.md @@ -10,15 +10,21 @@ Before updating DHTMLX to the latest version, please check the [Migration to New ## Version 9.3 -Released on January , 2026 +Released on February , 2026 ### New functionality -- Grid. The ability to [define the behaviour of a dragged item](/grid/treegrid_mode/#drop-behaviour) via the [`dropBehaviour`](/grid/api/grid_dropbehaviour_config/) property in the TreeGrid mode (PRO version) -- Grid. The ability to [define the position of the footer and bottom-pinned rows within the component container](/grid/configuration/#footer-position) via the [`footerPosition`](/grid/api/grid_footerposition_config/) property (PRO version) -- Grid. A new [`dateFilter`](/grid/configuration/#headerfooter-filters) type of filter is added for the column header (PRO version) -- Tree. The ability to [add tooltips for the items](/tree/configuration/#tooltips-for-items) via the [`tooltip`](/tree/api/tree_tooltip_config/) property -- Window. The ability to [set the active window](/window/usage/#setting-the-active-window) via the [`setActive()`](/window/api/window_setactive_method/) method +- Grid. The ability to [specify a flexible configuration for export](/grid/usage/#extended-export-configuration-settings) to the CSV, XLSX, PDF, and PNG formats (PRO version) + - new Grid configuration property: [`exportConfig`](/grid/api/grid_exportconfig_config/) +- Grid. The ability to [define the behaviour of a dragged item](/grid/treegrid_mode/#drop-behaviour) in the TreeGrid mode (PRO version) + - new Grid configuration property: [`dropBehaviour`](/grid/api/grid_dropbehaviour_config/) +- Grid. The ability to [define the position of the footer and frozen rows within the component container](/grid/configuration/#footer-position) (PRO version) + - new Grid configuration property: [`footerPosition`](/grid/api/grid_footerposition_config/) +- Grid. A new [`dateFilter`](/grid/configuration/#headerfooter-filters) type of filter for the column header is added (PRO version) +- Tree. The ability to [add tooltips for the items](/tree/configuration/#tooltips-for-items) + - new Tree configuration property: [`tooltip`](/tree/api/tree_tooltip_config/) +- Window. The ability to [set the active window](/window/usage/#setting-the-active-window) + - new Window method: [`setActive()`](/window/api/window_setactive_method/) ### Updates @@ -38,6 +44,7 @@ Released on January , 2026 #### Grid +- [Grid. Custom export logic for PDF, PNG, XLSX, CSV](https://snippet.dhtmlx.com/k4wberkh) - [Grid. Fixed rows positioned at the bottom](https://snippet.dhtmlx.com/8n0pdqhp) - [Grid. Footer positioned at the bottom](https://snippet.dhtmlx.com/etg7raih) - [Grid (TreeGrid). Drop behavior](https://snippet.dhtmlx.com/l5waxyqe) diff --git a/sidebars.js b/sidebars.js index 1782fc1f..927b2e30 100644 --- a/sidebars.js +++ b/sidebars.js @@ -2631,6 +2631,7 @@ module.exports = { "grid/api/grid_dropbehaviour_config", "grid/api/grid_editable_config", "grid/api/grid_eventhandlers_config", + "grid/api/grid_exportconfig_config", "grid/api/grid_exportstyles_config", "grid/api/grid_footerautoheight_config", "grid/api/grid_footerposition_config", From 4fbd518edfce36ba6a9decbb6d8cdd906ef4953d Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Fri, 30 Jan 2026 17:11:41 +0300 Subject: [PATCH 09/18] [update] what's new for v9.3 --- docs/whatsnew.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/whatsnew.md b/docs/whatsnew.md index 3afcd97e..d3d3e2e6 100644 --- a/docs/whatsnew.md +++ b/docs/whatsnew.md @@ -30,7 +30,7 @@ Released on February , 2026 - Chart. Export module. The [`pdf()`](/chart/api/export/chart_pdf_method/) and [`png()`](/chart/api/export/chart_png_method/) export functions return a promise of data export - Grid. Export module. The [`pdf()`](/grid/api/export/grid_pdf_method/), [`png()`](/grid/api/export/grid_png_method/), [`xlsx()`](/grid/api/export/grid_xlsx_method/) and [`csv()`](/grid/api/export/grid_csv_method/) export functions return a promise of data export -- Grid. The functionality of header filters is updated: +- Grid. The functionality of [column header filters](/grid/configuration/#headerfooter-filters) is updated: - the [`setValue()`](/grid/api/headerfilter/setvalue_method/) method (of the [`getHeaderFilter()`](/grid/api/grid_getheaderfilter_method/) API), can take a *Date* object or an array of *Date[]* objects as a parameter - the `value` parameter of the callback functions of [`filterChange`](/grid/api/grid_filterchange_event/) and [`beforeFilter`](/grid/api/grid_beforefilter_event/) events can be a *Date* object or an array of *Date[]* objects - the parameters of the [`customFilter`](/grid/configuration/#customizing-headerfooter-filters) callback function can be *Date* objects or arrays of *Date[]* objects @@ -44,18 +44,18 @@ Released on February , 2026 #### Grid -- [Grid. Custom export logic for PDF, PNG, XLSX, CSV](https://snippet.dhtmlx.com/k4wberkh) -- [Grid. Fixed rows positioned at the bottom](https://snippet.dhtmlx.com/8n0pdqhp) -- [Grid. Footer positioned at the bottom](https://snippet.dhtmlx.com/etg7raih) -- [Grid (TreeGrid). Drop behavior](https://snippet.dhtmlx.com/l5waxyqe) +- [Grid. Custom export logic for PDF, PNG, XLSX, CSV](https://snippet.dhtmlx.com/aher21cg) +- [Grid. Fixed rows positioned at the bottom](https://snippet.dhtmlx.com/jsc1tbgc) +- [Grid. Footer positioned at the bottom](https://snippet.dhtmlx.com/ivmm2j89) +- [Grid (TreeGrid). Drop behavior](https://snippet.dhtmlx.com/o2v3pcg0) #### Tree -- [Tree. Adding tooltips for the items](https://snippet.dhtmlx.com/7j097ht4) +- [Tree. Tooltip template](https://snippet.dhtmlx.com/kswil8cl) #### Window -- [Window. Setting the active window](https://snippet.dhtmlx.com/lvm3kfwq) +- [Window. Setting the active state](https://snippet.dhtmlx.com/lvm3kfwq) ## Version 9.2.8 From 16f55336a49e245cd6cbf3f7d9a9de72483e8ece Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Mon, 2 Feb 2026 18:31:02 +0300 Subject: [PATCH 10/18] [update] complete docs for v9.3 --- docs/assets/grid/footer_bottom_position.png | Bin 34796 -> 32979 bytes docs/assets/grid/footer_relative_position.png | Bin 34781 -> 32685 bytes docs/grid/api/grid_dropbehaviour_config.md | 2 +- docs/grid/api/grid_exportconfig_config.md | 8 +++--- docs/grid/api/grid_footerposition_config.md | 12 ++++++--- docs/grid/configuration.md | 24 ++++++++++-------- docs/grid/features.md | 4 +-- docs/grid/treegrid_mode.md | 2 +- docs/grid/usage.md | 8 +++--- docs/tree/api/tree_tooltip_config.md | 11 ++++---- docs/tree/configuration.md | 10 ++++---- docs/tree/features.md | 2 +- docs/whatsnew.md | 8 +++--- docs/window/api/window_setactive_method.md | 4 +-- docs/window/features.md | 6 ++--- docs/window/usage.md | 4 +-- 16 files changed, 59 insertions(+), 46 deletions(-) diff --git a/docs/assets/grid/footer_bottom_position.png b/docs/assets/grid/footer_bottom_position.png index 2e95b06914e5cdd6927c6c9c2a34104ae8bf4fab..338d316c714ef25b0d65fb2669cbc70e7e61699d 100644 GIT binary patch literal 32979 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 ~uO(gV#~XQsxRR#P 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 QAt7E;@8p1`Z}t5C2Ms#E`2YX_ diff --git a/docs/assets/grid/footer_relative_position.png b/docs/assets/grid/footer_relative_position.png index 769eee448146744cfd9733d947aecea21978a6dd..c09c87ad70a24e37e6d3bfe92cbd6507ca783c79 100644 GIT binary patch literal 32685 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 Date: Tue, 3 Feb 2026 12:04:43 +0300 Subject: [PATCH 11/18] [update] complete grid column header property's description --- docs/grid/api/export/grid_csv_method.md | 2 +- .../gridcolumn_header_property.md | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/grid/api/export/grid_csv_method.md b/docs/grid/api/export/grid_csv_method.md index 49884671..68f34d90 100644 --- a/docs/grid/api/export/grid_csv_method.md +++ b/docs/grid/api/export/grid_csv_method.md @@ -22,7 +22,7 @@ You can specify extended export configuration settings via the Grid [`exportConf ::: @returns: -A promise of data export +A promise of data export as a CSV string @example: // default export diff --git a/docs/grid/api/gridcolumn_properties/gridcolumn_header_property.md b/docs/grid/api/gridcolumn_properties/gridcolumn_header_property.md index a97e9ef8..e92ecca8 100644 --- a/docs/grid/api/gridcolumn_properties/gridcolumn_header_property.md +++ b/docs/grid/api/gridcolumn_properties/gridcolumn_header_property.md @@ -37,24 +37,24 @@ header: [ icon?: string, // sets CSS class for the filter icon in `inputFilter` and the calendar icon in `dateFilter` /* properties of `comboFilter` configuration */ filter?: (item, input: string) => boolean, - multiselection?: boolean, - readonly?: boolean, + multiselection?: boolean, // false by default + readonly?: boolean, // false by default virtual?: boolean, // true by default template?: function, /* properties of `dateFilter` configuration */ - asDateObject?: boolean, + asDateObject?: boolean, // false by default date?: Date | string, mark?: (date: Date) => string, disabledDates?: (date: Date) => boolean, - weekStart?: "saturday" | "sunday" | "monday", - weekNumbers?: boolean, - mode?: "calendar" | "year" | "month" | "timepicker", - timePicker?: boolean, - dateFormat?: string, - timeFormat?: 24 | 12, - thisMonthOnly?: boolean, - width?: string | number, - range?: boolean + weekStart?: "saturday" | "sunday" | "monday", // "sunday" by default + weekNumbers?: boolean, // false by default + mode?: "calendar" | "year" | "month" | "timepicker", // "calendar" by default + timePicker?: boolean, // false by default + dateFormat?: string, // by default, applies the dateFormat used for the column + timeFormat?: 24 | 12, // 24 by default + thisMonthOnly?: boolean, // false by default + width?: string | number, // "250px" by default + range?: boolean // false by default }, customFilter?: ( value: string | number | Date | Date[], @@ -100,10 +100,10 @@ Each header object may include: - + - + From 6672b00c75b01cd18396cd3acfe227774b7e67ec Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Tue, 3 Feb 2026 15:48:16 +0300 Subject: [PATCH 12/18] [update] complete the treegrid section on drop behaviour --- docs/assets/treegrid/dropbehaviour_child.png | Bin 0 -> 31993 bytes .../treegrid/dropbehaviour_child_result.png | Bin 0 -> 27333 bytes .../treegrid/dropbehaviour_sibling_dragging.png | Bin 0 -> 31752 bytes .../treegrid/dropbehaviour_sibling_result.png | Bin 0 -> 27951 bytes docs/grid/treegrid_mode.md | 14 ++++++++++++++ 5 files changed, 14 insertions(+) create mode 100644 docs/assets/treegrid/dropbehaviour_child.png create mode 100644 docs/assets/treegrid/dropbehaviour_child_result.png create mode 100644 docs/assets/treegrid/dropbehaviour_sibling_dragging.png create mode 100644 docs/assets/treegrid/dropbehaviour_sibling_result.png diff --git a/docs/assets/treegrid/dropbehaviour_child.png b/docs/assets/treegrid/dropbehaviour_child.png new file mode 100644 index 0000000000000000000000000000000000000000..083d89cb09a395356794cd257e071dcb88cffc53 GIT binary patch literal 31993 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 literal 31993 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

A4_Y2ii7sbEi1pSQC%l%yG2QO=umj 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 diff --git a/docs/assets/treegrid/dropbehaviour_child_result.png b/docs/assets/treegrid/dropbehaviour_child_result.png index eca8515bb747e68a2c460ef44ab5b26dfdb7c165..8f689e6cbd41a27650273c977add9bb09a9def83 100644 GIT binary patch literal 27342 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%0ASvp!PPmY>Ev~(71(uV?>w|mnwU}0H8rS zRtLVrhZaPU)tc6c-g>e?`&`q+F{65_2_k3!!@fMt-!tFBk5P8?D|V z?r|fTpUD8*gT$grU>pX)tP?*m4`yWzV9@TR-XUMa(68Y}{GhTz+f3QZIVDdP>$;{L z_Buj3eMQ0$!xU+ssZJY7jF`*evwBeM;my&{Q4Q4BNa z615|vz=dJPn9un{jm2K5=(LK4-3$n?4tf8!Hg7LOR4Z2|2u1kfJ;vYT_M`sAYbMH@ z^_=Y%`w^vQgW;duW}4NT??GPeTGQd`i_y*MtxJi|ERXH-e{qRF=9<3)AH2-XN?bw ztDCViTjQ5#TsYv{)Z9`xy20cZTaa@*b3S0NvKa8jvR&+P_N*DT9w;T3lgIobMAF{k zYB)2x<@QX)>>LDjZneFIF88l==|KRtSTd*gT=W?6hhB6Z=IOHlk>bS3SW5*Pl%U@{H<4ogWWt~XyyU#~ z#bb`d2P=sAQlm|D*%x)N_4%uCuPm`tjawk&&8m7K;PR50D+N$DA;d2#iU)xP2qj}7 z?E|&X;#`mN?$x|!&Q`sdOFdDnQd5^7=>@891+Hftp|;r9@U4$^Wwf;3jb!an$uEEa zB{goq{=1aQ&!R8xAC~^mdQ#rrv>ECdf0{Z+-RpB|YFfU|Pz(5t@Wn=a8T`3hOyAXd z$+|NycQgyqHNfm}0!-a3qb$d)%HK0(4-;ok_#INTNhbP&XbDZMyugAd=I04Q*omyW ztnil;?6G#I(*FuMuk73C;#uV2mqke-uV<3S*XsRXn_TFCw(tt~KB}nswVDOJcHEtmfm#p<+iu-B-MmtY)Z3KEOA3usS zEdDr)tOn}si}(wTFZVoqCTU zzlH9!gyD`Q>)3(V?~TDP#1#iU)sh9DIRDgbiNt9`eeygffj&>K9<`~Rj$k)M1C<); zx`@w?oz;m<-#sef(i|6_d7&|*CaD?e%a4}tbu5u?s-@DwZ>f#~Q2f{7kUyvFsifr& z)IuWD7_0UrYpmSON^Hw$`gZJf_^=1igkZ~x0sOTU z4(V~lsI~w2l`mv3{c~QjBGF~Fjz=tBg*U!-P_B2S5y8yzAqoryiu^KJCt!>1*WAes zkCAe`jT0Q5CV(tXSCdDe5>N25iXz&jz8_@iB zbS7XKJw-uD^t1Q=EH~ncSkh5#aTm(hSC?%YP}GokN^nB4tA`{uSRxW!yg3X zzg?)I1pk`$4h{~coVV2exereNc{A(pmQnnpLTB-TO8`kw5G=%#SB%X6*YzI!T~r8f MWt63>B~8Qs2Zf0cQ~&?~ literal 27333 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 S8Sw}zr1vt)(p8eiLH`3W6A@kj diff --git a/docs/assets/treegrid/dropbehaviour_sibling.png b/docs/assets/treegrid/dropbehaviour_sibling.png new file mode 100644 index 0000000000000000000000000000000000000000..35db008abb92a0f3d21ea3c78be27fff6ac73c11 GIT binary patch literal 32153 zcmce;Wl$wewHS#!g(_ z5d`F$)8_%YZbIM&ya?qaAuR%R`~@5yg<5hGqaOt1JBWm^fRbCr>6)ijg7f>wM{pFA zem-q4c06oLMCu|{QcYNhesSvG6bbAlgB3|{G(JAc0GA*QBe+!r#;y3F%0Ae65_oIU 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 Hnx6jyGq$LA literal 0 HcmV?d00001 diff --git a/docs/assets/treegrid/dropbehaviour_sibling_dragging.png b/docs/assets/treegrid/dropbehaviour_sibling_dragging.png deleted file mode 100644 index b72935f3e874c9996e8b59b57d5ee1dd381d90ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31752 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 diff --git a/docs/assets/treegrid/dropbehaviour_sibling_result.png b/docs/assets/treegrid/dropbehaviour_sibling_result.png index 9b78931bfb22dabc911ce496f3abc2798fe4e119..09433fe19ca4023c013f55877d8aee571df597ec 100644 GIT binary patch literal 27731 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 literal 27951 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�mCYmDYEo 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 Date: Wed, 4 Feb 2026 16:27:01 +0300 Subject: [PATCH 16/18] [update] setValue() and getFilter() methods of the grid header filter --- docs/grid/api/grid_getheaderfilter_method.md | 10 +++--- .../grid/api/headerfilter/getfilter_method.md | 15 ++++---- docs/grid/api/headerfilter/setvalue_method.md | 34 +++++++++++++++---- 3 files changed, 40 insertions(+), 19 deletions(-) diff --git a/docs/grid/api/grid_getheaderfilter_method.md b/docs/grid/api/grid_getheaderfilter_method.md index 141e34e3..ca920b5a 100644 --- a/docs/grid/api/grid_getheaderfilter_method.md +++ b/docs/grid/api/grid_getheaderfilter_method.md @@ -16,11 +16,11 @@ description: You can explore the getHeaderFilter method of Grid in the documenta @returns: An object with a set of methods which let you work with the header filter of the specified column. The methods are: -- [blur()](grid/api/headerfilter/blur_method.md) - removes focus from the filter -- [clear()](grid/api/headerfilter/clear_method.md) - clears the value set in the filter -- [focus()](grid/api/headerfilter/focus_method.md) - sets focus on the filter -- [getFilter()](grid/api/headerfilter/getfilter_method.md) - returns either an HTML object or an object with Combobox configuration -- [setValue()](grid/api/headerfilter/setvalue_method.md) - sets a value by which a column will be filtered +- [`blur()`](grid/api/headerfilter/blur_method.md) - removes focus from the filter +- [`clear()`](grid/api/headerfilter/clear_method.md) - clears the value set in the filter +- [`focus()`](grid/api/headerfilter/focus_method.md) - sets focus on the filter +- [`getFilter()`](grid/api/headerfilter/getfilter_method.md) - returns either an HTML object, or an object with Combobox/Calendar configuration +- [`setValue()`](grid/api/headerfilter/setvalue_method.md) - sets the filter value @example: const countryFilter = grid.getHeaderFilter("country"); diff --git a/docs/grid/api/headerfilter/getfilter_method.md b/docs/grid/api/headerfilter/getfilter_method.md index 4c9f8750..fc4465f1 100644 --- a/docs/grid/api/headerfilter/getfilter_method.md +++ b/docs/grid/api/headerfilter/getfilter_method.md @@ -6,25 +6,24 @@ description: You can explore the getFilter method of the header filter of Grid i # getFilter() -@short: returns either an HTML object or an object with Combobox configuration +@short: returns either an HTML object, or an object with Combobox/Calendar configuration -@signature: {'getFilter(): HTML object | Combobox;'} +@signature: {'getFilter(): VNode | Combobox | Calendar;'} @returns: -Either an HTML object or an object with Combobox configuration +Either an HTML object, or an object with Combobox/Calendar configuration @example: const filter1 = grid.getHeaderFilter("country").getFilter(); console.log(filter1); // -> returns Combobox -//  {config: {…}, _uid: 'u1670500020936', events: o, data: d, popup: f, …} - +// { config: {...}, _uid: 'u1670500020936', events: o, data: d, popup: f, ... } const filter2 = grid.getHeaderFilter("netChange").getFilter(); console.log(filter2); // -> returns an HTML object -// {type: 1, attrs: {…}, tag: 'div', _class: 'dhx_grid-filter__label dxi dxi-magnify', -// ref: 'netChange_filter', …} +// { type: 1, attrs: {...}, tag: 'div', _class: 'dhx_grid-filter__label dxi dxi-magnify', ref: 'netChange_filter', ... } @changelog: -added in v8.0 \ No newline at end of file +- The method may return an object with Calendar configuration since v9.3 +- Added in v8.0 \ No newline at end of file diff --git a/docs/grid/api/headerfilter/setvalue_method.md b/docs/grid/api/headerfilter/setvalue_method.md index 68786ad1..2d37e2b6 100644 --- a/docs/grid/api/headerfilter/setvalue_method.md +++ b/docs/grid/api/headerfilter/setvalue_method.md @@ -10,19 +10,41 @@ description: You can explore the setValue method of the header filter of Grid in @signature: {'setValue(value: string | string[] | Date | Date[]): void;'} -@params: -- `value: string | string[] | Date | Date[]` - the value to be set for the filter +@descr: +#### Usage -:::info -- An array of string values can be specified only for [`comboFilter`](/grid/configuration/#customizing-headerfooter-filters) in the `multiselection:true` mode. +- for inputFilter, selectFilter, comboFilter -- For [`dateFilter`](/grid/configuration/#customizing-headerfooter-filters), the value must be passed strictly as a *Date* object (for a single selection) or an array of *Date[]* objects (for the `range` mode). *String* values are not supported by the `setValue()` method for this filter type. -::: +~~~jsx +setValue(value: string): void; +~~~ + +- for comboFilter + +~~~jsx +setValue(value: string | string[]): void; +~~~ + +- for dateFilter + +~~~jsx +setValue(value: Date | Date[]): void; +~~~ + +@params: +- `value: string | string[] | Date | Date[]` - the value to be set for the filter @example: grid.getHeaderFilter("country").setValue("Brazil"); @descr: +:::info +The [`dateFilter`](/grid/configuration/#headerfooter-filters) type of filter supports only the *Date object* values. +::: + +Note that in case of the enabled `multiselection` or `range` modes, the method awaits the value to be passed as an array. + +**Related article**: [Header/footer filters](/grid/configuration/#headerfooter-filters) @changelog: From 1613463ba43d87b14f7ed6067b78646d9b0cdfe3 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Wed, 4 Feb 2026 16:36:29 +0300 Subject: [PATCH 17/18] [fix] corrections in the grid footer position section --- docs/grid/api/grid_footerposition_config.md | 26 +++++++++++++++++- docs/grid/configuration.md | 30 ++++++++++++++++++--- 2 files changed, 52 insertions(+), 4 deletions(-) diff --git a/docs/grid/api/grid_footerposition_config.md b/docs/grid/api/grid_footerposition_config.md index a86109ae..49b9bc0d 100644 --- a/docs/grid/api/grid_footerposition_config.md +++ b/docs/grid/api/grid_footerposition_config.md @@ -19,7 +19,31 @@ This functionality requires PRO version of the DHTMLX Grid (or DHTMLX Suite) pac @example: const grid = new dhx.Grid("grid_container", { columns: [ - // columns config + { + id: "productId", + header: [{ text: "Product Id" }], + summary: "count", + footer: [{ text: summary => `Total: ${summary.count}` }], + }, + { + id: "category", + header: [{ text: "Category" }], + }, + { + id: "price", + type: "number", + numberMask: { prefix: "$" }, + header: [{ text: "Price" }], + summary: "avg", + footer: [{ text: summary => `Avg: ${summary.avg}` }], + }, + { + id: "stock", + type: "number", + header: [{ text: "Stock" }], + summary: "sum", + footer: [{ text: summary => `Total: ${summary.sum}` }], + }, ], data: dataset, footerPosition: "bottom", // "relative" by default diff --git a/docs/grid/configuration.md b/docs/grid/configuration.md index bfbf7c77..76f16c55 100644 --- a/docs/grid/configuration.md +++ b/docs/grid/configuration.md @@ -1616,16 +1616,40 @@ You can define the logic of setting the position of the Grid footer as well as o ![](../assets/grid/footer_bottom_position.png) -Here is the example of positioning the footer and two frozen rows at the bottom of the Grid, as presented in the above image: +Here is the example of positioning the footer and a frozen row at the bottom of the Grid, as presented in the above image: ~~~jsx const grid = new dhx.Grid("grid_container", { columns: [ - // columns config + { + id: "productId", + header: [{ text: "Product Id" }], + summary: "count", + footer: [{ text: summary => `Total: ${summary.count}` }], + }, + { + id: "category", + header: [{ text: "Category" }], + }, + { + id: "price", + type: "number", + numberMask: { prefix: "$" }, + header: [{ text: "Price" }], + summary: "avg", + footer: [{ text: summary => `Avg: ${summary.avg}` }], + }, + { + id: "stock", + type: "number", + header: [{ text: "Stock" }], + summary: "sum", + footer: [{ text: summary => `Total: ${summary.sum}` }], + }, ], data: dataset, footerPosition: "bottom", // "relative" by default - bottomSplit: 2 + bottomSplit: 1 }); ~~~ From 5fd136243e7c36be6185c14d9ab90e3ce53aaf71 Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Tue, 17 Feb 2026 10:58:13 +0300 Subject: [PATCH 18/18] [update] what's new for v9.3 --- docs/whatsnew.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/whatsnew.md b/docs/whatsnew.md index 97fc31b6..5c34e940 100644 --- a/docs/whatsnew.md +++ b/docs/whatsnew.md @@ -10,17 +10,17 @@ Before updating DHTMLX to the latest version, please check the [Migration to New ## Version 9.3 -Released on February , 2026 +Released on February 17, 2026 ### New functionality - Grid. The ability to [specify a flexible configuration for export](/grid/usage/#extended-export-configuration-settings) to the CSV, XLSX, PDF, and PNG formats (PRO version) - new Grid configuration property: [`exportConfig`](/grid/api/grid_exportconfig_config/) -- Grid. The ability to [define the behaviour of a dragged item](/grid/treegrid_mode/#drop-behaviour) in the TreeGrid mode (PRO version) - - new Grid configuration property: [`dropBehaviour`](/grid/api/grid_dropbehaviour_config/) +- Grid. A new [`dateFilter`](/grid/configuration/#headerfooter-filters) type of filter for the column header is added (PRO version) - Grid. The ability to [define the position of the footer and frozen rows within the component container](/grid/configuration/#footer-position) (PRO version) - new Grid configuration property: [`footerPosition`](/grid/api/grid_footerposition_config/) -- Grid. A new [`dateFilter`](/grid/configuration/#headerfooter-filters) type of filter for the column header is added (PRO version) +- Grid. The ability to [define the behaviour of a dragged item](/grid/treegrid_mode/#drop-behaviour) in the TreeGrid mode (PRO version) + - new Grid configuration property: [`dropBehaviour`](/grid/api/grid_dropbehaviour_config/) - Tree. The ability to [add tooltips for the items](/tree/configuration/#tooltips-for-items) - new Tree configuration property: [`tooltip`](/tree/api/tree_tooltip_config/) - Window. The ability to [set a window to the active state](/window/usage/#setting-the-active-state)

A4_Y2ii7sbEi1pSQC%l%yG2QO=umj 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 literal 0 HcmV?d00001 diff --git a/docs/assets/treegrid/dropbehaviour_child_result.png b/docs/assets/treegrid/dropbehaviour_child_result.png new file mode 100644 index 0000000000000000000000000000000000000000..eca8515bb747e68a2c460ef44ab5b26dfdb7c165 GIT binary patch literal 27333 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 S8Sw}zr1vt)(p8eiLH`3W6A@kj literal 0 HcmV?d00001 diff --git a/docs/assets/treegrid/dropbehaviour_sibling_dragging.png b/docs/assets/treegrid/dropbehaviour_sibling_dragging.png new file mode 100644 index 0000000000000000000000000000000000000000..b72935f3e874c9996e8b59b57d5ee1dd381d90ac GIT binary patch literal 31752 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 literal 0 HcmV?d00001 diff --git a/docs/assets/treegrid/dropbehaviour_sibling_result.png b/docs/assets/treegrid/dropbehaviour_sibling_result.png new file mode 100644 index 0000000000000000000000000000000000000000..9b78931bfb22dabc911ce496f3abc2798fe4e119 GIT binary patch literal 27951 zcmcG#Wl&r1-|dY%4KBr9ix#)y?(SMB?rtsa6nBEVyHngrk>c*|u21^Aea?CD%-sL; zB9qyBGRc+6-q-r9^<4>9QjkPN`iKMp0f8zlC8h!a0htVb>>$8_&k$iC>VcmS9i+6K zAs{eZ{yrer%t<`JC*fVB<;CHTprBC*k*#|$y&)h-A*98G)jTp!R(b45hyu9h+1PV=rWSf*-=TBoi4tuuo z`T5doda%EO1~dLuccetPrUz8-|-QtJ-!zrsGV@u4KetzZ^f9Pe>? zxIWvOO$sxbUP6?d zf`uZ`op4suB$AUsNJXCYi3%&nzc zFfH?1LAZR`wVm7Pn)p$DEbK0TxzA+oIE&|Us@7_LPEfIUAt;$q6zv;8vlrD5q+c^I zH>SA%=`e%N*)^|VTAUjqU_Gs^Y9QKaM|m$dL1R zI3Z*30;r}ed-`aZik>@()~QpRJ%z7aXB4%$b?ST7y^5cIyT9n-KfYp5UZ6S6B)o-4 zL+(sDcv5VtI}M0wPd2ODh+!!jGQWCYB*I-=9?fp68ZvadvYqzt4n@uIn<~hz5UKvjbGsR{JNZ7KhAjLoP+vSN+((Z`ixXWOU~b zH7~zE)xQ`N45FrUqjyN$_J`#j@z#wIIjHvJb!&5f=`D3ICh-1X_*jI!o||7?_fnYU zF(@Q9T1R=tN@!ua6xs29zb8HEQ-^s!d??pF;^4V30xgNq!4RI<5`NGn_^XX300| z<(Xnb=bUpkJPm}7*eBjsN1xxTvvxOZ`77zG$-XII(1p)j5(><2T6vEeQhH7h&xRuw zFv@Olc0=39>23?Wr+@V05MHV04yJTQ;~?3qdAX(dG`di4DoACLa`bE)(s(68~ z%MbKXg^Ot5Jp~X~_aGQBNw_K3-iSAp4+~2v50xsVA`BV3w&F%_PjLqEd5$9r+V)O4 zbh(gb+3+Ua&7CnJo>nRqqGXoXDKdt7oN!AXGLN*a}=BEUROA% zcD!{n#Y>4_z{A>m^x0kgFQoM(-eFm>-96>iCl)Vi>yB>+aDVEYZy7ocACPgGLg$BZ zsAwxwE-?k3ii{&b7syG3?*tdk>irVcR;-av)m2AyPqAKiiFVt)ig})1mo^em#uQdO z4Q3R4_j4@mmxJa9t7!|wcKli(AGpsPA_3n?%kBt`w%0qNe>(c14LZ7YHH2>a2QT)m z%)TI30l5Pmg;0YGg{1GaXd2-Fzpp0S{0;~;u*Q1~alJg!+XGu(oPtjcEk0eGQ#y|&KJLwk$?=yUOX>HGW>Jfub{x~Z@i5~gBEq9gulLfYqH&K)0C2> zf&}>?+S)yQ76sN$r&{EfuOxBt!VDmle#65x&3M?@^aoR3oNO(w-F}3w8k(zhU6wW% zI#_>nV|DR=j$E5z(!vt>@nek$(?b#i`NKKoe*XO;iBMO<>Tb_<>?D#c$6M$Rm=A5g zCON9v8u|3)=GXhSS=(!|xWAeR;b`yp@f$|2|n$%3EV zECmC!{;l0z5o#))C>IOTF-^^Q>~#j6FU@B{OJ}ooTq0EfQ?KFW3WhL?&8kZ|K*ppk zdoKdPY!l}jFHs{& zo`srQ!i8`s$ni$)-n+e#oPtE9r*E8X`%z04^lgf2Wg(1!_m4%VA7O6`@cXL^_N~12 z??X&Z)JhpqD4E1B}+5F<7Uj}9nJ8Ggk zwmz(%T9VOPu}%qf{+f*SX@^|lR`lEmVd?cN>LbY!KFtZT!{d!-}7m6Yghn`CQ>j@OE_dpLupO_{knj#0}+vs_~t;^rMPb8TYo{;vMLliz^R zvU|Qcc!p!PfzO1nem^#-`jr3uCF5kJ9e6*_L?+m!-d%mL9~ISs&V5)wpQ8>yAa8yl<4(u1Fmf-QM_x+lE=C_ z&(1f4k+|-j-#}Mi_ql{qW-rC|s+!Tt9W~B3BD7&p5#_~>>6)Mt)L=pbIjn(SQl+(1 zhkeqx)Moh5ptmloezd)?iFl^gvhaJ8yG}g)cmlH3Sw8idMMXSqmQO;%9evL~@!R(e@PiDE;BpF?Q-tDUi@|pesk5CSczNRp_8#(B zc=hrIX+l7?p2l2O)GvB^MrXrzD{)^b5HBml>|X|N2-$GXKm%$gl4H(#7T20Nmn|P$ z)$XG3F}0hm2+9pOFTSu<4@P!iD?y5LYGi_;JnPTVZdDw?|uEH;HXW+Oa zx~6@`qb*Bw3)(_ZT0)(d=e&}_;#`SZ5O1O%iVwcb>U&i;DTk9EHC-d9{%DooNsxHN z<=Ul+d2R8mp)HK2mb1cm;`n&@arha@zBf{lMIHWkLWrU6n<{R?YqOWZ$^#saKk;b) z!D3YPii|D%Of2vjjf==5(AHW*`Mup_5XF+Gs}+4-Zyvr5$63+63uQGBd@Y{CTTEs? za(yo=qmAg@=m~soQxI_(TdcRh=d8$ImL=UDgUmc(t^&bEN=u=kx^Ar^&RRUexHLN_ngiL;L>4NmyBzgeHG5wNFahvkw8qEP^=^ zuZ8yYmxold1-l8KyYi_69+;$R!p_NvgttnQBo=;{F%oP*W+XjV71uVt(CY%`mEJ{(D9)v}MuvLvj=qvnaf>a9Ai8PtbVzB|JKKHZ<^y2Zpk zSDlYlPQ4Ga-ygis^B7Qb#Uo^-C3f zqPE9f4nAd$Z`yG>d^XYNi?0JxKW3OFK)L#CLs%%U_o09lkZ|!>Z*6OJ0 z#XsI{1Xh4K8GRRS=5zJME(EwP?s0KV-yQva_2+sJPa5eS68rh8;$iwBdcW->&}225P5R>FlA>v#LxWq@x<}DuZ9SmW5 zzRauo60aTqc6XR6c^Y%%k1`wg=a4@I&F;DtLFst_xBa2tnj#hs)IaU1z89{346FLf zMR)`vVTRkJ-Do0%y-li2WvMa?1>p`GXuvG(UtFPpA9nP{rklN?L#2>bHnn2QK4WUW zZ)Xn=Xc&xJ-Xr&$0tW$u=uVv<{JSUjk8m1^0UIQ7B5%Dvaq?ewMGE3_VOAj;5Rbgd zKKM(hXZ`pYo;CjV&hG>L@a}|x>E9ATAqmKRi-liJWEp%Ejy{5XNo!*S8m=GkJDF3@9c+@V-rsRiQ^K!~G>t!g zz;M1@zvl|^dMZm(2uHO_!x!Jzzej;KLMS?3eLnD(wGRx1b;nZ%bdL~_9D33UB`gY^9gi9k3=Rm6 z_Qz_}Ub>H6imi{O4$ep4zcBnfyq_dR^Y1m6r}-X=d})#uI#QS8ph9LY?7@ij2uhQ}K56id`ol zf=BxcKj9C$mwv)mKlX8**B1sC@PPdhUoV_`G_DM;y6pIU7coC|ZEp!(at=C&iK^P0 zzU;Qok)BC|B=o`e{~iB_*D+u&7l@i_>KUp2UgL|0M&vVH!)RAcF-?NaFd5!6+c08Zh`hhzP2@^QNDR`%Y9*qnBT&l^NU zZZuq7Ir>5Y=f_rI45ZH&OG^6st6TLh!H8r*zY}31(L@mBrE9># zfZX_H#c3+AFqDKL66RMj0owC#)=Siir*(QlnLb2JiQ6XxUBm|Dt5VzwXWH}V+y!WUZ2$DK{3 zN16Ic1569?ubp?l@T7IEYN&s$(87vbv>7DKn5|>{bz6%qTY+D{D0eb_%gy9geMB^= zsU9$3Q@EpO**|Gp78)AiO2?RKKWGzUZtQfQLJ@@as?QuaAiqd5SD()vJiC>QYp&#o zQyj0-5qRrQ+qc>m|EG*7k!Y5ky?2M`_eLHi2kH<=b@4%g?k?qAa`k7#X^wkoQgvaR zzum{hfx<)_3-(hz!BSZ4Af``+H)#l@0XNes@%FGKX1-Q}hLUEc{>50&&NB~fq)E3x zZ`|F-ewk5gw8kZc($1f=1b~D`xf$oA7*_#9o^wBRg}WsYoK>jC<$CF5TT;KuER|>8 ztu&42C!XW5G{Zg$i_7Yzs%EWK;z_B1r=`$`HH6 zJw~}+y@eN^hc&`vMWqfBLGQ>sdz0a4jywpM2}-+3U9CIypFY;K>v|Of4*7_t5Z~ik zW$O`mizQ(bIc1+ht{dU(-h$Bw0C)l^J5i)op(Wol>g0E$d>0h@(O{KWUg;x#KV~@2 z_Pbm~4gNXw>46Bs=>A++8{_b{#buN!@ooDC9a;6V`eZN!d`*>qIS1B0z+xsOz{_uL zr9=j=>?w_eleJ_3)|rJ&A!nVjUoKm*RNfLL&pLZr6k2nN2qRkycIBGA-%Zn50lTeO zCfz8zlhW*IZr-$;%?;6sgQczPGGy1KS|1c!5=NR8P4_A{VHhCn6!>~-**;#6;xw98 zEcsa)tfnc3GUa&6T@oJSKPWRi5lx zZLblCi)CYoR7WgwJF5#q+d6XET{pEvNokqVb1Z2XGJ2r%Q5F`@0{sdp60$0NF=I}` zy~U#u!?>4Yvff5j>u9ciCFRx}SyQCHL}A6SilOk`)xii=zc>@bWx?xX0mM*DCSQMU z(EM4QJz2c<D`r_~DGj5OQ2aQPfukmyC?3iR-YU9A2bqiS7R;?hGZ01Xkc z{)NR(kAvQd=ojK>#o~_tfyBV_soMz_3f^Z37N>hX%rp5`EZ;*&H7kaQ8phG$yqT&R z@Vb<|S%3{m_R5~<-;^Bv98qHZYMLiS5FC?c&b%2Rd0jd)8wdKHAq2?K$40{KPc*OC z<63x$cC`tlr#RJwhz9XxrLwk9@gn6WdJ?SrFiiVqa*SHOGHG{b9iDO`r}uXto|{C* znrrs*I-N&T-rf`2lrxI$dy)S7ZfS>8THo>YaK9j7`2u6k!j$gvI~!x>bIPZl0+%)H zxkaB-)`9&RpUR{Y5B5ga90DR?r#p(E8>eSPGBN+FKz57C7lJS9>R95&4;P!h`ZQ#1 zg>7v*G4th_Cw}qNYWde8gT$FC)pr*{(_Z|@oY)ih?k1v7dOv5=$ zIVBT*>W7r~@U1kC1n^kE$GGB{?0fASUS^lC4wL}j;>azyFD+S9Lk^W*ux^UD*|tPW zYPuuq9eIaj*ppqU7KkGUZRmP}q01MeZjH8KP?<*S5<12*2xL{<@Dc53xJ71pML#jX}-&VMahkcTYjVoEXKzsb>@ zzBv8lmYPb0d(9i*YfH5mE2=_7Jo_SU<}j}}-Cd*OL36P&oy(J)n!?nbQM_TZslP2E z8TR9j{rzF`l74^8yIfICzk;y}Lg@US>YPHg`qy3KRJ6&0@5z0)dxSE`TP#l~&Rx%R zGQIRjzzkW3VD$zSqw^|Sn=e%O;)RJ_s#04Q`UShm z&o=8$f&#eG3UNfwONPeWsi5sx?9KP%#)Z>?o$=sL%vj1l&_rAeg%EL|;}$*pqv7`9 zkm*wT#0Ru91HJ}gN({xN5QT5b;9M`7%P>jA!dKz@~i8Ih%UG`}_{M3u)3#^`pT z?tw%a{fSVtiiB;L^^IwJ&LepOK|&eprdg395lMl2nMvk#5So`r#(hq3RAj5N=K#Jj z>nS6$5zp?kF$x4!)VO~7K)m$Rp2I+VqAnUnP=HoUH#|;@xv_3%oBX5EoD?H}r@^7&75FWr$MI zgcx-*=ms4pBKr}GhuQN`1mORjz zH5U`WW&Y8f8)!MmpSZ6Q_R5yXM>AozbebEqzNH$daFh>Ia^g)D9B?ILb)24ZDtl@D z>h7MWgh0kSr+B9Ikt0NQ<(mVJPKUnQ$6%SzBlWIFoCqTReh7c}nORw!wuZ#%X%!h@ z_<>8;9M%lQjx84Dm%fIpA2Du&JXR*NDCQv|OJS~=n^ zH=ot$4P;4;E6>XZ=!pRba2~pwJrn_(k)~=-YsPBrj?b{BghhXlJn-dn59r-$?^lu% zRb+Q*yh}SuhPcV%TP&Qk3G8#WI(=P;KG|g!^NaNlqUBk4ARoR6Sb#xQ>>U~BB19G} zF9IE^i1-{x_jlwG^j6C1NlUAoNFR>UaLlh1SjZw$g}-9il;mi@-ev~Abg;pRiKCa@ z5>0(_q+CCve#a-+E#@ylrO(#E-36)z__08@X^)5BYyNy4{jfrxGpC|_7$E#)H!cM6 zO6p*<{$p&r$Jq*=0co`QTM~G*%=ZLhPo9HvIq>3+bXsO}dhbrDF=sC5hdziJ_n{B% zAJppsNo8_mJy}#z+LVc-vKXajDA-lh)|+@sOO|~7#FJsWkR35_1POHm6DnugdW$a7 zrXG?#JWI&m%E`#e$&ZQ@qPrJ=yPS5A8_C2k!0w+Be4J(zZ(>W^*W2oUCZ_=6!gl|U zE3fa?5V6j6Mh=>tS0`Rb_s$(UT%{52|AM zn}U7%*Qa2I(^O3QZL_$p=y^kB<>k+9NLxrFf*p4ah{->o;n^HEesz_Ay(YO(tKaS4 zHGNy<{`t>h{#8|g{|x31$^LG$@>N|`63zOyx7d09j>;yiU}rLa+tSwXxcG9;4t_xz ziTh_xFl3vdrtIbQ$BV_ySo~B_98MIA#|<{UIQC5gDvVIL`_)L?cFdJ{D5%%nZ!ozf z@hMT%4O=!=F7bVcLgrg2!X>KkpOaX;)B%G;PqRdAKZa;nm7~vuferJ*!etUX)J@R1 z3^hehP?fE89=u)#Bc(4}TE_~W&Ph@k24ke)*Q+HxlYpl(Hxclx`~ZCSrFgxc9sF|r z)-gVYTLFiysLnH2tYJi?EES_&eHjk}0dL!1<$`YYLHs>dXK8J$)Po=G%7M7F8PLM7 z)>_s1sw}ImLERogQ_sW)_1c}8SfDdZi<0XRhv=YkbAzO?k}m3~fbiD1yO3NIN2Dh; z$GF(NwM3N(UE`!lv{9|N%^(WYq`c9p(X?%`})o;s20{%I_r>0cZ$&`Hx zoM|!s;*Htj2!s|@V)5#HyAsm>;yshSv5;bvj`70)5-Lh;5^+FP`*8Kn&{yVhQ7O+4 zJ75x!NQS;5M3Wj3h+T4uP17*{S4y#PCb_`MUC*+(?{RwY;$;tucufFW|MUFNHt=|y z>!iBv@ptWT?b${Ip}Qb2W3e>e*uxnKrvvGTTteya=R@z9*aFSYdLl1xhgI2 z%#N6B;9$2j{@Cuk@Qs;z2u0U`HV+B{;H_Dtw1GRY6t8k}tkU`@MO~WFejg=Txg@+O zEWl17Cn!4Rc^~OeH;+?yfOFwvLbb~grej+?Yan$L9XjGu1f!{h(pu=*kKgGoTqx+S zLo|>3Yb4nhDSS?(ZlXs?UBoIRFhiA7(j?(dgY1(PbH=uL(QCwWmvf4+!pFMa%7D?&@ z&yQ_2XU{63!g!S<#T6aC!gH(y$1y|={#CpW|5xVd{pnDYmg&=0eW;UDXAk~m`^}o&9FWVT=iEFzS)QY1_WizJI%XqVL{7eZ6eSj8a4V-GczgLs7olxKRN zc+0EZ8CfGS5Q#QzllWvJF2uCM@GHLqMJ_71$z69(UVGi2xaCB#u=EjTitsMgvRmAk z5|1DxR(X?uwjNe6FjAg(OFCAtz%HNNov~t($JZkWnS3>Fz;|v4o|vbKzfM)`%W?fl zhfv8KDP_g)&h)N3>jMvA6g5)F%{NGJ=EvJxoVu}L3=By+e}s(zj44?R7z!E&SiD5E zOX?Yrwm0!2+VZ}?xCHTkBb$QRxBda*RCQvF?|=9`cr6sLQyAw{@5vqmC$O0y&rO6q z3-wv;LI@sJOpXm|m8V*FuD(0Lg0VBFeX@I^#tXYdFd7qn?$NxWiz3>T@8s#im$o9i zd?OZA`17im-|5`8ZT#+rQTlx*g zU&*ipcWsh)5e>F{AX(#5hEluhj2991q-sn#Z=>)rzYyr|7fi6ZKqDH z&G(Ig5~7IfX7$<^+zkLqqHisy;-Qb1ga90}gMUkJrp}#xwYQ~=D<Fs|Fjs|J5VARuw0FwQFt$AQ>LR12)_1O`9IFuYKnv5zV$oFp< zMO=^w8%+Gp_$ov?N4ezvkNXh0cDEn&s2_$~=Rne$smURDEFOe} zcb&NBlY!561X0GR@I&YpV?F7g`o8x-U;~@IS}G2CZ|t*IH89vlbzDyWy!UOdHdoSU z976^}R-SKMC>a6{Q1KLq`n2cy2i13Nx*0D&Ic)Rql96)`643t^uYorugrreu^rH59 zd?1N3E{QZXe8igGD7s2O(sM=QC&%mJmMA=bR5=|y#f@^r``*kqemUZGM~wHSzjAQT zsr%3MQ#(yh9@X~hID0Fdw!YY|_?OB;lfdAh##K*bsR1zjJPu$V(5$WWtVYDO@25N1 zj}{)t0&-Mzm4m)23u4oMVG$PIsB+7nEA9M7$RM^t6z*pT$?OYu?$07U5kXj^leaB3 zy%f~B5ZS8Uid}sU9AZeQBO{xmepvo5HS1s;)X5D~NN66gzJ=TX-xjdn4 z=_fu}uP&q_u{m>EvmI*mtnz@#;qmnX44#60as8wavG^x%KvN1v*rc*BuAGMt)0o}0 zozZ-ZkB#AKtfdGgTvWgIOsW5zjEKuME~T>y#ibkN$8c{yoP(D=IfrWbWafmX)7UK(El=CRc!xY-y<7gsT)@$+#-MCQm9&q55HH?P$g&&QsV zrwsKt?^}iIKm2KDd(w1w%|p!jCl3yfWkQ~YYpysAk0sm^^B0GSQ{e@(Ht;w?(Iv;X$Wc5!a^#4ihtd;?s=yo~8NMX`HiflueGX3-CkFP$g zW3U;Cf%g*37&y4V=XNmqC)bDr>UBSXNtCm}j!;T7^SaltJkj2~o1{g1#GH-YPCv`?A@BBlZ^?_4^+*eMf2xngpW0K6-q>EiFzu7Z9 zoR-q})E%f&S5Ht;m)Mv6Ui0H*8VB~zcqCmrSA8XJ<#%sHR<5I`5{E{oZ6_%8Q{jQJ{#zzLSO~p#x zRpPD4PC1~#7TO8?!THLHTHXM!=oFD8DE@tdAB6)U3a_I zDYd*rT~(5^MxK1_)Ux6{yC?SIbU!jvfhki{NBg-H6TlngPLuHJK+D@b8EF#>#>u&N z)tDLRwyA5WNspl4!fTG%p!tN_x~NedY;h8i0;)hsYQjFN$pXUfa^oaijhO;!c6G+} z=L5T!O($E^$(V~CLmOI_McJldJiEwCFQfC&NO4i4ZNU?Z|c3*O5b(CZS(qk@{Q+|F8|MmM1YYcRG zYgiAmWNotU!qZsNqh@pZTY*;1B4v0yL z9Ij}~Siv=6peD&$M zNJc1Kok74655d~_tB+!pO{!MRl(&O@W`e2#$T@ECi}>vu};9 zJ!ucc-A<}Mkrl83Urrm>!pmi(CLA1`M5q=1w3MpF+oA#n0czqp|v4#-PaA_>)X=uk;Pg9U(T4hI^Rru&mcm`<#E%jb0@;HD%l>XXsZ9oLvARHP z#b&=f@-AQcMr?nxYhj|?=AbWuanH_?BbIH;gjkaex<=At18A(ooHWWw zK+o$`G56sls~xGiGI=h=%>h*Un5<9PV~gRH1MS%~pd=^K`J!Au(HGn6v8^WuZ3~CW zWQ)I1u<@3#A-)N6t1bcYblx;=kRu#j>yw_#FI9TfD7%JR35q&Z>UC5L?s71zwm~^<%^;^>Swjl z?mr!G4f>MI|AoP<=&17khdv5T5~w!-8HDR>>FyV0Ayb|a!-05>F2HRQ!jdh_TDqL2 zCEHOe(%Ptk=@f%DmY_M*FBYn}8@d!(3MP)Yh|uPXLrq7#Lg4%IE+hGf-t3DuuH1v^ zB4g{HcHGzFyEvfw#wn6@`rci#_(L}Pli^GJhNgmZSH{poY?ZYx)%sQ9lqup}rbJ<+ zbIrfGx32y11F7WC#6s&3dW?PPr(eR4+EWa?L;}RE+ob9uFj@6Ig~iOV6Bg`*d&b9U zDf7w#u6)}U8lN1mUdczi9?|70nGe2OJJZt@_E1(gdF#qW+nehn&g6;I?KNDhK}wO+UBqK)o+Jmv4k% zF=F{Lu#f%ey!UC0NE(;Fy^_)_vGE|i;ytvO6;0>SM*#8i*s@;RmAB(OfrqY+vgXYh z=;%t!kH<2c@Y3Zv89s(7tXILM1~JPNque+e?p^YuN7EtdnMw5Z2#;wM0;`Q1{uU0U zIA*irny#cMz7yDqcGi%Hu_iseu24?zJ=Y+j0yiu6D%O)SXkfa>tr&%#?d$zhPR5S6^h<0fkw( z^S_ZC84@%kdWG>u(EClGhoYSb8CTLYsQ2-fFUN?p0r`&D<1 z=}Z?V0)yTs8%8Q(rI29f_d2RntY3*z3U#Q*$jGeoWjX8^wVxv;?QSLs_`ee8F56O$ zuMbebwvKyqNA|B<#6Mo(fSDr=(HZfzF4O-lKc(DK#>_TEM8XbZs&#D_^de6mCwkDv zFwUIFmk*bahCUI4f0(G#wS9hu68_J`kC_TBE8pvRciUOpEyEq~=gkwj$rTPoHQ5L$ z%xF;td-+H$kIRGf-|avKUys}+52Im*yp;`lHXQ70s?>C)V{{M2QS*EYac{?w3m1u~C0r|JBUd~>{fgM3&$tIgcQQS}^MU72zk z757pIhc|>M=4;M8v->*IVNL&m=uKJq!_29v>-`r!({d5iH|yueFB{`&?C)?&>e%AS zc!EA2hV#;4cBNHS$=kQ|^A^uFm)?wySICIz|CtWU{tr6lH$@lmd50PJsk=0v)Z+HH zDfGYUjewcmrS<(8oA z8RH2gP=QJds1|6`m8J4V_{ubQAxCqJ%qNis?p9b8(4=X<{LQrYRQ)<|IKC(jSD3M3 z$l2Zx{H^kgE+^t&M!6HU(+|CdN1y!RbMX3tk2Co?mW;+;#C2~h682UGT&ZoLd+zgc z!z%u%b0TKTssNtl$;e!On0wDfX{H{#R(kVB7RNoOY;Q@N-m;+vHpVCFpE*lz6zpVO zi<#T^8)S-__2JZUsd-3paMQ_5ni)EfADMID|yi4{D$|FKQI+~wGSh@ErE&S!&;ww{)n{LuSok}}0@ zLMxLKG$3LK47<$!jtd7GOwP9Cd?S5JE-|)4mQxQXAK|hR6lNsB;q(2PajlBV1x$Yu z;LQ5p^T^r6+S3&*mrC4S{Oxo@y^`|6tyuhm0y{GMUH*Vqte1aBrCzJ_{X2y+rF~K% zclamx>oCis?2`sUt}|yer}n90G=WXzlpCYYU^LCZH%!LgYkJ>#~q@O+bs5Jsw0!R^l#C3(m5gKrEweqdo7Zq3^~BYP`P3Cq1`|2K2u7foNN0^X~z$ z9h>p`a+l4n#TZ!9vz195x1%5QT)$)`d}78`_O!-|TlGA)5y4^&9Hm`Q`m5kP@QFZeO*?YzP~dSN_KyEj&p0u>wPs4bKX>aXfmc>?K8xj~-0VbaqE8_d z{TaZvKtMCb`^&s5j)(}QeUWhKC@JqU(Wxf zwbSbF_P21^V)ZYpTK*%zjo<;MYzmX(;dJ3Y162)hw{u<{O;ZY7&ncF#K_TS+37)s! ziR%X)pg)e>mIMDbiH-+<{6A`c0(dmiYi*ovT{)f*0occX2Zq=0&F=TL^7@|n=iT{X zuLW#sZ18^+(TS^~T2R^BLePn0Fv?hoI8K!(x-i2q7#oF)$kA!Bu}5RCPYKC?@t=|DB5FVdzzhhA@W zbk~S}e-l)p>}bAU8uPAh^gI5#T#^kDX^@l)LHtK@N7+msL9`#yL(NBXo|i;1Sz9RM z-51AFrL>)U-GGLp2dNKK>WiJTdv9?_GEF)omt3D3L7~7Hv00o>HC>=0iP~ctlSGAf zyDb2KC-5FwMyjv#`4j2|Wfg#3ae-1!{w58Ls{h*0!D1`)Mf_BkJ3DLJSAcl5-Nd;l zPM2Wkz)q#7ZX9&u&O_1;dT9v1_n__WNKu^#)|zogfxSr7H@3HC57wQdcNc+@{Ww%h z+GASk57KmqKC!jd^iA~4Kk;aft6DwYJo_}6WtFp|i5Q5)$M7Fr00j;llL?j!vvT7b z!KJxQGkZ;Q_@tr4H*w@YBri#?(VbX!e-MB-O71?dCvZqLIG-^YQ)@4E2+mZg@6L(+ zUsu8bx`e;)0Zua?sM2$t!rgEY(Ly6WfLfR z!`RwXiJ4^D0!;lnv)v7wOgJ-G?OiW4R@=ElUtf-~iKJk;8|efx#V<-{Lia8s1^Ml; z)zuwIjwzkot$=Qo38Q_FC1o;in=-uJzo}L@WMZdM-n2jV^$!Wj{*CC# zQCNj`k4_GIq!QAX6jR&qALad~c(T`hWIA$3KC3?7s`{GocT0Xm7`S;n>x~e5TL^Xf zExPFji^V>9WkOh6ACxD{!z*1v6QsTxYwM&M5VQ-dO`jEv_nUS6P<$0Ds_P2js zd>?G-m0L?*!hx785ilL~MVI5Oqm=FAd%=(RfJ-)ir|;bg<=r0x1-75nvF~efp3VzS zy9j#xeL8GuX>*@kuuzRC#R`weSU%rsyqXXl#g$H-b=-Pn`v^`_)>M3{*k@cnv){>I zv-_ydeV+|fYcH5uSCf_;6xM+j_F67qc--eLo1CnDa@gmM>(*M#5Xc8+9+Fyc-Mm{$ ze`oVIZeiStCYsmmt8EdLnw1 zhHPZcaDLpp7kD`D3TWn&s#zXe>wciU51GO{pCEA$s0>r>A)SDo5enVbVre7+-vOl9 z-qd$NmxeVem!Sq;Li{os4be@=BePYx5bBNSZW?}K7uyDYDb?H6R%C2#1+uj;jv*nx zZpPb6<3)6zZub~7hIHq}Kw8tCb_#pxMzR=|49;K&%JZDm54EtdOyL}$porCQ-Ok1_su@mJL?oNLkOz1+0 zLHRX=Pl<&D-2NfgD`I&y6dZq?)~>OEI&Fua;fn3?J$)k|ItprsR&qeF*qhbZeI(*; zI?sP-)_3t$ijC|l4Uwp*x}2&@f8#Rk9Mf2kYi?#y4`G+v>G&2}KA(2f#6v5%*L&B2 zp8ypH0{^cbM{&;nc+9@W|9A(n^~Qh5L2kAg1yj4)o3^p9S$ZR~9_Fl#_LE!Gygv>0 zklu=rck*y*T4tx4NgS>8_gdQbb9LlN8-mEWZJw*gmIRJu?9{n!qWdrKA>GsxFor)O zn0BsPvY$Dfj>Q?wIfAFn&EXf3P+I zEiTs5*)CHvEX%QW5yNS8uvqmb@|e!xeaT#~mD0P(xszKz)l>PYj}&ZU@u9289BMHd zypM&sJzuQD4N;HvhQ{1D`jJLLOWMqE>KZT>?hS-%nn#q$gm-zyFmOfI*mBXYn&TfuQeLU7od8V~kD^U3rRI};Dr%t`q zynV49XjV91U8&I&?JIM_yfHl4v$mw@KOKDR7BuXv(7~zIKnxn)-&TZ*oRVWYYL~5L zz7s6RCh+YK`Nf(a_hwDbIz*vyosFjH%T?%{{aeP)7I!k2cJqg<9`ED&w=oCh_vPlA z>XM&F2O;vZ6B7n=;;+_w1MA#4ketkXzPlEZmQmiNmE%L*lOhVakt_QcwC~27$ixEP zAw4H1M_ivCI2X)%L<0IT%;);8X2LUXHVAm7wn>gg*ys`z=>^#UF4RN4dxTCWwqjL> zTJ{Deoilum8qG=qekJ$;jby6E5=&-1dEzbEf;hnH=GPSkLeS96p59Qj#KAk1lV7|> z@8BN6xlR97hr|wuo!Vd!R0@z+HNLkNj{s9{an>U{~Bk6vvC-f?_js!9#Kfe9{y8Ei2xY})7BDi~k26rbwkj6vM z#x=N0@=bp1~)qm^OeYsWr(EYG_eQT|%Z;m;} zm}7Z131i?KTJ9|C-h^2_{JJ}P`8DzjvQLiUuIp&%4aZ{!4u3^{yM}mopeb^dQfd9` zDhQE+n<3*5I8-31W)&zz=coDfzyN0h_K=f`=;PU&+trI%MM!MucLeJiSxfBriGYv+seHBSyd{p$6U`oZR~Mp3`P<-Cing&9vdkQB6F6C#n;^CKEigJtL7U_bWG z9I#6TK#A<*yU`I2^1|5A-shg*CO4uHeH>N($d5Am#5(+n^l`i9HGdZ7)r6w5w1vsG zSKOuUuD%iNHb*gb`+nhlPrv4hV6czT{f0tt+mOR##sw9bpez&>ao#R9IW#I=c=p2_ z{yQF&UFohu{!qaalM1;YA%t0DUjjf8`@9hNIC`D*A-%rX|mIu)_voN18Q1FVL2jTW+RiAH;DZ*yA2bJU9AV8DbJa&2s9vD^B{8a|9jE9~Db@j343azaN zEYvq-WQphZ!Es)<&akg$n|)Dn6{bDsno5;LSGCU-*c&?3KaeOg4LtlOa7avltQu z8co2TiMRjtpp+{e!<*yf&6QR!>li|cM3B3?ds)ppve>2W!m-khYQt^>9#~csfd{sc z)^EDGOm9cbObjjoL{5CzI{r^j_BU3zMIo7@DkyYTH;Mqac!U%KS=2U%;a#DdOLzj% zH~*g`ZW-al#SKHnXMQoW^Lkg=#Q;j{r0#@drd93NtA_YMH#E`)e4DKD*392Trbl)hbDFIzTp)^Y z50KW^bNu>Zp(m~V<~^Lw(TP(*!$L8+9PUjaPT~=H4s>1lsp{9{qrLZ~FT;@|T0=K9 zT<)LWP)z3KWFWmV+*ie4ojKd=+XyBWDpFGT2OwvzW17s{u*9737>+6~{&8&e2nA3j zc}9Nw8SJel>EgB9l31@Fu^|j-tH=ueVqoRWk$k;(`q)1zOEvjBPZ6MivMn zBAPj;(tWB|DtYRqv=@)hqMMf9$-9Mi!55p2G9XH0�mCYmDYEo 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 Date: Wed, 4 Feb 2026 11:26:25 +0300 Subject: [PATCH 13/18] [add] data export guide for chart, update grid data export docs --- docs/chart/api/export/chart_pdf_method.md | 6 ++-- docs/chart/api/export/chart_png_method.md | 4 +-- docs/chart/features.md | 4 +-- docs/chart/usage.md | 35 +++++++++++++++++++++++ docs/grid/api/export/grid_pdf_method.md | 12 ++++---- docs/grid/api/export/grid_png_method.md | 2 +- docs/grid/usage.md | 8 ++++-- 7 files changed, 55 insertions(+), 16 deletions(-) diff --git a/docs/chart/api/export/chart_pdf_method.md b/docs/chart/api/export/chart_pdf_method.md index e809f446..2b4bca89 100644 --- a/docs/chart/api/export/chart_pdf_method.md +++ b/docs/chart/api/export/chart_pdf_method.md @@ -56,7 +56,7 @@ chart.export.pdf() // export with config settings chart.export.pdf({ url: "https://export.dhtmlx.com/chart/pdf/9.3.0", - name:"result.pdf" + name: "result.pdf" }) .then(() => console.log("success")) .catch(() => console.log("failure")) @@ -84,9 +84,9 @@ It is necessary to set sufficient margin for correct display of `headerTemplate` | "A5" | (5.83in x 8.27in) | | "A6" | (4.13in x 5.83in) | -**Related samples**: [Chart. Export. Export to PDF/PNG](https://snippet.dhtmlx.com/4rybsjjq) +**Related samples**: [Chart. Export to PDF/PNG](https://snippet.dhtmlx.com/4rybsjjq) -**Related API:** [exportStyles](chart/api/chart_exportstyles_config.md) +**Related API:** [`exportStyles`](chart/api/chart_exportstyles_config.md) **Change log:** diff --git a/docs/chart/api/export/chart_png_method.md b/docs/chart/api/export/chart_png_method.md index e4c0539d..903e29df 100644 --- a/docs/chart/api/export/chart_png_method.md +++ b/docs/chart/api/export/chart_png_method.md @@ -40,9 +40,9 @@ chart.export.png({ @descr: -**Related samples**: [Chart. Export. Export to PDF/PNG](https://snippet.dhtmlx.com/4rybsjjq) +**Related samples**: [Chart. Export to PDF/PNG](https://snippet.dhtmlx.com/4rybsjjq) -**Related API:** [exportStyles](chart/api/chart_exportstyles_config.md) +**Related API:** [`exportStyles`](chart/api/chart_exportstyles_config.md) **Change log:** diff --git a/docs/chart/features.md b/docs/chart/features.md index 4e3d9100..f034f1fc 100644 --- a/docs/chart/features.md +++ b/docs/chart/features.md @@ -121,7 +121,7 @@ In this section you will know how to export Chart to different formats. | Topic | Description | | :----------------------------------------------------------------- | :----------------------------------------------------------------------------------------------- | -| [Exporting Chart to a PDF or PNG file](category/export-methods.md) | Learn how to export Chart to PDF or PNG formats ([Example](https://snippet.dhtmlx.com/4rybsjjq)) | +| [Exporting Chart to a PDF or PNG file](../usage/#exporting-data) | Learn how to export Chart to PDF or PNG formats ([Example](https://snippet.dhtmlx.com/4rybsjjq)) | ## How to work with Chart events @@ -150,7 +150,7 @@ In this section you will learn about common functionality of the library which c | ------------------------------------------------------------- | ------------------------------------------------------------- | | [Touch support](../../common_features/touch_support/) | Learn how to work with touch support | | [TypeScript support](../../common_features/using_typescript/) | Learn how to work with TypeScript | -| [AwaitRedraw](../../helpers/await_redraw/) | Learn how to perform the code after the component’s rendering | +| [AwaitRedraw](../../helpers/await_redraw/) | Learn how to perform the code after the component's rendering | ## Any questions left? diff --git a/docs/chart/usage.md b/docs/chart/usage.md index 39e46859..0e59125d 100644 --- a/docs/chart/usage.md +++ b/docs/chart/usage.md @@ -174,3 +174,38 @@ The method takes as a parameter an object with two properties: A new data item is added relative to the X-axis. In case of adding many items, you need to increase the value of each new data item position to add it correctly. **Related sample**: [Chart. Adding data on the fly](https://snippet.dhtmlx.com/dpz4w5nr) + +## Exporting data + +You can export data of Chart into the PDF or PNG format via the corresponding methods of the `Export` module. + +### Exporting data to PDF + +The [`pdf()`](chart/api/export/chart_pdf_method.md) method of the Export module allows you to export Chart data into a PDF file. The method takes an [object with the export settings](chart/api/export/chart_pdf_method.md) as a parameter (all settings are optional) and returns a promise of data export. + +~~~jsx +chart.export.pdf({ + url: "https://export.dhtmlx.com/chart/pdf/9.3.0", + name: "result.pdf" +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); +~~~ + +**Related sample**: [Chart. Export to PDF/PNG](https://snippet.dhtmlx.com/4rybsjjq) + +### Exporting data to PNG + +The [`png()`](chart/api/export/chart_png_method.md) method of the Export module allows you to export data from Chart into a PNG file. The method takes an [object with export settings](chart/api/export/chart_png_method.md) as a parameter (all settings are optional) and returns a promise of data export. + +~~~jsx +chart.export.png({ + theme: "dark" // the exported theme, "light" by default +}) + .then(() => console.log("success")) + .catch(() => console.log("failure")) + .finally(() => console.log("finished")); +~~~ + +**Related sample**: [Chart. Export to PDF/PNG](https://snippet.dhtmlx.com/4rybsjjq) \ No newline at end of file diff --git a/docs/grid/api/export/grid_pdf_method.md b/docs/grid/api/export/grid_pdf_method.md index b95f23ac..45bdfe00 100644 --- a/docs/grid/api/export/grid_pdf_method.md +++ b/docs/grid/api/export/grid_pdf_method.md @@ -60,10 +60,12 @@ grid.export.pdf() // export with config settings grid.export.pdf({ - format: "A4", - scale: 0.75, - displayHeaderFooter: true, - theme: "dark", + pdf: { + format: false, // the format of the output file, "A4" by default + scale: 0.75, // the scale of the grid rendering (between 0.1 and 2) + displayHeaderFooter: true // defines whether to display the header and footer, false by default + }, + theme: "dark" // the exported theme, "light" by default }) .then(() => console.log("success")) .catch(() => console.log("failure")) @@ -100,7 +102,7 @@ If you use Grid in conjunction with [Pagination](pagination.md), only the displa **Related article:** [Exporting Grid](grid/usage.md) -**Related API:** [exportStyles](grid/api/grid_exportstyles_config.md) +**Related API:** [`exportStyles`](grid/api/grid_exportstyles_config.md) **Change log:** diff --git a/docs/grid/api/export/grid_png_method.md b/docs/grid/api/export/grid_png_method.md index 8f16035d..a39d3364 100644 --- a/docs/grid/api/export/grid_png_method.md +++ b/docs/grid/api/export/grid_png_method.md @@ -52,7 +52,7 @@ If you use Grid in conjunction with [Pagination](pagination.md), only the displa **Related article:** [Exporting Grid](grid/usage.md) -**Related API:** [exportStyles](grid/api/grid_exportstyles_config.md) +**Related API:** [`exportStyles`](grid/api/grid_exportstyles_config.md) **Change log:** diff --git a/docs/grid/usage.md b/docs/grid/usage.md index 95e4de1b..168622b5 100644 --- a/docs/grid/usage.md +++ b/docs/grid/usage.md @@ -541,9 +541,11 @@ The [`pdf()`](grid/api/export/grid_pdf_method.md) method of the Export module al ~~~jsx grid.export.pdf({ - format: "A4", // the format of the output file, "A4" by default - scale: 0.75, // the scale of the grid rendering (between 0.1 and 2) - displayHeaderFooter: true, // defines whether to display the header and footer, false by default + pdf: { + format: false, // the format of the output file, "A4" by default + scale: 0.75, // the scale of the grid rendering (between 0.1 and 2) + displayHeaderFooter: true // defines whether to display the header and footer, false by default + }, theme: "dark" // the exported theme, "light" by default }) .then(() => console.log("success")) From ebf8d50c6ce77956a33c2646809c3ff41a4ff46e Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Wed, 4 Feb 2026 11:37:57 +0300 Subject: [PATCH 14/18] [update] treegrid main image --- docs/assets/treegrid/treegrid_front.png | Bin 26240 -> 42890 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/assets/treegrid/treegrid_front.png b/docs/assets/treegrid/treegrid_front.png index 5b990998273b91f0e6662411f801dba0dd8c04df..0f7d48594fcb543dad2e00523d12d73f7e486eff 100644 GIT binary patch literal 42890 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 MH9_}FG@gb17p#<0s{jB1 literal 26240 zcmce;1yo%@)+P$Uf`{P2Ay{yCNCJW2Ap{Ft-0kA-?gV!W8rSXz{=WU~%?bP_BZi9f4haeh3RV28$ag5HS8Y&G(5A29ffj}Z z-8tYFqQzGgYbYqR&X*tP7&1;bIy?$G9i}Ff74hGuFUmHbY;6p|R#1P6 z2fqSMC^kToh@Q2Mm63&w5!f6G6OoJpXh(W!7Y186S{WG_+CUYe5Ap)7Xn$L+^t4{O zlG+%V=|OQ^qay-W5MQpygY|9fwXF1@Ko-w0-I4zeZe*=vss(hlf~sk)3O z#;Kv8NTI|)N(hUSEI?oqIH}!7m-AfYkuF`^=_8u{k5%P zAJ?=noyA&(0~pfq67{r^aS(1X9e9FZ@R>Apt3++%?rJwT?X0HdF*J%=HkGTSygZUY zwYt=5Q=-4WpK;&r`F{EN?CJiPt9EJMQ(6ay*YWIqFb;$E_0dw*#Ny)OYeYn?o0HW_ zqlv8`?Ac!%8@lSQmkK$uX~Ux#!bW4i;l5#K8H}V3H9DT3oSxR@a|HI5)ErM(HrB3v zw!S~VSg3g2d}^%tKACaVaEtTGQ4s2BSV8Nt?90hu!{ECel;oU^9pdW4%QfiMy1ISr zTcQeOdeg<)h@m7d>zfm;hld9|4r46W`>UcMZrtxGD&lf-7*tV#YzD(>)AfV;Y;|>Y z$-K5fc8Bwz>FN@=P^31F&%(lpXlU>&{v>WI6(fR~3I&Rbwlko(2Qm=i{!B?vPY;5< z{dGaJ8AhGUBEq0n7gi^gYE z#U*!alecwfF)=Y^+FeMjY;5>^cJxGib{qG{E!&}75Yi7Hf;?dm)NLMP8C0!~o37O( z=KWCc+kcS>7k^!t@uKow0ceYYU6dTY+Cp5aF|X{SQ)S@)n*HR zQBjx_q9K~IrCPIdbI@v5ZlV4C63tI{CJ^Ui0b<7u40trcSz7BLE;$WNz)MdwB3|}Q=Ad34!o?80 zrTizeIK&kXXIYBw`lgm_$1Ion=ooRMja8YG9cl*~DOtk2U2)>R4O;zX2V7$12O1Y< z-!D>IyGJ~QYDu3{T}jA^-J)60795@r9loQ@jTs#LAa>0|Pl2M*T27>FEaUX$uRs40?t$6^b#W>_RNJj>G;syRGRAi#2r&!5{Hqd=;wSQ!2fvj zn*R`5CaT5=@jT95L1Dt8B$y;QQmy&Ukf(q%OU^K_W!WOJu_Ug-Mghslzg2)V-kD08 zban`bhDvW03+I%k!lmMd`{;lrp72{$Pjav3lu59PI%s{=iAdmHnd9h7?DF&5&2)!yC?xR2Jcu?WCMt`6peO-<>Y zua92#xVQJK)Af<7`m}_MjQ&s}$6zuKrpJpV7><&jouA*{?U$UMpRZ^56Sq%IUG5QA z4s0leA{G}Gz84Zod%VA1KROC4Dq_G1_RW@z`~KrcX9zx9?S64XKzO*pdUxm#MMZTh zHxO{M&CGB?ZQxl@@R-xvpcbo4l&EA=2d9fvZ;#!d7c^67X=yvVx-5YMan|yD-vWHG z95_GpIFe0fOK$gvQYpMK$;pK3Znt_8l9CC6uDo1JHkc;Ug{!k=I#5~J*)ON^M=m{`GP<|%s9n9oHpZBcileHl*U z(`E-ITmgT8#S=Ij4{$&KqW*Be{+P?(Rfw?E`)Eph$|niMU2lZJ#7L(#IuY!6y&T27 z#jx2m)4aChSd~nrGex)s_J|l^*jj=^Ux{h(aU{u>``!?e5TkL>Cg8$bVQ|qyriTbN zEzG~XNR1hEe54~ha!KR~5AS?5gkNB+T^74F9;;}K*l({D8q&Igr4Wm2>isRPpb&GQ z)}O5Ooz&rj^_Gm@8(R7xb&2^vUTITMpHlW?!rcWuRqf{6XDfaq$|iz_ak#A7z!6zVQIIht2iQ=IN$KXc~=YXlQ8j=5$>ul|RA51M2PDw}5B* z>TQ-dr2k@5A|kMuR8pioJPDnhA|F0{=p7hXPqBw&fR~%;)f?l91)NTX`Hp|Z#m(e7 zMMXvJE;Vq43q5iB`udvAmU^C@oefws7nf6A!j>qPd12EHqb(w%qEfzp?}Nke(_*C+ z8aNV;Pq*8rS64XzKFR0Gl)2v9d3kv;CrII@XsiQBV+v_ZXm-7SOH3?NpjgDHJW^Bx z37RwAIv)|rRjo0<+)_|f952xjy1U%>_x6T)ab#BuU<1JFlesOgh{(CQ<6B!l0+2Ub z115RCc7N_US?#d2vFV(ijum>o9U&BQBNP)8`z|k!h=imKc-~6WxkzA%&PUvzqA0|| zMl;32a|k6cjDoz(I>F4Cr*VBKO;b3`+V+M5OvU09_LT;gpD7&IeE(dOAmK&QdeA8_9@wv4%BCUzudR5&=KWBgHeuxFyxn$^|GzCA%^@qAG7LeSWM z34bMd;MdHKk_zWE8Uli9I%eA=PMO;mM#u2WKYJK(M+xjP8O>0P@h$2j1a-bx6M@M^ zbS%y?`d8j<4zFrse^r}nblj&jgffliRV)k66046SgYIe2JddY~dI(vAl_>7lq42<7 z?P6P)EdpMG9r-Op`&*5#}fi=6B9{gWxVI7 z>z27nBh2RJ=Bo3bm4=@Hdj#wSCW+H*4X~+?3g}iK2G!|flosH-#{P1kPlO!}#h{7o)GyB8m zdu;gYe%bu@{wSho2eQX*uDi<(84FFOmWDAsN+b-_ZqDxzY0Sqkp5Yvj@asdXD9~xXDv3j97@TXmx!&8ray!y3JVCcp-N| zKD&dJByjWU5ZAKq<$kOxUIJa9hY~W)!Aub7v|@u zAwL9Os1pXq6}_K+`upjAqe#6eL7b;S-76BAZr} zI|i_UyUBW66M)L~0@ll8v-2hxm+8ea12L)9rw_S#cuxI=9y|{YOaUwJj--^du(Vu7 zcfWxF2xnvALjCmP-hhUl9_8ldCg7{y5)crW*Y8rHkq8c+uJ@R1&s;pcL-CUwE;;R` z2xr#okDezP&K3k!8jg7Zj?n3HPXU}K>gdSx<;xeF!+C5jE-t{9Pm`QXQ<9T+CjVf< z!NCFKbF3J|2OK4%seEisPU$;(GIHsSgFRndM_nR@wzjs6JE8Qc&7epzaaBy&2Xs3; z1X1QoU!{ce_=tAfKHcQ&H;bRc%;D}Xx_5pwJ&Fp&^g<&TXl@G{i}kDPf(&X>9m+zJ z8z-tJ&g{A|TZ~93(T*G-Nci_w!(m?pBRZO&y~YL}$J@pr&`i}45zcn+t=F&DU5>ae z;jezF8YpW)!nd!{xC&`s7PDNZ2aQT5S^4<*z0J{LLNTZTAX{Y`j|a<%gYt56o_)IQ zn#?OZJH7VHt~~%h-dR29WRJqys%p&)rQnF&Yv^A~Xz;XY`LUGH3vI zfrWz`%aJDF7ZBJT%S514EY$1_z=$8x2T&4^$Ljs?@bK*HteVZ!Sf)aa5D+NAgTY|H zjdagfnE;5kwFMj!Ly*~gB^f_|@^Q;^>hIs=>G?^`W((B^kfx-=g&G)uhR=&0>Zqv9 zIm#v(E>trB?2DR;%1>7C7S`R}{pxsmuA`@=-ug4iksN%)JzgsX=p5 z;;M9SAeer+A4he?!W`DvXu5{zZ1hIh9Lz?LxZQY8PX0J*zBfNO93k4C;tmW9Ocr!aY;XVk{rh)3 z0Vnpu`KnCmBu;>9%E`&SKn*~VGaDNhKUhmeeLm?9C77$Vr1-{R`V!Fk`1t`2Js9A( zK;J^Oy2u#~cOq(PY9Kf_29sM`S=H}6)c>q9?kd&lxLNflc_F=flYim}tyXq-`+6fN zRH{u?ro!fCnE^18kdSaVAL0Vov<@&dy=rv`Cbi7U#^i~$JtJpz_7;4zj}Pp0p^EUw zk5KD9;WhOo=pw~}26sZ7{<%V+{{GGL0Ir5n0|(fOBk-Qm<`(jW-TXM46{qz9WIM%O z#vpLc!}%j~MQU*Cd86JE{^_78Qe0yPf&22`xQ97g=zMu-b;r^e9MbS+0dmc}oxlol zbjPr6J`(PH#0Xie^zrk@vDe<2Kwin*EWEo<&hH76R%zYPQUEIs!{{^TYV$}cHFYG1 z=MzU%70};0zdLHfSY)dg!XIEPt+mz=mD%ek7{EE*3sj+x zx0Erhxzt@mX41NE`>y!t>Z(u_rLKL3HzJDiXxM*>Ti49Z$M-@toA37M*4EazU2d2K zoGvumeGpObSvML(CY6baiGeM68`TFKEDB>1-Ie|Q0Zdu`w%jzge!%kq=#79b^uWB- zVBa$6Y0gS= zg)$7Fz(nl(gomR8m~DK->V`Xs`Cly8{71d#C*fjCOS#_u^bpAZMeylWkh9#w;)LRY zIOtf)&Lk-s5S2kvZHS z*6>)Ye6)@OPC^SC=McyvptmoITBXtuqrv{TI0fh=29JXG5r_!@&xcy9^z&!`)8qZ_ zLe25i2ZdsJKpoLFFsN|4G-hRGwXm_#Jy~fBdB=f7O`W^NC@WG71t?*4`oQsfOGt?F zQA>*q5fKp!3+v=&J)8?qWN~Tfc3bG#v1%ZCe-zT>?08r;volqITcJPHZpvBV_UI%< zH32swgmLQ%NNy1(-GJ=!wM4xM>ZKFBw`a@q<1v8e$zeo%sP9Ao;9PdSCIW&?tz$^j#r{k%8#LKk~Wb04k*Kxjgg;J+%SB$!ippjel29+LxEpfEc{q z?yx^!p`f?7cjZrR>Te*@f8n);W8`<&$0H#7r7i%k3HYyvlX*ITIrw*Jw`nq40Mb{g z(;ls_c|^fS9j`ANi3*saK)`%h$<*=?3DB$;{RjYTIq>bpg$=}E9rc9|Kb^(3Xc`#w zl;%O zZN3D=VmTTuZUAKfEy0j#XTKb*nJgfZi-?W&YiQsDB6|753j|^ZkJ3_RVB&2N6k^7? zadB}KCNqpLb8qkHFq+6g1x#u%O(+fU=>X6FVs6d|Z2TI4pgDzwA&ZM@cE^w*vzjHp zq9QZvgB&#&nN7xx9p1iPLZ+ zL0f?Pr~#6%#R`+9>@1qF0-b91=-*DstD3b2k&K+li>Vv>@(r(k8ezxG=A zH*i&)Y&M@MCVKHjpn97OAdJpKqT0TK5?1&MnAy$E&E(bAlFRwf17O0?ngASaY;T_n zJ)a9*P9q~DXO@?rNgPJ1QPblf155eR-A&UN7!Q~qU=lA}%jxPs9C+xiuC52*JX{>i zMZFN|ozV=*ROhR!tJ&Ed29*utad2{g8rvQOZw4Tc^)|a!b57kdX@b%<=1cK_dP2l& zla~Skw(jzkY8}8VECFZ&7?2$J4ltf}ATaMm4N668md;a@IO(zzN#{PGi(7iKPxKY*}<0bc7`&kl?+cadB~>Qk=9*s#NwzjvG_zE**(*!#^J71!fm&3&ghM;(i8N#;C%_RW( z#v5GR9vF1~j}3N*P>fDTs6@P#b62XJ^RzEh>Hx$x>Qo0W4wLCp!0!Q0$MK-7$8fn> z0P3IQf>JV86AYF$G^Fu{NBs_k1IXI(940uYr>75qQ_2Rk-|fe;5Wv&CNH2RS8h}MW zy(kdCn!orwK*j?(tMl;i>@H%~!B=tDy1VQBpQR?~vd?7`qlQ~dl*S?`-u(mHrvJ-Q z5&yR!Qu%jc1JgxGK+fa^YYTp_P12e|0YP?R1I|kpMbJfg2G59-_c@Da_o2Zq!OH6Y z4~Qe^i^LdMlw~W0(j?bAQu}_ESV!|Rzgq>MX-U>oXXLFv+J-4@f~L*vxe{`uYNgK zF*S=ol8#O50+UaKuxnY?Af>+K)LRy7E(})6L{0m2?xfDkK-~um6kbOi!tXT<%p_m6 ztk>*V!#?{%yaNca157B&Z{TM5B0e3^eYt_?klhA@ZkBMROPzUcmy30lu0R`)8zJ{* zFt14G>#YjW5L*G6WBe`9K9GF?%?cAF%o|Icqj}o4Isl7>GtI{XH*%lU#$)D8!?oJEz)HC znqPI61{%)c4qm6Ae93_YVQr(=ay9SrgKW>Jm`P*e7s|@`_rt_~w8brm|xCPBD`&Df@!x46k zb7|?74(iXnxa$n5H+JXU6X%I|sSGbUM(o62jeGDbG~}W1q>(hW^q*?0)2oZ|9$i#w z1d{liZ*`F0Fnex`IdXCTXw9)ET{pm^<&Bh7-(u9p4(rShIL+fyL=hl70C}@`A!5sM8b4odoT<5s`q)_XLe^)^_w2 z_u6ce$D)fhCY|Y?)24FRMx^^ILOy4mMv7#_YqXUO-1|Q8TI@^4bz{az_qAQ8y#?MU zvUPkC8*^|rYVjxFueTzzni}u++|7c{)=aD2nqaPvQdpokQ=3sNWVGbJbH*a2FMhsK z8VDGnhf8+=6Q2H=I{zTi$JE<1HrAXkDrVrqqEi+vua5RjN?(m%wW5IHY~*$WmwU|+ z41;%q`ue^5guWe7k#R$%Caxt(wmPZDjNzUWXEJ|n;HHM&w;xE~!g!WNJR6$KgD_v# zOXA)0VM9ek=?XH}ItJlY!87TXCW7_(hV^CYAOvsYRJ2uzQSWfA3N51JCo`U|Fe2uw zaMH#*{B}r26pi$J@3>N|_262FeJd%Ik0N@C#Z_m^GvgZWaL0LSg2>ewm8lhN5+|eH z>Y0x6yfY@Z#Vaj{g4x_P3Uxkt#ASgx^-~_)_R%LF6!f;Kt+fs^#%gt8HE&|w2d=`~F(V$-$Aso`~Ekg%^nPfb`=K$WNIz#eF>4 z<_Xjw#lsUyghmEfC%M(*xBrmx{vU8=TzYcmU$p@L@AK#X!(jh?fd3Sb{he}ffLbmf zr4^cluoL{-+~56U>i=6I71x^Fd$x`?KCvpmYS58tP%ln>`~|+Uwu%&A?Dx7grw+Mx zUP|0LkSu7YjabQj9b3O#{`*&%}b8-0S` z7Yx!`02R{SJJ@WEvrx&BDvk(Gej{!5_fXNK^98u5jr;ZLoWn& zcB#Qm*us%#lao`axpmyd&b2CGBV`V&=9TZoT^jd-*)CH@_YCCcE?0D2@yr%HK)6T=6 z{Vpf*RAY&omy0#Q75F~qko=h1U=d94@uv5q+F{Sa*64+oSe^a*_U4K3;Gcfh7NJC{!;A8QTqWsrk8>)k`guztoPut0x zSx0mNe0)3!gI8Ko&ib4q{`OS%Up~xbZ<_`D_A;e+OLa(&A~|%W2yn~$05#JqHQcR# z@;;U1FnGQ0(1k#(v8&f7_jjP1@hi~*UTyhv0tMNz8WIfW$*A7lF%dCYib0-~P1?HX znc~J^)8Gi8anOwlW&6S*wy6dti7$uwe54|Q9V&9>fRrR+;J_#0v&)G^5nGWr!l#BI zrJHx8PeVBU}Fp^?9XYJ3oa9C+?b|0i;;;=nH>rT}I{)^)24baZ_ z=W&dG0owqD(<2mmIRo?cxv4#8uX+}7M-e)!PGy-f=-_l`8fM^#Kgd}1n!2=v?ut`$ zeIvLm+*g~#{ef>mSdxI($!T3qb8R+I^uXt9)ZCQ2BdU4|aCYu2LtRTim>z9-w_-=S zY%G?RoltW21a-5AIxT)($>Cjezrt*(dF@*}%7fQ1zj3@RL*?8iq?GKMYo0jwE`s~O z*kmR@uBKf**@#5;fj2%eBK*p(8dq(k%7FVSjdA@_Sk(M@ReHue)xqvhMeCQnvNF1! z=yxMImH7nc#?`KN;NiLA&o9nWEw?!1jT#q}7={r$RD?(yHfsAeEmN-N7)nb*W+pXO z^mn9L7-H|tKw^}QZ075w?i!s5o?oYIAy`CxluXvRWr0a2A+_Na$JPik$pwV+{bHSu z>>lD1?_3z9h8-8l+&H+(PO&R4EuZ%z>=N!ulcTq`iDjO_vaLFPGDTZEB>8ir9< zEB}7qX;5U(%#ZH5O$jKj8s~WHMRZC;DEh6}p&Owtbwa?*+ho+C+aDH#^X7q|i!n#X ze;CV5T2JW{?I!kS^j1!}Q30P@>XiL*?KM@WCEcIpP5GbD52oao1tRmPyF+^JH1gXY z+x@Z1%%zd)y0W8THna7u(BoT|Qo9AAYyTqlobrb}r?(=X1jE9vLU+b%+8|>QO$l@H z1O2p2!}=3jpccJwV8VPPua0;`+Wk`EN1!OFIL*Ii9g_+P-~(D*ae#>dx6fZx9;$4k z;4bWIo9t%u$vY95E^$k_$;2V#!^c1A^@g=AR%!Qmu0@OnEBC0TZ7T?oAF_}?mWV7z zp%QzO=zbSvB@l8;(Gz1Bg%D{l3H>JKHc&f*n_DO14IIx3rFYfi>7gHXKmb(oJgzH? zK!~PuqrXhLgBc+U6G=yo^BXc~n3IRo_nVuzAi0eXr5)f0{v&ma4r}}8n9m0G@Zqiz z2L80K0ACa{wzl&07(=YC{vtg7MYWKmBvtD;GDV4hDvgZtGQ(A@|BxCt_Wn~L+J6Mn zf0GbjEc-uJvi(m3FrXbRYs{6~?r#+X6$ZfZ%+KStMIwOW;;PvKl-*)^e{_;*4$;KW zVIds8;qna#+CegBisRvg|O{PBUsz!R#r#aL09_; zxTMz!Z>3AE8UI+STDlq{d8QOg{kh!t%-hlAPi!pr4Uxr-++~Y8744b-vlYUvU2U)X z0HpJ0aU-gDan1wqeVi9GhWo#~D=CDPH|JIP!zVt!+ur#c(vy31(D+`^qrTf63DDMMS$$&c0UCstizdP$l4SlOUs8~TEybic&oZBJB{Y%+*1ACt>o|+Gn4^UKFMkq@w z3_1{61>$#hR`T7`dP%Qhq+HVQ!^i#{eQp*Ryl6Uu(}3P|r0t~qJR7aae*mq9=wzjD z9Y?7+BsESqQr2aJC0zgUF2h=%L~^qV7t_MgnE3di&m+Z=nxy%HorTM7FzVBG3u=6e zW9Xa-=w?0HKHx~x|F!|$@z!12@Od=~mIpdoPI0ZP^Ess_FKMLMpkTy<+-eF0*-v9n zjY0MA-R`-tTNE^Y1JN+h`S6S?Jw-qTg#G69e603wY8=R{w;4As75I9YIHH;?c}j*; z1{P;xqiRRgN)XRIqpf3w+}U!n>ZY2;lL8X>;-VY(@Uw3ZB)Au@>Or^c#`ZyM0U9Zi z;rHasyffy$(e;3@wS|WlYVq0G)xkelw}PmhHy6FXT^`D7hChHpf%ZW=*I6f%hcQd& zn@{a5(hc}y2$ZwJh7Y?2hw@CR4%~+1Qcsy?O04<`u^6d1*$Vh(xqok3 z5|=GKIZvLqBPfw2c+EI6q-)|#0Xc%;A?W{#aODxZ(2sQMOyJ8MeD5^v za2H)nVb|v*1)_*Q-Jaujk3-18{xfM>{xC|VUE}e*ks$Ky2p_?c!nFQeaDreA}9Y1agV~ynpSD|C9}pk-$-Fp5U@fM zyn(}tidWb+sq765K|gC<(L{)!tK;!(?QJM%jw!WnHMyZ_H;x@z7H{7olWJT*_gD1r zM##8+icn>df2B+5?%{YK9CD~~8B^nJ$saCcy5+q=--_Jw>&o;|FgL$QN9BP3jh}`r zA9rm3p6tVL_5Q|}os+UGw>aA?ffDtUvxf1`{WP`s%dCvFioV&ya7&BJ^p;`JX@%)l zPuc@ZWsB58-g!iOwceD;0z59ed?W7n>tTv2h>eCC9b*%IFb_$v5-HKXjLngUzaDNE zb!*4&gDq=R#c9eJo>swh8O4aaK-<~9tqnE!(S)M8;#uY+%=TR!QcX)&JCm#9DHz%S zOwMw{a;4QWuh-}&G<@NT{_B_e*SrFVa-qU#1#Ue{@m35Gnx2Zw)sg>umxM1`LmLSD z7qB&D>!yYDStkTc{6|GX<`s5Nh-|x$4X3(GgnPuTvwPqNBzO95aIJHbEojk|7NQn_ zPtq77yfS5DMc!o5Cqr#LtEoQ^-GeN?$@cyDw(toJGIsdNw*OcZv&7xXQZdSh9)WdM zuTOWTG1_T@&tPla-G3i$x;~N@)2@vA2fKpf?H7`nExrSpkYV`R2K0gDU}_x+-4q~m z+Jc#_(mDLh6+3pGFnvA_Ue&wTR=FWT&cu=G*#6Dc#G`59d7;gg{)Qg+TkMyEWVrb5 z;q^;=;@K*%LRoT$BjZ?$`r#R0bvG0;KbYH$he~GzEtuRC)aq0@dM8_Yb<|4B+h*vP zg8aZ4p*nUtd^9a8z9o^~Xv5!``w!Q;ux3{ey;INdlNdcma2s3C^^y^pZP-1@uY&eu zDzW4@c7o1*1@Ws3kD|2BbT&2hKd{X-|43 zpa^cW_~kI+p5=~M?@7^S9^kTf%P<~^kRezdYfq*S8-RZ|?hy4c)-FbP|0#WPIG=aZ zp@wl=K>MbgOOb#{HGZ8$+uiwotc6emS$PIHbllSAr7CG)%x98Qc>Rf%(ukvwLq?Y?%=v->1a4^vJVcKGg z#&*PX-sNx0r(Hg451GzDi7wUoqATUfTfx(?l$|ck6+V@r@UnYkV!A(h*=l;N7n-ij3a;O(lD6rN{U(KfaLfD>cbH$RQ6edB4Ud z_A(Lv!tK1a?2dbiyuIo;B1P_ue?r3Ld4{_0uz$`Uv;b&YCjjLpSP0f@HQzPcw2yg zf*!&W6x=UbP3Xs-kJ%u}Trs{J?o#U-BX8#kDKa;%JIFl5wy@6TTl6hQGNvy=lY8^Z z+_KVW8Z>KdY9BGS2wg+ro~_Z{%_ic?(BUl*cBiaSVWrc==7R82o9|_@>aX-Bo2(t| zlx;^XQ8(vWqA@CNjMNvD0wkB^LWHjQZ7+2!X0)YhZYS~A_dmAkoF_cBB{lLta-0Q$ zb_jSP^6r~TVJ--xmlGsG&%EsNpczjbgzMvyixXqR$zK7zV0$2!{5J!GQuh7d5-)|i z+&(XS{VUPG3MBrQiTwZ50dl+A9`ET?fpqbr?aQqL)UdI0Wwc;cwzj4hs{(p$_kaS* z`tGk4W4F{p;@itW5kOSt>YEp}P}}u?c(~Fiv;)XMS`2N%BUj~`GTO)U8K@`V?$=?JR)Ox zun`JQ)BJn~pl|?AP;)rNl?XSRs1uj5BTxfg_Fg^g=U3yVK+Ic%2M3pT%KZCLuT$^y zo+{G~;?CMhVW23Th1Q3-*1q!o2$3B524r@-X_y-5el$KbCy3wm=;FA^8$?#{xe6aq z>_OTbxY<>;v>Ey(m^X8xV(O!^QW&KkWIJXA>KY5lVVzOJsGKaOS{U%l=m*dAwwgo< z_vv-&2NwW4?Q_Va_$Fgy$*8K-bt2cLBZX+yv{7Gd&)+pTpcdZCacqN6nTmP4Etz?e zmtrW{ahn-Zu0eV+M=5eybe?3Y+GO)2iu2GS^-5iJa4?C8rY}J6DEZn#g+CMu?p>Wn zJ<0EW2_$iis$clX{mO5Nf+X2ysAkyM#7p>laB}5Pc3LK_ROCLx}4|R* zrp61W4#e{!XQ?`)eZA=o9lKBNeTA}8l=svIjR-z$tdmLk9E{C}cZ0fxVOq}jr~KTt z`M3)%q`pIe3w_*3L{8}BRzFCKuck;C!){q2k%RT@Lfv8rGl;C@p%(2@PPn*ggoKQ5 zT=qY-sl8_W#K_HFYN6%ycKJ)#wr^5_J}({uTmQD)cm)aB3g;#KK=vF@?Hh|{k!}d4 zu(1q{PE$HPQy}{Cvk$|<`ASYRO2P%VT#ZuKI)JUphZnEhmfc&a`y4IgY0w{AjC|_T z1eTHPd(Kw*(xPl$FCr}UR7{AiZhpM1A*F)n2X95yaI)&!@n=A7`W^tmA|&WO?DI@> zNQ#x6^S956YA7rOoRKldUL&Pt{78o^WlTqbqYzpf^AF^8wTQ z-58bkHjWWH_b%^F8>r*bJljT?w3u6)m2o)jc@#x-y!Lw+D}%r5yqA4+ z$p9qOf}a_u3yeL{SYqT_B8mtrXTnJVORt`y4BkF&A258HD?@Ikf*q@scx9id{|r}g#rnWNH=gYEgdD01>_)+s zhq!NCPSM@opf~G2J|0|2rHyQ6d%F#~0ExbvFCumCS*SUi_UzN?{byU6Iz5}m8Zk*^ zAD+Y7%@0kr+4}QJLJDPZ&KTw6|3J|zekH3#8zHk_Tb?8SIX_yK#MBITi>2y;nUF>0 z{MO2!`ijA`y7=ZAk=(i^P_#=^lCw|syXEzM5S^yG^=md_r0xo{DO2xUF5-J@+S+eA zFrV=@4g;hm2@V<@t&tP39&GHY!5%`8Vb0NUVss6PW}!OmgZ{L{{(s%6`uEb#!InRwRZ?_E4c{dhw5KOUceA@c5NeV@oI}J z6NIU~2M6Ce>=GWCWA|8>m}Zq`=nW8_1YE37uZCCbtcRJd{$^mf zNzWr;va0MxfE!1MI)4kDsB0E%7pc&2r%VMQ@$qkiZcvykW4`)OSL5|JJj zRZF)dAB=o!meMYkdbp3mi8C z?7w26Plq5>dq?310-o&C)mS3zZZNnD?p;L%&o+XdXZ=8Rp}hTo^^?20YUr$88`?B@ zsE3<{Fnpd+E60H;>nO#3I8?H^cDm46J%v2ffH{n^U-`U0c$9XcFERe3lN(LO_EY|x zCpIy5TIwc&SdWM5W={WkDZY{qUY1v{tk*N{n-f zDT{!$y=*V9J@#+M-f_5sH644Hls{apq0?Ng(bJ|DwBIZZPd+SQG+6h1m~2R&U$wG+ z!y{H8xHC5w7g0s!ht6gCzMz`RiCphvU*P8*o^mM%63 z)ylMbvE6%w-8vIqwHIb)3d0b*IN8010T%l`Wj?prNQ@DJ1yBO}EiF}Ll_w^CXLF>Z zFH%Vf%L1p0T43UISgj9HJipgI?CP+Obdu<|ZTR`7wV2>3OV*Xoyjz%~@f!TX2)MnR z@_Z|+gFG6KoFnoGoAy~pp_bb`v7IexQt1ngw~go22nYFTG-a1wMKN-A^+zU5zkz?1 zEmRUVqPo6+VN~v@cU!C1(e<9qwLXE;edDxZCuD|lYkFWBx zM3sA^fxDazwS38mr+MppJ8dko9YaH=2R?Ss(7oyDx>Q?@Y2gUr2-dD8B+ChPwOg*P z+twh$!}RPwK}sM7?{{iJ_yQ4sI=If;(i#NIb#yRK9Rw;Ls(_lQ>e8jUgbFsa2is~Q z;da>^*8YaTJJ%GCz#sb#KRLl#_ZdgQ2WaNG#@@j=p{0FXv7I|CS|66}-oAzr`&`SV z_$?(hkP@2Ir=(9h{od=FuoaTH44>@~h-7aShZ>vUO72&x7c{dft9VI%hB;Wtx%5xi zJ23QgSv{Lia*i?uEeYr73Npsg>s9AvnJzI`1Is3m@cJtA8>-T5ugm9}Ux7NP9tnY5 zTjlpLK|1%ky-Gd#<;E`5l4&uUKiJ_ANf0rOi*tT|NLfVe^MKBzO@&vY@C;*K6%PGj znkP^luVsqkt5KM%EqNWNS&DHVq*v?R6Ze4swYl!KWC!m-+6Q>a3%S?C(aPP6%AJ+m z=vM~)H20SkrnfFAJiCbAh17u*hxLD4PGyLO%q-?)&u)8eQf8ItH~Zp1HX$j44!k@3 z$XaJ6W(&VMH}=KK9xsOu5QPsoCTJ3I{I`b;Xz1wH=Y-t4;|aQ>(tp3>fr)fiY!_DI z_-+@6x^Mya1C~{#sr3G-kPO{cwz#dT#d%9h@klLJ(s}BYDJOwF!%~nD1PN)Pl)}v6 zU$p@B!segRklmAl?7R4ZKG!XnRQ4*+IC`2qAf?Uk52Xp+J#NDx4Y*}x4BlQzq!(Yn z4uid4wVx%Col84_79AbFP>`_6D1|iQ%7pV^I4o zkUt5McjbJu$n~9HR$MvaE>qcXv1@~X8k!{}j!M3Yi)~H^8rjPxzdhd5wJ`a$~YtD#PC88(ZlL_dZ`5p21l>&kP ze5JtKf4)-S{XbtR@OAPZnVg8cf96W${*R&lQB5xL&vz31&jYBH+Rqf1FgD(-WgPvZ zSY5^P0_;u!uL=AwhVT+D29GQex5dXEJbc#qXI&bjXFmH|SHT$Jmyqr&U_~#lLik^} z?LS_H@P9RL3$B(56ld%EZ}vdKXxK#kpn8)V9o<$);6@HMCdMxe@Ua}Lye&mo=863FQ({@oB@uvqGsGk9{rG*%=JXA(-5t^-q{P6q(TQ z3|*dO-HHA)T2B#%HKCQ<)1p(g`GTy;XCxjjEV<}3uTxV&|Ks$$*KOhnl+n6&j}VBd zK@3;Sn(BB!aD0!uUrj=yhSaB@GdR3_UI(|OLGG>e$%21G3m)y&3v%jrad>b|R`FckFd{%&x2=k43b;X8s{Ie{VqF+v6NqAeKE*eEXU2)fx{wYi72q8Vp zy_LEbf8~uo8yd*LLdBL8l3nG19!9Z_w8OtRxK;0z_`J@nCg@jrK#<@ht;B!DH(&uu zlpS|B&6)l+w1|bipU)5FkV?}L^|B1V(EHUoha}c3{C=u6@Zz7^NAl`ks>eRi2w~NToB0u-s?t`7xGMGXqoygS&NDgN;$ix-d8SD&OAeAJH{Y z_<3Fv>&vBk;OeU|zi9=jwAH_(z88OAp-E;9mgwfz6w=#C-n+r=Zu&#mQ8Co)!)g^2JfMT!&)w1Ymk=a%yu!H8e;54;lK&brC>~3LVBg*LQuhT*^Ii_q<`Q>fZF+8-e=B^jpY%}Y7 zBG$!Nw)#^JjCMf_d4;qgvg{ZH&gE@)a=Hd#6szA`E%0@|f9G*1ttybce@>YXGtGHu z3dAGTpT+A|W%_Tuopn%KU%&N{Voi$|cP&!1Sh3;`Ee^o~6bcmA;9iP5!Ana^X>oVg zB58r*uEi2O1j|i-kKDP>ojdoLJM+H(?#$$5a^~z=>$BH)9neAnlqHj1M>mj{b18Dj z*E}vQ0j~4v%GR@RI6Cf1DqJRsou=7vIc&^s|I~9(-KdYwu10;v1D*~e5wp2Z;lxv) zaxQ_4BDZA&3DJZyB>)|%3T5f{@v*7m*;bNArV7A7n$o#cr8O_WKpch*sYK)G4xE4# ztL=QBV0(-Wo>TEt*2Wam6U8-j<Mz8vj)v2VeM%eu_#DW?VCI+EawVEXe;J^s^NaiYSAT|n!S#^hmu~ys zZ2cI0&w;}Aw5{Kn{Xe)m_U&H23)*cQ?4v^w`uHTAHK6Yj0_^v7^k<{=H+#0G!dFV; z3Nl6yyW5b)XD0k5$<=P}0UQ1d)B@4%`lyZ%-{?NrpB$2~c4txjUiyV~PezktH?sq@ zX&e9~M$~_77V}uqtV_+pCuTd!GUOFwyD*u~gQ)LkV#uL`d?VqUOP42Uf^e^mW|=f= z>?2D|GyRR6mrDo&Z5rw4vRir6G+hb|0M}Y;A&lsXv>ba&uZ?RHq2bFf78m4ez=E9w zE@_eOPg1#6hH{tWFkydunInDc2=(i!-kiZ(>4xUz~eU|0PHtO4FGV0%Cr zh88Zj_O$>@LRf1Yq)cXn6&+Jc zp|Jj1=)x;Y_Q0{2J5OgfeK}{fZJ`!YU7FHHkPW#uFAe?9jJq=-K0vqF+YQx`-hW?L zzfLU~=Kj&T6)N8m`O*IM(vtOtGV#v&R8eY{9l6wx$@Pkr6@lwdkQq6eu`gndFBhIshIpm;`o8L3- zl0lZ8CgKhbv9O^f$%B5RPx4KnY2x+#%yV^r%xlqKKd25&r%@IU>vyw_z3lNNvNhr# zB)Pr^0YlwXAkX!19>Me9V3JL9H3yp2rwsIh@ZTPF7^pexc!p;zasf+ce{*=nvBzVoW=oOjoh$DJnlnGE`;%k#CF^iK!!a7j!0_b7U}E{ok11C{20GURa`5%ClrcF_SVP*Fw^*9A3r^Q^D_eVmZeB0FH!{;l)r+G0&c z`q@t!92uMpg$L@qHZHu@^NcI~ckvOuhsW{R5G`%Hp56A)tRzlU0~5UCjw-i@RkhWJ zJB{;AiNwv88ihKOcMiezsm5GpkXV1o4T^!lb}?8?5bnH==nT%7ZXzi*cd{|v+r4Wf zOz|`xQdmlZTHpOT-85g4E-g)rU2B$Ffg-x2>##EK6mYhP=Kbo}3;KqUQeKvcG6I{M z@rE$ohgI9hN~5#Bg1gA5&21C6#wff8Spx*Vy8f>p@}OSfCi$$OPvc-PLo({qOwv0A z3BYGrO(y32MWDKgUl5`IlHA*48O3GU8Y&{$;+k@CDeu9eGfm2Cd-whkDoK|``y$>L zZqbe28jWRKA6^5;igze=y?`_2i&u#nBhAp~Cr{X=^ncw3r>fd5!~GFt5m7xEjk zq_8V3sO*SeOlsk|(F4{LzS&l%86&k}|02cB1$T6*3c3hEVrnV*@uypz=+ui&&#aXl zJ&C`Ld=we~)<*W^Xg%(23*(=I92WcjpXf3&s!;R* zAfdOV;--{0`nS^C*bco$r4<$5{$+mj|CY15xujWT&*_NxTL^SAw{sRxmDlHmmS{kr{Bb?S4c(x zol21B2Kqts&`i55H}e|?GlPe0qj_VOBhXblrExr!@TQfoT^&f9MYUQmGE7qwdz9v? zF2@^X8s%xpv+d+Dlq>dj(YE*ff|5UuyNnOsH<@?{d7-NRMLGFWs#>c1&@+yoAI3D! zHMXYO;OxYIKGEDBAMFbKc`O`#+R~L82YO^-NTd?Ro|A-LBt+P2cz%Uxz!G?EAjL;gl z0Wn@!^7n=WaeafU4a}~Uz?#{4LqwY@xT+mupLHpzap&tcKeoUYaJ>lYNF*G+y!vEv%+eBS|5 zmArDxi<~-b$$z>GN&+vIug6^J@n!RZjQ?3wmPu+|!!63)#ow*nuKuZ~Xk; zvyZu|GQ}55?4`eg$IQN~CX1&!h12pW8JooVLKTMhK5fkL>FV8 z>uXa`pJOE2p}ac=nwGU4q=z{ILQK0)9wyfwJffqWsX2P0jDqZ(DU+ zy>#Y_Zp^ZBC1gYt_xSM`9S7Lym0?JERq(B57~PMNx+SW|>3XwwT5xZF#3aOk8Jv07 z@hWq&h?owfKTSShP6D7DaGU$BuS?YMW1g@M?Di{(C1B#QHUB+6Evv;O;iH2S;TI1s z^vge#m6ag|C0=y*KduoTOe1I1IH(R=a*x;1VG_l)j{cN-vEgH?H*kL8JVljCcqOsu z^Vt$JrHGX6C?(6ZGG%wfqWgFtjXdGY$FqKA-1u@zda=*mH#(*fN5Cu6?U*6`$@bkA?O+oE~qBf?4(<2YvQc^Z)Kc~6YOkO%r;jjBIByL?u z@%H|9L=`q~2F=DGX4k>w%b9Yi!!boAglE$%_b0We_=K!9M?MO4zRPiz!5Gz3HxAI@ zu)_{bNoO>12wE8lX1dumf)z&^O+)vAyna{jEEn0flBedDv&1epA_Q-1^is%x~eT}^;p z;k25wO4gu0N&xS1zx`1fn+Feu~`UwVPT3-`-`@b1@# z6{K}{RU0X4=l+Z#U=12qAWNN&@$3)3z76kJZr&cv96C_JXbO1SF(k78HBZyVg>%1WClX`4{?pTVaLkG(Ogf4H{^j#cTHrP+ZD1ezG(nJX;FEj2 zMAO@dLLzS!#c{o8@#rLv>VObMH)(P!v0gz7kM)Dket?R0O#dB1;#t5pXyC7>7xk!1 zgexnruAntDa&2gs0-yBg{J@h#b64i>01(*jd?DcuAe-H1k(kDa#J}ku)S47(#S%D^ z*cB!e?j@8>0Rk9L)|Xd+X6ZRD-FZ?8&15uOAtNKlzj{0xqK*tJp814X!?UpDazqVQ z7haBIA!l=gyNVP@krO#aB~fzGS8`lzw-!@z0GfAV}9Gg1lG)M4Hs z+kITg1UV+UV)sd9DPf^1DopvyoW*-B{OQ8~Anu4LH!bfeKR{KY$b+xun@({esV5-p zhaJRgiNqardq4)iYL{x;xS zb7o?qt)!QHlp;{H?a2LgVmLn;U459d?%;;@{rF@uQ>y*Z^EPqR19mSj`~A5aybAGg zX{#%Zqb2mi6A1S|9x&*eK_y6ggLU*?&=>kEr+Tmf%AArXm(GZTMkqOpE>9Vgkeo_dd zMJn%;-yQgDn?@;m%rr zi(M9Qup@P?geFi*OO=NqW6?q=|E&qDim!Q|Q_gA+FrYXVlP zpI1}fehIFKZ!MT5GP3iS%;$Nmx^Hh&%|*WGuvW2RXa%mokNeIt-qFh^>T)y@n`Mda z*eNM>iwcJ|?uNIw`UGX92ku>a#Kz<$V&f4Ccx(<8!J-vQYwJ;99_Kfj;%ZveitO~L zar59povpuuL!^HX4zcZhDK3Gh9<+UtqqXV?q= zL&anA9;u)%#H=y?66HZ8DW_BDdJ3=j6y}frf7Q9~spLqNSR;|Q817-~v?U1%=8<*d zlR>cGmuqGgL4~ET+HN@S$H4vP<#Xg2X1=(M)7q!|-@aVc`Km8&eWbFkE$X z_ScQ&QjL>TxFweuj8wQpG#$6lxQpg+1-68y4_*A(p}4R3gi9e=j6;1>&^@dQk7?&w z^~nyy(V5NU0DBU!O@cISucf6NGTJf6bX_ekS?TAJk}*HZrywV9KU|!#H6l7b%S5Uf zzD!fQ?sKW<>ZUWz|XgAAY#^5 z!M=ecW)Yn4L_yI{L5u^?}!&~F@cVaKLhcVZt5_FIu|d`7+o|vOc72XT!X_&oaMzYO%CPR|cK%H6ZwtQlia2F}Z=PXXHGVRYA<0-(EzpTPNNM5vTR;a#(@`wQXWM zUdTwh?E}DubB*U#-A*-nDjrg@DRlnse%q5~Huk*k684=!QT|{28G5H3SS?aZ0Gd$rHVAClmTagwQm%biV3sF)h5P*p{HS{DmbF^KN_@DTXSIsN3x13Sd`}S=2sbOjTyg|5;!?g0^?cSd33VxRsmN<6-%MkrI}nEP#rE$ha03O1bD*8a1Hi5agT zWy1zimQjG4C*oxm7Ue*yfQuA$A*?SXHBZ_qq}6nIobC@CuNGWIc|M^x(Nm>m!0sdV z9rNQbYf0#&i_Ht6Bgn#v9-&H0{oWl>jx8gbQp*!BC`dFiOSdg^M^o7@@b+h6nf1FR zt)|X7G7ks}ip#w-+GSUJe2TZE$(tYHZ4Bp)j$@$|=u#T2RQ!k z0<3wQ=hE#*Vx`HllZm{MmXi-{43_S0%ic7f6ybZL$zuhR#WAsjVofA=wwa! z0!rEFq!aFZ>Xpkn^QRRK59Y4OU%}7JSpw8UP7!4lWGS8zVZ~}naCZMcFe+3=AC3Kko?W3FC|32ita0 zUFhCk$5wd66bv`2zxVZhKzu2XT@1X+Jfd@Q1*~`YJVhwOI^P+dkYa}4yPJsJ zitdvc$syBoSR!Roy+7<=a#T!f87#D&?;H)36< z$I_@n7O*v2l_|G}!PXE0;era%Xp*4ZKrMqvR8jhHTf9k9rVcxh>)dcLzEfLfG2s&dN0IdQ9sTQ-Enl zxq=?Ad+)~4fvcQN>q-99+UIqnt*6R&?*gegBB}LcKQga7MXb-o zLr;nJ=frx|WB-xuk#F9t#yMEfN2haOfQ>-yJ<$>?dK=sa#l^mjc&(Y|o#;52KL^DU zwY>H=DQoWr?dw?zrbQBtANq3r0i3|DNN;sMMkD8gdCFeqHdh1Pg~>cCcHi%Y+@e14 z8D?4UPRpKw&PYKFt~7h=ugj|Wl{|`Xee`SZ*vW)B5fHuqWV?3S0$KW*!$Fd-Gj$srgf=5CboB<#j7a!4y*i zRTO@L=PWf(swN>d=GhjP$~lC#pRh01T5=Yr1!!;qD&fmyf85YFfh{M>DmxX#lL-b(Rqag` zweYA>#=3RXOLfJBN|OC09!O&_{m4!^DCArA*^PXx%YI7+aK+t0V&~AU#!-XEO;%V` zQPlQ@SqEg41e=$$#Ot5&9!J%GiT6z0aVn@?uQZRqPfPzcWc}gqeUAS=M*lZ>_8+$X ppBbRPMR=lH$o?#|*iWMHIHs*-iJp7WqhGXwp{As*SRro}{vU(2P0auR From 516646ed47313f332fe5ac93dce065c3959861ce Mon Sep 17 00:00:00 2001 From: Masha_Rudenko Date: Wed, 4 Feb 2026 15:23:17 +0300 Subject: [PATCH 15/18] [update] images for treegrid dropbehaviour config --- docs/assets/treegrid/dropbehaviour_child.png | Bin 31993 -> 31538 bytes .../treegrid/dropbehaviour_child_result.png | Bin 27333 -> 27342 bytes .../assets/treegrid/dropbehaviour_sibling.png | Bin 0 -> 32153 bytes .../dropbehaviour_sibling_dragging.png | Bin 31752 -> 0 bytes .../treegrid/dropbehaviour_sibling_result.png | Bin 27951 -> 27731 bytes docs/grid/treegrid_mode.md | 2 +- 6 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/assets/treegrid/dropbehaviour_sibling.png delete mode 100644 docs/assets/treegrid/dropbehaviour_sibling_dragging.png diff --git a/docs/assets/treegrid/dropbehaviour_child.png b/docs/assets/treegrid/dropbehaviour_child.png index 083d89cb09a395356794cd257e071dcb88cffc53..b12b31f674ebc45cb5f5cb8aac84a4b2fa0debd7 100644 GIT binary patch literal 31538 zcmcG#18`+wv@RIiw$-t%j&0j^$F^-d>DXo`>DabyTXXupcc*4*?o>^^xi3|_&dJ_q zpS}Knt@W*M;Y29NiNnL-zyJXO!AnYrC;R^nf1<|4j+aO3$^%rGa%ukJ5MSBD+7?P(tR&n^rrhX)7AM8QZx3(8># z_&A*~vP#nNDWsWkEap=)&DP69HK9n)U9gz+tgh&pRTwe4z{J5wdv+v!)PQ?d;=wAB zgrE$CQL2QXh=buJ>tFy^*~$KwFD^I-vAIC^^z_h5+FnEgz7omBEvheb2t{AtyZW0? zAn29Q?yz{Z1-&ZjqB-E@?Ty)MadeE7EPJrKrW_BHOCR;*TzY5C1_;KD*6`|sVT7u} z>}}h%&ScBGhjRf+pGt^TVH{%e@{Q~#e>X4{=L@<1M_n{hGiiP8L!;>C8J*vyQV#+0 zD9a|U>22YUvDeH$?Uh`bo9@@(WK;O=l-6YafsGJOzKiktU@O8}O$>&k0~+x!)S$rh zM}{L`;FH*-4=xr5YcPre@UUvO0=(T)y~$nKj9(~!&WwjgN(tqFUcEG)b}4PXOOP77 zK@kyrGCXSC_sXbpdRuPQ8kQkY>dwgMr^S)EM$0o{a!gznJbAbM5~+VvO_|GIDD}MT zBE5>{UtRV6x<6u?64m?ypGZHR`RvH8ri`ZQbiXm$(VwyL%rh0p{afbr*Z2)&3rkt8 zBf;1@t>Gc7`vB|b<}b3ZfG>A$c7q(4^|O=Fs9GLFFsh9KOeUU@Rx6}A$>sFsPV;t| zSPDlcSyW!(hfMP;4WHn;l2GtU^!td*3odwseJ^dHYR(|}Bk{VFo|h>PY}+q4?{W$TyqYpFrZ;xdD;N^NK=x*&W!{bLiolwlZfhBN~cW%Wn?lb5&vYuH#<+25J@DQLL zGny;eFQ}?;2^_+v*1W|Eo6f&Y8gIE{CY#(poMNt!)P8axhB<9H3eUTEO-&mDMA zSYhVkRg@bZrgOdSE2aAO1SN@4``MMX?`Cy?ZHw|?9dV$}w=k@DEk$=6CxL}@NeHm{ zCm7#eqo%r#C=CyL8H1>lNVl*i@3xfCYPX3WJt1qm7EbZs%JxH8r^JKN87m&+b&dkXCtyfhhvGEs; z2R$kFs=7A+#laRF-q0H=>m=yoDnR|l^!j>)5#L=I(HH5{TX6!rokIB*kkXh{M+(2q zHQHDs!MCWNYGBMxW2tKhb3YQ}5touS_eDw4#BM7(GrF0s?_P;3Ex$T*uj$q6@n~a) z$wyx~W1cB3mL#IX<|;l{h7O*gbvi(khGhcv@U_F_&uSbU0}j&~N?S$l#Zh3MyT;D8;)8WI*q~u(cwA(7 zIoRie!!zTPi|FtH))sh6XHfPlsN?O@rB2E3aKz4Gvlt64uL{L9bGpEDu!HvPk*1zB z>d@2X6P-6S6Q84i;d#GX%64o6%H@NR$m-0j{_z@3!&mQ;jU@FTUBY8M<(prHd<4ds z&~406IjxCf_=&bN%GBap7i8Sq-&W&spdWTcP;|092>f*ivFiheW)UNJn2X-H?~XAT zEne;_SPh1`o$$fq!8YtW8roBWy7`P}KY<;F$~clev~AwYZEEEQB#*}+XTCf1c;Vhd zXd1Ruhg~4^2r`q{N*Djvm~wPD<5S=Q{82;C=Tmb0jY{`7hjO8-gJ2PeLV=@0S>dhD zTDVKjsK8Nlqj$|#{NtF^l0Elm+i?n8EvD_}axYTLOr3$MrGrD=MLI&L|>>q3Yz)?EJ-cA!KOcA zc`-4@l@TjOX)a?s$SGLF1W)n*MxNHBi2W$>E5{xsyQeacA)Dc-pTojzEdMZn%(L4n zbFm9{c{V9NU#^PI=zFjQ#XjXq+%4k0wekC9n{34fE$s>dU#sU z#H6kw(SwXf=u|DNgT?6zb>mu1)p@LvN+}0UL|SSGza2SUE>Z#!DVt7}PlR}~A6ZF9 zACb&%gde8qQxjYBa1IyoyOAl)C-7`ZnhyXeEd~R}8k6Z!KnqkUJ8y#aJ6IXR)TJZ5 zYMyoc3hyt>pyuL@MpF`a0QaWtS@Ytdam-|e+@=q)`JC;*r9~Y0LAr4qaU5io3^Z73 zB~=D0j_Fz1=RF}95Cn=)@|{eVT$a+RSJgH@kzNbLmq*G>5sFpmSFm5%nX9ia7yT}d zr&z#(UD^Kk=`R$B`NU3?Fo(RQoUYW!9De$6C<<<#gwewxdzR(i_f;#}qF5-$E-w1A%M|L3}^FR+1XRuKC{y`Q^dio`zI`rQ#f; zof#W`a0fH^Z44~EAf?){@7=s`@?KgK>Wgja#W?Lmb@8gmeyu&f-ihF!l{grlUDR_l zt*sZnqB?l;oO4_mP7j%O=1IvNC+Q!C`$lJ7fS99tJa00rW&$3UI&C@>ja%~` zP9YaIF8oIlboGgYHU7dnr(F(azQ<&B*m}ebXL#W?D*SaNFJKu~Gtc|}ak^`M70a=2 zzS7MDw0de%AOxow#|gniL4&<&EyLyE3Knm)${p>rmCw7~8(Uj`se4zuxut9!^m~-3 zsLkkvj>8yV=X4YMF3v>FyJnktloK)*amm+J?;q~au~yM={^CQ$O z#DRJOz12qpBlPWmD?v`}gb@d4x=sm5RkN|(r%~L0jT9L8LjAe7$AFE;hn}|9k^c4- z!WDN-d@hrPG*p!6LY9HP){8xg3zhpX_iCh=oZb z4d4C^()vS_Sp#jc%?q-u#0b%zR%H5wYh!b-<87=SL>2SeugtUl<|8nAHK(O(xGC)Y zcD&OrGZl;L=x+9!0t1LN8&zfEy|!_D_@gtoP2PWx0R#2Lp;D0^Kpv% z_^VAvuwSnkk-t50SHC<|m(_vsu)bad)x;?8c9r0j3DpvACz;uE@J1@by- zpy3C;y*j3LK2=)0sHs1dDFT+!5J668<*_O~Sr4zj{K16=w0iOFh{q|EsuL*~Bs`lcydALlIuiaFH zIln~lT#_@#5;R*kW%thq*>Q}?2&a63D7`R57X%g%op{&H`i zX9y}Ee#7j?xNvfElHztgnOS*6DwLbb<`Q16S#)85BECunq#Q)6ip{0(D87I+pb$IJ z03DEH*hmDb0@8vyVrVtM+5S*6jSxTrg8RRI(F!`X7mGyX7x8-~QcSICrCN+`2t_41 zkzc4ZEAE~7ex|@`s9V_o%ztQ4VKDx82muhk5GRBumC@}B(*%vpRW=xDQgVE##viFw z`)N%OL@lR^Rp#`DD0jNIKYLhLL5)SfPZN}@*J^|TM!@wxQ=>j3K1@7HODvyla*-9TW27u9gVr=Dt#P@7N$svZsn9;ZU3159e#Cj zSp-uI`F;P2;zCXW131$Re-@vle&btp`vHSS!1tfCObMY4O_ZuVf`Xy)Udr4}x?T^@ z69YNMa}Jy1Vqa?T*`8o>M3akP-WFfjX%X@Lc8+*|)f*jWvT5hv4>qT$ON0}{8$vPT z`(FUSp^SwAA{}0$H$CO>8f6OXIF|ST{k(Oy`5Wh*HX5$qA1fs8y&Y#}B|pw6&p=md zDZTP`O_uEnOOyAJ)_s>hDHNSr$h*8^bH&H*unRjp;ts%)~=oq6vQ~X2Lm+JVyy8ug@wd$c? z$&?+qUKmmGcZVO0DDqr)2iZg)KDtyd#DVc_sq{zvlh>$SXIPoHUtrz*sMCejA`{=i z(R)1430HQjcswS-?_$hdzZVU>a{TmzQ#$-2~Ztq^VwAz*Di$v0A{$4el6ahNqa2VZ1HIyc=n+TiOLTMf3-@EfT= zGP^#~EAjS3?db#a=0sfJ&)p*z(l;U|W5a_q%erT1kwD!kEnN0HhH`hxA0idXPmQ~K z--b_v_YUEmFKYW&cwuPwir9LWSqfJ??+jni>jTP8?ZYG=oVM?wU8(FhFQd~5jz&^T z)R41!S{=p|Uzk4w$otZ;tI174y$_EjGo*F<$8d5}Ct>3SpTz}cRpJ7ix8&!Dn)dqg zD!q2(HuDH`W)C#FYKNb~;b#(ckzRi#)uta!n;-LI3A*0W4AnRo%4b#XOENyknWEcf z-UAxSQ{b}lMi~A3uQ^>2I9tI4w#ieDSae%ADUq80aif`Gbal~Fq7a%IAA|XF+6L^< zV*|vMtf8;$avkn;h%-a?r+|LK*aXA_@%LR^Tiw#pv*WX8MB*w*z|(^tC#CaU&%&(T z*rY@!e=SCgMk6bDLe?8~SeGbDy^^#bi)UYf+F6yQkMg(WU69b#5U@@7u8xokzK$61 zYS9w!E8vvo#gv74&dCG6Qjq4Gten%lj0-QZP%A1g6%mVUj<5k-i>ljWbo{P%+vgEh z^*5wf(Gl6OFIyTSPrC>9_})B~vvWZ!&crYr8YkzD!khf6P=uD9N;5L0=dQauxDU3QKWYtlr6_4=Tic|FimE*t?=SkHH2(=SGc{F1EY*%A(`2|ONM zg`Q8mwI7Pqi;MiRDcCoGZmy6g#9@AUc@al&qnJb8aFMcFLz5ZV~+8ep^d zlic#ci1CVltMllA`-yAG=eTHvkre(bo zUg!;FOb>i0=9awsmYx_;P`PVv`I{_K0Z3g28v?70N#{?VSLbU9X66M+kX`5B`k@2l zFc*emr#CidkD~cRsNi}!-sbU(OvP4`FPej2Jcm+{#G|WI{M>ura;(uSvZ`V>(>#SZl|m5g;h92ysf)io5L%Xps zt^TXK>2!NG*Ps7Kc(YurNcnKdvT6czaCEf1@PtyNY;SLOK3}S?uO!A1Y}wr;=HO_p zubeTFRImGQt-1X_PaVSBWQCX;&raO&8rBdbI zdFMad{Or%Eofw; z1eBiOSzeIlrz}bYA%B#mD&y=st@PxF4KU4A91$;nMDdG*ShoI82N~|GTJnU47LFZR z2_=+(I1rON%Nv*}&#Zk)YKeNTt8Ql67T0fL& zB(F^s7z|l7I1d4x0`B%FSQWEittBn&^H1%tIk@_-6Jr`*H(%<&*C3Tt{U<-sjglWC zucr#YoH1r=FSSrBIdVHiS2`UU{!hdl&QCzx6g?QB^B(XNf-duk^o|9B(%)e&WoUx6 z5n%Mrh51R)BgO-nCU0HI;ck@Z`Tdt6l5O&O(pF!|I5o3oi=25ZKvxs)lfRo{9d`G~ zXJYSBdsbJMb(SSu%gRTCeWuLp>E55R+{c+~c z0hD4yW_r_*ACp-$e>V^bWB~aH9cBnp+ zLXukO`)auFr#$09J#w_~0<1Z@Ai;0=_>L9K&poN;qPX(2IodPkJe+2qL9F9GREKS> z$p`forj_+5$}aJJwx$klSb$m7ocY}+y0i^JAOSrhEaH}Px8FWsaV(MB4csiSCIi_u zhQr?%RA^_Y*!h{RR{Ul%DXz2LR|l)r`Z>L77#!nRV`a6Wr!{2N9q_Q(xl+fT-WKP@ z%)uKyD+grd-M^P{=z5>c<_4)QK&Yx~?usKjB4yuzK-uW^&R%$2EyzX@P0q4e!8s0K zpR+ofYrm>WcDbuD;Sm-qEShz99Jo(K)j*@heW{3knZsmYvYkM@GG1O%rB2Tz_BgsN z{&eS0O3ul^;yHC#mM1m2bux32Jzn3`6ohQjjVU(6qMlaPQT@4e#*-IO1^S~n57@kQ zR_0Y3iw5(>VRw5wNpJmsD5&)-5GsU4xqm;x-k~g$F?X#$^2M2z;BywZf|&oMNuJp3 z7UNDvP!U7>iz_FeY`mJEvPWCwWw>Nt2E5qZ?57vJEpW$X7>kF=VHP7gaJGT42`7#3 z$Utz(`s>LLi}fD5eB*u*j=LohWVgRi=~NPNqy|qgbJiCyHP_zMFi+J6eS5VdT~Gi> z!Q+oqobOXI2SABiOeo*5Rjrs$RHIsl$EaRV<+C@5S@KgQ^+x)mB2vmb`c)+OsNg5`@-SWU;ZP0F9`-RuYj_NM1iVPKMT$`Z`aBjbRl?};4(PIhfL2hUW(SkXxXq^_ zU*A2sj_7{Pxs?Tx$8!fJfHYoOUz>IGXYcX zs{^9!SDx1Yu<_7$_!WO#CYOHEc@OPTNuVpd}o2c!2OZBY*M$Gx$;kXl{@@>fm z-t*#{%|Ir9|1+=HAuQcg8>Jq(O@S3=iHf{7y=&eU$1K) zC>4aowd9biEc+>A!S9~d5<4Lc>$UB==XgLud9!Zcd;13zabw|AMMl_VAxlDJ;1^nE^WPmd;1 zz5-rPH`-YU2nd?&HgW27D5a&P_b*l(n*dVjb$i~<2qUII?tXo~|N9g~5U{+we22^V z5a3oW?-xe(8l8e)$5Xs-Cq>PA*2+|9&Q}{5;shSS00uT&ARKm=#b;N->%Ua3Jzpe_ z2v~Obs*PBI!p$(DU!C8#?^K>ZoKV3|03<=a{dNxro0HS8U#oyFrK~9eK$mu#9gA91 zr}Muh<>imZQfNL-<^7EQ_ycotb1(JuT^TMFcvfnaYu$YwJ@PUgNkXeTu1nUj1H*)X z0EARhQsQ(zK@xn;(9|sB=H}izJ+(|y0GO%a_t$4~a`MjpKIorZJ}(Jb*}?gF)H-LH zb5< zr`;)Jwn%)wR2Ek*kAL!ZfB5$4sZ=(L9goW?IM45^eM)!!a=mr9uP@-^!`qo#H)xC{ zLnfQs1x8$4T&vkCWYomydaE124B_qV?W4s=fBg9IZ=riV?^l(q_N{iC>AW6Jubwgh zwak@B1NOIl2~cHml8~1l9vBFc%i(ssJCJ<3-kt_ngJR|4<5ui*V1TQh61? z9i*1g#*=ff(b3QpG&I5iCRwf33}OJ-`{Lqa1qB7cEOuK3DzuN+X+Qe!{_D9CSb+PX zVPgKe+Ta4XmslRZ58yHY*B@U&0Zn4|-*5NX% zu8s~TfU~F3>-P8c6)a7gn461_r_wRu#I&mD`TFt$I5W+6w{RE&@5jvmz<~f#W3$^} zQK!K0@bIj)*lH8(aX?fyZ*1rQ3Qo#Bwo+136?DU^s~O6__DR3RUlwt+~0nE!W`SVEUvPD~_xOHcZG~ zYAyCQ&6f8s0^zWjaX&rcT-L z`~C!INLfL_U#pseoIK?Hsx!`TAhbY%iW=Ni)#V>50E~rNKp0Z`+0ADRxfyq+_gZ$h z!+QBDi=e#z>Z|)!W?}V}INzyEileSA=O86iHeRXRF*&017L!p8*K-4@dw=yxCM^MLj$< z6-&V9`47^ka(KigB_&@crCaCleQSRpE*BV&*^5Dq)3JQ{!J#RhP@mvD2+?9)QtaY<8vr0v;eTLh|zQ9mei(Axp}1x0%E`%%X0Vv!bP~vl0em#;QM&%x^{&Ps>gWT+O}m?B<+>gFVomc_ zZ>J$EttyO-RppTUV-XMsbMT^6K2d!C)pc3r$rS)0lbjrL+}>ub-IxXN?gwpE2aSF> z&(ACG={=-I#BTz&+AXzTELw^mI)#1b~8Q|(AiEE3Xy zo0*GsPX+)sh=VKrS=Nn|zBLP}=qSDFGC6F;Vf6qF@JM*lk|Gqd*>yl1aoKt%z0)=?U_t9i2JD@&} zy{hWqCs!Zg@%9(y0@tBan;9#B1SN1OF_!-09+)%gH`9FWB1gzKo?--E-Pv|$(c5Bj zDLru0iJg2o3;*!9xoCrtJ~OPr;qmtNaPk$UqVSe&5BnV4b*R?-`dN|olRs?CUYafG z{!^*2XM6nZB}d0%#Hi-D&T*8o*xJYA{1ef`uLtqcm4VbrICfFQ(q^UFbglmx`@Rh~ za~t6o)%Y14%QKedC4t#NdVTaoE zDMNeD8dY^?dh?oxKh_HxL!JT>SzQAc8&9xwI$b@Tdq=%OCVG#`O`Kmt@SKNv^Nk7!w>kHwA`QaRt<_kq(wOp>{%zgLw2D30- zHfkCzm35(Ac9dtuYov_y99G

filterConfig(optional) a configuration object for setting the behavior and appearance of the filter. The set of properties depends on the filter type specified in the `content` property:

- a configuration object for "inputFilter" can contain the following properties:
  • placeholder - (optional) the placeholder text in the input field
  • icon - (optional) the CSS class for the filter icon

- a configuration object for "comboFilter" can contain a set of properties:
  • filter - (optional) sets a custom function for filtering Combo Box options
  • multiselection - (optional) enables selection of multiple options
  • readonly - (optional) makes ComboBox readonly (it is only possible to select options from the list, without entering words in the input). The default value of the readonly property depends on the following conditions:
    • the `readonly:true` is set as a default value, if `htmlEnable:true` is set for a column and there is no template specified for a column
    • in all other cases, `readonly:false` is set by default
  • placeholder - (optional) sets a placeholder in the input of ComboBox
  • virtual - (optional) enables dynamic loading of data on scrolling the list of options, true by default
  • template - (optional) a function which returns a template with content for the filter options. Takes an option item as a parameter:
    • item - (object) an option item
- a configuration object for "dateFilter" (PRO version) can contain a set of properties:
Main properties:
  • icon - (optional) the CSS class for the calendar icon
  • placeholder - (optional) the placeholder text in the input field when no date is selected
  • asDateObject (optional) - determines how the filter processes data for `customFilter` and the `beforeFilter` and `filterChange` events. If `true`, the comparison is performed using Date objects
  • range - (optional) enables the date range selection mode (from and to)
  • dateFormat - (optional) the date display format (e.g., `"%d/%m/%Y"`). By default, applies the `dateFormat` used for the column
Calendar API configuration properties:
  • date - (optional) - the initial date opened in the calendar
  • mark - (optional) - a function for adding custom CSS classes to specific dates
  • disabledDates - (optional) - a function for disabling the selection of specific dates
  • weekStart - (optional) - the start day of the week (`"saturday"`, `"sunday"`, `"monday"`).
  • weekNumbers - (optional) - shows week numbers if `true`
  • mode - (optional) - the calendar display mode (`"calendar"`, `"year"`, `"month"`, `"timepicker"`)
  • timePicker - (optional) - adds the ability to select time
  • timeFormat - (optional) - the time format (`12` or `24` hours)
  • thisMonthOnly - (optional) - if `true`, allows selecting dates only within the current month
  • width - (optional) - the width of the dropdown calendar
(optional) a configuration object for setting the behavior and appearance of the filter. The set of properties depends on the filter type specified in the `content` property:

- a configuration object for "inputFilter" can contain the following properties:
  • placeholder - (optional) the placeholder text in the input field
  • icon - (optional) the CSS class for the filter icon

- a configuration object for "comboFilter" can contain a set of properties:
  • filter - (optional) sets a custom function for filtering Combo Box options
  • multiselection - (optional) enables selection of multiple options, *false* by default
  • readonly - (optional) makes ComboBox readonly (it is only possible to select options from the list, without entering words in the input). The default value of the readonly property depends on the following conditions:
    • the `readonly:true` is set as a default value, if `htmlEnable:true` is set for a column and there is no template specified for a column
    • in all other cases, `readonly:false` is set by default
  • placeholder - (optional) sets a placeholder in the input of ComboBox
  • virtual - (optional) enables dynamic loading of data on scrolling the list of options, true by default
  • template - (optional) a function which returns a template with content for the filter options. Takes an option item as a parameter:
    • item - (object) an option item
- a configuration object for "dateFilter" (PRO version) can contain a set of properties:
Main properties:
  • icon - (optional) the CSS class for the calendar icon
  • placeholder - (optional) the placeholder text in the input field when no date is selected
  • asDateObject - (optional) determines how the filter processes data for `customFilter` and the `beforeFilter` and `filterChange` events. If *true*, the comparison is performed using Date objects, *false* by default
  • range - (optional) enables the date range selection mode (from and to), *false* by default
  • dateFormat - (optional) the date display format (e.g., *"%d/%m/%Y"*). By default, applies the `dateFormat` used for the column
Calendar API configuration properties:
  • date - (optional) - the initial date opened in the calendar
  • mark - (optional) - a function for adding custom CSS classes to specific dates
  • disabledDates - (optional) - a function for disabling the selection of specific dates
  • weekStart - (optional) - the start day of the week (*"saturday"*, *"sunday"* (default), *"monday"*).
  • weekNumbers - (optional) - shows week numbers if *true*, *false* by default
  • mode - (optional) - the calendar display mode (*"calendar"* (default), *"year"*, *"month"*, *"timepicker"*)
  • timePicker - (optional) - adds the ability to select time, *false* by default
  • timeFormat - (optional) - the time format (*12* or *24* (default) hours)
  • thisMonthOnly - (optional) - if *true*, allows selecting dates only within the current month, *false* by default
  • width - (optional) - the width of the dropdown calendar, *"250px"* by default
customFilter (optional) a callback function that allows defining custom filtering logic. It takes two parameters:
  • value - (required) the cell value in the row
  • match - (required) the value selected in the filter
and returns `true`, if the row matches the filtering criteria, otherwise `false`
customFilter (optional) a callback function that allows defining custom filtering logic. It takes two parameters:
  • value - (required) the cell value in the row
  • match - (required) the value selected in the filter
and returns *true*, if the row matches the filtering criteria, otherwise *false*
headerSort(optional) enables/disables sorting by clicking the header, true by default