Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 43 additions & 38 deletions core/wiki/macros/list.tid
Original file line number Diff line number Diff line change
Expand Up @@ -24,44 +24,49 @@ tags: $:/tags/Macro

\define list-links-draggable(tiddler,field:"list",emptyMessage,type:"ul",subtype:"li",class:"",itemTemplate)
\whitespace trim
<span class="tc-links-draggable-list">
<$vars targetTiddler="""$tiddler$""" targetField="""$field$""">
<$genesis $type=<<__type__>> class="$class$">
<$list filter="[list[$tiddler$!!$field$]]" emptyMessage=<<__emptyMessage__>>>
<$droppable
actions=<<list-links-draggable-drop-actions>>
tag="""$subtype$"""
enable=<<tv-enable-drag-and-drop>>
>
<div class="tc-droppable-placeholder"/>
<div>
<$transclude tiddler="""$itemTemplate$""">
<$link to={{!!title}}>
<$let tv-wikilinks="no">
<$transclude field="caption">
<$view field="title"/>
</$transclude>
</$let>
</$link>
</$transclude>
</div>
</$droppable>
</$list>
<$tiddler tiddler="">
<$droppable
actions=<<list-links-draggable-drop-actions>>
tag="div"
enable=<<tv-enable-drag-and-drop>>
>
<div class="tc-droppable-placeholder">
{{$:/core/images/blank}}
</div>
<div style="height:0.5em;"/>
</$droppable>
</$tiddler>
</$genesis>
</$vars>
</span>
<$set name="_tiddler" value="""$tiddler$""" emptyValue=<<currentTiddler>> >
<$let field-reference={{{ [<_tiddler>] "!!" [[$field$]] +[join[]] }}}
targetTiddler=<<_tiddler>>
targetField="""$field$"""
>
<span class="tc-links-draggable-list">
<$genesis $type=<<__type__>> class="$class$">
<$list filter="[list<field-reference>]" emptyMessage=<<__emptyMessage__>>>
<$droppable
actions=<<list-links-draggable-drop-actions>>
tag="""$subtype$"""
enable=<<tv-enable-drag-and-drop>>
>
<div class="tc-droppable-placeholder"/>
<div>
<$transclude tiddler="""$itemTemplate$""">
<$link to={{!!title}}>
<$let tv-wikilinks="no">
<$transclude field="caption">
<$view field="title"/>
</$transclude>
</$let>
</$link>
</$transclude>
</div>
</$droppable>
</$list>
<$tiddler tiddler="">
<$droppable
actions=<<list-links-draggable-drop-actions>>
tag="div"
enable=<<tv-enable-drag-and-drop>>
>
<div class="tc-droppable-placeholder">
{{$:/core/images/blank}}
</div>
<div style="height:0.5em;"/>
</$droppable>
</$tiddler>
</$genesis>
</span>
</$let>
</$set>
\end

\define list-tagged-draggable-drop-actions(tag)
Expand Down
21 changes: 14 additions & 7 deletions editions/tw5.com/tiddlers/macros/list-links-draggable Macro.tid
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,26 @@ The <<.def list-links-draggable>> [[macro|Macros]] renders the ListField of a ti

!! Parameters

;tiddler
; tiddler
: The title of the tiddler containing the list
;field
: <<.from-version 5.4.0>> If the tiddler parameter is not defined it defaults to: <<.var currentTiddler>>

; field
: The name of the field containing the list (defaults to `list`)
;emptyMessage

; emptyMessage
: Optional wikitext to display if there is no output (tiddler is not existed, field is not existed or empty)
;type

; type
: The element tag to use for the list wrapper (defaults to `ul`)
;subtype

; subtype
: The element tag to use for the list items (defaults to `li`)
;class

; class
: Optional space separated classes to add to the wrapper element
;itemTemplate

; itemTemplate
: Optional title of a tiddler to use as the template for rendering list items

If the `itemTemplate` parameter is not provided then the list items are rendered as simple links. Within the `itemTemplate`, the [[currentTiddler Variable]] refers to the current list item.
Expand Down