
You can define custom active areas for each row header of the JavaScript Scheduler component.
JavaScript
Use onBeforeRowHeaderRender event handler to define active areas:
<div id="dp"></div>
<script>
const dp = new DayPilot.Scheduler("dp");
// ...
dp.resources = [
{ name: "Room A", id: "A" },
{ name: "Room B", id: "B" },
{ name: "Room C", id: "C" }
];
dp.onBeforeRowHeaderRender = function(args) {
args.row.areas = [
{
onClick: (args) => { alert(args.source.id); },
top: 0,
right: 0,
width: 17,
height: 17,
visibility: "Hover",
cssClass: "resource_action_menu"
}
];
};
dp.init();
</script>
Tutorial
ASP.NET WebForms
Use BeforeResHeaderRender event handler (e.Areas).
protected void DayPilotScheduler1_BeforeResHeaderRender(object sender, DayPilot.Web.Ui.Events.Scheduler.BeforeResHeaderRenderEventArgs e)
{
e.Areas.Add(new Area().Width(17).Bottom(0).Right(0).Top(0).CssClass("resource_action_menu").Html("<div><div></div></div>").JavaScript("alert(e.Value);"));
}
The sample .resource_action_menu class is defined in Themes/areas.css.
Demo
ASP.NET MVC
protected override void OnBeforeResHeaderRender(BeforeResHeaderRenderArgs e)
{
e.Areas.Add(new Area().Width(17).Bottom(0).Right(0).Top(0).CssClass("resource_action_menu").Html("<div><div></div></div>").JavaScript("alert(e.Value);"));
}
DayPilot