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:
parent
c20c35c0a6
commit
e6189078ff
@ -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>
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user