friendica/view/theme/frost/js/acl.min.js

1 line
5.3 KiB
JavaScript
Raw Normal View History

2013-02-10 21:57:44 +00:00
function ACL(backend_url,preset){that=this;that.url=backend_url;that.kp_timer=null;if(preset==undefined)preset=[];that.allow_cid=preset[0]||[];that.allow_gid=preset[1]||[];that.deny_cid=preset[2]||[];that.deny_gid=preset[3]||[];that.group_uids=[];that.nw=3;that.list_content=$j("#acl-list-content");that.item_tpl=unescape($j(".acl-list-item[rel=acl-template]").html());that.showall=$j("#acl-showall");if(preset.length==0)that.showall.addClass("selected");that.showall.click(that.on_showall);$j(".acl-button-show").live("click",that.on_button_show);$j(".acl-button-hide").live("click",that.on_button_hide);$j("#acl-search").keypress(that.on_search);$j("#acl-wrapper").parents("form").submit(that.on_submit);that.get(0,100)}ACL.prototype.on_submit=function(){aclfileds=$j("#acl-fields").html("");$j(that.allow_gid).each(function(i,v){aclfileds.append("<input type='hidden' name='group_allow[]' value='"+v+"'>")});$j(that.allow_cid).each(function(i,v){aclfileds.append("<input type='hidden' name='contact_allow[]' value='"+v+"'>")});$j(that.deny_gid).each(function(i,v){aclfileds.append("<input type='hidden' name='group_deny[]' value='"+v+"'>")});$j(that.deny_cid).each(function(i,v){aclfileds.append("<input type='hidden' name='contact_deny[]' value='"+v+"'>")})};ACL.prototype.search=function(){var srcstr=$j("#acl-search").val();that.list_content.html("");that.get(0,100,srcstr)};ACL.prototype.on_search=function(event){if(that.kp_timer)clearTimeout(that.kp_timer);that.kp_timer=setTimeout(that.search,1e3)};ACL.prototype.on_showall=function(event){event.preventDefault();event.stopPropagation();if(that.showall.hasClass("selected")){return false}that.showall.addClass("selected");that.allow_cid=[];that.allow_gid=[];that.deny_cid=[];that.deny_gid=[];that.update_view();return false};ACL.prototype.on_button_show=function(event){event.preventDefault();event.stopImmediatePropagation();event.stopPropagation();that.set_allow($j(this).parent().attr("id"));return false};ACL.prototype.on_button_hide=function(event){event.preventDefault();event.stopImmediatePropagation();event.stopPropagation();that.set_deny($j(this).parent().attr("id"));return false};ACL.prototype.set_allow=function(itemid){type=itemid[0];id=parseInt(itemid.substr(1));switch(type){case"g":if(that.allow_gid.indexOf(id)<0){that.allow_gid.push(id)}else{that.allow_gid.remove(id)}if(that.deny_gid.indexOf(id)>=0)that.deny_gid.remove(id);break;case"c":if(that.allow_cid.indexOf(id)<0){that.allow_cid.push(id)}else{that.allow_cid.remove(id)}if(that.deny_cid.indexOf(id)>=0)that.deny_cid.remove(id);break}that.update_view()};ACL.prototype.set_deny=function(itemid){type=itemid[0];id=parseInt(itemid.substr(1));switch(type){case"g":if(that.deny_gid.indexOf(id)<0){that.deny_gid.push(id)}else{that.deny_gid.remove(id)}if(that.allow_gid.indexOf(id)>=0)that.allow_gid.remove(id);break;case"c":if(that.deny_cid.indexOf(id)<0){that.deny_cid.push(id)}else{that.deny_cid.remove(id)}if(that.allow_cid.indexOf(id)>=0)that.allow_cid.remove(id);break}that.update_view()};ACL.prototype.update_view=function(){if(that.allow_gid.length==0&&that.allow_cid.length==0&&that.deny_gid.length==0&&that.deny_cid.length==0){that.showall.addClass("selected");$j("#jot-perms-icon").removeClass("lock").addClass("unlock");$j("#jot-public").show();$j(".profile-jot-net input").attr("disabled",false);if(typeof editor!="undefined"&&editor!=false){$j("#profile-jot-desc").html(window.isPublic)}}else{that.showall.removeClass("selected");$j("#jot-perms-icon").removeClass("unlock").addClass("lock");$j("#jot-public").hide();$j(".profile-jot-net input").attr("disabled","disabled");$j("#profile-jot-desc").html("&nbsp;")}$j("#acl-list-content .acl-list-item").each(function(){$j(this).removeClass("groupshow grouphide")});$j("#acl-list-content .acl-list-item").each(function(){itemid=$j(this).attr("id");type=itemid[0];id=parseInt(itemid.substr(1));btshow=$j(this).children(".acl-button-show").removeClass("selected");bthide=$j(this).children(".acl-button-hide").removeClass("selected");switch(type){case"g":var uclass="";if(that.allow_gid.indexOf(id)>=0){btshow