diaspora/public/javascripts/contact-edit.js

36 lines
1.3 KiB
JavaScript

// Copyright (c) 2011, Diaspora Inc. This file is
// licensed under the Affero General Public License version 3 or later. See
// the COPYRIGHT file.
var ContactEdit = {
init: function(){
$.extend(ContactEdit, AspectsDropdown);
$('.dropdown.aspect_membership .dropdown_list > li').live('click', function(evt){
ContactEdit.processClick($(this), evt);
});
},
processClick: function(li, evt){
var button = li.find('.button');
if(button.hasClass('disabled') || li.hasClass('newItem')){ return; }
var checkbox = li.find('img.check'),
selected = li.hasClass("selected"),
routedId = selected ? "/42" : "";
$.post("/aspect_memberships" + routedId + ".json", {
"aspect_id": li.data("aspect_id"),
"person_id": li.parent().data("person_id"),
"_method": (selected) ? "DELETE" : "POST"
}, function(aspectMembership) {
ContactEdit.toggleCheckbox(checkbox);
ContactEdit.updateNumber(li.closest(".dropdown_list"), li.parent().data("person_id"), aspectMembership.aspect_ids.length, 'in_aspect');
Diaspora.widgets.publish("aspectDropdown/updated", [li.parent().data("person_id"), li.parents(".dropdown").parent(".right").html()]);
});
},
};
$(document).ready(function(){
ContactEdit.init();
});