The Scheduler component can display milestones. Milestones are special events displayed at a specific point in time. They have no duration and the position is centered around the start time.
JavaScript Scheduler
To define a milestone in the JavaScript Scheduler, add an event with type property set to "Milestone".
- Milestones are marked with *_task_milestone CSS class (e.g. scheduler_default_task_milestone for the default theme).
- Event resizing is disabled for milestones.
- The text property is ignored for milestones. You can display custom text next to the milestone icon using htmlRight or htmlLeft properties.
Example
dp.events.list = [ { start: "2022-01-02T00:00:00", resource: "A", id: 1, type: "Milestone", htmlRight: "Milestone 1" }, // ... ];
React Scheduler
In the React Scheduler component, you can display a milestone in the Scheduler grid by adding an event with type: "Milestone".
import React, {Component} from 'react'; import {DayPilot, DayPilotScheduler} from "daypilot-pro-react"; import "./Scheduler.css"; export class Scheduler extends Component { constructor(props) { super(props); this.state = { timeHeaders: [{"groupBy":"Month"},{"groupBy":"Day","format":"d"}], scale: "Day", days: 365, startDate: "2022-01-01", timeRangeSelectedHandling: "Enabled", eventHtmlRightMargin: 0, onBeforeEventRender: args => { if (args.data.type === "Milestone") { args.data.htmlRight = DayPilot.Util.escapeHtml(args.data.text); } }, treeEnabled: true, // ... }; } componentDidMount() { // load resource and event data this.setState({ resources: [ {name: "Task A", id: "A"}, {name: "Task B", id: "B"}, {name: "Task C", id: "C"}, {name: "Task D", id: "D"}, ], events: [ { id: 1, start: "2022-01-02T00:00:00", resource: "A", type: "Milestone", text: "M1" }, ] }); } render() { return ( <div> <DayPilotScheduler {...this.state} ref={component => { this.scheduler = component && component.control; }} /> </div> ); } }