2014-09-11 14:52:47 +00:00
|
|
|
title: $:/core/macros/list
|
|
|
|
tags: $:/tags/Macro
|
|
|
|
|
2022-11-05 09:10:31 +00:00
|
|
|
\define list-links(filter,type:"ul",subtype:"li",class:"",emptyMessage,field:"caption")
|
2019-07-02 15:53:02 +00:00
|
|
|
\whitespace trim
|
2022-11-05 09:10:31 +00:00
|
|
|
<$genesis $type=<<__type__>> class=<<__class__>>>
|
2022-11-05 09:41:43 +00:00
|
|
|
<$list filter=<<__filter__>> emptyMessage=<<__emptyMessage__>>>
|
2022-11-05 09:10:31 +00:00
|
|
|
<$genesis $type=<<__subtype__>>>
|
2014-09-11 14:52:47 +00:00
|
|
|
<$link to={{!!title}}>
|
2022-03-26 12:44:28 +00:00
|
|
|
<$let tv-wikilinks="no">
|
2022-11-05 09:10:31 +00:00
|
|
|
<$transclude field=<<__field__>>>
|
2014-09-11 14:52:47 +00:00
|
|
|
<$view field="title"/>
|
2014-09-28 19:11:58 +00:00
|
|
|
</$transclude>
|
2022-03-26 12:44:28 +00:00
|
|
|
</$let>
|
2014-09-11 14:52:47 +00:00
|
|
|
</$link>
|
2022-11-05 09:10:31 +00:00
|
|
|
</$genesis>
|
2014-09-11 14:52:47 +00:00
|
|
|
</$list>
|
2022-11-05 09:10:31 +00:00
|
|
|
</$genesis>
|
2014-09-11 14:52:47 +00:00
|
|
|
\end
|
2017-03-20 22:11:06 +00:00
|
|
|
|
|
|
|
\define list-links-draggable-drop-actions()
|
2022-02-24 11:08:06 +00:00
|
|
|
<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter="+[insertbefore<actionTiddler>,<currentTiddler>]"/>
|
2017-03-20 22:11:06 +00:00
|
|
|
\end
|
|
|
|
|
2022-07-13 14:58:27 +00:00
|
|
|
\define list-links-draggable(tiddler,field:"list",emptyMessage,type:"ul",subtype:"li",class:"",itemTemplate)
|
2019-03-10 20:05:18 +00:00
|
|
|
\whitespace trim
|
|
|
|
<span class="tc-links-draggable-list">
|
2017-03-20 22:11:06 +00:00
|
|
|
<$vars targetTiddler="""$tiddler$""" targetField="""$field$""">
|
2023-01-19 17:48:23 +00:00
|
|
|
<$genesis $type=<<__type__>> class="$class$">
|
2022-07-13 14:58:27 +00:00
|
|
|
<$list filter="[list[$tiddler$!!$field$]]" emptyMessage=<<__emptyMessage__>>>
|
2020-03-20 10:46:17 +00:00
|
|
|
<$droppable actions=<<list-links-draggable-drop-actions>> tag="""$subtype$""" enable=<<tv-enable-drag-and-drop>>>
|
2019-03-10 20:05:18 +00:00
|
|
|
<div class="tc-droppable-placeholder"/>
|
2017-03-20 22:11:06 +00:00
|
|
|
<div>
|
|
|
|
<$transclude tiddler="""$itemTemplate$""">
|
2018-03-06 13:29:27 +00:00
|
|
|
<$link to={{!!title}}>
|
2022-03-26 12:49:17 +00:00
|
|
|
<$let tv-wikilinks="no">
|
2017-03-20 22:11:06 +00:00
|
|
|
<$transclude field="caption">
|
|
|
|
<$view field="title"/>
|
|
|
|
</$transclude>
|
2022-03-26 12:49:17 +00:00
|
|
|
</$let>
|
2017-03-20 22:11:06 +00:00
|
|
|
</$link>
|
2018-03-06 13:29:27 +00:00
|
|
|
</$transclude>
|
2017-03-20 22:11:06 +00:00
|
|
|
</div>
|
|
|
|
</$droppable>
|
|
|
|
</$list>
|
|
|
|
<$tiddler tiddler="">
|
2020-03-20 10:46:17 +00:00
|
|
|
<$droppable actions=<<list-links-draggable-drop-actions>> tag="div" enable=<<tv-enable-drag-and-drop>>>
|
2017-03-20 22:11:06 +00:00
|
|
|
<div class="tc-droppable-placeholder">
|
2020-10-28 13:13:55 +00:00
|
|
|
{{$:/core/images/blank}}
|
2017-03-20 22:11:06 +00:00
|
|
|
</div>
|
2018-03-06 13:29:27 +00:00
|
|
|
<div style="height:0.5em;"/>
|
2017-03-20 22:11:06 +00:00
|
|
|
</$droppable>
|
|
|
|
</$tiddler>
|
2023-01-19 17:48:23 +00:00
|
|
|
</$genesis>
|
2017-03-20 22:11:06 +00:00
|
|
|
</$vars>
|
2019-03-10 20:05:18 +00:00
|
|
|
</span>
|
2017-03-20 22:11:06 +00:00
|
|
|
\end
|
|
|
|
|
2018-11-20 11:43:15 +00:00
|
|
|
\define list-tagged-draggable-drop-actions(tag)
|
2022-04-01 11:08:53 +00:00
|
|
|
\whitespace trim
|
2017-03-20 22:11:06 +00:00
|
|
|
<!-- Save the current ordering of the tiddlers with this tag -->
|
2018-11-20 11:43:15 +00:00
|
|
|
<$set name="order" filter="[<__tag__>tagging[]]">
|
2017-03-20 22:11:06 +00:00
|
|
|
<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->
|
2018-11-20 11:43:15 +00:00
|
|
|
<$list filter="[<__tag__>tagging[]]">
|
2017-03-20 22:11:06 +00:00
|
|
|
<$action-deletefield $field="list-before"/>
|
|
|
|
<$action-deletefield $field="list-after"/>
|
|
|
|
</$list>
|
2018-11-20 11:43:15 +00:00
|
|
|
<!-- Save the new order to the Tag Tiddler -->
|
2022-02-24 11:08:06 +00:00
|
|
|
<$action-listops $tiddler=<<__tag__>> $field="list" $filter="+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]"/>
|
2017-03-20 22:11:06 +00:00
|
|
|
<!-- Make sure the newly added item has the right tag -->
|
2018-11-20 11:43:15 +00:00
|
|
|
<!-- Removing this line makes dragging tags within the dropdown work as intended -->
|
|
|
|
<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->
|
|
|
|
<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->
|
|
|
|
<$list filter="[<actionTiddler>!contains:tags<__tag__>]">
|
|
|
|
<$fieldmangler tiddler=<<actionTiddler>>>
|
|
|
|
<$action-sendmessage $message="tm-add-tag" $param=<<__tag__>>/>
|
|
|
|
</$fieldmangler>
|
|
|
|
</$list>
|
2017-03-20 22:11:06 +00:00
|
|
|
</$set>
|
|
|
|
\end
|
|
|
|
|
2020-01-30 15:43:02 +00:00
|
|
|
\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:"div",storyview:"")
|
2019-03-10 20:05:18 +00:00
|
|
|
\whitespace trim
|
|
|
|
<span class="tc-tagged-draggable-list">
|
2018-11-20 11:43:15 +00:00
|
|
|
<$set name="tag" value=<<__tag__>>>
|
2020-01-30 15:43:02 +00:00
|
|
|
<$list filter="[<__tag__>tagging[]$subFilter$]" emptyMessage=<<__emptyMessage__>> storyview=<<__storyview__>>>
|
2023-01-19 17:48:23 +00:00
|
|
|
<$genesis $type=<<__elementTag__>> class="tc-menu-list-item">
|
2020-03-20 10:46:17 +00:00
|
|
|
<$droppable actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__>>/>""" enable=<<tv-enable-drag-and-drop>>>
|
2023-01-19 17:48:23 +00:00
|
|
|
<$genesis $type=<<__elementTag__>> class="tc-droppable-placeholder"/>
|
|
|
|
<$genesis $type=<<__elementTag__>>>
|
2017-03-20 22:11:06 +00:00
|
|
|
<$transclude tiddler="""$itemTemplate$""">
|
|
|
|
<$link to={{!!title}}>
|
|
|
|
<$view field="title"/>
|
|
|
|
</$link>
|
|
|
|
</$transclude>
|
2023-01-19 17:48:23 +00:00
|
|
|
</$genesis>
|
2017-03-20 22:11:06 +00:00
|
|
|
</$droppable>
|
2023-01-19 17:48:23 +00:00
|
|
|
</$genesis>
|
2017-03-20 22:11:06 +00:00
|
|
|
</$list>
|
|
|
|
<$tiddler tiddler="">
|
2020-03-20 10:46:17 +00:00
|
|
|
<$droppable actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__>>/>""" enable=<<tv-enable-drag-and-drop>>>
|
2023-01-19 17:48:23 +00:00
|
|
|
<$genesis $type=<<__elementTag__>> class="tc-droppable-placeholder"/>
|
|
|
|
<$genesis $type=<<__elementTag__>> style="height:0.5em;">
|
|
|
|
</$genesis>
|
2017-03-20 22:11:06 +00:00
|
|
|
</$droppable>
|
|
|
|
</$tiddler>
|
|
|
|
</$set>
|
2019-03-10 20:05:18 +00:00
|
|
|
</span>
|
2017-03-20 22:11:06 +00:00
|
|
|
\end
|