{"version":3,"file":"event-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-header/event-helper.ts"],"sourcesContent":["// @ts-nocheck\r\nimport { getCurrentInstance, inject, ref } from 'vue'\r\nimport { isClient } from '@vueuse/core'\r\nimport {\r\n  addClass,\r\n  hasClass,\r\n  isElement,\r\n  removeClass,\r\n} from '@sgui-plus/utils'\r\nimport { TABLE_INJECTION_KEY } from '../tokens'\r\nimport type { TableHeaderProps } from '.'\r\nimport type { TableColumnCtx } from '../table-column/defaults'\r\n\r\nfunction useEvent<T>(props: TableHeaderProps<T>, emit) {\r\n  const instance = getCurrentInstance()\r\n  const parent = inject(TABLE_INJECTION_KEY)\r\n  const handleFilterClick = (event: Event) => {\r\n    event.stopPropagation()\r\n    return\r\n  }\r\n\r\n  const handleHeaderClick = (event: Event, column: TableColumnCtx<T>) => {\r\n    if (!column.filters && column.sortable) {\r\n      handleSortClick(event, column, false)\r\n    } else if (column.filterable && !column.sortable) {\r\n      handleFilterClick(event)\r\n    }\r\n    parent?.emit('header-click', column, event)\r\n  }\r\n\r\n  const handleHeaderContextMenu = (event: Event, column: TableColumnCtx<T>) => {\r\n    parent?.emit('header-contextmenu', column, event)\r\n  }\r\n  const draggingColumn = ref(null)\r\n  const dragging = ref(false)\r\n  const dragState = ref({})\r\n  const handleMouseDown = (event: MouseEvent, column: TableColumnCtx<T>) => {\r\n    if (!isClient) return\r\n    if (column.children && column.children.length > 0) return\r\n    /* istanbul ignore if */\r\n    if (draggingColumn.value && props.border) {\r\n      dragging.value = true\r\n\r\n      const table = parent\r\n      emit('set-drag-visible', true)\r\n      const tableEl = table?.vnode.el\r\n      const tableLeft = tableEl.getBoundingClientRect().left\r\n      const columnEl = instance.vnode.el.querySelector(`th.${column.id}`)\r\n      const columnRect = columnEl.getBoundingClientRect()\r\n      const minLeft = columnRect.left - tableLeft + 30\r\n\r\n      addClass(columnEl, 'noclick')\r\n\r\n      dragState.value = {\r\n        startMouseLeft: event.clientX,\r\n        startLeft: columnRect.right - tableLeft,\r\n        startColumnLeft: columnRect.left - tableLeft,\r\n        tableLeft,\r\n      }\r\n      const resizeProxy = table?.refs.resizeProxy as HTMLElement\r\n      resizeProxy.style.left = `${(dragState.value as any).startLeft}px`\r\n\r\n      document.onselectstart = function () {\r\n        return false\r\n      }\r\n      document.ondragstart = function () {\r\n        return false\r\n      }\r\n\r\n      const handleMouseMove = (event: MouseEvent) => {\r\n        const deltaLeft =\r\n          event.clientX - (dragState.value as any).startMouseLeft\r\n        const proxyLeft = (dragState.value as any).startLeft + deltaLeft\r\n\r\n        resizeProxy.style.left = `${Math.max(minLeft, proxyLeft)}px`\r\n      }\r\n\r\n      const handleMouseUp = () => {\r\n        if (dragging.value) {\r\n          const { startColumnLeft, startLeft } = dragState.value as any\r\n          const finalLeft = Number.parseInt(resizeProxy.style.left, 10)\r\n          const columnWidth = finalLeft - startColumnLeft\r\n          column.width = column.realWidth = columnWidth\r\n          table?.emit(\r\n            'header-dragend',\r\n            column.width,\r\n            startLeft - startColumnLeft,\r\n            column,\r\n            event\r\n          )\r\n          requestAnimationFrame(() => {\r\n            props.store.scheduleLayout(false, true)\r\n          })\r\n          document.body.style.cursor = ''\r\n          dragging.value = false\r\n          draggingColumn.value = null\r\n          dragState.value = {}\r\n          emit('set-drag-visible', false)\r\n        }\r\n\r\n        document.removeEventListener('mousemove', handleMouseMove)\r\n        document.removeEventListener('mouseup', handleMouseUp)\r\n        document.onselectstart = null\r\n        document.ondragstart = null\r\n\r\n        setTimeout(() => {\r\n          removeClass(columnEl, 'noclick')\r\n        }, 0)\r\n      }\r\n\r\n      document.addEventListener('mousemove', handleMouseMove)\r\n      document.addEventListener('mouseup', handleMouseUp)\r\n    }\r\n  }\r\n\r\n  const handleMouseMove = (event: MouseEvent, column: TableColumnCtx<T>) => {\r\n    if (column.children && column.children.length > 0) return\r\n    const el = event.target as HTMLElement\r\n    if (!isElement(el)) {\r\n      return\r\n    }\r\n    const target = el?.closest('th')\r\n\r\n    if (!column || !column.resizable) return\r\n\r\n    if (!dragging.value && props.border) {\r\n      const rect = target.getBoundingClientRect()\r\n\r\n      const bodyStyle = document.body.style\r\n      if (rect.width > 12 && rect.right - event.pageX < 8) {\r\n        bodyStyle.cursor = 'col-resize'\r\n        if (hasClass(target, 'is-sortable')) {\r\n          target.style.cursor = 'col-resize'\r\n        }\r\n        draggingColumn.value = column\r\n      } else if (!dragging.value) {\r\n        bodyStyle.cursor = ''\r\n        if (hasClass(target, 'is-sortable')) {\r\n          target.style.cursor = 'pointer'\r\n        }\r\n        draggingColumn.value = null\r\n      }\r\n    }\r\n  }\r\n\r\n  const handleMouseOut = () => {\r\n    if (!isClient) return\r\n    document.body.style.cursor = ''\r\n  }\r\n  const toggleOrder = ({ order, sortOrders }) => {\r\n    if (order === '') return sortOrders[0]\r\n    const index = sortOrders.indexOf(order || null)\r\n    return sortOrders[index > sortOrders.length - 2 ? 0 : index + 1]\r\n  }\r\n  const handleSortClick = (\r\n    event: Event,\r\n    column: TableColumnCtx<T>,\r\n    givenOrder: string | boolean\r\n  ) => {\r\n    event.stopPropagation()\r\n    const order =\r\n      column.order === givenOrder ? null : givenOrder || toggleOrder(column)\r\n\r\n    const target = (event.target as HTMLElement)?.closest('th')\r\n\r\n    if (target) {\r\n      if (hasClass(target, 'noclick')) {\r\n        removeClass(target, 'noclick')\r\n        return\r\n      }\r\n    }\r\n\r\n    if (!column.sortable) return\r\n\r\n    const states = props.store.states\r\n    let sortProp = states.sortProp.value\r\n    let sortOrder\r\n    const sortingColumn = states.sortingColumn.value\r\n\r\n    if (\r\n      sortingColumn !== column ||\r\n      (sortingColumn === column && sortingColumn.order === null)\r\n    ) {\r\n      if (sortingColumn) {\r\n        sortingColumn.order = null\r\n      }\r\n      states.sortingColumn.value = column\r\n      sortProp = column.property\r\n    }\r\n    if (!order) {\r\n      sortOrder = column.order = null\r\n    } else {\r\n      sortOrder = column.order = order\r\n    }\r\n\r\n    states.sortProp.value = sortProp\r\n    states.sortOrder.value = sortOrder\r\n\r\n    parent?.store.commit('changeSortCondition')\r\n  }\r\n\r\n  return {\r\n    handleHeaderClick,\r\n    handleHeaderContextMenu,\r\n    handleMouseDown,\r\n    handleMouseMove,\r\n    handleMouseOut,\r\n    handleSortClick,\r\n    handleFilterClick,\r\n  }\r\n}\r\n\r\nexport default useEvent\r\n"],"names":[],"mappings":"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"}