Skip to content

Commit 6299343

Browse files
committed
react templates changes
1 parent ec2125d commit 6299343

18 files changed

+61
-70
lines changed

packages/react-templates/src/components/Dropdown/SimpleDropdown.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import { forwardRef, useState } from 'react';
22
import {
33
Dropdown,
44
DropdownItem,
@@ -69,7 +69,7 @@ const SimpleDropdownBase: React.FunctionComponent<SimpleDropdownProps> = ({
6969
shouldFocusToggleOnSelect,
7070
...props
7171
}: SimpleDropdownProps) => {
72-
const [isOpen, setIsOpen] = React.useState(false);
72+
const [isOpen, setIsOpen] = useState(false);
7373

7474
const onSelect = (event: React.MouseEvent<Element, MouseEvent>, value: string | number) => {
7575
onSelectProp && onSelectProp(event, value);
@@ -132,7 +132,7 @@ const SimpleDropdownBase: React.FunctionComponent<SimpleDropdownProps> = ({
132132
);
133133
};
134134

135-
export const SimpleDropdown = React.forwardRef((props: SimpleDropdownProps, ref: React.Ref<any>) => (
135+
export const SimpleDropdown = forwardRef((props: SimpleDropdownProps, ref: React.Ref<any>) => (
136136
<SimpleDropdownBase {...props} innerRef={ref} />
137137
));
138138

packages/react-templates/src/components/Dropdown/__tests__/SimpleDropdown.test.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as React from 'react';
21
import { render, screen } from '@testing-library/react';
32
import userEvent from '@testing-library/user-event';
43
import { SimpleDropdown } from '../SimpleDropdown';

packages/react-templates/src/components/Dropdown/examples/DropdownTemplates.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Note: Templates live in their own package at [@patternfly/react-templates](https
1111

1212
For custom use cases, please see the dropdown component suite from [@patternfly/react-core](https://www.npmjs.com/package/@patternfly/react-core).
1313

14+
import { Fragment, useState } from 'react';
1415
import { Checkbox, Flex, FlexItem } from '@patternfly/react-core';
1516
import { SimpleDropdown } from '@patternfly/react-templates';
1617
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';

packages/react-templates/src/components/Dropdown/examples/SimpleDropdownExample.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import React from 'react';
1+
import { Fragment, useState } from 'react';
22
import { Checkbox, Flex, FlexItem } from '@patternfly/react-core';
33
import { SimpleDropdown, SimpleDropdownItem } from '@patternfly/react-templates';
44
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
55

66
export const SimpleDropdownExample: React.FunctionComponent = () => {
7-
const [isDisabled, setIsDisabled] = React.useState(false);
7+
const [isDisabled, setIsDisabled] = useState(false);
88

99
const items: SimpleDropdownItem[] = [
1010
// eslint-disable-next-line no-console
@@ -18,7 +18,7 @@ export const SimpleDropdownExample: React.FunctionComponent = () => {
1818
];
1919

2020
return (
21-
<React.Fragment>
21+
<Fragment>
2222
<Checkbox
2323
id="simple-example-disabled-toggle"
2424
label="Disable simple dropdown toggles"
@@ -48,6 +48,6 @@ export const SimpleDropdownExample: React.FunctionComponent = () => {
4848
/>
4949
</FlexItem>
5050
</Flex>
51-
</React.Fragment>
51+
</Fragment>
5252
);
5353
};

packages/react-templates/src/components/Select/CheckboxSelect.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import { forwardRef, useEffect, useState } from 'react';
22
import { Badge } from '@patternfly/react-core/dist/esm/components/Badge';
33
import { MenuToggle, MenuToggleElement, MenuToggleProps } from '@patternfly/react-core/dist/esm/components/MenuToggle';
44
import {
@@ -46,10 +46,10 @@ const CheckboxSelectBase: React.FunctionComponent<CheckboxSelectProps> = ({
4646
toggleProps,
4747
...props
4848
}: CheckboxSelectProps) => {
49-
const [isOpen, setIsOpen] = React.useState(false);
50-
const [selected, setSelected] = React.useState<string[]>([]);
49+
const [isOpen, setIsOpen] = useState(false);
50+
const [selected, setSelected] = useState<string[]>([]);
5151

52-
React.useEffect(() => {
52+
useEffect(() => {
5353
const selectedOptions = initialOptions?.filter((option) => option.selected);
5454
setSelected(selectedOptions?.map((selectedOption) => String(selectedOption.value)) ?? []);
5555
}, [initialOptions]);
@@ -122,6 +122,6 @@ const CheckboxSelectBase: React.FunctionComponent<CheckboxSelectProps> = ({
122122
);
123123
};
124124

125-
export const CheckboxSelect = React.forwardRef((props: CheckboxSelectProps, ref: React.Ref<any>) => (
125+
export const CheckboxSelect = forwardRef((props: CheckboxSelectProps, ref: React.Ref<any>) => (
126126
<CheckboxSelectBase {...props} innerRef={ref} />
127127
));

packages/react-templates/src/components/Select/MultiTypeaheadSelect.tsx

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import { forwardRef, useEffect, useRef, useState } from 'react';
22
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
33
import { Label, LabelGroup } from '@patternfly/react-core/dist/esm/components/Label';
44
import { MenuToggle, MenuToggleElement, MenuToggleProps } from '@patternfly/react-core/dist/esm/components/MenuToggle';
@@ -62,15 +62,15 @@ export const MultiTypeaheadSelectBase: React.FunctionComponent<MultiTypeaheadSel
6262
toggleProps,
6363
...props
6464
}: MultiTypeaheadSelectProps) => {
65-
const [isOpen, setIsOpen] = React.useState(false);
66-
const [selected, setSelected] = React.useState<(string | number)[]>(
65+
const [isOpen, setIsOpen] = useState(false);
66+
const [selected, setSelected] = useState<(string | number)[]>(
6767
(initialOptions?.filter((o) => o.selected) ?? []).map((o) => o.value)
6868
);
69-
const [inputValue, setInputValue] = React.useState<string>();
70-
const [selectOptions, setSelectOptions] = React.useState<MultiTypeaheadSelectOption[]>(initialOptions);
71-
const [focusedItemIndex, setFocusedItemIndex] = React.useState<number | null>(null);
72-
const [activeItemId, setActiveItemId] = React.useState<string | null>(null);
73-
const textInputRef = React.useRef<HTMLInputElement>(undefined);
69+
const [inputValue, setInputValue] = useState<string>();
70+
const [selectOptions, setSelectOptions] = useState<MultiTypeaheadSelectOption[]>(initialOptions);
71+
const [focusedItemIndex, setFocusedItemIndex] = useState<number | null>(null);
72+
const [activeItemId, setActiveItemId] = useState<string | null>(null);
73+
const textInputRef = useRef<HTMLInputElement>(undefined);
7474

7575
const NO_RESULTS = 'no results';
7676

@@ -79,7 +79,7 @@ export const MultiTypeaheadSelectBase: React.FunctionComponent<MultiTypeaheadSel
7979
setIsOpen(true);
8080
};
8181

82-
React.useEffect(() => {
82+
useEffect(() => {
8383
let newSelectOptions: MultiTypeaheadSelectOption[] = initialOptions;
8484

8585
// Filter menu items based on the text input value when one exists
@@ -108,10 +108,7 @@ export const MultiTypeaheadSelectBase: React.FunctionComponent<MultiTypeaheadSel
108108
// eslint-disable-next-line react-hooks/exhaustive-deps
109109
}, [inputValue, initialOptions]);
110110

111-
React.useEffect(
112-
() => setSelected((initialOptions?.filter((o) => o.selected) ?? []).map((o) => o.value)),
113-
[initialOptions]
114-
);
111+
useEffect(() => setSelected((initialOptions?.filter((o) => o.selected) ?? []).map((o) => o.value)), [initialOptions]);
115112

116113
const setActiveAndFocusedItem = (itemIndex: number) => {
117114
setFocusedItemIndex(itemIndex);
@@ -340,7 +337,7 @@ export const MultiTypeaheadSelectBase: React.FunctionComponent<MultiTypeaheadSel
340337

341338
MultiTypeaheadSelectBase.displayName = 'MultiTypeaheadSelectBase';
342339

343-
export const MultiTypeaheadSelect = React.forwardRef((props: MultiTypeaheadSelectProps, ref: React.Ref<any>) => (
340+
export const MultiTypeaheadSelect = forwardRef((props: MultiTypeaheadSelectProps, ref: React.Ref<any>) => (
344341
<MultiTypeaheadSelectBase {...props} innerRef={ref} />
345342
));
346343

packages/react-templates/src/components/Select/SimpleSelect.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import { forwardRef, useEffect, useState } from 'react';
22
import {
33
Select,
44
SelectList,
@@ -48,10 +48,10 @@ const SimpleSelectBase: React.FunctionComponent<SimpleSelectProps> = ({
4848
placeholder = 'Select a value',
4949
...props
5050
}: SimpleSelectProps) => {
51-
const [isOpen, setIsOpen] = React.useState(false);
52-
const [selected, setSelected] = React.useState<SimpleSelectOption | undefined>();
51+
const [isOpen, setIsOpen] = useState(false);
52+
const [selected, setSelected] = useState<SimpleSelectOption | undefined>();
5353

54-
React.useEffect(() => {
54+
useEffect(() => {
5555
const selectedOption = initialOptions?.find((option) => option.selected);
5656
setSelected(selectedOption);
5757
}, [initialOptions]);
@@ -114,7 +114,7 @@ const SimpleSelectBase: React.FunctionComponent<SimpleSelectProps> = ({
114114
);
115115
};
116116

117-
export const SimpleSelect = React.forwardRef((props: SimpleSelectProps, ref: React.Ref<any>) => (
117+
export const SimpleSelect = forwardRef((props: SimpleSelectProps, ref: React.Ref<any>) => (
118118
<SimpleSelectBase {...props} innerRef={ref} />
119119
));
120120

packages/react-templates/src/components/Select/TypeaheadSelect.tsx

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import { forwardRef, useEffect, useRef, useState } from 'react';
22
import { Button } from '@patternfly/react-core/dist/esm/components/Button';
33
import { MenuToggle, MenuToggleElement, MenuToggleProps } from '@patternfly/react-core/dist/esm/components/MenuToggle';
44
import {
@@ -79,20 +79,18 @@ export const TypeaheadSelectBase: React.FunctionComponent<TypeaheadSelectProps>
7979
toggleProps,
8080
...props
8181
}: TypeaheadSelectProps) => {
82-
const [isOpen, setIsOpen] = React.useState(false);
83-
const [selected, setSelected] = React.useState<string>(String(initialOptions.find((o) => o.selected)?.content ?? ''));
84-
const [inputValue, setInputValue] = React.useState<string>(
85-
String(initialOptions.find((o) => o.selected)?.content ?? '')
86-
);
87-
const [filterValue, setFilterValue] = React.useState<string>('');
88-
const [selectOptions, setSelectOptions] = React.useState<TypeaheadSelectOption[]>(initialOptions);
89-
const [focusedItemIndex, setFocusedItemIndex] = React.useState<number | null>(null);
90-
const [activeItemId, setActiveItemId] = React.useState<string | null>(null);
91-
const textInputRef = React.useRef<HTMLInputElement>(undefined);
82+
const [isOpen, setIsOpen] = useState(false);
83+
const [selected, setSelected] = useState<string>(String(initialOptions.find((o) => o.selected)?.content ?? ''));
84+
const [inputValue, setInputValue] = useState<string>(String(initialOptions.find((o) => o.selected)?.content ?? ''));
85+
const [filterValue, setFilterValue] = useState<string>('');
86+
const [selectOptions, setSelectOptions] = useState<TypeaheadSelectOption[]>(initialOptions);
87+
const [focusedItemIndex, setFocusedItemIndex] = useState<number | null>(null);
88+
const [activeItemId, setActiveItemId] = useState<string | null>(null);
89+
const textInputRef = useRef<HTMLInputElement>(undefined);
9290

9391
const NO_RESULTS = 'no results';
9492

95-
React.useEffect(() => {
93+
useEffect(() => {
9694
let newSelectOptions: TypeaheadSelectOption[] = initialOptions;
9795

9896
// Filter menu items based on the text input value when one exists
@@ -153,7 +151,7 @@ export const TypeaheadSelectBase: React.FunctionComponent<TypeaheadSelectProps>
153151
noOptionsAvailableMessage
154152
]);
155153

156-
React.useEffect(() => {
154+
useEffect(() => {
157155
// If the selected option changed and the current input value is the previously selected item, update the displayed value.
158156
const selectedOption = initialOptions.find((o) => o.selected);
159157
if (inputValue === selected && selectedOption?.value !== selected) {
@@ -376,7 +374,7 @@ export const TypeaheadSelectBase: React.FunctionComponent<TypeaheadSelectProps>
376374
};
377375
TypeaheadSelectBase.displayName = 'TypeaheadSelectBase';
378376

379-
export const TypeaheadSelect = React.forwardRef((props: TypeaheadSelectProps, ref: React.Ref<any>) => (
377+
export const TypeaheadSelect = forwardRef((props: TypeaheadSelectProps, ref: React.Ref<any>) => (
380378
<TypeaheadSelectBase {...props} innerRef={ref} />
381379
));
382380

packages/react-templates/src/components/Select/__tests__/CheckboxSelect.test.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as React from 'react';
21
import { render, screen, waitForElementToBeRemoved } from '@testing-library/react';
32
import userEvent from '@testing-library/user-event';
43
import { CheckboxSelect } from '../CheckboxSelect';

packages/react-templates/src/components/Select/__tests__/CheckboxSelectSnapshots.test.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import * as React from 'react';
21
import { render, screen } from '@testing-library/react';
32
import userEvent from '@testing-library/user-event';
43
import { CheckboxSelect } from '../CheckboxSelect';

0 commit comments

Comments
 (0)