Skip to content

Commit 10d6f4b

Browse files
authored
Merge pull request #346 from jmmorganMSTS/fix-onKeydown
Support Power Select's onKeydown argument
2 parents f825000 + f084110 commit 10d6f4b

File tree

4 files changed

+32
-6
lines changed

4 files changed

+32
-6
lines changed

addon/components/bs-form/element/control/power-select-multiple.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
@onClose={{@onClose}}
3232
@onFocus={{@onFocus}}
3333
@onInput={{@onInput}}
34-
@onKeyDown={{@onKeyDown}}
34+
@onKeydown={{@onKeydown}}
3535
@onOpen={{@onOpen}}
3636
@options={{@options}}
3737
@optionsComponent={{@optionsComponent}}

addon/components/bs-form/element/control/power-select.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
@onClose={{@onClose}}
3232
@onFocus={{@onFocus}}
3333
@onInput={{@onInput}}
34-
@onKeyDown={{@onKeyDown}}
34+
@onKeydown={{@onKeydown}}
3535
@onOpen={{@onOpen}}
3636
@options={{@options}}
3737
@optionsComponent={{@optionsComponent}}

tests/integration/components/bs-form/element/control/power-select-multiple-test.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import { module, test } from 'qunit';
22
import { setupRenderingTest } from 'ember-qunit';
3-
import { render, click, find, findAll } from '@ember/test-helpers';
3+
import {
4+
render,
5+
click,
6+
find,
7+
findAll,
8+
triggerKeyEvent,
9+
} from '@ember/test-helpers';
410
import hbs from 'htmlbars-inline-precompile';
511
import { clickTrigger } from 'ember-power-select/test-support/helpers';
612

@@ -132,13 +138,20 @@ module(
132138
});
133139

134140
test('it passes power-select @options', async function (assert) {
141+
let lastKeyPress = null;
142+
this.set('onKeydown', function (select, event) {
143+
lastKeyPress = event.keyCode;
144+
return true;
145+
});
135146
await render(hbs`
136147
<BsForm as |form|>
137148
<form.element @controlType="power-select-multiple" @property="prop2" @options={{this.options}} @placeholder="something" as |el|>
138-
<el.control @searchEnabled={{false}} @triggerClass="form-control" />
149+
<el.control @onKeydown={{this.onKeydown}} @searchEnabled={{false}} @triggerClass="form-control" />
139150
</form.element>
140151
</BsForm>`);
141152
assert.dom('.form-control').exists();
153+
await triggerKeyEvent('.form-control', 'keydown', 'X');
154+
assert.strictEqual(lastKeyPress, 88);
142155
await clickTrigger();
143156
assert.dom('.ember-power-select-search-input').doesNotExist();
144157
});

tests/integration/components/bs-form/element/control/power-select-test.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
import { module, test } from 'qunit';
22
import { setupRenderingTest } from 'ember-qunit';
3-
import { render, click, find, findAll } from '@ember/test-helpers';
3+
import {
4+
render,
5+
click,
6+
find,
7+
findAll,
8+
triggerKeyEvent,
9+
} from '@ember/test-helpers';
410
import hbs from 'htmlbars-inline-precompile';
511
import { clickTrigger } from 'ember-power-select/test-support/helpers';
612

@@ -112,13 +118,20 @@ module(
112118
});
113119

114120
test('it passes power-select options', async function (assert) {
121+
let lastKeyPress = null;
122+
this.set('onKeydown', function (select, event) {
123+
lastKeyPress = event.keyCode;
124+
return true;
125+
});
115126
await render(hbs`
116127
<BsForm as |form|>
117128
<form.element @controlType="power-select" @property="prop2" @options={{this.options}} @placeholder="something" as |el|>
118-
<el.control @searchEnabled={{false}} @triggerClass="form-control" />
129+
<el.control @onKeydown={{this.onKeydown}} @searchEnabled={{false}} @triggerClass="form-control" />
119130
</form.element>
120131
</BsForm>`);
121132
assert.dom('.form-control').exists();
133+
await triggerKeyEvent('.form-control', 'keydown', 'X');
134+
assert.strictEqual(lastKeyPress, 88);
122135
await clickTrigger();
123136
assert.dom('.ember-power-select-search-input').doesNotExist();
124137
});

0 commit comments

Comments
 (0)