Answered: If you use onBeforeTimeHeaderRender to customize the headers, the Scheduler will use the value of args.header.html in the live instance in the browser and args.header.text during the export. Also, it...
Answered: Yes, this is possible. The code from the Column Summary and Availability Chart tutorial uses the real cell size ( args.cell.start and args.cell.end ) to calculate the utilization (total number of eve...
Answered: If the events don’t display correctly, you should check the id of the resources ( resources[].id ) and the resource of events ( event.list[].resource ). Events are only displayed in a row if these va...
Answered: This is possible. Just remember that it’s a bit more complex task and you will need to extend this code to cover edge cases and implement the server-side part. It works like this: The “Split” context...
Answered: You can do this by inserting custom active areas into Scheduler events. The start and end of an active area can be specified using date/time values instead of pixels. That will let you insert custom ...
Answered: There is a tutorial that explain how to implement this: JavaScript Scheduler: Displaying Holidays It uses onBeforeCellRender event handler to disable individual cells. The resource-specific date rang...
Answered: You can use the onBeforeEventRender event handler to customize the events . A sample implementation could look like this: onBeforeEventRender: (args) => { if(args.data.status === "completed") { args....
Answered: There are two ways to solve it: 1. You can define business hours using the businessBeginsHour and businessEndsHour properties and set showNonBusiness to false (see also hiding non-business hours ): c...
Answered: You can synchronize two Schedulers using a native scroll event as demonstrated in this demo: https://javascript.daypilot.org/demo/scheduler/eventmovingtwoschedulers.html // scrollbar synchronization ...
Answered: Thanks for reporting the issue. I wasn't able to reproduce the problem but the additional check is now added in the latest sandbox build (2023.2.5594). Also, the right click behavior is fixed - it is...
Answered: The license is perpetual. For details, please see the Maintenance Subscription Terms: https://www.daypilot.org/legal/maintenance-subscription/
Answered: Yes, this is possible. You can add active areas using onBeforeEventRender where you can check if a specific property exists in the source data object (args.data): onBeforeEventRender: args => { if (a...
Answered: The shape of the task group is created using :before and :after pseudo-elements. In the default theme it looks like this: .gantt_default_task_group .gantt_default_event_inner { position: absolute; to...
Answered: This issue should be fixed now in the latest sandbox build (2023.2.5584): https://release.daypilot.org/changes/js/ Please let me know if the problem persists.
Answered: The database connection is handled by your application (DayPilot doesn't connect to the DB directly). Typically, the connection string is stored in web.config (in ASP.NET applications). Note that the...
Answered: Something like this could work (you will need to adjust it for your needs): async function clockOn() { const modal = await DayPilot.Modal.confirm("Are you sure you want to clock onto this job?"); if ...
Answered: I see. 1. You can simply add/remove the links from the Scheduler as needed, like this: const linksToBeDisplayed = [ /* ... */ ]; dp.update({links: linksToBeDisplayed}); 2. Or you can mark the links w...
Answered: You can set custom HTML displayed by the group using onBeforeGroupRender event: https://api.daypilot.org/daypilot-scheduler-onbeforegrouprender/ onBeforeGroupRender: args => { args.group.html = `${ar...
Answered: Steve, Sorry for the confusion! You can detect parent rows using `args.cell.isParent`: dp.onBeforeCellRender = function (args) { if (args.cell.isParent) { args.cell.backColor = "#ccc"; } }; It looks ...
Answered: By default, the calendar displays the value of the "text" property in the event boxes. If you want to display more data, you can customize the event content using onBeforeEventRender event handler: h...
Answered: You can use "autofocus: false" to disable autofocus or use "focus: 'anotherField'" to autofocus a selected field. const form = [ {name: "Start", id: "start", type: "datetime"}, {name: "End", id: "end...
Answered: After the modal dialog is closed, you need to call an API endpoint that will save the changes. You can access the updated data object as "modal.result". The selected value is accessible as "modal.res...
Answered: The correct command is as follows: yarn add https://npm.daypilot.org/daypilot-pro-angular/trial/2023.2.5574.tar.gz You can also get the current version link at https://npm.daypilot.org .
Answered: You can load the data using fetch() or a similar function before opening the modal dialog. async function showModal(url) { const options = await fetch("/api/getOptions").then(response => response.jso...
Answered: I haven't seen this problem before. Unless you are doing something special on onBeforeHourRender, it will be a problem with the compilation/minification performed by your version of React. React 15 w...
Answered: It is possible to change "start" end "end" properties of the additional selected events in onEventMoving. You can modify the args.multimove[x].start and args.multimove[x].end properties as needed. Ju...