mirror of
https://github.com/StarFleetCPTN/GoMFT.git
synced 2026-09-08 15:41:20 +02:00
- Added sorting capabilities to file metadata lists, including SortBy and SortDir fields. - Integrated a toast notification system for user feedback on actions. - Updated templates and JavaScript for improved user interaction and responsiveness. - Refactored file metadata handlers to utilize new sorting features and ensure proper data flow. - Introduced new notification dialog components for better user confirmation on actions.
45 lines
1.5 KiB
Templ
45 lines
1.5 KiB
Templ
package form
|
|
|
|
// FormScripts contains JavaScript specific to the notification form page.
|
|
templ FormScripts() {
|
|
<script>
|
|
// Toggle notification fields based on selection
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
const typeSelector = document.getElementById('notification_type');
|
|
// Ensure typeSelector exists before adding listener
|
|
if (!typeSelector) {
|
|
console.warn("Notification type selector not found.");
|
|
return;
|
|
}
|
|
|
|
const allFields = document.querySelectorAll('.notification-fields');
|
|
const commonFields = document.querySelectorAll('.common-fields');
|
|
|
|
function toggleFields() {
|
|
// Hide all specific fields first
|
|
allFields.forEach(field => field.classList.add('hidden'));
|
|
|
|
// Show/hide common fields based on selection
|
|
const selectedType = typeSelector.value;
|
|
if (selectedType) {
|
|
// Show common fields (name, description, is_enabled, submit)
|
|
commonFields.forEach(field => field.classList.remove('hidden'));
|
|
|
|
// Show the selected type's specific fields
|
|
const fieldsToShow = document.getElementById(`${selectedType}_fields`);
|
|
if (fieldsToShow) {
|
|
fieldsToShow.classList.remove('hidden');
|
|
}
|
|
} else {
|
|
// Hide common fields if no type selected
|
|
commonFields.forEach(field => field.classList.add('hidden'));
|
|
}
|
|
}
|
|
|
|
typeSelector.addEventListener('change', toggleFields);
|
|
|
|
// Initialize form state on load (if editing or if a type is pre-selected)
|
|
toggleFields();
|
|
});
|
|
</script>
|
|
} |