Files
lucent-laravel/front/js/svelte/records/elements/UUID.svelte
T

48 lines
1.2 KiB
Svelte
Raw Normal View History

2023-10-02 23:10:49 +03:00
<script>
import { getContext } from "svelte";
2026-01-08 23:23:48 +02:00
import Icon from "../../../common/Icon.svelte";
2023-10-02 23:10:49 +03:00
import { getErrorMessage } from "./errorMessage";
const channelurl = getContext("channelurl");
export let validationErrors;
$: errorMessage = getErrorMessage(validationErrors, field.name);
export let field;
export let value;
export let id;
export let isCreateMode;
let readonly = field.readonly && !isCreateMode;
function generateId(e) {
e.preventDefault();
2026-01-07 21:42:18 +02:00
value = randomUUID();
2023-10-02 23:10:49 +03:00
}
</script>
<div class="mb-0">
<div class="d-flex justify-content-between">
<input
type="text"
{id}
class="form-control"
class:is-invalid={errorMessage}
bind:value
autocomplete="off"
{readonly}
/>
{#if !readonly}
2026-01-07 21:42:18 +02:00
<button
class="btn btn-primary ms-2"
title="Generate a new UUIDv4"
on:click={generateId}
>
<Icon icon="dice" />
</button>
2023-10-02 23:10:49 +03:00
{/if}
</div>
{#if errorMessage}
<div class="invalid-feedback d-block">
{errorMessage}
</div>
{/if}
</div>