2012-02-24 7 views
0

mootools를 사용하여 간단한 이미지 갤러리 기능을 처리 할 수 ​​있습니다. 이미지를 왼쪽 열에서 오른쪽 열로 이동하면 onComplete 이벤트에서 storeImage 호출을 통해 사진이 사용자의 "사진"테이블에 추가됩니다.되돌리기 mootools sortable move

여기의 간단한 바이올린의 다음의 onComplete 이벤트에서 storeImage 호출이 실패 할 경우

내 질문은, 어떻게 다시 "사용 가능한"왼쪽으로 스택에 이미지를 되돌릴 수있다 http://jsfiddle.net/JQja3/1/?

답변

1

var에 그룹과 부모를 저장 한 다음 되돌리려면 이전 그룹과 순서를 완전히 복원해야합니다.

이 패턴은 매번 실행 취소 할 수있는 복원 기능을 생성합니다.

http://jsfiddle.net/JQja3/6/

new Sortables('#example2 UL', { 
    clone: true, 
    revert: true, 
    opacity: 0.7, 
    onStart: function(el, clone) { 
     this.restore = (function() { 
      var oldParent = el.getParent(), 
       oldList = oldParent.getChildren();  
      return function() { 
       oldParent.adopt(oldList); 
      } 
     })(); 

    }, 
    onComplete: function(el, clone){ 
     var storeImage = false; // this is false to simulate a bad return from the DB store call 
     if (!storeImage){ 
      this.restore(); 
     }  
    } 
}); 
+0

+1 매우 깔끔한 솔루션, 나는 자바 스크립트는 너무 다른,하지만 그 둘레에 내 머리를 얻기 위해 나에게 좋은 몇 분했다, 나는이 일에 대한 답변에서 뭔가를 배울 줄 알았어요 내가 익숙한 다른 언어들. – Dampsquid

+0

@Dimitar Christoff - 언제나 신속하고 철저한 솔루션을 제공해 주셔서 감사합니다! – julio