FIX: allows {{d-button}} to set a form attribute (#7056)

This attribute is used when a submit button is out of a form. It makes it explicit which form this button is submitting.

It's currently used in our login modal form.
This commit is contained in:
Joffrey JAFFEUX 2019-02-25 09:49:49 +01:00 committed by GitHub
parent 9faf058120
commit 919839fd97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 5 deletions

View File

@ -4,9 +4,12 @@ export default Ember.Component.extend({
// subclasses need this
layoutName: "components/d-button",
form: null,
tagName: "button",
classNameBindings: [":btn", "noText", "btnType"],
attributeBindings: [
"form",
"disabled",
"translatedTitle:title",
"translatedLabel:aria-label",

View File

@ -37,11 +37,13 @@
<div class="modal-footer">
{{#if canLoginLocal}}
{{d-button action=(action "login")
icon="unlock"
label=loginButtonLabel
disabled=loginDisabled
class='btn btn-large btn-primary'}}
{{d-button
action=(action "login")
form="login-form"
icon="unlock"
label=loginButtonLabel
disabled=loginDisabled
class='btn btn-large btn-primary'}}
{{#if showSignupLink}}
<button class="btn btn-large" id="new-account-link" {{action "createAccount"}}>

View File

@ -35,3 +35,11 @@ componentTest("text only button", {
assert.ok(this.$("button span.d-button-label").length, "it has the label");
}
});
componentTest("form attribute", {
template: '{{d-button form="login-form"}}',
test(assert) {
assert.ok(exists("button[form=login-form]"), "it has the form attribute");
}
});