UNPKG

devexpress-reporting

Version:

DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.

30 lines (29 loc) 1.41 kB
/** * DevExpress HTML/JS Reporting (designer\internal\dragdrop\_selectionDragDropHandler.js) * Version: 24.2.6 * Build date: Mar 18, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { SelectionDragDropHandler as AnalyticSelectionDragDropHandler } from '@devexpress/analytics-core/analytics-internal'; import { XRSubreportSurface } from '../../controls/xrSubreport'; export class SelectionDragDropHandler extends AnalyticSelectionDragDropHandler { _localizationCanDrop(dropTarget, controlModel) { const locked = !this._canAddItems() && dropTarget.getControlModel() !== controlModel.parentModel(); return !locked; } constructor(_canAddItems, surface, selection, undoEngine, snapHelper, dragHelperContent) { super(surface, selection, undoEngine, snapHelper, dragHelperContent); this._canAddItems = _canAddItems; } getLocation(adjustedTarget, item) { const location = super.getLocation(adjustedTarget, item); if (item instanceof XRSubreportSurface) return item.processLocation(location); return location; } canDrop(dropTarget, controlModel, metaData) { const canDrop = super.canDrop(dropTarget, controlModel, metaData); return canDrop && this._localizationCanDrop(dropTarget, controlModel); } }