|
1 | 1 | import { ResourcesConfig } from './resources/config';
|
2 | 2 | import TextTooltip from '../MesheryMeshInterface/TextTooltip';
|
3 | 3 | import { KubernetesIcon } from '@layer5/sistent';
|
4 |
| -import MesheryIcon from './MesheryIcon'; |
| 4 | +import MesheryIcon from '../../icons/MesheryIcon'; |
5 | 5 | import { TabPanel } from './TabPanel';
|
6 | 6 | import Overview from './Overview';
|
7 | 7 | import ResourcesSubMenu from './resources/ResourcesSubMenu';
|
8 | 8 | import ResourcesTable from './resources/ResourcesTable';
|
9 | 9 | import { withRouter } from 'next/router';
|
10 | 10 | import { DashboardTab } from '@/styles/DashboardTab';
|
11 | 11 | import { DashboardTabs } from '@/styles/DashboardTabs';
|
| 12 | +import { DashboardLayout } from '@/styles/DashboardLayout'; |
| 13 | +import { PaperSquare } from '@/styles/PaperSquare'; |
12 | 14 | import useDashboardRouter from '@/lib/hooks/useDashboardRouter';
|
13 | 15 |
|
14 | 16 | const ResourceCategoryTabs = ['Overview', ...Object.keys(ResourcesConfig)];
|
15 | 17 |
|
16 |
| -function Dashboard() { |
| 18 | +/* |
| 19 | +export function Dashboard({ k8sconfig, selectedK8sContexts, updateProgress }) { |
17 | 20 | const { resourceCategory, changeResourceTab, selectedResource, handleChangeSelectedResource } =
|
18 | 21 | useDashboardRouter();
|
19 | 22 |
|
@@ -91,3 +94,80 @@ function Dashboard() {
|
91 | 94 | }
|
92 | 95 |
|
93 | 96 | export default withRouter(Dashboard);
|
| 97 | +*/ |
| 98 | + |
| 99 | +export function Dashboard({ k8sconfig, selectedK8sContexts, updateProgress }) { |
| 100 | + const { resourceCategory, changeResourceTab, selectedResource, handleChangeSelectedResource } = |
| 101 | + useDashboardRouter(); |
| 102 | + |
| 103 | + const getResourceCategoryIndex = (resourceCategory) => { |
| 104 | + return ResourceCategoryTabs.findIndex((resource) => resource === resourceCategory); |
| 105 | + }; |
| 106 | + |
| 107 | + const getResourceCategory = (index) => { |
| 108 | + return ResourceCategoryTabs[index]; |
| 109 | + }; |
| 110 | + |
| 111 | + return ( |
| 112 | + <DashboardLayout> |
| 113 | + <PaperSquare> |
| 114 | + <DashboardTabs |
| 115 | + indicatorColor="primary" |
| 116 | + variant="fullWidth" |
| 117 | + textColor="primary" |
| 118 | + allowScrollButtonsMobile |
| 119 | + scrollButtons="auto" |
| 120 | + value={getResourceCategoryIndex(resourceCategory)} |
| 121 | + onChange={(_e, val) => { |
| 122 | + changeResourceTab(getResourceCategory(val)); |
| 123 | + }} |
| 124 | + > |
| 125 | + {ResourceCategoryTabs.map((resource, idx) => { |
| 126 | + return ( |
| 127 | + <TextTooltip key={idx} title={`View ${resource}`} placement="top"> |
| 128 | + <DashboardTab |
| 129 | + value={idx} |
| 130 | + key={resource} |
| 131 | + icon={ |
| 132 | + resource === 'Overview' ? ( |
| 133 | + <MesheryIcon width="28px" height="28px" /> |
| 134 | + ) : ( |
| 135 | + <KubernetesIcon width="28px" height="28px" /> |
| 136 | + ) |
| 137 | + } |
| 138 | + /> |
| 139 | + </TextTooltip> |
| 140 | + ); |
| 141 | + })} |
| 142 | + </DashboardTabs> |
| 143 | + </PaperSquare> |
| 144 | + {Object.keys(ResourcesConfig).map((resource, idx) => ( |
| 145 | + <TabPanel value={resourceCategory} index={resource} key={resource}> |
| 146 | + {ResourcesConfig[resource].submenu ? ( |
| 147 | + <ResourcesSubMenu |
| 148 | + key={idx} |
| 149 | + resource={ResourcesConfig[resource]} |
| 150 | + selectedResource={selectedResource} |
| 151 | + handleChangeSelectedResource={handleChangeSelectedResource} |
| 152 | + updateProgress={updateProgress} |
| 153 | + k8sConfig={k8sconfig} |
| 154 | + selectedK8sContexts={selectedK8sContexts} |
| 155 | + /> |
| 156 | + ) : ( |
| 157 | + <ResourcesTable |
| 158 | + key={idx} |
| 159 | + workloadType={resource} |
| 160 | + k8sConfig={k8sconfig} |
| 161 | + selectedK8sContexts={selectedK8sContexts} |
| 162 | + resourceConfig={ResourcesConfig[resource].tableConfig} |
| 163 | + menu={ResourcesConfig[resource].submenu} |
| 164 | + updateProgress={updateProgress} |
| 165 | + /> |
| 166 | + )} |
| 167 | + </TabPanel> |
| 168 | + ))} |
| 169 | + </DashboardLayout> |
| 170 | + ); |
| 171 | +} |
| 172 | + |
| 173 | +export default Dashboard; |
0 commit comments