Skip to content

Commit

Permalink
fix(select): Remove animation causing the bottom line to flash (#2612)
Browse files Browse the repository at this point in the history
  • Loading branch information
williamernest committed Apr 20, 2018
1 parent 2703580 commit 639387e
Show file tree
Hide file tree
Showing 5 changed files with 2 additions and 45 deletions.
5 changes: 0 additions & 5 deletions packages/mdc-select/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@ export const cssClasses = {
BOX: 'mdc-select--box',
DISABLED: 'mdc-select--disabled',
ROOT: 'mdc-select',
IS_CHANGING: 'mdc-select--is-changing',
};

export const numbers = {
FLOAT_NATIVE_CONTROL_TRANSITION_TIME_MS: 125,
};

export const strings = {
Expand Down
14 changes: 1 addition & 13 deletions packages/mdc-select/foundation.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,13 @@
*/

import {MDCFoundation} from '@material/base/index';
import {cssClasses, numbers, strings} from './constants';
import {cssClasses, strings} from './constants';

export default class MDCSelectFoundation extends MDCFoundation {
static get cssClasses() {
return cssClasses;
}

static get numbers() {
return numbers;
}

static get strings() {
return strings;
}
Expand Down Expand Up @@ -68,16 +64,8 @@ export default class MDCSelectFoundation extends MDCFoundation {
}

setSelectedIndex(index) {
const {IS_CHANGING} = MDCSelectFoundation.cssClasses;
const {FLOAT_NATIVE_CONTROL_TRANSITION_TIME_MS} = MDCSelectFoundation.numbers;

this.adapter_.setSelectedIndex(index);
this.adapter_.addClass(IS_CHANGING);
this.floatLabelWithValue_();

setTimeout(() => {
this.adapter_.removeClass(IS_CHANGING);
}, FLOAT_NATIVE_CONTROL_TRANSITION_TIME_MS);
}

setValue(value) {
Expand Down
7 changes: 0 additions & 7 deletions packages/mdc-select/mdc-select.scss
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,6 @@
}
}

// needed to make this a keyframe animation because having translateY in the
// not-selected state caused an unwanted scrolling behavior to occur
.mdc-select--is-changing .mdc-select__native-control {
animation: mdc-select-float-native-control 125ms 1;
animation-timing-function: $mdc-animation-deceleration-curve-timing-function;
}

.mdc-select--box {
@include mdc-select-container-fill-color(rgba(black, .04));
@include mdc-ripple-surface;
Expand Down
6 changes: 0 additions & 6 deletions test/unit/mdc-select/foundation-events.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
*/

import td from 'testdouble';
import lolex from 'lolex';

import {setupFoundationTest} from '../helpers/setup';
import {captureHandlers} from '../helpers/foundation';

Expand Down Expand Up @@ -62,16 +60,12 @@ test('on blur with value floats label', () => {
});

test('on select value change with option value', () => {
const clock = lolex.install();
const {mockAdapter, handlers} = setupTest();
td.when(mockAdapter.getSelectedIndex()).thenReturn(1);
td.when(mockAdapter.getValue()).thenReturn('abc');
td.when(mockAdapter.setSelectedIndex(1)).thenReturn();
handlers.change({
target: {value: 'abc'},
});
td.verify(mockAdapter.addClass(MDCSelectFoundation.cssClasses.IS_CHANGING), {times: 1});
td.verify(mockAdapter.floatLabel(true), {times: 1});
clock.tick(MDCSelectFoundation.numbers.FLOAT_NATIVE_CONTROL_TRANSITION_TIME_MS);
td.verify(mockAdapter.removeClass(MDCSelectFoundation.cssClasses.IS_CHANGING), {times: 1});
});
15 changes: 1 addition & 14 deletions test/unit/mdc-select/foundation.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,20 @@
*/

import {assert} from 'chai';
import lolex from 'lolex';
import td from 'testdouble';

import {setupFoundationTest} from '../helpers/setup';
import {verifyDefaultAdapter} from '../helpers/foundation';

import MDCSelectFoundation from '../../../packages/mdc-select/foundation';
import {cssClasses, numbers, strings} from '../../../packages/mdc-select/constants';
import {cssClasses, strings} from '../../../packages/mdc-select/constants';

suite('MDCSelectFoundation');

test('exports cssClasses', () => {
assert.deepEqual(MDCSelectFoundation.cssClasses, cssClasses);
});

test('exports numbers', () => {
assert.deepEqual(MDCSelectFoundation.numbers, numbers);
});

test('exports strings', () => {
assert.deepEqual(MDCSelectFoundation.strings, strings);
});
Expand Down Expand Up @@ -89,14 +84,6 @@ test('#setSelectedIndex calls adapter.setSelectedIndex', () => {
td.verify(mockAdapter.setSelectedIndex(1));
});

test(`#setSelectedIndex adds then removes ${MDCSelectFoundation.cssClasses.IS_CHANGING}`, () => {
const {mockAdapter, foundation} = setupTest();
const clock = lolex.install();
foundation.setSelectedIndex(1);
td.verify(mockAdapter.addClass(MDCSelectFoundation.cssClasses.IS_CHANGING));
clock.tick(MDCSelectFoundation.numbers.FLOAT_NATIVE_CONTROL_TRANSITION_TIME_MS);
td.verify(mockAdapter.removeClass(MDCSelectFoundation.cssClasses.IS_CHANGING));
});

test('#setSelectedIndex floats label', () => {
const {mockAdapter, foundation} = setupTest();
Expand Down

0 comments on commit 639387e

Please sign in to comment.