From f92a08643f268e078b51b032e51ff44cb3aa66a2 Mon Sep 17 00:00:00 2001 From: Ian Bolton Date: Fri, 1 Mar 2019 14:57:55 -0500 Subject: [PATCH] fix(nav): Fix bug where previous was expanding on select --- .../react-core/src/components/Nav/Nav.js | 4 ++-- .../src/components/Nav/NavExpandable.d.ts | 1 + .../src/components/Nav/NavExpandable.js | 24 ++++++++++++------- .../src/components/Nav/NavToggle.js | 19 ++++++++------- .../Nav/__snapshots__/Nav.test.js.snap | 20 ++++++++++------ .../Nav/examples/NavExpandableList.js | 2 +- .../Nav/examples/NavExpandableTitlesList.js | 10 ++++++-- 7 files changed, 51 insertions(+), 29 deletions(-) diff --git a/packages/patternfly-4/react-core/src/components/Nav/Nav.js b/packages/patternfly-4/react-core/src/components/Nav/Nav.js index 4519cae8bcb..dddf78ba612 100644 --- a/packages/patternfly-4/react-core/src/components/Nav/Nav.js +++ b/packages/patternfly-4/react-core/src/components/Nav/Nav.js @@ -42,11 +42,11 @@ class Nav extends React.Component { } // Callback from NavExpandable - onToggle(event, groupId, isExpanded) { + onToggle(event, groupId, toggleValue) { this.props.onToggle({ event, groupId, - isExpanded + toggleValue }); } diff --git a/packages/patternfly-4/react-core/src/components/Nav/NavExpandable.d.ts b/packages/patternfly-4/react-core/src/components/Nav/NavExpandable.d.ts index fe2d0cd0970..c521dee2927 100644 --- a/packages/patternfly-4/react-core/src/components/Nav/NavExpandable.d.ts +++ b/packages/patternfly-4/react-core/src/components/Nav/NavExpandable.d.ts @@ -3,6 +3,7 @@ import { FunctionComponent, HTMLProps, ReactNode } from 'react'; export interface NavExpandableProps extends HTMLProps { title: string; srText?: string; + defaultExpanded?: boolean; isExpanded?: boolean; children?: ReactNode; className?: string; diff --git a/packages/patternfly-4/react-core/src/components/Nav/NavExpandable.js b/packages/patternfly-4/react-core/src/components/Nav/NavExpandable.js index 7c0aa872132..b37b4da9f39 100644 --- a/packages/patternfly-4/react-core/src/components/Nav/NavExpandable.js +++ b/packages/patternfly-4/react-core/src/components/Nav/NavExpandable.js @@ -14,6 +14,8 @@ const propTypes = { /** If defined, screen readers will read this text instead of the list title */ srText: PropTypes.string, /** If true will default the list to be expanded */ + defaultExpanded: PropTypes.bool, + /** Boolean to programatically expand or collapse section */ isExpanded: PropTypes.bool, /** Anything that can be rendered inside of the expandable list */ children: PropTypes.node, @@ -31,7 +33,8 @@ const propTypes = { const defaultProps = { srText: '', - isExpanded: false, + defaultExpanded: false, + isExpanded: null, children: null, className: '', groupId: null, @@ -41,13 +44,13 @@ const defaultProps = { class NavExpandable extends React.Component { id = this.props.id || getUniqueId(); - render() { const { id, title, srText, - isExpanded: defaultExpanded, + isExpanded, + defaultExpanded, children, className, groupId, @@ -58,12 +61,17 @@ class NavExpandable extends React.Component { return ( {context => ( - - {({ value: isExpanded, toggle }) => ( + + {({ toggleValue, toggle }) => (
  • e.preventDefault()} onMouseDown={e => e.preventDefault()} - aria-expanded={isExpanded} + aria-expanded={toggleValue} > {title} -