forked from liweijie/education
1 line
17 KiB
JSON
1 line
17 KiB
JSON
{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\directive\\tableDrag\\index.js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\directive\\tableDrag\\index.js","mtime":1787624051781},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzIik7Ci8qKgogKiDooajmoLzmqKrlkJHmi5bmi73mu5rliqgKICog6ZqQ6JeP6KGo5qC855qE5qiq5ZCR5rua5Yqo5p2h77yM5oyJ5L2P6byg5qCH5bem6ZSu5qiq5ZCR5ouW5Yqo5Y2z5Y+v5p+l55yL5ZCO6Z2i55qE5a2X5q6144CCCiAqIOmAmui/hyBkb2N1bWVudCDkuovku7blp5TmiZjlhajlsYDnlJ/mlYjvvIzmiYDmnIkgZWwtdGFibGUg6Ieq5Yqo5pSv5oyB77yM5peg6ZyA6YCQ6aG157uR5a6a44CCCiAqCiAqIOWunueOsOimgeeCue+8iOWFqOmdouS8mOWMlu+8ie+8mgogKiAgLSDph4fnlKggUG9pbnRlciBFdmVudHMgKyBzZXRQb2ludGVyQ2FwdHVyZe+8muaMieS4i+eerOmXtOaKiuaMh+mSiOaNleiOt+WIsOa7muWKqOWuueWZqOS4iu+8jAogKiAgICDkuYvlkI7ml6DorrrlhYnmoIfnp7vliqjliLDlm7rlrprliJfjgIHooajmoLzkuIvmlrnov5jmmK/nqpflj6PlpJbvvIznp7vliqjkuovku7bpg73kuI3kvJrkuK3mlq3vvIznnJ/mraMi6Lef5omLIuOAggogKiAgLSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUg5ZCI5bm25q+P5bin5rua5Yqo77yM6YG/5YWN6auY6aKR5LqL5Lu26YCg5oiQ5Y2h6aG/L+mXqueDgeOAggogKiAgLSDmqKrlkJHkvY3np7votoXov4fpmIjlgLzljbPop6blj5HvvIzlhYHorrjovbvlvq7mlpzlkJEv5byn57q/77yb5LuF5b2T57q15ZCR5piO5pi+5Y2g5LyY5pe25omN5LiN6Kem5Y+R77yMCiAqICAgIOS/neeVmeaZrumAmueCueWHu+S4jue6teWQkeaLluaLve+8iOWmguihjOaOkuW6j++8ieeahOWMuuWIhuOAggogKiAgLSDmi5bmi73mnJ/pl7TmlbTpobXplIHlrprlhYnmoIfkuI7mlofmnKzpgInkuK3vvIzlhYnmoIfkv53mjIHpu5jorqTnrq3lpLTvvIzkuI3pl6rlj5jkuLrmipPmiYsv5omL5Z6L44CCCiAqICAtIOaLluaLvee7k+adn++8iOehruWunuWPkeeUn+S6hua7muWKqO+8ieWQjuWxj+iUveacrOasoSBjbGlja++8jOmBv+WFjeivr+inpuWPkeihjOeCueWHu+OAgeWkjemAieahhuetieOAggogKi8KdmFyIERSQUdfVEhSRVNIT0xEID0gMjsgLy8g5qiq5ZCR5L2N56e76LaF6L+H6K+l5YOP57Sg5Y2z5Yik5a6a5Li65ouW5Yqo77yM6LaK5bCP6LaK6Lef5omLCgovLyDlnKjov5nkupvlhYPntKDkuIrmjInkuIvkuI3op6blj5Hmi5bmi73vvIzkv53or4HmjInpkq7jgIHlpI3pgInmoYbnrYnkuqTkupLkuI3lj5flvbHlk40KdmFyIElOVEVSQUNUSVZFX1NFTEVDVE9SID0gWydhJywgJ2J1dHRvbicsICdpbnB1dCcsICd0ZXh0YXJlYScsICdzZWxlY3QnLCAnbGFiZWwnLCAnLmVsLWJ1dHRvbicsICcuZWwtY2hlY2tib3gnLCAnLmVsLXJhZGlvJywgJy5lbC1zd2l0Y2gnLCAnLmVsLXNlbGVjdCcsICcuZWwtbGluaycsICcuZWwtZHJvcGRvd24nLCAnLmVsLXRvb2x0aXAnLCAnLmVsLWNvbG9yLXBpY2tlcicsICdbY29udGVudGVkaXRhYmxlPSJ0cnVlIl0nXS5qb2luKCcsJyk7CnZhciB3cmFwcGVyID0gbnVsbDsKdmFyIHBvaW50ZXJJZCA9IG51bGw7CnZhciBzdGFydFggPSAwOwp2YXIgc3RhcnRZID0gMDsKdmFyIHN0YXJ0U2Nyb2xsTGVmdCA9IDA7CnZhciBkcmFnZ2luZyA9IGZhbHNlOwp2YXIgcmFmSWQgPSBudWxsOwp2YXIgcGVuZGluZ1Njcm9sbExlZnQgPSAwOwpmdW5jdGlvbiBpc0hvcml6b250YWxseVNjcm9sbGFibGUoZWwpIHsKICByZXR1cm4gZWwuc2Nyb2xsV2lkdGggPiBlbC5jbGllbnRXaWR0aCArIDE7Cn0KCi8vIOavj+W4p+WPquW6lOeUqOS4gOasoea7muWKqOS9jee9ru+8jOaPkOWNh+W5s+a7keW6pgpmdW5jdGlvbiBhcHBseVNjcm9sbCgpIHsKICBpZiAoIXdyYXBwZXIpIHJldHVybjsKICB3cmFwcGVyLnNjcm9sbExlZnQgPSBwZW5kaW5nU2Nyb2xsTGVmdDsKICByYWZJZCA9IG51bGw7Cn0KZnVuY3Rpb24gaGFuZGxlUG9pbnRlckRvd24oZSkgewogIGlmIChlLmJ1dHRvbiAhPT0gMCAmJiBlLnBvaW50ZXJUeXBlID09PSAnbW91c2UnKSByZXR1cm47CiAgaWYgKGUudGFyZ2V0LmNsb3Nlc3QoSU5URVJBQ1RJVkVfU0VMRUNUT1IpKSByZXR1cm47CiAgLy8g5Zu65a6a5YiX77yI5aaCIGZpeGVkPSJyaWdodCIg55qE5pON5L2c5YiX77yJ5riy5p+T5ZyoIC5lbC10YWJsZV9fZml4ZWQtYm9keS13cmFwcGVyIOS4re+8jOaCrOa1ruimhuebluWcqAogIC8vIOihqOS9k+WPs+S+p++8jOmcgOS4gOW5tuivhuWIq++8m+acgOe7iOe7n+S4gOiQveWIsOecn+ato+i0n+i0o+aoquWQkea7muWKqOeahCAuZWwtdGFibGVfX2JvZHktd3JhcHBlciDkuIoKICB2YXIgYW55V3JhcHBlciA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5lbC10YWJsZV9fYm9keS13cmFwcGVyLCAuZWwtdGFibGVfX2ZpeGVkLWJvZHktd3JhcHBlcicpOwogIGlmICghYW55V3JhcHBlcikgcmV0dXJuOwogIHZhciB0YWJsZSA9IGFueVdyYXBwZXIuY2xvc2VzdCgnLmVsLXRhYmxlJyk7CiAgdmFyIHdyYXAgPSB0YWJsZSAmJiB0YWJsZS5xdWVyeVNlbGVjdG9yKCcuZWwtdGFibGVfX2JvZHktd3JhcHBlcicpOwogIGlmICghd3JhcCB8fCAhaXNIb3Jpem9udGFsbHlTY3JvbGxhYmxlKHdyYXApKSByZXR1cm47CiAgd3JhcHBlciA9IHdyYXA7CiAgcG9pbnRlcklkID0gZS5wb2ludGVySWQ7CiAgc3RhcnRYID0gZS5jbGllbnRYOwogIHN0YXJ0WSA9IGUuY2xpZW50WTsKICBzdGFydFNjcm9sbExlZnQgPSB3cmFwLnNjcm9sbExlZnQ7CiAgcGVuZGluZ1Njcm9sbExlZnQgPSBzdGFydFNjcm9sbExlZnQ7CiAgZHJhZ2dpbmcgPSBmYWxzZTsKCiAgLy8g5YWz6ZSu77ya5o2V6I635oyH6ZKI77yM5LmL5ZCO5omA5pyJIHBvaW50ZXJtb3ZlL3BvaW50ZXJ1cCDpg73mjIHnu63mtL7lj5HliLDlrrnlmajvvIwKICAvLyDljbPkvb/lhYnmoIfnp7vlh7rooajkvZMv56qX5Y+j5Lmf5LiN5Lit5patCiAgaWYgKHdyYXAuc2V0UG9pbnRlckNhcHR1cmUgJiYgZS5wb2ludGVySWQgIT0gbnVsbCkgewogICAgdHJ5IHsKICAgICAgd3JhcC5zZXRQb2ludGVyQ2FwdHVyZShlLnBvaW50ZXJJZCk7CiAgICB9IGNhdGNoIChlcnIpIHsvKiDlv73nlaXmjZXojrflpLHotKUgKi99CiAgfQogIC8vIOmYu+atoum7mOiupOihjOS4uu+8jOaKkeWItuWOn+eUn+WbvueJhy/mlofmnKzmi5bmi73kuI7pgInkuK0KICBlLnByZXZlbnREZWZhdWx0KCk7Cn0KZnVuY3Rpb24gaGFuZGxlUG9pbnRlck1vdmUoZSkgewogIGlmICghd3JhcHBlciB8fCBlLnBvaW50ZXJJZCAhPT0gcG9pbnRlcklkKSByZXR1cm47CiAgZS5wcmV2ZW50RGVmYXVsdCgpOwogIHZhciBkeCA9IGUuY2xpZW50WCAtIHN0YXJ0WDsKICB2YXIgZHkgPSBlLmNsaWVudFkgLSBzdGFydFk7CiAgaWYgKCFkcmFnZ2luZykgewogICAgLy8g5LuF5b2T57q15ZCR5piO5pi+5Y2g5LyY77yI6LaF6L+H5qiq5ZCRIDMg5YCN5LiU6LaF6L+HIDEycHjvvInmiY3liKTlrprkuLrnurXlkJHmk43kvZzjgIHkuI3op6blj5HmqKrlkJHmi5bliqjvvIwKICAgIC8vIOWFtuS9meaDheWGte+8iOWQq+i9u+W+ruaWnOWQkS/lvKfnur/vvInpg73mraPluLjop6blj5HvvIzpgb/lhY0i5ouW5LiN5YqoIgogICAgaWYgKE1hdGguYWJzKGR4KSA8PSBEUkFHX1RIUkVTSE9MRCB8fCBNYXRoLmFicyhkeSkgPiBNYXRoLmFicyhkeCkgKiAzICYmIE1hdGguYWJzKGR5KSA+IDEyKSByZXR1cm47CiAgICBkcmFnZ2luZyA9IHRydWU7CiAgICB3cmFwcGVyLmNsYXNzTGlzdC5hZGQoJ2lzLWRyYWdnaW5nJyk7CiAgICAvLyDmlbTpobXplIHlrprlhYnmoIfkuI7mlofmnKzpgInkuK3vvIzkv53or4Hmi5bmi73miYvmhJ/kuIDoh7TvvIjlhYnmoIfkuI3pl6rlj5jjgIHmloflrZfkuI3or6/pgInvvIkKICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnZWwtdGFibGUtZHJhZ2dpbmcnKTsKICB9CgogIC8vIOiusOW9leebruagh+S9jee9ru+8jOS6pOeUsSByQUYg57uf5LiA5bqU55SoCiAgcGVuZGluZ1Njcm9sbExlZnQgPSBzdGFydFNjcm9sbExlZnQgLSAoZS5jbGllbnRYIC0gc3RhcnRYKTsKICBpZiAocmFmSWQgPT0gbnVsbCkgcmFmSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYXBwbHlTY3JvbGwpOwp9CmZ1bmN0aW9uIGVuZERyYWcoYmxvY2tDbGljaykgewogIGlmICghd3JhcHBlcikgcmV0dXJuOwogIGlmIChyYWZJZCAhPSBudWxsKSB7CiAgICBjYW5jZWxBbmltYXRpb25GcmFtZShyYWZJZCk7CiAgICByYWZJZCA9IG51bGw7CiAgfQogIHdyYXBwZXIuY2xhc3NMaXN0LnJlbW92ZSgnaXMtZHJhZ2dpbmcnKTsKICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2VsLXRhYmxlLWRyYWdnaW5nJyk7CiAgaWYgKGJsb2NrQ2xpY2sgJiYgZHJhZ2dpbmcpIHsKICAgIC8vIOaLluaLveehruWunuWPkeeUn+S6hua7muWKqO+8jOWxj+iUveacrOasoSBjbGlja++8jOmBv+WFjeivr+inpuWPkeihjOeCueWHu+OAgeWkjemAieahhuetiQogICAgdmFyIF9zdXBwcmVzcyA9IGZ1bmN0aW9uIHN1cHByZXNzKGV2KSB7CiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIF9zdXBwcmVzcywgdHJ1ZSk7CiAgICB9OwogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBfc3VwcHJlc3MsIHRydWUpOwogIH0KICB3cmFwcGVyID0gbnVsbDsKICBwb2ludGVySWQgPSBudWxsOwogIGRyYWdnaW5nID0gZmFsc2U7Cn0KZnVuY3Rpb24gaGFuZGxlUG9pbnRlclVwKGUpIHsKICBpZiAoZS5wb2ludGVySWQgIT09IHBvaW50ZXJJZCkgcmV0dXJuOwogIGVuZERyYWcodHJ1ZSk7Cn0KZnVuY3Rpb24gaGFuZGxlUG9pbnRlckNhbmNlbCgpIHsKICBlbmREcmFnKGZhbHNlKTsKfQp2YXIgX2luc3RhbGwgPSBmdW5jdGlvbiBpbnN0YWxsKCkgewogIGlmIChfaW5zdGFsbC5pbnN0YWxsZWQpIHJldHVybjsKICBfaW5zdGFsbC5pbnN0YWxsZWQgPSB0cnVlOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgaGFuZGxlUG9pbnRlckRvd24sIHRydWUpOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgaGFuZGxlUG9pbnRlck1vdmUsIHRydWUpOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIGhhbmRsZVBvaW50ZXJVcCwgdHJ1ZSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmNhbmNlbCcsIGhhbmRsZVBvaW50ZXJDYW5jZWwsIHRydWUpOwp9Owp2YXIgX2RlZmF1bHQgPSBleHBvcnRzLmRlZmF1bHQgPSBfaW5zdGFsbDs="},{"version":3,"names":["DRAG_THRESHOLD","INTERACTIVE_SELECTOR","join","wrapper","pointerId","startX","startY","startScrollLeft","dragging","rafId","pendingScrollLeft","isHorizontallyScrollable","el","scrollWidth","clientWidth","applyScroll","scrollLeft","handlePointerDown","e","button","pointerType","target","closest","anyWrapper","table","wrap","querySelector","clientX","clientY","setPointerCapture","err","preventDefault","handlePointerMove","dx","dy","Math","abs","classList","add","document","body","requestAnimationFrame","endDrag","blockClick","cancelAnimationFrame","remove","suppress","ev","stopPropagation","removeEventListener","addEventListener","handlePointerUp","handlePointerCancel","install","installed","_default","exports","default"],"sources":["C:/Users/Admin/Desktop/education/frontend/src/directive/tableDrag/index.js"],"sourcesContent":["/**\n * 表格横向拖拽滚动\n * 隐藏表格的横向滚动条,按住鼠标左键横向拖动即可查看后面的字段。\n * 通过 document 事件委托全局生效,所有 el-table 自动支持,无需逐页绑定。\n *\n * 实现要点(全面优化):\n * - 采用 Pointer Events + setPointerCapture:按下瞬间把指针捕获到滚动容器上,\n * 之后无论光标移动到固定列、表格下方还是窗口外,移动事件都不会中断,真正\"跟手\"。\n * - requestAnimationFrame 合并每帧滚动,避免高频事件造成卡顿/闪烁。\n * - 横向位移超过阈值即触发,允许轻微斜向/弧线;仅当纵向明显占优时才不触发,\n * 保留普通点击与纵向拖拽(如行排序)的区分。\n * - 拖拽期间整页锁定光标与文本选中,光标保持默认箭头,不闪变为抓手/手型。\n * - 拖拽结束(确实发生了滚动)后屏蔽本次 click,避免误触发行点击、复选框等。\n */\nconst DRAG_THRESHOLD = 2 // 横向位移超过该像素即判定为拖动,越小越跟手\n\n// 在这些元素上按下不触发拖拽,保证按钮、复选框等交互不受影响\nconst INTERACTIVE_SELECTOR = [\n 'a', 'button', 'input', 'textarea', 'select', 'label',\n '.el-button', '.el-checkbox', '.el-radio', '.el-switch', '.el-select',\n '.el-link', '.el-dropdown', '.el-tooltip', '.el-color-picker',\n '[contenteditable=\"true\"]'\n].join(',')\n\nlet wrapper = null\nlet pointerId = null\nlet startX = 0\nlet startY = 0\nlet startScrollLeft = 0\nlet dragging = false\nlet rafId = null\nlet pendingScrollLeft = 0\n\nfunction isHorizontallyScrollable(el) {\n return el.scrollWidth > el.clientWidth + 1\n}\n\n// 每帧只应用一次滚动位置,提升平滑度\nfunction applyScroll() {\n if (!wrapper) return\n wrapper.scrollLeft = pendingScrollLeft\n rafId = null\n}\n\nfunction handlePointerDown(e) {\n if (e.button !== 0 && e.pointerType === 'mouse') return\n if (e.target.closest(INTERACTIVE_SELECTOR)) return\n // 固定列(如 fixed=\"right\" 的操作列)渲染在 .el-table__fixed-body-wrapper 中,悬浮覆盖在\n // 表体右侧,需一并识别;最终统一落到真正负责横向滚动的 .el-table__body-wrapper 上\n const anyWrapper = e.target.closest('.el-table__body-wrapper, .el-table__fixed-body-wrapper')\n if (!anyWrapper) return\n const table = anyWrapper.closest('.el-table')\n const wrap = table && table.querySelector('.el-table__body-wrapper')\n if (!wrap || !isHorizontallyScrollable(wrap)) return\n\n wrapper = wrap\n pointerId = e.pointerId\n startX = e.clientX\n startY = e.clientY\n startScrollLeft = wrap.scrollLeft\n pendingScrollLeft = startScrollLeft\n dragging = false\n\n // 关键:捕获指针,之后所有 pointermove/pointerup 都持续派发到容器,\n // 即使光标移出表体/窗口也不中断\n if (wrap.setPointerCapture && e.pointerId != null) {\n try { wrap.setPointerCapture(e.pointerId) } catch (err) { /* 忽略捕获失败 */ }\n }\n // 阻止默认行为,抑制原生图片/文本拖拽与选中\n e.preventDefault()\n}\n\nfunction handlePointerMove(e) {\n if (!wrapper || e.pointerId !== pointerId) return\n e.preventDefault()\n const dx = e.clientX - startX\n const dy = e.clientY - startY\n\n if (!dragging) {\n // 仅当纵向明显占优(超过横向 3 倍且超过 12px)才判定为纵向操作、不触发横向拖动,\n // 其余情况(含轻微斜向/弧线)都正常触发,避免\"拖不动\"\n if (Math.abs(dx) <= DRAG_THRESHOLD || (Math.abs(dy) > Math.abs(dx) * 3 && Math.abs(dy) > 12)) return\n dragging = true\n wrapper.classList.add('is-dragging')\n // 整页锁定光标与文本选中,保证拖拽手感一致(光标不闪变、文字不误选)\n document.body.classList.add('el-table-dragging')\n }\n\n // 记录目标位置,交由 rAF 统一应用\n pendingScrollLeft = startScrollLeft - (e.clientX - startX)\n if (rafId == null) rafId = requestAnimationFrame(applyScroll)\n}\n\nfunction endDrag(blockClick) {\n if (!wrapper) return\n if (rafId != null) {\n cancelAnimationFrame(rafId)\n rafId = null\n }\n wrapper.classList.remove('is-dragging')\n document.body.classList.remove('el-table-dragging')\n if (blockClick && dragging) {\n // 拖拽确实发生了滚动,屏蔽本次 click,避免误触发行点击、复选框等\n const suppress = (ev) => {\n ev.preventDefault()\n ev.stopPropagation()\n document.removeEventListener('click', suppress, true)\n }\n document.addEventListener('click', suppress, true)\n }\n wrapper = null\n pointerId = null\n dragging = false\n}\n\nfunction handlePointerUp(e) {\n if (e.pointerId !== pointerId) return\n endDrag(true)\n}\n\nfunction handlePointerCancel() {\n endDrag(false)\n}\n\nconst install = function() {\n if (install.installed) return\n install.installed = true\n document.addEventListener('pointerdown', handlePointerDown, true)\n document.addEventListener('pointermove', handlePointerMove, true)\n document.addEventListener('pointerup', handlePointerUp, true)\n document.addEventListener('pointercancel', handlePointerCancel, true)\n}\n\nexport default install\n"],"mappings":"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","ignoreList":[]}]} |