Procházet zdrojové kódy

moving things around

Torkel Ödegaard před 7 roky
rodič
revize
2ac202b22f

+ 0 - 2
public/app/core/reducers/navModel.ts

@@ -12,7 +12,6 @@ function getNotFoundModel(): NavModel {
   };
 
   return {
-    breadcrumbs: [node],
     node: node,
     main: node,
   };
@@ -53,7 +52,6 @@ const navModelReducer = (state = initialState, action: Action): NavModel => {
       return {
         main: main,
         node: node,
-        breadcrumbs: [],
       };
     }
   }

+ 7 - 15
public/app/features/admin/containers/ServerStats.test.tsx

@@ -1,26 +1,18 @@
 import React from 'react';
 import renderer from 'react-test-renderer';
 import { ServerStats } from './ServerStats';
-import { RootStore } from 'app/stores/RootStore/RootStore';
-import { backendSrv, createNavTree } from 'test/mocks/common';
+import { initNav } from 'test/mocks/common';
+import { ServerStat } from '../apis';
 
 describe('ServerStats', () => {
   it('Should render table with stats', done => {
-    backendSrv.get.mockReturnValue(
-      Promise.resolve({
-        dashboards: 10,
-      })
-    );
+    const stats: ServerStat[] = [{ name: 'test', value: 'asd' }];
 
-    const store = RootStore.create(
-      {},
-      {
-        backendSrv: backendSrv,
-        navTree: createNavTree('cfg', 'admin', 'server-stats'),
-      }
-    );
+    let getServerStats = () => {
+      return Promise.resolve(stats);
+    };
 
-    const page = renderer.create(<ServerStats backendSrv={backendSrv} {...store} />);
+    const page = renderer.create(<ServerStats initNav={initNav} getServerStats={getServerStats} />);
 
     setTimeout(() => {
       expect(page.toJSON()).toMatchSnapshot();

+ 2 - 2
public/app/features/admin/containers/ServerStats.tsx

@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { PureComponent } from 'react';
 import { hot } from 'react-hot-loader';
 import { connect } from 'react-redux';
 import { initNav } from 'app/core/actions';
@@ -14,7 +14,7 @@ interface State {
   stats: ServerStat[];
 }
 
-export class ServerStats extends React.Component<Props, State> {
+export class ServerStats extends PureComponent<Props, State> {
   constructor(props) {
     super(props);
 

+ 0 - 0
public/app/features/alerting/containers/AlertRuleList.test.tsx → public/app/features/alerting/AlertRuleList.test.tsx


+ 1 - 1
public/app/features/alerting/containers/AlertRuleList.tsx → public/app/features/alerting/AlertRuleList.tsx

@@ -7,7 +7,7 @@ import appEvents from 'app/core/app_events';
 import Highlighter from 'react-highlight-words';
 import { initNav, updateLocation } from 'app/core/actions';
 import { ContainerProps } from 'app/types';
-import { getAlertRules, AlertRule } from '../apis';
+import { getAlertRules, AlertRule } from './state/apis';
 
 interface Props extends ContainerProps {
   updateLocation: typeof updateLocation;

+ 2 - 2
public/app/features/alerting/alert_tab_ctrl.ts → public/app/features/alerting/AlertTabCtrl.ts

@@ -1,7 +1,7 @@
 import _ from 'lodash';
-import { ThresholdMapper } from './threshold_mapper';
+import { ThresholdMapper } from './state/ThresholdMapper';
 import { QueryPart } from 'app/core/components/query_part/query_part';
-import alertDef from './alert_def';
+import alertDef from './state/alertDef';
 import config from 'app/core/config';
 import appEvents from 'app/core/app_events';
 

+ 0 - 0
public/app/features/alerting/notification_edit_ctrl.ts → public/app/features/alerting/NotificationsEditCtrl.ts


+ 0 - 0
public/app/features/alerting/notifications_list_ctrl.ts → public/app/features/alerting/NotificationsListCtrl.ts


+ 0 - 0
public/app/features/alerting/containers/__snapshots__/AlertRuleList.test.tsx.snap → public/app/features/alerting/__snapshots__/AlertRuleList.test.tsx.snap


+ 0 - 2
public/app/features/alerting/all.ts

@@ -1,2 +0,0 @@
-import './notifications_list_ctrl';
-import './notification_edit_ctrl';

+ 1 - 1
public/app/features/alerting/specs/threshold_mapper.test.ts → public/app/features/alerting/state/ThresholdMapper.test.ts

@@ -1,6 +1,6 @@
 import { describe, it, expect } from 'test/lib/common';
 
-import { ThresholdMapper } from '../threshold_mapper';
+import { ThresholdMapper } from './threshold_mapper';
 
 describe('ThresholdMapper', () => {
   describe('with greater than evaluator', () => {

+ 0 - 0
public/app/features/alerting/threshold_mapper.ts → public/app/features/alerting/state/ThresholdMapper.ts


+ 0 - 0
public/app/features/alerting/alert_def.ts → public/app/features/alerting/state/alertDef.ts


+ 1 - 1
public/app/features/alerting/apis/index.ts → public/app/features/alerting/state/apis.ts

@@ -1,5 +1,5 @@
 import { getBackendSrv } from 'app/core/services/backend_srv';
-import alertDef from '../alert_def';
+import alertDef from './alertDef';
 import moment from 'moment';
 
 export interface AlertRule {

+ 2 - 1
public/app/features/all.ts

@@ -9,5 +9,6 @@ import './snapshot/all';
 import './panel/all';
 import './org/all';
 import './admin/admin';
-import './alerting/all';
+import './alerting/NotificationsEditCtrl';
+import './alerting/NotificationsListCtrl';
 import './styleguide/styleguide';

+ 1 - 1
public/app/features/annotations/annotation_tooltip.ts

@@ -1,7 +1,7 @@
 import _ from 'lodash';
 import $ from 'jquery';
 import coreModule from 'app/core/core_module';
-import alertDef from '../alerting/alert_def';
+import alertDef from '../alerting/state/alertDef';
 
 /** @ngInject **/
 export function annotationTooltipDirective($sanitize, dashboardSrv, contextSrv, $compile) {

+ 1 - 1
public/app/plugins/panel/alertlist/module.ts

@@ -1,6 +1,6 @@
 import _ from 'lodash';
 import moment from 'moment';
-import alertDef from '../../../features/alerting/alert_def';
+import alertDef from '../../../features/alerting/state/alertDef';
 import { PanelCtrl } from 'app/plugins/sdk';
 
 import * as dateMath from 'app/core/utils/datemath';

+ 1 - 1
public/app/plugins/sdk.ts

@@ -1,7 +1,7 @@
 import { PanelCtrl } from 'app/features/panel/panel_ctrl';
 import { MetricsPanelCtrl } from 'app/features/panel/metrics_panel_ctrl';
 import { QueryCtrl } from 'app/features/panel/query_ctrl';
-import { alertTab } from 'app/features/alerting/alert_tab_ctrl';
+import { alertTab } from 'app/features/alerting/AlertTabCtrl';
 import { loadPluginCss } from 'app/features/plugins/plugin_loader';
 
 export { PanelCtrl, MetricsPanelCtrl, QueryCtrl, alertTab, loadPluginCss };

+ 1 - 1
public/app/routes/routes.ts

@@ -2,7 +2,7 @@ import './dashboard_loaders';
 import './ReactContainer';
 
 import ServerStats from 'app/features/admin/containers/ServerStats';
-import AlertRuleList from 'app/features/alerting/containers/AlertRuleList';
+import AlertRuleList from 'app/features/alerting/AlertRuleList';
 import FolderSettings from 'app/containers/ManageDashboards/FolderSettings';
 import FolderPermissions from 'app/containers/ManageDashboards/FolderPermissions';
 import TeamPages from 'app/containers/Teams/TeamPages';

+ 1 - 1
public/app/stores/AlertListStore/helpers.ts

@@ -1,5 +1,5 @@
 import moment from 'moment';
-import alertDef from 'app/features/alerting/alert_def';
+import alertDef from 'app/features/alerting/state/alertDef';
 
 export function setStateFields(rule, state) {
   const stateModel = alertDef.getStateDisplayModel(state);

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

@@ -1,6 +1,7 @@
 import { NavModel } from './navModel';
+import { initNav } from 'app/core/actions';
 
 export interface ContainerProps {
   navModel: NavModel;
-  initNav: (...args: string[]) => void;
+  initNav: typeof initNav;
 }

+ 1 - 1
public/app/types/navModel.ts

@@ -9,11 +9,11 @@ export interface NavModelItem {
   hideFromTabs?: boolean;
   divider?: boolean;
   children?: NavModelItem[];
+  breadcrumbs?: NavModelItem[];
   target?: string;
 }
 
 export interface NavModel {
-  breadcrumbs: NavModelItem[];
   main: NavModelItem;
   node: NavModelItem;
 }

+ 29 - 0
public/test/mocks/common.ts

@@ -1,3 +1,5 @@
+import { NavModel, NavModelItem } from 'app/types';
+
 export const backendSrv = {
   get: jest.fn(),
   getDashboard: jest.fn(),
@@ -17,3 +19,30 @@ export function createNavTree(...args) {
 
   return root;
 }
+
+export function getNavModel(title: string, tabs: string[]): NavModel {
+  const node: NavModelItem = {
+    id: title,
+    text: title,
+    icon: 'fa fa-fw fa-warning',
+    subTitle: 'subTitle',
+    url: title,
+    children: [],
+    breadcrumbs: [],
+  };
+
+  for (let tab of tabs) {
+    node.children.push({
+      id: tab,
+      icon: 'icon',
+      subTitle: 'subTitle',
+      url: title,
+      text: title,
+    });
+  }
+
+  return {
+    node: node,
+    main: node,
+  };
+}