diff --git a/Modules/Helpdesk/Resources/views/layouts/app/sidebar.blade.php b/Modules/Helpdesk/Resources/views/layouts/app/sidebar.blade.php index e8d1b184..90af9101 100644 --- a/Modules/Helpdesk/Resources/views/layouts/app/sidebar.blade.php +++ b/Modules/Helpdesk/Resources/views/layouts/app/sidebar.blade.php @@ -733,7 +733,7 @@ window.wmsToast(event.detail || {}); }); - function showSessionToasts() { + window.showSessionToasts = function () { @if (session('success')) window.wmsToast({ type: 'success', @@ -766,21 +766,62 @@ }); @endif } + window.__wmsToastSessionKeys = window.__wmsToastSessionKeys || new Set(); + window.showSessionToasts = function () { + @if (session('success')) + window.wmsToast({ + type: 'success', + title: @json(__('Success')), + message: @json(session('success')), + }); + @endif - window.wmsSessionToastsShown = window.wmsSessionToastsShown || false; + @if (session('error')) + window.wmsToast({ + type: 'error', + title: @json(__('Error')), + message: @json(session('error')), + }); + @endif - function showSessionToastsOnce() { - if (window.wmsSessionToastsShown) { + @if (session('warning')) + window.wmsToast({ + type: 'warning', + title: @json(__('Warning')), + message: @json(session('warning')), + }); + @endif + + @if (session('info')) + window.wmsToast({ + type: 'info', + title: @json(__('Information')), + message: @json(session('info')), + }); + @endif + }; + + window.__wmsToastSessionKeys = window.__wmsToastSessionKeys || new Set(); + + window.showSessionToastsOnce = function () { + const key = [ + @json(session('success')), + @json(session('error')), + @json(session('warning')), + @json(session('info')), + ].filter(Boolean).join('|'); + + if (!key || window.__wmsToastSessionKeys.has(key)) { return; } - window.wmsSessionToastsShown = true; - showSessionToasts(); - } + window.__wmsToastSessionKeys.add(key); + window.showSessionToasts(); + }; - document.addEventListener('DOMContentLoaded', showSessionToastsOnce); - document.addEventListener('livewire:navigated', showSessionToastsOnce); - + document.addEventListener('DOMContentLoaded', window.showSessionToastsOnce); + document.addEventListener('livewire:navigated', window.showSessionToastsOnce); + @livewireScripts @fluxScripts diff --git a/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php b/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php index ef7c45bf..234cc61d 100644 --- a/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php +++ b/Modules/Helpdesk/Resources/views/livewire/ticket-create.blade.php @@ -22,7 +22,17 @@ } const editor = document.querySelector('[data-helpdesk-sync-target="body"], [data-helpdesk-editor-model="body"]'); - const target = document.querySelector('textarea[wire\:model\.defer="body"], textarea[name="body"], #body'); + const target = Array.from(document.querySelectorAll('textarea')).find(function (textarea) { + + return textarea.getAttribute('wire:model.defer') === 'body' + + || textarea.getAttribute('wire:model') === 'body' + + || textarea.getAttribute('name') === 'body' + + || textarea.id === 'body'; + +}); const body = (editor?.innerText || editor?.textContent || editor?.value || '').trim(); if (target) { diff --git a/resources/views/components/layouts/sidebar.blade.php b/resources/views/components/layouts/sidebar.blade.php index 98c8d473..e8ba6c06 100644 --- a/resources/views/components/layouts/sidebar.blade.php +++ b/resources/views/components/layouts/sidebar.blade.php @@ -487,53 +487,60 @@ window.wmsToast(event.detail || {}); }); - function showSessionToasts() { + window.showSessionToasts = function () { @if (session('success')) - window.wmsToast({ - type: 'success', - title: @json(__('Success')), - message: @json(session('success')), - }); + window.wmsToast({ + type: 'success', + title: @json(__('Success')), + message: @json(session('success')), + }); @endif @if (session('error')) - window.wmsToast({ - type: 'error', - title: @json(__('Error')), - message: @json(session('error')), - }); + window.wmsToast({ + type: 'error', + title: @json(__('Error')), + message: @json(session('error')), + }); @endif @if (session('warning')) - window.wmsToast({ - type: 'warning', - title: @json(__('Warning')), - message: @json(session('warning')), - }); + window.wmsToast({ + type: 'warning', + title: @json(__('Warning')), + message: @json(session('warning')), + }); @endif @if (session('info')) - window.wmsToast({ - type: 'info', - title: @json(__('Information')), - message: @json(session('info')), - }); + window.wmsToast({ + type: 'info', + title: @json(__('Information')), + message: @json(session('info')), + }); @endif - } + }; - let wmsSessionToastsShown = false; + window.__wmsToastSessionKeys = window.__wmsToastSessionKeys || new Set(); - function showSessionToastsOnce() { - if (wmsSessionToastsShown) { + window.showSessionToastsOnce = function () { + const key = [ + @json(session('success')), + @json(session('error')), + @json(session('warning')), + @json(session('info')), + ].filter(Boolean).join('|'); + + if (!key || window.__wmsToastSessionKeys.has(key)) { return; } - wmsSessionToastsShown = true; - showSessionToasts(); - } + window.__wmsToastSessionKeys.add(key); + window.showSessionToasts(); + }; - document.addEventListener('DOMContentLoaded', showSessionToastsOnce); - document.addEventListener('livewire:navigated', showSessionToastsOnce); + document.addEventListener('DOMContentLoaded', window.showSessionToastsOnce); + document.addEventListener('livewire:navigated', window.showSessionToastsOnce); @fluxScripts diff --git a/resources/views/layouts/app/sidebar.blade.php b/resources/views/layouts/app/sidebar.blade.php index e01384b3..45695eb2 100644 --- a/resources/views/layouts/app/sidebar.blade.php +++ b/resources/views/layouts/app/sidebar.blade.php @@ -519,16 +519,23 @@ @endif } - let wmsSessionToastsShown = false; + window.__wmsToastSessionKeys = window.__wmsToastSessionKeys || new Set(); - function showSessionToastsOnce() { - if (wmsSessionToastsShown) { + window.showSessionToastsOnce = function () { + const key = [ + @json(session('success')), + @json(session('error')), + @json(session('warning')), + @json(session('info')), + ].filter(Boolean).join('|'); + + if (!key || window.__wmsToastSessionKeys.has(key)) { return; } - wmsSessionToastsShown = true; - showSessionToasts(); - } + window.__wmsToastSessionKeys.add(key); + window.showSessionToasts(); + }; document.addEventListener('DOMContentLoaded', showSessionToastsOnce); document.addEventListener('livewire:navigated', showSessionToastsOnce);