api.get_chart({ dashboard_id: id, _: randomHash() }, null, { 'cache-control': 'no-cache' }).then(res => { let charts = res.objects.map(chart => { let result = chart.chart_json result.id = chart.id return result }) this.data.dashboard.charts = _.sortBy(charts, _.property('id')) DashboardActions.setDashboard({ dashboard: this.data.dashboard }) this.trigger(this.data) }, err => {
this.trigger(this.data) }, err => { console.log(err) this.data.dashboard.charts = [] this.trigger(this.data) }) }) } }, onAddChart (chartDef) { // in this api do not need set the chart id. // chartDef.id = chartDef.title + (new Date()).valueOf() this.data.dashboard.charts.push(chartDef) DashboardActions.setDashboard({ dashboard: this.data.dashboard }) // do not save the whole dashboard. // this.saveDashboard() // just save the chart. var data = { dashboard_id: this.dashboard_id, chart_json: JSON.stringify(chartDef) } api.post_chart(data).then(res => { chartDef.id = res.objects.id this.data.newDashboard = false this.trigger(this.data) }, res => {