Aurora to PROIV Drag and Drop Overview |
Open Client Administration |
In this scenario, you can click on an object or many objects in Aurora (JavaScript objects) and drag the mouse pointer to a PROIV Static Icon. A payload of PROIV compatible data (a string or PROIV Array of strings) and the data type is attached to the drag (this is the responsibility of the developer of the object in Aurora). When the drop on the PROIV icon occurs, one Function Logic is actioned (On Drop Target) which accesses the data payload.
The drop occurs if the following statements are true (if not, the drop is prevented by the Open Client):
The PROIV Virtual Machine is in the Wait for Input state.
The target Static Icon has the DropEnabled property set.
The target Static Icon has the DropTypeAllowed property set to match the Drag Type value held in the payload.
The target Static Icon has the Drop Item Limit set to >= the number of strings in the payload.
Click here to learn more about properties mentioned above.
If the drop is blocked by the Open Client or is cancelled by the user, (pressing the CANCEL key or releasing mouse when dragging, or dropping onto somewhere that is an invalid target, i.e. inside or outside the Open Client session), the payload is discarded and no events are fired.
If the Open Client permits the drop, the following events occur:
The string in the drag payload is loaded into the variable defined in the DropDataVariable property. For example, if DropDataVariable is set to $DROP_DATA, then $DROP_DATA contains the string in the payload after the drop. If the screen design allows many objects to be dragged, the variable must be an array, i.e. $DROP_DATA(). If the data is longer than $DROP_DATA is defined to take, truncation occurs with no indication to the Open Client or the user. If $DROP_DATA is not defined as an array, it takes the first element of the payload data with no indication to the Open Client or the user.
The Function Logic in the On Drop Target Static Icon event runs against the target object.
When the PROIV VM is back in the Wait for Input state, the Open Client recognises this and interacts with the Aurora object as necessary. For example, the Aurora may remove source objects that were dragged to PROIV target objects.
Topic ID: 800099