From 569ec747fa3f6558ba28355b471c4c90d8c0f561 Mon Sep 17 00:00:00 2001 From: BurningTreeC Date: Thu, 10 Oct 2024 19:34:49 +0200 Subject: [PATCH] make filtering the story-river work --- core/ui/KeyboardShortcuts/filter-river.tid | 9 +++++++++ core/ui/PageTemplate/story.tid | 6 +++++- core/ui/SideBarSegments/search.tid | 8 ++++++++ core/wiki/config/StoryFilterFields.tid | 3 +++ core/wiki/config/StoryFilterFlags.tid | 3 +++ core/wiki/functions/search.tid | 1 + 6 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 core/ui/KeyboardShortcuts/filter-river.tid create mode 100644 core/wiki/config/StoryFilterFields.tid create mode 100644 core/wiki/config/StoryFilterFlags.tid diff --git a/core/ui/KeyboardShortcuts/filter-river.tid b/core/ui/KeyboardShortcuts/filter-river.tid new file mode 100644 index 000000000..d8a20f821 --- /dev/null +++ b/core/ui/KeyboardShortcuts/filter-river.tid @@ -0,0 +1,9 @@ +title: $:/core/ui/KeyboardShortcuts/filter-river +tags: $:/tags/KeyboardShortcut +key: ((filter-river)) + +<%if [{$:/state/story-river/filter}!match[yes]] %> + <$action-setfield $tiddler="$:/state/story-river/filter" text="yes"/> +<% else %> + <$action-deletetiddler $tiddler="$:/state/story-river/filter"/> +<% endif %> \ No newline at end of file diff --git a/core/ui/PageTemplate/story.tid b/core/ui/PageTemplate/story.tid index 38e723835..d8693261e 100644 --- a/core/ui/PageTemplate/story.tid +++ b/core/ui/PageTemplate/story.tid @@ -14,7 +14,11 @@ tags: $:/tags/PageTemplate -<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" template="$:/core/ui/StoryTiddlerTemplate" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/> +<$vars searchPrefix="[" searchSuffix="]"> + +<$list filter=<> history="$:/HistoryList" template="$:/core/ui/StoryTiddlerTemplate" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/> + +
diff --git a/core/ui/SideBarSegments/search.tid b/core/ui/SideBarSegments/search.tid index 690210307..8e0193cc0 100644 --- a/core/ui/SideBarSegments/search.tid +++ b/core/ui/SideBarSegments/search.tid @@ -67,6 +67,14 @@ tags: $:/tags/SideBarSegment <> {{$:/core/images/advanced-search-button}} +<$button tooltip="filter" class={{{ [{$:/state/story-river/filter}match[yes]then[tc-selected]] tc-btn-invisible +[join[ ]] }}}> +<%if [{$:/state/story-river/filter}!match[yes]] %> +<$action-setfield $tiddler="$:/state/story-river/filter" text="yes"/> +<% else %> +<$action-deletetiddler $tiddler="$:/state/story-river/filter"/> +<% endif %> +{{$:/core/images/github}} + <$button class="tc-btn-invisible"> <><$action-sendmessage $message="tm-focus-selector" $param=".tc-search input"/> {{$:/core/images/close-button}} diff --git a/core/wiki/config/StoryFilterFields.tid b/core/wiki/config/StoryFilterFields.tid new file mode 100644 index 000000000..5a9f56dfe --- /dev/null +++ b/core/wiki/config/StoryFilterFields.tid @@ -0,0 +1,3 @@ +title: $:/config/StoryFilter/fields + +* \ No newline at end of file diff --git a/core/wiki/config/StoryFilterFlags.tid b/core/wiki/config/StoryFilterFlags.tid new file mode 100644 index 000000000..0b66a384b --- /dev/null +++ b/core/wiki/config/StoryFilterFlags.tid @@ -0,0 +1,3 @@ +title: $:/config/StoryFilter/flags + +words \ No newline at end of file diff --git a/core/wiki/functions/search.tid b/core/wiki/functions/search.tid index d32033b23..eff4768c9 100644 --- a/core/wiki/functions/search.tid +++ b/core/wiki/functions/search.tid @@ -1,3 +1,4 @@ title: $:/core/wiki/functions/search tags: $:/tags/Global +\function tf.story-river.filter() [[list]addsuffix[]addsuffix[$(searchSuffix)$]substitute[]addsuffix[ ]addsuffix[:filter]addsuffix[$(searchPrefix)$]substitute[]addsuffix[{$:/state/story-river/filter}match]addsuffix[$(searchPrefix)$]substitute[]addsuffix[yes]addsuffix[$(searchSuffix)$]substitute[]addsuffix[then]addsuffix[search:]addsuffix{$:/config/StoryFilter/fields}addsuffix[:]addsuffix{$:/config/StoryFilter/flags}addsuffix[{$:/temp/search/input}]addsuffix[else{$:/state/story-river/filter}!match]addsuffix[$(searchPrefix)$]substitute[]addsuffix[yes]addsuffix[$(searchSuffix)$]substitute[]addsuffix[then]] +[addprefix[$(searchPrefix)$]substitute[]addsuffix[$(searchSuffix)$]substitute[]] \ No newline at end of file