Skip to content

Instantly share code, notes, and snippets.

@kopiro
Created June 26, 2013 09:35
Show Gist options
  • Select an option

  • Save kopiro/5866129 to your computer and use it in GitHub Desktop.

Select an option

Save kopiro/5866129 to your computer and use it in GitHub Desktop.
Experimental sliding menu in Titanium
this.currentWindow.addEventListener('touchstart', function(e) {
if (Alloy.Globals.UI.data.unmovableElements.indexOf(e.source.toString())>=0) return;
if (true===Alloy.Globals.UI.leftMenuOpen || true===Alloy.Globals.UI.rightMenuOpen) return;
Alloy.Globals.UI.data.menuX = e.x;
Alloy.Globals.UI.data.deltaX = 0;
});
this.currentWindow.addEventListener('touchmove', function(e) {
if (Alloy.Globals.UI.data.unmovableElements.indexOf(e.source.toString())>=0) return;
if (true===Alloy.Globals.UI.leftMenuOpen || true===Alloy.Globals.UI.rightMenuOpen) return;
if (!e.x) return;
var deltaX = parseInt(e.x-Alloy.Globals.UI.data.menuX, 10);
Alloy.Globals.UI.data.deltaX += deltaX;
if (Alloy.Globals.UI.data.deltaX>260) Alloy.Globals.UI.data.deltaX = 260;
else if (Alloy.Globals.UI.data.deltaX<-260) Alloy.Globals.UI.data.deltaX = -260;
if (Alloy.Globals.UI.data.deltaX>=0) {
Alloy.Globals.UI.leftMenu.left = 0;
Alloy.Globals.UI.rightMenu.right = -260;
} else {
Alloy.Globals.UI.leftMenu.left = -260;
Alloy.Globals.UI.rightMenu.right = 0;
}
Alloy.Globals.UI.currentWindow.animate({
left: Alloy.Globals.UI.data.deltaX,
right: -Alloy.Globals.UI.data.deltaX,
duration: 30
});
});
this.currentWindow.addEventListener('touchend', function(e) {
if (Alloy.Globals.UI.data.unmovableElements.indexOf(e.source.toString())>=0) return;
if (true===Alloy.Globals.UI.leftMenuOpen) {
Alloy.Globals.UI.closeLeftMenu();
} else if (true===Alloy.Globals.UI.rightMenuOpen) {
Alloy.Globals.UI.closeRightMenu();
} else {
var distance = Alloy.Globals.UI.data.deltaX;
if (distance>Alloy.Globals.UI.OPEN_MENU_MIN) {
Alloy.Globals.UI.openLeftMenu();
} else if (distance<-Alloy.Globals.UI.OPEN_MENU_MIN) {
Alloy.Globals.UI.openRightMenu();
} else {
Alloy.Globals.UI.closeRightMenu();
Alloy.Globals.UI.closeLeftMenu();
}
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment