myScript.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. $(document).ready(function () {
  2. // --------------------------------------
  3. // Async data loading
  4. function asyncSend(tUri, sObj, isTxtResp){
  5. var res = -1;
  6. $.ajax({
  7. method: "GET",
  8. url: tUri,
  9. data: {},
  10. dataType: "html",
  11. }).done(function (data) {
  12. if(isTxtResp) {
  13. sObj.innerText = data;
  14. } else {
  15. console.log(data);
  16. $('#fScan').removeClass('disabled');
  17. window.location = panelRoute;
  18. }
  19. //console.log(data);
  20. }).fail(function (jqXHR, textStatus) {
  21. console.error(textStatus);
  22. });
  23. return res;
  24. }
  25. // "Scan files" button
  26. $('#fScan').click(function () {
  27. $(this).addClass('disabled');
  28. asyncSend(scanRoute, null, false);
  29. });
  30. // --------------------------------------
  31. // My Player logic
  32. function btnIconSwitch(obj, dir) {
  33. if (dir) {
  34. obj.classList.remove('fa-play');
  35. obj.classList.add('fa-pause');
  36. } else {
  37. obj.classList.remove('fa-pause');
  38. obj.classList.add('fa-play');
  39. }
  40. }
  41. // Simple player dynamics
  42. var players = document.getElementsByClassName('play_btn');
  43. for (var i = 0; i < players.length; i++) {
  44. players[i].onclick = function () {
  45. // Finding UI elements
  46. var audioID = this.getAttribute('audio_id');
  47. var audio = document.getElementById('audio_object_' + audioID);
  48. var btn = document.getElementById('play_ctrl_' + audioID);
  49. var playBadge = document.getElementById('play_num_' + audioID);
  50. // Handling Events
  51. audio.onended = function(){btnIconSwitch(btn, false);}
  52. if (audio.paused) {
  53. audio.play();
  54. btnIconSwitch(btn, true);
  55. // Play event
  56. var myRoute = this.getAttribute('route');
  57. var asRes = asyncSend(myRoute, playBadge, true);
  58. } else {
  59. audio.pause();
  60. btnIconSwitch(btn, false);
  61. }
  62. }
  63. }
  64. // Downloads dynamics
  65. var downs = document.getElementsByClassName('dw_btn');
  66. for (var i = 0; i < downs.length; i++) {
  67. downs[i].onclick = function () {
  68. var audioID = this.getAttribute('audio_id');
  69. var dwBadge = document.getElementById('dw_num_' + audioID)
  70. var myRoute = this.getAttribute('route');
  71. asyncSend(myRoute, dwBadge, true); // download event
  72. }
  73. }
  74. });