// ==UserScript==
// @name SGW Lister Postings/Sales Filterer
// @namespace greasyfork.org
// @version 2.3.4
// @grant none
// @require http://code.jquery.com/jquery-2.1.3.js
// @require https://greasyfork.org/scripts/23450-sgw-fixer-users/code/SGW%20Fixer%20-%20Users.js?upDate=2017_09_07
// @include https://sellers.shopgoodwill.com/sellers/listerpostings.asp*
// @include https://sellers.shopgoodwill.com/sellers/listersales.asp*
// @description Filters the lister postings screen to one's own listings.
// @downloadURL none
// ==/UserScript==
//var posters = JSON.parse();
//console.dir(posters);
//console.log($('#posterData').html());
var userNames = {};
var userInfoByUsername = {};
$.each(posters, function(name, info){
var userName = info['username'].toUpperCase();
userInfoByUsername[userName] = Object.assign({}, info);
userNames[userName] = info['name'].toLowerCase();
});
console.dir(userNames);
var thisPoster = "";
var posterDelay = 0;
var url = document.URL;
var vars = [], hash;
var q = document.URL.split('?')[1];
if(q != undefined){
q = q.split('&');
for(var i = 0; i < q.length; i++){
hash = q[i].split('=');
vars.push(hash[1]);
vars[hash[0]] = hash[1];
}
}
var page = '';
if (url.indexOf('listerSales') >= 0) {
page = 'listerSales';
$('th:contains("Order")').parent().parent().parent().append('
| |
| Grand Total Sales | | Total Items | | PPI | |
');
function calculateGrandTotal(){
var totals = $('td:contains("Lister Total"):visible');
var totalSales = 0;
var totalItems = 0;
var PPI = 0;
$.each(totals, function(){
numbers = $(this).html().match(/(\d{1}[\d|\.]*)/g);
totalSales += Math.ceil(numbers[0]*100)/100;
totalItems += Math.ceil(numbers[1]*100)/100;
});
totalSales = totalSales.toFixed(2)
if (totalItems > 0) {
PPI = (totalSales / totalItems).toFixed(2);
} else {
PPI = 0;
}
$('#totalSales').html('$'+totalSales);
$('#totalItems').html(totalItems);
$('#PPI').html('$'+PPI);
}
calculateGrandTotal();
} else {
page = 'listerPostings';
$('td:contains("Grand Total=")').addClass('jewelry collectibles');
}
var myInfo = {};
$.each(posters, function(name, info) { //working 10/27
userName = name.toLowerCase().replace('(','\\(').replace(')','\\)');
re = new RegExp(userName,"gi");
if(re.exec($(".smtext").html().toLowerCase())) {
myInfo = Object.assign({}, info);
// thisPoster = name.replace(/ /gi,"");
// console.log(thisPoster);
}
});
$("tbody:contains('Item Title')").children().addClass("hideable");
$("tbody:contains('Item Title') > tr").first().removeClass('hideable');
if ($('select[name="startMonth"]').val() == $('select[name="endMonth"]').val() && $('select[name="startDay"]').val() == $('select[name="endDay"]').val() && $('select[name="startYear"]').val() == $('select[name="endYear"]').val()) {
vars['inhOneDay'] = 1;
} else {
vars['inhOneDay'] = 0;
}
$('#form1').append("");
$('td:contains("From Date")').attr("id", "fromTd");
$('td:contains("To Date")').attr("id", "toID");
$('#fromTD, #toTD').parent().addClass("dontMove");
$('#toID').parent().css({
"position" : "absolute",
"top" : "165px",
"left" : "26px",
});
$('input[name="submit"]').before("
");
$('body').append("");
$('#toolsContainer').css({
'text-align' : 'left',
'position' : 'absolute',
'left' : '250px',
'top' : '120px',
});
$('#fromTd').css("width","70px");
$('#oneDay').bind("change", function(){
if ($('#oneDay:checked').length > 0) {
$('#fromTd').html("Date");
$('#toID').parent().children().each(function(){
$(this).contents().hide();
});
$('#toID').html(" ");
$('select[name="endMonth"]').val( $('select[name="startMonth"]').val());
$('select[name="endDay"]').val( $('select[name="startDay"]').val());
$('select[name="endYear"]').val( $('select[name="startYear"]').val());
$('select[name="startMonth"]').bind("change",function(){
$('select[name="endMonth"]').val( $('select[name="startMonth"]').val());
});
$('select[name="startDay"]').bind("change",function(){
$('select[name="endDay"]').val( $('select[name="startDay"]').val());
});
$('select[name="startYear"]').bind("change",function(){
$('select[name="endYear"]').val( $('select[name="startYear"]').val());
});
$('#inhOneDay').val(1);
} else {
$('#fromTd').html("From Date");
$('#toID').parent().children().each(function(){
$(this).contents().show();
});
$('#toID').html("To Date");
$('select[name="startMonth"]').unbind("change");
$('select[name="startDay"]').unbind("change");
$('select[name="startYear"]').unbind("change");
$('#inhOneDay').val(0);
}
});
if ($('#inhOneDay').val()=="1") {
$('#oneDay').trigger("click");
}
$('#toolsContainer').append(" Just my posts
");
$('#doFilter').bind("click", function(){
$('#doFilterDept, #doFilterUser').prop('checked', false);
var myWelcome = $("td.smtext:contains('Welcome')").html().toLowerCase();
// console.log(myWelcome);
// var res = myWelcome.match(/([^elcome ])(\S*)/gi);
// userName = userNames[res[0].toLowerCase()]+' ';
// console.dir(res);
$.each(userNames, function(userName, fullName) {
// console.log(myWelcome + ' contains ' + fullName + '?', myWelcome.indexOf(fullName));
if(myWelcome.indexOf(fullName) >= 0) {
$(".hideable:contains('" + userName + "')").prev().nextUntil(".hideable:contains('Lister ')").removeClass("hideable").addClass("showable");
console.log()
}
});
var myTotal = $("tr.showable").length - 1;
/*
foo = $("td:contains('Grand Total=')").html();
var ress = foo.match(/(Grand Total=)(.*)/g);
totalTotal = ress[0];
*/
$(".hideable").show();
$('#doFilterDept').prop('checked', false);
if ($('#doFilter:checked').length > 0) {
$(".hideable").hide();
$('th:contains("Posting Date")').parent().show();
$(".showable").last().after("| Your total: " + myTotal + " |
");
$(".showable").last().after("| " + totalTotal + " |
");
} else {
$('.filterTotals').remove();
}
});
if (vars['filter'] == "justMe" || vars['filter'] == "totals") {
$('#form1').append("");
}
if (url.search("listerpostings") && vars['filter']=="justMe") {
$('#doFilter').trigger("click");
} else if (url.search("listerpostings") && vars['filter']=="totals") {
$('#form1').attr("action", "listerpostings.asp?filter=totals&relist=");
$('#form1').append("");
$('a').each(function(){
if ($(this).attr("href").indexOf("zoomItem") > 0) {
$(this).parent().parent().hide();
}
});
}
console.dir(myInfo);
if (myInfo['sup'] == true && myInfo['dept'] != 'all') {
if (page == 'listerSales') {
var d = '$';
} else {
var d = '';
}
var totalSales = {
'collectibles' : 0,
'jewelry' : 0,
}
var userSales = {
'collectibles' : {},
'jewelry' : {},
}
var grandTotalSales = 0;
if ($('tr:contains("Lister:")').length > 0){
$('body').append('');
$('#totalsTable').append("| Totals |
");
// $('#totalsTable').append("| Collectibles | |
");
// $('#totalsTable').append("| Jewelry | |
");
$('#totalsTable').append("| Collectibles |
");
$('#totalsTable').append("| Jewelry |
");
$('#totalsTable').append("| Overall |
");
$('#totalsTable').append("| Grand total | |
");
}
$('#filterSpan').after(' Filter to my department');
$('#filterDeptSpan').after(" Filter to user:
");
$('#filterUserDiv').after(" Gallery/featured only
");
$('b:contains("Lister:")').each(function(){
var thisUser = $(this).html().replace("Lister: ", "");
var dept = userInfoByUsername[thisUser]['dept'];
$(this).parent().parent().nextUntil('tr:contains("Lister:")').addClass(dept).attr('username', thisUser);
$(this).parent().parent().addClass(dept).attr('username', thisUser);
$('#selectUser').append("