Advertisement
zitot

outletHP-priceSort

Jan 15th, 2020
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         HP OUTLET PRICE SORTER
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  Click "Outlet price" (not "Outlet sale price") to sort HP Business Outlet prices
  6. // @author       xThomas/xTh
  7. // @match        https://h41369.www4.hp.com/pps-offers.php?prod_cat=notebook_pcs
  8. // @grant        none
  9. // ==/UserScript==
  10. function loaded(){
  11.     alert("CLICK OUTLET PRICE TO SORT FROM LEAST TO GREATEST");
  12.     var elements = [...document.querySelectorAll(".pps-header td:nth-child(3)")];
  13.     for (let i = 0; i < elements.length; i++) {
  14.         elements[i].addEventListener('click', function(){
  15.             var n = 0; // number of times we ran appendChild
  16.             let t = elements[i].parentElement.parentElement; //"TBODY"
  17.             for (let i=1;i<t.rows.length;i++){
  18.                 let a = 1;
  19.                 let PRICES = [
  20.                 t.rows[1].children[3].innerHTML || t.rows[1].children[2].innerHTML,
  21.                 t.rows[2].children[3].innerHTML || t.rows[2].children[2].innerHTML,
  22.                 t.rows[3].children[3].innerHTML || t.rows[3].children[2].innerHTML,
  23.                 t.rows[4].children[3].innerHTML || t.rows[4].children[2].innerHTML,
  24.                 t.rows[5].children[3].innerHTML || t.rows[5].children[2].innerHTML,
  25.                 t.rows[6].children[3].innerHTML || t.rows[6].children[2].innerHTML];
  26.  
  27.                 //console.log("PRICES:[," + PRICES + "]")
  28.                 for (let m=1; m<t.rows.length-n;m++){
  29.                     let x = Number
  30.                                 (t.rows[a].children[3].innerHTML.substring(1) ||
  31.                                  t.rows[a].children[2].innerHTML.substring(1));
  32.                     let y = Number
  33.                                 (t.rows[m].children[3].innerHTML.substring(1) ||
  34.                                  t.rows[m].children[2].innerHTML.substring(1));
  35.                     //console.log("m="+m+"\ta="+a+"\tx=" + x + "\ty="+y);
  36.                     if (x > y) {
  37.                         a=m;
  38.                     }
  39.                 }
  40.                 //console.log("appending " + (t.rows[a].children[3].innerHTML || t.rows[a].children[2].innerHTML));
  41.                 t.appendChild(t.rows[a]);
  42.                 n++;
  43.             }
  44.         });
  45.     }
  46. }
  47.  
  48. (function() {
  49.     'use strict';
  50.  
  51.     if (document.readyState == "complete" || document.readyState == "loaded" || document.readyState == "interactive") {
  52.         loaded();
  53.     } else {
  54.         document.addEventListener("DOMContentLoaded", function(event) {
  55.             loaded();
  56.         });
  57.     }
  58. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement