UNPKG

tav-ui

Version:
94 lines (89 loc) 3.15 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var useTooltip = require('../../../../hooks/web/useTooltip2.js'); var is = require('../../../../utils/is2.js'); var cell = require('../components/cell2.js'); var _const = require('../const2.js'); function showCellTooltip(instances, tablePropsRef, params) { const { cell: cell$1, column, _rowIndex, _columnIndex, rowid } = params; const { params: columnParams = {} } = column; const { showTooltip: columnShowTooltip } = columnParams; const { showTooltip, id: tableId } = vue.unref(tablePropsRef); const isColumnShowTooltip = is.isBoolean(columnShowTooltip) ? columnShowTooltip : showTooltip; if (isColumnShowTooltip) { const id = `${tableId}:row_${_rowIndex}-${_columnIndex}-${rowid}`; const el = cell$1.querySelector(`.${cell.ContentPrefixCls}`); let title = ""; let isCellOverflow = false; if (el) { title = ((column.type === "html" ? el.innerText : el.textContent) ?? "").trim(); isCellOverflow = el.scrollWidth > el.clientWidth; } const instance = useTooltip.$Tooltip(el, { placement: _const.TOOLTIP_PLACEMENT, title, id, delay: 100 }); instances.set(id, instance); isCellOverflow && instance?.showTooltip(el); } } function hideCellTooltip(instances, tablePropsRef, params) { const { column, _rowIndex, _columnIndex, rowid } = params; const { params: columnParams = {} } = column; const { showTooltip: columnShowTooltip } = columnParams; const { showTooltip, id: tableId } = vue.unref(tablePropsRef); const isColumnShowTooltip = is.isBoolean(columnShowTooltip) ? columnShowTooltip : showTooltip; if (isColumnShowTooltip) { const id = `${tableId}:row_${_rowIndex}-${_columnIndex}-${rowid}`; const instance = instances.get(id); instance?.hideTooltip(); } } function hideCellAllTooltip(instances) { if (instances.size > 0) { instances.forEach((instance) => { instance?.hideTooltip(); }); } } function deleteTitle(cellEl) { const targetCls = ["vxe-header--column", "vxe-body--column", "vxe-footer--column"]; const cotainsNum = targetCls.reduce((total, cur) => { if (cellEl.classList.contains(cur)) { total += 1; } return total; }, 0); const isColumnTdEL = cotainsNum > 0; if (isColumnTdEL) { cellEl.removeAttribute("title"); cellEl.querySelector(".vxe-cell").removeAttribute("title"); } } function useCellHover(tablePropsRef, emit) { const instances = /* @__PURE__ */ new Map(); const onCellMouseenter = (params) => { if (!params || ["action", "actions"].includes(params.column.field)) return; showCellTooltip(instances, tablePropsRef, params); emit("CellMouseenter", params); }; const onCellMouseleave = (params) => { if (!params) { hideCellAllTooltip(instances); } else { hideCellTooltip(instances, tablePropsRef, params); emit("CellMouseleave", params); } }; return { onCellMouseenter, onCellMouseleave, instances }; } exports.useCellHover = useCellHover; //# sourceMappingURL=useCellHover2.js.map