|
//...
$(function () {
$("#gantt").ejGantt({
//...
taskbarClick: taskbarClick,
});
//Clicked taskbar
function taskbarClick(args) {
var clickedData = args.data,
updatedRecords = args.model.updatedRecords,
recordIndex = updatedRecords.indexOf(clickedData),
chartRows = this._ganttChartRows,
targetRow = chartRows[recordIndex];
//Apply color for clicked row
if (clickedData.hasChildRecords) {
$(targetRow).find(".e-gantt-parenttaskbar-innerdiv").css("background-color", "#f00");
$(targetRow).find(".e-gantt-parenttaskbar-progress").css("background-color", "#f00");
}
else if (clickedData.isMilestone) {
$(targetRow).find(".e-milestone-top").css("border-bottom-color", "#f00");
$(targetRow).find(".e-milestone-bottom").css("border-top-color", "#f00");
}
else {
$(targetRow).find(".e-gantt-childtaskbar").css("background-color", "#f00");
$(targetRow).find(".e-gantt-childtaskbar-progress").css("background-color", "#f00");
}
//Apply color for ascendant and descendant rows
if (clickedData.predecessor && clickedData.predecessor.length) {
var precessorCollection = clickedData.predecessor,
targetId, i, targetData;
for (i = 0; i < precessorCollection.length; i++) {
targetId = precessorCollection[i].from != clickedData.taskId ? precessorCollection[i].from : precessorCollection[i].to;
$.map(updatedRecords, function (data) {
if (data.taskId == targetId)
targetData = data;
});
if (targetData) {
var dataIndex = updatedRecords.indexOf(targetData),
dataRow = chartRows[dataIndex];
if (targetData.hasChildRecords) {
$(dataRow).find(".e-gantt-parenttaskbar-innerdiv").css("background-color", "#4dff4d");
$(dataRow).find(".e-gantt-parenttaskbar-progress").css("background-color", "#4dff4d");
}
else if (targetData.isMilestone) {
$(dataRow).find(".e-milestone-top").css("border-bottom-color", "#4dff4d");
$(dataRow).find(".e-milestone-bottom").css("border-top-color", "#4dff4d");
}
else {
$(dataRow).find(".e-gantt-childtaskbar").css("background-color", "#4dff4d");
$(dataRow).find(".e-gantt-childtaskbar-progress").css("background-color", "#4dff4d");
}
}
}
}
}
});
|