diff --git a/bin/dev/minifyjs.sh b/bin/dev/minifyjs.sh index 50a56a45ca..caa2b3846a 100755 --- a/bin/dev/minifyjs.sh +++ b/bin/dev/minifyjs.sh @@ -5,16 +5,13 @@ command -v uglifyjs >/dev/null 2>&1 || { echo >&2 "I require UglifyJS but it's n MINIFY_CMD=uglifyjs JSFILES=( - "view/js/acl.js" "view/js/ajaxupload.js" "view/js/country.js" "view/js/main.js" "vendor/asset/base64/base64.min.js" - "view/theme/frost/js/acl.js" "view/theme/frost/js/jquery.divgrow-1.3.1.f1.js" "view/theme/frost/js/main.js" "view/theme/frost/js/theme.js" - "view/theme/frost-mobile/js/acl.js" "view/theme/frost-mobile/js/jquery.divgrow-1.3.1.f1.js" "view/theme/frost-mobile/js/main.js" "view/theme/frost-mobile/js/theme.js" diff --git a/view/js/acl.js b/view/js/acl.js deleted file mode 100644 index b50dbaec8d..0000000000 --- a/view/js/acl.js +++ /dev/null @@ -1,376 +0,0 @@ -// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPLv3-or-later -function ACL(backend_url, preset, automention, is_mobile){ - - this.url = backend_url; - this.automention = automention; - this.is_mobile = is_mobile; - - - this.kp_timer = null; - - if (preset == undefined) { - preset = []; - } - this.allow_cid = (preset[0] || []); - this.allow_gid = (preset[1] || []); - this.deny_cid = (preset[2] || []); - this.deny_gid = (preset[3] || []); - this.group_uids = []; - this.forumCache = null; - - if (this.is_mobile) { - this.nw = 1; - } else { - this.nw = 4; - } - - - this.list_content = $("#acl-list-content"); - this.item_tpl = unescape($(".acl-list-item[rel=acl-template]").html()); - this.showall = $("#acl-showall"); - - if (preset.length==0) { - this.showall.addClass("selected"); - } - - /*events*/ - this.showall.click(this.on_showall.bind(this)); - $(document).on("click", ".acl-button-show", this.on_button_show.bind(this)); - $(document).on("click", ".acl-button-hide", this.on_button_hide.bind(this)); - $("#acl-search").keypress(this.on_search.bind(this)); - $("#acl-wrapper").parents("form").submit(this.on_submit.bind(this)); - - /* add/remove mentions */ - this.element = $("#profile-jot-text"); - this.htmlelm = this.element.get()[0]; -} - -ACL.prototype.remove_mention = function(id) { - if (!this.automention) { - return; - } - var nick = this.data[id].nick; - var addr = this.data[id].addr; - - if (addr != "") { - var searchText = "!" + addr + " "; - } else { - var searchText = "!" + nick + "+" + id + " "; - } - - var start = this.element.val().indexOf(searchText); - if (start < 0) { - return; - } - var end = start + searchText.length; - this.element.setSelection(start, end).replaceSelectedText('').collapseSelection(false); -}; - -ACL.prototype.add_mention = function(id) { - if (!this.automention) { - return; - } - var nick = this.data[id].nick; - var addr = this.data[id].addr; - - if (addr != "") { - var searchText = "!" + addr + " "; - } else { - var searchText = "!" + nick + "+" + id + " "; - } - - if (this.element.val().indexOf( searchText) >= 0 ) { - return; - } - this.element.val(searchText + this.element.val()).trigger('change'); -} - -ACL.prototype.on_submit = function(){ - var aclfields = $("#acl-fields").html(""); - $(this.allow_gid).each(function(i,v){ - aclfields.append(""); - }); - $(this.allow_cid).each(function(i,v){ - aclfields.append(""); - }); - $(this.deny_gid).each(function(i,v){ - aclfields.append(""); - }); - $(this.deny_cid).each(function(i,v){ - aclfields.append(""); - }); -}; - -ACL.prototype.search = function(){ - var srcstr = $("#acl-search").val(); - this.list_content.html(""); - this.get(0,100, srcstr); -}; - -ACL.prototype.on_search = function(event){ - if (this.kp_timer) clearTimeout(this.kp_timer); - - // Triggers an immediate search while preventing form submission - if (event.key === 'Enter') { - this.search(); - event.preventDefault(); - } else { - this.kp_timer = setTimeout( this.search.bind(this), 500); - } -}; - -ACL.prototype.on_showall = function(event){ - event.preventDefault() - event.stopPropagation(); - - if (this.showall.hasClass("selected")){ - return false; - } - this.showall.addClass("selected"); - - this.allow_cid = []; - this.allow_gid = []; - this.deny_cid = []; - this.deny_gid = []; - - this.update_view(); - - return false; -}; - -ACL.prototype.on_button_show = function(event){ - event.preventDefault() - event.stopImmediatePropagation() - event.stopPropagation(); - - this.set_allow($(event.target).parent().attr('id')); - - return false; -}; - -ACL.prototype.on_button_hide = function(event){ - event.preventDefault() - event.stopImmediatePropagation() - event.stopPropagation(); - - this.set_deny($(event.target).parent().attr('id')); - - return false; -}; - -ACL.prototype.set_allow = function(itemid) { - type = itemid[0]; - id = parseInt(itemid.substr(1)); - - switch (type){ - case "g": - if (this.allow_gid.indexOf(id) < 0) { - this.allow_gid.push(id); - }else { - this.allow_gid.remove(id); - } - if (this.deny_gid.indexOf(id) >= 0) { - this.deny_gid.remove(id); - } - break; - case "c": - if (this.allow_cid.indexOf(id) < 0){ - this.allow_cid.push(id); - if (this.data[id].forum == "1") { - // If we have select already a forum, - // we need to remove the old one (because friendica does - // allow only one forum as receiver). - if (this.forumCache !== null && this.forumCache !== id) { - this.deselectCid(this.forumCache); - } - // Update the forum cache. - this.forumCache = id; - this.add_mention(id); - } - } else { - this.allow_cid.remove(id); - if (this.data[id].forum == "1") { - this.remove_mention(id); - } - } - if (this.deny_cid.indexOf(id) >=0 ) { - this.deny_cid.remove(id); - } - break; - } - this.update_view(); -}; - -ACL.prototype.set_deny = function(itemid){ - type = itemid[0]; - id = parseInt(itemid.substr(1)); - - switch(type){ - case "g": - if (this.deny_gid.indexOf(id)<0){ - this.deny_gid.push(id) - } else { - this.deny_gid.remove(id); - } - if (this.allow_gid.indexOf(id)>=0) this.allow_gid.remove(id); - break; - case "c": - if (this.data[id].forum=="1") this.remove_mention(id); - if (this.deny_cid.indexOf(id)<0){ - this.deny_cid.push(id) - } else { - this.deny_cid.remove(id); - } - if (this.allow_cid.indexOf(id)>=0) this.allow_cid.remove(id); - break; - } - this.update_view(); -}; - -ACL.prototype.is_show_all = function() { - return (this.allow_gid.length==0 && this.allow_cid.length==0 && - this.deny_gid.length==0 && this.deny_cid.length==0); -}; - -ACL.prototype.update_view = function () { - if (this.is_show_all()) { - this.showall.addClass("selected"); - /* jot acl */ - $('#jot-perms-icon').removeClass('lock').addClass('unlock'); - $('#jot-public').show(); - $('.profile-jot-net input[type=checkbox]').each(function() { - // Restores checkbox state if it had been saved - if ($(this).attr('data-checked') !== undefined) { - $(this).prop('checked', $(this).attr('data-checked') === 'true'); - } - }); - - $('.profile-jot-net input').attr('disabled', false); - if (typeof editor != 'undefined' && editor != false) { - $('#profile-jot-desc').html(ispublic); - } - } else { - this.showall.removeClass("selected"); - /* jot acl */ - $('#jot-perms-icon').removeClass('unlock').addClass('lock'); - $('#jot-public').hide(); - $('.profile-jot-net input[type=checkbox]').each(function() { - // Saves current checkbox state - $(this) - .attr('data-checked', $(this).prop('checked')) - .prop('checked', false); - }); - $('.profile-jot-net input').attr('disabled', 'disabled'); - $('#profile-jot-desc').html(' '); - } - - $("#acl-list-content .acl-list-item").each(function (index, element) { - $(this).removeClass("groupshow grouphide"); - - itemid = $(element).attr('id'); - type = itemid[0]; - id = parseInt(itemid.substr(1)); - - btshow = $(element).children(".acl-button-show").removeClass("selected"); - bthide = $(element).children(".acl-button-hide").removeClass("selected"); - - switch (type) { - case "g": - var uclass = ""; - if (this.allow_gid.indexOf(id) >= 0) { - btshow.addClass("selected"); - bthide.removeClass("selected"); - uclass = "groupshow"; - } - if (this.deny_gid.indexOf(id) >= 0) { - btshow.removeClass("selected"); - bthide.addClass("selected"); - uclass = "grouphide"; - } - - $(this.group_uids[id]).each(function (i, v) { - if (uclass == "grouphide") - $("#c" + v).removeClass("groupshow"); - if (uclass != "") { - var cls = $("#c" + v).attr('class'); - if (cls == undefined) - return true; - var hiding = cls.indexOf('grouphide'); - if (hiding == -1) - $("#c" + v).addClass(uclass); - } - }); - - break; - case "c": - if (this.allow_cid.indexOf(id) >= 0) { - btshow.addClass("selected"); - bthide.removeClass("selected"); - } - if (this.deny_cid.indexOf(id) >= 0) { - btshow.removeClass("selected"); - bthide.addClass("selected"); - } - } - - }.bind(this)); - -}; - -ACL.prototype.get = function(start,count, search){ - var postdata = { - start:start, - count:count, - search:search, - } - - $.ajax({ - type:'POST', - url: this.url, - data: postdata, - dataType: 'json', - success:this.populate.bind(this) - }); -}; - -ACL.prototype.populate = function(data){ - var height = Math.ceil(data.tot / this.nw) * 42; - this.list_content.height(height); - this.data = {}; - $(data.items).each(function(index, item) { - if (item.separator != undefined) { - html = "