From 886cdde032a95026c02ac8a39c3fadce295900fa Mon Sep 17 00:00:00 2001 From: dxvladislavvolkov Date: Mon, 21 Aug 2023 11:34:54 +0400 Subject: [PATCH 01/10] Fix onClick event for column button --- packages/devextreme-react/src/data-grid.ts | 6 +++--- packages/devextreme/js/ui/data_grid.d.ts | 7 +------ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/packages/devextreme-react/src/data-grid.ts b/packages/devextreme-react/src/data-grid.ts index 0723e6d54b15..9b03f5228b8b 100644 --- a/packages/devextreme-react/src/data-grid.ts +++ b/packages/devextreme-react/src/data-grid.ts @@ -7,17 +7,17 @@ import * as PropTypes from "prop-types"; import { Component as BaseComponent, IHtmlOptions } from "./core/component"; import NestedOption from "./core/nested-option"; -import type { dxDataGridColumn, AdaptiveDetailRowPreparingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, ExportingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxDataGridRowObject, dxDataGridColumnButton, dxDataGridToolbarItem } from "devextreme/ui/data_grid"; +import type { dxDataGridColumn, AdaptiveDetailRowPreparingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, ExportingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxDataGridRowObject, ColumnButtonClickEvent, dxDataGridColumnButton, dxDataGridToolbarItem } from "devextreme/ui/data_grid"; import type { DataChange, ColumnHeaderFilterSearchConfig, ColumnChooserSearchConfig, ColumnChooserSelectionConfig, HeaderFilterSearchConfig, GridBase } from "devextreme/common/grids"; import type { ContentReadyEvent as FilterBuilderContentReadyEvent, DisposingEvent as FilterBuilderDisposingEvent, EditorPreparedEvent as FilterBuilderEditorPreparedEvent, EditorPreparingEvent as FilterBuilderEditorPreparingEvent, InitializedEvent as FilterBuilderInitializedEvent, dxFilterBuilderField, dxFilterBuilderCustomOperation, OptionChangedEvent, ValueChangedEvent } from "devextreme/ui/filter_builder"; import type { ContentReadyEvent as FormContentReadyEvent, DisposingEvent as FormDisposingEvent, InitializedEvent as FormInitializedEvent, dxFormSimpleItem, dxFormOptions, OptionChangedEvent as FormOptionChangedEvent, dxFormGroupItem, dxFormTabbedItem, dxFormEmptyItem, dxFormButtonItem, EditorEnterKeyEvent, FieldDataChangedEvent } from "devextreme/ui/form"; import type { AnimationConfig, AnimationState } from "devextreme/animation/fx"; -import type { event, EventInfo } from "devextreme/events/index"; import type { template } from "devextreme/core/templates/template"; import type { DataSourceOptions } from "devextreme/data/data_source"; import type { Store } from "devextreme/data/abstract_store"; import type { PositionConfig } from "devextreme/animation/position"; import type { dxPopupOptions, dxPopupToolbarItem } from "devextreme/ui/popup"; +import type { event, EventInfo } from "devextreme/events/index"; import type { Component } from "devextreme/core/component"; import type { CollectionWidgetItem } from "devextreme/ui/collection/ui.collection_widget.base"; @@ -403,7 +403,7 @@ type IButtonProps = React.PropsWithChildren<{ hint?: string; icon?: string; name?: "cancel" | "delete" | "edit" | "save" | "undelete"; - onClick?: ((e: { column: dxDataGridColumn, component: dxDataGrid, element: any, event: event, model: Record, row: dxDataGridRowObject }) => void); + onClick?: ((e: ColumnButtonClickEvent) => void); template?: ((cellElement: any, cellInfo: { column: dxDataGridColumn, columnIndex: number, component: dxDataGrid, data: Record, key: any, row: dxDataGridRowObject, rowIndex: number, rowType: string }) => string) | template; text?: string; visible?: boolean | ((options: { column: dxDataGridColumn, component: dxDataGrid, row: dxDataGridRowObject }) => boolean); diff --git a/packages/devextreme/js/ui/data_grid.d.ts b/packages/devextreme/js/ui/data_grid.d.ts index e18d3ab6d8e7..7e3900932488 100644 --- a/packages/devextreme/js/ui/data_grid.d.ts +++ b/packages/devextreme/js/ui/data_grid.d.ts @@ -2303,12 +2303,7 @@ export interface dxDataGridColumnButton extends Colu name?: DataGridPredefinedColumnButton | string; /** * @docid dxDataGridColumnButton.onClick - * @type_function_param1 e:object - * @type_function_param1_field component:dxDataGrid - * @type_function_param1_field model:object - * @type_function_param1_field event:event - * @type_function_param1_field row:dxDataGridRowObject - * @type_function_param1_field column:dxDataGridColumn + * @type_function_param1 e:{ui/data_grid:ColumnButtonClickEvent} * @public */ onClick?: ((e: ColumnButtonClickEvent) => void); From ca5b3f521198f0b2815787898b410b2e865c5efe Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov Date: Tue, 22 Aug 2023 14:17:31 +0300 Subject: [PATCH 02/10] TreeList ColumnButtonClickEvent like in DataGrid ref 886cdde032a95026c02ac8a39c3fadce295900fa --- packages/devextreme/js/ui/tree_list.d.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/devextreme/js/ui/tree_list.d.ts b/packages/devextreme/js/ui/tree_list.d.ts index d419834828db..a5bcc08fe621 100644 --- a/packages/devextreme/js/ui/tree_list.d.ts +++ b/packages/devextreme/js/ui/tree_list.d.ts @@ -1604,11 +1604,7 @@ export interface dxTreeListColumnButton extends Colu name?: TreeListPredefinedColumnButton | string; /** * @docid dxTreeListColumnButton.onClick - * @type_function_param1 e:object - * @type_function_param1_field component:dxTreeList - * @type_function_param1_field event:event - * @type_function_param1_field row:dxTreeListRowObject - * @type_function_param1_field column:dxTreeListColumn + * @type_function_param1 e:{ui/tree_list:ColumnButtonClickEvent} * @public */ onClick?: ((e: ColumnButtonClickEvent) => void); From 8d0019312d7b4f84e4dfca4073f641eb3f5fb30e Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov Date: Tue, 22 Aug 2023 14:18:28 +0300 Subject: [PATCH 03/10] Publish Events Types --- packages/devextreme/js/ui/data_grid.d.ts | 15 ++++++++++++++- packages/devextreme/js/ui/tree_list.d.ts | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/packages/devextreme/js/ui/data_grid.d.ts b/packages/devextreme/js/ui/data_grid.d.ts index 7e3900932488..5f53ef748fbe 100644 --- a/packages/devextreme/js/ui/data_grid.d.ts +++ b/packages/devextreme/js/ui/data_grid.d.ts @@ -1035,9 +1035,22 @@ export type RowDraggingRemoveEvent = ReducedNativeEv /** @public */ export type RowDraggingReorderEvent = ReducedNativeEventInfo> & RowDraggingEventInfo & DragReorderInfo; -/** @public */ +/** + * @docid _ui_data_grid_ColumnButtonClickEvent + * @public + * @type object + * @inherits NativeEventInfo + */ export type ColumnButtonClickEvent = NativeEventInfo, PointerEvent | MouseEvent> & { + /** + * @docid _ui_data_grid_ColumnButtonClickEvent.row + * @type dxDataGridRowObject + */ row?: Row; + /** + * @docid _ui_data_grid_ColumnButtonClickEvent.column + * @type dxDataGridColumn + */ column?: Column; }; diff --git a/packages/devextreme/js/ui/tree_list.d.ts b/packages/devextreme/js/ui/tree_list.d.ts index a5bcc08fe621..6cf70652d7e0 100644 --- a/packages/devextreme/js/ui/tree_list.d.ts +++ b/packages/devextreme/js/ui/tree_list.d.ts @@ -824,9 +824,22 @@ export type RowDraggingRemoveEvent = ReducedNativeEv /** @public */ export type RowDraggingReorderEvent = ReducedNativeEventInfo> & RowDraggingEventInfo & DragReorderInfo; -/** @public */ +/** + * @docid _ui_tree_list_ColumnButtonClickEvent + * @public + * @type object + * @inherits NativeEventInfo + */ export type ColumnButtonClickEvent = NativeEventInfo, PointerEvent | MouseEvent> & { + /** + * @docid _ui_tree_list_ColumnButtonClickEvent.row + * @type dxTreeListRowObject + */ row?: Row; + /** + * @docid _ui_tree_list_ColumnButtonClickEvent.column + * @type dxTreeListColumn + */ column?: Column; }; From a575f88ab1b26073f2e62e3b99cb8680c37a105c Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov Date: Tue, 22 Aug 2023 14:20:08 +0300 Subject: [PATCH 04/10] Generate React Wrapper --- packages/devextreme-react/src/tree-list.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/devextreme-react/src/tree-list.ts b/packages/devextreme-react/src/tree-list.ts index 79d52062b983..340e2ad2b557 100644 --- a/packages/devextreme-react/src/tree-list.ts +++ b/packages/devextreme-react/src/tree-list.ts @@ -7,17 +7,17 @@ import * as PropTypes from "prop-types"; import { Component as BaseComponent, IHtmlOptions } from "./core/component"; import NestedOption from "./core/nested-option"; -import type { dxTreeListColumn, AdaptiveDetailRowPreparingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, NodesInitializedEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxTreeListRowObject, dxTreeListColumnButton, dxTreeListToolbarItem } from "devextreme/ui/tree_list"; +import type { dxTreeListColumn, AdaptiveDetailRowPreparingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, NodesInitializedEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxTreeListRowObject, ColumnButtonClickEvent, dxTreeListColumnButton, dxTreeListToolbarItem } from "devextreme/ui/tree_list"; import type { DataChange, ColumnHeaderFilterSearchConfig, ColumnChooserSearchConfig, ColumnChooserSelectionConfig, GridBase, HeaderFilterSearchConfig } from "devextreme/common/grids"; import type { ContentReadyEvent as FilterBuilderContentReadyEvent, DisposingEvent as FilterBuilderDisposingEvent, EditorPreparedEvent as FilterBuilderEditorPreparedEvent, EditorPreparingEvent as FilterBuilderEditorPreparingEvent, InitializedEvent as FilterBuilderInitializedEvent, dxFilterBuilderField, dxFilterBuilderCustomOperation, OptionChangedEvent, ValueChangedEvent } from "devextreme/ui/filter_builder"; import type { ContentReadyEvent as FormContentReadyEvent, DisposingEvent as FormDisposingEvent, InitializedEvent as FormInitializedEvent, dxFormSimpleItem, dxFormOptions, OptionChangedEvent as FormOptionChangedEvent, dxFormGroupItem, dxFormTabbedItem, dxFormEmptyItem, dxFormButtonItem, EditorEnterKeyEvent, FieldDataChangedEvent } from "devextreme/ui/form"; import type { AnimationConfig, AnimationState } from "devextreme/animation/fx"; -import type { event, EventInfo } from "devextreme/events/index"; import type { template } from "devextreme/core/templates/template"; import type { DataSourceOptions } from "devextreme/data/data_source"; import type { Store } from "devextreme/data/abstract_store"; import type { PositionConfig } from "devextreme/animation/position"; import type { dxPopupOptions, dxPopupToolbarItem } from "devextreme/ui/popup"; +import type { event, EventInfo } from "devextreme/events/index"; import type { Component } from "devextreme/core/component"; import type { CollectionWidgetItem } from "devextreme/ui/collection/ui.collection_widget.base"; @@ -390,7 +390,7 @@ type IButtonProps = React.PropsWithChildren<{ hint?: string; icon?: string; name?: "add" | "cancel" | "delete" | "edit" | "save" | "undelete"; - onClick?: ((e: { column: dxTreeListColumn, component: dxTreeList, element: any, event: event, model: any, row: dxTreeListRowObject }) => void); + onClick?: ((e: ColumnButtonClickEvent) => void); template?: ((cellElement: any, cellInfo: { column: dxTreeListColumn, columnIndex: number, component: dxTreeList, data: Record, key: any, row: dxTreeListRowObject, rowIndex: number, rowType: string }) => string) | template; text?: string; visible?: boolean | ((options: { column: dxTreeListColumn, component: dxTreeList, row: dxTreeListRowObject }) => boolean); From 4a816c07891874565432806322b3b11c8ab6f8d4 Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov Date: Tue, 22 Aug 2023 14:26:48 +0300 Subject: [PATCH 05/10] dx.all.d.ts --- packages/devextreme/ts/dx.all.d.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/devextreme/ts/dx.all.d.ts b/packages/devextreme/ts/dx.all.d.ts index d3f9e1815f26..484505bbb661 100644 --- a/packages/devextreme/ts/dx.all.d.ts +++ b/packages/devextreme/ts/dx.all.d.ts @@ -9987,6 +9987,9 @@ declare module DevExpress.ui { * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type ColumnButtonBase = DevExpress.common.grids.ColumnButtonBase; + /** + * [descr:_ui_data_grid_ColumnButtonClickEvent] + */ export type ColumnButtonClickEvent< TRowData = any, TKey = any @@ -9994,7 +9997,13 @@ declare module DevExpress.ui { dxDataGrid, PointerEvent | MouseEvent > & { + /** + * [descr:_ui_data_grid_ColumnButtonClickEvent.row] + */ row?: Row; + /** + * [descr:_ui_data_grid_ColumnButtonClickEvent.column] + */ column?: Column; }; export type ColumnButtonTemplateData = { @@ -27295,6 +27304,9 @@ declare module DevExpress.ui { TRowData = any, TKey = any > = dxTreeListColumnButton; + /** + * [descr:_ui_tree_list_ColumnButtonClickEvent] + */ export type ColumnButtonClickEvent< TRowData = any, TKey = any @@ -27302,7 +27314,13 @@ declare module DevExpress.ui { dxTreeList, PointerEvent | MouseEvent > & { + /** + * [descr:_ui_tree_list_ColumnButtonClickEvent.row] + */ row?: Row; + /** + * [descr:_ui_tree_list_ColumnButtonClickEvent.column] + */ column?: Column; }; export type ColumnButtonTemplateData = { From 0a6e85f97f0cc5ba1f54eea77a2cc98912dbc733 Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov Date: Thu, 31 Aug 2023 11:48:51 +0300 Subject: [PATCH 06/10] Revert "TreeList ColumnButtonClickEvent like in DataGrid ref 886cdde032a95026c02ac8a39c3fadce295900fa" This reverts commit ca5b3f521198f0b2815787898b410b2e865c5efe. --- packages/devextreme/js/ui/tree_list.d.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/devextreme/js/ui/tree_list.d.ts b/packages/devextreme/js/ui/tree_list.d.ts index 6cf70652d7e0..affb3609d725 100644 --- a/packages/devextreme/js/ui/tree_list.d.ts +++ b/packages/devextreme/js/ui/tree_list.d.ts @@ -1617,7 +1617,11 @@ export interface dxTreeListColumnButton extends Colu name?: TreeListPredefinedColumnButton | string; /** * @docid dxTreeListColumnButton.onClick - * @type_function_param1 e:{ui/tree_list:ColumnButtonClickEvent} + * @type_function_param1 e:object + * @type_function_param1_field component:dxTreeList + * @type_function_param1_field event:event + * @type_function_param1_field row:dxTreeListRowObject + * @type_function_param1_field column:dxTreeListColumn * @public */ onClick?: ((e: ColumnButtonClickEvent) => void); From f498b9fdd31f1da78c615525092bb34d78e32cac Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov Date: Thu, 31 Aug 2023 11:50:18 +0300 Subject: [PATCH 07/10] Revert "Publish Events Types" (TreeList) This reverts commit 8d0019312d7b4f84e4dfca4073f641eb3f5fb30e. --- packages/devextreme/js/ui/tree_list.d.ts | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/packages/devextreme/js/ui/tree_list.d.ts b/packages/devextreme/js/ui/tree_list.d.ts index affb3609d725..d419834828db 100644 --- a/packages/devextreme/js/ui/tree_list.d.ts +++ b/packages/devextreme/js/ui/tree_list.d.ts @@ -824,22 +824,9 @@ export type RowDraggingRemoveEvent = ReducedNativeEv /** @public */ export type RowDraggingReorderEvent = ReducedNativeEventInfo> & RowDraggingEventInfo & DragReorderInfo; -/** - * @docid _ui_tree_list_ColumnButtonClickEvent - * @public - * @type object - * @inherits NativeEventInfo - */ +/** @public */ export type ColumnButtonClickEvent = NativeEventInfo, PointerEvent | MouseEvent> & { - /** - * @docid _ui_tree_list_ColumnButtonClickEvent.row - * @type dxTreeListRowObject - */ row?: Row; - /** - * @docid _ui_tree_list_ColumnButtonClickEvent.column - * @type dxTreeListColumn - */ column?: Column; }; From 8da5118cf709e60a83e2fc30f2c94948ae26b214 Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov Date: Thu, 31 Aug 2023 11:54:20 +0300 Subject: [PATCH 08/10] TreeList: React --- packages/devextreme-react/src/tree-list.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/devextreme-react/src/tree-list.ts b/packages/devextreme-react/src/tree-list.ts index 5330bb98c161..acdb55b4cf69 100644 --- a/packages/devextreme-react/src/tree-list.ts +++ b/packages/devextreme-react/src/tree-list.ts @@ -7,17 +7,17 @@ import * as PropTypes from "prop-types"; import { Component as BaseComponent, IHtmlOptions } from "./core/component"; import NestedOption from "./core/nested-option"; -import type { dxTreeListColumn, AdaptiveDetailRowPreparingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, NodesInitializedEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxTreeListRowObject, ColumnButtonClickEvent, dxTreeListColumnButton, dxTreeListToolbarItem } from "devextreme/ui/tree_list"; +import type { dxTreeListColumn, AdaptiveDetailRowPreparingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, NodesInitializedEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxTreeListRowObject, dxTreeListColumnButton, dxTreeListToolbarItem } from "devextreme/ui/tree_list"; import type { DataChange, ColumnHeaderFilterSearchConfig, ColumnChooserSearchConfig, ColumnChooserSelectionConfig, GridBase, HeaderFilterSearchConfig } from "devextreme/common/grids"; import type { ContentReadyEvent as FilterBuilderContentReadyEvent, DisposingEvent as FilterBuilderDisposingEvent, EditorPreparedEvent as FilterBuilderEditorPreparedEvent, EditorPreparingEvent as FilterBuilderEditorPreparingEvent, InitializedEvent as FilterBuilderInitializedEvent, dxFilterBuilderField, dxFilterBuilderCustomOperation, OptionChangedEvent, ValueChangedEvent } from "devextreme/ui/filter_builder"; import type { ContentReadyEvent as FormContentReadyEvent, DisposingEvent as FormDisposingEvent, InitializedEvent as FormInitializedEvent, dxFormSimpleItem, dxFormOptions, OptionChangedEvent as FormOptionChangedEvent, dxFormGroupItem, dxFormTabbedItem, dxFormEmptyItem, dxFormButtonItem, EditorEnterKeyEvent, FieldDataChangedEvent } from "devextreme/ui/form"; import type { AnimationConfig, AnimationState } from "devextreme/animation/fx"; +import type { event, EventInfo } from "devextreme/events/index"; import type { template } from "devextreme/core/templates/template"; import type { DataSourceOptions } from "devextreme/data/data_source"; import type { Store } from "devextreme/data/abstract_store"; import type { PositionConfig } from "devextreme/animation/position"; import type { dxPopupOptions, dxPopupToolbarItem } from "devextreme/ui/popup"; -import type { event, EventInfo } from "devextreme/events/index"; import type { Component } from "devextreme/core/component"; import type { CollectionWidgetItem } from "devextreme/ui/collection/ui.collection_widget.base"; @@ -390,7 +390,7 @@ type IButtonProps = React.PropsWithChildren<{ hint?: string; icon?: string; name?: "add" | "cancel" | "delete" | "edit" | "save" | "undelete"; - onClick?: ((e: ColumnButtonClickEvent) => void); + onClick?: ((e: { column: dxTreeListColumn, component: dxTreeList, element: any, event: event, model: any, row: dxTreeListRowObject }) => void); template?: ((cellElement: any, cellInfo: { column: dxTreeListColumn, columnIndex: number, component: dxTreeList, data: Record, key: any, row: dxTreeListRowObject, rowIndex: number, rowType: string }) => string | any) | template; text?: string; visible?: boolean | ((options: { column: dxTreeListColumn, component: dxTreeList, row: dxTreeListRowObject }) => boolean); From f08447bbbf3dd7c5975dd8d9a1626cc68a675735 Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov Date: Thu, 31 Aug 2023 11:54:55 +0300 Subject: [PATCH 09/10] Nested (DataGrid/TreeList): Angular --- .../src/ui/nested/base/text-editor-button-dxi.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/devextreme-angular/src/ui/nested/base/text-editor-button-dxi.ts b/packages/devextreme-angular/src/ui/nested/base/text-editor-button-dxi.ts index 0546c113f483..01faf3831bfa 100644 --- a/packages/devextreme-angular/src/ui/nested/base/text-editor-button-dxi.ts +++ b/packages/devextreme-angular/src/ui/nested/base/text-editor-button-dxi.ts @@ -6,6 +6,7 @@ import { } from '@angular/core'; import { dxButtonOptions } from 'devextreme/ui/button'; +import { ColumnButtonClickEvent } from 'devextreme/ui/data_grid'; @Component({ template: '' @@ -60,10 +61,10 @@ export abstract class DxiTextEditorButton extends CollectionNestedOption { this._setOption('icon', value); } - get onClick(): Function { + get onClick(): ((e: ColumnButtonClickEvent) => void) { return this._getOption('onClick'); } - set onClick(value: Function) { + set onClick(value: ((e: ColumnButtonClickEvent) => void)) { this._setOption('onClick', value); } From 19217c349efc482eec862a2c32b222f7b32d6c22 Mon Sep 17 00:00:00 2001 From: Mikhail Preyskurantov Date: Thu, 31 Aug 2023 11:55:37 +0300 Subject: [PATCH 10/10] dx.all.d.ts --- packages/devextreme/ts/dx.all.d.ts | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/devextreme/ts/dx.all.d.ts b/packages/devextreme/ts/dx.all.d.ts index 91bc2b9678aa..22b2a6b32d22 100644 --- a/packages/devextreme/ts/dx.all.d.ts +++ b/packages/devextreme/ts/dx.all.d.ts @@ -27308,9 +27308,6 @@ declare module DevExpress.ui { TRowData = any, TKey = any > = dxTreeListColumnButton; - /** - * [descr:_ui_tree_list_ColumnButtonClickEvent] - */ export type ColumnButtonClickEvent< TRowData = any, TKey = any @@ -27318,13 +27315,7 @@ declare module DevExpress.ui { dxTreeList, PointerEvent | MouseEvent > & { - /** - * [descr:_ui_tree_list_ColumnButtonClickEvent.row] - */ row?: Row; - /** - * [descr:_ui_tree_list_ColumnButtonClickEvent.column] - */ column?: Column; }; export type ColumnButtonTemplateData = {