MCPcopy Create free account
hub / github.com/Useful-Scripts-Extension/useful-script / chooseImg

Function chooseImg

scripts/magnify_image.js:680–829  ·  view source on GitHub ↗
(srcs, _x, _y)

Source from the content-addressed store, hash-verified

678}
679
680function chooseImg(srcs, _x, _y) {
681 let { x, y } = validateMouse(_x, _y);
682
683 let id = "ufs-magnify-choose-image";
684 let exist = document.getElementById(id);
685 if (exist) exist.remove();
686
687 // container
688 let overlay = document.createElement("div");
689 overlay.id = id;
690 overlay.style.cssText = `
691 top: ${y}px;
692 left: ${x}px;
693 `;
694 overlay.onclick = (e) => {
695 e.preventDefault();
696 if (e.target == overlay || e.target == container) {
697 overlay.remove();
698 }
699 };
700 document.body.appendChild(overlay);
701
702 // toolbar
703 let toolbar = document.createElement("div");
704 toolbar.classList.add("ufs-toolbar");
705 overlay.appendChild(toolbar);
706
707 // toggle background
708
709 let bgStates = [BgState.none, BgState.dark, BgState.light];
710 let curBgState =
711 (Number(localStorage.getItem("ufs-magnify-image-bg-choose-image")) || 0) -
712 1;
713
714 let toggleBg = document.createElement("div");
715 toggleBg.classList.add("ufs-btn");
716 toggleBg.innerText = "B";
717 toggleBg.ufs_title = "Change background";
718 toggleBg.onclick = () => {
719 curBgState = (curBgState + 1) % bgStates.length;
720 overlay.style.background = "";
721
722 switch (bgStates[curBgState]) {
723 case BgState.none:
724 overlay.style.background = "#000b";
725 break;
726 case BgState.dark:
727 overlay.style.background = "rgba(30, 30, 30, 1)";
728 break;
729 case BgState.light:
730 overlay.style.background = "rgba(240, 240, 240, 1)";
731 break;
732 }
733
734 toggleBg.innerText = "BG " + bgStates[curBgState];
735 localStorage.setItem("ufs-magnify-image-bg-choose-image", curBgState);
736 };
737 toggleBg.click(); // default is toggle ON

Callers 2

magnify_image.jsFile · 0.85
magnifyImageFunction · 0.85

Calls 6

validateMouseFunction · 0.85
createPreviewFunction · 0.85
clickMethod · 0.80
getMousePosFunction · 0.70
removeMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected