You can use the onCardMoving real-time event to customize the drag-and-drop moving:
Show details about the target position.
Implement custom rules
Examples
Show details about the target position during drag and drop moving:
onCardMoving: args => {
const targetColumnIndex = kanban.columns.list.findIndex(c => c.id === args.column.data.id);
const isLastColumn = targetColumnIndex === kanban.columns.list.length - 1;
const sourceColumnIndex = kanban.columns.list.findIndex(c => c.id === args.card.data.column);
const label = isLastColumn ? args.left : args.right;
label.enabled = true;
label.html = "Moving card to column: " + args.column.data.name + ", position: " + args.position;
}Implement a custom rule (forbid skipping a column):
onCardMoving: args => {
const targetColumnIndex = kanban.columns.list.findIndex(c => c.id === args.column.data.id);
const isLastColumn = targetColumnIndex === kanban.columns.list.length - 1;
const sourceColumnIndex = kanban.columns.list.findIndex(c => c.id === args.card.data.column);
// prevent skipping a column
if (sourceColumnIndex + 1 < targetColumnIndex) {
args.allowed = false;
const label = isLastColumn ? args.left : args.right;
label.enabled = true;
label.html = "Cannot skip columns.";
}
}Availability
Availability of this feature in DayPilot editions:
| Lite | Pro | |
|---|---|---|
| DayPilot for JavaScript | ||
| DayPilot for ASP.NET WebForms | ||
| DayPilot for ASP.NET MVC | ||
| DayPilot for Java |
DayPilot