2017-01-06 5 views
5

में ड्रॉप को वापस करें typescript के साथ मेरे पास angular2 ऐप है। मैं ड्रैग और ड्रॉप एप्लिकेशन बनाने के लिए ng2-dragula का उपयोग कर रहा हूं।ड्रैगुला: ng2-dragula

मैं करने के लिए, जांच एक शर्त requiered रहा हूँ, और खींचें वापस लौटने अगर हालत झूठी है, और मैं here से पता है, कि revertOnSpill कि revertOnSpill:true अपनी पहली जगह पर वापस तत्व डाल सकते हैं।

लेकिन, मुझे नहीं पता किng2-dragula में यह कैसे संभव है। मैंने इसे onDrop में लगाया।

<div id="toPlay" class="playBox roundedBox" [dragula]="'second-bag'"> 
    <img class="w3-animate-top" [src]="sax_path" alt="sax" id="saxsophone"/> 
    <img class="w3-animate-top" [src]="drum_path" alt="drum" id="drum"/> 
</div> 
<div id="scene" [dragula]="'second-bag'"> 

</div> 

Package.json है: यहाँ कोड

constructor() { 

       dragulaService.drop.subscribe((value) => { 
        this.onDrop(value.slice(1)); 
       }); 

       dragulaService.setOptions('second-bag', { 
        removeOnSpill: true 
       }); 
} 

private onDrop(args) { 
    bla 
    bla 
    bla 
    if(err.status=="404")                
      this.dragulaService.removeModel; 
     // this.dragulaService.cancel; also tried but did not work 
} 

और यहाँ एचटीएमएल कोड है

"dependencies": { 
    "dragula": "^3.7.2" 
    }, 
    "peerDependencies": { 
    "@angular/common": "^2.0.0", 
    "@angular/core": "^2.0.0", 
    "@angular/compiler": "^2.0.0", 
    "@angular/forms": "^2.0.0" 
    }, 
    "devDependencies": { 
    "angular-cli": "1.0.0-beta.22-1", 
    "typescript": "2.0.10" 
    } 

समस्या है, मैं रद्द करने के लिए पता नहीं कैसे बूंद?

+0

आप dragula या NG2-dragula का उपयोग कर रहे हैं? – Meir

+0

क्या आपके पास ng2-dragula भी है? यदि नहीं, तो उनके पास विशेष रूप से कोणीय 2 के लिए एक पैकेज है: https://github.com/valor-software/ng2-dragula – Meir

+0

इसे कभी नहीं किया, लेकिन मुझे लगता है कि 'स्वीकार करता है' विधि (यहां देखें: https: // github .com/bevacqua/dragula) – Meir

उत्तर

4

वहाँ एक संपत्ति बूलियन moves कहा जाता है, जो यह नियंत्रित iff एक तत्व चल रहा है या नहीं

this.dragulaService.setOptions('second-bag', { 

     moves: (el, container, handle) =>{ 

          if(YourCondition) 
            //return true; 
          else 
            //return false; 
         })) 
+0

के बाद आप क्या कर रहे हैं एक बड़ा धन्यवाद, मैं इस से अपने बालों को खींच रहा था। – trichetriche

+0

अगर एपीआई झूठी रिटर्न देता है तो मैं ड्रॉप कैसे वापस प्राप्त कर सकता हूं। यदि मैं एपीआई फ़ंक्शन विफल हुआ है, तो मैं ऑन्रॉप() फ़ंक्शन में एपीआई को कॉल कर रहा हूं, तो मैं ड्रॉप तत्व को मूल कंटेनर में ले जाना चाहता हूं। – hkg328

संबंधित मुद्दे

 संबंधित मुद्दे