diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 816e30ec3..14d1e63ce 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -325,5 +325,559 @@ function carregarMensagens() { + {{-- Search input js logic --}} + + + + @stack("scripts") + @livewireScripts + + + + + + + + + + + + + + + + diff --git a/resources/views/livewire/planning/criteria/criteria.blade.php b/resources/views/livewire/planning/criteria/criteria.blade.php index 0bfd940b6..461abcf5c 100644 --- a/resources/views/livewire/planning/criteria/criteria.blade.php +++ b/resources/views/livewire/planning/criteria/criteria.blade.php @@ -17,7 +17,12 @@ label="{{ __('project/planning.criteria.form.id') }}" wire:model="criteriaId" placeholder="ID" - required /> + required + autocomplete="on" + name="criteria_id" + list="criteriaId_suggestions" + /> + @error("criteriaId") {{ $message }} @@ -330,4 +335,37 @@ class="btn py-1 px-3 btn-outline-danger" }); @endscript - \ No newline at end of file + + + + \ No newline at end of file diff --git a/resources/views/livewire/planning/data-extraction/question.blade.php b/resources/views/livewire/planning/data-extraction/question.blade.php index 41b60b6a6..2a04e4bb3 100644 --- a/resources/views/livewire/planning/data-extraction/question.blade.php +++ b/resources/views/livewire/planning/data-extraction/question.blade.php @@ -12,12 +12,18 @@
@error("questionId") @@ -89,3 +95,69 @@ }); @endscript + + diff --git a/resources/views/livewire/planning/quality-assessment/question-quality.blade.php b/resources/views/livewire/planning/quality-assessment/question-quality.blade.php index 600a1e733..00f58a1f1 100644 --- a/resources/views/livewire/planning/quality-assessment/question-quality.blade.php +++ b/resources/views/livewire/planning/quality-assessment/question-quality.blade.php @@ -17,6 +17,9 @@ wire:model="questionId" pattern="[a-zA-ZÀ-ÿ0-9\s]+" required + autocomplete="on" + name="quality_question_id" + list="quality_questionId_suggestions" /> @error("questionId") @@ -102,6 +105,35 @@ function limit(element, maxLength = 10) { .addEventListener('input', function () { limit(this, 10); }); + + document.addEventListener('DOMContentLoaded', function() { + const form = document.querySelector('form[wire\\:submit]'); + const input = document.querySelector('#question-quality-id'); + + if (form && input) { + form.addEventListener('submit', function() { + const value = input.value.trim(); + if (value) { + const storageKey = `suggestions_${input.id || input.name}`; + let suggestions = []; + + if (localStorage.getItem(storageKey)) { + suggestions = JSON.parse(localStorage.getItem(storageKey)); + } + + if (!suggestions.includes(value)) { + suggestions.push(value); + localStorage.setItem(storageKey, JSON.stringify(suggestions)); + } + + // Automatically refresh suggestions without showing an alert + setTimeout(() => { + refreshSuggestions('question-quality-id', 'quality_question_id', 'quality_questionId_suggestions', false); + }, 200); + } + }); + } + }); @script diff --git a/resources/views/livewire/planning/questions/research-questions.blade.php b/resources/views/livewire/planning/questions/research-questions.blade.php index 3a8b1b8a8..191e4ce62 100644 --- a/resources/views/livewire/planning/questions/research-questions.blade.php +++ b/resources/views/livewire/planning/questions/research-questions.blade.php @@ -17,6 +17,9 @@ class="w-md-25 w-100" wire:model="questionId" placeholder="ID" required + autocomplete="on" + name="research_question_id" + list="research_questionId_suggestions" /> @error("questionId") @@ -157,3 +160,35 @@ class="btn py-1 px-3 btn-outline-danger" }); @endscript + +