Faites glisser l'objet dans la liste triable - AngularJS
Problème:
Je suis en train de recréer le Déplaçable + Sortable fonctionnalités de jQuery et ne peut pas obtenir l'élément d'aller dans mon tableau d'objets.
J'ai envie de glisser un $.draggable() bouton de dollars.sortable() liste.. je veux que le bouton pour représenter un objet avec des propriétés (assoc tableau, ou l'objet lui-même) et quand je le laisse tomber dans ma liste, je tiens à mettre dans le tableau à la position qu'il a été abandonné à.
Juste pour être clair: j'ai un tableau de potentiel objets dans un menu à gauche. Sur la droite, j'ai utiliser $http appeler à mon API pour récupérer un formulaire avec les champs de tous les détenus dans $portée. Je veux que le potentiel de l'objet (comme un textarea) pour être déposés dans les champs du formulaire à la position de chute.
Le jquery bits est simple mais l'inexistant, de l'objet à la position $champ d'application de la matrice est le problème.
Ce que j'ai essayé:
J'ai été proche avec le mélange de peignage de l'interface utilisateur-sortable et $.déplaçable directive wrapper mais mon code ne fonctionne pas très bien.
Exemples:
- KnockoutJS Exemple: http://bit.ly/15yrf8X
- jQuery demo: http://jqueryui.com/draggable/#sortable
Mise à jour 1:
J'ai fait des progrès avec une interface utilisateur-triables l'instar de la directive, combiné avec une directive qui encapsule $.draggable(), un peu laid, mais fonctionne.
Mise à jour 2:
Je travaille maintenant, mais je prends l'indice de jquery et php pour le trancher dans cette position, puis de recharger la totalité de la liste. Parler de la lame, il doit y avoir une meilleure façon.
Mise à jour 3:
Voici un exemple de travail modulaire pour toute application.
http://clouddueling.github.io/angular-common
J'ai juste précisé ma question plus. Ce code ne fonctionnait pas, j'espérais qu'il pourrait aider à bien.
J'ai peut-être tort, mais n'a pas Angulaire de l'INTERFACE utilisateur ont un déplaçable directive?
Ils ont de l'interface utilisateur-triables github.com/angular-ui/ui-sortable qui est la moitié du problème.
Est-il un exemple de code quelque part?? Je ne suis pas sûr de comprendre. Comment, visuellement, l'utilisateur de savoir où ils sont à la baisse de l'article? Avez-vous réservé éléments dans le DOM de la chute d'objets?
OriginalL'auteur Michael J. Calkins | 2013-09-16
Vous devez vous connecter pour publier un commentaire.
Il n'est pas angulaire de la magie qui peut vous aider à trouver la position d'un nouveau ou élément déplacé, mais c'est facile à faire avec jQuery. J'ai créé un exemple de la jQueryUI-démo emballage sortable et déplaçable dans les directives:
http://plnkr.co/edit/aSOlqR0UwBOXgpQSFKOH?p=preview
Valeur de mon
my-draggable
est l'id correspondant à l'my-sortable
-élément. mon-déplaçable est par ailleurs assez simple:Dans
my-sortable
j'écoute de ladeactivate
événement qui indique qu'un élément a été supprimé.from
est la position de l'élément dans le tableau qui est la source de ng-repeat. ng-repeat crée un enfant à la portée de chaque élément avec un $variable d'index indiquant la position de l'élément dans le tableau. Si $index est pas défini, je sais que c'est un élément nouveau (peut-être une meilleure façon de le déterminer, mais il travaille pour cet exemple).to
est la nouvelle position de l'élément. J' $émettent un " mon triés à l'événement si un élément a été déplacé ou a 'mon-créé l'événement si un nouvel élément a été ajouté.Dans le contrôleur, j'ai créer les éléments de tableau et d'écouter les événements:
Comme vous pouvez le voir, lorsque vous ajoutez ou déplacez un élément de modèle dans le champ d'application est mise à jour.
Ces directives ne sont pas très général que vous pourriez avoir à faire quelques ajustements afin de les faire fonctionner avec votre application.
êtes-vous toujours l'intention de ce post sur github?
im juste d'apprentissage anguleux, mais si je les échange pour les entrées et modifier leurs valeurs, pourquoi n'est-il pas mis à jour dans le $scope.articles? plnkr.co/modifier/4lztv66RfnJAnIcMlPNs?p=preview
J'ai complètement oublié à ce sujet, mais j'ai reconstruit la fonctionnalité j'avais besoin de ce pour je vais mettre quelque chose de github.com/clouddueling/angular-common
vous pouvez trouver un exemple ici clouddueling.github.io/angulaires-commune
OriginalL'auteur joakimbl
Vous devriez être en mesure de faire tout ce dont vous avez besoin dans votre fonction de lien.
OriginalL'auteur Chriso