From 8c1d97b1d8adb5877a4baf4b3cf8284c9b316c86 Mon Sep 17 00:00:00 2001 From: adamviktora <84135613+adamviktora@users.noreply.github.com> Date: Tue, 11 Jun 2024 15:09:06 +0200 Subject: [PATCH] fix(misc): clean up demos - Timestamp date prop, icon status colors (#10471) * fix(misc): pass correct date prop to Timestamp * fix(Card demos): use correct status color * fix(Card demo): add status icon color for Status Tabbed demo --- .../examples/ComposableDateSelect.tsx | 113 ------------------ .../CustomMenus/examples/DateSelectDemo.tsx | 38 ++++-- .../demos/examples/Card/CardEventsView.tsx | 23 ++-- .../src/demos/examples/Card/CardLogView.tsx | 8 +- .../demos/examples/Card/CardStatusTabbed.tsx | 29 ++++- .../examples/Card/CardUtilizationDemo3.tsx | 7 +- .../Table/examples/TableNestedHeaders.tsx | 7 +- .../examples/TableNestedStickyHeader.tsx | 7 +- 8 files changed, 78 insertions(+), 154 deletions(-) delete mode 100644 packages/react-core/src/demos/CustomMenus/examples/ComposableDateSelect.tsx diff --git a/packages/react-core/src/demos/CustomMenus/examples/ComposableDateSelect.tsx b/packages/react-core/src/demos/CustomMenus/examples/ComposableDateSelect.tsx deleted file mode 100644 index 1f41cf07a40..00000000000 --- a/packages/react-core/src/demos/CustomMenus/examples/ComposableDateSelect.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import React from 'react'; -import { MenuToggle, Menu, MenuContent, MenuList, MenuItem, Popper, Timestamp } from '@patternfly/react-core'; - -export const ComposableSimpleDropdown: React.FunctionComponent = () => { - const [isOpen, setIsOpen] = React.useState(false); - const [selected, setSelected] = React.useState(0); - const toggleRef = React.useRef(); - const menuRef = React.useRef(); - - const handleMenuKeys = (event: KeyboardEvent) => { - if (!isOpen) { - return; - } - if (menuRef?.current?.contains(event.target as Node) || toggleRef?.current?.contains(event.target as Node)) { - if (event.key === 'Escape' || event.key === 'Tab') { - setIsOpen(!isOpen); - toggleRef?.current?.focus(); - } - } - }; - - const handleClickOutside = (event: MouseEvent) => { - if (isOpen && !menuRef?.current?.contains(event.target as Node)) { - setIsOpen(false); - } - }; - - React.useEffect(() => { - window.addEventListener('keydown', handleMenuKeys); - window.addEventListener('click', handleClickOutside); - return () => { - window.removeEventListener('keydown', handleMenuKeys); - window.removeEventListener('click', handleClickOutside); - }; - }, [isOpen, menuRef]); - - const onToggleClick = (ev: React.MouseEvent) => { - ev.stopPropagation(); // Stop handleClickOutside from handling - setTimeout(() => { - if (menuRef.current) { - const firstElement = menuRef.current.querySelector('li > button:not(:disabled)'); - firstElement && (firstElement as HTMLElement).focus(); - } - }, 0); - setIsOpen(!isOpen); - }; - - const monthStrings = [ - 'January', - 'February', - 'March', - 'April', - 'May', - 'June', - 'July', - 'August', - 'September', - 'October', - 'November', - 'December' - ]; - - const dateString = (date: Date) => `${monthStrings[date.getMonth()]} ${date.getDate()}, ${date.getFullYear()}`; - - const date = new Date(); - - const toggleText = { - 0: 'Today ', - 1: 'Yesterday ', - 2: 'Last 7 days ', - 3: 'Last 14 days ' - }; - - const dateText = { - 0: ({dateString(date)}), - 1: ( - - ({dateString(new Date(new Date().setDate(date.getDate() - 1)))} - {dateString(date)}) - - ), - 2: ( - - ({dateString(new Date(new Date().setDate(date.getDate() - 7)))} - {dateString(date)}) - - ), - 3: ( - - ({dateString(new Date(new Date().setDate(date.getDate() - 14)))} - {dateString(date)}) - - ) - }; - - const toggle = ( - - {toggleText[selected]} - {dateText[selected]} - - ); - const menu = ( - // eslint-disable-next-line no-console - setSelected(itemId as number)} selected={selected}> - - - Today - Yesterday - Last 7 days - Last 14 days - - - - ); - return ; -}; diff --git a/packages/react-core/src/demos/CustomMenus/examples/DateSelectDemo.tsx b/packages/react-core/src/demos/CustomMenus/examples/DateSelectDemo.tsx index fe7a0a943fa..c9c7c193ac4 100644 --- a/packages/react-core/src/demos/CustomMenus/examples/DateSelectDemo.tsx +++ b/packages/react-core/src/demos/CustomMenus/examples/DateSelectDemo.tsx @@ -36,27 +36,39 @@ export const DateSelectDemo: React.FunctionComponent = () => { 3: 'Last 14 days ' }; + const getDateNDaysBefore = (date: Date, days: number) => new Date(new Date().setDate(date.getDate() - days)); + + const dates = { + 0: date, + 1: getDateNDaysBefore(date, 1), + 2: getDateNDaysBefore(date, 7), + 3: getDateNDaysBefore(date, 14) + }; + const dateText = { - 0: ({dateString(date)}), - 1: ( - - ({dateString(new Date(new Date().setDate(date.getDate() - 1)))} - {dateString(date)}) - - ), + 0: ({dateString(dates[0])}), + 1: ({dateString(dates[1])}), 2: ( - - ({dateString(new Date(new Date().setDate(date.getDate() - 7)))} - {dateString(date)}) - + <> + + ({dateString(dates[2])} +  -  + + {dateString(date)}) + ), 3: ( - - ({dateString(new Date(new Date().setDate(date.getDate() - 14)))} - {dateString(date)}) - + <> + + ({dateString(dates[3])} +  -  + + {dateString(date)}) + ) }; return ( - // eslint-disable-next-line no-console