Sorry, but I just had another tought...
The demos I initially provided were simplified - my end goal is not to just
move an DOM element from one side of the page to another. What I was trying
to accomplish was that the dropping would initiate a function that creates a
brand new DOM element that is quite different from the one that had been
dragged. I suppose I should have made that clearer from the start.
- bryan
bbuchs wrote:
>
> Stefan, I hate to harp on this, but the more I work with your new
> "draggables automatically become sortables" function, the less i like it.
> While the demo you created certainly works, I have a couple of issues with
> it.
>
> First, from a usability perspective, I would want to turn ghosting on for
> the items in the "pallette"; doing that currently breaks the demo. Right
> now, if a user drags an item in the pallette, it appears as if it's being
> removed, not cloned. I'm sure this will be fixed eventually.
>
> Secondly, your code change more or less makes "droppables" obsolete, and
> unless your objective is to do exactly what Brendan had set out to do,
> it's unintuitive logic. If I have something I want to drag, I would also
> have something to drop it on. Converting it into a sortable object is not
> the most likely use case scenario. Instead, wouldn't the "SortableAddItem"
> function be the more logical solution?
>
> I don't want to give the impression that I'm not grateful for your
> contributions - I AM! I just think that you reacted so quickly to one
> person's feature request and may not have considered what it meant in the
> bigger picture for everyone else.
>
>
>
>
>
> bbuchs wrote:
>>
>> Brendan, Thanks for doing a good job explaining what I was trying to -
>> the "jQuery.iSort.helper.get" bug. I would hope that this can be fixed.
>> I can see a situation where I might want to have a list on a page that
>> isn't a sortable until a user initiates that action ("click here to sort
>> this list"). If I have any other draggables on the page, I would get the
>> error described below. Your tip about the "accepts" paramater also works
>> great.
>>
>> I still strongly disagree that draggables should automatically become
>> part of a sortable if it's dropped in one, but at least I can work
>> around it.
>>
>> The only remaining issue I have is that the draggable>sortable feature
>> breaks the ghosting functionality for the draggable. In my demo, the
>> right-side draggables are essentially a "palette" of items. The user
>> should be dragging out a "copy" of each item, not the item itself.
>> Again, that can be accounted for if the ghosting bug is fixed.
>>
>> Thanks guys!
>>
>> - Bryan
>>
>>
>>
>>
>>
>> Brendan O'Brien wrote:
>>> Hi,
>>>
>>> I'm responding to a few things in this post.
>>>
>>> First, I took a look at Bryan's example pages. The problem you see on
>>> the second page (where isortables.js has been included, but no Sortables
>>> have been declared) that throws the error "|jQuery.iSort.helper.get is
>>> not a function"|; I've had this problem too even before the Sep. 11
>>> patch. The problem is that when isortables has been included, then
>>> draggables attempts to execute the line:
>>>
>>> jQuery.iSort.helper.get(0).style.display = 'none'
>>>
>>> when dragging over a droppable to hide the sortable helper. But since
>>> you never called Sortables this variable is just the boolean value
>>> false. It only gets initialized when something is made Sortable.
>>> That's why on your third page, where you make something Sortable, that
>>> problem doesn't occur anymore. I think this is probably just a bug.
>>> Either draggables shouldn't attempt to hide the helper field if it
>>> hasn't been initialized (this is easy to do since the value is false by
>>> default. I did this on my local build and it seems to work), or
>>> including isortables.js should initialize the field even if nothing has
>>> been declared as Sortable.
>>>
>>> Second, thanks Stefan for adding the functionality that allows Sortables
>>> to accept draggables even if they didn't originate from a sortable
>>> container. This solves the problem I was having. And I really like how
>>> I can now drag items from outside the sortable container, and it shows
>>> where the item will be dropped. It's great. I do agree with Bryan
>>> though that not everyone will want this, so maybe there could be a
>>> switch to turn it off? I'm not sure how hard that would be. Anyway, I
>>> tried disabling it by just changing the class name of the draggables to
>>> something that Sortables doesn't accept, and that works just fine.
>>> Hopefully that helps for now.
>>>
>>> The only problem I have now when working with your demo page (sorry for
>>> being nit picky, it's just that my users are picky so I have to be!), is
>>> that when I pick up a draggable, it is removed from the other draggables
>>> (this also happens on Bryan's third test page). This is fine, it's the
>>> default behavior. When I add ghosting : true to the draggable config,
>>> it still gets removed. But when I hover over the sortable container it
>>> does show a copy of the draggable, instead of the normal empty helper.
>>> This is the behavior I would normally expect from adding ghosting : true
>>> to the sortable config. But actually, adding ghosting : true to the
>>> sortable config doesn't have any effect.
>>>
>>> Other than that, the new functionality is great! Bryan, I hope the
>>> workaround I mentioned for the new stuff helps (I still agree though
>>> that a switch to turn it on and off would be nice).
>>>
>>> Regards,
>>> Brendan
>>>
>>> On 9/16/06, *Stefan Petre* < [EMAIL PROTECTED]
>>> <mailto:[EMAIL PROTECTED]>> wrote:
>>>
>>> Hi,
>>>
>>> The sortable is composed from draggables and droppables, this way I
>>> reused code. I made an example for you. Tell if this is what are you
>>> trying to do
>>> http://interface.eyecon.ro/demos/sort_example.html
>>>
>>> Also, please download interface again because I improved a lot
>>> things there.
>>>
>>> Stefan
>>>
>>>
>>> bbuchs wrote:
>>> > I posted earlier this week about a problem with Interface and the
>>> > drag/drop/sort functionality. Someone pointed out that my example
>>> had an
>>> > error in IE, so I went back to the drawing board to refactor the
>>> code. I've
>>> > posted three demo pages that explain my problem:
>>> >
>>> > http://beta.bryanbuchs.com/index.html
>>> <http://beta.bryanbuchs.com/index.html>
>>> http://beta.bryanbuchs.com/index.html
>>> <http://beta.bryanbuchs.com/index.html>
>>> > http://beta.bryanbuchs.com/index2.html
>>> > http://beta.bryanbuchs.com/index2.html
>>> > http://beta.bryanbuchs.com/index3.html
>>> > http://beta.bryanbuchs.com/index3.html
>>> >
>>> > The first link demonstrates that my code isn't entirely wonky -
>>> draggables
>>> > and droppables are working fine. In the second example, all I did
>>> was to
>>> > include the "isortables" file, and everything goes haywire. In
>>> the last
>>> > example, I actually create a sortable list; this stops one error
>>> from
>>> > occuring, but introduces functionality that I think is just
>>> wrong.
>>> >
>>> > Stefan, I hope you're reading and can take a look at my examples.
>>> >
>>> > As I mentioned in my last post, I believe the problems stem from
>>> the Sept.
>>> > 11 2006 modifications that were made; the big update was that a
>>> droppable
>>> > dropped in a sortable becomes part of the sortable. In my
>>> opinion, a
>>> > draggable is a draggable, a droppable is a droppable, and a
>>> sortable is a
>>> > sortable. if you want to convert an element from one to the
>>> other, it should
>>> > not happen automatically. If it's an option that can be passed,
>>> that's fine,
>>> > but it should not be the default behaviour. I think my examples
>>> show why the
>>> > auto-conversion is a bad idea.
>>> >
>>
>> _______________________________________________
>> jQuery mailing list
>> [email protected]
>> http://jquery.com/discuss/
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/Interface%3A-draggables%2C-droppables%2C-and-sortables-tf2280438.html#a6431937
Sent from the JQuery mailing list archive at Nabble.com.
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/