Example #1
0
 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 => {
Example #2
0
          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 => {