Hoppa till innehåll

NodeSelector

Wrapper for Sitevision input components used for selecting nodes.

NodeSelector

PropTypeDescription
idstringInput ID, generated automatically if not provided.
Default: generateId()
namestringName attribute for the selector.
Default: undefined
labelstringField label.
Default: undefined
descriptionstringDescription for the node selector, displayed below the input field.
Default: undefined
typestringType of the selector.
Values: 'page' 'file' 'image' 'user' 'content-node' 'link'
Default: 'page'
requiredbooleanWhether the field is required.
Default: false
disabledbooleanWhether the field is disabled.
Default: false
removablebooleanWhether the selected value can be removed.
Default: false
showbooleanShow and hide the component without re-rendering.
Default: true
selectableArray<any>Filter for selectable node types.
Default: []
valuestringValue associated with the selector.
Default: ''

For tags-selector use TagSelector.

<script>
import { Panel, NodeSelector } from '@soleil-se/config-svelte';
</script>
<Panel heading="Inställningar">
<NodeSelector
name="page"
type="page"
label="Sida"
/>
</Panel>
Advanced
<script>
import { Panel, NodeSelector } from '@soleil-se/config-svelte';
import { onSave } from '@soleil-se/config-svelte/utils';
const { values } = $props();
values = {
page: '',
...values
};
onSave(() => values);
</script>
<Panel heading="Inställningar">
<NodeSelector bind:value={values.page} label="Page" type="page" />
</Panel>

Default slot after selector.

<NodeSelector name="page" label="Page" type="page" />
<p>Some text.</p>
</NodeSelector>

Slot for content in the label element.

<NodeSelector name="page" type="page">
{#snippet label()}
Custom <strong>label</strong>
{/snippet}
</NodeSelector>

Slot for content in the description element to be used instead of the prop when HTML formatting is needed.

<NodeSelector name="page" type="page">
{#snippet description()}
Custom <strong>description</strong>
{/snippet}
</NodeSelector>

You can omnit the -selector suffix for the type prop.

<NodeSelector name="page" type="page" label="Sida" />

❗ Since SiteVision 7.0 ❗

Filter what types should be selectable. See available types here: https://developer.sitevision.se/docs/webapps/configuration/sitevision-components#h-Types

Accepts an Array or String.

<NodeSelector
name="page"
type="page"
label="Sida"
selectable="sv:page"
selectable={['sv:page', 'sv:sitePage']}
/>