1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2025-03-31 15:56:55 +00:00

Make tag-picker and keyboard-driven-input macros human readable (#7118)

* make tag-picker and keyboard-driven-input macros human readable

* fix indentation as requested
This commit is contained in:
Mario Pietsch 2023-01-19 21:44:00 +01:00 committed by GitHub
parent c20c35c0a6
commit e6189078ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 208 additions and 120 deletions

View File

@ -4,76 +4,85 @@ tags: $:/tags/Macro
\define change-input-tab(stateTitle,tag,beforeafter,defaultState,actions) \define change-input-tab(stateTitle,tag,beforeafter,defaultState,actions)
\whitespace trim \whitespace trim
<$set name="tabsList" filter="[all[shadows+tiddlers]tag<__tag__>!has[draft.of]]"> <$set name="tabsList" filter="[all[shadows+tiddlers]tag<__tag__>!has[draft.of]]">
<$let <$let
currentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}} currentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}}
firstTab={{{ [enlist<tabsList>nth[1]] }}} firstTab={{{ [enlist<tabsList>nth[1]] }}}
lastTab={{{ [enlist<tabsList>last[]] }}} lastTab={{{ [enlist<tabsList>last[]] }}}
nextTab={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$<currentState>] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix<firstTab>] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix<lastTab>] }}}> nextTab={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$<currentState>] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix<firstTab>] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix<lastTab>] }}}
<$action-setfield $tiddler=<<__stateTitle__>> text=<<nextTab>>/> >
$actions$ <$action-setfield $tiddler=<<__stateTitle__>> text=<<nextTab>>/>
</$let> $actions$
</$let>
</$set> </$set>
\end \end
\define keyboard-input-actions() \define keyboard-input-actions()
\whitespace trim \whitespace trim
<$list filter="[<__index__>match[]]"> <$list filter="[<__index__>match[]]">
<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/> <$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/>
</$list> </$list>
<$list filter="[<__index__>!match[]]"> <$list filter="[<__index__>!match[]]">
<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>getindex<__index__>] }}}/> <$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>getindex<__index__>] }}}/>
</$list> </$list>
\end \end
\define input-next-actions-inner() \define input-next-actions-inner()
\whitespace trim \whitespace trim
<$list filter="[<nextItem>minlength[1]]" variable="ignore"> <$list filter="[<nextItem>minlength[1]]" variable="ignore">
<$action-setfield $tiddler=<<__selectionStateTitle__>> text=<<nextItem>>/> <$action-setfield $tiddler=<<__selectionStateTitle__>> text=<<nextItem>>/>
<$list filter="[<__index__>match[]]"> <$list filter="[<__index__>match[]]">
<$action-setfield $tiddler=<<__tiddler__>> $field=<<__field__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/> <$action-setfield $tiddler=<<__tiddler__>> $field=<<__field__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>
</$list> </$list>
<$list filter="[<__index__>!match[]]"> <$list filter="[<__index__>!match[]]">
<$action-setfield $tiddler=<<__tiddler__>> $index=<<__index__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/> <$action-setfield $tiddler=<<__tiddler__>> $index=<<__index__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>
</$list> </$list>
<$action-setfield $tiddler=<<__refreshTitle__>> text="yes"/> <$action-setfield $tiddler=<<__refreshTitle__>> text="yes"/>
</$list> </$list>
\end \end
\define input-next-actions(afterOrBefore:"after",reverse:"") \define input-next-actions(afterOrBefore:"after",reverse:"")
\whitespace trim \whitespace trim
<$list filter="[<__storeTitle__>get[text]minlength<__filterMinLength__>] [<__filterMinLength__>match[0]] +[limit[1]]" variable="ignore"> <$list
<$let filter="[<__storeTitle__>get[text]minlength<__filterMinLength__>] [<__filterMinLength__>match[0]] +[limit[1]]"
userInput={{{ [<__storeTitle__>get[text]] }}} variable="ignore"
selectedItem={{{ [<__selectionStateTitle__>get[text]] }}} >
configTiddler={{{ [subfilter<__configTiddlerFilter__>] }}} <$let
primaryListFilter={{{ [<configTiddler>get<__firstSearchFilterField__>] }}} userInput={{{ [<__storeTitle__>get[text]] }}}
secondaryListFilter={{{ [<configTiddler>get<__secondSearchFilterField__>] }}}> selectedItem={{{ [<__selectionStateTitle__>get[text]] }}}
<$set name="filteredList" filter="[subfilter<primaryListFilter>addsuffix[-primaryList]] =[subfilter<secondaryListFilter>addsuffix[-secondaryList]]"> configTiddler={{{ [subfilter<__configTiddlerFilter__>] }}}
<$let primaryListFilter={{{ [<configTiddler>get<__firstSearchFilterField__>] }}}
nextItem={{{ [enlist<filteredList>$afterOrBefore$<selectedItem>] ~[enlist<filteredList>$reverse$nth[1]] }}} secondaryListFilter={{{ [<configTiddler>get<__secondSearchFilterField__>] }}}
firstItem={{{ [enlist<filteredList>nth[1]] }}} >
lastItem={{{ [enlist<filteredList>last[]] }}}> <$set
<$list filter="[<selectedItem>match<firstItem>!match<lastItem>]" variable="ignore"> name="filteredList"
<$set name="nextItem" value={{{ [[$afterOrBefore$]match[before]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}> filter="[subfilter<primaryListFilter>addsuffix[-primaryList]] =[subfilter<secondaryListFilter>addsuffix[-secondaryList]]"
<<input-next-actions-inner>> >
</$set> <$let
</$list> nextItem={{{ [enlist<filteredList>$afterOrBefore$<selectedItem>] ~[enlist<filteredList>$reverse$nth[1]] }}}
<$list filter="[<selectedItem>match<lastItem>!match<firstItem>]" variable="ignore"> firstItem={{{ [enlist<filteredList>nth[1]] }}}
<$set name="nextItem" value={{{ [[$afterOrBefore$]match[after]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}> lastItem={{{ [enlist<filteredList>last[]] }}}
<<input-next-actions-inner>> >
</$set> <$list filter="[<selectedItem>match<firstItem>!match<lastItem>]" variable="ignore">
</$list> <$set name="nextItem" value={{{ [[$afterOrBefore$]match[before]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>
<$list filter="[<selectedItem>match<firstItem>match<lastItem>]" variable="ignore"> <<input-next-actions-inner>>
<$set name="nextItem" value={{{ [<userInput>addsuffix[-userInput]] }}}> </$set>
<<input-next-actions-inner>> </$list>
</$set> <$list filter="[<selectedItem>match<lastItem>!match<firstItem>]" variable="ignore">
</$list> <$set name="nextItem" value={{{ [[$afterOrBefore$]match[after]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>
<$list filter="[<selectedItem>!match<firstItem>!match<lastItem>]" variable="ignore"> <<input-next-actions-inner>>
<<input-next-actions-inner>> </$set>
</$list> </$list>
</$let> <$list filter="[<selectedItem>match<firstItem>match<lastItem>]" variable="ignore">
</$set> <$set name="nextItem" value={{{ [<userInput>addsuffix[-userInput]] }}}>
</$let> <<input-next-actions-inner>>
</$set>
</$list>
<$list filter="[<selectedItem>!match<firstItem>!match<lastItem>]" variable="ignore">
<<input-next-actions-inner>>
</$list>
</$let>
</$set>
</$let>
</$list> </$list>
\end \end
@ -84,12 +93,14 @@ $actions$
<$keyboard key="((input-up))" actions=<<input-next-actions "before" "reverse[]">>> <$keyboard key="((input-up))" actions=<<input-next-actions "before" "reverse[]">>>
<$keyboard key="((input-down))" actions=<<input-next-actions>>> <$keyboard key="((input-down))" actions=<<input-next-actions>>>
<$keyboard key="((input-cancel))" actions=<<__inputCancelActions__>>> <$keyboard key="((input-cancel))" actions=<<__inputCancelActions__>>>
<$edit-text tiddler=<<__tiddler__>> field=<<__field__>> index=<<__index__>> <$edit-text
inputActions=<<keyboard-input-actions>> tag=<<__tag__>> class=<<__class__>> tiddler=<<__tiddler__>> field=<<__field__>> index=<<__index__>>
placeholder=<<__placeholder__>> default=<<__default__>> focusPopup=<<__focusPopup__>> inputActions=<<keyboard-input-actions>> tag=<<__tag__>> class=<<__class__>>
focus=<<__focus__>> type=<<__type__>> rows=<<__rows__>> minHeight=<<__minHeight__>> placeholder=<<__placeholder__>> default=<<__default__>> focusPopup=<<__focusPopup__>>
tabindex=<<__tabindex__>> size=<<__size__>> autoHeight=<<__autoHeight__>> focus=<<__focus__>> type=<<__type__>> rows=<<__rows__>> minHeight=<<__minHeight__>>
refreshTitle=<<__refreshTitle__>> cancelPopups=<<__cancelPopups__>>/> tabindex=<<__tabindex__>> size=<<__size__>> autoHeight=<<__autoHeight__>>
refreshTitle=<<__refreshTitle__>> cancelPopups=<<__cancelPopups__>>
/>
</$keyboard> </$keyboard>
</$keyboard> </$keyboard>
</$keyboard> </$keyboard>

View File

@ -10,10 +10,14 @@ second-search-filter: [tags[]is[system]search:title<userInput>sort[]]
\define add-tag-actions(actions,tagField:"tags") \define add-tag-actions(actions,tagField:"tags")
\whitespace trim \whitespace trim
<$set name="tag" value={{{ [<__tiddler__>get[text]] }}}> <$set name="tag" value={{{ [<__tiddler__>get[text]] }}}>
<$list filter="[<saveTiddler>!contains:$tagField$<tag>!match[]]" variable="ignore" emptyMessage="<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter='-[<tag>]'/>"> <$list
<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter="[<tag>trim[]]"/> filter="[<saveTiddler>!contains:$tagField$<tag>!match[]]"
$actions$ variable="ignore"
</$list> emptyMessage="<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter='-[<tag>]'/>"
>
<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter="[<tag>trim[]]"/>
$actions$
</$list>
</$set> </$set>
<<delete-tag-state-tiddlers>> <<delete-tag-state-tiddlers>>
<$action-setfield $tiddler=<<refreshTitle>> text="yes"/> <$action-setfield $tiddler=<<refreshTitle>> text="yes"/>
@ -21,80 +25,153 @@ $actions$
\define clear-tags-actions-inner() \define clear-tags-actions-inner()
\whitespace trim \whitespace trim
<$list filter="[<storeTitle>has[text]] [<newTagNameTiddler>has[text]]" variable="ignore" emptyMessage="<<cancel-delete-tiddler-actions 'cancel'>>"> <$list
<<delete-tag-state-tiddlers>> filter="[<storeTitle>has[text]] [<newTagNameTiddler>has[text]]"
variable="ignore"
emptyMessage="<<cancel-delete-tiddler-actions 'cancel'>>"
>
<<delete-tag-state-tiddlers>>
</$list> </$list>
\end \end
\define clear-tags-actions() \define clear-tags-actions()
\whitespace trim \whitespace trim
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}> <$set name="userInput" value={{{ [<storeTitle>get[text]] }}}>
<$list filter="[<newTagNameTiddler>get[text]!match<userInput>]" emptyMessage="<<clear-tags-actions-inner>>"> <$list filter="[<newTagNameTiddler>get[text]!match<userInput>]" emptyMessage="<<clear-tags-actions-inner>>">
<$action-setfield $tiddler=<<newTagNameTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text="yes"/> <$action-setfield $tiddler=<<newTagNameTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text="yes"/>
</$list> </$list>
</$set> </$set>
\end \end
\define tag-picker-inner(actions,tagField:"tags") \define tag-picker-inner(actions,tagField:"tags")
\whitespace trim \whitespace trim
<$vars newTagNameInputTiddlerQualified=<<qualify "$:/temp/NewTagName/input">> newTagNameSelectionTiddlerQualified=<<qualify "$:/temp/NewTagName/selected-item">> fallbackTarget={{$(palette)$##tag-background}} colourA={{$(palette)$##foreground}} colourB={{$(palette)$##background}}> <$vars
<$vars storeTitle={{{ [<newTagNameInputTiddler>!match[]] ~[<newTagNameInputTiddlerQualified>] }}} tagSelectionState={{{ [<newTagNameSelectionTiddler>!match[]] ~[<newTagNameSelectionTiddlerQualified>] }}}> newTagNameInputTiddlerQualified=<<qualify "$:/temp/NewTagName/input">>
<$vars refreshTitle=<<qualify "$:/temp/NewTagName/refresh">> nonSystemTagsFilter="[tags[]!is[system]search:title<userInput>sort[]]" systemTagsFilter="[tags[]is[system]search:title<userInput>sort[]]"> newTagNameSelectionTiddlerQualified=<<qualify "$:/temp/NewTagName/selected-item">>
<div class="tc-edit-add-tag"> fallbackTarget={{$(palette)$##tag-background}}
<div> colourA={{$(palette)$##foreground}}
<span class="tc-add-tag-name tc-small-gap-right"> colourB={{$(palette)$##background}}
<$macrocall $name="keyboard-driven-input" tiddler=<<newTagNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>> >
selectionStateTitle=<<tagSelectionState>> inputAcceptActions="<$macrocall $name='add-tag-actions' actions=<<__actions__>> tagField=<<__tagField__>>/>" <$vars
inputCancelActions=<<clear-tags-actions>> tag="input" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} storeTitle={{{ [<newTagNameInputTiddler>!match[]] ~[<newTagNameInputTiddlerQualified>] }}}
focusPopup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-edit-texteditor tc-popup-handle" tabindex=<<tabIndex>> tagSelectionState={{{ [<newTagNameSelectionTiddler>!match[]] ~[<newTagNameSelectionTiddlerQualified>] }}}
focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}} filterMinLength={{$:/config/Tags/MinLength}} >
cancelPopups=<<cancelPopups>> configTiddlerFilter="[[$:/core/macros/tag-picker]]"/> <$vars
</span><$button popup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button><$reveal state=<<storeTitle>> type="nomatch" text=""><$button class="tc-btn-invisible tc-small-gap tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Tags/ClearInput/Hint}} aria-label={{$:/language/EditTemplate/Tags/ClearInput/Caption}}>{{$:/core/images/close-button}}<<delete-tag-state-tiddlers>></$button></$reveal><span class="tc-add-tag-button tc-small-gap-left"> refreshTitle=<<qualify "$:/temp/NewTagName/refresh">>
<$set name="tag" value={{{ [<newTagNameTiddler>get[text]] }}}> nonSystemTagsFilter="[tags[]!is[system]search:title<userInput>sort[]]"
<$button set=<<newTagNameTiddler>> setTo="" class=""> systemTagsFilter="[tags[]is[system]search:title<userInput>sort[]]"
<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter="[<tag>trim[]]"/> >
$actions$ <div class="tc-edit-add-tag">
<$set name="currentTiddlerCSSEscaped" value={{{ [<saveTiddler>escapecss[]] }}}> <div>
<<delete-tag-state-tiddlers>><$action-sendmessage $message="tm-focus-selector" $param=<<get-tagpicker-focus-selector>>/> <span class="tc-add-tag-name tc-small-gap-right">
</$set> <$macrocall
{{$:/language/EditTemplate/Tags/Add/Button}} $name="keyboard-driven-input"
</$button> tiddler=<<newTagNameTiddler>>
</$set> storeTitle=<<storeTitle>>
</span> refreshTitle=<<refreshTitle>>
</div> selectionStateTitle=<<tagSelectionState>>
<div class="tc-block-dropdown-wrapper"> inputAcceptActions="<$macrocall $name='add-tag-actions' actions=<<__actions__>> tagField=<<__tagField__>>/>"
<$reveal state=<<qualify "$:/state/popup/tags-auto-complete">> type="nomatch" text="" default=""> inputCancelActions=<<clear-tags-actions>>
<div class="tc-block-dropdown tc-block-tags-dropdown"> tag="input"
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}> placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}}
<$list filter="[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem"> focusPopup=<<qualify "$:/state/popup/tags-auto-complete">>
<$list filter=<<nonSystemTagsFilter>> variable="tag"> class="tc-edit-texteditor tc-popup-handle"
<$list filter="[<tag>addsuffix[-primaryList]] -[<tagSelectionState>get[text]]" emptyMessage="<$vars button-classes='tc-btn-invisible tc-tag-button-selected' actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>"> tabindex=<<tabIndex>>
<$vars button-classes="tc-btn-invisible" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars> focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}}
</$list> filterMinLength={{$:/config/Tags/MinLength}}
</$list></$list> cancelPopups=<<cancelPopups>>
<hr> configTiddlerFilter="[[$:/core/macros/tag-picker]]"
<$list filter="[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem"> />
<$list filter=<<systemTagsFilter>> variable="tag"> </span>
<$list filter="[<tag>addsuffix[-secondaryList]] -[<tagSelectionState>get[text]]" emptyMessage="<$vars button-classes='tc-btn-invisible tc-tag-button-selected' actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>"> <$button popup=<<qualify "$:/state/popup/tags-auto-complete">>
<$vars button-classes="tc-btn-invisible" actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars> class="tc-btn-invisible tc-btn-dropdown"
</$list> tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}}
</$list></$list> aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}
</$set> >
</div> {{$:/core/images/down-arrow}}
</$reveal> </$button>
</div> <$reveal state=<<storeTitle>> type="nomatch" text="">
</div> <$button class="tc-btn-invisible tc-small-gap tc-btn-dropdown"
</$vars> tooltip={{$:/language/EditTemplate/Tags/ClearInput/Hint}}
</$vars> aria-label={{$:/language/EditTemplate/Tags/ClearInput/Caption}}
>
{{$:/core/images/close-button}}<<delete-tag-state-tiddlers>>
</$button>
</$reveal>
<span class="tc-add-tag-button tc-small-gap-left">
<$set name="tag" value={{{ [<newTagNameTiddler>get[text]] }}}>
<$button set=<<newTagNameTiddler>> setTo="" class="">
<$action-listops $tiddler=<<saveTiddler>> $field=<<__tagField__>> $subfilter="[<tag>trim[]]"/>
$actions$
<$set name="currentTiddlerCSSEscaped" value={{{ [<saveTiddler>escapecss[]] }}}>
<<delete-tag-state-tiddlers>><$action-sendmessage $message="tm-focus-selector" $param=<<get-tagpicker-focus-selector>>/>
</$set>
{{$:/language/EditTemplate/Tags/Add/Button}}
</$button>
</$set>
</span>
</div>
<div class="tc-block-dropdown-wrapper">
<$reveal state=<<qualify "$:/state/popup/tags-auto-complete">> type="nomatch" text="" default="">
<div class="tc-block-dropdown tc-block-tags-dropdown">
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}>
<$list
filter="[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]"
emptyMessage="<div class='tc-search-results'
>
{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
<$list filter=<<nonSystemTagsFilter>> variable="tag">
<$list
filter="[<tag>addsuffix[-primaryList]] -[<tagSelectionState>get[text]]"
emptyMessage="<$vars button-classes='tc-btn-invisible tc-tag-button-selected' actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>"
>
<$vars button-classes="tc-btn-invisible"
actions=<<__actions__>>
tagField=<<__tagField__>>
currentTiddler=<<tag>>
>
{{||$:/core/ui/TagPickerTagTemplate}}
</$vars>
</$list>
</$list>
</$list>
<hr>
<$list filter="[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>
{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
<$list filter=<<systemTagsFilter>> variable="tag">
<$list filter="[<tag>addsuffix[-secondaryList]] -[<tagSelectionState>get[text]]"
emptyMessage="<$vars button-classes='tc-btn-invisible tc-tag-button-selected' actions=<<__actions__>> tagField=<<__tagField__>> currentTiddler=<<tag>>>{{||$:/core/ui/TagPickerTagTemplate}}</$vars>"
>
<$vars button-classes="tc-btn-invisible"
actions=<<__actions__>>
tagField=<<__tagField__>>
currentTiddler=<<tag>>
>
{{||$:/core/ui/TagPickerTagTemplate}}
</$vars>
</$list>
</$list>
</$list>
</$set>
</div>
</$reveal>
</div>
</div>
</$vars>
</$vars>
</$vars> </$vars>
\end \end
\define tag-picker(actions,tagField:"tags") \define tag-picker(actions,tagField:"tags")
\whitespace trim \whitespace trim
<$vars saveTiddler=<<currentTiddler>> palette={{$:/palette}}> <$vars saveTiddler=<<currentTiddler>> palette={{$:/palette}}>
<$list filter="[<newTagNameTiddler>match[]]" emptyMessage="<$macrocall $name='tag-picker-inner' actions=<<__actions__>> tagField=<<__tagField__>>/>"> <$list
<$set name="newTagNameTiddler" value=<<qualify "$:/temp/NewTagName">>> filter="[<newTagNameTiddler>match[]]"
<$macrocall $name="tag-picker-inner" actions=<<__actions__>> tagField=<<__tagField__>>/> emptyMessage="<$macrocall $name='tag-picker-inner' actions=<<__actions__>> tagField=<<__tagField__>>/>"
</$set> >
</$list> <$set name="newTagNameTiddler" value=<<qualify "$:/temp/NewTagName">>>
<$macrocall $name="tag-picker-inner" actions=<<__actions__>> tagField=<<__tagField__>>/>
</$set>
</$list>
</$vars> </$vars>
\end \end