|
2310 | 2310 | <script> |
2311 | 2311 | const isMobile = navigator.userAgent.match(/iPhone|iPad|iPod|Android|BlackBerry|webOS/); |
2312 | 2312 | if (isMobile) { |
2313 | | - const script = document.createElement('script'); |
| 2313 | + const script = document.createElement("script"); |
2314 | 2314 | script.src = "https://cdn.jsdelivr.net/gh/timruffles/[email protected]/release/index.min.js"; |
2315 | 2315 | script.defer = true; |
2316 | 2316 | script.onload = () => { |
2317 | 2317 | MobileDragDrop.polyfill(); |
2318 | 2318 | } |
2319 | 2319 | document.body.appendChild(script); |
2320 | | - const link = document.createElement('link'); |
2321 | | - link.rel = 'stylesheet'; |
| 2320 | + const link = document.createElement("link"); |
| 2321 | + link.rel = "stylesheet"; |
2322 | 2322 | link.href = "https://cdn.jsdelivr.net/gh/timruffles/[email protected]/release/default.css"; |
2323 | 2323 | document.body.appendChild(link); |
2324 | 2324 | } |
|
3119 | 3119 | } |
3120 | 3120 | const formatDate = date => { |
3121 | 3121 | const year = date.getFullYear(); |
3122 | | - const month = (date.getMonth() + 1).toString().padStart(2, '0'); |
3123 | | - const day = date.getDate().toString().padStart(2, '0'); |
| 3122 | + const month = (date.getMonth() + 1).toString().padStart(2, "0"); |
| 3123 | + const day = date.getDate().toString().padStart(2, "0"); |
3124 | 3124 | return `${year}-${month}-${day}`; |
3125 | 3125 | } |
3126 | 3126 | const checkBill = async () => { |
|
3477 | 3477 | let activeChatEle; |
3478 | 3478 | let operateChatIdx, operateFolderIdx; |
3479 | 3479 | let dragLi, dragType, dragIdx; |
| 3480 | + let mobileDragOut; |
| 3481 | + const mobileDragStartEV = function (ev) { |
| 3482 | + if (mobileDragOut !== void 0) { |
| 3483 | + clearTimeout(mobileDragOut); |
| 3484 | + mobileDragOut = void 0; |
| 3485 | + } |
| 3486 | + mobileDragOut = setTimeout(() => { |
| 3487 | + this.setAttribute("draggable", "true"); |
| 3488 | + this.dispatchEvent(ev); |
| 3489 | + }, 200); |
| 3490 | + }; |
| 3491 | + if (isMobile) { |
| 3492 | + let stopDragOut = () => { |
| 3493 | + if (mobileDragOut !== void 0) { |
| 3494 | + clearTimeout(mobileDragOut); |
| 3495 | + mobileDragOut = void 0; |
| 3496 | + } |
| 3497 | + }; |
| 3498 | + let stopDrag = () => { |
| 3499 | + stopDragOut(); |
| 3500 | + document.querySelectorAll("[draggable=true]").forEach(ele => { |
| 3501 | + ele.setAttribute("draggable", "false"); |
| 3502 | + }) |
| 3503 | + }; |
| 3504 | + document.body.addEventListener("touchmove", stopDragOut); |
| 3505 | + document.body.addEventListener("touchend", stopDrag); |
| 3506 | + document.body.addEventListener("touchcancel", stopDrag); |
| 3507 | + }; |
3480 | 3508 | const delDragIdx = () => { |
3481 | 3509 | let chatIdx = chatIdxs.indexOf(dragIdx); |
3482 | 3510 | if (chatIdx !== -1) { |
|
3680 | 3708 | let folder = folderData[idx]; |
3681 | 3709 | let folderEle = document.createElement("div"); |
3682 | 3710 | folderEle.className = "folderLi"; |
3683 | | - folderEle.setAttribute("draggable", "true"); |
| 3711 | + if (!isMobile) folderEle.setAttribute("draggable", "true"); |
| 3712 | + else folderEle.ontouchstart = mobileDragStartEV; |
3684 | 3713 | let headEle = document.createElement("div"); |
3685 | 3714 | headEle.className = "headLi"; |
3686 | 3715 | headEle.innerHTML = `<svg width="24" height="24"><use xlink:href="#expandFolderIcon" /></svg> |
|
3718 | 3747 | if (first) {chatPreview = first.content.slice(0, 30)} |
3719 | 3748 | } |
3720 | 3749 | chatEle.children[1].children[1].textContent = chatPreview; |
3721 | | - } |
| 3750 | + }; |
3722 | 3751 | const chatEleAdd = (idx, appendChat = true) => { |
3723 | 3752 | let chat = chatsData[idx]; |
3724 | 3753 | let chatEle = document.createElement("div"); |
3725 | 3754 | chatEle.className = "chatLi"; |
3726 | | - chatEle.setAttribute("draggable", "true"); |
| 3755 | + if (!isMobile) chatEle.setAttribute("draggable", "true"); |
| 3756 | + else chatEle.ontouchstart = mobileDragStartEV; |
3727 | 3757 | chatEle.ondragstart = chatDragStartEv; |
3728 | 3758 | chatEle.innerHTML = `<svg width="24" height="24"><use xlink:href="#chatIcon" /></svg> |
3729 | 3759 | <div class="chatInfo"> |
|
0 commit comments