On 03/18/2015 11:43 AM, Dan Haywood wrote:
I've had two ideas on this.

~~~
The first is very generic... allow no-arg actions to be rendered as buttons
on table rows.  The action on the domain object (shown as a table row)
would update state to change its apparent ordering).  The viewer would then
re-render the same collection in the same way it does currently for bulk
actions (by invoking the finder that returned the list).
This would be very nice to have. This reduces the amount of clicks to be performed by the user very much.
~~~
The other idea is a little more specialized; introduce a new Movable
interface into the applib, eg:

public interface Movable {
     void moveBetween(Object before, Object after);
}

Then, enhance the Wicket viewer so that "movable" objects could be dragged
up and down; on release the viewer would invoke the "moveBetween" method
passing the objects before and after the drop zone, and then (as above)
re-render the list.
For updating ranks, I would prefer this solution.

~~~
If either of these appeals then raise a ticket (actually, I think there
might be one already for the first idea).
I will raise a ticket for both solutions.

In terms of actually implementing these tickets, I have no plans myself but
Martin (as our resident Wicket expert) might either (a) oblige or (b)
provide some guidance.

Cheers
Dan


On 18 March 2015 at 09:06, Martin Grigorov <[email protected]> wrote:

Hi,

On Wed, Mar 18, 2015 at 10:46 AM, Erik de Hair <[email protected]> wrote:

On 03/17/2015 09:16 PM, Martin Grigorov wrote:

Hi,

Maybe you can use the Bulk support - select few items in the table, then
click Up/Down action and depending on the action increase/decrease the
rank
of the selected items.

Martin Grigorov
Freelancer, available for hire!
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Tue, Mar 17, 2015 at 7:17 PM, Erik de Hair <[email protected]>
wrote:
Hi Martin,

I thought your idea would be a nice solution but there's one problem when
moving succeeding items down. Each pair of items will switch ranks than
but
won't move down. This could be solved by moving items down while
beginning
at the bottom of the sorted set, but I don't think I can influence the
order in which the bulk actions are called to the single items, do I?

I can't expect users to only select 'solitary' items and I think it's not
possible to check for that condition.

Would it be possible to create a different view for a datatable which
displays the items (implementing some interface with methods like
'rankUp/Down()') with 2 buttons per row for moving a single item up or
down, by calling rankUp/Down of this item?

Everything is possible!
The fastest and easiest way (for me!) would be to create a custom component
factory that creates a custom component for objects implementing this
special/custom interface and renders them as you wish. But this is me
thinking as a Wicket developer. Maybe Dan will have a better Isis solution
for the problem.



Erik

  Hi Oscar, Dan,
I think my question wasn't really clear. The ordering in the table is
not
the problem (I've already implemented the comparable interface based on
the
mentioned rank-property).

I need to arbitrarily change the order of the items by moving an item
up
or down in the list (this should change the rank values). I was
wondering
if anybody had an idea or any experience with an elegant way to
implement
the moving-actions to be executed by the user.

Thanks,
Erik



On 03/17/2015 05:48 PM, Dan Haywood wrote:

  And also, you can write a custom comparator and reference it using
@CollectionLayout(sortedBy=MyCustomComparator.class)

Cheers
Dan



On 17 March 2015 at 16:39, GESCONSULTOR <[email protected]>
wrote:
   Hi Erick.

Simply by implementing the Comparable interface.

HTH,

Oscar


   El 17/3/2015, a las 16:43, Erik de Hair <[email protected]>
escribió:

Hi,

Anybody a great idea for changing item order in a sorted set using
the
  wicket viewer? I have a rank-property in the database but how to
easily
manage the item order (move item(s) up/down single or multiple
places)...

  Thanks,
Erik



Reply via email to