Skip to content

Commit 181e676

Browse files
committed
docs: document tp.system.multi_suggester module
refs: #461, #1130
1 parent 5276743 commit 181e676

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

docs/documentation.toml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,55 @@ let selectedValue = await tp.system.suggester(["Happy", "Sad", "Confused"], ["Ha
601601
# <% selectedValue %>
602602
selected value: <% selectedValue %>"""
603603

604+
[tp.system.functions.multi_suggester]
605+
name = "multi_suggester"
606+
description = "Spawns a suggester prompt that supports selecting multiple items and returns the user's chosen items."
607+
definition = "tp.system.multi_suggester(text_items: string[] ⎮ ((item: T) => string), items: T[], throw_on_cancel: boolean = false, title: string = \"\", limit?: number = undefined)"
608+
609+
[[tp.system.functions.multi_suggester.args]]
610+
name = "text_items"
611+
description = "Array of strings representing the text that will be displayed for each item in the suggester prompt. This can also be a function that maps an item to its text representation."
612+
613+
[[tp.system.functions.multi_suggester.args]]
614+
name = "items"
615+
description = "Array containing the values of each item in the correct order."
616+
617+
[[tp.system.functions.multi_suggester.args]]
618+
name = "throw_on_cancel"
619+
description = "Throws an error if the prompt is canceled, instead of returning a `null` value."
620+
621+
[[tp.system.functions.multi_suggester.args]]
622+
name = "title"
623+
description = "Text placed at the top of the modal."
624+
625+
[[tp.system.functions.multi_suggester.args]]
626+
name = "limit"
627+
description = "Limit the number of items rendered at once (useful to improve performance when displaying large lists)."
628+
629+
[[tp.system.functions.multi_suggester.examples]]
630+
name = "Multi-suggester"
631+
example = """<% await tp.system.multi_suggester(["Happy", "Sad", "Confused"], ["Happy", "Sad", "Confused"]) %>"""
632+
633+
[[tp.system.functions.multi_suggester.examples]]
634+
name = "Multi-suggester with mapping function (same as above example)"
635+
example = """<% await tp.system.multi_suggester((item) => item, ["Happy", "Sad", "Confused"]) %>"""
636+
637+
[[tp.system.functions.multi_suggester.examples]]
638+
name = "Multi-suggester for files"
639+
example = """<% (await tp.system.multi_suggester((item) => item.basename, tp.app.vault.getMarkdownFiles())).map(f => `[[${f.basename}]]`) %>"""
640+
641+
[[tp.system.functions.multi_suggester.examples]]
642+
name = "Multi-suggester for tags"
643+
example = """<% await tp.system.multi_suggester(item => item, Object.keys(tp.app.metadataCache.getTags()).map(x => x.replace("#", ""))) %>"""
644+
645+
[[tp.system.functions.multi_suggester.examples]]
646+
name = "Reuse value from multi-suggester"
647+
example = """<%*
648+
let selectedValues = await tp.system.multi_suggester(["Happy", "Sad", "Confused"], ["Happy", "Sad", "Confused"]);
649+
%>
650+
# <% selectedValues %>
651+
selected values: <% selectedValues %>"""
652+
604653
[tp.web]
605654
name = "web"
606655
description = "This modules contains every internal function related to the web (making web requests)."

0 commit comments

Comments
 (0)