The onRowFilter event handler is called for every row when resolving a filter applied using rows.filter(). The default behavior is to keep all rows visible, and you can change args.visible to implement custom filter rules.
DayPilot.Scheduler.onRowFilter(args)args.row (DayPilot.Row) - item being evaluated
args.filterParam (object) - custom filter object supplied by rows.filter(); available since 2020.1.4266, in earlier versions it was exposed as args.filter
args.visible (boolean) - determines whether the row remains visible; default value is true
The event is called for every row processed by rows.filter(). Set args.visible = false to hide rows that don't match the supplied filter parameter.
JavaScript
const dp = new DayPilot.Scheduler("dp", {
onRowFilter: (args) => {
if (args.filterParam?.visibleRows) {
args.visible = args.filterParam.visibleRows.includes(args.row);
}
},
// ...
});
dp.init();Angular
<daypilot-scheduler [config]="config"></daypilot-scheduler>config: DayPilot.SchedulerConfig = {
onRowFilter: (args) => {
if (args.filterParam?.visibleRows) {
args.visible = args.filterParam.visibleRows.includes(args.row);
}
},
// ...
};React
<DayPilotScheduler
onRowFilter={onRowFilter}
{/* ... */}
/>const onRowFilter = (args) => {
if (args.filterParam?.visibleRows) {
args.visible = args.filterParam.visibleRows.includes(args.row);
}
};Vue
<DayPilotScheduler
@rowFilter="onRowFilter"
<!-- ... -->
/>const onRowFilter = (args) => {
if (args.filterParam?.visibleRows) {
args.visible = args.filterParam.visibleRows.includes(args.row);
}
};