dhx-suite 9.2.8 → 9.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/codebase/suite.min.css +1 -1
- package/codebase/suite.min.js +3 -3
- package/codebase/suite.min.js.map +1 -1
- package/codebase/types/ts-chart/sources/Export.d.ts +5 -4
- package/codebase/types/ts-common/core.d.ts +1 -1
- package/codebase/types/ts-common/date.d.ts +1 -0
- package/codebase/types/ts-grid/sources/ExtendedGrid.d.ts +3 -0
- package/codebase/types/ts-grid/sources/Grid.d.ts +6 -4
- package/codebase/types/ts-grid/sources/ProGrid.d.ts +4 -3
- package/codebase/types/ts-grid/sources/modules/Exporter.d.ts +45 -15
- package/codebase/types/ts-grid/sources/types.d.ts +28 -94
- package/codebase/types/ts-grid/sources/ui/common.d.ts +1 -0
- package/codebase/types/ts-grid/sources/ui/components/dragPanel.d.ts +6 -2
- package/codebase/types/ts-grid/sources/ui/content/ComboFilter.d.ts +13 -3
- package/codebase/types/ts-grid/sources/ui/content/DateFilter.d.ts +42 -0
- package/codebase/types/ts-grid/sources/ui/content/InputFilter.d.ts +11 -2
- package/codebase/types/ts-grid/sources/ui/content/SelectFilter.d.ts +11 -3
- package/codebase/types/ts-grid/sources/ui/content.d.ts +55 -2
- package/codebase/types/ts-grid/sources/ui/proContent.d.ts +37 -0
- package/codebase/types/ts-menu/sources/ContextMenu.d.ts +2 -1
- package/codebase/types/ts-menu/sources/Menu.d.ts +2 -1
- package/codebase/types/ts-menu/sources/types.d.ts +9 -0
- package/codebase/types/ts-tree/sources/types.d.ts +6 -0
- package/codebase/types/ts-treegrid/sources/TreeGrid.d.ts +1 -1
- package/codebase/types/ts-treegrid/sources/types.d.ts +3 -2
- package/codebase/types/ts-window/sources/Window.d.ts +2 -1
- package/codebase/types/ts-window/sources/types.d.ts +1 -0
- package/package.json +1 -1
- package/readme.txt +1 -1
- package/whatsnew.txt +37 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { IExtendedGrid, IProGrid } from "../types";
|
|
2
|
+
import { ICellContent, IHeaderFilter } from "./content";
|
|
3
|
+
import { VNode } from "../../../ts-common/dom";
|
|
4
|
+
import { DataCollection, IDataItem } from "../../../ts-data";
|
|
5
|
+
import { Calendar, ICalendarConfig } from "../../../ts-calendar";
|
|
6
|
+
import { Combobox } from "../../../ts-combobox";
|
|
7
|
+
export interface IComboFilterConfig {
|
|
8
|
+
template?: (item: IDataItem) => string;
|
|
9
|
+
filter?: (item: IDataItem, input: string) => boolean;
|
|
10
|
+
data?: DataCollection<IDataItem> | IDataItem[];
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
readonly?: boolean;
|
|
13
|
+
virtual?: boolean;
|
|
14
|
+
multiselection?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface IInputFilterConfig {
|
|
17
|
+
placeholder?: string;
|
|
18
|
+
icon?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface IDateFilterConfig extends Omit<ICalendarConfig, "value" | "css" | "$rangeMark"> {
|
|
21
|
+
icon?: string;
|
|
22
|
+
placeholder?: string;
|
|
23
|
+
asDateObject?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface IProHeaderFilter extends Omit<IHeaderFilter, "value" | "filterConfig"> {
|
|
26
|
+
value: string | string[] | Date | Date[];
|
|
27
|
+
filterConfig?: IComboFilterConfig | IDateFilterConfig | IInputFilterConfig;
|
|
28
|
+
getFilter(): VNode | Combobox | Calendar;
|
|
29
|
+
setValue(value: string | string[] | Date | Date[], silent?: boolean): void;
|
|
30
|
+
}
|
|
31
|
+
export interface IProCellContent extends Omit<ICellContent, "element"> {
|
|
32
|
+
element?: Record<string, IProHeaderFilter>;
|
|
33
|
+
}
|
|
34
|
+
export interface IProContentList {
|
|
35
|
+
[key: string]: IProCellContent;
|
|
36
|
+
}
|
|
37
|
+
export declare function getProContent(grid: IProGrid | IExtendedGrid): IProContentList;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Navbar, IMenuElement, ContextMode, INavbar } from "../../ts-navbar";
|
|
2
|
+
import { IContextMenuConfig } from "./types";
|
|
2
3
|
export declare class ContextMenu extends Navbar<IMenuElement> implements INavbar {
|
|
3
4
|
private _mode;
|
|
4
|
-
constructor(element?: string | HTMLElement, config?:
|
|
5
|
+
constructor(element?: string | HTMLElement, config?: IContextMenuConfig);
|
|
5
6
|
showAt(elem: HTMLElement | MouseEvent | TouchEvent | string, showAt?: ContextMode): void;
|
|
6
7
|
protected _getFactory(): (item: import("../../ts-navbar").IItem, asMenuItem?: boolean) => any;
|
|
7
8
|
protected _close(e: MouseEvent | TouchEvent): void;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Navbar, IMenuElement, INavbar } from "../../ts-navbar";
|
|
2
2
|
import { Id } from "../../ts-common/types";
|
|
3
|
+
import { IMenuConfig } from "./types";
|
|
3
4
|
export declare class Menu extends Navbar<IMenuElement> implements INavbar {
|
|
4
|
-
constructor(element?: string | HTMLElement, config?:
|
|
5
|
+
constructor(element?: string | HTMLElement, config?: IMenuConfig);
|
|
5
6
|
protected _getFactory(): (item: import("../../ts-navbar").IItem, asMenuItem?: boolean) => any;
|
|
6
7
|
protected _getMode(item: any, root: any): "right" | "bottom";
|
|
7
8
|
protected _close(e: MouseEvent): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TreeCollection } from "../../ts-data";
|
|
2
|
+
import { NavigationType } from "../../ts-navbar";
|
|
3
|
+
export type IContextMenuConfig = Omit<IMenuConfig, "menuCss">;
|
|
4
|
+
export interface IMenuConfig {
|
|
5
|
+
css?: string;
|
|
6
|
+
navigationType?: NavigationType;
|
|
7
|
+
data?: any[] | TreeCollection<any>;
|
|
8
|
+
menuCss?: string;
|
|
9
|
+
}
|
|
@@ -2,6 +2,7 @@ import { IEventSystem } from "../../ts-common/events";
|
|
|
2
2
|
import { Id } from "../../ts-common/types";
|
|
3
3
|
import { TreeCollection, DataEvents, DragEvents, IDragConfig, IDataItem, IDragEventsHandlersMap, Selection } from "../../ts-data";
|
|
4
4
|
import { IEditorConfig } from "./Editor";
|
|
5
|
+
import { ITooltipConfig } from "../../ts-message";
|
|
5
6
|
export interface ITreeState {
|
|
6
7
|
[id: string]: {
|
|
7
8
|
selected: SelectStatus;
|
|
@@ -29,6 +30,10 @@ export declare enum SelectStatus {
|
|
|
29
30
|
indeterminate = 2
|
|
30
31
|
}
|
|
31
32
|
export type ItemIcon = "file" | "folder" | "openFolder";
|
|
33
|
+
export type TTooltipFunc = (item: ITreeItem, event: MouseEvent) => string;
|
|
34
|
+
export interface ITreeTooltipConfig extends Omit<ITooltipConfig, "node"> {
|
|
35
|
+
template?: TTooltipFunc;
|
|
36
|
+
}
|
|
32
37
|
export interface ITreeConfig extends IDragConfig {
|
|
33
38
|
data?: TreeCollection<any> | any[];
|
|
34
39
|
css?: string;
|
|
@@ -41,6 +46,7 @@ export interface ITreeConfig extends IDragConfig {
|
|
|
41
46
|
selection?: boolean;
|
|
42
47
|
rootId?: Id;
|
|
43
48
|
itemHeight?: number | string;
|
|
49
|
+
tooltip?: boolean | TTooltipFunc | ITreeTooltipConfig;
|
|
44
50
|
template?: (item: ITreeItem, isFolder: boolean) => string;
|
|
45
51
|
eventHandlers?: {
|
|
46
52
|
[eventName: string]: {
|
|
@@ -15,7 +15,7 @@ export declare class TreeGrid extends ExtendedGrid implements ITreeGrid {
|
|
|
15
15
|
collapseAll(): void;
|
|
16
16
|
showRow(rowId: Id): void;
|
|
17
17
|
hideRow(rowId: Id): void;
|
|
18
|
-
getCellRect(rowId: Id, colId
|
|
18
|
+
getCellRect(rowId: Id, colId?: Id): ICellRect;
|
|
19
19
|
getSpan(rowId: Id, colId: Id): ISpan;
|
|
20
20
|
protected _adjustColumnsWidth({ rows, cols, totalCols, adjust, }: IAdjustColumns): IColumnsWidth;
|
|
21
21
|
protected _createCollection(): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataEvents, DragEvents, IDataEventsHandlersMap, IDragEventsHandlersMap } from "../../ts-data";
|
|
1
|
+
import { DataEvents, DragEvents, DropBehaviour, IDataEventsHandlersMap, IDragEventsHandlersMap } from "../../ts-data";
|
|
2
2
|
import { GridEvents, IEventHandlersMap, IExtendedGrid, IExtendedGridConfig } from "../../ts-grid";
|
|
3
3
|
import { IEventSystem } from "../../ts-common/events";
|
|
4
4
|
import { Id } from "../../ts-common/types";
|
|
@@ -6,8 +6,9 @@ import { TreeGridCollection } from "./TreeGridCollection";
|
|
|
6
6
|
export interface ITreeGridConfig extends IExtendedGridConfig {
|
|
7
7
|
type?: "tree";
|
|
8
8
|
rootParent?: Id;
|
|
9
|
-
dragExpand?: boolean;
|
|
10
9
|
collapsed?: boolean;
|
|
10
|
+
dragExpand?: boolean;
|
|
11
|
+
dropBehaviour?: DropBehaviour;
|
|
11
12
|
}
|
|
12
13
|
export interface ITreeGrid extends IExtendedGrid {
|
|
13
14
|
events: IEventSystem<DataEvents | GridEvents | DragEvents, IEventHandlersMap & IDataEventsHandlersMap & IDragEventsHandlersMap>;
|
|
@@ -29,12 +29,12 @@ export declare class Window implements IWindow {
|
|
|
29
29
|
getPosition(): IPosition;
|
|
30
30
|
show(left?: number, top?: number): void;
|
|
31
31
|
hide(): void;
|
|
32
|
-
protected _hide(e?: Event): void;
|
|
33
32
|
isVisible(): boolean;
|
|
34
33
|
getWidget(): any;
|
|
35
34
|
getContainer(): HTMLElement;
|
|
36
35
|
attach(name: any, config?: any): void;
|
|
37
36
|
attachHTML(html: string): void;
|
|
37
|
+
setActive(): void;
|
|
38
38
|
getRootView(): any;
|
|
39
39
|
destructor(): void;
|
|
40
40
|
/** @deprecated See a documentation: https://docs.dhtmlx.com/ */
|
|
@@ -42,6 +42,7 @@ export declare class Window implements IWindow {
|
|
|
42
42
|
protected _initHandlers(): void;
|
|
43
43
|
protected _initUI(): void;
|
|
44
44
|
protected _drawResizers(): any;
|
|
45
|
+
protected _hide(e?: Event): void;
|
|
45
46
|
private _startDrag;
|
|
46
47
|
protected _startResize(resizeConfig: IDirectionConfig): void;
|
|
47
48
|
private _blockScreen;
|
package/package.json
CHANGED
package/readme.txt
CHANGED
package/whatsnew.txt
CHANGED
|
@@ -1,3 +1,40 @@
|
|
|
1
|
+
# Version 9.3.1 (March 26, 2026)
|
|
2
|
+
|
|
3
|
+
### Fixes
|
|
4
|
+
|
|
5
|
+
- Form. The validation issue for the `timePicker` control with the `timeObject` value format when the minute part is less than 10 is fixed
|
|
6
|
+
- Form. The issue where hiding and showing a form control would cause the form title to be positioned incorrectly is fixed
|
|
7
|
+
|
|
8
|
+
# Version 9.3 (February 17, 2026)
|
|
9
|
+
|
|
10
|
+
### New functionality
|
|
11
|
+
|
|
12
|
+
- Grid. The ability to specify a flexible configuration for export to the CSV, XLSX, PDF, and PNG formats (PRO version)
|
|
13
|
+
- new Grid configuration property: `exportConfig`
|
|
14
|
+
- Grid. A new `dateFilter` type of filter for the column header is added (PRO version)
|
|
15
|
+
- Grid. The ability to define the position of the footer and frozen rows within the component container (PRO version)
|
|
16
|
+
- new Grid configuration property: `footerPosition`
|
|
17
|
+
- Grid. The ability to define the behaviour of a dragged item in the TreeGrid mode (PRO version)
|
|
18
|
+
- new Grid configuration property: `dropBehaviour`
|
|
19
|
+
- Tree. The ability to add tooltips for the items
|
|
20
|
+
- new Tree configuration property: `tooltip`
|
|
21
|
+
- Window. The ability to set a window to the active state
|
|
22
|
+
- new Window method: `setActive()`
|
|
23
|
+
|
|
24
|
+
### Updates
|
|
25
|
+
|
|
26
|
+
- Chart. Export module. The `pdf()` and `png()` export functions return a promise of data export
|
|
27
|
+
- Grid. Export module. The `pdf()`, `png()`, `xlsx()` and `csv()` export functions return a promise of data export
|
|
28
|
+
- Grid. The functionality of column header filters is updated:
|
|
29
|
+
- the `setValue()` method (of the `getHeaderFilter()` API), can take a *Date* object or an array of *Date[]* objects as a parameter
|
|
30
|
+
- the `value` parameter of the callback functions of `filterChange` and `beforeFilter` events can be a *Date* object or an array of *Date[]* objects
|
|
31
|
+
- the parameters of the `customFilter` callback function can be *Date* objects or arrays of *Date[]* objects
|
|
32
|
+
|
|
33
|
+
### Fixes
|
|
34
|
+
|
|
35
|
+
- Grid. The inability to set a single date in the range mode is fixed
|
|
36
|
+
- Grid. Performance issues that occurred while filtering large data sets via `inputFilter`
|
|
37
|
+
|
|
1
38
|
# Version 9.2.8 (January 28, 2026)
|
|
2
39
|
|
|
3
40
|
### Fixes
|