From ae080a0add0f43f6ff3229fd8595286b4882f811 Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Tue, 3 Jan 2023 18:09:25 +0100 Subject: [PATCH] feat(ui) - cards - fixes and ui improvements --- .../components/AddCardModal/AddCardModal.tsx | 4 +-- .../MetricListItem/MetricListItem.tsx | 10 +++++-- .../MetricTypeItem/MetricTypeItem.tsx | 9 +++--- .../MetricViewHeader/MetricViewHeader.tsx | 2 +- .../components/MetricsList/GridView.tsx | 4 +-- .../components/MetricsList/ListView.tsx | 28 ++++++++++--------- .../components/MetricsList/MetricsList.tsx | 3 +- frontend/app/styles/general.css | 10 +++++++ 8 files changed, 44 insertions(+), 26 deletions(-) diff --git a/frontend/app/components/Dashboard/components/AddCardModal/AddCardModal.tsx b/frontend/app/components/Dashboard/components/AddCardModal/AddCardModal.tsx index 0558a99f6..227b485f6 100644 --- a/frontend/app/components/Dashboard/components/AddCardModal/AddCardModal.tsx +++ b/frontend/app/components/Dashboard/components/AddCardModal/AddCardModal.tsx @@ -10,8 +10,8 @@ function AddCardModal(props: Props) { return ( <> - - + + ); diff --git a/frontend/app/components/Dashboard/components/MetricListItem/MetricListItem.tsx b/frontend/app/components/Dashboard/components/MetricListItem/MetricListItem.tsx index 2c14b0939..21a4c6d7e 100644 --- a/frontend/app/components/Dashboard/components/MetricListItem/MetricListItem.tsx +++ b/frontend/app/components/Dashboard/components/MetricListItem/MetricListItem.tsx @@ -3,7 +3,8 @@ import { Icon, Checkbox, Tooltip } from 'UI'; import { checkForRecent } from 'App/date'; import { withRouter, RouteComponentProps } from 'react-router-dom'; import { withSiteId } from 'App/routes'; -import { TYPES, TIMESERIES, TABLE, CLICKMAP, FUNNEL, ERRORS, RESOURCE_MONITORING } from 'App/constants/card'; +import { TYPES } from 'App/constants/card'; +import cn from 'classnames'; interface Props extends RouteComponentProps { metric: any; @@ -32,7 +33,10 @@ function MetricTypeIcon({ type }: any) { function MetricListItem(props: Props) { const { metric, history, siteId, selected, toggleSelection = () => {}, disableSelection = false } = props; - const onItemClick = () => { + const onItemClick = (e: React.MouseEvent) => { + if (!disableSelection) { + return toggleSelection(e); + } const path = withSiteId(`/metrics/${metric.metricId}`, siteId); history.push(path); }; @@ -55,7 +59,7 @@ function MetricListItem(props: Props) {
-
{metric.name}
+
{metric.name}
{metric.owner}
diff --git a/frontend/app/components/Dashboard/components/MetricTypeItem/MetricTypeItem.tsx b/frontend/app/components/Dashboard/components/MetricTypeItem/MetricTypeItem.tsx index 8b77fc18e..b9592849e 100644 --- a/frontend/app/components/Dashboard/components/MetricTypeItem/MetricTypeItem.tsx +++ b/frontend/app/components/Dashboard/components/MetricTypeItem/MetricTypeItem.tsx @@ -21,15 +21,16 @@ function MetricTypeItem(props: Props) { } = props; return (
- + {/* @ts-ignore */} +
-
{title}
-
{description}
+
{title}
+
{description}
); diff --git a/frontend/app/components/Dashboard/components/MetricViewHeader/MetricViewHeader.tsx b/frontend/app/components/Dashboard/components/MetricViewHeader/MetricViewHeader.tsx index 5aaaf68d5..434538ea8 100644 --- a/frontend/app/components/Dashboard/components/MetricViewHeader/MetricViewHeader.tsx +++ b/frontend/app/components/Dashboard/components/MetricViewHeader/MetricViewHeader.tsx @@ -50,7 +50,7 @@ function MetricViewHeader() {
- Create custom Metrics to capture key interactions and track KPIs. + Create custom Cards to capture key interactions and track KPIs.
); diff --git a/frontend/app/components/Dashboard/components/MetricsList/GridView.tsx b/frontend/app/components/Dashboard/components/MetricsList/GridView.tsx index 052dd6ec3..0151e4660 100644 --- a/frontend/app/components/Dashboard/components/MetricsList/GridView.tsx +++ b/frontend/app/components/Dashboard/components/MetricsList/GridView.tsx @@ -18,9 +18,9 @@ function GridView(props: Props) { key={metric.metricId} widget={metric} active={selectedList.includes(metric.metricId)} - isTemplate={true} + // isTemplate={true} isWidget={metric.metricType === 'predefined'} - onClick={() => toggleSelection(parseInt(metric.metricId))} + // onClick={() => toggleSelection(parseInt(metric.metricId))} /> ))} diff --git a/frontend/app/components/Dashboard/components/MetricsList/ListView.tsx b/frontend/app/components/Dashboard/components/MetricsList/ListView.tsx index 838e7cbdc..1236487cc 100644 --- a/frontend/app/components/Dashboard/components/MetricsList/ListView.tsx +++ b/frontend/app/components/Dashboard/components/MetricsList/ListView.tsx @@ -8,26 +8,28 @@ interface Props { selectedList: any; toggleSelection?: (metricId: any) => void; toggleAll?: (e: any) => void; - disableSelection?: boolean + disableSelection?: boolean; + allSelected?: boolean } function ListView(props: Props) { - const { siteId, list, selectedList, toggleSelection, disableSelection = false } = props; + const { siteId, list, selectedList, toggleSelection, disableSelection = false, allSelected = false } = props; return (
- {!disableSelection && ( -
- selectedList(list.map((i: any) => i.metricId))} - onClick={props.toggleAll} - /> +
+ {!disableSelection && ( + selectedList(list.map((i: any) => i.metricId))} + onClick={props.toggleAll} + /> + )} Title
- )} +
Owner
Visibility
Last Modified
diff --git a/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx b/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx index 3f3bad3d0..af1aa5573 100644 --- a/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx +++ b/frontend/app/components/Dashboard/components/MetricsList/MetricsList.tsx @@ -76,6 +76,7 @@ function MetricsList({ list={sliceListPerPage(list, metricStore.page - 1, metricStore.pageSize)} selectedList={selectedMetrics} toggleSelection={toggleMetricSelection} + allSelected={list.length === selectedMetrics.length} toggleAll={({ target: { checked, name } }) => setSelectedMetrics(checked ? list.map((i: any) => i.metricId) : []) } @@ -93,7 +94,7 @@ function MetricsList({
Showing{' '} {Math.min(list.length, metricStore.pageSize)} out - of {list.length} metrics + of {list.length} cards