From 61579b3b2ebf0f0aec8a37640fbfa46505de145c Mon Sep 17 00:00:00 2001 From: gillespi314 <73313222+gillespi314@users.noreply.github.com> Date: Fri, 10 Sep 2021 15:22:15 -0500 Subject: [PATCH] Refactor PillCell; adjust content and tooltip (#2001) --- .../DataTable/PillCell/PillCell.tsx | 40 ++++++++++++++----- .../PackTable/PackTableConfig.tsx | 3 +- .../pages/hosts/HostDetailsPage/_styles.scss | 2 +- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/frontend/components/TableContainer/DataTable/PillCell/PillCell.tsx b/frontend/components/TableContainer/DataTable/PillCell/PillCell.tsx index 5bb307a31e..801387da89 100644 --- a/frontend/components/TableContainer/DataTable/PillCell/PillCell.tsx +++ b/frontend/components/TableContainer/DataTable/PillCell/PillCell.tsx @@ -7,23 +7,44 @@ interface IPillCellProps { value: [string, number]; } +const CELL_WIDTH = 194; +const CELL_PADDING = 27; + +const PILL_WIDTHS: Record = { + Minimal: 75, + Considerable: 108, + Excessive: 86, + Denylisted: 71, +}; + +const getTooltipOffset = (pillText: string) => { + const offset: Record = {}; + + if (PILL_WIDTHS[pillText]) { + offset.left = CELL_WIDTH / 2 - (PILL_WIDTHS[pillText] / 2 + CELL_PADDING); + } + + return offset; +}; + const generateClassTag = (rawValue: string): string => { return rawValue.replace(" ", "-").toLowerCase(); }; const PillCell = (props: IPillCellProps): JSX.Element => { const { value } = props; + const [pillText, id] = value; const pillClassName = classnames( "data-table__pill", - `data-table__pill--${generateClassTag(value[0])}` + `data-table__pill--${generateClassTag(pillText)}` ); const disable = () => { - switch (value[0]) { + switch (pillText) { case "Minimal": return false; - case "Considerate": + case "Considerable": return false; case "Excessive": return false; @@ -35,7 +56,7 @@ const PillCell = (props: IPillCellProps): JSX.Element => { }; const tooltipText = () => { - switch (value[0]) { + switch (pillText) { case "Minimal": return ( <> @@ -44,7 +65,7 @@ const PillCell = (props: IPillCellProps): JSX.Element => { performance. ); - case "Considerate": + case "Considerable": return ( <> Running this query
frequently can have a
noticeable @@ -72,19 +93,20 @@ const PillCell = (props: IPillCellProps): JSX.Element => { return ( <> -
- {value[0]} +
+ {pillText}
{tooltipText()} diff --git a/frontend/pages/hosts/HostDetailsPage/PackTable/PackTableConfig.tsx b/frontend/pages/hosts/HostDetailsPage/PackTable/PackTableConfig.tsx index 81669fc3b9..3894815f03 100644 --- a/frontend/pages/hosts/HostDetailsPage/PackTable/PackTableConfig.tsx +++ b/frontend/pages/hosts/HostDetailsPage/PackTable/PackTableConfig.tsx @@ -1,6 +1,5 @@ import React from "react"; -import HeaderCell from "components/TableContainer/DataTable/HeaderCell/HeaderCell"; import TextCell from "components/TableContainer/DataTable/TextCell"; import PillCell from "components/TableContainer/DataTable/PillCell"; import { IQueryStats } from "interfaces/query_stats"; @@ -54,7 +53,7 @@ const performanceIndicator = (scheduledQuery: IQueryStats): string => { return "Minimal"; } if (indicator >= 2000 && indicator <= 4000) { - return "Considerate"; + return "Considerable"; } return "Excessive"; }; diff --git a/frontend/pages/hosts/HostDetailsPage/_styles.scss b/frontend/pages/hosts/HostDetailsPage/_styles.scss index 67aaa10991..10b0413af0 100644 --- a/frontend/pages/hosts/HostDetailsPage/_styles.scss +++ b/frontend/pages/hosts/HostDetailsPage/_styles.scss @@ -482,7 +482,7 @@ background-color: $ui-vibrant-blue-10; } - .data-table__pill--considerate { + .data-table__pill--considerable { background-color: $ui-vibrant-blue-25; }