integration jaudio-player
[mw_sourceml] / app / out / default / js / actions / sources.js
1 $(document).ready(
2   function(){
3     init_show_xml_links();
4     init_players("");
5     init_menu_source("body");
6     init_album_play_all();
7   }
8 );
9
10 // -----------------------------------------------------------------
11 //                                                     players audio
12 //
13
14 function init_players(elt){
15   $(elt + " audio").jaudioPlayer({
16     "player_graphics": mw_path_url + "plugins/mw_sourceml/app/out/default/images/jaudio-player/jap-graphics.png",
17     "loading_img": mw_path_url + "plugins/mw_sourceml/app/out/default/images/jaudio-player/jap-loading.gif",
18     "auto_play_next_track": false,
19     "loop": false,
20     "waveform_class": "waveform"
21   });
22 }
23
24 function init_album_play_all(){
25   $("#play_all a").click(
26     function(){
27       $("audio").jaudioPlayer("set_option", "auto_play_next_track", true);
28       $("#audio_wrapper_1 .player_controls .play").trigger("click");
29       return false;
30     }
31   );
32 }
33
34
35 // -----------------------------------------------------------------
36 //                                                        source xml
37 //
38
39 var loaded = false;
40 var show_xml_links = {};
41
42 function show_xml(id){
43   alert(xml_contents[id]);
44 }
45
46 function init_show_xml_links(){
47   for(var i in show_xml_links){
48     $("#show_xml_" + i).colorbox();
49   }
50   loaded = true;
51 }
52
53 function set_show_xml_links(i){
54   if(loaded) $("#show_xml_" + i).colorbox();
55   else show_xml_links[i] = true;
56 }
57
58 // -----------------------------------------------------------------
59 //                                             sources / derivations
60 //
61
62 function toggle_source_list(id_block){
63   var content = $("#source_list_" + id_block + " .pistes").html();
64   if(content.length > 0){
65     $("#source_list_" + id_block).slideUp(200);
66     $("#source_list_" + id_block + " .pistes").empty();
67     $("#toggle_sources_list_" + id_block + ".block_list_toggle").html("[+]");
68           $("audio").jaudioPlayer("clean_audio_elts");
69   }
70   else{
71     $("#source_list_" + id_block).slideDown(200);
72     $("#toggle_sources_list_" + id_block + ".block_list_toggle").html("[-]");
73     $("#source_list_" + id_block + " .pistes").html("<div class=\"loading\"><span>en chargement...</span></div>");
74     $.ajax({
75       url: mw_site_url + "index.php?e=content/sources/sources&id=" + id_block,
76       dataType: "html",
77       success: function(content){
78         $("#source_list_" + id_block + " .pistes").html(content);
79         init_players("#source_list_" + id_block + " .pistes");
80         init_menu_source("#source_list_" + id_block + " .pistes");
81       }
82     });
83   }
84 }
85
86 function toggle_derivation_list(id_block){
87   var content = $("#derivation_list_" + id_block + " .derivation").html();
88   if(content.length > 0){
89     $("#derivation_list_" + id_block).slideUp(200);
90     $("#derivation_list_" + id_block + " .derivation").empty();
91     $("#toggle_derivation_list_" + id_block + ".block_list_toggle").html("[+]");
92           $("audio").jaudioPlayer("clean_audio_elts");
93   }
94   else{
95     $("#derivation_list_" + id_block).slideDown(200);
96     $("#toggle_derivation_list_" + id_block + ".block_list_toggle").html("[-]");
97     $("#derivation_list_" + id_block + " .derivation").html("<div class=\"loading\"><span>en chargement...</span></div>");
98     $.ajax({
99       url: mw_site_url + "index.php?e=content/sources/derivations&id=" + id_block,
100       dataType: "html",
101       success: function(content){
102         $("#derivation_list_" + id_block + " .derivation").html(content);
103         init_players("#derivation_list_" + id_block + " .derivation");
104         init_menu_source("#derivation_list_" + id_block + " .derivation");
105       }
106     });
107   }
108 }
109
110 // -----------------------------------------------------------------
111 //                                                     menus sources
112 //
113
114 function init_menu_source(prefix){
115   $(prefix + " .menu_source a.submit").click(
116     function(){
117       $(this).parents("form").first().submit();
118     }
119   );
120 }