UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

56 lines (55 loc) 1.82 kB
/** * DevExtreme (esm/__internal/ui/diagram/ui.diagram.panel.js) * Version: 25.2.3 * Build date: Fri Dec 12 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import eventsEngine from "../../../common/core/events/core/events_engine"; import pointerEvents from "../../../common/core/events/pointer"; import { addNamespace } from "../../../common/core/events/utils"; import $ from "../../../core/renderer"; import Widget from "../../core/widget/widget"; const POINTERUP_EVENT_NAME = addNamespace(pointerEvents.up, "dxDiagramPanel"); const PREVENT_REFOCUS_SELECTOR = ".dx-textbox"; class DiagramPanel extends Widget { _init() { super._init(); this._createOnPointerUpAction() } _render() { super._render(); this._attachPointerUpEvent() } _getPointerUpElements() { return [this.$element()] } _attachPointerUpEvent() { const elements = this._getPointerUpElements(); elements.forEach((element => { eventsEngine.off(element, POINTERUP_EVENT_NAME); eventsEngine.on(element, POINTERUP_EVENT_NAME, (e => { if (!$(e.target).closest(".dx-textbox").length) { this._onPointerUpAction() } })) })) } _createOnPointerUpAction() { this._onPointerUpAction = this._createActionByOption("onPointerUp") } _optionChanged(args) { const { name: name } = args; if ("onPointerUp" === name) { this._createOnPointerUpAction() } else { super._optionChanged(args) } } } export default DiagramPanel;