|
1 | | -import { useClickActionHelper } from "@mendix/widget-plugin-grid/helpers/ClickActionHelper"; |
2 | | -import { useFocusTargetController } from "@mendix/widget-plugin-grid/keyboard-navigation/useFocusTargetController"; |
3 | | -import { useConst } from "@mendix/widget-plugin-mobx-kit/react/useConst"; |
4 | 1 | import { ContainerProvider } from "brandi-react"; |
5 | 2 | import { observer } from "mobx-react-lite"; |
6 | 3 | import { ReactElement } from "react"; |
7 | 4 | import { DatagridContainerProps } from "../typings/DatagridProps"; |
8 | 5 | import { Widget } from "./components/Widget"; |
9 | 6 | import { useDataExport } from "./features/data-export/useDataExport"; |
10 | | -import { useCellEventsController } from "./features/row-interaction/CellEventsController"; |
11 | | -import { useCheckboxEventsController } from "./features/row-interaction/CheckboxEventsController"; |
12 | | -import { LegacyContext } from "./helpers/root-context"; |
13 | | -import { useSelectActionHelper } from "./helpers/SelectActionHelper"; |
14 | 7 | import { useDataGridJSActions } from "./helpers/useDataGridJSActions"; |
15 | | -import { |
16 | | - useColumnsStore, |
17 | | - useExportProgressService, |
18 | | - useMainGate, |
19 | | - useSelectionHelper |
20 | | -} from "./model/hooks/injection-hooks"; |
| 8 | +import { useColumnsStore, useExportProgressService } from "./model/hooks/injection-hooks"; |
21 | 9 | import { useDatagridContainer } from "./model/hooks/useDatagridContainer"; |
22 | 10 |
|
23 | 11 | const DatagridRoot = observer((props: DatagridContainerProps): ReactElement => { |
24 | | - const gate = useMainGate(); |
25 | 12 | const columnsStore = useColumnsStore(); |
26 | 13 | const exportProgress = useExportProgressService(); |
27 | | - const items = gate.props.datasource.items ?? []; |
28 | 14 |
|
29 | 15 | const [abortExport] = useDataExport(props, columnsStore, exportProgress); |
30 | 16 |
|
31 | | - const selectionHelper = useSelectionHelper(); |
| 17 | + useDataGridJSActions(); |
32 | 18 |
|
33 | | - const selectActionHelper = useSelectActionHelper(props, selectionHelper); |
34 | | - |
35 | | - const clickActionHelper = useClickActionHelper({ |
36 | | - onClickTrigger: props.onClickTrigger, |
37 | | - onClick: props.onClick |
38 | | - }); |
39 | | - |
40 | | - useDataGridJSActions(selectActionHelper); |
41 | | - |
42 | | - const visibleColumnsCount = selectActionHelper.showCheckboxColumn |
43 | | - ? columnsStore.visibleColumns.length + 1 |
44 | | - : columnsStore.visibleColumns.length; |
45 | | - |
46 | | - const focusController = useFocusTargetController({ |
47 | | - rows: items.length, |
48 | | - columns: visibleColumnsCount, |
49 | | - pageSize: props.pageSize |
50 | | - }); |
51 | | - |
52 | | - const cellEventsController = useCellEventsController(selectActionHelper, clickActionHelper, focusController); |
53 | | - |
54 | | - const checkboxEventsController = useCheckboxEventsController(selectActionHelper, focusController); |
55 | | - |
56 | | - return ( |
57 | | - <LegacyContext.Provider |
58 | | - value={useConst({ |
59 | | - selectionHelper, |
60 | | - selectActionHelper, |
61 | | - cellEventsController, |
62 | | - checkboxEventsController, |
63 | | - focusController |
64 | | - })} |
65 | | - > |
66 | | - <Widget onExportCancel={abortExport} /> |
67 | | - </LegacyContext.Provider> |
68 | | - ); |
| 19 | + return <Widget onExportCancel={abortExport} />; |
69 | 20 | }); |
70 | 21 |
|
71 | 22 | DatagridRoot.displayName = "DatagridComponent"; |
|
0 commit comments