X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=js%2Facl.js;h=487ffafc770032578f1437bd84db44e9b39c77c8;hb=275f7b26604af74aa57f7a4a758735e6bc2ab928;hp=f258a29c736e49a32ebddb3a2289c4464397de53;hpb=9a94c35120480c5a12de8ab0954a16e9f10f7eb6;p=friendica.git diff --git a/js/acl.js b/js/acl.js index f258a29c73..487ffafc77 100644 --- a/js/acl.js +++ b/js/acl.js @@ -1,7 +1,8 @@ -function ACL(backend_url, preset){ +function ACL(backend_url, preset, automention){ that = this; that.url = backend_url; + that.automention = automention; that.kp_timer = null; @@ -21,8 +22,8 @@ function ACL(backend_url, preset){ /*events*/ that.showall.click(that.on_showall); - $(".acl-button-show").live('click', that.on_button_show); - $(".acl-button-hide").live('click', that.on_button_hide); + $(document).on("click", ".acl-button-show", that.on_button_show); + $(document).on("click", ".acl-button-hide", that.on_button_hide); $("#acl-search").keypress(that.on_search); $("#acl-wrapper").parents("form").submit(that.on_submit); @@ -34,11 +35,12 @@ function ACL(backend_url, preset){ that.get(0,100); } -ACL.prototype.remove_mention = function(nick) { - searchText = '@'+nick+ " "; - // 'editor' is defined in jot-header.tpl : false=plaintext, true:tinyMCE - if (editor==false) { - start = that.element.val().search(searchText); +ACL.prototype.remove_mention = function(id) { + if (!that.automention) return; + var nick = that.data[id].nick; + var searchText = "@"+nick+"+"+id+" "; + if (tinyMCE.activeEditor===null) { + start = that.element.val().indexOf(searchText); if ( start<0) return; end = start+searchText.length; that.element.setSelection(start,end).replaceSelectedText('').collapseSelection(false); @@ -51,14 +53,16 @@ ACL.prototype.remove_mention = function(nick) { } } -ACL.prototype.add_mention = function(nick) { - // 'editor' is defined in jot-header.tpl : false=plaintext, true:tinyMCE - if (editor==false) { - if ( that.element.val().search( '@'+nick) >= 0 ) return; - that.element.val( "@"+nick+" " + that.element.val() ); +ACL.prototype.add_mention = function(id) { + if (!that.automention) return; + var nick = that.data[id].nick; + var searchText = "@"+nick+"+"+id+" "; + if (tinyMCE.activeEditor===null) { + if ( that.element.val().indexOf( searchText) >= 0 ) return; + that.element.val( searchText + that.element.val() ); } else { - if ( tinyMCE.activeEditor.getContent({format : 'raw'}).search( '@'+nick) >= 0 ) return; - tinyMCE.activeEditor.dom.add(tinyMCE.activeEditor.getBody(), 'span', {}, '@'+nick+" "); + if ( tinyMCE.activeEditor.getContent({format : 'raw'}).search(searchText) >= 0 ) return; + tinyMCE.activeEditor.dom.add(tinyMCE.activeEditor.getBody(), 'dummy', {}, searchText); } } @@ -151,10 +155,10 @@ ACL.prototype.set_allow = function(itemid){ case "c": if (that.allow_cid.indexOf(id)<0){ that.allow_cid.push(id) - if (that.data[id].forum=="1") that.add_mention(that.data[id].nick); + if (that.data[id].forum=="1") that.add_mention(id); } else { that.allow_cid.remove(id); - if (that.data[id].forum=="1") that.remove_mention(that.data[id].nick); + if (that.data[id].forum=="1") that.remove_mention(id); } if (that.deny_cid.indexOf(id)>=0) that.deny_cid.remove(id); break; @@ -176,7 +180,7 @@ ACL.prototype.set_deny = function(itemid){ if (that.allow_gid.indexOf(id)>=0) that.allow_gid.remove(id); break; case "c": - if (that.data[id].forum=="1") that.remove_mention(that.data[id].nick); + if (that.data[id].forum=="1") that.remove_mention(id); if (that.deny_cid.indexOf(id)<0){ that.deny_cid.push(id) } else { @@ -188,9 +192,13 @@ ACL.prototype.set_deny = function(itemid){ that.update_view(); } +ACL.prototype.is_show_all = function() { + return (that.allow_gid.length==0 && that.allow_cid.length==0 && + that.deny_gid.length==0 && that.deny_cid.length==0); +} + 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){ + if (this.is_show_all()){ that.showall.addClass("selected"); /* jot acl */ $('#jot-perms-icon').removeClass('lock').addClass('unlock');