diff --git a/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php b/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php index 2bf4d073..df64c0aa 100644 --- a/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php +++ b/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php @@ -265,6 +265,12 @@ aria-label="Insert link"> + + + + Spellcheck on +
- { + document.querySelectorAll('.helpdesk-ticket-form').forEach((form) => { + const editor = form.querySelector('[data-helpdesk-details-editor]'); + const bodyField = form.querySelector('#body'); + const subjectField = form.querySelector('#subject'); + const attachmentField = form.querySelector('#attachments'); + + if (editor) { + editor.innerHTML = ''; + } + + if (bodyField) { + bodyField.value = ''; + bodyField.dispatchEvent(new Event('input', { bubbles: true })); + bodyField.dispatchEvent(new Event('change', { bubbles: true })); + } + + if (subjectField) { + subjectField.value = ''; + subjectField.dispatchEvent(new Event('input', { bubbles: true })); + subjectField.dispatchEvent(new Event('change', { bubbles: true })); + } + + if (attachmentField) { + attachmentField.value = ''; + } + + if (window.clearHelpdeskFormControls) { + window.clearHelpdeskFormControls(); + } + + const livewireRoot = form.closest('[wire\:id]'); + const livewireId = livewireRoot?.getAttribute('wire:id'); + const component = livewireId && window.Livewire?.find(livewireId); + + if (component) { + component.set('subject', '', false); + component.set('body', '', false); + } + }); + }; + const initialiseTicketCreateEditor = () => { document.querySelectorAll('.helpdesk-ticket-form').forEach((form) => { const editor = form.querySelector('[data-helpdesk-details-editor]'); @@ -430,6 +486,14 @@ }); }; + document.addEventListener('helpdesk-form-cleared', resetTicketCreateFormDom); + document.addEventListener('helpdesk-editor-reset', resetTicketCreateFormDom); + + if (window.Livewire?.on) { + window.Livewire.on('helpdesk-form-cleared', resetTicketCreateFormDom); + window.Livewire.on('helpdesk-editor-reset', resetTicketCreateFormDom); + } + document.addEventListener('DOMContentLoaded', initialiseTicketCreateEditor); document.addEventListener('livewire:navigated', initialiseTicketCreateEditor); initialiseTicketCreateEditor(); diff --git a/Modules/Helpdesk/changelog.yaml b/Modules/Helpdesk/changelog.yaml index 9924e450..94c07002 100644 --- a/Modules/Helpdesk/changelog.yaml +++ b/Modules/Helpdesk/changelog.yaml @@ -151,3 +151,14 @@ - Added README workflow instructions for create, public reply, internal note, close, reopen, SLA, timers, attachments, spell checking and ticket reference sequencing. - Added regression coverage for the sequence implementation, spellcheck wiring and documented stabilised workflows. - Preserved append-only changelog history. + +- version: 1.9.44 + date: 2026-06-23 + type: bugfix + summary: Make Helpdesk ticket create spellcheck visible and repair Clear button DOM reset behaviour. + changes: + - Added a visible Spellcheck on badge and explanatory helper text to the ticket Details editor so users can see browser spellcheck is active. + - Updated the Create Ticket Clear action with a loading state and Dusk hook. + - Added inline reset handling for the rich-text editor, hidden body field, subject field, attachments, Select2 controls and date picker controls after the Livewire clear event. + - Added regression coverage to prevent the visible spellcheck marker and clear-form reset wiring from being removed accidentally. + - Preserved append-only changelog history. diff --git a/Modules/Helpdesk/module.json b/Modules/Helpdesk/module.json index 3dd9921c..f8653f7d 100644 --- a/Modules/Helpdesk/module.json +++ b/Modules/Helpdesk/module.json @@ -22,5 +22,5 @@ "Modules\\Helpdesk\\Providers\\HelpdeskServiceProvider" ], "files": [], - "version": "1.9.43" + "version": "1.9.44" }