import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { Router, Route, IRouteProps } from '@uifabric/example-app-base';
import { setBaseUrl } from 'office-ui-fabric-react/lib/Utilities';
import { Fabric } from 'office-ui-fabric-react/lib/Fabric';
setBaseUrl('./dist/');
let rootElement: HTMLElement | null;
function _onLoad(): void {
rootElement = rootElement || document.getElementById('content');
ReactDOM.render(
{_getRoutes()}
,
rootElement,
);
}
function _getRoutes(): JSX.Element[] {
return require('./pages/pageList')
.map(
(page: string): IRouteProps => {
return {
component: require(`./pages/${page}`).default,
key: page,
path: `#/${page}`,
};
},
)
.map((page: IRouteProps) => );
}
function _onUnload(): void {
if (rootElement) {
ReactDOM.unmountComponentAtNode(rootElement);
}
}
const isReady = document.readyState === 'interactive' || document.readyState === 'complete';
if (isReady) {
_onLoad();
} else {
window.onload = _onLoad;
}
window.onunload = _onUnload;