From aefcbeeb0051421cf43d9f29134a07e193b5e1f8 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 4 Jan 2016 13:17:07 -0600 Subject: [PATCH 01/13] refactor(item): all buttons inside of item receive .item-button --- ionic/components/item/item.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ionic/components/item/item.ts b/ionic/components/item/item.ts index b7bf7f32b9..64c17654d5 100644 --- a/ionic/components/item/item.ts +++ b/ionic/components/item/item.ts @@ -1,4 +1,6 @@ -import {Component} from 'angular2/core'; +import {Component, ContentChildren} from 'angular2/core'; + +import {Button} from '../button/button'; /** @@ -57,4 +59,10 @@ import {Component} from 'angular2/core'; 'class': 'item' } }) -export class Item {} +export class Item { + + @ContentChildren(Button) + set _buttons(buttons) { + Button.setRoles(buttons, 'item-button'); + } +} From 1a1cdfb88671e8929ddee86368097d9a06341032 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 4 Jan 2016 13:24:03 -0600 Subject: [PATCH 02/13] refactor(item): add .item-icon to child icons --- ionic/components/icon/icon.ts | 7 +++++++ ionic/components/item/item.ts | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/ionic/components/icon/icon.ts b/ionic/components/icon/icon.ts index 31f4962a96..04ea84e87a 100644 --- a/ionic/components/icon/icon.ts +++ b/ionic/components/icon/icon.ts @@ -48,6 +48,13 @@ export class Icon { this.mode = config.get('iconMode'); } + /** + * @private + */ + addClass(className) { + this._renderer.setElementClass(this._elementRef, className, true); + } + /** * @private */ diff --git a/ionic/components/item/item.ts b/ionic/components/item/item.ts index 64c17654d5..390beeee74 100644 --- a/ionic/components/item/item.ts +++ b/ionic/components/item/item.ts @@ -1,6 +1,7 @@ import {Component, ContentChildren} from 'angular2/core'; import {Button} from '../button/button'; +import {Icon} from '../icon/icon'; /** @@ -65,4 +66,11 @@ export class Item { set _buttons(buttons) { Button.setRoles(buttons, 'item-button'); } + + @ContentChildren(Icon) + set _icons(icons) { + icons.toArray().forEach(icon => { + icon.addClass('item-icon'); + }); + } } From fa38814be69665031f0c022a2b08dbc575d2b5fe Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 4 Jan 2016 14:39:07 -0600 Subject: [PATCH 03/13] fix(item): only add .item-button class --- ionic/components/button/button.ts | 7 +++++++ ionic/components/item/item.ts | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ionic/components/button/button.ts b/ionic/components/button/button.ts index 504d54c87e..12b3b236c9 100644 --- a/ionic/components/button/button.ts +++ b/ionic/components/button/button.ts @@ -92,6 +92,13 @@ export class Button { } } + /** + * @private + */ + addClass(className) { + this._renderer.setElementClass(this._elementRef, className, true); + } + /** * @private */ diff --git a/ionic/components/item/item.ts b/ionic/components/item/item.ts index 390beeee74..83764648d9 100644 --- a/ionic/components/item/item.ts +++ b/ionic/components/item/item.ts @@ -64,7 +64,9 @@ export class Item { @ContentChildren(Button) set _buttons(buttons) { - Button.setRoles(buttons, 'item-button'); + buttons.toArray().forEach(button => { + button.addClass('item-button'); + }); } @ContentChildren(Icon) From e2469d95e09840dbbb500a061fac6de6975c54c2 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 4 Jan 2016 14:52:53 -0600 Subject: [PATCH 04/13] fix(item): do not add .item-button to button[ion-item] --- ionic/components/button/button.ts | 4 +++- ionic/components/item/item.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ionic/components/button/button.ts b/ionic/components/button/button.ts index 12b3b236c9..932be6f642 100644 --- a/ionic/components/button/button.ts +++ b/ionic/components/button/button.ts @@ -37,7 +37,8 @@ export class Button { constructor( config: Config, private _elementRef: ElementRef, - private _renderer: Renderer + private _renderer: Renderer, + @Attribute('ion-item') ionItem: string ) { this._role = 'button'; // bar-button/item-button this._size = null; // large/small @@ -48,6 +49,7 @@ export class Button { this._colors = []; // primary/secondary this._icon = null; // left/right/only this._disabled = false; // disabled + this.isItem = (ionItem === ''); let element = _elementRef.nativeElement; diff --git a/ionic/components/item/item.ts b/ionic/components/item/item.ts index 83764648d9..2d15430854 100644 --- a/ionic/components/item/item.ts +++ b/ionic/components/item/item.ts @@ -65,7 +65,9 @@ export class Item { @ContentChildren(Button) set _buttons(buttons) { buttons.toArray().forEach(button => { - button.addClass('item-button'); + if (!button.isItem) { + button.addClass('item-button'); + } }); } From ec84f01a5140046950c170bc4aeb6a9d7e13b0c3 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Mon, 4 Jan 2016 17:20:55 -0500 Subject: [PATCH 05/13] refactor(item): simplifying item css and removing unused css Added a item with multiple buttons references #856 --- ionic/components/item/item.ios.scss | 31 ++++---------------- ionic/components/item/item.md.scss | 29 ++---------------- ionic/components/item/item.ts | 2 +- ionic/components/item/test/buttons/main.html | 9 +++++- 4 files changed, 17 insertions(+), 54 deletions(-) diff --git a/ionic/components/item/item.ios.scss b/ionic/components/item/item.ios.scss index e7a74de578..cc20200335 100644 --- a/ionic/components/item/item.ios.scss +++ b/ionic/components/item/item.ios.scss @@ -103,8 +103,7 @@ ion-item-content { margin: ($item-ios-padding-top / 2) ($item-ios-padding-right / 2) ($item-ios-padding-bottom / 2) ($item-ios-padding-left / 2); } -icon[item-left], -icon[item-right] { +.item-icon { margin-top: $item-ios-padding-icon-top; margin-bottom: $item-ios-padding-icon-bottom; } @@ -119,38 +118,18 @@ ion-thumbnail[item-right] { margin: ($item-ios-padding-right / 2); } -button[item-left], -button[item-right], -[button][item-left], -[button][item-right] { +.item-button { padding: 0 0.5em; font-size: 1.3rem; min-height: 25px; margin-top: 9px; } -[item-left].button-icon-only, -[item-right].button-icon-only, -[item-left].button-icon-only icon, -[item-right].button-icon-only icon, -[item-left][clear], -[item-right][clear] { +.button-icon-only icon, +.button-icon-only { padding: 0 1px; } -[item-left].icon-left icon, -[item-right].icon-left icon { - margin-left: 0; - margin-bottom: 1px; - padding-right: 0.3em; -} - -[item-left].icon-right icon, -[item-right].icon-right icon { - margin-right: 0; - margin-bottom: 1px; -} - ion-avatar { min-width: $item-ios-avatar-size; min-height: $item-ios-avatar-size; @@ -231,6 +210,6 @@ ion-item-sliding { // todo } - + } } diff --git a/ionic/components/item/item.md.scss b/ionic/components/item/item.md.scss index 5a288d32e5..f546fb5f63 100644 --- a/ionic/components/item/item.md.scss +++ b/ionic/components/item/item.md.scss @@ -96,40 +96,17 @@ icon[item-right] { margin-left: 0; } -button[item-left], -button[item-right], -[button][item-left], -[button][item-right] { +.item-button { padding: 0 0.6em; min-height: 26px; font-size: 1.2rem; } -[item-left].button-icon-only, -[item-right].button-icon-only, -[item-left].button-icon-only icon, -[item-right].button-icon-only icon { +.button-icon-only icon, +.button-icon-only { padding: 0 1px; } -[item-left][clear], -[item-right][clear] { - padding: 0 8px; -} - -[item-left].icon-left icon, -[item-right].icon-left icon { - margin-bottom: 1px; - margin-left: 0; - padding-right: 0.3em; -} - -[item-left].icon-right icon, -[item-right].icon-right icon { - margin-right: 0; - margin-bottom: 1px; -} - [text-wrap] ion-item-content { font-size: $item-md-body-text-font-size; line-height: $item-md-body-text-line-height; diff --git a/ionic/components/item/item.ts b/ionic/components/item/item.ts index 2d15430854..70762502c8 100644 --- a/ionic/components/item/item.ts +++ b/ionic/components/item/item.ts @@ -50,7 +50,7 @@ import {Icon} from '../icon/icon'; template: '' + '
' + - '' + + '' + '' + ''+ '' + diff --git a/ionic/components/item/test/buttons/main.html b/ionic/components/item/test/buttons/main.html index 459d935d1c..b840cf2956 100644 --- a/ionic/components/item/test/buttons/main.html +++ b/ionic/components/item/test/buttons/main.html @@ -48,6 +48,13 @@ + + + + + + + - + From 4a8b8b79f9e4558dc91906c5a29fd3024991864a Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Mon, 4 Jan 2016 21:06:17 -0500 Subject: [PATCH 06/13] refactor(item): move padding to item-inner instead of ion-item-content margin iOS only references #856 --- ionic/components/item/item.ios.scss | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/ionic/components/item/item.ios.scss b/ionic/components/item/item.ios.scss index cc20200335..0bbcac8da5 100644 --- a/ionic/components/item/item.ios.scss +++ b/ionic/components/item/item.ios.scss @@ -81,31 +81,25 @@ $item-ios-sliding-content-bg: $list-ios-background-color !default; .item-inner { padding-right: ($item-ios-padding-right / 2); border-bottom: 1px solid $list-ios-border-color; + padding: $item-ios-padding-top ($item-ios-padding-right / 2) $item-ios-padding-bottom 0; } &.hairlines .item-inner { border-bottom-width: 0.55px; } -ion-item-content { - margin: $item-ios-padding-top ($item-ios-padding-right / 2) $item-ios-padding-bottom 0; -} - // iOS Item Media // -------------------------------------------------- [item-left] { - margin: ($item-ios-padding-top / 2) $item-ios-padding-right ($item-ios-padding-bottom / 2) 0; + margin-left: 0; + margin-right: $item-ios-padding-right; } [item-right] { - margin: ($item-ios-padding-top / 2) ($item-ios-padding-right / 2) ($item-ios-padding-bottom / 2) ($item-ios-padding-left / 2); -} - -.item-icon { - margin-top: $item-ios-padding-icon-top; - margin-bottom: $item-ios-padding-icon-bottom; + margin-left: ($item-ios-padding-left / 2); + margin-right: ($item-ios-padding-right / 2); } ion-avatar[item-left], @@ -122,7 +116,6 @@ ion-thumbnail[item-right] { padding: 0 0.5em; font-size: 1.3rem; min-height: 25px; - margin-top: 9px; } .button-icon-only icon, From 0ae13f42b19a534a70cec742de65432dcf7bf6e0 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Mon, 4 Jan 2016 20:26:38 -0600 Subject: [PATCH 07/13] min-height .item-inner --- ionic/components/item/item.ios.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ionic/components/item/item.ios.scss b/ionic/components/item/item.ios.scss index 0bbcac8da5..ad2097e287 100644 --- a/ionic/components/item/item.ios.scss +++ b/ionic/components/item/item.ios.scss @@ -81,6 +81,10 @@ $item-ios-sliding-content-bg: $list-ios-background-color !default; .item-inner { padding-right: ($item-ios-padding-right / 2); border-bottom: 1px solid $list-ios-border-color; + min-height: 44px; +} + +[text-wrap] ion-item-content { padding: $item-ios-padding-top ($item-ios-padding-right / 2) $item-ios-padding-bottom 0; } From 02dd3b2760134f8729fb15c23871a55167da5c25 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Tue, 5 Jan 2016 12:01:06 -0500 Subject: [PATCH 08/13] refactor(item): messing around with an actions attribute references #279 --- ionic/components/item/item.scss | 6 ++++++ ionic/components/item/test/buttons/main.html | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ionic/components/item/item.scss b/ionic/components/item/item.scss index 9e97a098f4..c71669f660 100644 --- a/ionic/components/item/item.scss +++ b/ionic/components/item/item.scss @@ -75,6 +75,12 @@ ion-item-content { } } +.item[actions] { + ion-item-content { + text-align: center; + } +} + [text-wrap] ion-item-content { white-space: normal; } diff --git a/ionic/components/item/test/buttons/main.html b/ionic/components/item/test/buttons/main.html index b840cf2956..588d2bf9e9 100644 --- a/ionic/components/item/test/buttons/main.html +++ b/ionic/components/item/test/buttons/main.html @@ -48,11 +48,11 @@ - - - - - + + + + + From d0b71096c8918dbe683cc642fdb2676a37a2345a Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Tue, 5 Jan 2016 15:23:55 -0500 Subject: [PATCH 09/13] refactor(item): added margin back in for ion-item-content and removed button tests and actions references #279 --- ionic/components/item/item.ios.scss | 5 ++--- ionic/components/item/item.scss | 6 ------ ionic/components/item/test/buttons/main.html | 7 ------- 3 files changed, 2 insertions(+), 16 deletions(-) diff --git a/ionic/components/item/item.ios.scss b/ionic/components/item/item.ios.scss index ad2097e287..0236f52253 100644 --- a/ionic/components/item/item.ios.scss +++ b/ionic/components/item/item.ios.scss @@ -81,11 +81,10 @@ $item-ios-sliding-content-bg: $list-ios-background-color !default; .item-inner { padding-right: ($item-ios-padding-right / 2); border-bottom: 1px solid $list-ios-border-color; - min-height: 44px; } -[text-wrap] ion-item-content { - padding: $item-ios-padding-top ($item-ios-padding-right / 2) $item-ios-padding-bottom 0; +ion-item-content { + margin: $item-ios-padding-top ($item-ios-padding-right / 2) $item-ios-padding-bottom 0; } &.hairlines .item-inner { diff --git a/ionic/components/item/item.scss b/ionic/components/item/item.scss index c71669f660..9e97a098f4 100644 --- a/ionic/components/item/item.scss +++ b/ionic/components/item/item.scss @@ -75,12 +75,6 @@ ion-item-content { } } -.item[actions] { - ion-item-content { - text-align: center; - } -} - [text-wrap] ion-item-content { white-space: normal; } diff --git a/ionic/components/item/test/buttons/main.html b/ionic/components/item/test/buttons/main.html index 588d2bf9e9..4243ccc996 100644 --- a/ionic/components/item/test/buttons/main.html +++ b/ionic/components/item/test/buttons/main.html @@ -48,13 +48,6 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + From 19feaea1885eb015759b5c7a5d785521f2b8a212 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Tue, 5 Jan 2016 16:57:14 -0500 Subject: [PATCH 13/13] test(card): updated test to use rows for action items references #279 --- ionic/components/card/test/advanced/main.html | 90 +++++++++++-------- 1 file changed, 53 insertions(+), 37 deletions(-) diff --git a/ionic/components/card/test/advanced/main.html b/ionic/components/card/test/advanced/main.html index 7c56a7dae6..c19ea12092 100644 --- a/ionic/components/card/test/advanced/main.html +++ b/ionic/components/card/test/advanced/main.html @@ -19,16 +19,20 @@

- - - - + + + + + + + + @@ -51,19 +55,24 @@

Hello. I am a paragraph.

- - - - - Right Note - - + + + + + + + + + @@ -76,20 +85,27 @@ This card was breaking the border radius. - - - - - + + + + + + + + + + + +