devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
45 lines (44 loc) • 1.66 kB
JavaScript
/**
* DevExtreme (esm/__internal/grids/new/grid_core/accessibility/controller.js)
* Version: 25.2.5
* Build date: Fri Feb 20 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import messageLocalization from "../../../../../localization/message";
import {
computed,
effect,
signal
} from "../../../../core/state_manager/index";
import {
ColumnsController
} from "../columns_controller/columns_controller";
import {
DataController
} from "../data_controller/index";
export class AccessibilityController {
constructor(columnsController, dataController) {
this.columnsController = columnsController;
this.dataController = dataController;
this.firstRender = signal(true);
this.description = computed((() => messageLocalization.format("dxCardView-ariaCardView", this.dataController.totalCount.value, this.columnsController.visibleColumns.value.length)));
this.componentDescription = computed((() => this.description.value));
this.componentStatus = computed((() => {
if (this.firstRender.value) {
return ""
}
return this.componentDescription.value
}));
let firstRender = true;
effect((() => {
this.componentDescription.value;
if (!firstRender) {
this.firstRender.value = false
}
firstRender = false
}))
}
}
AccessibilityController.dependencies = [ColumnsController, DataController];