UNPKG

devexpress-reporting

Version:

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

62 lines (61 loc) 2.11 kB
/** * DevExpress HTML/JS Reporting (viewer\accessibility\_breadcrumbsKeyboardHelper.js) * Version: 24.2.7 * Build date: Apr 29, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { AccessibilityControlElementBase, AccessibilityKeyboardHelperBase } from '@devexpress/analytics-core/analytics-internal-native'; export class BreadcrumbsKeyboardHelper extends AccessibilityKeyboardHelperBase { constructor(_breadcrumbsModel) { super(); this._breadcrumbsModel = _breadcrumbsModel; this.controlElementClassName = 'dxrd-breadcrumb-item'; this.addDisposable(this._breadcrumbsModel.events.on('listItemsChanged', () => { this._initialize(); })); } _initialize() { this._initTimeout && clearTimeout(this._initTimeout); this._initTimeout = setTimeout(() => { this.initialize(); }, 1); } bindHandler(el) { super.bindHandler(el); this._initialize(); } initialize() { super.initialize(); this.setTabIndexes('-1'); if (this.controlElements && this.controlElements.length) { this.controlElements[0].setTabIndex('0'); } } createControlElement(element, index) { return new AccessibilityControlElementBase(element); } itemHandleEnterKey(e, index) { if (this.controlElements && this.controlElements[index]) { this.controlElements[index].element?.click(); return true; } return false; } itemHandleDownArrowKey(e, index) { this.setTabIndexes('-1'); this.setFocusToNext(index, true); return true; } itemHandleLeftArrowKey(e, index) { return this.itemHandleUpArrowKey(e, index); } itemHandleUpArrowKey(e, index) { this.setTabIndexes('-1'); this.setFocusToPrevious(index, true); return true; } itemHandleRightArrowKey(e, index) { return this.itemHandleDownArrowKey(e, index); } }