From ab759ec052934f848780ce044f2571e3ee7e7c3f Mon Sep 17 00:00:00 2001 From: Andrey Dolzhikov Date: Wed, 5 Mar 2025 19:07:02 +0200 Subject: [PATCH] clearSorting method --- .../new/grid_core/sorting_controller/index.ts | 3 +-- .../sorting_controller/public_methods.ts | 15 +++++++++++++++ .../js/__internal/grids/new/grid_core/widget.ts | 13 ++++++++----- 3 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 packages/devextreme/js/__internal/grids/new/grid_core/sorting_controller/public_methods.ts diff --git a/packages/devextreme/js/__internal/grids/new/grid_core/sorting_controller/index.ts b/packages/devextreme/js/__internal/grids/new/grid_core/sorting_controller/index.ts index 37072918548..de1dcab85f5 100644 --- a/packages/devextreme/js/__internal/grids/new/grid_core/sorting_controller/index.ts +++ b/packages/devextreme/js/__internal/grids/new/grid_core/sorting_controller/index.ts @@ -1,4 +1,3 @@ -// { CompatibilityDataController } from './compatibility'; export { defaultOptions, type Options } from './options'; -// export { PublicMethods } from './public_methods'; +export { PublicMethods } from './public_methods'; export { SortingController } from './sorting_controller'; diff --git a/packages/devextreme/js/__internal/grids/new/grid_core/sorting_controller/public_methods.ts b/packages/devextreme/js/__internal/grids/new/grid_core/sorting_controller/public_methods.ts new file mode 100644 index 00000000000..32299b64d7e --- /dev/null +++ b/packages/devextreme/js/__internal/grids/new/grid_core/sorting_controller/public_methods.ts @@ -0,0 +1,15 @@ +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +/* eslint-disable spellcheck/spell-checker */ +/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +/* eslint-disable @typescript-eslint/explicit-function-return-type */ +import type { Constructor } from '@ts/grids/new/grid_core/types'; + +import type { GridCoreNewBase } from '../widget'; + +export function PublicMethods>(GridCore: T) { + return class GridCoreWithSortingController extends GridCore { + public clearSorting(): void { + this.sortingController.clearSorting(); + } + }; +} diff --git a/packages/devextreme/js/__internal/grids/new/grid_core/widget.ts b/packages/devextreme/js/__internal/grids/new/grid_core/widget.ts index 13e557419aa..f1bc43c0c41 100644 --- a/packages/devextreme/js/__internal/grids/new/grid_core/widget.ts +++ b/packages/devextreme/js/__internal/grids/new/grid_core/widget.ts @@ -20,7 +20,8 @@ import { MainView } from './main_view'; import { defaultOptions, defaultOptionsRules, type Options } from './options'; import { PagerView } from './pager/view'; import { Search } from './search/controller'; -import { SortingController } from './sorting_controller/sorting_controller'; +import * as SortingControllerModule from './sorting_controller/index'; +import type { SortingController } from './sorting_controller/sorting_controller'; import { ToolbarController } from './toolbar/controller'; import { ToolbarView } from './toolbar/view'; import { WidgetMock } from './widget_mock'; @@ -36,7 +37,7 @@ export class GridCoreNewBase< protected columnsController!: ColumnsControllerModule.ColumnsController; - private sortingController!: SortingController; + protected sortingController!: SortingController; private editingController!: EditingController; @@ -58,7 +59,7 @@ export class GridCoreNewBase< this.diContext.register(DataControllerModule.CompatibilityDataController); this.diContext.register(ColumnsControllerModule.ColumnsController); this.diContext.register(ColumnsControllerModule.CompatibilityColumnsController); - this.diContext.register(SortingController); + this.diContext.register(SortingControllerModule.SortingController); this.diContext.register(ToolbarController); this.diContext.register(ToolbarView); this.diContext.register(EditingController); @@ -81,7 +82,7 @@ export class GridCoreNewBase< this.columnsChooser = this.diContext.get(ColumnsChooserView); this.dataController = this.diContext.get(DataControllerModule.DataController); this.columnsController = this.diContext.get(ColumnsControllerModule.ColumnsController); - this.sortingController = this.diContext.get(SortingController); + this.sortingController = this.diContext.get(SortingControllerModule.SortingController); this.toolbarController = this.diContext.get(ToolbarController); this.toolbarView = this.diContext.get(ToolbarView); this.editingController = this.diContext.get(EditingController); @@ -130,6 +131,8 @@ export class GridCoreNewBase< export class GridCoreNew extends ColumnsControllerModule.PublicMethods( DataControllerModule.PublicMethods( - GridCoreNewBase, + SortingControllerModule.PublicMethods( + GridCoreNewBase, + ), ), ) {}