UX: flat-btn should also respond to Enter (#15584)
This commit is contained in:
parent
8b3d50713d
commit
c758e2cdd1
|
@ -14,7 +14,15 @@ export default Component.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
keyDown(event) {
|
||||||
|
if (event.key === "Enter") {
|
||||||
|
this.action?.();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
click() {
|
click() {
|
||||||
return this.attrs.action();
|
this.action?.();
|
||||||
|
return false;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
import componentTest, {
|
||||||
|
setupRenderingTest,
|
||||||
|
} from "discourse/tests/helpers/component-test";
|
||||||
|
import { discourseModule } from "discourse/tests/helpers/qunit-helpers";
|
||||||
|
import { click, triggerKeyEvent } from "@ember/test-helpers";
|
||||||
|
import hbs from "htmlbars-inline-precompile";
|
||||||
|
|
||||||
|
discourseModule("Integration | Component | flat-button", function (hooks) {
|
||||||
|
setupRenderingTest(hooks);
|
||||||
|
|
||||||
|
componentTest("press Enter", {
|
||||||
|
template: hbs`{{flat-button action=action}}`,
|
||||||
|
|
||||||
|
beforeEach() {
|
||||||
|
this.set("foo", null);
|
||||||
|
this.set("action", () => {
|
||||||
|
this.set("foo", "bar");
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
async test(assert) {
|
||||||
|
await triggerKeyEvent(".btn-flat", "keydown", 32);
|
||||||
|
|
||||||
|
assert.strictEqual(this.foo, null);
|
||||||
|
|
||||||
|
await triggerKeyEvent(".btn-flat", "keydown", 13);
|
||||||
|
|
||||||
|
assert.strictEqual(this.foo, "bar");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
componentTest("click", {
|
||||||
|
template: hbs`{{flat-button action=action}}`,
|
||||||
|
|
||||||
|
beforeEach() {
|
||||||
|
this.set("foo", null);
|
||||||
|
this.set("action", () => {
|
||||||
|
this.set("foo", "bar");
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
async test(assert) {
|
||||||
|
await click(".btn-flat");
|
||||||
|
|
||||||
|
assert.strictEqual(this.foo, "bar");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue