我正在使用ag-grid 3.3.3 with angular。
以下工作正常:
$scope.myGrid = {
rowData: $scope.data,
columnDefs: [...],
onModelUpdated: function(event) {
this.api.setFloatingBottomRowData([boxes: 0, weight: 0]);
}
};
但我想在其他网格上重用onModelUpdated
内的代码......
所以我创建了一个像这样的角度工厂:
angular.module('myApp').factory('MyFactory', ['$filter', function($filter) {
return {
onModelUpdated: function(event) {
//console.log(event.api);
event.api.setFloatingBottomRowData([boxes: 0, weight: 0]);
}
}
}]);
我正试图像这样使用它:
$scope.myGrid = {
rowData: $scope.data,
columnDefs: [...],
onModelUpdated: MyFactory.onModelUpdated
};
但我正在接受undefined
活动!
活动内容是什么?
当我这样做时:console.log(event)
我得到一个纯粹的js对象......
如何重用我的代码?
答案 0 :(得分:0)
Duh,有时我需要在StackOverflow中询问是为了照亮自己。
我最终这样做了:
厂:
...
eventsTableOpenDetails[0] = openBtn; //html image
eventsTableOpenDetails[1] = nTr; // current inner tr
.....
if(eventsTable.fnIsOpen(nTr)){
openBtn.src = "images/details_open.png";
eventsTable.fnClose(nTr);
}
else {
var aData = eventsTable.fnGetData(nTr);
var sOut = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px; border: 1px solid black; width: 100%; word-wrap:break-word;table-layout: fixed;">';
sOut += '<tr><td style="width:10%">Cnt:</td><td>' + aData[1] + '</td></tr>';
sOut += '<tr><td style="width:10%">Time:</td><td>' + aData[2] + '</td></tr>';
sOut += '<tr><td style="width:10%">Type:</td><td>' + aData[3] + '</td></tr>';
//sOut += '<tr><td style="width:10%">Field 5:</td><td>' + aData[5] + '</td></tr>';
sOut += '<tr><td style="width:10%">Details:</td><td><pre>' + aData[6] + '</pre></td></tr>';
sOut += '<tr><td style="width:10%"></td><td></td></tr>';
sOut += '<tr><td style="width:10%"></td><td><button id="btnClientInject" class="btn btn-warning pull-right" onclick="injectData( ' + position + ' );" >Inject</button></td></tr>';
sOut += '</table>';
openBtn.src = "images/details_close.png";
eventsTable.fnOpen(nTr, sOut, 'details');
}
格:
angular.module('myApp').factory('MyFactory', ['$filter', function($filter) {
return {
onModelUpdated: function(grid) {
grid.api.setFloatingBottomRowData([boxes: 0, weight: 0]);
}
}
}]);