UNPKG

@progress/kendo-angular-grid

Version:

Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.

87 lines (86 loc) 2.24 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { cancelIcon, insertMiddleIcon } from '@progress/kendo-svg-icons'; /** * @hidden */ export const isNextSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.nextElementSibling; /** * @hidden */ export const isPreviousSibling = (dropTarget, dragTarget) => dropTarget === dragTarget.previousElementSibling; /** * @hidden */ export const isDifferentParent = (dropTarget, dragTarget) => dropTarget?.parentElement !== dragTarget?.parentElement; /** * @hidden */ export function getOffset(element) { const { clientTop, clientLeft } = getDocument(element); const { pageYOffset, pageXOffset } = getWindow(element); const { top, left } = element.getBoundingClientRect(); return { top: top + pageYOffset - clientTop, left: left + pageXOffset - clientLeft }; } /** * @hidden */ export const hintIcons = { forbidden: 'cancel', before: 'insert-middle', after: 'insert-middle' }; /** * @hidden */ export const hintSVGIcons = { forbidden: cancelIcon, before: insertMiddleIcon, after: insertMiddleIcon }; /** * @hidden */ export const dropPosition = { forbidden: 'forbidden', before: 'before', after: 'after' }; /** * @hidden */ export const hintStyles = { zIndex: '20000', display: 'flex', position: 'fixed' }; /** * @hidden */ export const hintClasses = ['k-drag-clue', 'k-reorder-clue']; /** * @hidden */ export const dropIndicatorStyles = { zIndex: '19000', position: 'absolute' }; /** * @hidden */ export const dropIndicatorClasses = ['k-drop-hint', 'k-drop-hint-h']; /** * @hidden */ export const defaultSelectors = { handle: '.k-table-td.k-drag-cell', dragTarget: '.k-master-row', dropTarget: '.k-master-row' }; const getDocument = element => element?.ownerDocument.documentElement; const getWindow = element => element?.ownerDocument.defaultView;