Skip to content

Class: cWebDragDropFileHelper

Properties | Events | Methods | Index of Classes

Adds file drag and drop fuctionality to web controls

Hierarchy

cObject > cWebBaseObject > cWebObject > cWebDragDropHelper > cWebDragDropFileHelper

Show full hierarchy and direct subclasses

Library: Web Application Class Library

Package: cWebDragDropFileHelper.pkg

Mixins: cWebFileUploadMixin

Description

Adds file drag and drop fuctionality to web controls.

Drag Actions

The following classes support elements being dragged for specific actions using the following constants:

cWebList: C_WebDragListRow cWebTreeView: C_WebDragTreeviewFolder, C_WebDragTreeviewItem cWebTagsForm: C_WebDragTagsFormTag

Attempting to add an unsupported drag action to a control will result in an Error.

Drop Actions

Every web control, including containers like cWebPanel or cWebGroup, supports the C_WebDropOnControl action. This allows the entire control to function as a drop zone.

The following classes support elements being dropped onto for specific actions using the following constants:

All web controls: C_WebDropOnControl cWebList: C_WebDropListRow cWebTreeView: C_WebDropTreeviewRoot, C_WebDropTreeviewFolder, C_WebDropTreeviewItem cWebTagsForm: C_WebDropTagsFormInput

File Dropping

To enable dropping of files onto a control, add a cWebDragDropFileHelper object to your view. The cWebDragDropFileHelper class has all the functionality of the cWebDragDropHelper, but also supports dropping files onto controls registered as a Drop Target.

Any Drop Target added in a cWebDragDropFileHelper object will automatically accept files as a valid Drag Source. When dropping a file, the potential target controls and areas are dictated by how you set up your DropTargets.

Sample

For example, the code below adds the oSortedCustomers TreeView as a target, but only allows files to be dropped on Folder nodes.

Object oFileDropHelper is a cWebDragDropFileHelper
    Send RegisterDropTarget oTreeViewFiles C_WebDropTreeviewFolder

You can add your own business logic to be executed when a file drop happens (before the upload) by implementing the OnFileDrop event.

Sample

In the example below, the OnFileDrop uses the drop data provided to extract the folder to upload the dropped filed to, and returns this.

Function OnFileDrop String sFileName Integer iBytes String sMime Handle hoDropTarget WebDropPosition eDropPosition Returns String
    String sPath
    tWebTreeViewDropData oDropData

    Get DropData of hoDropTarget to oDropData
    Get UploadFolder of ghoWebApp True to sPath

    Move (sPath + "/DragDropDemo/" + oDropData.data.sName + "/" + sFileName) to sPath

    Function_Return sPath
End_Function

Procedure OnFileFinished String sFileName String sLocalPath
    Forward Send OnFileFinished sFileName sLocalPath

    Send FullRefresh of oTreeViewFiles
End_Procedure