@@ -, +, @@ management - Moving JavaScript to a separate file - Adding a toolbar with a "New alert" button. - Enabling or disabling the "play sound" button based on the value of the sound file field. - Enabling or disabling the "delete" button based on whether there are checkboxes checked. - Switching the patron category administration header search form for the "generic" catalog search one. - Adding "Required" classes to required fields so that the staff client's built-in JS validation library can be used. - Styling the add/edit form in a way which is consistent with other interfaces in Koha. - Removing the invalid "border" attribute from images. - Adding better alt attributes to images. - Confirm that the add/edit form is hidden initially. A toolbar with a "New" button should appear with existing audio alerts in a table below. - Confirm that the "New alert" button works: - The table should be hidden and an empty "add" form displayed. - Confirm that an empty form cannot be submitted. - Confirm that typing or selecting a sound enables the "Play sound" button and that it works to play the sound. - Confirm that adding valid data works. - Confirm that clicking the "Cancel" button hides the form and redisplays the table. - Test the "edit" button for an existing sound: - Confirm that the edit form is displayed and populated with the correct data. - Confirm that edits are saved correctly. - When viewing the table of existing alerts, confirm that checking one of the checkboxes "enables" the delete button. - With one or more checkboxes checked, test that clicking the delete button triggers a deletion confirmation. Test both confirm and cancel operations. - With no checkboxes checked, test that clicking the delete button triggers an alert that checkboxes must be checked. - Ponder whether all this is an improvement or not. --- koha-tmpl/intranet-tmpl/prog/en/js/audio_alerts.js | 89 +++++++++++ .../prog/en/modules/admin/audio_alerts.tt | 169 ++++++++------------- 2 files changed, 151 insertions(+), 107 deletions(-) create mode 100644 koha-tmpl/intranet-tmpl/prog/en/js/audio_alerts.js --- a/koha-tmpl/intranet-tmpl/prog/en/js/audio_alerts.js +++ a/koha-tmpl/intranet-tmpl/prog/en/js/audio_alerts.js @@ -0,0 +1,89 @@ +$( document ).ready(function() { + var checkboxes = $("#delete-alert-form input[type='checkbox']"); + var checkedcheckboxes = 0; + checkboxes.on("change",function(){ + if( $(checkboxes+":checked").length > 0){ + checkedcheckboxes = 1; + $("#delete-alerts").removeClass("disabled"); + } else { + checkedcheckboxes = 0; + $("#delete-alerts").addClass("disabled"); + } + }); + + var soundfield = $("#sound"); + var playsound = $('#play-sound'); + + soundfield.on("change",function(){ + enablePlayButton($(this).val(),playsound); + }); + + $(".edit-alert").hide(); + $("#new-alert-form").hide(); + + $("#newalert").on("click",function(e){ + e.preventDefault(); + $("#new-alert-form").show(); + $("#toolbar, #delete-alert-form").hide(); + }); + + $('#koha-sounds').on('change', function() { + soundfield.val( this.value ); + enablePlayButton($(this).val(),playsound); + }); + + playsound.on('click', function(e) { + e.preventDefault(); + if( soundfield.val() !== '' ){ + playSound( soundfield.val() ); + } else { + alert( MSG_AUDIO_EMPTY_SOUND ); + } + }); + + $('#cancel-edit').on('click', function(e) { + e.preventDefault(); + + enablePlayButton("",playsound); + $("#id").val(""); + $("#selector").val(""); + soundfield.val(""); + $("#koha-sounds").val(""); + + $("#toolbar").show(); + $(".edit-alert").hide(); + $(".create-alert").show(); + $("#new-alert-form").hide(); + $("#delete-alert-form").show(); + }); + + $('#delete-alert-form').on('submit', function() { + if( checkedcheckboxes == 1 ){ + return confirm( MSG_AUDIO_CONFIRM_DELETE ); + } else { + alert( MSG_AUDIO_CHECK_CHECKBOXES ); + return false; + } + }); +}); + +function enablePlayButton(sound_field_value,playbutton){ + if( sound_field_value !== '' ){ + playbutton.removeClass("disabled"); + } else { + playbutton.addClass("disabled"); + } +} + +function EditAlert( elt, id, precedence, selector, sound ) { + $("#new-alert-form").show(); + $("#delete-alert-form").hide(); + $("#toolbar").hide(); + $(".create-alert").hide(); + $(".edit-alert").show(); + $("#id").val(id); + $("#selector").val(selector); + $("#sound").val(sound); + $("#koha-sounds").val(sound); + enablePlayButton(sound,$('#play-sound')); +} --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/audio_alerts.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/audio_alerts.tt @@ -1,76 +1,17 @@ [% INCLUDE 'doc-head-open.inc' %] Koha › Administration › Audio alerts [% INCLUDE 'doc-head-close.inc' %] - - + + [% INCLUDE 'header.inc' %] -[% INCLUDE 'patrons-admin-search.inc' %] +[% INCLUDE 'cat-search.inc' %] @@ -78,49 +19,62 @@ function EditAlert( elt, id, precedence, selector, sound ) {
-
-
- Add new alertEdit alert - - - - - - -
+ - + +
+ Add new alertEdit alert -

- - - Cancel edit -

+ +
    +
  1. + + + Required +
  2. +
  3. + + + + Required +
  4. +
  5. + + +
  6. +
+
+
+ + Cancel
+

Audio alerts

@@ -140,19 +94,19 @@ function EditAlert( elt, id, precedence, selector, sound ) { @@ -163,8 +117,9 @@ function EditAlert( elt, id, precedence, selector, sound ) {
[% a.precedence %] - Go up + Move alert up - Go top + Move alert to top - Go bottom + Move alert to bottom - Go down + Move alert down [% a.selector %]
-

- +

+ +

--