From 26bc94fc4607a08a3ece9e4d80437859046c4d70 Mon Sep 17 00:00:00 2001 From: Vikrant Gupta Date: Mon, 5 Feb 2024 12:07:55 +0530 Subject: [PATCH] feat: support dashboard local state (#4475) --- .../ResizeTable/DynamicColumnTable.syles.scss | 40 ++++--- .../ResizeTable/DynamicColumnTable.tsx | 6 +- frontend/src/constants/localStorage.ts | 1 + .../DashboardVariableSelection.tsx | 68 ++++-------- .../useDashboardFromLocalStorage.tsx | 100 ++++++++++++++++++ .../src/providers/Dashboard/Dashboard.tsx | 29 ++++- 6 files changed, 178 insertions(+), 66 deletions(-) create mode 100644 frontend/src/hooks/dashboard/useDashboardFromLocalStorage.tsx diff --git a/frontend/src/components/ResizeTable/DynamicColumnTable.syles.scss b/frontend/src/components/ResizeTable/DynamicColumnTable.syles.scss index 2bd0606abd..31026f4f12 100644 --- a/frontend/src/components/ResizeTable/DynamicColumnTable.syles.scss +++ b/frontend/src/components/ResizeTable/DynamicColumnTable.syles.scss @@ -1,25 +1,31 @@ .DynamicColumnTable { - display: flex; - flex-direction: column; - width: 100%; + display: flex; + flex-direction: column; + width: 100%; - .dynamicColumnTable-button { - align-self: flex-end; - margin: 10px 0; - } + .dynamicColumnTable-button { + align-self: flex-end; + margin: 10px 0; + + &.filter-btn { + display: flex; + align-items: center; + justify-content: center; + } + } } .dynamicColumnsTable-items { - display: flex; - width: 10.625rem; - justify-content: space-between; - align-items: center; + display: flex; + width: 10.625rem; + justify-content: space-between; + align-items: center; } @media (max-width: 768px) { - .dynamicColumnsTable-items { - flex-direction: column; - width: auto; - text-align: center; - } -} \ No newline at end of file + .dynamicColumnsTable-items { + flex-direction: column; + width: auto; + text-align: center; + } +} diff --git a/frontend/src/components/ResizeTable/DynamicColumnTable.tsx b/frontend/src/components/ResizeTable/DynamicColumnTable.tsx index c0d77c967b..401517206f 100644 --- a/frontend/src/components/ResizeTable/DynamicColumnTable.tsx +++ b/frontend/src/components/ResizeTable/DynamicColumnTable.tsx @@ -1,9 +1,9 @@ /* eslint-disable react/jsx-props-no-spreading */ import './DynamicColumnTable.syles.scss'; -import { SettingOutlined } from '@ant-design/icons'; import { Button, Dropdown, MenuProps, Switch } from 'antd'; import { ColumnsType } from 'antd/lib/table'; +import { SlidersHorizontal } from 'lucide-react'; import { memo, useEffect, useState } from 'react'; import { popupContainer } from 'utils/selectPopupContainer'; @@ -90,9 +90,9 @@ function DynamicColumnTable({ trigger={['click']} >