From c959dccc4d14a6ac9a461fe305979ecdffe37189 Mon Sep 17 00:00:00 2001 From: Andy BeeSee Date: Thu, 5 May 2016 06:20:12 -0400 Subject: [PATCH] md-button class bindings (#365) * Added fab and mini classname bindings to paper-button, defined defaults for them and iconButton, raised properties * style fix * Added tests for paper-button to ensure that md-mini and md-fab classes when their respective properties are defined * added fab and mini to docs * Update md-button-test to check that when mini=true both md-fab and md-mini classes are present * updated paper-button so that when mini=true it will set md-fab and md-mini * updated dummy app to reflect mini=true changes to the paper-button --- addon/components/paper-button.js | 8 +++++++- tests/dummy/app/templates/button.hbs | 4 ++++ .../components/paper-button-test.js | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/addon/components/paper-button.js b/addon/components/paper-button.js index b8ec697d4..7dda9c9eb 100644 --- a/addon/components/paper-button.js +++ b/addon/components/paper-button.js @@ -11,9 +11,15 @@ export default BaseFocusable.extend(RippleMixin, ProxiableMixin, ColorMixin, { type: 'button', tagName: 'button', classNames: ['paper-button', 'md-default-theme', 'md-button'], + raised: false, + iconButton: false, + fab: computed.reads('mini'), // circular button + mini: false, classNameBindings: [ 'raised:md-raised', - 'iconButton:md-icon-button' + 'iconButton:md-icon-button', + 'fab:md-fab', + 'mini:md-mini' ], // Ripple Overrides diff --git a/tests/dummy/app/templates/button.hbs b/tests/dummy/app/templates/button.hbs index 2d1b3d55f..ab96ba40c 100644 --- a/tests/dummy/app/templates/button.hbs +++ b/tests/dummy/app/templates/button.hbs @@ -27,6 +27,8 @@ {{#paper-button raised=true primary=true onClick=(action "targetButton") bubbles=false}}Button no bubble{{/paper-button}}

+ {{#paper-button raised=true fab=true}}Fab{{/paper-button}} + {{#paper-button raised=true mini=true}}Mini{{/paper-button}} {{#paper-button iconButton=true}}{{paper-icon "accessibility"}}{{/paper-button}}

{{/custom-button}} @@ -53,6 +55,8 @@ \{{#paper-button raised=true primary=true onClick=(action "targetButton") bubbles=false}}Button no bubble\{{/paper-button}} </p> <p> + \{{#paper-button raised=true fab=true}}Fab\{{/paper-button}} + \{{#paper-button raised=true mini=true}}Mini\{{/paper-button}} \{{#paper-button iconButton=true}}\{{paper-icon "more-vert"}}\{{/paper-button}} </p> <p> diff --git a/tests/integration/components/paper-button-test.js b/tests/integration/components/paper-button-test.js index 1297209ef..b13f70393 100644 --- a/tests/integration/components/paper-button-test.js +++ b/tests/integration/components/paper-button-test.js @@ -70,3 +70,21 @@ test('uses md-icon-button class when iconButton=true', function(assert) { `); assert.ok(this.$('.md-button').hasClass('md-icon-button')); }); + +test('uses md-fab class when fab=true', function(assert) { + this.render(hbs` + {{#paper-button fab=true}} + A label + {{/paper-button}} + `); + assert.ok(this.$('.md-button').hasClass('md-fab')); +}); + +test('uses md-mini and md-fab class when mini=true', function(assert) { + this.render(hbs` + {{#paper-button mini=true}} + A label + {{/paper-button}} + `); + assert.ok(this.$('.md-button').is('.md-fab', '.md-mini')); +});