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) }) })
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 = [] }) } },