11title: $:/core/macros/list
22tags: $:/tags/Macro
33
4- \procedure list-links-draggable-drop-actions()
5- <$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter="+[insertbefore<actionTiddler>,<currentTiddler>]"/>
6- \end
7-
4+ \define list-links(filter,type:"ul",subtype:"li",class:"",emptyMessage,field:"caption")
85\whitespace trim
9- \procedure list-links(filter,type:"ul",subtype:"li",class:"",emptyMessage,field:"caption")
10- <$genesis $type=<<type>> class=<<class>>>
11- <$list filter=<<filter>> emptyMessage=<<emptyMessage>>>
12- <$genesis $type=<<subtype>>>
6+ <$genesis $type=<<__type__>> class=<<__class__>>>
7+ <$list filter=<<__filter__>> emptyMessage=<<__emptyMessage__>>>
8+ <$genesis $type=<<__subtype__>>>
139 <$link to={{!!title}}>
1410 <$let tv-wikilinks="no">
15- <$transclude field=<<field >>>
11+ <$transclude field=<<__field__ >>>
1612 <$view field="title"/>
1713 </$transclude>
1814 </$let>
@@ -22,19 +18,24 @@ tags: $:/tags/Macro
2218</$genesis>
2319\end
2420
25- \procedure list-links-draggable(tiddler,field:"list",emptyMessage,type:"ul",subtype:"li",class:"",itemTemplate)
21+ \define list-links-draggable-drop-actions()
22+ <$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter="+[insertbefore<actionTiddler>,<currentTiddler>]"/>
23+ \end
24+
25+ \define list-links-draggable(tiddler,field:"list",emptyMessage,type:"ul",subtype:"li",class:"",itemTemplate)
26+ \whitespace trim
2627<span class="tc-links-draggable-list">
27- <$let targetTiddler=<< tiddler>> targetField=<< field>> >
28- <$genesis $type=<<type >> class=<< class>> >
29- <$list filter="[< tiddler>get< field>enlist-input[ ]]" emptyMessage=<<emptyMessage >>>
28+ <$vars targetTiddler="""$ tiddler$""" targetField="""$ field$""" >
29+ <$genesis $type=<<__type__ >> class="$ class$" >
30+ <$list filter="[list[$ tiddler$!!$ field$ ]]" emptyMessage=<<__emptyMessage__ >>>
3031 <$droppable
3132 actions=<<list-links-draggable-drop-actions>>
32- tag=<< subtype>>
33+ tag="""$ subtype$"""
3334 enable=<<tv-enable-drag-and-drop>>
3435 >
3536 <div class="tc-droppable-placeholder"/>
3637 <div>
37- <$transclude tiddler=<< itemTemplate>> >
38+ <$transclude tiddler="""$ itemTemplate$""" >
3839 <$link to={{!!title}}>
3940 <$let tv-wikilinks="no">
4041 <$transclude field="caption">
@@ -59,48 +60,50 @@ tags: $:/tags/Macro
5960 </$droppable>
6061 </$tiddler>
6162 </$genesis>
62- </$let >
63+ </$vars >
6364</span>
6465\end
6566
66- \procedure list-tagged-draggable-drop-actions(tag)
67+ \define list-tagged-draggable-drop-actions(tag)
68+ \whitespace trim
6769<!-- Save the current ordering of the tiddlers with this tag -->
68- <$set name="order" filter="[<tag >tagging[]]">
70+ <$set name="order" filter="[<__tag__ >tagging[]]">
6971 <!-- Remove any list-after or list-before fields from the tiddlers with this tag -->
70- <$list filter="[<tag >tagging[]]">
72+ <$list filter="[<__tag__ >tagging[]]">
7173 <$action-deletefield $field="list-before"/>
7274 <$action-deletefield $field="list-after"/>
7375 </$list>
7476 <!-- Save the new order to the Tag Tiddler -->
75- <$action-listops $tiddler=<<tag >> $field="list" $filter="+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]"/>
77+ <$action-listops $tiddler=<<__tag__ >> $field="list" $filter="+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]"/>
7678 <!-- Make sure the newly added item has the right tag -->
7779 <!-- Removing this line makes dragging tags within the dropdown work as intended -->
78- <!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<tag >>/>-->
80+ <!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__ >>/>-->
7981 <!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->
80- <$list filter="[<actionTiddler>!contains:tags<tag >]">
82+ <$list filter="[<actionTiddler>!contains:tags<__tag__ >]">
8183 <$fieldmangler tiddler=<<actionTiddler>>>
82- <$action-sendmessage $message="tm-add-tag" $param=<<tag >>/>
84+ <$action-sendmessage $message="tm-add-tag" $param=<<__tag__ >>/>
8385 </$fieldmangler>
8486 </$list>
8587</$set>
8688\end
8789
88- \procedure list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:"div",storyview:"")
90+ \define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:"div",storyview:"")
91+ \whitespace trim
8992<span class="tc-tagged-draggable-list">
90- <$set name="tag" value=<<tag >>>
93+ <$set name="tag" value=<<__tag__ >>>
9194 <$list
92- filter=`[<tag >tagging[]$( subFilter)$]`
93- emptyMessage=<<emptyMessage >>
94- storyview=<<storyview >>
95+ filter="[<__tag__ >tagging[]$subFilter$]"
96+ emptyMessage=<<__emptyMessage__ >>
97+ storyview=<<__storyview__ >>
9598 >
96- <$genesis $type=<<elementTag >> class="tc-menu-list-item">
99+ <$genesis $type=<<__elementTag__ >> class="tc-menu-list-item">
97100 <$droppable
98- actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<tag >>/>"""
101+ actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__ >>/>"""
99102 enable=<<tv-enable-drag-and-drop>>
100103 >
101- <$genesis $type=<<elementTag >> class="tc-droppable-placeholder"/>
102- <$genesis $type=<<elementTag >>>
103- <$transclude tiddler=<< itemTemplate>> >
104+ <$genesis $type=<<__elementTag__ >> class="tc-droppable-placeholder"/>
105+ <$genesis $type=<<__elementTag__ >>>
106+ <$transclude tiddler="""$ itemTemplate$""" >
104107 <$link to={{!!title}}>
105108 <$let tv-wikilinks="no">
106109 <$transclude field="caption">
@@ -115,11 +118,11 @@ tags: $:/tags/Macro
115118 </$list>
116119 <$tiddler tiddler="">
117120 <$droppable
118- actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<tag >>/>"""
121+ actions="""<$macrocall $name="list-tagged-draggable-drop-actions" tag=<<__tag__ >>/>"""
119122 enable=<<tv-enable-drag-and-drop>>
120123 >
121- <$genesis $type=<<elementTag >> class="tc-droppable-placeholder"/>
122- <$genesis $type=<<elementTag >> style="height:0.5em;"/>
124+ <$genesis $type=<<__elementTag__ >> class="tc-droppable-placeholder"/>
125+ <$genesis $type=<<__elementTag__ >> style="height:0.5em;"/>
123126 </$droppable>
124127 </$tiddler>
125128 </$set>
0 commit comments