atomic-result-template

This is for:

Developer
In this article

The atomic-result-template component determines the format of the query results, depending on the conditions that are defined for each template. A template element must be the child of an atomic-result-template, and either an atomic-result-list or atomic-folded-result-list must be the parent of each atomic-result-template.

Note: Any <script> tags defined inside of a <template> element will not be executed when results are being rendered.

Properties

Property Attribute Description Type Default

conditions

A function that must return true on results for the result template to apply. Set programmatically before initialization, not via attribute.

For example, the following targets a template and sets a condition to make it apply only to results whose title contains singapore: document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];

ResultTemplateCondition[]

[]

mustMatch

must-match

The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose filetype is lithiummessage or YouTubePlaylist: must-match-filetype="lithiummessage,YouTubePlaylist"

Record<string, string[]>

{}

mustNotMatch

must-not-match

The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose filetype is not lithiummessage: `must-not-match-filetype="lithiummessage"

Record<string, string[]>

{}

Methods

getTemplate

Gets the appropriate result template based on conditions applied.

Signature: getTemplate() => Promise<ResultTemplate<DocumentFragment> | null>

Returns: Promise<ResultTemplate<DocumentFragment> | null>