caption: draggable created: 20170406081938627 modified: 20190118084621046 tags: Widgets title: DraggableWidget type: text/vnd.tiddlywiki The DraggableWidget creates a DOM element that can be dragged by the user. It only works on browsers that support drag and drop, which typically means desktop browsers, but [[there are workarounds|Mobile Drag And Drop Shim Plugin]]. The draggable element can be assigned a list of tiddlers that are used as the payload. If desired it can invoke actions when dragging starts and when it ends. See DragAndDropMechanism for an overview. ! Content and Attributes |!Attribute |!Description | |tiddler |Optional title of the payload tiddler for the drag | |filter |Optional filter defining the payload tiddlers for the drag | |class |Optional CSS classes to assign to the draggable element. The class `tc-draggable` is added automatically, and the class `tc-dragging` is applied while the element is being dragged | |tag |Optional tag to override the default "div" element | |startactions |Optional action string that gets invoked when dragging ''starts'' | |endactions |Optional action string that gets invoked when dragging ''ends'' | Either or both of the ''tiddler'' and ''filter'' attributes must be specified in order for there to be a payload to drag. The [[actionTiddler Variable]] is accessible in both //startactions// and //endactions//. It holds the payload tiddler(s) specified through the //tiddler// and //filter// attributes as a [[Title List]] using double square brackets to quote titles that include whitespace. <<.tip """Note that the [[actionTiddler Variable]] holds a [[Title List]] quoted with double square brackets. This is unlike the DroppableWidget which uses the same variable to pass a single unquoted title.""">> The LinkWidget incorporates the functionality of the DraggableWidget via the ''draggable'' attribute.