pull/13878/head
Peter Holmberg 7 years ago
parent 7c5e04277c
commit 70f6100d53
  1. 2
      public/app/features/org/OrgPreferences.test.tsx
  2. 8
      public/app/features/org/OrgPreferences.tsx
  3. 23
      public/app/features/org/__snapshots__/OrgPreferences.test.tsx.snap
  4. 4
      public/app/features/org/state/actions.ts
  5. 4
      public/app/features/org/state/reducers.ts
  6. 1
      public/app/types/acl.ts
  7. 10
      public/app/types/dashboard.ts
  8. 3
      public/app/types/index.ts
  9. 4
      public/app/types/organization.ts

@ -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(),

@ -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}

@ -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": "",
},
]
}

@ -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 {

@ -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 => {

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

@ -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[];
}

@ -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 {

@ -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[];
}

Loading…
Cancel
Save