@syncfusion/ej2-lists 23.2.4 → 24.1.41
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 +0 -10
- 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 +48 -57
- package/dist/es6/ej2-lists.es2015.js.map +1 -1
- package/dist/es6/ej2-lists.es5.js +44 -53
- 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 +10 -9
- package/src/common/list-base.js +10 -13
- package/src/list-view/list-view-model.d.ts +8 -1
- package/src/list-view/list-view.d.ts +34 -0
- package/src/list-view/list-view.js +32 -35
- package/src/list-view/virtualization.js +2 -5
- package/styles/bootstrap4.css +2 -2
- package/styles/bootstrap5-dark.css +1 -1
- package/styles/bootstrap5.css +1 -1
- package/styles/list-view/_bootstrap4-definition.scss +2 -2
- package/styles/list-view/_bootstrap5-definition.scss +1 -1
- package/styles/list-view/_material-definition.scss +1 -1
- package/styles/list-view/_material3-definition.scss +1 -1
- package/styles/list-view/_tailwind-definition.scss +2 -2
- package/styles/list-view/bootstrap4.css +2 -2
- package/styles/list-view/bootstrap5-dark.css +1 -1
- package/styles/list-view/bootstrap5.css +1 -1
- package/styles/list-view/material.css +1 -1
- package/styles/list-view/material3-dark.css +1 -1
- package/styles/list-view/material3.css +1 -1
- package/styles/list-view/tailwind-dark.css +4 -4
- package/styles/list-view/tailwind.css +4 -4
- package/styles/material.css +1 -1
- package/styles/material3-dark.css +1 -1
- package/styles/material3.css +1 -1
- package/styles/tailwind-dark.css +4 -4
- package/styles/tailwind.css +4 -4
|
@@ -280,7 +280,7 @@ var ListBase;
|
|
|
280
280
|
li = generateLI(createElement, curItem, fieldData, fields, curOpt.itemClass, options, componentInstance);
|
|
281
281
|
li.classList.add(cssClass.level + '-' + ariaAttributes.level);
|
|
282
282
|
li.setAttribute('aria-level', ariaAttributes.level.toString());
|
|
283
|
-
if (ariaAttributes.groupItemRole
|
|
283
|
+
if (ariaAttributes.groupItemRole === 'presentation' || ariaAttributes.itemRole === 'presentation') {
|
|
284
284
|
li.removeAttribute('aria-level');
|
|
285
285
|
}
|
|
286
286
|
anchorElement = li.querySelector('.' + cssClass.anchorWrap);
|
|
@@ -291,7 +291,12 @@ var ListBase;
|
|
|
291
291
|
}
|
|
292
292
|
// eslint-disable-next-line no-prototype-builtins
|
|
293
293
|
if (fieldData.hasOwnProperty(fields.htmlAttributes) && fieldData[fields.htmlAttributes]) {
|
|
294
|
-
|
|
294
|
+
var htmlAttributes = fieldData[fields.htmlAttributes];
|
|
295
|
+
// Check if 'class' attribute is present and not an empty string
|
|
296
|
+
if (htmlAttributes.hasOwnProperty('class') && typeof htmlAttributes['class'] === 'string' && htmlAttributes['class'].trim() === '') {
|
|
297
|
+
delete htmlAttributes['class'];
|
|
298
|
+
}
|
|
299
|
+
setAttribute(li, htmlAttributes);
|
|
295
300
|
}
|
|
296
301
|
// eslint-disable-next-line no-prototype-builtins
|
|
297
302
|
if (fieldData.hasOwnProperty(fields.enabled) && fieldData[fields.enabled] === false) {
|
|
@@ -509,7 +514,6 @@ var ListBase;
|
|
|
509
514
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
510
515
|
var fields = extend({}, ListBase.defaultMappedFields, curOpt.fields);
|
|
511
516
|
var curEle = element.cloneNode(true);
|
|
512
|
-
// eslint-disable-next-line
|
|
513
517
|
var jsonAr = [];
|
|
514
518
|
curEle.classList.add('json-parent');
|
|
515
519
|
var childs = curEle.querySelectorAll('.json-parent>li');
|
|
@@ -518,7 +522,6 @@ var ListBase;
|
|
|
518
522
|
var li = childs[i];
|
|
519
523
|
var anchor = li.querySelector('a');
|
|
520
524
|
var ul = li.querySelector('ul');
|
|
521
|
-
// eslint-disable-next-line
|
|
522
525
|
var json = {};
|
|
523
526
|
var childNodes = anchor ? anchor.childNodes : li.childNodes;
|
|
524
527
|
var keys = Object.keys(childNodes);
|
|
@@ -592,7 +595,6 @@ var ListBase;
|
|
|
592
595
|
var ulElement = createElement('ul', { className: cssClass.ul, attrs: { role: 'presentation' } });
|
|
593
596
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
594
597
|
var curFields = extend({}, ListBase.defaultMappedFields, fields);
|
|
595
|
-
// eslint-disable-next-line
|
|
596
598
|
var compiledString = compileTemplate(template);
|
|
597
599
|
var liCollection = [];
|
|
598
600
|
var value;
|
|
@@ -641,7 +643,7 @@ var ListBase;
|
|
|
641
643
|
else {
|
|
642
644
|
var currentID = isHeader ? curOpt.groupTemplateID : curOpt.templateID;
|
|
643
645
|
if (isHeader) {
|
|
644
|
-
if (componentInstance && componentInstance.getModuleName()
|
|
646
|
+
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
645
647
|
// eslint-disable-next-line
|
|
646
648
|
var compiledElement = compiledString(curItem, componentInstance, 'headerTemplate', currentID, !!curOpt.isStringTemplate, null, li);
|
|
647
649
|
if (compiledElement) {
|
|
@@ -699,7 +701,6 @@ var ListBase;
|
|
|
699
701
|
function renderGroupTemplate(groupTemplate, groupDataSource, fields,
|
|
700
702
|
// eslint-disable-next-line
|
|
701
703
|
headerItems, options, componentInstance) {
|
|
702
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
703
704
|
var compiledString = compileTemplate(groupTemplate);
|
|
704
705
|
var curFields = extend({}, ListBase.defaultMappedFields, fields);
|
|
705
706
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
@@ -709,7 +710,7 @@ var ListBase;
|
|
|
709
710
|
var headerData = {};
|
|
710
711
|
headerData["" + category] = header.textContent;
|
|
711
712
|
header.innerHTML = '';
|
|
712
|
-
if (componentInstance && componentInstance.getModuleName() !==
|
|
713
|
+
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
713
714
|
// eslint-disable-next-line
|
|
714
715
|
var compiledElement = compiledString(headerData, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate, null, header);
|
|
715
716
|
if (compiledElement) {
|
|
@@ -745,7 +746,6 @@ var ListBase;
|
|
|
745
746
|
// Create expand and collapse node
|
|
746
747
|
if (!!options.expandCollapse && hasChildren && !options.template) {
|
|
747
748
|
element.firstElementChild.classList.add(cssClass.iconWrapper);
|
|
748
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
749
749
|
var expandElement = options.expandIconPosition === 'Left' ? prepend : append;
|
|
750
750
|
expandElement([createElement('div', { className: 'e-icons ' + options.expandIconClass })], element.querySelector('.' + cssClass.textContent));
|
|
751
751
|
}
|
|
@@ -891,9 +891,8 @@ var ListBase;
|
|
|
891
891
|
li.setAttribute('data-uid', generateId());
|
|
892
892
|
}
|
|
893
893
|
if (grpLI && options && options.groupTemplate) {
|
|
894
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
895
894
|
var compiledString = compileTemplate(options.groupTemplate);
|
|
896
|
-
if (componentInstance && componentInstance.getModuleName() !==
|
|
895
|
+
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
897
896
|
// eslint-disable-next-line
|
|
898
897
|
var compiledElement = compiledString(item, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate, null, li);
|
|
899
898
|
if (compiledElement) {
|
|
@@ -905,7 +904,6 @@ var ListBase;
|
|
|
905
904
|
}
|
|
906
905
|
}
|
|
907
906
|
else if (!grpLI && options && options.template) {
|
|
908
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
909
907
|
var compiledString = compileTemplate(options.template);
|
|
910
908
|
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
911
909
|
// eslint-disable-next-line
|
|
@@ -977,7 +975,6 @@ var ListBase;
|
|
|
977
975
|
function generateIcon(createElement, liElement, className, options) {
|
|
978
976
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
979
977
|
cssClass = getModuleClass(curOpt.moduleName);
|
|
980
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
981
978
|
var expandElement = curOpt.expandIconPosition === 'Left' ? prepend : append;
|
|
982
979
|
expandElement([createElement('div', {
|
|
983
980
|
className: 'e-icons ' + curOpt.expandIconClass + ' ' +
|
|
@@ -1336,7 +1333,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1336
1333
|
this.headerEle.appendChild(hedBackButton);
|
|
1337
1334
|
this.headerEle.appendChild(textEle);
|
|
1338
1335
|
if (this.headerTemplate) {
|
|
1339
|
-
// eslint-disable-next-line
|
|
1340
1336
|
var compiledString = compile(this.headerTemplate);
|
|
1341
1337
|
var headerTemplateEle = this.createElement('div', { className: classNames.headerTemplateText });
|
|
1342
1338
|
// eslint-disable-next-line
|
|
@@ -1456,7 +1452,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1456
1452
|
itemCreated: this.renderCheckbox.bind(this),
|
|
1457
1453
|
templateID: "" + this.element.id + LISTVIEW_TEMPLATE_PROPERTY,
|
|
1458
1454
|
groupTemplateID: "" + this.element.id + LISTVIEW_GROUPTEMPLATE_PROPERTY,
|
|
1459
|
-
enableHtmlSanitizer: this.enableHtmlSanitizer
|
|
1455
|
+
enableHtmlSanitizer: this.enableHtmlSanitizer
|
|
1460
1456
|
};
|
|
1461
1457
|
this.initialization();
|
|
1462
1458
|
};
|
|
@@ -1498,8 +1494,8 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1498
1494
|
if (typeof this.dataSource[0] !== 'string' && typeof this.dataSource[0] !== 'number') {
|
|
1499
1495
|
fieldData_1 = getFieldValues(args.curData, this.listBaseOption.fields);
|
|
1500
1496
|
if (this.enablePersistence && !isNullOrUndefined(this.selectedId)) {
|
|
1501
|
-
var index = this.selectedId.findIndex(function (e) { return e
|
|
1502
|
-
if (index
|
|
1497
|
+
var index = this.selectedId.findIndex(function (e) { return e === fieldData_1[_this.listBaseOption.fields.id].toString(); });
|
|
1498
|
+
if (index !== -1) {
|
|
1503
1499
|
this.checkInternally(args, checkboxElement);
|
|
1504
1500
|
}
|
|
1505
1501
|
}
|
|
@@ -1512,7 +1508,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1512
1508
|
this.checkInternally(args, checkboxElement);
|
|
1513
1509
|
}
|
|
1514
1510
|
checkboxElement.setAttribute('aria-checked', frameElement_1.classList.contains(classNames.checked) ? 'true' : 'false');
|
|
1515
|
-
checkboxElement.setAttribute('aria-label',
|
|
1511
|
+
checkboxElement.setAttribute('aria-label', args.text);
|
|
1516
1512
|
if (this.checkBoxPosition === 'Left') {
|
|
1517
1513
|
checkboxElement.classList.add(classNames.checkboxLeft);
|
|
1518
1514
|
args.item.firstElementChild.classList.add(classNames.checkboxLeft);
|
|
@@ -1709,7 +1705,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1709
1705
|
}
|
|
1710
1706
|
else {
|
|
1711
1707
|
this.setCheckboxLI(li, e);
|
|
1712
|
-
if ((target.nodeName
|
|
1708
|
+
if ((target.nodeName === 'INPUT') || (target.nodeName === 'TEXTAREA')) {
|
|
1713
1709
|
target.classList.add('e-focused');
|
|
1714
1710
|
this.targetElement = target;
|
|
1715
1711
|
}
|
|
@@ -1717,7 +1713,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1717
1713
|
}
|
|
1718
1714
|
else {
|
|
1719
1715
|
this.setSelectLI(li, e);
|
|
1720
|
-
if ((target.nodeName
|
|
1716
|
+
if ((target.nodeName === 'INPUT') || (target.nodeName === 'TEXTAREA')) {
|
|
1721
1717
|
target.classList.add('e-focused');
|
|
1722
1718
|
this.targetElement = target;
|
|
1723
1719
|
}
|
|
@@ -1979,6 +1975,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1979
1975
|
EventHandler.add(this.element, 'mouseout', this.leaveHandler, this);
|
|
1980
1976
|
EventHandler.add(this.element, 'focusout', this.focusout, this);
|
|
1981
1977
|
this.touchModule = new Touch(this.element, { swipe: this.swipeActionHandler.bind(this) });
|
|
1978
|
+
if (!isNullOrUndefined(this.scroll)) {
|
|
1979
|
+
EventHandler.add(this.element, 'scroll', this.onListScroll, this);
|
|
1980
|
+
}
|
|
1982
1981
|
};
|
|
1983
1982
|
ListView.prototype.unWireEvents = function () {
|
|
1984
1983
|
EventHandler.remove(this.element, 'click', this.clickHandler);
|
|
@@ -1986,6 +1985,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1986
1985
|
EventHandler.remove(this.element, 'mouseout', this.leaveHandler);
|
|
1987
1986
|
EventHandler.remove(this.element, 'mouseover', this.hoverHandler);
|
|
1988
1987
|
EventHandler.remove(this.element, 'mouseout', this.leaveHandler);
|
|
1988
|
+
if (!isNullOrUndefined(this.scroll)) {
|
|
1989
|
+
EventHandler.remove(this.element, 'scroll', this.onListScroll);
|
|
1990
|
+
}
|
|
1989
1991
|
this.touchModule.destroy();
|
|
1990
1992
|
this.touchModule = null;
|
|
1991
1993
|
};
|
|
@@ -2069,7 +2071,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2069
2071
|
}
|
|
2070
2072
|
else {
|
|
2071
2073
|
selectedItem =
|
|
2072
|
-
// eslint-disable-next-line
|
|
2073
2074
|
{
|
|
2074
2075
|
item: li, text: fieldData && fieldData[this.listBaseOption.fields.text],
|
|
2075
2076
|
// eslint-disable-next-line
|
|
@@ -2311,7 +2312,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2311
2312
|
this.removeElement(this.headerEle);
|
|
2312
2313
|
this.removeElement(this.ulElement);
|
|
2313
2314
|
this.removeElement(this.contentContainer);
|
|
2314
|
-
// eslint-disable-next-line
|
|
2315
2315
|
if (this.isReact) {
|
|
2316
2316
|
this.clearTemplate();
|
|
2317
2317
|
}
|
|
@@ -2350,7 +2350,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2350
2350
|
ListView.prototype.UpdateCurrentUL = function () {
|
|
2351
2351
|
this.ulElement = this.curUL = this.element.querySelector('.' + classNames.parentItem);
|
|
2352
2352
|
if (this.curUL) {
|
|
2353
|
-
// eslint-disable-next-line
|
|
2354
2353
|
this.liCollection = this.curUL.querySelectorAll('.' + classNames.listItem);
|
|
2355
2354
|
}
|
|
2356
2355
|
};
|
|
@@ -2365,7 +2364,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2365
2364
|
if (!ele) {
|
|
2366
2365
|
var data = this.curViewDS;
|
|
2367
2366
|
ele = ListBase.createListFromJson(this.createElement, data, this.listBaseOption, this.curDSLevel.length, null, this);
|
|
2368
|
-
// eslint-disable-next-line
|
|
2369
2367
|
if (this.isReact) {
|
|
2370
2368
|
this.renderReactTemplates();
|
|
2371
2369
|
}
|
|
@@ -2379,7 +2377,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2379
2377
|
this.liCollection = this.curUL.querySelectorAll('.' + classNames.listItem);
|
|
2380
2378
|
if (this.selectedItems) {
|
|
2381
2379
|
var fieldData = getFieldValues(this.selectedItems.data, this.listBaseOption.fields);
|
|
2382
|
-
// eslint-disable-next-line
|
|
2383
2380
|
this.header((fieldData[this.listBaseOption.fields.text]), true, 'header');
|
|
2384
2381
|
}
|
|
2385
2382
|
this.selectedLI = undefined;
|
|
@@ -2403,7 +2400,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2403
2400
|
this.contentContainer = this.createElement('div', { className: classNames.container });
|
|
2404
2401
|
this.element.appendChild(this.contentContainer);
|
|
2405
2402
|
this.renderIntoDom(this.ulElement);
|
|
2406
|
-
// eslint-disable-next-line
|
|
2407
2403
|
if (this.isReact) {
|
|
2408
2404
|
this.renderReactTemplates();
|
|
2409
2405
|
}
|
|
@@ -2412,7 +2408,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2412
2408
|
ListView.prototype.getElementUID = function (obj) {
|
|
2413
2409
|
var fields = {};
|
|
2414
2410
|
if (obj instanceof Element) {
|
|
2415
|
-
// eslint-disable-next-line
|
|
2416
2411
|
fields[this.fields.id] = obj.getAttribute('data-uid');
|
|
2417
2412
|
}
|
|
2418
2413
|
else {
|
|
@@ -2438,12 +2433,12 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2438
2433
|
selector: '.' + classNames.listItem
|
|
2439
2434
|
});
|
|
2440
2435
|
this.renderComplete();
|
|
2436
|
+
this.previousScrollTop = this.element.scrollTop;
|
|
2441
2437
|
};
|
|
2442
2438
|
/**
|
|
2443
2439
|
* It is used to destroy the ListView component.
|
|
2444
2440
|
*/
|
|
2445
2441
|
ListView.prototype.destroy = function () {
|
|
2446
|
-
// eslint-disable-next-line
|
|
2447
2442
|
if (this.isReact) {
|
|
2448
2443
|
this.clearTemplate();
|
|
2449
2444
|
}
|
|
@@ -2485,7 +2480,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2485
2480
|
toUL = toUL.parentElement;
|
|
2486
2481
|
}
|
|
2487
2482
|
var fieldData = getFieldValues(this.curDSJSON, this.listBaseOption.fields);
|
|
2488
|
-
// eslint-disable-next-line
|
|
2489
2483
|
var text = fieldData[this.fields.text];
|
|
2490
2484
|
this.switchView(fromUL, toUL, true);
|
|
2491
2485
|
this.removeFocus();
|
|
@@ -2558,7 +2552,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2558
2552
|
if (!this.enableVirtualization && isNullOrUndefined(li)) {
|
|
2559
2553
|
var curLi = this.element.querySelectorAll('.' + classNames.listItem);
|
|
2560
2554
|
for (var i = 0; i < curLi.length; i++) {
|
|
2561
|
-
// eslint-disable-next-line
|
|
2562
2555
|
if (curLi[i].innerText.trim() === fieldData[this.fields.text]) {
|
|
2563
2556
|
li = curLi[i];
|
|
2564
2557
|
}
|
|
@@ -2608,7 +2601,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2608
2601
|
*
|
|
2609
2602
|
*/
|
|
2610
2603
|
ListView.prototype.getSelectedItems = function () {
|
|
2611
|
-
// eslint-disable-next-line
|
|
2612
2604
|
var finalValue;
|
|
2613
2605
|
var isCompleted = false;
|
|
2614
2606
|
this.selectedId = [];
|
|
@@ -2619,7 +2611,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2619
2611
|
isCompleted = true;
|
|
2620
2612
|
}
|
|
2621
2613
|
else if (this.showCheckBox && !isCompleted) {
|
|
2622
|
-
// eslint-disable-next-line
|
|
2623
2614
|
var liCollection = this.curUL.getElementsByClassName(classNames.selected);
|
|
2624
2615
|
var liTextCollection = [];
|
|
2625
2616
|
var liDataCollection = [];
|
|
@@ -2639,9 +2630,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2639
2630
|
liDataCollection.push(tempData);
|
|
2640
2631
|
}
|
|
2641
2632
|
if (fieldData) {
|
|
2642
|
-
// eslint-disable-next-line
|
|
2643
2633
|
liTextCollection.push(fieldData[this.listBaseOption.fields.text]);
|
|
2644
|
-
// eslint-disable-next-line
|
|
2645
2634
|
this.selectedId.push(fieldData[this.listBaseOption.fields.id]);
|
|
2646
2635
|
}
|
|
2647
2636
|
else {
|
|
@@ -2683,7 +2672,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2683
2672
|
isCompleted = true;
|
|
2684
2673
|
}
|
|
2685
2674
|
else {
|
|
2686
|
-
// eslint-disable-next-line
|
|
2687
2675
|
this.selectedId.push(fieldData[this.listBaseOption.fields.id]);
|
|
2688
2676
|
finalValue = {
|
|
2689
2677
|
text: fieldData[this.listBaseOption.fields.text], item: liElement,
|
|
@@ -2741,7 +2729,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2741
2729
|
if (li) {
|
|
2742
2730
|
li.classList.add(classNames.disable);
|
|
2743
2731
|
}
|
|
2744
|
-
// eslint-disable-next-line
|
|
2745
2732
|
resultJSON[this.fields.enabled] = false;
|
|
2746
2733
|
}
|
|
2747
2734
|
}
|
|
@@ -2777,7 +2764,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2777
2764
|
li.style.display = display;
|
|
2778
2765
|
}
|
|
2779
2766
|
if (isHide) {
|
|
2780
|
-
// eslint-disable-next-line
|
|
2781
2767
|
resultJSON[this.fields.isVisible] = false;
|
|
2782
2768
|
}
|
|
2783
2769
|
else {
|
|
@@ -2861,7 +2847,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2861
2847
|
return newDataSource;
|
|
2862
2848
|
};
|
|
2863
2849
|
ListView.prototype.addItemInNestedList = function (targetItemData, itemQueue) {
|
|
2864
|
-
// eslint-disable-next-line
|
|
2865
2850
|
var targetItemId = targetItemData[this.fields.id];
|
|
2866
2851
|
var targetChildDS = targetItemData[this.fields.child];
|
|
2867
2852
|
var isAlreadyRenderedUL = this.element.querySelector('[pid=\'' + targetItemId + '\']');
|
|
@@ -2902,7 +2887,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2902
2887
|
this.getLiFromObjOrElement(curViewDS[index + 2]) || null;
|
|
2903
2888
|
var li = ListBase.createListItemFromJson(this.createElement, [dataSource], this.listBaseOption, null, null, this);
|
|
2904
2889
|
this.setAttributes(li);
|
|
2905
|
-
// eslint-disable-next-line
|
|
2906
2890
|
if (this.template && this.isReact) {
|
|
2907
2891
|
this.renderReactTemplates();
|
|
2908
2892
|
}
|
|
@@ -2935,11 +2919,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2935
2919
|
var curViewDS = this.curViewDS;
|
|
2936
2920
|
var fields = obj instanceof Element ? this.getElementUID(obj) : obj;
|
|
2937
2921
|
var dataSource;
|
|
2938
|
-
// eslint-disable-next-line prefer-const
|
|
2939
2922
|
dataSource = this.findItemFromDS(listDataSource, fields, true);
|
|
2940
2923
|
if (dataSource) {
|
|
2941
2924
|
var data_1;
|
|
2942
|
-
// eslint-disable-next-line prefer-const
|
|
2943
2925
|
data_1 = this.findItemFromDS(dataSource, fields);
|
|
2944
2926
|
var index = curViewDS.indexOf(data_1);
|
|
2945
2927
|
var li = this.getLiFromObjOrElement(obj);
|
|
@@ -2960,11 +2942,8 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2960
2942
|
if (groupLi) {
|
|
2961
2943
|
detach(groupLi);
|
|
2962
2944
|
}
|
|
2963
|
-
// eslint-disable-next-line
|
|
2964
2945
|
var foundData = (dataSource.length - 1) <= 0
|
|
2965
|
-
? this.findParent(this.localData, this.fields.id,
|
|
2966
|
-
// eslint-disable-next-line
|
|
2967
|
-
function (value) { return value === data_1[_this.fields.id]; }, null) : null;
|
|
2946
|
+
? this.findParent(this.localData, this.fields.id, function (value) { return value === data_1[_this.fields.id]; }, null) : null;
|
|
2968
2947
|
var dsIndex = dataSource.indexOf(data_1);
|
|
2969
2948
|
dataSource.splice(dsIndex, 1);
|
|
2970
2949
|
this.setViewDataSource(listDataSource);
|
|
@@ -3007,16 +2986,13 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
3007
2986
|
}
|
|
3008
2987
|
}
|
|
3009
2988
|
};
|
|
3010
|
-
// eslint-disable-next-line
|
|
3011
2989
|
ListView.prototype.findParent = function (dataSource, id, callback, parent) {
|
|
3012
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
3013
2990
|
if (dataSource.hasOwnProperty(id) && callback(dataSource[id]) === true) {
|
|
3014
2991
|
return extend({}, dataSource);
|
|
3015
2992
|
}
|
|
3016
2993
|
for (var i = 0; i < Object.keys(dataSource).length; i++) {
|
|
3017
2994
|
if (dataSource[Object.keys(dataSource)[i]]
|
|
3018
2995
|
&& typeof dataSource[Object.keys(dataSource)[i]] === 'object') {
|
|
3019
|
-
// eslint-disable-next-line
|
|
3020
2996
|
var result = this.findParent(dataSource[Object.keys(dataSource)[i]], id, callback, dataSource);
|
|
3021
2997
|
if (result != null) {
|
|
3022
2998
|
if (!result.parent) {
|
|
@@ -3039,6 +3015,21 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
3039
3015
|
}
|
|
3040
3016
|
return modules;
|
|
3041
3017
|
};
|
|
3018
|
+
ListView.prototype.onListScroll = function (e) {
|
|
3019
|
+
var args = { originalEvent: e, scrollDirection: "Bottom", distanceY: this.element.scrollHeight - this.element.scrollTop };
|
|
3020
|
+
var currentScrollTop = this.element.scrollTop;
|
|
3021
|
+
if (currentScrollTop > this.previousScrollTop) {
|
|
3022
|
+
args.scrollDirection = "Bottom";
|
|
3023
|
+
args.distanceY = this.element.scrollHeight - this.element.clientHeight - this.element.scrollTop;
|
|
3024
|
+
this.trigger('scroll', args);
|
|
3025
|
+
}
|
|
3026
|
+
else if (this.previousScrollTop > currentScrollTop) {
|
|
3027
|
+
args.scrollDirection = "Top";
|
|
3028
|
+
args.distanceY = this.element.scrollTop;
|
|
3029
|
+
this.trigger('scroll', args);
|
|
3030
|
+
}
|
|
3031
|
+
this.previousScrollTop = currentScrollTop;
|
|
3032
|
+
};
|
|
3042
3033
|
/**
|
|
3043
3034
|
* Get the properties to be maintained in the persisted state.
|
|
3044
3035
|
*/
|
|
@@ -3119,6 +3110,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
3119
3110
|
__decorate([
|
|
3120
3111
|
Event()
|
|
3121
3112
|
], ListView.prototype, "actionFailure", void 0);
|
|
3113
|
+
__decorate([
|
|
3114
|
+
Event()
|
|
3115
|
+
], ListView.prototype, "scroll", void 0);
|
|
3122
3116
|
ListView = __decorate([
|
|
3123
3117
|
NotifyPropertyChanges
|
|
3124
3118
|
], ListView);
|
|
@@ -3287,7 +3281,7 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3287
3281
|
var _a;
|
|
3288
3282
|
var startingHeight;
|
|
3289
3283
|
var curViewDS = this.listViewInstance.curViewDS;
|
|
3290
|
-
this.listItemHeight = select(
|
|
3284
|
+
this.listItemHeight = select('.e-list-item', this.listViewInstance.element).getBoundingClientRect().height;
|
|
3291
3285
|
this.totalHeight = (Object.keys(curViewDS).length * this.listItemHeight) - (this.domItemCount * this.listItemHeight);
|
|
3292
3286
|
if (this.listViewInstance.isWindow) {
|
|
3293
3287
|
startingHeight = this.listViewInstance.ulElement.getBoundingClientRect().top -
|
|
@@ -3654,7 +3648,6 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3654
3648
|
var curViewDS = this.listViewInstance.curViewDS;
|
|
3655
3649
|
// eslint-disable-next-line
|
|
3656
3650
|
var resutJSON = this.findDSAndIndexFromId(curViewDS, obj);
|
|
3657
|
-
// eslint-disable-next-line
|
|
3658
3651
|
if (Object.keys(resutJSON).length) {
|
|
3659
3652
|
dataSource = resutJSON.data;
|
|
3660
3653
|
if (curViewDS[resutJSON.index - 1] &&
|
|
@@ -3918,7 +3911,7 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3918
3911
|
this.refreshItemHeight();
|
|
3919
3912
|
};
|
|
3920
3913
|
Virtualization.prototype.createUIItem = function (args) {
|
|
3921
|
-
if (!args.item.classList.contains(
|
|
3914
|
+
if (!args.item.classList.contains('e-list-group-item')) {
|
|
3922
3915
|
this.templateData = args.curData.isHeader ? args.curData.items[0] :
|
|
3923
3916
|
args.curData;
|
|
3924
3917
|
if (this.listViewInstance.showCheckBox) {
|
|
@@ -3975,7 +3968,6 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3975
3968
|
this.listViewInstance.setLocalData();
|
|
3976
3969
|
};
|
|
3977
3970
|
Virtualization.prototype.updateUI = function (element, index, targetElement) {
|
|
3978
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
3979
3971
|
var onChange = this.isNgTemplate() ? this.onNgChange : this.onChange;
|
|
3980
3972
|
if (this.listViewInstance.template || this.listViewInstance.groupTemplate) {
|
|
3981
3973
|
var curViewDS = this.listViewInstance.curViewDS[index];
|
|
@@ -4016,7 +4008,6 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
4016
4008
|
};
|
|
4017
4009
|
Virtualization.prototype.onNgChange = function (newData, listElement, virtualThis) {
|
|
4018
4010
|
// compile given target element with template for new data
|
|
4019
|
-
// eslint-disable-next-line
|
|
4020
4011
|
var templateCompiler = compile(virtualThis.listViewInstance.template);
|
|
4021
4012
|
var resultElement = templateCompiler(newData);
|
|
4022
4013
|
while (listElement.lastChild) {
|