mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-07-02 18:23:28 +00:00
60 lines
2.7 KiB
Plaintext
60 lines
2.7 KiB
Plaintext
title: $:/core/macros/tag-picker
|
|
tags: $:/tags/Macro
|
|
|
|
\define add-tag-actions()
|
|
<$action-sendmessage $message="tm-add-tag" $param={{{ [<newTagNameTiddler>get[text]] }}}/>
|
|
<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>
|
|
\end
|
|
|
|
\define tag-button()
|
|
<$button class="tc-btn-invisible" tag="a" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>
|
|
<$action-sendmessage $message="tm-add-tag" $param=<<tag>>/>
|
|
<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>
|
|
<$macrocall $name="tag-pill" tag=<<tag>>/>
|
|
</$button>
|
|
\end
|
|
|
|
\define tag-picker-inner()
|
|
\whitespace trim
|
|
<div class="tc-edit-add-tag">
|
|
<span class="tc-add-tag-name">
|
|
<$keyboard key="ENTER" actions=<<add-tag-actions>>>
|
|
<$edit-text tiddler=<<newTagNameTiddler>> tag="input" default="" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-edit-texteditor tc-popup-handle" tabindex=<<tabIndex>> focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}}/>
|
|
</$keyboard>
|
|
</span> <$button popup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-btn-invisible" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class="tc-add-tag-button">
|
|
<$set name="tag" value={{{ [<newTagNameTiddler>get[text]] }}}>
|
|
<$button set="$:/temp/NewTagName" setTo="" class="">
|
|
<<add-tag-actions>>
|
|
<$action-deletetiddler $tiddler=<<newTagNameTiddler>>/>
|
|
{{$:/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">
|
|
<$set name="newTagName" value={{{ [<newTagNameTiddler>get[text]] }}}>
|
|
<$list filter="[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
|
|
<$list filter="[tags[]!is[system]search:title<newTagName>sort[]]" variable="tag">
|
|
<<tag-button>>
|
|
</$list></$list>
|
|
<hr>
|
|
<$list filter="[<newTagName>minlength{$:/config/Tags/MinLength}limit[1]]" emptyMessage="""<div class="tc-search-results">{{$:/language/Search/Search/TooShort}}</div>""" variable="listItem">
|
|
<$list filter="[tags[]is[system]search:title<newTagName>sort[]]" variable="tag">
|
|
<<tag-button>>
|
|
</$list></$list>
|
|
</$set>
|
|
</div>
|
|
</$reveal>
|
|
</div>
|
|
\end
|
|
\define tag-picker()
|
|
\whitespace trim
|
|
<$list filter="[<newTagNameTiddler>match[]]" emptyMessage=<<tag-picker-inner>>>
|
|
<$set name="newTagNameTiddler" value=<<qualify "$:/temp/NewTagName">>>
|
|
<<tag-picker-inner>>
|
|
</$set>
|
|
</$list>
|
|
\end
|