dhx-suite 8.3.13 → 8.4.0

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.
@@ -78,6 +78,7 @@ export interface ISeriaConfig {
78
78
  showText?: boolean;
79
79
  showTextRotate?: number | string;
80
80
  showTextTemplate?: (points: any) => string;
81
+ valueTemplate?: (value: number) => string;
81
82
  tooltip?: boolean;
82
83
  tooltipType?: TooltipType;
83
84
  tooltipTemplate?: (points: any[]) => string;
@@ -24,6 +24,11 @@ export interface IComboboxConfig {
24
24
  value?: Id | Id[];
25
25
  newOptions?: boolean;
26
26
  htmlEnable?: boolean;
27
+ eventHandlers?: {
28
+ [eventName: string]: {
29
+ [className: string]: (event: Event, id: Id) => void | boolean;
30
+ };
31
+ };
27
32
  /** @deprecated See a documentation: https://docs.dhtmlx.com/ */
28
33
  cellHeight?: number;
29
34
  /** @deprecated See a documentation: https://docs.dhtmlx.com/ */
@@ -17,7 +17,7 @@ export interface IDataViewConfig extends IListConfig {
17
17
  editable?: boolean;
18
18
  eventHandlers?: {
19
19
  [eventName: string]: {
20
- [className: string]: (event: Event, id: Id) => void;
20
+ [className: string]: (event: Event, id: Id) => void | boolean;
21
21
  };
22
22
  };
23
23
  /** @deprecated See a documentation: https://docs.dhtmlx.com/ */
@@ -35,6 +35,7 @@ export interface IDataView<T extends IDataItem = any> {
35
35
  editItem(id: Id): void;
36
36
  getFocusItem(): T;
37
37
  setFocus(id: Id): void;
38
+ resetFocus(): void;
38
39
  getFocus(): Id;
39
40
  /** @deprecated See a documentation: https://docs.dhtmlx.com/ */
40
41
  disableSelection(): void;
@@ -1,6 +1,7 @@
1
- import { ICell, ICol, IGrid, IRow } from "./../types";
1
+ import { ICell, ICol, IGrid, IRow, ISpan } from "./../types";
2
2
  import { Id } from "../../../ts-common/types";
3
3
  export declare function getWidth(columns: ICol[], colspan: number, index: number): number;
4
- export declare function getHeight(dataRows: IRow[], rowspan: number, index: number): number;
4
+ export declare function getHeight(rows: IRow[], span: ISpan): number;
5
5
  export declare function getReducedColspan(columns: ICol[], colId: Id, colspan: number): number;
6
+ export declare function getReducedRowspan(initialRows: IRow[], currRows: IRow[], rowIndex: number, span: ISpan): number;
6
7
  export declare function normalizeCell(cell: ICell, grid: IGrid): ICell;
@@ -1,4 +1,5 @@
1
- import { ICellCss, ICol, IFooter, IGridConfig, IHeader, IRow, ISpan } from "../types";
1
+ import { ICellCss, ICol, IFooter, IGridConfig, IGridTooltipConfig, IHeader, IRow, ISpan } from "../types";
2
+ import { ITooltipConfig } from "../../../ts-message";
2
3
  export declare function transpose(arr: any[][], transform?: any): any[][];
3
4
  export declare function getStyleByClass(cssClass: string, targetClass: string, def: ICellCss, container?: HTMLElement): ICellCss;
4
5
  export declare function removeHTMLTags(str: string): string;
@@ -6,13 +7,10 @@ export declare function isCssSupport(property: string, value: string): boolean;
6
7
  export declare function isRowEmpty(row: IRow): boolean;
7
8
  export declare function isSortable(config: IGridConfig, col: ICol): boolean;
8
9
  export declare function isAutoWidth(config: IGridConfig, col?: ICol): boolean;
9
- export declare function showTooltip({ node, value, htmlEnable }: {
10
- node: any;
11
- value: any;
12
- htmlEnable?: boolean;
13
- }): void;
10
+ export declare function showTooltip(value: any, config: ITooltipConfig): void;
14
11
  export declare function isContentTooltip(config: IGridConfig, col: ICol, cell: any, type: "footer" | "header"): boolean;
15
- export declare function isTooltip(config: IGridConfig, element: ICol | ISpan): boolean;
12
+ export declare function getTooltipConfig(config: IGridConfig, col?: ICol, cell?: IHeader | IFooter | ISpan, type?: "footer" | "header"): IGridTooltipConfig;
13
+ export declare function isTooltip(config: IGridConfig, element: ICol | ISpan): boolean | IGridTooltipConfig;
16
14
  export declare function isHtmlEnable(config: IGridConfig, col: ICol, content?: IHeader | IFooter): boolean;
17
15
  export declare function getTotalWidth(columns: ICol[]): number;
18
16
  export declare function getTotalHeight(rows: IRow[]): number;
@@ -1,6 +1,7 @@
1
1
  import { IEventSystem } from "../../ts-common/events";
2
2
  import { IKeyManager } from "../../ts-common/KeyManager";
3
3
  import { IAlign } from "../../ts-common/html";
4
+ import { Position } from "../../ts-message";
4
5
  import { IDataCollection, IDragConfig, ICsvDriverConfig, IDataItem, IDragInfo, DataCollection } from "../../ts-data";
5
6
  import { Exporter } from "./Exporter";
6
7
  import { Combobox } from "../../ts-combobox";
@@ -31,9 +32,9 @@ export interface IGridConfig extends IDragConfig {
31
32
  autoEmptyRow?: boolean;
32
33
  resizable?: boolean;
33
34
  htmlEnable?: boolean;
34
- tooltip?: boolean;
35
- headerTooltip?: boolean;
36
- footerTooltip?: boolean;
35
+ tooltip?: boolean | IGridTooltipConfig;
36
+ headerTooltip?: boolean | IGridTooltipConfig;
37
+ footerTooltip?: boolean | IGridTooltipConfig;
37
38
  rowHeight?: number;
38
39
  headerRowHeight?: number;
39
40
  footerRowHeight?: number;
@@ -82,6 +83,14 @@ export interface IGridConfig extends IDragConfig {
82
83
  /** @deprecated See a documentation: https://docs.dhtmlx.com/ */
83
84
  splitAt?: number;
84
85
  }
86
+ export interface IGridTooltipConfig {
87
+ force?: boolean;
88
+ showDelay?: number;
89
+ hideDelay?: number;
90
+ margin?: number;
91
+ position?: Position;
92
+ css?: string;
93
+ }
85
94
  export interface IScrollBarWidth {
86
95
  x: number;
87
96
  y: number;
@@ -244,7 +253,7 @@ export interface ICol {
244
253
  adjust?: IAdjustBy;
245
254
  autoWidth?: boolean;
246
255
  align?: IAlign;
247
- tooltip?: boolean;
256
+ tooltip?: boolean | IGridTooltipConfig;
248
257
  tooltipTemplate?: (cellValue: any, row: IRow, col: ICol) => string;
249
258
  gravity?: number;
250
259
  $cellCss?: {
@@ -253,7 +262,7 @@ export interface ICol {
253
262
  $uniqueData?: any[];
254
263
  $activeFilterData?: any[];
255
264
  $width?: number;
256
- $fixed?: boolean;
265
+ $fixedWidth?: boolean;
257
266
  $customOptions?: any;
258
267
  /** @deprecated See a documentation: https://docs.dhtmlx.com/ */
259
268
  dateFormat?: string;
@@ -275,7 +284,7 @@ export interface IContent {
275
284
  rowspan?: number;
276
285
  css?: string;
277
286
  align?: IAlign;
278
- tooltip?: boolean;
287
+ tooltip?: boolean | IGridTooltipConfig;
279
288
  htmlEnable?: boolean;
280
289
  }
281
290
  export interface IHeader extends IContent {
@@ -306,7 +315,7 @@ export interface ISpan {
306
315
  colspan?: number;
307
316
  text?: string | number;
308
317
  css?: string;
309
- tooltip?: boolean;
318
+ tooltip?: boolean | IGridTooltipConfig;
310
319
  tooltipTemplate?: (spanValue: any, span: ISpan) => string;
311
320
  $rowsVisibility?: number[];
312
321
  $colsVisibility?: number[];
@@ -27,7 +27,7 @@ export declare function normalizeSpan(span: ISpan, config: IGridConfig, data: ID
27
27
  colspan?: number;
28
28
  text?: string | number;
29
29
  css?: string;
30
- tooltip?: boolean;
30
+ tooltip?: boolean | import("../types").IGridTooltipConfig;
31
31
  tooltipTemplate?: (spanValue: any, span: ISpan) => string;
32
32
  };
33
33
  export {};
@@ -1,15 +1,15 @@
1
- import { IGrid, IGridConfig, IProGrid, IRendererConfig, IRow, Split, IScrollBarWidth } from "../types";
1
+ import { IGrid, IGridConfig, IProGrid, IRendererConfig, IRow, Split, IScrollBarWidth, ICol } from "../types";
2
2
  export declare const BORDERS = 2;
3
3
  export declare function calcScrollBarWidth(config: IGridConfig | IRendererConfig, customScroll?: boolean, sizes?: {
4
4
  width: number;
5
5
  height: number;
6
6
  }): IScrollBarWidth;
7
- export declare function getCurrFixedCols(config: IGridConfig, split: Split.left | Split.right): import("../types").ICol[];
7
+ export declare function getCurrFixedCols(config: IGridConfig, split: Split.left | Split.right): ICol[];
8
8
  export declare function getRenderConfig(obj: any, data: IRow[], wrapperSizes: any): IRendererConfig;
9
9
  export declare function getElementSizes(element: HTMLElement | any): {
10
10
  width: number;
11
11
  height: number;
12
12
  };
13
- export declare function applyAutoWidth(config: IGridConfig, wrapperSizes: any, firstApply?: boolean, resizer?: boolean, scrollViewConfig?: boolean): void;
13
+ export declare function applyAutoWidth(config: IGridConfig, wrapperSizes: any, scrollViewConfig?: boolean): void;
14
14
  export declare function render(vm: any, obj: IGrid, htmlEvents: any, selection: any, uid: string): any;
15
15
  export declare function proRender(vm: any, obj: IProGrid, htmlEvents: any, selection: any, uid: string): any;
@@ -16,6 +16,7 @@ export declare class Cell extends View implements ICell {
16
16
  protected _resizerHandlers: any;
17
17
  protected _progress: boolean;
18
18
  protected _stopProgressDefault: boolean;
19
+ protected _theme: string;
19
20
  private _isLastFlexCell;
20
21
  private _afterWindowResized;
21
22
  constructor(parent: string | HTMLElement | ILayout, config: ICellConfig);
@@ -38,6 +39,7 @@ export declare class Cell extends View implements ICell {
38
39
  progressHide(): void;
39
40
  isVisibleProgress(): boolean;
40
41
  toVDOM(nodes?: any[]): any;
42
+ protected _saveTheme(): void;
41
43
  protected _getProgressBar(): any;
42
44
  protected _getCss(_content?: boolean): string;
43
45
  protected _initHandlers(): void;
@@ -14,7 +14,7 @@ export declare class List extends View implements IList {
14
14
  selection: ISelection;
15
15
  keyManager: IKeyManager;
16
16
  protected _handlers: IHandlers;
17
- protected _focus: Id;
17
+ protected _focus: Id | undefined;
18
18
  protected _edited: Id;
19
19
  protected _events: IHandlers;
20
20
  private _topOffset;
@@ -35,6 +35,7 @@ export declare class List extends View implements IList {
35
35
  editEnd(value: any, id?: Id): void;
36
36
  getFocusItem(): any;
37
37
  setFocus(id: Id): void;
38
+ resetFocus(): void;
38
39
  getFocus(): Id;
39
40
  destructor(): void;
40
41
  scrollTo(id: Id): void;
@@ -48,7 +48,7 @@ export interface IListEventHandlersMap {
48
48
  [ListEvents.itemMouseOver]: (id: Id, e: Event) => void;
49
49
  [ListEvents.doubleClick]: (id: Id, e: Event) => void;
50
50
  [ListEvents.itemRightClick]: (id: Id, e: MouseEvent) => void;
51
- [ListEvents.focusChange]: (focusIndex: number, id: Id) => void;
51
+ [ListEvents.focusChange]: (focusIndex?: number, id?: Id) => void;
52
52
  [ListEvents.beforeEditStart]: (id: Id) => void | boolean;
53
53
  [ListEvents.afterEditStart]: (id: Id) => void;
54
54
  [ListEvents.beforeEditEnd]: (value: string, id: Id) => void | boolean;
@@ -70,6 +70,7 @@ export interface IList<T extends IDataItem = any> {
70
70
  editItem(id: Id): void;
71
71
  getFocusItem(): T;
72
72
  setFocus(id: Id): void;
73
+ resetFocus(): void;
73
74
  getFocus(): Id;
74
75
  scrollTo(id: Id): void;
75
76
  /** @deprecated See a documentation: https://docs.dhtmlx.com/ */
@@ -1,6 +1,10 @@
1
1
  import { Navbar, IMenuElement, INavbar } from "../../ts-navbar";
2
+ import { Id } from "../../ts-common/types";
2
3
  export declare class Menu extends Navbar<IMenuElement> implements INavbar {
3
4
  constructor(element?: string | HTMLElement, config?: any);
4
5
  protected _getFactory(): (item: import("../../ts-navbar").IItem, asMenuItem?: boolean) => any;
6
+ protected _getMode(item: any, root: any): "right" | "bottom";
7
+ protected _close(e: MouseEvent): void;
8
+ protected _setRoot(id: Id): void;
5
9
  private _draw;
6
10
  }
@@ -1,10 +1,11 @@
1
1
  import { Id } from "../../ts-common/types";
2
2
  import { TreeCollection } from "../../ts-data";
3
- import { IState, Navbar, INavbar, IButton, IImageButton, ISelectButton, IInput, ISeparator, ISpacer, ITitle, ICustomHTML, INavItem, IMenuItem, IDatePicker } from "../../ts-navbar";
3
+ import { IState, Navbar, INavbar, IButton, IImageButton, ISelectButton, IInput, ISeparator, ISpacer, ITitle, ICustomHTML, INavItem, IMenuItem, IDatePicker, NavigationType } from "../../ts-navbar";
4
4
  export interface IToolbarConfig {
5
5
  css?: string;
6
6
  menuCss?: string;
7
7
  data?: any[] | TreeCollection<IToolbarElement>;
8
+ navigationType?: NavigationType;
8
9
  }
9
10
  export interface IToolbar extends INavbar {
10
11
  data: TreeCollection<IToolbarElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dhx-suite",
3
- "version": "8.3.13",
3
+ "version": "8.4.0",
4
4
  "description": "dhtmlxSuite widget",
5
5
  "homepage":"https://docs.dhtmlx.com",
6
6
  "license":"GPL",
package/readme.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
3
 
4
- dhtmlxSuite v.8.3.13 Standard
4
+ dhtmlxSuite v.8.4.0 Standard
5
5
  This software is covered by GPL-2.0 License. Usage without proper license is prohibited.
6
6
 
7
7
  (c) XB Software.
package/whatsnew.txt CHANGED
@@ -1,3 +1,41 @@
1
+ # Version 8.4 (July 16, 2024)
2
+
3
+ ### New functionality
4
+
5
+ - Chart. The ability to specify a template for showing percent values for data items on the Pie, Pie3D and Donut charts
6
+ - Chart. The ability to add the header/footer for an exported PNG/PDF file
7
+ - Combobox. The ability to add event handlers to HTML elements of a custom template of Combobox items
8
+ - Form. The ability to add event handlers to HTML elements of a custom template of the Combo control items
9
+ - Grid/TreeGrid. The ability to add event handlers to HTML elements of a custom template of Combobox editor items in a column
10
+ - Grid/TreeGrid. The ability to add the header/footer for an exported PNG/PDF file
11
+ - Toolbar. The ability to expand items by hovering over Toolbar elements with the mouse pointer
12
+
13
+ ### Updates
14
+
15
+ - Grid/TreeGrid. The ability to use most Data/TreeCollection methods during dynamic loading before data is fully loaded
16
+ - Grid/TreeGrid. The ability to specify Grid/TreeGrid tooltips as objects with settings
17
+ - Grid/TreeGrid. The ability to provide a filtering function for the Combobox editor in a column
18
+ - List. The ability to use most Data/TreeCollection methods during dynamic loading before data is fully loaded
19
+
20
+ ### Fixes
21
+
22
+ - Grid/TreeGrid. Fix an issue related to updating sizes according to the parent container
23
+ - Navigation. Closing the menu on click in the "click" navigation mode for Toolbar, Menu, Sidebar, Ribbon
24
+
25
+ # Version 8.3.14 (July 8, 2024)
26
+
27
+ ### Fixes
28
+
29
+ - Combobox. The accessibility issue in the NVDA screen reader
30
+ - Grid/TreeGrid. Events aren't triggered for the cell template
31
+ - Grid/TreeGrid. The `adjust` property isn't applied to the "id" column
32
+ - Grid/TreeGrid. The value of the `headerAutoHeight` property in combination with the `adjust` one is calculated incorrectly
33
+ - Grid/TreeGrid. Filtering is reset while dragging rows
34
+ - Grid/TreeGrid. The combination of the `minWidth` and `autoWidth` column properties works incorrectly
35
+ - Grid/TreeGrid. The scrolling functionality and key navigation are fixed
36
+ - Grid/TreeGrid. Filtering with the row-spanned data
37
+ - Layout. A theme applied to a Layout cell resets after the cell is collapsed
38
+
1
39
  # Version 8.3.13 (June 24, 2024)
2
40
 
3
41
  ### Fixes