@syncfusion/ej2-lists 20.4.40 → 20.4.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +1 -1
- package/dist/ej2-lists.min.js +2 -2
- package/dist/ej2-lists.umd.min.js +2 -2
- package/dist/ej2-lists.umd.min.js.map +1 -1
- package/dist/es6/ej2-lists.es2015.js +26 -22
- package/dist/es6/ej2-lists.es2015.js.map +1 -1
- package/dist/es6/ej2-lists.es5.js +29 -24
- package/dist/es6/ej2-lists.es5.js.map +1 -1
- package/dist/global/ej2-lists.min.js +2 -2
- package/dist/global/ej2-lists.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +8 -8
- package/src/list-view/list-view.d.ts +1 -0
- package/src/list-view/list-view.js +29 -24
|
@@ -1436,7 +1436,7 @@ let ListView = class ListView extends Component {
|
|
|
1436
1436
|
this.currentLiElements = [];
|
|
1437
1437
|
this.isNestedList = false;
|
|
1438
1438
|
this.selectedData = [];
|
|
1439
|
-
this.selectedId = [];
|
|
1439
|
+
this.selectedId = this.enablePersistence ? this.selectedId : [];
|
|
1440
1440
|
this.LISTVIEW_TEMPLATE_ID = `${this.element.id}${LISTVIEW_TEMPLATE_PROPERTY}`;
|
|
1441
1441
|
this.LISTVIEW_GROUPTEMPLATE_ID = `${this.element.id}${LISTVIEW_GROUPTEMPLATE_PROPERTY}`;
|
|
1442
1442
|
this.LISTVIEW_HEADERTEMPLATE_ID = `${this.element.id}${LISTVIEW_HEADERTEMPLATE_PROPERTY}`;
|
|
@@ -1465,7 +1465,13 @@ let ListView = class ListView extends Component {
|
|
|
1465
1465
|
args.item.firstElementChild.classList.add(classNames.checkbox);
|
|
1466
1466
|
if (typeof this.dataSource[0] !== 'string' && typeof this.dataSource[0] !== 'number') {
|
|
1467
1467
|
fieldData = getFieldValues(args.curData, this.listBaseOption.fields);
|
|
1468
|
-
if (
|
|
1468
|
+
if (this.enablePersistence && !isNullOrUndefined(this.selectedId)) {
|
|
1469
|
+
let index = this.selectedId.findIndex(e => e == fieldData[this.listBaseOption.fields.id].toString());
|
|
1470
|
+
if (index != -1) {
|
|
1471
|
+
this.checkInternally(args, checkboxElement);
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
else if (fieldData[this.listBaseOption.fields.isChecked]) {
|
|
1469
1475
|
this.checkInternally(args, checkboxElement);
|
|
1470
1476
|
}
|
|
1471
1477
|
}
|
|
@@ -1496,7 +1502,6 @@ let ListView = class ListView extends Component {
|
|
|
1496
1502
|
}
|
|
1497
1503
|
checkInternally(args, checkboxElement) {
|
|
1498
1504
|
args.item.classList.add(classNames.selected);
|
|
1499
|
-
args.item.setAttribute('aria-selected', 'true');
|
|
1500
1505
|
checkboxElement.querySelector('.' + classNames.checkboxIcon).classList.add(classNames.checked);
|
|
1501
1506
|
checkboxElement.setAttribute('aria-checked', 'true');
|
|
1502
1507
|
}
|
|
@@ -1522,7 +1527,6 @@ let ListView = class ListView extends Component {
|
|
|
1522
1527
|
else {
|
|
1523
1528
|
liElement.classList.remove(classNames.selected);
|
|
1524
1529
|
}
|
|
1525
|
-
liElement.setAttribute('aria-selected', checked ? 'true' : 'false');
|
|
1526
1530
|
if (checked === true) {
|
|
1527
1531
|
checkboxIcon.classList.add(classNames.checked);
|
|
1528
1532
|
}
|
|
@@ -1532,6 +1536,7 @@ let ListView = class ListView extends Component {
|
|
|
1532
1536
|
checkboxIcon.parentElement.setAttribute('aria-checked', checked ? 'true' : 'false');
|
|
1533
1537
|
}
|
|
1534
1538
|
this.setSelectedItemData(liElement);
|
|
1539
|
+
this.updateSelectedId();
|
|
1535
1540
|
}
|
|
1536
1541
|
}
|
|
1537
1542
|
/**
|
|
@@ -1574,6 +1579,7 @@ let ListView = class ListView extends Component {
|
|
|
1574
1579
|
if (this.enableVirtualization) {
|
|
1575
1580
|
this.virtualizationModule.checkedItem(checked);
|
|
1576
1581
|
}
|
|
1582
|
+
this.updateSelectedId();
|
|
1577
1583
|
}
|
|
1578
1584
|
}
|
|
1579
1585
|
setCheckbox() {
|
|
@@ -1689,6 +1695,7 @@ let ListView = class ListView extends Component {
|
|
|
1689
1695
|
}
|
|
1690
1696
|
}
|
|
1691
1697
|
}
|
|
1698
|
+
this.updateSelectedId();
|
|
1692
1699
|
}
|
|
1693
1700
|
removeElement(element) {
|
|
1694
1701
|
return element && element.parentNode && element.parentNode.removeChild(element);
|
|
@@ -1704,9 +1711,6 @@ let ListView = class ListView extends Component {
|
|
|
1704
1711
|
homeKeyHandler(e, end) {
|
|
1705
1712
|
e.preventDefault();
|
|
1706
1713
|
if (Object.keys(this.dataSource).length && this.curUL) {
|
|
1707
|
-
if (this.selectedItems) {
|
|
1708
|
-
(this.selectedItems.item).setAttribute('aria-selected', 'false');
|
|
1709
|
-
}
|
|
1710
1714
|
const li = this.curUL.querySelectorAll('.' + classNames.listItem);
|
|
1711
1715
|
const focusedElement = this.curUL.querySelector('.' + classNames.focused) ||
|
|
1712
1716
|
this.curUL.querySelector('.' + classNames.selected);
|
|
@@ -1880,6 +1884,7 @@ let ListView = class ListView extends Component {
|
|
|
1880
1884
|
const eventArgs = this.selectEventData(li, e);
|
|
1881
1885
|
merge(eventArgs, { isChecked: checkIcon ? checkIcon.classList.contains(classNames.checked) : false });
|
|
1882
1886
|
this.trigger('select', eventArgs);
|
|
1887
|
+
this.updateSelectedId();
|
|
1883
1888
|
}
|
|
1884
1889
|
}
|
|
1885
1890
|
keyActionHandler(e) {
|
|
@@ -1923,11 +1928,10 @@ let ListView = class ListView extends Component {
|
|
|
1923
1928
|
focusout() {
|
|
1924
1929
|
if (Object.keys(this.dataSource).length && this.curUL) {
|
|
1925
1930
|
const focusedElement = this.curUL.querySelector('.' + classNames.focused);
|
|
1926
|
-
const activeElement = this.curUL.querySelector('[aria-selected = true]');
|
|
1927
1931
|
if (focusedElement) {
|
|
1928
1932
|
focusedElement.classList.remove(classNames.focused);
|
|
1929
|
-
if (
|
|
1930
|
-
|
|
1933
|
+
if (!this.showCheckBox) {
|
|
1934
|
+
this.selectedLI.classList.add(classNames.selected);
|
|
1931
1935
|
}
|
|
1932
1936
|
}
|
|
1933
1937
|
}
|
|
@@ -1968,14 +1972,12 @@ let ListView = class ListView extends Component {
|
|
|
1968
1972
|
continue;
|
|
1969
1973
|
}
|
|
1970
1974
|
else {
|
|
1971
|
-
ele.setAttribute('aria-selected', 'false');
|
|
1972
1975
|
ele.classList.remove(classNames.selected);
|
|
1973
1976
|
}
|
|
1974
1977
|
}
|
|
1975
1978
|
}
|
|
1976
1979
|
else {
|
|
1977
1980
|
li.classList.remove(classNames.selected);
|
|
1978
|
-
li.setAttribute('aria-selected', 'false');
|
|
1979
1981
|
}
|
|
1980
1982
|
}
|
|
1981
1983
|
isValidLI(li) {
|
|
@@ -2001,12 +2003,10 @@ let ListView = class ListView extends Component {
|
|
|
2001
2003
|
if (!checkIcon.classList.contains(classNames.checked)) {
|
|
2002
2004
|
checkIcon.classList.add(classNames.checked);
|
|
2003
2005
|
li.classList.add(classNames.selected);
|
|
2004
|
-
li.setAttribute('aria-selected', 'true');
|
|
2005
2006
|
}
|
|
2006
2007
|
else {
|
|
2007
2008
|
checkIcon.classList.remove(classNames.checked);
|
|
2008
2009
|
li.classList.remove(classNames.selected);
|
|
2009
|
-
li.setAttribute('aria-selected', 'false');
|
|
2010
2010
|
}
|
|
2011
2011
|
checkboxElement.setAttribute('aria-checked', checkIcon.classList.contains(classNames.checked) ?
|
|
2012
2012
|
'true' : 'false');
|
|
@@ -2072,7 +2072,6 @@ let ListView = class ListView extends Component {
|
|
|
2072
2072
|
this.removeSelect();
|
|
2073
2073
|
}
|
|
2074
2074
|
li.classList.add(classNames.selected);
|
|
2075
|
-
li.setAttribute('aria-selected', 'true');
|
|
2076
2075
|
this.removeHover();
|
|
2077
2076
|
this.setSelectedItemData(li);
|
|
2078
2077
|
if (this.enableVirtualization) {
|
|
@@ -2289,7 +2288,6 @@ let ListView = class ListView extends Component {
|
|
|
2289
2288
|
const element = liElements[i];
|
|
2290
2289
|
if (element.classList.contains('e-list-item')) {
|
|
2291
2290
|
element.setAttribute('id', this.element.id + '_' + element.getAttribute('data-uid'));
|
|
2292
|
-
element.setAttribute('aria-selected', 'false');
|
|
2293
2291
|
element.setAttribute('tabindex', '-1');
|
|
2294
2292
|
}
|
|
2295
2293
|
}
|
|
@@ -2454,12 +2452,8 @@ let ListView = class ListView extends Component {
|
|
|
2454
2452
|
const li = this.element.querySelector('[data-uid=\'' + pID + '\']');
|
|
2455
2453
|
li.classList.remove(classNames.disable);
|
|
2456
2454
|
li.classList.add(classNames.focused);
|
|
2457
|
-
if (this.showCheckBox && li.querySelector('.' + classNames.checkboxIcon).classList.contains(classNames.checked)) {
|
|
2458
|
-
li.setAttribute('aria-selected', 'true');
|
|
2459
|
-
}
|
|
2460
|
-
else {
|
|
2455
|
+
if (!(this.showCheckBox && li.querySelector('.' + classNames.checkboxIcon).classList.contains(classNames.checked))) {
|
|
2461
2456
|
li.classList.remove(classNames.selected);
|
|
2462
|
-
li.setAttribute('aria-selected', 'false');
|
|
2463
2457
|
}
|
|
2464
2458
|
this.liCollection = this.curUL.querySelectorAll('.' + classNames.listItem);
|
|
2465
2459
|
if (this.enableHtmlSanitizer) {
|
|
@@ -2559,6 +2553,16 @@ let ListView = class ListView extends Component {
|
|
|
2559
2553
|
}
|
|
2560
2554
|
return parentId;
|
|
2561
2555
|
}
|
|
2556
|
+
updateSelectedId() {
|
|
2557
|
+
this.selectedId = [];
|
|
2558
|
+
const liCollection = this.curUL.getElementsByClassName(classNames.selected);
|
|
2559
|
+
for (let i = 0; i < liCollection.length; i++) {
|
|
2560
|
+
const tempData = this.getItemData(liCollection[i]);
|
|
2561
|
+
if (tempData[this.listBaseOption.fields.id]) {
|
|
2562
|
+
this.selectedId.push(tempData[this.listBaseOption.fields.id]);
|
|
2563
|
+
}
|
|
2564
|
+
}
|
|
2565
|
+
}
|
|
2562
2566
|
/**
|
|
2563
2567
|
* Gets the details of the currently selected item from the list items.
|
|
2564
2568
|
*
|
|
@@ -2988,7 +2992,7 @@ let ListView = class ListView extends Component {
|
|
|
2988
2992
|
getPersistData() {
|
|
2989
2993
|
return this.addOnPersist(['cssClass', 'enableRtl', 'htmlAttributes',
|
|
2990
2994
|
'enable', 'fields', 'animation', 'headerTitle',
|
|
2991
|
-
'sortOrder', 'showIcon', 'height', 'width', 'showCheckBox', 'checkBoxPosition']);
|
|
2995
|
+
'sortOrder', 'showIcon', 'height', 'width', 'showCheckBox', 'checkBoxPosition', 'selectedId']);
|
|
2992
2996
|
}
|
|
2993
2997
|
};
|
|
2994
2998
|
__decorate([
|