(aEle)
| 538 | |
| 539 | var dragOverItem, dragFrom, linkDict; |
| 540 | function createLinkItem(aEle) { |
| 541 | let item = document.createElement("div"); |
| 542 | item.innerHTML = createHTML(` |
| 543 | <input type="checkbox" checked> |
| 544 | <a class="dacLink" draggable="false" target="_blank" href="${aEle.href}">${aEle.innerText || "📄"}</a> |
| 545 | <span>🖱️</span> |
| 546 | `); |
| 547 | item.title = aEle.innerText; |
| 548 | item.setAttribute("draggable", "true"); |
| 549 | item.addEventListener("dragover", e => { |
| 550 | e.preventDefault(); |
| 551 | }); |
| 552 | item.addEventListener("dragenter", e => { |
| 553 | if (dragOverItem) dragOverItem.style.opacity = ""; |
| 554 | item.style.opacity = 0.3; |
| 555 | dragOverItem = item; |
| 556 | }); |
| 557 | item.addEventListener('dragstart', e => { |
| 558 | dragFrom = item; |
| 559 | }); |
| 560 | item.addEventListener('drop', e => { |
| 561 | if (!dragFrom) return; |
| 562 | if (e.clientX < item.getBoundingClientRect().left + 142) { |
| 563 | dacLinksCon.insertBefore(dragFrom, item); |
| 564 | } else { |
| 565 | if (item.nextElementSibling) { |
| 566 | dacLinksCon.insertBefore(dragFrom, item.nextElementSibling); |
| 567 | } else { |
| 568 | dacLinksCon.appendChild(dragFrom); |
| 569 | } |
| 570 | } |
| 571 | e.preventDefault(); |
| 572 | }); |
| 573 | linkDict[aEle.href] = item; |
| 574 | dacLinksCon.appendChild(item); |
| 575 | } |
| 576 | |
| 577 | var saveAsZip = true; |
| 578 | function filterList(list) { |
no test coverage detected