diff --git a/plugins/tiddlydesktop/WikiList Edit Tags Template.tid b/plugins/tiddlydesktop/WikiList Edit Tags Template.tid new file mode 100644 index 0000000..5c02630 --- /dev/null +++ b/plugins/tiddlydesktop/WikiList Edit Tags Template.tid @@ -0,0 +1,117 @@ +title: WikiList/edit-tags-template + +\import [[$:/core/ui/EditTemplate/tags]] +\define tag-button(classes) + <$let button-classes='tc-btn-invisible $classes$' currentTiddler=<>> + {{||$:/core/ui/TagPickerTagTemplate}} + +\end +\define tagsAutoComplete() +<$list filter=<> emptyMessage=<> variable="listItem"> + <$list filter=<> variable="tag"> + <$list + filter="[addsuffix] -[get[text]]" + emptyMessage=<> + variable="ignore" + > + <> + + + +\end +\define tag-picker-inner(actions,tagField:"tags") +\whitespace trim +<$let + newTagNameInputTiddlerQualified=<> + newTagNameSelectionTiddlerQualified=<> + fallbackTarget={{$(palette)$##tag-background}} + colourA={{$(palette)$##foreground}} + colourB={{$(palette)$##background}} + storeTitle={{{ [!match[]] ~[] }}} + tagSelectionState={{{ [!match[]] ~[] }}} + refreshTitle=<> + nonSystemTagsFilter="[tags[]] $(tagListFilter)$ +[!is[system]] -[tags[]] :filter[search:title]+[sort[]]" + systemTagsFilter="[tags[]] $(tagListFilter)$ +[is[system]] -[tags[]] :filter[search:title]+[sort[]]" + displayTagsPopup="[all[tiddlers]subfilter][all[tiddlers]subfilter] +[limit[1]]" +> +
+
+ + <$macrocall $name="keyboard-driven-input" + tiddler=<> + storeTitle=<> + refreshTitle=<> + selectionStateTitle=<> + inputAcceptActions="<$macrocall $name='add-tag-actions' + actions=<<__actions__>> + tagField=<<__tagField__>>/>" + inputCancelActions=<> + tag="input" + placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} + focusPopup=<> + class="tc-edit-texteditor tc-popup-handle" + tabindex=<> + focus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}} + filterMinLength={{$:/config/Tags/MinLength}} + cancelPopups=<> + configTiddlerFilter="[[$:/core/macros/tag-picker]]" + /> + + <$button + popup=<> + class="tc-btn-invisible tc-btn-dropdown" + tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} + aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}} + > + {{$:/core/images/down-arrow}} + + <$reveal state=<> 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}} + actions=<> + > + {{$:/core/images/close-button}} + + + + <$let tag={{{ [get[text]] }}} currentTiddlerCSSEscaped={{{ [escapecss[]] }}}> + <$button set=<> setTo=""> + <$action-listops $tiddler=<> $field=<<__tagField__>> $subfilter="[trim[]]"/> + $actions$ + <> + <$action-sendmessage $message="tm-focus-selector" $param=<>/> + {{$:/language/EditTemplate/Tags/Add/Button}} + + + +
+ <$reveal + class="tc-block-dropdown tc-block-tags-dropdown tc-block-dropdown-wrapper" + default={{{ [subfilterthen[]else[hide]] }}} + state=<> + tag={{{ [subfilterthen[div]else[template]] }}} + text="" + type="nomatch" + > + <$let + actions=<<__actions__>> + currentTiddler=<> + tagField=<<__tagField__>> + userInput={{{ [get[text]] }}} + tagsAutoCompleteFilter="[minlength{$:/config/Tags/MinLength}limit[1]]" + tagsAutoCompleteEmptyMessage="
{{$:/language/Search/Search/TooShort}}
" + > + <$let tagsFilter=<> suffix="-primaryList"><> +
+ <$let tagsFilter=<> suffix="-secondaryList"><> + + +
+ +\end + +<$let saveTiddler=<> tagListFilter="+[all[tiddlers]tag[wikilist]addprefix[$:/TiddlyDesktop/Config/wiki-tags/]tags[]]"> +<$macrocall $name="edit-tags-template" tagField=<>/> + \ No newline at end of file diff --git a/plugins/tiddlydesktop/WikiList SearchList Style.tid b/plugins/tiddlydesktop/WikiList SearchList Style.tid new file mode 100644 index 0000000..e6739f8 --- /dev/null +++ b/plugins/tiddlydesktop/WikiList SearchList Style.tid @@ -0,0 +1,18 @@ +tags: $:/tags/Stylesheet +title: WikiList/SearchListStyle + +.td-search{ +display:flex; +gap:1ch; +flex-wrap:wrap; +} + +.td-search,.td-tags{ +padding:10px; +padding-bottom:0; +padding-top:0; +} + +.td-search .tc-edit-texteditor{ +flex:1; +} diff --git a/plugins/tiddlydesktop/WikiList ui Buttons DeleteUnusedTags.tid b/plugins/tiddlydesktop/WikiList ui Buttons DeleteUnusedTags.tid new file mode 100644 index 0000000..a42a5f7 --- /dev/null +++ b/plugins/tiddlydesktop/WikiList ui Buttons DeleteUnusedTags.tid @@ -0,0 +1,12 @@ +tags: $:/tags/StartupAction +title: WikiList/ui/Buttons/DeleteUnusedTags + +\define delete-unused-tags() +<$action-deletetiddler $filter="[all[tiddlers]prefix[$:/TiddlyDesktop/Config/wiki-tags/]]:filter[removeprefix[$:/TiddlyDesktop/Config/wiki-tags/]!is[tiddler]]"/> +\end + +<$list filter="[prefix[$:/TiddlyDesktop/Config/wiki-tags/]removeprefix[$:/TiddlyDesktop/Config/wiki-tags/]!is[tiddler]limit[1]]"> +<$button actions=<> tooltip="delete unused tags" class="tc-btn-invisible"> +{{$:/core/images/refresh-button}} + + \ No newline at end of file diff --git a/plugins/tiddlydesktop/WikiList.tid b/plugins/tiddlydesktop/WikiList.tid index 615d85d..282c366 100644 --- a/plugins/tiddlydesktop/WikiList.tid +++ b/plugins/tiddlydesktop/WikiList.tid @@ -1,7 +1,33 @@ title: WikiList + + +

