sortable: how to restrict sorting to siblings in an ordered list?

sortable: how to restrict sorting to siblings in an ordered list?


I have an ordered list with multiple nested ordered lists <ol> and I'd
like to restrict the sortable movement so that only <li> items in the
same "level" can be sorted. For example, with a list like this:
Category A
------ Category A-1
------ Category A-2
------------- Category A-2-1
------------- Category A-2-2
------ Category A-3
Category B
------ Category B-1
------ Category B-2
------ Category B-3
Category C
Category D
Category A, B, C, D could be sorted on the Y axis, but they should not
be allowed to move into the sub-category areas (A-1, B-1, etc.). So
A, B, C, D can change positions. Similarly, A-1, A-2, and A-3 could
changed positions, but not allowed to move into A-2-1.
In other words, I'd like the list items to be sortable, but not able
to change their "parent" node, just sortable within their siblings.
So if I grabbed "Category B" and moved it below "Category C", then all
child nodes of "B" would go with it, but I should NOT be able to grab
B-2 and move it under "Category C".