11import { FilterAPI , WidgetFilterAPI } from "@mendix/widget-plugin-filtering/context" ;
22import { CombinedFilter , CombinedFilterConfig } from "@mendix/widget-plugin-filtering/stores/generic/CombinedFilter" ;
33import { CustomFilterHost } from "@mendix/widget-plugin-filtering/stores/generic/CustomFilterHost" ;
4+ import { itemCountAtom } from "@mendix/widget-plugin-grid/core/models/datasource.model" ;
5+ import { emptyStateWidgetsAtom } from "@mendix/widget-plugin-grid/core/models/empty-state.model" ;
46import {
57 DatasourceService ,
68 QueryService ,
79 SelectAllService ,
810 SelectionCounterViewModel ,
911 TaskProgressService
1012} from "@mendix/widget-plugin-grid/main" ;
11- import { DerivedPropsGate , SetupComponentHost } from "@mendix/widget-plugin-mobx-kit/main" ;
13+ import { ComputedAtom , DerivedPropsGate , SetupComponentHost } from "@mendix/widget-plugin-mobx-kit/main" ;
1214import { injected , token } from "brandi" ;
1315import { ListValue } from "mendix" ;
16+ import { ReactNode } from "react" ;
1417import { SelectionCounterPositionEnum } from "../../typings/DatagridProps" ;
1518import { MainGateProps } from "../../typings/MainGateProps" ;
19+ import { EmptyPlaceholderViewModel } from "../features/empty-message/EmptyPlaceholder.viewModel" ;
1620import { SelectAllBarViewModel } from "../features/select-all/SelectAllBar.viewModel" ;
1721import { SelectAllGateProps } from "../features/select-all/SelectAllGateProps" ;
1822import { SelectionProgressDialogViewModel } from "../features/select-all/SelectionProgressDialog.viewModel" ;
@@ -21,6 +25,7 @@ import { GridBasicData } from "../helpers/state/GridBasicData";
2125import { GridPersonalizationStore } from "../helpers/state/GridPersonalizationStore" ;
2226import { DatasourceParamsController } from "../model/services/DatasourceParamsController" ;
2327import { DatagridConfig } from "./configs/Datagrid.config" ;
28+ import { visibleColumnsCountAtom } from "./models/columns.model" ;
2429import { DerivedLoaderController , DerivedLoaderControllerConfig } from "./services/DerivedLoaderController" ;
2530import { PaginationConfig , PaginationController } from "./services/PaginationController" ;
2631
@@ -31,6 +36,8 @@ export const TOKENS = {
3136 combinedFilter : token < CombinedFilter > ( "CombinedFilter" ) ,
3237 combinedFilterConfig : token < CombinedFilterConfig > ( "CombinedFilterKey" ) ,
3338 config : token < DatagridConfig > ( "DatagridConfig" ) ,
39+ emptyPlaceholderVM : token < EmptyPlaceholderViewModel > ( "EmptyPlaceholderViewModel" ) ,
40+ emptyPlaceholderWidgets : token < ComputedAtom < ReactNode > > ( "@computed:emptyPlaceholder" ) ,
3441 enableSelectAll : token < boolean > ( "enableSelectAll" ) ,
3542 exportProgressService : token < TaskProgressService > ( "ExportProgressService" ) ,
3643 filterAPI : token < FilterAPI > ( "FilterAPI" ) ,
@@ -53,7 +60,9 @@ export const TOKENS = {
5360 selectionCounterPosition : token < SelectionCounterPositionEnum > ( "SelectionCounterPositionEnum" ) ,
5461 selectionCounterVM : token < SelectionCounterViewModel > ( "SelectionCounterViewModel" ) ,
5562 selectionDialogVM : token < SelectionProgressDialogViewModel > ( "SelectionProgressDialogViewModel" ) ,
56- setupService : token < SetupComponentHost > ( "DatagridSetupHost" )
63+ setupService : token < SetupComponentHost > ( "DatagridSetupHost" ) ,
64+ visibleColumnsCount : token < ComputedAtom < number > > ( "@computed:visibleColumnsCount" ) ,
65+ visibleRowCount : token < ComputedAtom < number > > ( "@computed:visibleRowCount" )
5766} ;
5867
5968/** Inject dependencies */
@@ -96,3 +105,11 @@ injected(
96105 TOKENS . selectAllProgressService ,
97106 TOKENS . selectAllService
98107) ;
108+
109+ injected ( EmptyPlaceholderViewModel , TOKENS . emptyPlaceholderWidgets , TOKENS . visibleColumnsCount , TOKENS . config ) ;
110+
111+ injected ( visibleColumnsCountAtom , TOKENS . columnsStore ) ;
112+
113+ injected ( itemCountAtom , TOKENS . mainGate ) ;
114+
115+ injected ( emptyStateWidgetsAtom , TOKENS . mainGate , TOKENS . visibleRowCount ) ;
0 commit comments