All files / addon/components/progress-bars -bar.js

88.89% Statements 8/9
100% Branches 0/0
66.67% Functions 2/3
88.89% Lines 8/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                      2x 2x 2x 2x 2x 2x 2x       2x            
import Component from '@ember/component';
import layout from '../../templates/components/progress-bars/-bar';
 
export default Component.extend({
  layout,
  classNames: ['progress-bar'],
  attributeBindings: [
    'role',
    'currentValue:aria-valuenow',
    'minimumValue:aria-valuemin',
    'maximumValue:aria-valuemax'
  ],
  role: 'progressbar',
 
  minimumValue: 0,
  maximumValue: 100,
  currentValue: 100,
 
  updateStyles() {
    const max = this.get('maximumValue');
    const min = this.get('minimumValue');
    const total = max - min;
    const current = this.get('currentValue');
    const completed = current - min;
    const percentCompleted = Math.floor(completed / total * 100);
    this.element.style.width = `${percentCompleted}%`;
  },
 
  didInsertElement() {
    this.updateStyles();
  },
  didUpdateAttrs() {
    this.updateStyles();
  }
});