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

ProgressIndicator: Finish conversion to mergeStyles #4595

Merged

Conversation

jordandrako
Copy link
Contributor

@jordandrako jordandrako commented Apr 18, 2018

Pull request checklist

Description of changes

  • Finish conversion of ProgressIndicator to mergeStyles
  • Add barHeight prop for customizing progress bar height. Defaults to 2.
  • Add animation to IRawStyleBase in order to use animation shorthand.

Focus areas to test

  • RTL animations
  • Performance. Look into using transforms instead of changing width based on progress percent.

@jordandrako jordandrako changed the title Merge styles/progress indicator part2 ProgressIndicator: Finish conversion to mergeStyles Apr 18, 2018
@jordandrako
Copy link
Contributor Author

@dzearing I'm getting weird behavior with mergeStyles injecting tons of <style> tags due to classNames being evaluated on every rerender, which is being triggered by the progressPercent prop.

How do I prevent classNames from being called when the percentComplete prop is updated?

image

@jordandrako jordandrako reopened this Apr 19, 2018
className: this.props.className,
barHeight: this.props.barHeight,
indeterminate: this.props.percentComplete === undefined ? true : false,
});
Copy link
Member

@dzearing dzearing Apr 19, 2018

Choose a reason for hiding this comment

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

caching this in the constructor means if classname or barheight change after render, we wouldn't update.

{
position: 'relative',
overflow: 'hidden',
height: `${barHeight}px`,
Copy link
Member

Choose a reason for hiding this comment

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

nit, this can just be barHeight

Copy link
Member

Choose a reason for hiding this comment

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

Scan for similar px based things.

{
position: 'absolute',
minWidth: '33%',
background: `linear-gradient(to right, transparent 0%, ${palette.themePrimary} 50%, transparent 100%)`,
Copy link
Member

Choose a reason for hiding this comment

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

this may not work in RTL. I'm not sure we will flip "to right" in the linear-gradient... Test in RTL, workaround is (getRTL() ? 'left': 'right')

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The gradient is symmetrical so it doesn't currently make a difference between to right or to left, but if it were to change it'd be nice to flip.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It does flip.
image

@dzearing
Copy link
Member

ugh. Looks like animation class names aren't getting expanded. Let me see if I can fix that in the serializer!

@jordandrako
Copy link
Contributor Author

@dzearing Are we good to merge this now?

Copy link
Collaborator

@oengusmacinog-zz oengusmacinog-zz left a comment

Choose a reason for hiding this comment

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

Looks solid to me! :)

@jordandrako jordandrako merged commit b9f6e84 into microsoft:master Apr 25, 2018
Markionium added a commit to Markionium/office-ui-fabric-react that referenced this pull request Apr 26, 2018
* master: (42 commits)
  Applying package updates.
  ProgressIndicator: Finish conversion to mergeStyles (microsoft#4595)
  Fix props validation for Breadcrumb (microsoft#4666)
  No unused vars part of ts (microsoft#4670)
  Picker/Autofill: fixes several minor bugs. (microsoft#4569)
  Fix Calendar component PREV/NEXT month, year, and "Go to today" handlers firing twice (microsoft#4662)
  Applying package updates.
  Merge styles order (microsoft#4664)
  Fabric component: revert class change and make it backwards compatible (microsoft#4671)
  Addressing Issue microsoft#3707 - OverflowSet: Add the ability to set aria-label (microsoft#4667)
  Fix input type for Tile ARIA label prop (microsoft#4668)
  Fix theme slots for DetailsList header colors (microsoft#4658)
  Applying package updates.
  Jolore/calendar updates (microsoft#4643)
  Remove wordWrap setting. (microsoft#4657)
  Pivot: convert to mergeStyles - part 1  (microsoft#4656)
  Use the `data-is-scrollable` attribute on the correct ScrollablePane div (microsoft#4602)
  Applying package updates.
  Remove unused iconClassName prop from Nav.types (microsoft#4634)
  Jest snapshots: classes in animations should autoexpand. (microsoft#4647)
  ...
Markionium added a commit to Markionium/office-ui-fabric-react that referenced this pull request Apr 26, 2018
* master: (34 commits)
  Applying package updates.
  ProgressIndicator: Finish conversion to mergeStyles (microsoft#4595)
  Fix props validation for Breadcrumb (microsoft#4666)
  No unused vars part of ts (microsoft#4670)
  Picker/Autofill: fixes several minor bugs. (microsoft#4569)
  Fix Calendar component PREV/NEXT month, year, and "Go to today" handlers firing twice (microsoft#4662)
  Applying package updates.
  Merge styles order (microsoft#4664)
  Fabric component: revert class change and make it backwards compatible (microsoft#4671)
  Addressing Issue microsoft#3707 - OverflowSet: Add the ability to set aria-label (microsoft#4667)
  Fix input type for Tile ARIA label prop (microsoft#4668)
  Fix theme slots for DetailsList header colors (microsoft#4658)
  Applying package updates.
  Jolore/calendar updates (microsoft#4643)
  Remove wordWrap setting. (microsoft#4657)
  Pivot: convert to mergeStyles - part 1  (microsoft#4656)
  Use the `data-is-scrollable` attribute on the correct ScrollablePane div (microsoft#4602)
  Applying package updates.
  Remove unused iconClassName prop from Nav.types (microsoft#4634)
  Jest snapshots: classes in animations should autoexpand. (microsoft#4647)
  ...
@microsoft microsoft locked as resolved and limited conversation to collaborators Aug 31, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants