fix(itemSliding): prevent sliding when already open

Closes #512
This commit is contained in:
Adam Bradley
2015-11-16 11:40:02 -06:00
parent c6a173359f
commit b5384e0dd9

View File

@ -42,8 +42,10 @@ export class ItemSlidingGesture extends DragGesture {
let openAmout = this.getOpenAmount(itemContainerEle); let openAmout = this.getOpenAmount(itemContainerEle);
let itemData = this.get(itemContainerEle); let itemData = this.get(itemContainerEle);
this.preventDrag = (openAmout > 0);
if (openAmout) { if (this.preventDrag) {
this.closeOpened(ev);
return ev.preventDefault(); return ev.preventDefault();
} }
@ -59,7 +61,7 @@ export class ItemSlidingGesture extends DragGesture {
onDrag(ev) { onDrag(ev) {
let itemContainerEle = getItemConatiner(ev.target); let itemContainerEle = getItemConatiner(ev.target);
if (!itemContainerEle || !isActive(itemContainerEle)) return; if (!itemContainerEle || !isActive(itemContainerEle) || this.preventDrag) return;
let itemData = this.get(itemContainerEle); let itemData = this.get(itemContainerEle);
@ -85,6 +87,7 @@ export class ItemSlidingGesture extends DragGesture {
} }
onDragEnd(ev) { onDragEnd(ev) {
this.preventDrag = false;
let itemContainerEle = getItemConatiner(ev.target); let itemContainerEle = getItemConatiner(ev.target);
if (!itemContainerEle || !isActive(itemContainerEle)) return; if (!itemContainerEle || !isActive(itemContainerEle)) return;
@ -131,7 +134,7 @@ export class ItemSlidingGesture extends DragGesture {
return didClose; return didClose;
} }
open(itemContainerEle, openAmount, animate) { open(itemContainerEle, openAmount, isFinal) {
let slidingEle = itemContainerEle.querySelector('ion-item,[ion-item]'); let slidingEle = itemContainerEle.querySelector('ion-item,[ion-item]');
if (!slidingEle) return; if (!slidingEle) return;
@ -153,7 +156,7 @@ export class ItemSlidingGesture extends DragGesture {
this.set(itemContainerEle, 'timerId', timerId); this.set(itemContainerEle, 'timerId', timerId);
} }
slidingEle.style[CSS.transition] = (animate ? '' : 'none'); slidingEle.style[CSS.transition] = (isFinal ? '' : 'none');
slidingEle.style[CSS.transform] = (openAmount === 0 ? '' : 'translate3d(' + -openAmount + 'px,0,0)'); slidingEle.style[CSS.transform] = (openAmount === 0 ? '' : 'translate3d(' + -openAmount + 'px,0,0)');
} }