+<$list filter="[prefix[$:/TiddlyDesktop/Config/wiki-tags/]tags[]]" variable="tag"> +<$button set=<> setTo={{{ "[tag["[]"]]"+[join[]] }}} class="tc-tag-label tc-btn-invisible" style="background-color:; +fill:#333333; +color:#333333;"><> + + +{{WikiList/ui/Buttons/DeleteUnusedTags}} +

+ +<$let +input={{{ [get[text]] }}} +textsearch="[prefix[$:/TiddlyDesktop/Config/title/]searchremoveprefix[$:/TiddlyDesktop/Config/title/]]" +filtersearch="[all[tiddlers]subfilterremoveprefix[$:/TiddlyDesktop/Config/wiki-tags/]tag[wikilist]] ~[all[tiddlers]subfiltertag[wikilist]]" +beginfilter="[" +filter={{{ [minlength[3]]:map[searchthenelse]~"[all[tiddlers]tag[wikilist]]" }}} +> +
-<$macrocall $name="list-tagged-draggable" tag="wikilist" itemTemplate="WikiListRow" emptyMessage="Add a ~TiddlyWiki file or folder to get started. +<$macrocall $name="list-tagged-draggable" subFilter="all[tiddlers]subfilterunique[]" itemTemplate="WikiListRow" emptyMessage="Add a ~TiddlyWiki file or folder to get started. Click the buttons above to browse, or drag and drop from your file Explorer/Finder"/>
diff --git a/plugins/tiddlydesktop/WikiListRow.tid b/plugins/tiddlydesktop/WikiListRow.tid index 3912d4b..de1d6ec 100644 --- a/plugins/tiddlydesktop/WikiListRow.tid +++ b/plugins/tiddlydesktop/WikiListRow.tid @@ -47,6 +47,13 @@ remove advanced +
+<$let storyTiddler="$:/TiddlyDesktop/Config/wiki-tags/$(currentTiddler)$"> +<$tiddler tiddler=<>> +{{||WikiList/edit-tags-template}} + + +
<$reveal type="nomatch" state="""$:/TiddlyDesktop/Config/advanced/$(currentTiddler)$""" text="">
@@ -88,4 +95,4 @@ Writers: <$edit-text tag="input" tiddler="""$:/TiddlyDesktop/Config/writers/$(cu \end -<> +<> \ No newline at end of file