devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
45 lines (44 loc) • 1.65 kB
JavaScript
/**
* DevExtreme (esm/__internal/grids/new/grid_core/accessibility/controller.js)
* Version: 25.2.7
* Build date: Tue May 05 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];