MapComplete/src/UI/Studio/SchemaBasedInput.svelte

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

32 lines
1.2 KiB
Svelte
Raw Normal View History

<script lang="ts">
import type { ConfigMeta } from "./configMeta";
import SchemaBasedField from "./SchemaBasedField.svelte";
import EditLayerState from "./EditLayerState";
import SchemaBasedArray from "./SchemaBasedArray.svelte";
import SchemaBaseMultiType from "./SchemaBaseMultiType.svelte";
2023-06-22 15:07:14 +02:00
import RegisteredTagInput from "./RegisteredTagInput.svelte";
import SchemaBasedTranslationInput from "./SchemaBasedTranslationInput.svelte";
export let schema: ConfigMeta
export let state: EditLayerState
export let path: (string | number)[] = []
2023-08-08 13:52:58 +02:00
console.log("Constructing", path,"with schema", schema)
2023-06-22 15:07:14 +02:00
</script>
2023-08-08 13:52:58 +02:00
{#if schema.hints.typehint === "tagrendering[]"}
<!-- We cheat a bit here by matching this 'magical' type... -->
<SchemaBasedArray {path} {state} {schema}/>
{:else if schema.type === "array"}
<SchemaBasedArray {path} {state} {schema}/>
2023-06-22 15:07:14 +02:00
{:else if schema.hints.typehint === "tag"}
<RegisteredTagInput {state} {path} {schema}/>
{:else if schema.type === "translation"}
<SchemaBasedTranslationInput {path} {state} {schema}/>
{:else if schema.hints.types}
2023-06-22 15:07:14 +02:00
<SchemaBaseMultiType {path} {state} {schema}/>
{:else}
<SchemaBasedField {path} {state} {schema}/>
{/if}