Peter Holmberg 7 gadi atpakaļ
vecāks
revīzija
70f6100d53

+ 1 - 1
public/app/features/org/OrgPreferences.test.tsx

@@ -9,7 +9,7 @@ const setup = () => {
       timezone: 'UTC',
       theme: 'Default',
     },
-    starredDashboards: [{ id: 1, name: 'Standard dashboard' }],
+    starredDashboards: [{ id: 1, title: 'Standard dashboard', url: '', uri: '', uid: '', type: '', tags: [] }],
     setOrganizationTimezone: jest.fn(),
     setOrganizationTheme: jest.fn(),
     setOrganizationHomeDashboard: jest.fn(),

+ 4 - 4
public/app/features/org/OrgPreferences.tsx

@@ -2,7 +2,7 @@ import React, { PureComponent } from 'react';
 import { connect } from 'react-redux';
 import Tooltip from '../../core/components/Tooltip/Tooltip';
 import SimplePicker from '../../core/components/Picker/SimplePicker';
-import { DashboardAcl, OrganizationPreferences } from 'app/types';
+import { Dashboard, OrganizationPreferences } from 'app/types';
 import {
   setOrganizationHomeDashboard,
   setOrganizationTheme,
@@ -12,7 +12,7 @@ import {
 
 export interface Props {
   preferences: OrganizationPreferences;
-  starredDashboards: DashboardAcl[];
+  starredDashboards: Dashboard[];
   setOrganizationHomeDashboard: typeof setOrganizationHomeDashboard;
   setOrganizationTheme: typeof setOrganizationTheme;
   setOrganizationTimezone: typeof setOrganizationTimezone;
@@ -42,7 +42,7 @@ export class OrgPreferences extends PureComponent<Props> {
       setOrganizationTheme,
     } = this.props;
 
-    starredDashboards.unshift({ id: 0, title: 'Default' });
+    starredDashboards.unshift({ id: 0, title: 'Default', tags: [], type: '', uid: '', uri: '', url: '' });
 
     return (
       <form className="section gf-form-group" onSubmit={this.onSubmitForm}>
@@ -73,7 +73,7 @@ export class OrgPreferences extends PureComponent<Props> {
             defaultValue={starredDashboards.find(dashboard => dashboard.id === preferences.homeDashboardId)}
             getOptionValue={i => i.id}
             getOptionLabel={i => i.title}
-            onSelected={(dashboard: DashboardAcl) => setOrganizationHomeDashboard(dashboard.id)}
+            onSelected={(dashboard: Dashboard) => setOrganizationHomeDashboard(dashboard.id)}
             options={starredDashboards}
             placeholder="Chose default dashboard"
             width={20}

+ 21 - 2
public/app/features/org/__snapshots__/OrgPreferences.test.tsx.snap

@@ -62,7 +62,12 @@ exports[`Render should render component 1`] = `
       defaultValue={
         Object {
           "id": 1,
-          "name": "Standard dashboard",
+          "tags": Array [],
+          "title": "Standard dashboard",
+          "type": "",
+          "uid": "",
+          "uri": "",
+          "url": "",
         }
       }
       getOptionLabel={[Function]}
@@ -70,9 +75,23 @@ exports[`Render should render component 1`] = `
       onSelected={[Function]}
       options={
         Array [
+          Object {
+            "id": 0,
+            "tags": Array [],
+            "title": "Default",
+            "type": "",
+            "uid": "",
+            "uri": "",
+            "url": "",
+          },
           Object {
             "id": 1,
-            "name": "Standard dashboard",
+            "tags": Array [],
+            "title": "Standard dashboard",
+            "type": "",
+            "uid": "",
+            "uri": "",
+            "url": "",
           },
         ]
       }

+ 2 - 2
public/app/features/org/state/actions.ts

@@ -1,5 +1,5 @@
 import { ThunkAction } from 'redux-thunk';
-import { DashboardAcl, Organization, OrganizationPreferences, StoreState } from 'app/types';
+import { Dashboard, Organization, OrganizationPreferences, StoreState } from 'app/types';
 import { getBackendSrv } from '../../../core/services/backend_srv';
 
 type ThunkResult<R> = ThunkAction<R, StoreState, undefined, any>;
@@ -26,7 +26,7 @@ interface LoadPreferencesAction {
 
 interface LoadStarredDashboardsAction {
   type: ActionTypes.LoadStarredDashboards;
-  payload: DashboardAcl[];
+  payload: Dashboard[];
 }
 
 interface SetOrganizationNameAction {

+ 2 - 2
public/app/features/org/state/reducers.ts

@@ -1,10 +1,10 @@
-import { DashboardAcl, Organization, OrganizationPreferences, OrganizationState } from 'app/types';
+import { Dashboard, Organization, OrganizationPreferences, OrganizationState } from 'app/types';
 import { Action, ActionTypes } from './actions';
 
 const initialState: OrganizationState = {
   organization: {} as Organization,
   preferences: {} as OrganizationPreferences,
-  starredDashboards: [] as DashboardAcl[],
+  starredDashboards: [] as Dashboard[],
 };
 
 const organizationReducer = (state = initialState, action: Action): OrganizationState => {

+ 0 - 1
public/app/types/acl.ts

@@ -39,7 +39,6 @@ export interface DashboardAcl {
   name?: string;
   inherited?: boolean;
   sortRank?: number;
-  title?: string;
 }
 
 export interface DashboardPermissionInfo {

+ 10 - 0
public/app/types/dashboard.ts

@@ -1,5 +1,15 @@
 import { DashboardAcl } from './acl';
 
+export interface Dashboard {
+  id: number;
+  tags: string[];
+  title: string;
+  type: string;
+  uid: string;
+  uri: string;
+  url: string;
+}
+
 export interface DashboardState {
   permissions: DashboardAcl[];
 }

+ 2 - 1
public/app/types/index.ts

@@ -3,7 +3,7 @@ import { AlertRuleDTO, AlertRule, AlertRulesState } from './alerting';
 import { LocationState, LocationUpdate, UrlQueryMap, UrlQueryValue } from './location';
 import { NavModel, NavModelItem, NavIndex } from './navModel';
 import { FolderDTO, FolderState, FolderInfo } from './folders';
-import { DashboardState } from './dashboard';
+import { Dashboard, DashboardState } from './dashboard';
 import { DashboardAcl, OrgRole, PermissionLevel } from './acl';
 import { ApiKey, ApiKeysState, NewApiKey } from './apiKeys';
 import { Invitee, OrgUser, User, UsersState } from './user';
@@ -84,6 +84,7 @@ export {
   AppNotificationsState,
   AppNotificationSeverity,
   AppNotificationTimeout,
+  Dashboard,
 };
 
 export interface StoreState {

+ 2 - 2
public/app/types/organization.ts

@@ -1,4 +1,4 @@
-import { DashboardAcl } from './acl';
+import { Dashboard } from './dashboard';
 
 export interface Organization {
   name: string;
@@ -14,5 +14,5 @@ export interface OrganizationPreferences {
 export interface OrganizationState {
   organization: Organization;
   preferences: OrganizationPreferences;
-  starredDashboards: DashboardAcl[];
+  starredDashboards: Dashboard[];
 }