lib:progress bar

none

  1. // ==UserScript==
  2. // @name lib:progress bar
  3. // @version 7
  4. // @description none
  5. // @license GPLv3
  6. // @run-at document-start
  7. // @author rssaromeo
  8. // @match *://*/*
  9. // @include *
  10. // @tag lib
  11. // @exclude /livereload.net\/files\/ffopen\/index.html$/
  12. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAHJQTFRFAAAAEIijAo2yAI60BYyuF4WaFIifAY6zBI2wB4usGIaZEYigIoiZCIyrE4igG4iYD4mjEomhFoedCoqpDIqnDomlBYyvE4efEYmiDYqlA42xBoytD4mkCYqqGYSUFYidC4qoC4upAo6yCoupDYqmCYur4zowOQAAACZ0Uk5TAO////9vr////1+/D/+/L+/Pf/////+f3///////H4////////+5G91rAAACgUlEQVR4nM2Y22KjIBCGidg1264liZqDadK03X3/V2wNKHMC7MpF/xthHD5mgERAqZhWhfYqH6K+Qf2qNNf625hCoFj9/gblMUi5q5jLkXLCKudgyiRm0FMK82cWJp1fLbV5VmvJbCIc0GCYaFqqlDJgADdBjncqAXYobm1xh72aFMflbysteFfdy2Yi1XGOm5HGBzQ1dq7TzEoxjeNTjQZb7VA3e1c7+ImgasAgQ9+xusNVNZIo5xmOMgihIS2PbCQIiHEUdTvhxCcS/kPomfFI2zHy2PkWmA6aNatIJpKFJyekyy02xh5Y3DI9T4aOT6VhIUrsNTFp1pf79Z4SIIVDegl6IJO6cHiL/GimIZDhgTu/BlYWCQzHMl0zBWT/T3KAhtxOuUB9FtBrpsz0RV4xsjHmW+UCaffcSy/5viMGer0/6HdFNMZBq/vjJL38H9Dqx4Fuy0Em12DbZy+9pGtiDijbglwAehyj11n0tRD3WUBm+lwulE/8h4BuA+iWAQQnteg2Xm63WQLTpnMnpjdge0Mgu/GRPsV4xdjQ94Lfi624fabhDkfUqIKNrM64Q837v8yL0prasepCgrtvw1sJpoqanGEX7b5mQboNW8eawXaWXTMfMGxub472hzWzHSn6Sg2G9+6TAyRruE71s+zAzjWaknoyJCQzwxrghH2k5FDT4eqWunuNxyN9QCGcxVod5oADbYnIUkDTGZEf1xDJnSFteQ3KdsT8zYDMQXcHxsevcLH1TrsABzkNPyA/L7b0jg704viMMlpQI96WsHknCt/3YH0kOEo9zcGkwrFK39ck72rmoehmKqo2RKlilzSy/nJKEV45CT38myJp456fezktHjN5aeMAAAAASUVORK5CYII=
  13. // @grant none
  14. // @namespace https://greasyfork.org/users/1184528
  15. // ==/UserScript==
  16. ;(() => {
  17. const a = loadlib("allfuncs")
  18.  
  19. class progressBar {
  20. constructor(min, max, name = "") {
  21. this.min = min
  22. this.max = max
  23. this.barname = name
  24. document.body.appendChild(
  25. (this.parent = a.newelem(
  26. "div",
  27. {
  28. position: "fixed",
  29. top: "0",
  30. left: 0,
  31. border: "30px solid #999",
  32. backgroundColor: "black",
  33. color: "white",
  34. width: "calc(100vw - 60px)",
  35. height: "29px",
  36. },
  37. [
  38. (this.progresstext = a.newelem("div", {
  39. // backgroundColor: "#fff",
  40. height: "20px",
  41. })),
  42. (this.progressbar = a.newelem("div", {
  43. backgroundColor: "#777",
  44. width: "100%",
  45. height: "10px",
  46. })),
  47. ]
  48. ))
  49. )
  50. }
  51. set(val, name = "") {
  52. this.progresstext.innerHTML = `${val}/${this.max}: ${name}`
  53. this.progressbar.style.width =
  54. "calc(" + a.rerange(val, 0, this.max, 0, 100) + "% - 2px)"
  55. }
  56. remove() {
  57. this.parent.remove()
  58. delete this.parent
  59. }
  60. }
  61. loadlib("libloader").savelib("progress bar", progressBar)
  62. })()