fix(dashlist): better handling of invalid dashboard ids

This commit is contained in:
bergquist
2016-03-07 11:04:02 +01:00
parent dc2738afad
commit 435d0f22f5
3 changed files with 13 additions and 4 deletions
+2 -1
View File
@@ -150,7 +150,7 @@ func SearchDashboards(query *search.FindPersistedDashboardsQuery) error {
sql.WriteString(" AND (")
for i, dashboardId := range query.DashboardIds {
if i != 0 {
sql.WriteString("OR")
sql.WriteString(" OR")
}
sql.WriteString(" dashboard.id = ?")
@@ -167,6 +167,7 @@ func SearchDashboards(query *search.FindPersistedDashboardsQuery) error {
sql.WriteString(fmt.Sprintf(" ORDER BY dashboard.title ASC LIMIT 1000"))
var res []DashboardSearchProjection
err := x.Sql(sql.String(), params...).Find(&res)
if err != nil {
return err
@@ -28,8 +28,15 @@ export class ImpressionsStore {
}
getDashboardOpened() {
var impressions = store.get("dashboard_impressions");
return JSON.parse(impressions || "[]");
var impressions = store.get("dashboard_impressions") || "[]";
impressions = JSON.parse(impressions);
impressions = _.filter(impressions, el => {
return _.isNumber(el);
});
return impressions;
}
}
+2 -1
View File
@@ -49,11 +49,12 @@ class DashListCtrl extends PanelCtrl {
dashboardIds: impressions.getDashboardOpened(),
limit: this.panel.limit
}).then(result => {
this.dashList = dashboardIds.map(orderId => {
return _.find(result, dashboard => {
return dashboard.id === orderId;
});
}).filter(el => {
return el !== undefined;
});
this.renderingCompleted();