angular-chart.js ( http://jtblin.github.io/angular-chart.js/ ) モジュールを使用しており、チャート データを UI-Grid モジュール ( http://ui-grid.info ) で編集可能にしようとしています。/docs/#/tutorial/201_editable )。データを編集することはできますが、セルの編集時にチャートを応答的に更新する方法がわかりません。私はしばらくこれと戦っています。これについて何か考えていただければ幸いです。
これが私がこれまでに得たものです:
app.controller("myController", function ($scope) {
$scope.labels = ["January", "February", "March", "April", "May", "June", "July"];
$scope.series = ['Series A', 'Series B'];
$scope.gridOptions = {
columnDefs: [
{ name: 'A', width: '50%', enableCellEdit: true },
{ name: 'B', width: '50%', enableCellEdit: true }
],
data: [{
"A": 65,
"B": 28
},
{
"A": 59,
"B": 48
},
{
"A": 80,
"B": 40
},
{
"A": 81,
"B": 19
},
{
"A": 56,
"B": 86
},
{
"A": 55,
"B": 27
},
{
"A": 40,
"B": 90
}
]
};
var seriesA = [];
for (var i = 0; i < $scope.gridOptions.data.length; i++) {
seriesA.push($scope.gridOptions.data[i].A);
}
console.log(seriesA);
var seriesB = [];
for (var i = 0; i < $scope.gridOptions.data.length; i++) {
seriesB.push($scope.gridOptions.data[i].B);
}
console.log(seriesB);
$scope.data = [
seriesA,
seriesB
];
$scope.onClick = function (points, evt) {
console.log(points, evt);
};
});
HTML スニペットは次のとおりです。
<div id="grid1" class="panel" ui-grid="gridOptions" ui-grid-edit ui-grid-row-edit ui-grid-cellNav class="grid"></div>
<canvas id="line" class="chart chart-line" data="data"
labels="labels" legend="true" series="series"
click="onClick"></canvas>