From bf25d906b08fc77808ade6d3bc759252c232f52d Mon Sep 17 00:00:00 2001 From: TinaH Date: Fri, 24 Feb 2023 13:03:48 +0100 Subject: [PATCH] Save on enter and debounce numeric input --- .../views/columns/text-input-column.blade.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/tables/resources/views/columns/text-input-column.blade.php b/packages/tables/resources/views/columns/text-input-column.blade.php index f03826844a..f46a67ad29 100644 --- a/packages/tables/resources/views/columns/text-input-column.blade.php +++ b/packages/tables/resources/views/columns/text-input-column.blade.php @@ -13,6 +13,13 @@ error: undefined, state: @js($state), isLoading: false, + update: async function(value) { + this.isLoading = true + this.response = await $wire.updateTableColumnState(@js($getName()), @js($recordKey), value) + this.error = response?.error ?? undefined + if (! this.error) this.state = response + this.isLoading = false + } }" x-init=" Livewire.hook('message.processed', (component) => { @@ -46,13 +53,8 @@ {!! ($inputMode = $getInputMode()) ? "inputmode=\"{$inputMode}\"" : null !!} {!! ($placeholder = $getPlaceholder()) ? "placeholder=\"{$placeholder}\"" : null !!} {!! ($interval = $getStep()) ? "step=\"{$interval}\"" : null !!} - x-on:change=" - isLoading = true - response = await $wire.updateTableColumnState(@js($getName()), @js($recordKey), $event.target.value) - error = response?.error ?? undefined - if (! error) state = response - isLoading = false - " + x-on:change{{ $getType() === 'number' ? '.debounce.750ms' : null }}="update($event.target.value)" + x-on:keydown.enter="update($event.target.value)" :readonly="isLoading" x-tooltip="error" {{ $attributes->merge($getExtraInputAttributes())->merge($getExtraAttributes())->class([