diff --git a/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx b/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx index 76bdff875..377d45148 100644 --- a/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx +++ b/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx @@ -20,6 +20,7 @@ function MetricsList({ const metricsSearch = metricStore.metricsSearch; const listView = useObserver(() => metricStore.listView); const [selectedMetrics, setSelectedMetrics] = useState([]); + const sortBy = useObserver(() => metricStore.sort.by); useEffect(() => { metricStore.fetchList(); @@ -44,12 +45,26 @@ function MetricsList({ const dashboardsStr = item.dashboards.map((d: any) => d.name).join(' '); return searchRE.test(dashboardsStr); }; + const list = metricsSearch !== '' ? filterList(metrics, metricsSearch, ['name', 'metricType', 'owner'], filterByDashboard) : metrics; + const lenth = list.length; + const sortList = () => { + list.sort((a, b) => { + const aDate = new Date(a.lastModified); + const bDate = new Date(b.lastModified); + return sortBy === 'asc' + ? aDate.getTime() - bDate.getTime() + : bDate.getTime() - aDate.getTime(); + }); + }; + + sortList(); + useEffect(() => { metricStore.updateKey('sessionsPage', 1); }, []); @@ -85,39 +100,6 @@ function MetricsList({ toggleSelection={toggleMetricSelection} /> )} - {/* -
-
-
- setSelectedMetrics(list.map((i: any) => i.metricId))} - /> - Title -
-
Owner
-
Visibility
-
Last Modified
-
- - {sliceListPerPage(list, metricStore.page - 1, metricStore.pageSize).map((metric: any) => ( - // - // { - // e.stopPropagation(); - // toggleMetricSelection(parseInt(metric.metricId)); - // }} - // /> - // - ))} -
- */}