File tree Expand file tree Collapse file tree
examples/demo-zk-books/src/main/java/mybookstore/actions Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package mybookstore .actions ;
2+
3+ import mybookstore .domain .Book ;
4+ import tools .dynamia .actions .InstallAction ;
5+ import tools .dynamia .crud .AbstractCrudAction ;
6+ import tools .dynamia .crud .CrudActionEvent ;
7+ import tools .dynamia .ui .UIMessages ;
8+
9+ import java .time .LocalDate ;
10+
11+ @ InstallAction
12+ public class FilterBookByBuyDateAction extends AbstractCrudAction {
13+
14+ public FilterBookByBuyDateAction () {
15+ setName ("Filter By Buy Date" );
16+ setApplicableClass (Book .class );
17+ setImage ("calendar" );
18+ setType ("primary" );
19+ setPosition (1 );
20+ }
21+
22+ @ Override
23+ public void actionPerformed (CrudActionEvent evt ) {
24+ UIMessages .showInput ("Select Buy Date" , LocalDate .class , date -> {
25+ if (date != null ) {
26+ evt .getController ().setParemeter ("buyDate" , date ); //set parameter with the selected date
27+ evt .getController ().doQuery (); //execute query with the new parameter
28+ }
29+ });
30+ }
31+ }
Original file line number Diff line number Diff line change 1+ package mybookstore .actions ;
2+
3+ import mybookstore .domain .Book ;
4+ import tools .dynamia .actions .InstallAction ;
5+ import tools .dynamia .commons .LocalDateRange ;
6+ import tools .dynamia .crud .AbstractCrudAction ;
7+ import tools .dynamia .crud .CrudActionEvent ;
8+ import tools .dynamia .domain .query .QueryConditions ;
9+ import tools .dynamia .zk .actions .LocalDateboxRangeActionRenderer ;
10+
11+ @ InstallAction
12+ public class FilterBookByPublishDateAction extends AbstractCrudAction {
13+
14+ public FilterBookByPublishDateAction () {
15+ setRenderer (new LocalDateboxRangeActionRenderer ()); //use a renderer that provides a date range input
16+ setApplicableClass (Book .class );
17+ setAlwaysVisible (true );
18+ }
19+
20+ @ Override
21+ public void actionPerformed (CrudActionEvent evt ) {
22+ if (evt .getData () instanceof LocalDateRange dateRange && !dateRange .isNull ()){
23+ evt .getController ().setParemeter ("publishDate" , QueryConditions .between (dateRange )); //set parameter with a between condition
24+ evt .getController ().doQuery (); //execute query with the new parameter
25+ }
26+ }
27+ }
You can’t perform that action at this time.
0 commit comments