Example #1
0
      api.get_dashboard({ id: id }, null, { 'cache-control': 'no-cache' }).then(dashboard => {
        this.data.dashboard = dashboard.objects[0]
        this.data.layout = dashboard.objects[0].layout
        this.data.loaded = true
        this.data.dashboardTitle = dashboard.objects[0].title
        this.data.dashboardDescription = dashboard.objects[0].description

        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 => {
          console.log(err)
          this.data.dashboard.charts = []
          this.trigger(this.data)
        })
      })
Example #2
0
  getDashboard: function (slug) {
    var dashboard = _.find(this.dashboards, d => _.kebabCase(d.title) === slug)

    if (dashboard.id <= 0) {
      return new Promise(resolve => {
        resolve(dashboard)
      })
    } else {
      return api.get_chart({ dashboard_id: dashboard.id, _: randomHash() }, null, {'cache-control': 'no-cache'}).then(res => {
        let charts = res.objects.map(chart => {
          var result = chart.chart_json
          result.id = chart.id
          return result
        })
        dashboard.charts = _.sortBy(charts, _.property('id'))
        return dashboard
      }, function (err) {
        console.log(err)
        dashboard.charts = []
      })
    }
  },