Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Summary Detail Component #2232

Closed
wants to merge 8 commits into from

Conversation

aswinshenoy
Copy link
Collaborator

Fixes #2231

Additional description

Adds Summary Detail Component as per SLDS


CONTRIBUTOR checklist (do not remove)

Please complete for every pull request

  • First-time contributors should sign the Contributor License Agreement. It's a fancy way of saying that you are giving away your contribution to this project. If you haven't before, wait a few minutes and a bot will comment on this pull request with instructions.
  • npm run lint:fix has been run and linting passes.
  • Mocha, Jest (Storyshots), and components/component-docs.json CI tests pass (npm test).
  • Tests have been added for new props to prevent regressions in the future. See readme.
  • Review the appropriate Storybook stories. Open http://localhost:9001/.
  • Review tests are passing in the browser. Open http://localhost:8001/.
  • Review markup conforms to SLDS by looking at DOM snapshot strings.

REVIEWER checklist (do not remove)

  • TravisCI tests pass. This includes linting, Mocha, Jest, Storyshots, and components/component-docs.json tests.
  • Tests have been added for new props to prevent regressions in the future. See readme.
  • Review the appropriate Storybook stories. Open http://localhost:9001/.
  • The Accessibility panel of each Storybook story has 0 violations (aXe). Open http://localhost:9001/.
  • Review tests are passing in the browser. Open http://localhost:8001/.
  • Review markup conforms to SLDS by looking at DOM snapshot strings.
Required only if there are markup / UX changes
  • Add year-first date and commit SHA to last-slds-markup-review in package.json and push.
  • Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team.
  • Add year-first review date, and commit SHA, last-accessibility-review, to package.json and push.
  • While the contributor's branch is checked out, run npm run local-update within locally cloned site repo to confirm the site will function correctly at the next release.

@aswinshenoy aswinshenoy changed the title Add Summary Detail Add Summary Detail Component Aug 8, 2019
@interactivellama interactivellama temporarily deployed to design-system-react-co-pr-2232 August 9, 2019 20:57 Inactive
@interactivellama interactivellama added this to In progress in GSoC2019 Evaluation-3 via automation Aug 15, 2019
/**
* Text to be shown on badge on right of the title
*/
badgeText: PropTypes.string,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should take a whole badge component. Since we don't have one yet, please make it badge and pass HTML for now. that way folks can control the theme, etc.

Copy link
Contributor

@interactivellama interactivellama left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deployment looks good. A few prop change requests.

/**
* Title for the summary
*/
title: PropTypes.string,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title, string, and detail should all be node and string types

type="button"
className="slds-button slds-button_icon slds-m-right_x-small"
title={assistiveText.toggleButton}
onClick={() => this.setState({ isOpen: isNotOpen })}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should always prefer controlled components over uncontrolled in this library, so we need to add an onToggleDetail.

GSoC2019 Evaluation-3 automation moved this from In progress to Review in progress Aug 15, 2019
@interactivellama interactivellama temporarily deployed to design-system-react-co-pr-2232 August 17, 2019 20:31 Inactive
…react into map-component

# Conflicts:
#	components/index.js
#	components/site-stories.js
@interactivellama interactivellama temporarily deployed to design-system-react-co-pr-2232 August 22, 2019 11:20 Inactive
@interactivellama interactivellama temporarily deployed to design-system-react-co-pr-2232 August 22, 2019 12:09 Inactive
className="slds-summary-detail__content"
id={`${this.getId()}-details`}
>
<p>{this.props.detail}</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is often going to more than one paragraph. Consumers should have to add their own paragraph tags.

constructor(props) {
super(props);
this.state = {
isOpen: this.props.isOpen,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sets initial control from props.isOpen but the render is never updated. If you put the open state in the example, you will notice that it doesn't get updated.

If the user sets the isOpen prop, then it's value should be used in render.

Other components do this with an getIsOpen function, https://github.com/salesforce/design-system-react/blob/master/components/popover/popover.jsx#L288

this also means you can't set the default to closed, because then it will have a value of false and be defined.

@aswinshenoy
Copy link
Collaborator Author

Sorry on taking out quite some time out, as I had to catch up with my academics badly. I will work on this asap. :)

@aswinshenoy
Copy link
Collaborator Author

I have made the suggested changes, please review @interactivellama

@stale
Copy link

stale bot commented Dec 26, 2019

This issue has been automatically marked as stale, because it has not had recent activity. It will be closed if no further activity occurs. Maintainers are responsible for tech debt and project health. This is most likely a new components or component feature request. Please submit a pull request for or request feedback on this feature. Thank you.

@stale stale bot added the stale label Dec 26, 2019
@stale stale bot closed this Jan 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Summary Detail Component
2 participants