--- og_audience_inline.js 2007-09-09 09:05:15.000000000 +0300 +++ og_audience_inline.js 2010-12-13 18:04:26.687016029 +0200 @@ -2,61 +2,72 @@ var og_audience_inline_nid = 0; +$(document).ready(function(){ + $('.link-og-audience').each(function(i) { + $(this).click(function(){ + var nid = this.id; + nid = nid.replace('link_og_audience_', ''); + og_audience_inline_showhide_form(nid, 'Audience', 'Close audience'); + + return false; + }); + }); +}); + function og_audience_inline_showhide_form(nid, openlabel, closelabel) { - ogaudiencebox = $("div[@id=node-ogaudience]"); - - if(og_audience_inline_nid == nid) { - if(ogaudiencebox.is('div')) { + var ogaudiencebox = $("div#node-ogaudience"); + + if (og_audience_inline_nid == nid) { + if (ogaudiencebox.is('div')) { if (ogaudiencebox.css('display')=='block') { ogaudiencebox.hide(); - $('#link_og_audience_' + og_audience_inline_nid).html(openlabel); + $('#link_og_audience_' + og_audience_inline_nid).html(openlabel); } else if(ogaudiencebox.css('display')=='none') { ogaudiencebox.show(); - $('#link_og_audience_' + og_audience_inline_nid).html(closelabel); + $('#link_og_audience_' + og_audience_inline_nid).html(closelabel); } } else { og_audience_inline_form(nid); og_audience_inline_nid = nid; - $('#link_og_audience_' + og_audience_inline_nid).html(closelabel); + $('#link_og_audience_' + og_audience_inline_nid).html(closelabel); } } else { if(ogaudiencebox.is('div')) { ogaudiencebox.hide(); ogaudiencebox.remove(); - $('#link_og_audience_' + og_audience_inline_nid).html(openlabel); + $('#link_og_audience_' + og_audience_inline_nid).html(openlabel); } og_audience_inline_form(nid); og_audience_inline_nid = nid; $('#link_og_audience_' + og_audience_inline_nid).html(closelabel); } -}; +} function og_audience_inline_form(nid) { - $.ajax({ - type: "GET", - async: false, - url: Drupal.settings.ogAudienceInline.urlForm + Drupal.encodeURIComponent(nid), - dataType: "string", - success: function (html_form) { - $("div[@id=node-" + nid + "]/div.content").append('
' + html_form + '
'); + $.get(Drupal.settings.ogAudienceInline.urlForm + Drupal.encodeURIComponent(nid),{'ajax': '1'}, + function(data) { + $("#link_og_audience_" + nid).after('
' + data + '
'); } - }); -}; + ); +} function og_audience_inline_submit() { - var els = $("#-og-audience-inline-build-form").get(0).getElementsByTagName("input"); - if (!els) { + var els = $("div#node-ogaudience").find("input"); + var selects = $("div#node-ogaudience").find("select"); + + if (els.length == 0) { alert('Nothing to save !'); return; } + var params = []; for(var i=0, max=els.length; i < max; i++) { var el = els[i]; if (el.name.indexOf("add_to")>=0 || el.name.indexOf("remove_from")>=0) { - if(el.checked) { + if (el.checked) { params.push({name: el.name, value: el.value}); } } @@ -66,12 +77,30 @@ } } } + for(var i=0, max=selects.length; i < max; i++) { + var el = selects[i]; + if (el.name.indexOf("add_to")>=0 && el.multiple) { + for (i=0; i=0 && el.multiple) { + for (i=0; i