1- import { SelectAllService , SelectionCounterViewModel } from "@mendix/widget-plugin-grid/main" ;
21import { DerivedPropsGate , SetupComponent , SetupComponentHost } from "@mendix/widget-plugin-mobx-kit/main" ;
32import { action , makeAutoObservable , reaction } from "mobx" ;
43import { DatagridContainerProps } from "../../typings/DatagridProps" ;
@@ -8,6 +7,18 @@ type DynamicProps = Pick<
87 "selectAllTemplate" | "selectAllText" | "itemSelection" | "datasource" | "allSelectedText"
98> ;
109
10+ interface SelectService {
11+ selectAllPages ( ) : Promise < { success : boolean } > | { success : boolean } ;
12+ clearSelection ( ) : void ;
13+ }
14+
15+ interface CounterService {
16+ selectedCount : number ;
17+ selectedCountText : string ;
18+ clearButtonLabel : string ;
19+ }
20+
21+ /** @injectable */
1122export class SelectAllBarViewModel implements SetupComponent {
1223 private barVisible = false ;
1324 private clearVisible = false ;
@@ -17,8 +28,8 @@ export class SelectAllBarViewModel implements SetupComponent {
1728 constructor (
1829 host : SetupComponentHost ,
1930 private readonly gate : DerivedPropsGate < DynamicProps > ,
20- private readonly selectService : SelectAllService ,
21- private readonly count : SelectionCounterViewModel ,
31+ private readonly selectService : SelectService ,
32+ private readonly count : CounterService ,
2233 private readonly enableSelectAll : boolean
2334 ) {
2435 host . add ( this ) ;
0 commit comments