From d57b2126f1d90c89afa37c3bbff7d9d239d57c51 Mon Sep 17 00:00:00 2001 From: Jon Koops Date: Thu, 11 Aug 2022 14:17:58 +0200 Subject: [PATCH] Correct types for examples --- .../examples/ContextSelectorBasic.tsx | 8 +++--- .../examples/ContextSelectorPlainText.tsx | 6 ++--- .../examples/ContextSelectorWithFooter.tsx | 8 +++--- .../examples/DualListSelectorComposable.tsx | 10 ++++++-- .../DualListSelectorComposableDragDrop.tsx | 12 +++------ .../DualListSelectorComposableTree.tsx | 6 ++--- .../examples/DualListSelectorTreeExample.tsx | 13 ++++++---- .../src/components/MenuToggle/MenuToggle.tsx | 4 +-- .../examples/ComposableActionsMenu.tsx | 20 +++++++++------ .../ComposableApplicationLauncher.tsx | 23 +++++++++-------- .../examples/ComposableContextSelector.tsx | 22 ++++++++-------- .../examples/ComposableDrilldownMenu.tsx | 14 +++++------ .../examples/ComposableFlyout.tsx | 16 ++++++------ .../ComposableSimpleCheckboxSelect.tsx | 19 ++++++++------ .../examples/ComposableSimpleDropdown.tsx | 14 +++++------ .../examples/ComposableSimpleSelect.tsx | 25 +++++++++++++------ .../examples/ComposableTreeViewMenu.tsx | 21 ++++++++-------- .../examples/ComposableTypeaheadSelect.tsx | 4 +-- .../src/components/Table/RowWrapper.tsx | 1 + .../src/components/layers/LayerContainer.tsx | 2 +- .../pipelines/components/nodes/TaskNode.tsx | 1 + 21 files changed, 135 insertions(+), 114 deletions(-) diff --git a/packages/react-core/src/components/ContextSelector/examples/ContextSelectorBasic.tsx b/packages/react-core/src/components/ContextSelector/examples/ContextSelectorBasic.tsx index 8f5cc91db24..a3d94276d0e 100644 --- a/packages/react-core/src/components/ContextSelector/examples/ContextSelectorBasic.tsx +++ b/packages/react-core/src/components/ContextSelector/examples/ContextSelectorBasic.tsx @@ -48,7 +48,7 @@ export const ContextSelectorBasic: React.FunctionComponent = () => { setSearchValue(value); }; - const onSearchButtonClick = (_event: React.SyntheticEvent) => { + const onSearchButtonClick = () => { const filtered = searchValue === '' ? items @@ -71,11 +71,11 @@ export const ContextSelectorBasic: React.FunctionComponent = () => { screenReaderLabel="Selected Project:" > {filteredItems.map((item, index) => { - const [text = null, href = null, isDisabled] = - typeof item === 'string' ? [item, null, false] : [item.text, item.href, item.isDisabled]; + const [text = null, href = undefined, isDisabled] = + typeof item === 'string' ? [item, undefined, false] : [item.text, item.href, item.isDisabled]; return ( - {text || item} + {text} ); })} diff --git a/packages/react-core/src/components/ContextSelector/examples/ContextSelectorPlainText.tsx b/packages/react-core/src/components/ContextSelector/examples/ContextSelectorPlainText.tsx index 2a626280d19..47fe21b6c41 100644 --- a/packages/react-core/src/components/ContextSelector/examples/ContextSelectorPlainText.tsx +++ b/packages/react-core/src/components/ContextSelector/examples/ContextSelectorPlainText.tsx @@ -47,7 +47,7 @@ export const ContextSelectorPlainText: React.FunctionComponent = () => { setSearchValue(value); }; - const onSearchButtonClick = (_event: React.SyntheticEvent) => { + const onSearchButtonClick = () => { const filtered = searchValue === '' ? items @@ -72,8 +72,8 @@ export const ContextSelectorPlainText: React.FunctionComponent = () => { isText > {filteredItems.map((item, index) => { - const [text, href = null, isDisabled = false] = - typeof item === 'string' ? [item, null, false] : [item.text, item.href, item.isDisabled]; + const [text, href = undefined, isDisabled = false] = + typeof item === 'string' ? [item, undefined, false] : [item.text, item.href, item.isDisabled]; return ( {text} diff --git a/packages/react-core/src/components/ContextSelector/examples/ContextSelectorWithFooter.tsx b/packages/react-core/src/components/ContextSelector/examples/ContextSelectorWithFooter.tsx index 422f97d893d..926ec5f4c71 100644 --- a/packages/react-core/src/components/ContextSelector/examples/ContextSelectorWithFooter.tsx +++ b/packages/react-core/src/components/ContextSelector/examples/ContextSelectorWithFooter.tsx @@ -47,7 +47,7 @@ export const ContextSelectorWithFooter: React.FunctionComponent = () => { setSearchValue(value); }; - const onSearchButtonClick = (_event: React.SyntheticEvent) => { + const onSearchButtonClick = () => { const filtered = searchValue === '' ? items @@ -78,11 +78,11 @@ export const ContextSelectorWithFooter: React.FunctionComponent = () => { } > {filteredItems.map((item, index) => { - const [text = null, href = null, isDisabled] = - typeof item === 'string' ? [item, null, false] : [item.text, item.href, item.isDisabled]; + const [text = null, href = undefined, isDisabled] = + typeof item === 'string' ? [item, undefined, false] : [item.text, item.href, item.isDisabled]; return ( - {text || item} + {text} ); })} diff --git a/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposable.tsx b/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposable.tsx index 858fef07f64..2afbf31970c 100644 --- a/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposable.tsx +++ b/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposable.tsx @@ -16,8 +16,14 @@ import AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-d import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon'; import PficonSortCommonAscIcon from '@patternfly/react-icons/dist/esm/icons/pficon-sort-common-asc-icon'; +interface Option { + text: string; + selected: boolean; + isVisible: boolean; +} + export const DualListSelectorComposable: React.FunctionComponent = () => { - const [availableOptions, setAvailableOptions] = React.useState([ + const [availableOptions, setAvailableOptions] = React.useState([ { text: 'Apple', selected: false, isVisible: true }, { text: 'Banana', selected: false, isVisible: true }, { text: 'Pineapple', selected: false, isVisible: true }, @@ -26,7 +32,7 @@ export const DualListSelectorComposable: React.FunctionComponent = () => { { text: 'Peach', selected: false, isVisible: true }, { text: 'Strawberry', selected: false, isVisible: true } ]); - const [chosenOptions, setChosenOptions] = React.useState([]); + const [chosenOptions, setChosenOptions] = React.useState([]); const [availableFilter, setAvailableFilter] = React.useState(''); const [chosenFilter, setChosenFilter] = React.useState(''); diff --git a/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposableDragDrop.tsx b/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposableDragDrop.tsx index 0d5a0dadb5b..b3a4d8242b6 100644 --- a/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposableDragDrop.tsx +++ b/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposableDragDrop.tsx @@ -8,20 +8,14 @@ import { DualListSelectorList, DualListSelectorListItem, DualListSelectorControlsWrapper, - DualListSelectorControl + DualListSelectorControl, + DraggableItemPosition } from '@patternfly/react-core'; import AngleDoubleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-left-icon'; import AngleLeftIcon from '@patternfly/react-icons/dist/esm/icons/angle-left-icon'; import AngleDoubleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-double-right-icon'; import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon'; -interface SourceType { - droppableId: string; - index: number; -} - -interface DestinationType extends SourceType {} - export const DualListSelectorComposableDragDrop: React.FunctionComponent = () => { const [ignoreNextOptionSelect, setIgnoreNextOptionSelect] = React.useState(false); const [availableOptions, setAvailableOptions] = React.useState([ @@ -87,7 +81,7 @@ export const DualListSelectorComposableDragDrop: React.FunctionComponent = () => } }; - const onDrop = (source: SourceType, dest: DestinationType) => { + const onDrop = (source: DraggableItemPosition, dest?: DraggableItemPosition) => { if (dest) { const newList = [...chosenOptions]; const [removed] = newList.splice(source.index, 1); diff --git a/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposableTree.tsx b/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposableTree.tsx index 39ab922fc9d..c88ae3a46ee 100644 --- a/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposableTree.tsx +++ b/packages/react-core/src/components/DualListSelector/examples/DualListSelectorComposableTree.tsx @@ -52,7 +52,7 @@ export const DualListSelectorComposableTree: React.FunctionComponent { childrenIds = [...childrenIds, ...getDescendantLeafIds(child)]; }); @@ -77,7 +77,7 @@ export const DualListSelectorComposableTree: React.FunctionComponent { let leavesById = {}; - let allLeaves = []; + let allLeaves: string[] = []; let nodeTexts = {}; data.forEach(foodNode => { nodeTexts = { ...nodeTexts, ...buildTextById(foodNode) }; @@ -129,7 +129,7 @@ export const DualListSelectorComposableTree: React.FunctionComponent { - const [availableOptions, setAvailableOptions] = React.useState([ + const [availableOptions, setAvailableOptions] = React.useState([ { id: 'F1', text: 'Folder 1', @@ -38,7 +38,7 @@ export const DualListSelectorTreeExample: React.FunctionComponent = () => { } ]); - const [chosenOptions, setChosenOptions] = React.useState([ + const [chosenOptions, setChosenOptions] = React.useState([ { id: 'CF1', text: 'Chosen Folder 1', @@ -73,7 +73,10 @@ export const DualListSelectorTreeExample: React.FunctionComponent = () => { } ]); - const onListChange = (newAvailableOptions: React.ReactNode[], newChosenOptions: React.ReactNode[]) => { + const onListChange = ( + newAvailableOptions: DualListSelectorTreeItemData[], + newChosenOptions: DualListSelectorTreeItemData[] + ) => { setAvailableOptions(newAvailableOptions.sort()); setChosenOptions(newChosenOptions.sort()); }; @@ -84,7 +87,7 @@ export const DualListSelectorTreeExample: React.FunctionComponent = () => { isTree availableOptions={availableOptions} chosenOptions={chosenOptions} - onListChange={onListChange} + onListChange={onListChange as any} id="dual-list-selector-tree" /> ); diff --git a/packages/react-core/src/components/MenuToggle/MenuToggle.tsx b/packages/react-core/src/components/MenuToggle/MenuToggle.tsx index 8f7f01b7f55..d0a3d248147 100644 --- a/packages/react-core/src/components/MenuToggle/MenuToggle.tsx +++ b/packages/react-core/src/components/MenuToggle/MenuToggle.tsx @@ -87,7 +87,7 @@ export class MenuToggleBase extends React.Component { <> {icon && {icon}} {isTypeahead ? children : {children}} - {badge && {badge}} + {React.isValidElement(badge) && {badge}} {isTypeahead ? (