Re: Scriptaculous Sortables: Dynamically adding a new li in the onUpdate Callback

Kjell Bublitz
Thu, 08 Mar 2007 13:07:34 -0000

Give the sortables a droppable and set the accept to the class of the
sortable ListItems. Then use the onDrop callback to create a element
and append it to the sortable beneath. If you want to know its origin
you could also set a second class like "listA" to the draggable, so
you can use it as reference before you append.

HTH

On 3/8/07, Edward  Trochim
<etrochim-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:
>
> I''ve already tried that which was when I found out that calling
> Sortable.create on an element that is already Sortable will call
> Sortable.destroy on it before it is recreated.
>
> On Mar 7, 3:43 pm, "Gareth Evans"
<agr...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> > just a guess but try storing a reference to the sortable when you
create it,
> > so you can destroy it later- calling the create method more than once
will
> > have odd effects.
> >
> > Gareth
> >
> > On 3/8/07, Edward Trochim
<etroc...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> >
> >
> >
> > > I have two sortable lists that I can drag elements between, list
A and
> > > list B. When I drag an element from A to B I want to be able to
> > > dynamically create a new element in A. I can do that just fine
and
> > > call Sortable.create again for A and B to make the new element
> > > draggable.
> >
> > > However, this is where the problem is. The two Sortable.create
calls
> > > are taking place inside the onUpdate callback. So before the
dragged
> > > element has settled into place in B Sortable.create has already
been
> > > called on B. There isn''t a problem immediately but when
I attempt to
> > > reorder the elements in B there will often be random
displacements of
> > > the element being dragged around. This only happens when I call
> > > Sortable.create on list B (which it seems I need to do because if
I
> > > don''t then after I call Sortable.create on list A I can
no longer drag
> > > elements in list B). How can I fix this issue?
> >
> > > Here is a screenshot showing the problem (list A on the left,
list B
> > > on the right):http://paradox.mynuts.org/problem.png
>
>
> >
>


--
Regards, Kjell