OnDrag select multiple widgets

advanced-prototyping

#1

I’m working on building a prototype that will:
1. emulate multiple cell selection in Excel (all cells contained within rectangular selected area), and then
2. trigger a modal where the user can then make changes to info across all “cells” in that selection

I found this thread very useful for creating a box via OnDrag over a selected area: https://forum.axure.com/t/select-area-option/54687/4, but I can’t get the box I create to trigger other widgets that it touches. I’ve tried using “OnResize if area of widget [box] is over area of widget [other], set selected to value True,” as well as setting conditions for OnMouseEnter, etc. but I can’t get these widgets to communicate. Greatly appreciate any help you can provide!


#2

Hi Ed_Mikos,

Could you post your .rp file here so that I can take a look at what you have set up so far? I’ll then be able to offer some more targeted assistance. Thanks!


#3

airspace_scheduling.rp (1.8 MB)

See Page 1. User can draw a box by click/dragging, and they can select multiple cells in the repeater array, but I need to be able to select all cells contained within a rectangular selection area.

Thanks!


#4

Hi Ed_Mikos,

This one slipped through my radar - apologies for the delayed response!

To multi select widgets with drag, could you try adding an OnDragDrop to the background panel widget to say, if the widget is over the area of the targeted widget (a, b, c, etc.), then set those to selected? To exemplify this, I removed the selection group of the a, b, c, etc. widgets. If you wanted to add this to the repeater, then you’ll want to take the repeater out of the dynamic panel and then target the repeater in the OnDragDrop interaction instead.

Lmk if I misunderstood, though!

airspace_scheduling_EDIT.rp (1.8 MB)


#6

Thanks for the response though it wasn’t quite what I was trying to do. Please see new file attached – I found and modified another link which has gotten me closer, but it’s jerky. If you click and drag, you can select any boxes in the array that intersect the selection area (e.g. drag selection box diagonally from A to J to select boxes A, B, E, F, I, and J), but then it has trouble with resizing. If you drag into any other quadrant past the origin, the selection area moves very smoothly, but if you move too quickly it loses the origin and the selection area jumps around the screen. Appreciate any help you can provide. Thanks!

dragtoSelectEDIT.rp (84.7 KB)


#7

Hi Ed_Mikos,

It looks like some of the jerkiness can be resolved by changing the OnMouseDown, OnMouseMove and OnMouseUp interactions to OnStartDrag, OnDrag, and OnDragDrop interactions. Changing over to these drag-specific interactions should help ensure more smooth transitions as the selection occurs. Let me know if you have any questions!

dragtoSelectEDIT_edited.rp (84.7 KB)