From 1fb48a29ab303adb40ecd5ab6c2307e247dc384d Mon Sep 17 00:00:00 2001 From: Kevin Ngo Date: Tue, 16 Oct 2018 21:28:27 -0700 Subject: [PATCH] fix menu slide states --- src/components/menu-slide-animation.js | 28 ++++++++++++++++---------- src/templates/menu.html | 2 +- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/components/menu-slide-animation.js b/src/components/menu-slide-animation.js index 9c4ee57..5d15590 100644 --- a/src/components/menu-slide-animation.js +++ b/src/components/menu-slide-animation.js @@ -5,34 +5,40 @@ AFRAME.registerComponent('menu-slide-animation', { }, init: function () { - this.isOpen = false; // Means toleft. + this.isLeft = false; // Means toleft. }, update: function (oldData) { const data = this.data; - if (this.isOpen) { + if (this.isLeft) { // Unselect. - if (oldData.menuSelectedChallengeId && !data.menuSelectedChallengeId) { this.closeMenu(); } + if (oldData.menuSelectedChallengeId && !data.menuSelectedChallengeId && + !data.isSearching) { this.rightMenu(); } // Keyboard close. - if (oldData.isSearching && !data.isSearching) { this.closeMenu(); } + if (oldData.isSearching && !data.isSearching && !data.menuSelectedChallengeId) { + this.rightMenu(); + } + return; } - if (!this.isOpen) { + if (!this.isLeft) { // Select. - if (!oldData.menuSelectedChallengeId && data.menuSelectedChallengeId) { this.openMenu(); } + if (!oldData.menuSelectedChallengeId && data.menuSelectedChallengeId) { this.leftMenu(); } // Keyboard open. - if (!oldData.isSearching && data.isSearching) { this.openMenu(); } + if (!oldData.isSearching && data.isSearching) { this.leftMenu(); } } }, - closeMenu: function () { + rightMenu: function () { + if (!this.isLeft) { return; } this.el.components.animation__menuright.beginAnimation(); - this.isOpen = false; + this.isLeft = false; }, - openMenu: function () { + leftMenu: function () { + if (this.isLeft) { return; } this.el.components.animation__menuleft.beginAnimation(); - this.isOpen = true; + this.isLeft = true; } }); diff --git a/src/templates/menu.html b/src/templates/menu.html index f4de9ef..7d0b795 100644 --- a/src/templates/menu.html +++ b/src/templates/menu.html @@ -114,7 +114,7 @@ class="menuAnimation" bind__menu-slide-animation="isSearching: isSearching; menuSelectedChallengeId: menuSelectedChallenge.id" animation__menuleft="property: object3D.position.x; to: -0.59; dur: 200; easing: easeOutCubic; autoplay: false" - animation__menuright="property: object3D.position.x; to: 0; dur: 200; easing: easeOutCubic; autoplay: false"> + animation__menuright="property: object3D.position.x; from: -0.59; to: 0; dur: 200; easing: easeOutCubic; autoplay: false">