Skip to content

Convert Dropdown to ES6 class #1556

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

Merged

Conversation

interactivellama
Copy link
Contributor

@interactivellama interactivellama commented Sep 17, 2018

Prepare the way for #844 and #1089

Additional description

This removes the last mixin from non-deprecated components. (menu-picklist still has one, but Combobox should be used now instead of that).

In order to do this I just copied, parts of the mix-in into menu-dropdown (thus created duplicate code. This PR also breaks apart the menu navigating mixin so part of it can be used if so desired by #1089.


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/.
  • 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.

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.
  • 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.


MenuDropdown.contextTypes = {
iconPath: PropTypes.string,
};

MenuDropdown.propTypes = propTypes;
MenuDropdown.defaultProps = defaultProps;
Copy link
Contributor

Choose a reason for hiding this comment

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

Why do we define these above the class then reference those variables here, rather than define them inline here only once? Is that just a DSR standard?

Copy link
Contributor Author

@interactivellama interactivellama Sep 17, 2018

Choose a reason for hiding this comment

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

Yeah, artifact of history--but also from my point of view, even though we have a website, there are still engineers who don't trust docs and look at the source code for prop types, so putting them first helps their dev experience.

Copy link
Contributor

@kevinparkerson kevinparkerson left a comment

Choose a reason for hiding this comment

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

From what I can tell this seems just fine. My only comment is more just a question in regards to formatting vs anything that needs correction.

@interactivellama interactivellama merged commit a5dc28e into salesforce:master Sep 17, 2018
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.

2 participants