DayPilot.Scheduler.onRowFilter

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.

Declaration

DayPilot.Scheduler.onRowFilter(args)

Parameters

  • 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

Notes

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.

Examples

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);
  }
};

See Also

DayPilot.Scheduler.rows.filter()

DayPilot.Scheduler Class

Availability

Availability of this API item in DayPilot editions:

LitePro
DayPilot for JavaScript