MCPcopy Create free account
hub / github.com/Acode-Foundation/Acode / handleClick

Function handleClick

src/pages/fileBrowser/fileBrowser.js:778–1171  ·  view source on GitHub ↗

* Called when any file folder is clicked * @param {MouseEvent} e * @param {"contextmenu"} [isContextMenu]

(e, isContextMenu)

Source from the content-addressed store, hash-verified

776 * @param {"contextmenu"} [isContextMenu]
777 */
778 function handleClick(e, isContextMenu) {
779 /**
780 * @type {HTMLElement}
781 */
782 const $el = e.target;
783
784 if (isSelectionMode) {
785 const checkbox = $el.closest(".tile")?.querySelector(".input-checkbox");
786 if (checkbox && !$el.closest(".selection-header")) {
787 checkbox.checked = !checkbox.checked;
788 const url = $el
789 .closest(".tile")
790 .querySelector("data-url").textContent;
791 if (checkbox.checked) {
792 selectedItems.add(url);
793 } else {
794 selectedItems.delete(url);
795 }
796 const $count = $content.querySelector(".selection-count");
797 updateSelectionCount($count);
798 }
799 return;
800 }
801
802 let action = $el.getAttribute("action") || $el.dataset.action;
803 if (!action) return;
804
805 let url = $el.dataset.url;
806 let name = $el.dataset.name || $el.getAttribute("name");
807 const idOpenDoc = $el.hasAttribute("open-doc");
808 const uuid = $el.getAttribute("uuid");
809 const type = $el.getAttribute("type");
810 const storageType = $el.getAttribute("storageType");
811 const home = $el.getAttribute("home");
812 const isDir = ["dir", "directory", "folder"].includes(type);
813
814 if (!url) {
815 const $url = $el.get("data-url");
816 if ($url) {
817 url = $url.textContent;
818 }
819 }
820
821 if (storageType === "notification") {
822 switch (uuid) {
823 case "addstorage":
824 addStorage();
825 break;
826
827 default:
828 break;
829 }
830 return;
831 }
832
833 if (!url && action === "open" && isDir && !idOpenDoc && !isContextMenu) {
834 loader.hide();
835 util.addPath(name, uuid).then((res) => {

Callers 1

handleContextMenuFunction · 0.70

Calls 11

updateSelectionCountFunction · 0.85
addStorageFunction · 0.85
updateStorageFunction · 0.85
folderFunction · 0.85
contextMenuHandlerFunction · 0.85
fileFunction · 0.85
openDocFunction · 0.85
addMethod · 0.80
deleteMethod · 0.65
getMethod · 0.45
hideMethod · 0.45

Tested by

no test coverage detected