[80] | 1 | $(document).ready(function(){ |
---|
| 2 | |
---|
| 3 | $('.ajouter').each(function(){ |
---|
| 4 | $(this).click(function(){ |
---|
| 5 | titre = $(this).siblings("span").text(); |
---|
| 6 | regex = /(id_rubrique|id_article|id_groupe|id_mot)=([0-9]+)/; |
---|
| 7 | matches = regex.exec(this.getAttribute('href')); |
---|
| 8 | if (matches.length > 2) { |
---|
| 9 | if (matches[1] == "id_rubrique" && !isNaN(matches[2] && !$('#r'+matches[2]).length)) { |
---|
| 10 | $("#selection").append('<li id="r'+matches[2]+'" class="sortable">'+titre+" <span class='url_petit'>("+traductions['rubrique']+")</span> <a href=\"javascript:supprimer('#r"+matches[2]+"')\">x</a></li>"); |
---|
| 11 | } else if (matches[1] == "id_article" && !isNaN(matches[2]) && !$('#a'+matches[2]).length) { |
---|
| 12 | $("#selection").append('<li id="a'+matches[2]+'" class="sortable">'+titre+" <span class='url_petit'>("+traductions['article']+")</span> <a href=\"javascript:supprimer('#a"+matches[2]+"')\">x</a></li>"); |
---|
| 13 | } else if (matches[1] == "id_groupe" && !isNaN(matches[2]) && !$('#g'+matches[2]).length) { |
---|
| 14 | $("#selection").append('<li id="g'+matches[2]+'" class="sortable">'+titre+" <span class='url_petit'>("+traductions['groupe']+")</span> <a href=\"javascript:supprimer('#g"+matches[2]+"')\">x</a></li>"); |
---|
| 15 | } else if (matches[1] == "id_mot" && !isNaN(matches[2]) && !$('#m'+matches[2]).length) { |
---|
| 16 | $("#selection").append('<li id="m'+matches[2]+'" class="sortable">'+titre+" <span class='url_petit'>("+traductions['mot']+")</span> <a href=\"javascript:supprimer('#m"+matches[2]+"')\">x</a></li>"); |
---|
| 17 | } |
---|
| 18 | } |
---|
| 19 | |
---|
| 20 | $('#bloc_sauver').css({background: "red"}); |
---|
| 21 | |
---|
| 22 | makesortable(); |
---|
| 23 | return false; |
---|
| 24 | }); |
---|
| 25 | }); |
---|
| 26 | }); |
---|
| 27 | |
---|
| 28 | function makesortable() { |
---|
| 29 | if (type_sortable == "flat") { |
---|
| 30 | |
---|
| 31 | $('#selection').Sortable( |
---|
| 32 | { |
---|
| 33 | accept: 'sortable', |
---|
| 34 | helperclass: 'sortHelper', |
---|
| 35 | activeclass : 'sortableactive', |
---|
| 36 | hoverclass : 'sortablehover', |
---|
| 37 | //handle: 'div.itemHeader', |
---|
| 38 | tolerance: 'pointer', |
---|
| 39 | opacity: 0.5, |
---|
| 40 | onChange : function(ser) |
---|
| 41 | { |
---|
| 42 | }, |
---|
| 43 | onStart : function() |
---|
| 44 | { |
---|
| 45 | $.iAutoscroller.start(this, document.getElementsByTagName('body')); |
---|
| 46 | }, |
---|
| 47 | onStop : function() |
---|
| 48 | { |
---|
| 49 | $.iAutoscroller.stop(); |
---|
| 50 | $('#bloc_sauver').css({background: "red"}); |
---|
| 51 | |
---|
| 52 | } |
---|
| 53 | } |
---|
| 54 | ); |
---|
| 55 | |
---|
| 56 | } else if (type_sortable = "nested") { |
---|
| 57 | |
---|
| 58 | $('#selection').NestedSortable( |
---|
| 59 | { |
---|
| 60 | accept: 'sortable', |
---|
| 61 | helperclass: 'sortHelper', |
---|
| 62 | activeclass : 'sortableactive', |
---|
| 63 | hoverclass : 'sortablehover', |
---|
| 64 | //handle: 'div.itemHeader', |
---|
| 65 | tolerance: 'pointer', |
---|
| 66 | opacity: 0.5, |
---|
| 67 | onChange : function(ser) |
---|
| 68 | { |
---|
| 69 | }, |
---|
| 70 | onStart : function() |
---|
| 71 | { |
---|
| 72 | $.iAutoscroller.start(this, document.getElementsByTagName('body')); |
---|
| 73 | }, |
---|
| 74 | onStop : function() |
---|
| 75 | { |
---|
| 76 | $.iAutoscroller.stop(); |
---|
| 77 | $('#bloc_sauver').css({background: "red"}); |
---|
| 78 | |
---|
| 79 | } |
---|
| 80 | } |
---|
| 81 | ); |
---|
| 82 | |
---|
| 83 | } |
---|
| 84 | } |
---|
| 85 | |
---|
| 86 | function ajouter_lien() { |
---|
| 87 | nom = $('#nom_lien').attr('value'); |
---|
| 88 | lurl = $('#url_lien').attr('value'); |
---|
| 89 | if(!nom || !lurl) { return; } |
---|
| 90 | |
---|
| 91 | afficheurl = lurl; |
---|
| 92 | affichenom = nom; |
---|
| 93 | nom = nom.replace(/\|/g, ""); |
---|
| 94 | lurl = lurl.replace(/\|/g, ""); |
---|
| 95 | |
---|
| 96 | // correctif pour le sortable.hash qui merde |
---|
| 97 | id = htmlentities('|' + nom+'|'+ lurl); |
---|
| 98 | |
---|
| 99 | // trouver un id factice superieur à 90000 |
---|
| 100 | base=90000; |
---|
| 101 | unique=0; |
---|
| 102 | |
---|
| 103 | while(unique==0){ |
---|
| 104 | if ($("#selection li[@id^=l"+ base+"]").length > 0){ |
---|
| 105 | base++; |
---|
| 106 | } else { |
---|
| 107 | unique=1; |
---|
| 108 | } |
---|
| 109 | } |
---|
| 110 | |
---|
| 111 | id="l" + base + id; |
---|
| 112 | $("#selection").append('<li id="'+id+'" class="sortable">'+affichenom+" <span class='url_petit'>("+ afficheurl+")</span> <a href='javascript:supprimer_lien(\""+id+"\")'>x</a></li>"); |
---|
| 113 | $('#bloc_sauver').css({background: "red"}); |
---|
| 114 | makesortable(); |
---|
| 115 | } |
---|
| 116 | |
---|
| 117 | function sauver(langue){ |
---|
| 118 | $('#search').css({visibility: 'visible'}); |
---|
| 119 | |
---|
| 120 | if (type_sortable == "nested") { |
---|
| 121 | serial = $.iNestedSortable.serialize('selection'); |
---|
| 122 | } else { |
---|
| 123 | serial = $.SortSerialize(); |
---|
| 124 | } |
---|
| 125 | $.post("?exec=menu&mode=sauver&langue_menu=" + langue + "&niveaux=" + type_sortable, serial.hash, function (reponse) { |
---|
| 126 | //console.log(reponse); |
---|
| 127 | $('#search').css({visibility: 'hidden'}); |
---|
| 128 | $('#bloc_sauver').css({background: "green"}); |
---|
| 129 | }); |
---|
| 130 | } |
---|
| 131 | |
---|
| 132 | function supprimer(elem) { |
---|
| 133 | jQuery(elem).remove(); |
---|
| 134 | $('#bloc_sauver').css({background: "red"}); |
---|
| 135 | |
---|
| 136 | } |
---|
| 137 | function supprimer_lien(elem) { |
---|
| 138 | elem = document.getElementById(elem); |
---|
| 139 | jQuery(elem).remove(); |
---|
| 140 | $('#bloc_sauver').css({background: "red"}); |
---|
| 141 | |
---|
| 142 | } |
---|
| 143 | |
---|
| 144 | function htmlentities(str) { |
---|
| 145 | var i,output="",len; |
---|
| 146 | len = str.length; |
---|
| 147 | for(i=0;i<len;i++){ |
---|
| 148 | char = str[i].charCodeAt(0); |
---|
| 149 | if(char == 34) { output+="ggguiii"; } |
---|
| 150 | else if(char ==39) { output +="aaapooo"; } |
---|
| 151 | else if(char==45){ output +="tttirrr"; } |
---|
| 152 | else { output += str[i]; } |
---|
| 153 | } |
---|
| 154 | return output; |
---|
| 155 | } |
---|