index.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. import * as React from "react";
  2. import * as ReactDOM from "react-dom";
  3. import { LayoutDemo } from './NormalLayout/index';
  4. import { SortedTable } from "./SortedTable/index";
  5. import { SortedTableWithStatic } from "./StaticHeader/index";
  6. import './index.css';
  7. const DemoMap = {
  8. normalLayout: React.createElement(LayoutDemo, null),
  9. SortedTable: React.createElement(SortedTable, null),
  10. StaticHeader: React.createElement(SortedTableWithStatic, null)
  11. };
  12. class DemoDispatcher extends React.Component {
  13. constructor() {
  14. super(...arguments);
  15. this.state = {
  16. demo: React.createElement(LayoutDemo, null)
  17. };
  18. this.handleLayoutChange = (demoName) => {
  19. this.setState({
  20. demo: DemoMap[demoName]
  21. });
  22. };
  23. }
  24. render() {
  25. return (React.createElement("div", null,
  26. React.createElement("div", { className: 'demo-button-layout' },
  27. React.createElement("div", null, "Switch Demos"),
  28. React.createElement("button", { onClick: () => this.handleLayoutChange('normalLayout') }, "normalLayout"),
  29. React.createElement("button", { onClick: () => this.handleLayoutChange('SortedTable') }, "SortedTable"),
  30. React.createElement("button", { onClick: () => this.handleLayoutChange('StaticHeader') }, "StaticHeader")),
  31. this.state.demo));
  32. }
  33. }
  34. ReactDOM.render(React.createElement(DemoDispatcher, null), document.getElementById('root'));