Skip to content

Commit f2869b9

Browse files
List should not display "[object Object]" in the aria-label attribute in multiple selection mode, especially when displayExpr and default text field are missed (T1285078) (DevExpress#29581)
1 parent bff6d50 commit f2869b9

File tree

34 files changed

+56
-6
lines changed

34 files changed

+56
-6
lines changed

apps/demos/Demos/List/ItemTemplate/Angular/app/app.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div class="list-container">
2-
<dx-list [dataSource]="products" height="100%">
2+
<dx-list [dataSource]="products" height="100%" displayExpr="Name">
33
<div *dxTemplate="let item of 'item'">
44
<div class="product">
55
<img alt="{{ item.Name }}" src="{{ item.ImageSrc }}" />

apps/demos/Demos/List/ItemTemplate/React/App.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const App = () => (
88
<List
99
dataSource={products}
1010
height="100%"
11+
displayExpr="Name"
1112
itemRender={ProductInfo} />
1213
</div>
1314
);

apps/demos/Demos/List/ItemTemplate/ReactJs/App.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const App = () => (
88
<List
99
dataSource={products}
1010
height="100%"
11+
displayExpr="Name"
1112
itemRender={ProductInfo}
1213
/>
1314
</div>

apps/demos/Demos/List/ItemTemplate/Vue/App.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<DxList
44
:data-source="dataSource"
55
height="100%"
6+
display-expr="Name"
67
>
78
<template #item="{ data: item }">
89
<ProductInfo :item="item"/>

apps/demos/Demos/List/ItemTemplate/jQuery/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ $(() => {
99
$('#listWidget').dxList({
1010
dataSource: products,
1111
height: '100%',
12+
displayExpr: 'Name',
1213
itemTemplate(data) {
1314
const result = $('<div>').addClass('product');
1415

packages/devextreme/js/__internal/ui/list/m_list.edit.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import $ from '@js/core/renderer';
22
import { extend } from '@js/core/utils/extend';
3+
import { isObject } from '@js/core/utils/type';
34
import { isTouchEvent } from '@js/events/utils/index';
45
import localizationMessage from '@js/localization/message';
56

@@ -209,7 +210,11 @@ const ListEdit = ListBase.inherit({
209210
_updateItemAriaLabel($itemFrame, itemData) {
210211
const label = this._displayGetter?.(itemData) ?? itemData?.text ?? itemData;
211212

212-
this.setAria('label', label, $itemFrame);
213+
this.setAria(
214+
'label',
215+
isObject(label) ? localizationMessage.format('dxList-listAriaLabel-itemContent') : label,
216+
$itemFrame,
217+
);
213218
},
214219

215220
_selectedItemClass() {

packages/devextreme/js/localization/messages/ar.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"dxList-selectAll-checked": "Checked",
5454
"dxList-selectAll-notChecked": "Not checked",
5555
"dxList-ariaRoleDescription": "List",
56+
"dxList-listAriaLabel-itemContent": "List item content",
5657

5758
"dxScrollView-pullingDownText": "للتحديث اسحب للأسفل...",
5859
"dxScrollView-pulledDownText": "حرر للتحديث ...",

packages/devextreme/js/localization/messages/ca.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"dxList-selectAll-checked": "Checked",
5454
"dxList-selectAll-notChecked": "Not checked",
5555
"dxList-ariaRoleDescription": "List",
56+
"dxList-listAriaLabel-itemContent": "List item content",
5657

5758
"dxScrollView-pullingDownText": "Tireu cap avall per refrescar -se ...",
5859
"dxScrollView-pulledDownText": "Allibereu a refresc ...",

packages/devextreme/js/localization/messages/cs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"dxList-selectAll-checked": "Checked",
5454
"dxList-selectAll-notChecked": "Not checked",
5555
"dxList-ariaRoleDescription": "List",
56+
"dxList-listAriaLabel-itemContent": "List item content",
5657

5758
"dxScrollView-pullingDownText": "Stáhněte dolů pro obnovení...",
5859
"dxScrollView-pulledDownText": "Uvolněte pro obnovení...",

packages/devextreme/js/localization/messages/de.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"dxList-selectAll-checked": "Checked",
5454
"dxList-selectAll-notChecked": "Not checked",
5555
"dxList-ariaRoleDescription": "List",
56+
"dxList-listAriaLabel-itemContent": "List item content",
5657

5758
"dxScrollView-pullingDownText": "Zum Aktualisieren nach unten ziehen",
5859
"dxScrollView-pulledDownText": "Zum Aktualisieren loslassen",

0 commit comments

Comments
 (0)