index.tsx 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import { Route, Switch } from 'react-router-dom'
  2. import { DataShareServiceViz } from 'containers/Viz/Loadable'
  3. import {
  4. DataShareServiceWidget as Widget,
  5. Workbench
  6. } from 'containers/Widget/Loadable'
  7. import { Sidebar } from './Loadable'
  8. import AuthorizedRoute from 'containers/Main/AuthorizedRoute'
  9. import { View, ViewEditor } from 'containers/View/Loadable'
  10. import { Source } from 'containers/Source/Loadable'
  11. import { Schedule, ScheduleEditor } from 'containers/Schedule/Loadable'
  12. import { Project } from 'containers/Projects/Loadable'
  13. import React, { useEffect } from 'react'
  14. import { Dashboard } from '../Dashboard/Loadable'
  15. export default function DataShareService() {
  16. useEffect(() => {
  17. window.localStorage.setItem('inDataService', 'dataShareService')
  18. }, [])
  19. return (
  20. <Project>
  21. <Switch>
  22. <Route
  23. path="/project/:projectId/dataShareService/portal/:portalId"
  24. component={Dashboard}
  25. />
  26. <Route
  27. path="/project/:projectId/dataShareService/display/:displayId"
  28. component={DataShareServiceViz}
  29. />
  30. <Route
  31. exact
  32. path="/project/:projectId/dataShareService/widget/:widgetId?"
  33. component={Workbench}
  34. />
  35. <Route
  36. exact
  37. path="/project/:projectId/dataShareService/view/:viewId?"
  38. component={ViewEditor}
  39. />
  40. <Route
  41. exact
  42. path="/project/:projectId/dataShareService/schedule/:scheduleId?"
  43. component={ScheduleEditor}
  44. />
  45. <Sidebar>
  46. <Switch>
  47. <AuthorizedRoute
  48. permission="vizPermission"
  49. path="/project/:projectId/dataShareService/vizs"
  50. component={DataShareServiceViz}
  51. />
  52. <AuthorizedRoute
  53. permission="widgetPermission"
  54. path="/project/:projectId/dataShareService/widgets"
  55. component={Widget}
  56. />
  57. <AuthorizedRoute
  58. exact
  59. permission="viewPermission"
  60. path="/project/:projectId/dataShareService/views"
  61. component={View}
  62. />
  63. <AuthorizedRoute
  64. permission="sourcePermission"
  65. path="/project/:projectId/dataShareService/sources"
  66. component={Source}
  67. />
  68. <AuthorizedRoute
  69. permission="schedulePermission"
  70. path="/project/:projectId/dataShareService/schedules"
  71. component={Schedule}
  72. />
  73. </Switch>
  74. </Sidebar>
  75. </Switch>
  76. </Project>
  77. )
  78. }