我正在尝试自定义Angular Gantt的行为。
单击单元格:我必须获取当前单元格值&相应的标题值。
我通过此网址中的文档:https://angular-gantt.readthedocs.io/en/latest/ 但无法获得所需的活动。
是否有任何活动可以实现此功能。非常感谢任何帮助。
我尝试了以下代码
mainApp.controller("TestController", function ($scope, TestService) {
$scope.registerApi = function (api) {
api.tasks.on.change($scope, onTaskChange); //working
//TO handle the cell click & corresponding header value
api.core.getDateByPosition($scope, getHeader)
//api.core.on.ready($scope, getDateByPosition) //not working
//api.core.on.rendered($scope, getDateByPosition) //not working
}
var onTaskChange = function (selected) {
$scope.currCell = selected.model;
console.log("onTaskChange: " + selected.model.name);
};
var getHeader= function (getHeader) {
// I should get the current clicked cell header value. But getting error
};
}
答案 0 :(得分:3)
回答我自己的问题,因为有人可能觉得它很有用。
我可以通过这个链接实现这一点 https://angular-gantt.readthedocs.io/en/latest/configuration/customize/
以下是我使用的代码:
$scope.registerApi = function (api) {
api.directives.on.new($scope, function (dName, dScope, dElement, dAttrs, dController) {
if (dName === 'ganttTask') {
dElement.bind('click', function (event) {
debugger;
$scope.RowName1 = dScope.task.row.model;
$scope.currentTask = dScope.task.model;
});
}
else if (dName === 'ganttRow')
{
dElement.bind('click', function (event) {
debugger;
$scope.RowName = dScope.row.model.name;
$scope.Header = api.core.getDateByPosition(event.offsetX, true)
});
}
});