Koha/koha-tmpl/intranet-tmpl/prog/js/audio_alerts.js
Owen Leonard ac12b9c648 Bug 26225: Move translatable strings out of audio_alerts.tt and into audio_alerts.js
This patch removes the definition of translatable strings out of
templates and into the corresponding JavaScript file, using the new JS
i81n function.

To test:

- Apply the patch, go to Administration -> Audio alerts.
- Click the "Delete selected alerts" button without checking any
  checkboxes. You should see an error: "Check the box next to the alert
  you want to delete."
- Check the checkbox for an existing sound and click "Delete selected
  alerts." You should get a confirmation message, "Are you sure you want
  to delete the selected audio alerts?"
- Click "New alert."
- Without filling any details, click the "Play sound" button. You should
  see an error message, "Please select or enter a sound."

TESTING TRANSLATABILITY

- Update a translation, e.g. fr-FR:

> cd misc/translator
> perl translate update fr-FR

- Open the corresponding .po file for JavaScript strings, e.g.
  misc/translator/po/fr-FR-messages-js.po
- Locate strings pulled from
  koha-tmpl/intranet-tmpl/prog/js/audio_alerts.js for translation, e.g.:

  msgid "Are you sure you want to delete the selected audio alerts?"
  msgstr ""

- Edit the "msgstr" string however you want (it's just for testing).
- Install the updated translation:

  > perl translate install fr-FR

- Switch to your newly translated language in the staff client
  and repeat the test plan above. The translated strings should
  appear.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-09-29 14:28:18 +02:00

101 lines
2.9 KiB
JavaScript

/* global __ */
$( document ).ready(function() {
var checkboxes = $("#delete-alert-form input[type='checkbox']");
var checkedcheckboxes = 0;
checkboxes.on("change",function(){
if( $("#delete-alert-form").find("input: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( __("Please select or enter a 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( __("Are you sure you want to delete the selected audio alerts?") );
} else {
alert( __("Check the box next to the alert you want to delete.") );
return false;
}
});
$(".edit").on("click",function(e){
e.preventDefault();
var elt = this;
var id = $(this).data("soundid");
var precedence = $(this).data("precedence");
var selector = $(this).data("selector");
var sound = $(this).data("sound");
EditAlert( elt, id, precedence, selector, sound );
});
});
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'));
}