Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filter story river: filtering the Story River by the search input field #8675

Closed
wants to merge 11 commits into from
9 changes: 9 additions & 0 deletions core/ui/KeyboardShortcuts/filter-river.tid
Original file line number Diff line number Diff line change
@@ -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 %>
2 changes: 1 addition & 1 deletion core/ui/PageTemplate/story.tid
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ tags: $:/tags/PageTemplate

</section>

<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" template="$:/core/ui/StoryTiddlerTemplate" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>
<$list filter=<<tf.story-river.filter>> history="$:/HistoryList" template="$:/core/ui/StoryTiddlerTemplate" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>

<section class="story-frontdrop">

Expand Down
8 changes: 8 additions & 0 deletions core/ui/SideBarSegments/search.tid
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,14 @@ tags: $:/tags/SideBarSegment
<<advanced-search-actions>>
{{$:/core/images/advanced-search-button}}
</$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>
<$button class="tc-btn-invisible">
<<cancel-search-actions>><$action-sendmessage $message="tm-focus-selector" $param=".tc-search input"/>
{{$:/core/images/close-button}}
Expand Down
1 change: 1 addition & 0 deletions core/wiki/config/ShortcutInfo.multids
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ cancel-edit-tiddler: {{$:/language/Buttons/Cancel/Hint}}
change-sidebar-layout: {{$:/language/Shortcuts/SidebarLayout/Hint}}
delete-field: {{$:/language/EditTemplate/Field/Remove/Hint}}
excise: {{$:/language/Buttons/Excise/Hint}}
filter-river: Filter the Story River
heading-1: {{$:/language/Buttons/Heading1/Hint}}
heading-2: {{$:/language/Buttons/Heading2/Hint}}
heading-3: {{$:/language/Buttons/Heading3/Hint}}
Expand Down
3 changes: 3 additions & 0 deletions core/wiki/config/StoryFilterFields.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
title: $:/config/StoryFilter/fields

*
3 changes: 3 additions & 0 deletions core/wiki/config/StoryFilterFlags.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
title: $:/config/StoryFilter/flags

words
1 change: 1 addition & 0 deletions core/wiki/config/shortcuts/shortcuts.multids
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ cancel-edit-tiddler: escape
change-sidebar-layout: shift-alt-Down
delete-field: shift-alt-D
excise: ctrl-E
filter-river: alt-F
sidebar-search: ctrl-shift-F
heading-1: ctrl-1
heading-2: ctrl-2
Expand Down
13 changes: 13 additions & 0 deletions core/wiki/functions/search.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
title: $:/core/wiki/functions/search
tags: $:/tags/Global

\procedure prefix.bracket() [
\procedure suffix.bracket() ]

\function tf.story-river.subfilter() [[{$:/state/story-river/filter}]addprefix[$(prefix.bracket)$]substitute[]addsuffix[match]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[yes]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[then<currentTiddler>!is]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[draft]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[search:]addsuffix{$:/config/StoryFilter/fields}addsuffix[:]addsuffix{$:/config/StoryFilter/flags}addsuffix[{$:/temp/search/input}]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[ ~]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[<currentTiddler>is]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[draft]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[$(suffix.bracket)$]substitute[]]

\function tf.story-river.filter() [[list]addprefix[$(prefix.bracket)$]substitute[]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[$:/StoryList]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[ :filter]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[subfilter<tf.story-river.subfilter>]addsuffix[else{$:/state/story-river/filter}!match]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[yes]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[then<currentTiddler>]addsuffix[$(suffix.bracket)$]substitute[]]

\function tf.story-river.subfilter.match() [[{$:/state/story-river/filter}]addprefix[$(prefix.bracket)$]substitute[]addsuffix[match]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[yes]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[then<currentTiddler>search:]addsuffix{$:/config/StoryFilter/fields}addsuffix[:]addsuffix{$:/config/StoryFilter/flags}addsuffix[{$:/temp/search/input}]addsuffix[$(suffix.bracket)$]substitute[]]

\function tf.story-river.filter.match() [[list]addprefix[$(prefix.bracket)$]substitute[]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[$:/StoryList]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[ :filter]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[subfilter<tf.story-river.subfilter.match>]addsuffix[else{$:/state/story-river/filter}!match]addsuffix[$(prefix.bracket)$]substitute[]addsuffix[yes]addsuffix[$(suffix.bracket)$]substitute[]addsuffix[then<currentTiddler>]addsuffix[$(suffix.bracket)$]substitute[]]
BurningTreeC marked this conversation as resolved.
Show resolved Hide resolved
34 changes: 34 additions & 0 deletions themes/tiddlywiki/vanilla/filter.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
title: $:/themes/tiddlywiki/vanilla/filter
tags: $:/tags/Stylesheet

\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock conditional html

<%if [{$:/state/story-river/filter}match[yes]] %>

.tc-story-river {
background: repeating-linear-gradient(
to right,
<<colour page-background>>,
<<colour page-background>> 10px,
<<colour tiddler-background>> 10px,
<<colour tiddler-background>> 20px
);
}

<%if [{$:/temp/search/input}!is[blank]] %>

<$list filter=<<tf.story-river.filter.match>> variable="filteredTiddler">

<$set name="CSSEscapedTitle" value={{{ [<filteredTiddler>escapecss[]] }}}>
BurningTreeC marked this conversation as resolved.
Show resolved Hide resolved

[data-tiddler-title={{{ [<CSSEscapedTitle>] }}}].tc-tiddler-frame {
border: 3px solid <<colour primary>>;
}

</$set>

</$list>

<% endif %>

<% endif %>
BurningTreeC marked this conversation as resolved.
Show resolved Hide resolved
Loading