Здесь я использую сетку кендо, а сетка вызывается как директива в серверном компоненте.
Создание сетки выполняется в блоке инициализации, где меню actio также добавляется вместе с другими столбцами.
Но когда мы нажимаем на любое конкретное меню действий, соответствующая функция не вызывается.
Ниже приведен ссылочный код
export class serverController {
constructor($scope){
this.$scope = $scope;
this.init();
}
init(){
/* GRID CONTSTRUCTION */
var globalGridOptions = angular.copy(self.cvTableOptions.commonNgGridOptions);
var columnDefsArr = [{
field: 'name',
sort: {
direction: 'asc',
priority: 0
},
width: '15%',
displayName: self.cvLoc('label.name'),
cellTemplate: '<span class="crop" title="{{row.entity.name}}">{{row.entity.name}}</span>',
enableHiding: false,
cellTooltip: true
}, {
field: 'startTime[0]',
displayName: self.cvLoc('label.doNotRunIntervals'),
width: '15%',
cellTemplate: '<cv-fancy-tooltip cv-objects="row.entity.startTimeMap" cv-display-width="col.drawnWidth + 20" class="fancy-tooltip-no-break"></cv-fancy-tooltip>',
cvUserPref: "doNotRunIntervals",
enableFiltering: false
}, {
name: 'action',
displayName: cvLoc('label.actions'),
width: '5%',
enableFiltering: false,
enableSorting: false,
enableHiding: false,
cellTemplate: '<div class="btn-group" uib-dropdown><a href class="uib-dropdown-toggle" uib-dropdown-toggle ng-disabled="disabled"><span class="grid-action-icon"></span></a><ul uib-dropdown-menu class="dropdown-menu" role="menu"><li><a href="" class="ui-grid-action-items" ng-click="this.deleteOperationWindow(row.entity)">' + cvLoc('action.delete') + '</a></li><li><a href="" ng-click="this.addOperationWindow(row.entity)">' + cvLoc('action.modify') + '</a></li></ul></div>'
}];
angular.extend(globalGridOptions, {
data: 'operationWindowData',
columnDefs: columnDefsArr
});
self.$scope.gridBackupWindowOptions = {
enableColumnResize: true,
cvIsSearchable: false,
cvTableName: "operationWindowTable",
cvOnGridEmpty: {
message: self.cvLoc("error.noOperationWindowRule"),
},
gridOptions: globalGridOptions,
};
}
addOperationWindow(){
console.log('add operation window');
}
deleteOperationWindow(){
console.log('delete operation window');
}
serverController.$inject = ['$scope'];
app.controller('serverController', serverController);