Recently I’ve been tooling with @linonetwo 's Calendar layout and I have modified the stream-row-template
so I can drag streams items into the calendar and autopopulate with tiddler values. Pretty straightforward, maybe not generic enough in its current form, but might be something to adapt to more general use.
I sympathize with this, I remember it was slightly more complicated than I had expected, but still managed
Relevant pieces of the template:
<div class={{{ stream-row [<currentTiddler>get[stream-collapsed]match[yes]then[stream-row-children-collapsed]] +[join[ ]]}}}
data-node-title=<<currentTiddler>>
data-node-tags={{!!tags}}
>
<$button class="tc-btn-invisible stream-node-ctrl-btn stream-node-collapser" data-btn-role="stream-node-visibility">
<$action-setfield $tiddler=<<currentTiddler>> stream-collapsed={{{ [<currentTiddler>get[stream-collapsed]match[yes]then[no]else[yes]] }}}/>
{{$:/plugins/sq/streams/icons/node-expand-arrow}}
</$button>
<$reveal
tag="div"
type="nomatch"
stateTitle=<<currentTiddler>>
stateField="stream-collapsed"
text="yes"
class="stream-row-children"
>
{{||$:/plugins/sq/streams/templates/stream-root-template}}
</$reveal>