ho la seguente situazione in cui ho bisogno per consentire all'utente di selezionare gli oggetti da un elenco e drag/farli cadere in un certo fessura:AngularJS combinazione, jQueryUI, angolare-drag-drop per la lista ordinata
Gli oggetti possono essere da una a tre volte le dimensioni di uno slot. Quindi, se un utente trascina l'oggetto 1 nello slot 0, occupa solo lo slot 0 (startSlot = 0 e endSlot = 0). Tuttavia, se un utente trascina l'oggetto 3 nello slot 3, occupa gli slot 3, 4 e 5 (startSlot = 3 e endSlot = 5).
Una volta che gli oggetti vengono rilasciati negli slot, un utente può riordinare gli oggetti facendo clic e trascinando gli oggetti su e giù negli slot. Gli oggetti non possono sovrapporsi l'un l'altro:
Sto usando angolare, così sto leggendo un elenco di oggetti da un database e ho una variabile per il numero di slot. Ho provato un paio di soluzioni. Credo che l'uso di jQuery e jQueryUI trascinabili, droppable, e ordinabile è parte della soluzione, qui è il primo violino dimostrando drag/drop e ordinabile:
http://jsfiddle.net/mduvall216/6hfuzvws/4/
Il problema di questo violino è che ho bisogno di un set numero di slot. Una volta che un oggetto viene inserito negli slot, sostituisce da 1 a 3 slot in base alle dimensioni dell'oggetto. Il secondo violino sotto integra AngularJS:
http://jsfiddle.net/mduvall216/zg5x4b6k/4/
Il problema qui è che so che ho bisogno di qualche tipo di griglia per scattare gli oggetti da trascinati volta dall'elenco degli oggetti. Il risultato che sto cercando è una lista di oggetti JSON nei loro slot assegnati:
[{id: obj1, startSlot: 0, endSlot: 0}, {id: obj3, startSlot: 3, endSlot : 5}]
sono anche sicuro che la soluzione avrebbe bisogno di angolare di trascinamento del codf0rmer trova qui:
https://github.com/codef0rmer/angular-dragdrop
ma sto avendo problemi cercando di ottenere che integrato in mio violino per testare . Questa è una sfida interessante su cui sto girando da un po ', se qualcuno può essere d'aiuto sarebbe molto apprezzato. Grazie per il tuo tempo.
Dai un'occhiata a https://github.com/angular-ui/ui-sortable, che fa parte della popolare suite di componenti AngularUI. Supportano gli elenchi connessi, ma il requisito relativo alle dimensioni degli articoli probabilmente richiederà la gestione da parte del cliente degli elementi dell'elenco, ma dovrebbe essere semplice quando si utilizzano gli eventi. L'ho usato con successo all'interno di un progetto prima. Purtroppo non ho tempo ora per esaminare le vostre esigenze specifiche. – Beyers
È inoltre possibile creare un modulo personalizzato utilizzando l'API di trascinamento e rilascio HTML 5. È abbastanza facile da implementare. – malinkody