From 9bffa88bed7d79c38b73034eeb49d2e5dcd66a0a Mon Sep 17 00:00:00 2001 From: Rodrigo Antinarelli Date: Fri, 10 Apr 2020 13:33:14 -0300 Subject: [PATCH] Segments table and color LUT --- platform/ui/src/assets/icons/eye-hidden.svg | 8 ++ platform/ui/src/assets/icons/eye-visible.svg | 6 + platform/ui/src/assets/styles/styles.css | 17 +++ platform/ui/src/components/Icon/getIcon.jsx | 4 + .../MeasurementTable/MeasurementTable.jsx | 107 +++++++++++++++++- 5 files changed, 136 insertions(+), 6 deletions(-) create mode 100644 platform/ui/src/assets/icons/eye-hidden.svg create mode 100644 platform/ui/src/assets/icons/eye-visible.svg diff --git a/platform/ui/src/assets/icons/eye-hidden.svg b/platform/ui/src/assets/icons/eye-hidden.svg new file mode 100644 index 000000000..df364aeb6 --- /dev/null +++ b/platform/ui/src/assets/icons/eye-hidden.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/platform/ui/src/assets/icons/eye-visible.svg b/platform/ui/src/assets/icons/eye-visible.svg new file mode 100644 index 000000000..91e3efb80 --- /dev/null +++ b/platform/ui/src/assets/icons/eye-visible.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/platform/ui/src/assets/styles/styles.css b/platform/ui/src/assets/styles/styles.css index 050c08d7a..57b6e0d6e 100644 --- a/platform/ui/src/assets/styles/styles.css +++ b/platform/ui/src/assets/styles/styles.css @@ -16,6 +16,23 @@ @apply bg-primary-main; } +/* INVISIBLE SCROLLBAR */ +.invisible-scrollbar::-webkit-scrollbar { + @apply hidden; +} + +.invisible-scrollbar::-webkit-scrollbar-track { + @apply hidden; +} + +.invisible-scrollbar::-webkit-scrollbar-thumb { + @apply hidden; +} + +.invisible-scrollbar::-webkit-scrollbar-thumb:window-inactive { + @apply hidden; +} + /* TOOLTIP WORKAROUND FOR ARROW UP */ .tooltip::before { @apply bg-primary-dark absolute z-10; diff --git a/platform/ui/src/components/Icon/getIcon.jsx b/platform/ui/src/components/Icon/getIcon.jsx index 856e54236..7588b736c 100644 --- a/platform/ui/src/components/Icon/getIcon.jsx +++ b/platform/ui/src/components/Icon/getIcon.jsx @@ -7,6 +7,8 @@ import cancel from './../../assets/icons/cancel.svg'; import chevronDown from './../../assets/icons/chevron-down.svg'; import chevronLeft from './../../assets/icons/chevron-left.svg'; import chevronRight from './../../assets/icons/chevron-right.svg'; +import eyeVisible from './../../assets/icons/eye-visible.svg'; +import eyeHidden from './../../assets/icons/eye-hidden.svg'; import groupLayers from './../../assets/icons/group-layers.svg'; import infoLink from './../../assets/icons/info-link.svg'; import launchArrow from './../../assets/icons/launch-arrow.svg'; @@ -42,6 +44,8 @@ const ICONS = { 'chevron-down': chevronDown, 'chevron-left': chevronLeft, 'chevron-right': chevronRight, + 'eye-visible': eyeVisible, + 'eye-hidden': eyeHidden, 'group-layers': groupLayers, 'info-link': infoLink, 'launch-arrow': launchArrow, diff --git a/platform/ui/src/components/MeasurementTable/MeasurementTable.jsx b/platform/ui/src/components/MeasurementTable/MeasurementTable.jsx index ad90cced0..2756e19a4 100644 --- a/platform/ui/src/components/MeasurementTable/MeasurementTable.jsx +++ b/platform/ui/src/components/MeasurementTable/MeasurementTable.jsx @@ -3,9 +3,24 @@ import classnames from 'classnames'; import { Icon, ButtonGroup, Button, IconButton } from '@ohif/ui'; const MeasurementTable = () => { - const tableData = new Array(5).fill(''); + const tableData = new Array(12).fill(''); const [activeItem, setActiveItem] = useState(null); + const colorLUT = [ + '#932a13', + '#821393', + '#2b7fc4', + '#12c457', + '#7f7d2e', + '#7f2e4a', + '#866943', + '#65ae7f', + '#334b5f', + '#3cb0dc', + '#292ac9', + '#629753', + ]; + const renderTable = (title, amount, data) => { return (
@@ -16,7 +31,7 @@ const MeasurementTable = () => { {amount}
{/* MEASUREMENT ITEMS */} -
+
{!!data.length && data.map((e, i) => { const itemKey = i; @@ -26,9 +41,9 @@ const MeasurementTable = () => {
{ @@ -42,7 +57,7 @@ const MeasurementTable = () => { >
{ ); }; + const renderSegments = (title, amount, data) => { + return ( +
+
+ + {title} + +
+ {amount} + alert('TBD')} + /> +
+
+
+ {!!data.length && + data.map((e, i) => { + const itemKey = i; + const currentItem = i + 1; + const isActive = !!activeItem && activeItem[title] === i; + return ( +
{ + setActiveItem((s) => { + return { + ...s, + [title]: s && s[title] === itemKey ? null : itemKey, + }; + }); + }} + > +
+ {currentItem} +
+
+ +
+ Label short description +
+ { + // stopPropagation needed to avoid disable the current active item + e.stopPropagation(); + alert('Toggle'); + }} + /> +
+
+ ); + })} +
+
+ ); + }; + return ( -
+
{/* HEADER */}
@@ -105,6 +199,7 @@ const MeasurementTable = () => { {/* TABLE */} {renderTable('Measurements', 5, tableData)} {renderTable('ADDITIONAL FINDINGS', 5, tableData)} + {renderSegments('SEGMENTS', 12, tableData)} {/* BUTTONS */}