Merge pull request #5691 from acburdine/spin-fix

Fix auto width and height of spin button
This commit is contained in:
Hannah Wolfe 2015-08-24 12:07:39 +01:00
commit 54f8c8e65f
2 changed files with 14 additions and 18 deletions

View File

@ -4,6 +4,7 @@ export default Ember.Component.extend({
tagName: 'button',
buttonText: '',
submitting: false,
showSpinner: false,
autoWidth: true,
// Disable Button when isLoading equals true
@ -20,19 +21,14 @@ export default Ember.Component.extend({
return true;
},
setSize: function () {
if (!this.get('submitting') && this.get('autoWidth')) {
// this exists so that the spinner doesn't change the size of the button
this.$().width(this.$().width()); // sets width of button
this.$().height(this.$().height()); // sets height of button
}
},
width: Ember.observer('buttonText', 'autoWidth', function () {
this.setSize();
}),
didInsertElement: function () {
this.setSize();
setSize: Ember.observer('submitting', function () {
if (this.get('submitting') && this.get('autoWidth')) {
this.$().width(this.$().width());
this.$().height(this.$().height());
} else {
this.$().width('');
this.$().height('');
}
this.set('showSpinner', this.get('submitting'));
})
});

View File

@ -1,9 +1,9 @@
{{#unless submitting}}
{{#if showSpinner}}
<span class="spinner"></span>
{{else}}
{{#if buttonText}}
{{buttonText}}
{{else}}
{{{yield}}}
{{/if}}
{{else}}
<span class="spinner"></span>
{{/unless}}
{{/if}}