Unverified Commit 4668fc08 authored by Lijiaoa's avatar Lijiaoa Committed by GitHub
Browse files

Update webui react version and use fluent ui (#2873)

parent 2ee76dc7
import * as React from 'react'; import * as React from 'react';
import { DetailsList, IDetailsListProps, IColumn } from 'office-ui-fabric-react'; import { DetailsList, IDetailsListProps, IColumn } from '@fluentui/react';
import DefaultMetric from '../public-child/DefaultMetric'; import DefaultMetric from '../public-child/DefaultMetric';
import Details from './Details'; import Details from './Details';
import { convertDuration } from '../../static/function'; import { convertDuration } from '../../static/function';
......
import * as React from 'react'; import * as React from 'react';
import {Stack} from 'office-ui-fabric-react'; import { Stack } from '@fluentui/react';
import { TitleContext } from '../Overview';
import '../../static/style/overviewTitle.scss'; import '../../static/style/overviewTitle.scss';
interface Title1Props {
text: string;
icon?: string;
fontColor?: string;
}
class Title1 extends React.Component<Title1Props, {}> { export const Title1 = (): any => (
<TitleContext.Consumer>
constructor(props: Title1Props) { {
super(props); (value): React.ReactNode => (
}
render(): React.ReactNode {
const { text, icon, fontColor } = this.props;
return (
<Stack horizontal className="panelTitle"> <Stack horizontal className="panelTitle">
<img src={require(`../../static/img/icon/${icon}`)} alt="icon" /> <img src={require(`../../static/img/icon/${value.icon}`)} alt="icon" />
<span style={{ color: fontColor }}>{text}</span> <span style={{ color: value.fontColor }}>{value.text}</span>
</Stack> </Stack>
); )
} }
} </TitleContext.Consumer>
);
export default Title1; \ No newline at end of file
\ No newline at end of file
import * as React from 'react'; import * as React from 'react';
import { Spinner } from 'office-ui-fabric-react'; import { Spinner } from '@fluentui/react';
import { DRAWEROPTION } from '../../static/const'; import { DRAWEROPTION } from '../../static/const';
import MonacoEditor from 'react-monaco-editor'; import MonacoEditor from 'react-monaco-editor';
......
import * as React from 'react'; import * as React from 'react';
import * as copy from 'copy-to-clipboard'; import * as copy from 'copy-to-clipboard';
import { Stack, PrimaryButton, Pivot, PivotItem } from 'office-ui-fabric-react'; import { Stack, PrimaryButton, Pivot, PivotItem } from '@fluentui/react';
import { Trial } from '../../static/model/trial'; import { Trial } from '../../static/model/trial';
import { MANAGER_IP } from '../../static/const'; import { MANAGER_IP } from '../../static/const';
import { EXPERIMENT, TRIALS } from '../../static/datamodel'; import { EXPERIMENT, TRIALS } from '../../static/datamodel';
import JSONTree from 'react-json-tree'; import JSONTree from 'react-json-tree';
import PaiTrialLog from '../public-child/PaiTrialLog'; import PaiTrialLog from '../public-child/PaiTrialLog';
import TrialLog from '../public-child/TrialLog'; import TrialLog from '../public-child/TrialLog';
import MessageInfo from '../Modals/MessageInfo'; import MessageInfo from '../modals/MessageInfo';
import '../../static/style/overview.scss'; import '../../static/style/overview.scss';
import '../../static/style/copyParameter.scss'; import '../../static/style/copyParameter.scss';
import '../../static/style/openRow.scss'; import '../../static/style/openRow.scss';
......
import * as React from 'react'; import * as React from 'react';
import { Link } from 'react-router'; import { NavLink } from 'react-router-dom';
const OVERVIEWTABS = ( const OVERVIEWTABS = (
<Link to={'/oview'} activeClassName="high-light" className="common-tabs"> <NavLink to={'/oview'} activeClassName="selected" className="common-tabs">
Overview Overview
</Link> </NavLink>
); );
const DETAILTABS = ( const DETAILTABS = (
<Link to={'/detail'} activeClassName="high-light" className="common-tabs"> <NavLink to={'/detail'} activeClassName="selected" className="common-tabs">
Trials detail Trials detail
</Link> </NavLink>
); );
const NNILOGO = ( const NNILOGO = (
<Link to={'/oview'}> <NavLink to={'/oview'}>
<img <img
src={require('../../static/img/logo2.png')} src={require('../../static/img/logo2.png')}
alt="NNI logo" alt="NNI logo"
style={{height: 40}} style={{height: 40}}
/> />
</Link> </NavLink>
); );
export { OVERVIEWTABS, DETAILTABS, NNILOGO }; export { OVERVIEWTABS, DETAILTABS, NNILOGO };
\ No newline at end of file
import * as React from 'react'; import * as React from 'react';
import { Toggle, Stack } from 'office-ui-fabric-react'; import { Toggle, Stack } from '@fluentui/react';
import ReactEcharts from 'echarts-for-react'; import ReactEcharts from 'echarts-for-react';
import { EXPERIMENT, TRIALS } from '../../static/datamodel'; import { EXPERIMENT, TRIALS } from '../../static/datamodel';
import { Trial } from '../../static/model/trial'; import { Trial } from '../../static/model/trial';
...@@ -25,7 +25,6 @@ const EmptyGraph = { ...@@ -25,7 +25,6 @@ const EmptyGraph = {
interface DefaultPointProps { interface DefaultPointProps {
trialIds: string[]; trialIds: string[];
visible: boolean; visible: boolean;
trialsUpdateBroadcast: number;
} }
interface DefaultPointState { interface DefaultPointState {
......
import * as React from 'react'; import * as React from 'react';
import { Stack, PrimaryButton, Toggle, IStackTokens } from 'office-ui-fabric-react'; import { Stack, PrimaryButton, Toggle, IStackTokens } from '@fluentui/react';
import { TooltipForIntermediate, TableObj, Intermedia, EventMap } from '../../static/interface'; import { TooltipForIntermediate, TableObj, Intermedia, EventMap } from '../../static/interface';
import ReactEcharts from 'echarts-for-react'; import ReactEcharts from 'echarts-for-react';
import 'echarts/lib/component/tooltip'; import 'echarts/lib/component/tooltip';
......
import * as d3 from 'd3'; import * as d3 from 'd3';
import { Dropdown, IDropdownOption, Stack } from 'office-ui-fabric-react'; import { Dropdown, IDropdownOption, Stack } from '@fluentui/react';
import ParCoords from 'parcoord-es'; import ParCoords from 'parcoord-es';
import 'parcoord-es/dist/parcoords.css'; import 'parcoord-es/dist/parcoords.css';
import * as React from 'react'; import * as React from 'react';
......
import * as React from 'react'; import React, { lazy } from 'react';
import axios from 'axios'; import axios from 'axios';
import ReactEcharts from 'echarts-for-react'; import ReactEcharts from 'echarts-for-react';
import { import {
Stack, Dropdown, DetailsList, IDetailsListProps, DetailsListLayoutMode, Stack, Dropdown, DetailsList, IDetailsListProps, DetailsListLayoutMode,
PrimaryButton, Modal, IDropdownOption, IColumn, Selection, SelectionMode, IconButton, TooltipHost, IStackTokens PrimaryButton, Modal, IDropdownOption, IColumn, Selection, SelectionMode, IconButton, TooltipHost, IStackTokens
} from 'office-ui-fabric-react'; } from '@fluentui/react';
import ReactPaginate from 'react-paginate'; import ReactPaginate from 'react-paginate';
import { LineChart, blocked, copy } from '../Buttons/Icon'; import { LineChart, blocked, copy } from '../buttons/Icon';
import { MANAGER_IP, COLUMNPro } from '../../static/const'; import { MANAGER_IP, COLUMNPro } from '../../static/const';
import { convertDuration, formatTimestamp, intermediateGraphOption, parseMetrics } from '../../static/function'; import { convertDuration, formatTimestamp, intermediateGraphOption, parseMetrics } from '../../static/function';
import { EXPERIMENT, TRIALS } from '../../static/datamodel'; import { EXPERIMENT, TRIALS } from '../../static/datamodel';
import { TableRecord, TrialJobInfo } from '../../static/interface'; import { TableRecord, TrialJobInfo } from '../../static/interface';
import Details from '../overview/Details'; const Details = lazy(() => import('../overview/Details'));
import ChangeColumnComponent from '../Modals/ChangeColumnComponent'; const ChangeColumnComponent = lazy(() => import('../modals/ChangeColumnComponent'));
import Compare from '../Modals/Compare'; const Compare = lazy(() => import('../modals/Compare'));
import KillJob from '../Modals/Killjob'; const KillJob = lazy(() => import('../modals/Killjob'));
import Customize from '../Modals/CustomizedTrial'; const Customize = lazy(() => import('../modals/CustomizedTrial'));
import { contentStyles, iconButtonStyles } from '../Buttons/ModalTheme'; import { contentStyles, iconButtonStyles } from '../buttons/ModalTheme';
import '../../static/style/search.scss'; import '../../static/style/search.scss';
import '../../static/style/tableStatus.css'; import '../../static/style/tableStatus.css';
import '../../static/style/logPath.scss'; import '../../static/style/logPath.scss';
...@@ -25,7 +25,6 @@ import '../../static/style/button.scss'; ...@@ -25,7 +25,6 @@ import '../../static/style/button.scss';
import '../../static/style/openRow.scss'; import '../../static/style/openRow.scss';
import '../../static/style/pagination.scss'; import '../../static/style/pagination.scss';
const echarts = require('echarts/lib/echarts'); const echarts = require('echarts/lib/echarts');
require('echarts/lib/chart/line'); require('echarts/lib/chart/line');
require('echarts/lib/component/tooltip'); require('echarts/lib/component/tooltip');
...@@ -36,7 +35,7 @@ echarts.registerTheme('my_theme', { ...@@ -36,7 +35,7 @@ echarts.registerTheme('my_theme', {
const horizontalGapStackTokens: IStackTokens = { const horizontalGapStackTokens: IStackTokens = {
childrenGap: 20, childrenGap: 20,
padding: 10, padding: 10
}; };
interface TableListProps { interface TableListProps {
...@@ -180,7 +179,6 @@ class TableList extends React.Component<TableListProps, TableListState> { ...@@ -180,7 +179,6 @@ class TableList extends React.Component<TableListProps, TableListState> {
className: 'tableHead leftTitle' className: 'tableHead leftTitle'
}; };
StartTimeColumnConfig: any = { StartTimeColumnConfig: any = {
name: 'Start time', name: 'Start time',
key: 'startTime', key: 'startTime',
......
import React from 'react'; import React, { lazy, Suspense } from 'react';
import ReactDOM from 'react-dom'; import ReactDOM from 'react-dom';
import App from './App'; import App from './App';
import { Router, Route, browserHistory, IndexRedirect } from 'react-router'; import { BrowserRouter as Router, Route, Switch, Redirect } from 'react-router-dom';
import Overview from './components/Overview'; const Overview = lazy(() => import('./components/Overview'));
import TrialsDetail from './components/TrialsDetail'; const TrialsDetail = lazy(() => import('./components/TrialsDetail'));
import './index.css'; import './index.css';
import * as serviceWorker from './serviceWorker'; import * as serviceWorker from './serviceWorker';
ReactDOM.render( ReactDOM.render(
( (
<Router history={browserHistory}> <Router>
<Route path="/" component={App}> <App>
<IndexRedirect to="/oview" /> <Switch>
<Suspense fallback={null}>
<Route path="/oview" component={Overview} /> <Route path="/oview" component={Overview} />
<Route path="/detail" component={TrialsDetail} /> <Route path="/detail" component={TrialsDetail} />
{/* test branch */} <Route path="/" render={(): React.ReactNode => <Redirect to={{ pathname: '/oview' }} />} />
</Route> </Suspense>
</Switch>
</App>
</Router> </Router>
), ),
......
...@@ -42,8 +42,8 @@ $barHeight: 56px; ...@@ -42,8 +42,8 @@ $barHeight: 56px;
} }
&-refresh-num{ &-refresh-num{
position: absolute; position: absolute;
top: -10px; top: -13px;
left: 18px; left: 17px;
color: #fff; color: #fff;
font-size: 12px; font-size: 12px;
} }
...@@ -56,11 +56,11 @@ a.common-tabs{ ...@@ -56,11 +56,11 @@ a.common-tabs{
color: #b8c7ce; color: #b8c7ce;
text-decoration: none; text-decoration: none;
} }
.common-tabs:visited, .high-light:hover{ .common-tabs:visited, .selected:hover{
color: #fff; color: #fff;
text-decoration: none; text-decoration: none;
} }
.common-tabs:hover, .high-light{ .common-tabs:hover, .selected{
color: #fff; color: #fff;
border-bottom: 1px solid #fff; border-bottom: 1px solid #fff;
} }
......
...@@ -19,6 +19,10 @@ ...@@ -19,6 +19,10 @@
background: #999; background: #999;
} }
} }
.is-selected::before{
border-bottom: none;
}
} }
.ms-Pivot-icon{ .ms-Pivot-icon{
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment