Ich habe die folgende Situation, wo ich brauche, damit ein Benutzer Objekte aus einer Liste und zieht auszuwählen/sie in einen bestimmten Schlitz fallen:Kombination AngularJS, jQueryUI, Angular-Drag-Drop für sortierte Liste
Die Objekte können ein- bis dreimal so groß sein wie ein Steckplatz. Wenn also ein Benutzer Objekt 1 zu Slot 0 zieht, belegt er nur Slot 0 (startSlot = 0 und endSlot = 0). Wenn ein Benutzer jedoch Objekt 3 zu Slot 3 zieht, belegt er die Slots 3, 4 und 5 (startSlot = 3 und endSlot = 5).
Sobald die Objekte in die Slots fallen gelassen wurden, kann ein Benutzer die Objekte neu anordnen, indem er auf die Objekte in den Slots klickt und diese nach oben und unten zieht. Objekte können sie nicht überlappen:
I Angular verwenden, so dass ich eine Liste von Objekten aus einer Datenbank zu lesen und ich habe eine Variable für die Anzahl der Slots. Ich habe ein paar Lösungen versucht. Ich glaube, dass die Verwendung von jQuery und jQueryUI ziehbar, abwerfbaren und sortierbar ist Teil der Lösung, hier ist die erste Geige demonstriert Drag/Drop und sortierbar:
http://jsfiddle.net/mduvall216/6hfuzvws/4/
Das Problem mit dieser Geige ist, dass ich einen Satz benötigen Anzahl der Steckplätze. Sobald ein Objekt in den Slots platziert wird, ersetzt es 1 bis 3 Slots, abhängig von der Größe des Objekts. Die zweite Geige unten integriert AngularJS:
http://jsfiddle.net/mduvall216/zg5x4b6k/4/
Das hier Problem ist, dass ich weiß, dass ich irgendeine Art von Gitter müssen die Objekte schnappen, um einmal aus der Objektliste gezogen. Das Ergebnis, das ich suche ist eine json Liste der Objekte in den ihnen zugewiesenen Slots:
[{id: obj1, startSlot: 0, endSlot: 0}, {id: obj3, startSlot: 3, endSlot
https://github.com/codef0rmer/angular-dragdrop
Aber ich habe Probleme versuchen, dass Integration in meine Geige zu bekommen zu testen: Angular Drag-Drop befindet codf0rmer der hier müssten 5}]
ich bin die Lösung auch sicher . Dies ist eine interessante Herausforderung, auf die ich mich schon eine Weile konzentriert habe. Wenn jemand Ihnen behilflich sein könnte, würde ich das sehr schätzen. Vielen Dank für Ihre Zeit.
Sehen Sie sich https://github.com/angular-ui/ui-sortable an, das ist Teil der beliebten AngularUI-Komponentensuite. Sie unterstützen verbundene Listen, aber Ihre Artikelgrößenanforderung würde wahrscheinlich eine gewisse Kundenbehandlung der Listenelemente erfordern, sollte aber bei der Verwendung der Ereignisse einfach sein. Ich habe es bereits erfolgreich in einem Projekt verwendet. Leider habe ich momentan keine Zeit, um auf Ihre spezifischen Anforderungen einzugehen. – Beyers
Sie können auch ein benutzerdefiniertes Modul mithilfe der HTML 5-Drag & Drop-API erstellen. Es ist ziemlich einfach zu implementieren. – malinkody