From 4f4e0550917fa3f266add8db7eb6ee649ed92c25 Mon Sep 17 00:00:00 2001 From: Mario Pietsch Date: Tue, 10 Sep 2024 17:30:59 +0200 Subject: [PATCH] Add a search button to the control panel tiddler fields tab (#8157) * add a search button to the control panel tiddler fields tab * minor update * use v5.3.x syntax * use tf. prefix for the function * make show-filter-count a global macro * make table header translatable * add documentation * show-filter-count code cleanup * remove the table-header * remove erroneous caption field --- core/ui/ControlPanel/Basics.tid | 17 +--------- core/wiki/allfields.tid | 33 ++++++++++++++----- core/wiki/macros/show-filter-count.tid | 17 ++++++++++ .../tiddlers/macros/show-filter-count.tid | 21 ++++++++++++ 4 files changed, 64 insertions(+), 24 deletions(-) create mode 100644 core/wiki/macros/show-filter-count.tid create mode 100644 editions/tw5.com/tiddlers/macros/show-filter-count.tid diff --git a/core/ui/ControlPanel/Basics.tid b/core/ui/ControlPanel/Basics.tid index 961cbe161..f494c2af6 100644 --- a/core/ui/ControlPanel/Basics.tid +++ b/core/ui/ControlPanel/Basics.tid @@ -2,22 +2,7 @@ title: $:/core/ui/ControlPanel/Basics tags: $:/tags/ControlPanel/Info caption: {{$:/language/ControlPanel/Basics/Caption}} -\define lingo-base() $:/language/ControlPanel/Basics/ - -\define show-filter-count(filter) -\whitespace trim -<$button class="tc-btn-invisible"> -<$action-setfield $tiddler="$:/temp/advancedsearch" $value="""$filter$"""/> -<$action-setfield $tiddler="$:/temp/advancedsearch/input" $value="""$filter$"""/> -<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/> -<$action-setfield $tiddler="$:/state/tab--1498284803" $value="$:/core/ui/AdvancedSearch/Filter"/> -<$action-navigate $to="$:/AdvancedSearch"/> -<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/> -''<$count filter="""$filter$"""/>'' - -{{$:/core/images/advanced-search-button}} - -\end +\procedure lingo-base() $:/language/ControlPanel/Basics/ \whitespace trim |tc-max-width tc-edit-max-width|k diff --git a/core/wiki/allfields.tid b/core/wiki/allfields.tid index f148640d4..8f59a317f 100644 --- a/core/wiki/allfields.tid +++ b/core/wiki/allfields.tid @@ -1,13 +1,30 @@ title: $:/snippets/allfields -\define renderfield(title) -''<$text text=<<__title__>>/>''://{{$:/language/Docs/Fields/$title$}}// -\end \whitespace trim + +\procedure lingo-base() $:/language/Docs/Fields/ + +\function tf.getLingoText() [] [] +[join[]get[text]] + +\procedure renderfield(title) +<tr class="tc-view-field"> + <td class="tc-view-field-name"> + ''<$text text=<<title>>/>'': + </td> + <td class="tc-view-field-value"> + //<<tf.getLingoText>>// + </td> + <td class="tc-view-field-list"> + <$macrocall $name="show-filter-count" filter=`[has[$(title)$]sort[]]`>> + </td> +</tr> +\end + <table class="tc-view-field-table"> -<tbody> -<$list filter="[fields[]sort[title]]" variable="listItem"> -<$macrocall $name="renderfield" title=<<listItem>>/> -</$list> -</tbody> + <tbody> + <!-- <<renderfieldHeader>> --> + <$list filter="[fields[]sort[title]]" variable="listItem"> + <$macrocall $name="renderfield" title=<<listItem>>/> + </$list> + </tbody> </table> diff --git a/core/wiki/macros/show-filter-count.tid b/core/wiki/macros/show-filter-count.tid new file mode 100644 index 000000000..be06fcde1 --- /dev/null +++ b/core/wiki/macros/show-filter-count.tid @@ -0,0 +1,17 @@ +title: $:/core/macros/show-filter-count +tags: $:/tags/Macro $:/tags/Global + +\whitespace trim + +\procedure show-filter-count(filter) +<$button class="tc-btn-invisible"> + <$action-setfield $tiddler="$:/temp/advancedsearch" $value=<<filter>>/> + <$action-setfield $tiddler="$:/temp/advancedsearch/input" $value=<<filter>>/> + <$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/> + <$action-setfield $tiddler="$:/state/tab--1498284803" $value="$:/core/ui/AdvancedSearch/Filter"/> + <$action-navigate $to="$:/AdvancedSearch"/> + <$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/> + <span class="tc-small-gap-right">''<$count filter=<<filter>>/>''</span> + {{$:/core/images/advanced-search-button}} +</$button> +\end \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/macros/show-filter-count.tid b/editions/tw5.com/tiddlers/macros/show-filter-count.tid new file mode 100644 index 000000000..7e026a590 --- /dev/null +++ b/editions/tw5.com/tiddlers/macros/show-filter-count.tid @@ -0,0 +1,21 @@ + +created: 20240804143842924 +modified: 20240804150223291 +tags: Macros [[Core Macros]] +title: show-filter-count Macro +type: text/vnd.tiddlywiki + +<<.from-version "5.3.6">> -- The <<.def show-filter-count>> [[macro|Macros]] creates an element, that shows a counter and a button to open the provided filter string in $:/AdvancedSearch + +!! Parameters + +; filter +: Needs to be a valid [[filter run|Filters]] + +!! Examples + +<<wikitext-example-without-html src:"""<<show-filter-count filter:"[tag[HelloThere]]">> -- The number and the icon is click-able""">> + +<<wikitext-example-without-html src:"""<<show-filter-count filter:"[has[author]sort[]]">> -- The number and the icon is click-able""">> + +Also see: [[$:/core/ui/ControlPanel/TiddlerFields]]