|
|
@@ -1,8 +1,8 @@
|
|
|
import { ThunkAction } from 'redux-thunk';
|
|
|
import { getBackendSrv } from 'app/core/services/backend_srv';
|
|
|
-import { NavModelItem, StoreState, Team, TeamGroup, TeamMember } from 'app/types';
|
|
|
+import { StoreState, Team, TeamGroup, TeamMember } from 'app/types';
|
|
|
import { updateNavIndex, UpdateNavIndexAction } from 'app/core/actions';
|
|
|
-import config from 'app/core/config';
|
|
|
+import { buildNavModel } from './navModel';
|
|
|
|
|
|
export enum ActionTypes {
|
|
|
LoadTeams = 'LOAD_TEAMS',
|
|
|
@@ -90,45 +90,6 @@ export function loadTeams(): ThunkResult<void> {
|
|
|
};
|
|
|
}
|
|
|
|
|
|
-function buildNavModel(team: Team): NavModelItem {
|
|
|
- const navModel = {
|
|
|
- img: team.avatarUrl,
|
|
|
- id: 'team-' + team.id,
|
|
|
- subTitle: 'Manage members & settings',
|
|
|
- url: '',
|
|
|
- text: team.name,
|
|
|
- breadcrumbs: [{ title: 'Teams', url: 'org/teams' }],
|
|
|
- children: [
|
|
|
- {
|
|
|
- active: false,
|
|
|
- icon: 'gicon gicon-team',
|
|
|
- id: `team-members-${team.id}`,
|
|
|
- text: 'Members',
|
|
|
- url: `org/teams/edit/${team.id}/members`,
|
|
|
- },
|
|
|
- {
|
|
|
- active: false,
|
|
|
- icon: 'fa fa-fw fa-sliders',
|
|
|
- id: `team-settings-${team.id}`,
|
|
|
- text: 'Settings',
|
|
|
- url: `org/teams/edit/${team.id}/settings`,
|
|
|
- },
|
|
|
- ],
|
|
|
- };
|
|
|
-
|
|
|
- if (config.buildInfo.isEnterprise) {
|
|
|
- navModel.children.push({
|
|
|
- active: false,
|
|
|
- icon: 'fa fa-fw fa-refresh',
|
|
|
- id: `team-groupsync-${team.id}`,
|
|
|
- text: 'External group sync',
|
|
|
- url: `org/teams/edit/${team.id}/groupsync`,
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- return navModel;
|
|
|
-}
|
|
|
-
|
|
|
export function loadTeam(id: number): ThunkResult<void> {
|
|
|
return async dispatch => {
|
|
|
const response = await getBackendSrv().get(`/api/teams/${id}`);
|