From 5692abe3fd834947bbe7e94a3e3214ff63b503a1 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 15 Apr 2016 15:01:52 -0400 Subject: [PATCH] fix(showHideWhen): remove hidden attribute on directives and use classes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each directive applies a different class so they won’t remove each other if they’re on the same element. If either class is applied the element won’t display. closes #5836 --- ionic/components.core.scss | 1 + .../show-hide-when/show-hide-when.scss | 14 ++++++++++++++ .../show-hide-when/show-hide-when.ts | 18 ++---------------- .../show-hide-when/test/basic/main.html | 10 ++++++++++ 4 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 ionic/components/show-hide-when/show-hide-when.scss diff --git a/ionic/components.core.scss b/ionic/components.core.scss index 84e1a766f5..7252f4a8ad 100644 --- a/ionic/components.core.scss +++ b/ionic/components.core.scss @@ -23,6 +23,7 @@ "components/modal/modal", "components/refresher/refresher", "components/scroll/scroll", + "components/show-hide-when/show-hide-when", "components/slides/slides", "components/spinner/spinner", "components/virtual-scroll/virtual-scroll"; diff --git a/ionic/components/show-hide-when/show-hide-when.scss b/ionic/components/show-hide-when/show-hide-when.scss new file mode 100644 index 0000000000..d47865bf23 --- /dev/null +++ b/ionic/components/show-hide-when/show-hide-when.scss @@ -0,0 +1,14 @@ +@import "../../globals.core"; + +// Show / Hide When +// -------------------------------------------------- + +// Applied by the showWhen directive +.hidden-show-when { + display: none; +} + +// Applied by the hideWhen directive +.hidden-hide-when { + display: none; +} diff --git a/ionic/components/show-hide-when/show-hide-when.ts b/ionic/components/show-hide-when/show-hide-when.ts index 3e396b3374..28b88b779d 100644 --- a/ionic/components/show-hide-when/show-hide-when.ts +++ b/ionic/components/show-hide-when/show-hide-when.ts @@ -91,7 +91,7 @@ export class DisplayWhen { @Directive({ selector: '[showWhen]', host: { - '[hidden]': 'hidden' + '[class.hidden-show-when]': '!isMatch' } }) export class ShowWhen extends DisplayWhen { @@ -104,13 +104,6 @@ export class ShowWhen extends DisplayWhen { super(showWhen, platform, ngZone); } - /** - * @private - */ - get hidden(): boolean { - return !this.isMatch; - } - } /** @@ -148,7 +141,7 @@ export class ShowWhen extends DisplayWhen { @Directive({ selector: '[hideWhen]', host: { - '[hidden]': 'hidden' + '[class.hidden-hide-when]': 'isMatch' } }) export class HideWhen extends DisplayWhen { @@ -161,11 +154,4 @@ export class HideWhen extends DisplayWhen { super(hideWhen, platform, ngZone); } - /** - * @private - */ - get hidden(): boolean { - return this.isMatch; - } - } diff --git a/ionic/components/show-hide-when/test/basic/main.html b/ionic/components/show-hide-when/test/basic/main.html index d4c5b39349..07ac5d9aac 100644 --- a/ionic/components/show-hide-when/test/basic/main.html +++ b/ionic/components/show-hide-when/test/basic/main.html @@ -56,4 +56,14 @@ hideWhen="android,ios"

+

+ hideWhen="ios" [hidden]=toggle +

+ +

+ showWhen="android" hideWhen="landscape" +

+ + +