@syncfusion/ej2-lists 23.2.4 → 24.1.46
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 +1 -9
- 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 +57 -58
- package/dist/es6/ej2-lists.es2015.js.map +1 -1
- package/dist/es6/ej2-lists.es5.js +53 -54
- 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 +19 -14
- 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,18 +280,31 @@ 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);
|
|
287
287
|
// eslint-disable-next-line no-prototype-builtins
|
|
288
288
|
if (fieldData.hasOwnProperty(fields.tooltip)) {
|
|
289
|
-
var tooltipText =
|
|
289
|
+
var tooltipText = fieldData[fields.tooltip];
|
|
290
|
+
if (options && options.enableHtmlSanitizer) {
|
|
291
|
+
tooltipText = SanitizeHtmlHelper.sanitize(tooltipText);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
var tooltipTextElement = createElement('span', { innerHTML: tooltipText });
|
|
295
|
+
tooltipText = tooltipTextElement.innerText;
|
|
296
|
+
tooltipTextElement = null;
|
|
297
|
+
}
|
|
290
298
|
li.setAttribute('title', tooltipText);
|
|
291
299
|
}
|
|
292
300
|
// eslint-disable-next-line no-prototype-builtins
|
|
293
301
|
if (fieldData.hasOwnProperty(fields.htmlAttributes) && fieldData[fields.htmlAttributes]) {
|
|
294
|
-
|
|
302
|
+
var htmlAttributes = fieldData[fields.htmlAttributes];
|
|
303
|
+
// Check if 'class' attribute is present and not an empty string
|
|
304
|
+
if (htmlAttributes.hasOwnProperty('class') && typeof htmlAttributes['class'] === 'string' && htmlAttributes['class'].trim() === '') {
|
|
305
|
+
delete htmlAttributes['class'];
|
|
306
|
+
}
|
|
307
|
+
setAttribute(li, htmlAttributes);
|
|
295
308
|
}
|
|
296
309
|
// eslint-disable-next-line no-prototype-builtins
|
|
297
310
|
if (fieldData.hasOwnProperty(fields.enabled) && fieldData[fields.enabled] === false) {
|
|
@@ -509,7 +522,6 @@ var ListBase;
|
|
|
509
522
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
510
523
|
var fields = extend({}, ListBase.defaultMappedFields, curOpt.fields);
|
|
511
524
|
var curEle = element.cloneNode(true);
|
|
512
|
-
// eslint-disable-next-line
|
|
513
525
|
var jsonAr = [];
|
|
514
526
|
curEle.classList.add('json-parent');
|
|
515
527
|
var childs = curEle.querySelectorAll('.json-parent>li');
|
|
@@ -518,7 +530,6 @@ var ListBase;
|
|
|
518
530
|
var li = childs[i];
|
|
519
531
|
var anchor = li.querySelector('a');
|
|
520
532
|
var ul = li.querySelector('ul');
|
|
521
|
-
// eslint-disable-next-line
|
|
522
533
|
var json = {};
|
|
523
534
|
var childNodes = anchor ? anchor.childNodes : li.childNodes;
|
|
524
535
|
var keys = Object.keys(childNodes);
|
|
@@ -592,7 +603,6 @@ var ListBase;
|
|
|
592
603
|
var ulElement = createElement('ul', { className: cssClass.ul, attrs: { role: 'presentation' } });
|
|
593
604
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
594
605
|
var curFields = extend({}, ListBase.defaultMappedFields, fields);
|
|
595
|
-
// eslint-disable-next-line
|
|
596
606
|
var compiledString = compileTemplate(template);
|
|
597
607
|
var liCollection = [];
|
|
598
608
|
var value;
|
|
@@ -641,7 +651,7 @@ var ListBase;
|
|
|
641
651
|
else {
|
|
642
652
|
var currentID = isHeader ? curOpt.groupTemplateID : curOpt.templateID;
|
|
643
653
|
if (isHeader) {
|
|
644
|
-
if (componentInstance && componentInstance.getModuleName()
|
|
654
|
+
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
645
655
|
// eslint-disable-next-line
|
|
646
656
|
var compiledElement = compiledString(curItem, componentInstance, 'headerTemplate', currentID, !!curOpt.isStringTemplate, null, li);
|
|
647
657
|
if (compiledElement) {
|
|
@@ -699,7 +709,6 @@ var ListBase;
|
|
|
699
709
|
function renderGroupTemplate(groupTemplate, groupDataSource, fields,
|
|
700
710
|
// eslint-disable-next-line
|
|
701
711
|
headerItems, options, componentInstance) {
|
|
702
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
703
712
|
var compiledString = compileTemplate(groupTemplate);
|
|
704
713
|
var curFields = extend({}, ListBase.defaultMappedFields, fields);
|
|
705
714
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
@@ -709,7 +718,7 @@ var ListBase;
|
|
|
709
718
|
var headerData = {};
|
|
710
719
|
headerData["" + category] = header.textContent;
|
|
711
720
|
header.innerHTML = '';
|
|
712
|
-
if (componentInstance && componentInstance.getModuleName() !==
|
|
721
|
+
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
713
722
|
// eslint-disable-next-line
|
|
714
723
|
var compiledElement = compiledString(headerData, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate, null, header);
|
|
715
724
|
if (compiledElement) {
|
|
@@ -745,7 +754,6 @@ var ListBase;
|
|
|
745
754
|
// Create expand and collapse node
|
|
746
755
|
if (!!options.expandCollapse && hasChildren && !options.template) {
|
|
747
756
|
element.firstElementChild.classList.add(cssClass.iconWrapper);
|
|
748
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
749
757
|
var expandElement = options.expandIconPosition === 'Left' ? prepend : append;
|
|
750
758
|
expandElement([createElement('div', { className: 'e-icons ' + options.expandIconClass })], element.querySelector('.' + cssClass.textContent));
|
|
751
759
|
}
|
|
@@ -891,9 +899,8 @@ var ListBase;
|
|
|
891
899
|
li.setAttribute('data-uid', generateId());
|
|
892
900
|
}
|
|
893
901
|
if (grpLI && options && options.groupTemplate) {
|
|
894
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
895
902
|
var compiledString = compileTemplate(options.groupTemplate);
|
|
896
|
-
if (componentInstance && componentInstance.getModuleName() !==
|
|
903
|
+
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
897
904
|
// eslint-disable-next-line
|
|
898
905
|
var compiledElement = compiledString(item, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate, null, li);
|
|
899
906
|
if (compiledElement) {
|
|
@@ -905,7 +912,6 @@ var ListBase;
|
|
|
905
912
|
}
|
|
906
913
|
}
|
|
907
914
|
else if (!grpLI && options && options.template) {
|
|
908
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
909
915
|
var compiledString = compileTemplate(options.template);
|
|
910
916
|
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
911
917
|
// eslint-disable-next-line
|
|
@@ -977,7 +983,6 @@ var ListBase;
|
|
|
977
983
|
function generateIcon(createElement, liElement, className, options) {
|
|
978
984
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
979
985
|
cssClass = getModuleClass(curOpt.moduleName);
|
|
980
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
981
986
|
var expandElement = curOpt.expandIconPosition === 'Left' ? prepend : append;
|
|
982
987
|
expandElement([createElement('div', {
|
|
983
988
|
className: 'e-icons ' + curOpt.expandIconClass + ' ' +
|
|
@@ -1336,7 +1341,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1336
1341
|
this.headerEle.appendChild(hedBackButton);
|
|
1337
1342
|
this.headerEle.appendChild(textEle);
|
|
1338
1343
|
if (this.headerTemplate) {
|
|
1339
|
-
// eslint-disable-next-line
|
|
1340
1344
|
var compiledString = compile(this.headerTemplate);
|
|
1341
1345
|
var headerTemplateEle = this.createElement('div', { className: classNames.headerTemplateText });
|
|
1342
1346
|
// eslint-disable-next-line
|
|
@@ -1456,7 +1460,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1456
1460
|
itemCreated: this.renderCheckbox.bind(this),
|
|
1457
1461
|
templateID: "" + this.element.id + LISTVIEW_TEMPLATE_PROPERTY,
|
|
1458
1462
|
groupTemplateID: "" + this.element.id + LISTVIEW_GROUPTEMPLATE_PROPERTY,
|
|
1459
|
-
enableHtmlSanitizer: this.enableHtmlSanitizer
|
|
1463
|
+
enableHtmlSanitizer: this.enableHtmlSanitizer
|
|
1460
1464
|
};
|
|
1461
1465
|
this.initialization();
|
|
1462
1466
|
};
|
|
@@ -1498,8 +1502,8 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1498
1502
|
if (typeof this.dataSource[0] !== 'string' && typeof this.dataSource[0] !== 'number') {
|
|
1499
1503
|
fieldData_1 = getFieldValues(args.curData, this.listBaseOption.fields);
|
|
1500
1504
|
if (this.enablePersistence && !isNullOrUndefined(this.selectedId)) {
|
|
1501
|
-
var index = this.selectedId.findIndex(function (e) { return e
|
|
1502
|
-
if (index
|
|
1505
|
+
var index = this.selectedId.findIndex(function (e) { return e === fieldData_1[_this.listBaseOption.fields.id].toString(); });
|
|
1506
|
+
if (index !== -1) {
|
|
1503
1507
|
this.checkInternally(args, checkboxElement);
|
|
1504
1508
|
}
|
|
1505
1509
|
}
|
|
@@ -1512,7 +1516,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1512
1516
|
this.checkInternally(args, checkboxElement);
|
|
1513
1517
|
}
|
|
1514
1518
|
checkboxElement.setAttribute('aria-checked', frameElement_1.classList.contains(classNames.checked) ? 'true' : 'false');
|
|
1515
|
-
checkboxElement.setAttribute('aria-label',
|
|
1519
|
+
checkboxElement.setAttribute('aria-label', args.text);
|
|
1516
1520
|
if (this.checkBoxPosition === 'Left') {
|
|
1517
1521
|
checkboxElement.classList.add(classNames.checkboxLeft);
|
|
1518
1522
|
args.item.firstElementChild.classList.add(classNames.checkboxLeft);
|
|
@@ -1709,7 +1713,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1709
1713
|
}
|
|
1710
1714
|
else {
|
|
1711
1715
|
this.setCheckboxLI(li, e);
|
|
1712
|
-
if ((target.nodeName
|
|
1716
|
+
if ((target.nodeName === 'INPUT') || (target.nodeName === 'TEXTAREA')) {
|
|
1713
1717
|
target.classList.add('e-focused');
|
|
1714
1718
|
this.targetElement = target;
|
|
1715
1719
|
}
|
|
@@ -1717,7 +1721,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1717
1721
|
}
|
|
1718
1722
|
else {
|
|
1719
1723
|
this.setSelectLI(li, e);
|
|
1720
|
-
if ((target.nodeName
|
|
1724
|
+
if ((target.nodeName === 'INPUT') || (target.nodeName === 'TEXTAREA')) {
|
|
1721
1725
|
target.classList.add('e-focused');
|
|
1722
1726
|
this.targetElement = target;
|
|
1723
1727
|
}
|
|
@@ -1979,6 +1983,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1979
1983
|
EventHandler.add(this.element, 'mouseout', this.leaveHandler, this);
|
|
1980
1984
|
EventHandler.add(this.element, 'focusout', this.focusout, this);
|
|
1981
1985
|
this.touchModule = new Touch(this.element, { swipe: this.swipeActionHandler.bind(this) });
|
|
1986
|
+
if (!isNullOrUndefined(this.scroll)) {
|
|
1987
|
+
EventHandler.add(this.element, 'scroll', this.onListScroll, this);
|
|
1988
|
+
}
|
|
1982
1989
|
};
|
|
1983
1990
|
ListView.prototype.unWireEvents = function () {
|
|
1984
1991
|
EventHandler.remove(this.element, 'click', this.clickHandler);
|
|
@@ -1986,6 +1993,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1986
1993
|
EventHandler.remove(this.element, 'mouseout', this.leaveHandler);
|
|
1987
1994
|
EventHandler.remove(this.element, 'mouseover', this.hoverHandler);
|
|
1988
1995
|
EventHandler.remove(this.element, 'mouseout', this.leaveHandler);
|
|
1996
|
+
if (!isNullOrUndefined(this.scroll)) {
|
|
1997
|
+
EventHandler.remove(this.element, 'scroll', this.onListScroll);
|
|
1998
|
+
}
|
|
1989
1999
|
this.touchModule.destroy();
|
|
1990
2000
|
this.touchModule = null;
|
|
1991
2001
|
};
|
|
@@ -2069,7 +2079,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2069
2079
|
}
|
|
2070
2080
|
else {
|
|
2071
2081
|
selectedItem =
|
|
2072
|
-
// eslint-disable-next-line
|
|
2073
2082
|
{
|
|
2074
2083
|
item: li, text: fieldData && fieldData[this.listBaseOption.fields.text],
|
|
2075
2084
|
// eslint-disable-next-line
|
|
@@ -2311,7 +2320,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2311
2320
|
this.removeElement(this.headerEle);
|
|
2312
2321
|
this.removeElement(this.ulElement);
|
|
2313
2322
|
this.removeElement(this.contentContainer);
|
|
2314
|
-
// eslint-disable-next-line
|
|
2315
2323
|
if (this.isReact) {
|
|
2316
2324
|
this.clearTemplate();
|
|
2317
2325
|
}
|
|
@@ -2350,7 +2358,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2350
2358
|
ListView.prototype.UpdateCurrentUL = function () {
|
|
2351
2359
|
this.ulElement = this.curUL = this.element.querySelector('.' + classNames.parentItem);
|
|
2352
2360
|
if (this.curUL) {
|
|
2353
|
-
// eslint-disable-next-line
|
|
2354
2361
|
this.liCollection = this.curUL.querySelectorAll('.' + classNames.listItem);
|
|
2355
2362
|
}
|
|
2356
2363
|
};
|
|
@@ -2365,7 +2372,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2365
2372
|
if (!ele) {
|
|
2366
2373
|
var data = this.curViewDS;
|
|
2367
2374
|
ele = ListBase.createListFromJson(this.createElement, data, this.listBaseOption, this.curDSLevel.length, null, this);
|
|
2368
|
-
// eslint-disable-next-line
|
|
2369
2375
|
if (this.isReact) {
|
|
2370
2376
|
this.renderReactTemplates();
|
|
2371
2377
|
}
|
|
@@ -2379,7 +2385,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2379
2385
|
this.liCollection = this.curUL.querySelectorAll('.' + classNames.listItem);
|
|
2380
2386
|
if (this.selectedItems) {
|
|
2381
2387
|
var fieldData = getFieldValues(this.selectedItems.data, this.listBaseOption.fields);
|
|
2382
|
-
// eslint-disable-next-line
|
|
2383
2388
|
this.header((fieldData[this.listBaseOption.fields.text]), true, 'header');
|
|
2384
2389
|
}
|
|
2385
2390
|
this.selectedLI = undefined;
|
|
@@ -2403,7 +2408,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2403
2408
|
this.contentContainer = this.createElement('div', { className: classNames.container });
|
|
2404
2409
|
this.element.appendChild(this.contentContainer);
|
|
2405
2410
|
this.renderIntoDom(this.ulElement);
|
|
2406
|
-
// eslint-disable-next-line
|
|
2407
2411
|
if (this.isReact) {
|
|
2408
2412
|
this.renderReactTemplates();
|
|
2409
2413
|
}
|
|
@@ -2412,7 +2416,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2412
2416
|
ListView.prototype.getElementUID = function (obj) {
|
|
2413
2417
|
var fields = {};
|
|
2414
2418
|
if (obj instanceof Element) {
|
|
2415
|
-
// eslint-disable-next-line
|
|
2416
2419
|
fields[this.fields.id] = obj.getAttribute('data-uid');
|
|
2417
2420
|
}
|
|
2418
2421
|
else {
|
|
@@ -2438,12 +2441,12 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2438
2441
|
selector: '.' + classNames.listItem
|
|
2439
2442
|
});
|
|
2440
2443
|
this.renderComplete();
|
|
2444
|
+
this.previousScrollTop = this.element.scrollTop;
|
|
2441
2445
|
};
|
|
2442
2446
|
/**
|
|
2443
2447
|
* It is used to destroy the ListView component.
|
|
2444
2448
|
*/
|
|
2445
2449
|
ListView.prototype.destroy = function () {
|
|
2446
|
-
// eslint-disable-next-line
|
|
2447
2450
|
if (this.isReact) {
|
|
2448
2451
|
this.clearTemplate();
|
|
2449
2452
|
}
|
|
@@ -2485,7 +2488,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2485
2488
|
toUL = toUL.parentElement;
|
|
2486
2489
|
}
|
|
2487
2490
|
var fieldData = getFieldValues(this.curDSJSON, this.listBaseOption.fields);
|
|
2488
|
-
// eslint-disable-next-line
|
|
2489
2491
|
var text = fieldData[this.fields.text];
|
|
2490
2492
|
this.switchView(fromUL, toUL, true);
|
|
2491
2493
|
this.removeFocus();
|
|
@@ -2558,7 +2560,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2558
2560
|
if (!this.enableVirtualization && isNullOrUndefined(li)) {
|
|
2559
2561
|
var curLi = this.element.querySelectorAll('.' + classNames.listItem);
|
|
2560
2562
|
for (var i = 0; i < curLi.length; i++) {
|
|
2561
|
-
// eslint-disable-next-line
|
|
2562
2563
|
if (curLi[i].innerText.trim() === fieldData[this.fields.text]) {
|
|
2563
2564
|
li = curLi[i];
|
|
2564
2565
|
}
|
|
@@ -2608,7 +2609,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2608
2609
|
*
|
|
2609
2610
|
*/
|
|
2610
2611
|
ListView.prototype.getSelectedItems = function () {
|
|
2611
|
-
// eslint-disable-next-line
|
|
2612
2612
|
var finalValue;
|
|
2613
2613
|
var isCompleted = false;
|
|
2614
2614
|
this.selectedId = [];
|
|
@@ -2619,7 +2619,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2619
2619
|
isCompleted = true;
|
|
2620
2620
|
}
|
|
2621
2621
|
else if (this.showCheckBox && !isCompleted) {
|
|
2622
|
-
// eslint-disable-next-line
|
|
2623
2622
|
var liCollection = this.curUL.getElementsByClassName(classNames.selected);
|
|
2624
2623
|
var liTextCollection = [];
|
|
2625
2624
|
var liDataCollection = [];
|
|
@@ -2639,9 +2638,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2639
2638
|
liDataCollection.push(tempData);
|
|
2640
2639
|
}
|
|
2641
2640
|
if (fieldData) {
|
|
2642
|
-
// eslint-disable-next-line
|
|
2643
2641
|
liTextCollection.push(fieldData[this.listBaseOption.fields.text]);
|
|
2644
|
-
// eslint-disable-next-line
|
|
2645
2642
|
this.selectedId.push(fieldData[this.listBaseOption.fields.id]);
|
|
2646
2643
|
}
|
|
2647
2644
|
else {
|
|
@@ -2683,7 +2680,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2683
2680
|
isCompleted = true;
|
|
2684
2681
|
}
|
|
2685
2682
|
else {
|
|
2686
|
-
// eslint-disable-next-line
|
|
2687
2683
|
this.selectedId.push(fieldData[this.listBaseOption.fields.id]);
|
|
2688
2684
|
finalValue = {
|
|
2689
2685
|
text: fieldData[this.listBaseOption.fields.text], item: liElement,
|
|
@@ -2741,7 +2737,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2741
2737
|
if (li) {
|
|
2742
2738
|
li.classList.add(classNames.disable);
|
|
2743
2739
|
}
|
|
2744
|
-
// eslint-disable-next-line
|
|
2745
2740
|
resultJSON[this.fields.enabled] = false;
|
|
2746
2741
|
}
|
|
2747
2742
|
}
|
|
@@ -2777,7 +2772,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2777
2772
|
li.style.display = display;
|
|
2778
2773
|
}
|
|
2779
2774
|
if (isHide) {
|
|
2780
|
-
// eslint-disable-next-line
|
|
2781
2775
|
resultJSON[this.fields.isVisible] = false;
|
|
2782
2776
|
}
|
|
2783
2777
|
else {
|
|
@@ -2861,7 +2855,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2861
2855
|
return newDataSource;
|
|
2862
2856
|
};
|
|
2863
2857
|
ListView.prototype.addItemInNestedList = function (targetItemData, itemQueue) {
|
|
2864
|
-
// eslint-disable-next-line
|
|
2865
2858
|
var targetItemId = targetItemData[this.fields.id];
|
|
2866
2859
|
var targetChildDS = targetItemData[this.fields.child];
|
|
2867
2860
|
var isAlreadyRenderedUL = this.element.querySelector('[pid=\'' + targetItemId + '\']');
|
|
@@ -2902,7 +2895,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2902
2895
|
this.getLiFromObjOrElement(curViewDS[index + 2]) || null;
|
|
2903
2896
|
var li = ListBase.createListItemFromJson(this.createElement, [dataSource], this.listBaseOption, null, null, this);
|
|
2904
2897
|
this.setAttributes(li);
|
|
2905
|
-
// eslint-disable-next-line
|
|
2906
2898
|
if (this.template && this.isReact) {
|
|
2907
2899
|
this.renderReactTemplates();
|
|
2908
2900
|
}
|
|
@@ -2935,11 +2927,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2935
2927
|
var curViewDS = this.curViewDS;
|
|
2936
2928
|
var fields = obj instanceof Element ? this.getElementUID(obj) : obj;
|
|
2937
2929
|
var dataSource;
|
|
2938
|
-
// eslint-disable-next-line prefer-const
|
|
2939
2930
|
dataSource = this.findItemFromDS(listDataSource, fields, true);
|
|
2940
2931
|
if (dataSource) {
|
|
2941
2932
|
var data_1;
|
|
2942
|
-
// eslint-disable-next-line prefer-const
|
|
2943
2933
|
data_1 = this.findItemFromDS(dataSource, fields);
|
|
2944
2934
|
var index = curViewDS.indexOf(data_1);
|
|
2945
2935
|
var li = this.getLiFromObjOrElement(obj);
|
|
@@ -2960,11 +2950,8 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2960
2950
|
if (groupLi) {
|
|
2961
2951
|
detach(groupLi);
|
|
2962
2952
|
}
|
|
2963
|
-
// eslint-disable-next-line
|
|
2964
2953
|
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;
|
|
2954
|
+
? this.findParent(this.localData, this.fields.id, function (value) { return value === data_1[_this.fields.id]; }, null) : null;
|
|
2968
2955
|
var dsIndex = dataSource.indexOf(data_1);
|
|
2969
2956
|
dataSource.splice(dsIndex, 1);
|
|
2970
2957
|
this.setViewDataSource(listDataSource);
|
|
@@ -3007,16 +2994,13 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
3007
2994
|
}
|
|
3008
2995
|
}
|
|
3009
2996
|
};
|
|
3010
|
-
// eslint-disable-next-line
|
|
3011
2997
|
ListView.prototype.findParent = function (dataSource, id, callback, parent) {
|
|
3012
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
3013
2998
|
if (dataSource.hasOwnProperty(id) && callback(dataSource[id]) === true) {
|
|
3014
2999
|
return extend({}, dataSource);
|
|
3015
3000
|
}
|
|
3016
3001
|
for (var i = 0; i < Object.keys(dataSource).length; i++) {
|
|
3017
3002
|
if (dataSource[Object.keys(dataSource)[i]]
|
|
3018
3003
|
&& typeof dataSource[Object.keys(dataSource)[i]] === 'object') {
|
|
3019
|
-
// eslint-disable-next-line
|
|
3020
3004
|
var result = this.findParent(dataSource[Object.keys(dataSource)[i]], id, callback, dataSource);
|
|
3021
3005
|
if (result != null) {
|
|
3022
3006
|
if (!result.parent) {
|
|
@@ -3039,6 +3023,21 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
3039
3023
|
}
|
|
3040
3024
|
return modules;
|
|
3041
3025
|
};
|
|
3026
|
+
ListView.prototype.onListScroll = function (e) {
|
|
3027
|
+
var args = { originalEvent: e, scrollDirection: "Bottom", distanceY: this.element.scrollHeight - this.element.scrollTop };
|
|
3028
|
+
var currentScrollTop = this.element.scrollTop;
|
|
3029
|
+
if (currentScrollTop > this.previousScrollTop) {
|
|
3030
|
+
args.scrollDirection = "Bottom";
|
|
3031
|
+
args.distanceY = this.element.scrollHeight - this.element.clientHeight - this.element.scrollTop;
|
|
3032
|
+
this.trigger('scroll', args);
|
|
3033
|
+
}
|
|
3034
|
+
else if (this.previousScrollTop > currentScrollTop) {
|
|
3035
|
+
args.scrollDirection = "Top";
|
|
3036
|
+
args.distanceY = this.element.scrollTop;
|
|
3037
|
+
this.trigger('scroll', args);
|
|
3038
|
+
}
|
|
3039
|
+
this.previousScrollTop = currentScrollTop;
|
|
3040
|
+
};
|
|
3042
3041
|
/**
|
|
3043
3042
|
* Get the properties to be maintained in the persisted state.
|
|
3044
3043
|
*/
|
|
@@ -3119,6 +3118,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
3119
3118
|
__decorate([
|
|
3120
3119
|
Event()
|
|
3121
3120
|
], ListView.prototype, "actionFailure", void 0);
|
|
3121
|
+
__decorate([
|
|
3122
|
+
Event()
|
|
3123
|
+
], ListView.prototype, "scroll", void 0);
|
|
3122
3124
|
ListView = __decorate([
|
|
3123
3125
|
NotifyPropertyChanges
|
|
3124
3126
|
], ListView);
|
|
@@ -3287,7 +3289,7 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3287
3289
|
var _a;
|
|
3288
3290
|
var startingHeight;
|
|
3289
3291
|
var curViewDS = this.listViewInstance.curViewDS;
|
|
3290
|
-
this.listItemHeight = select(
|
|
3292
|
+
this.listItemHeight = select('.e-list-item', this.listViewInstance.element).getBoundingClientRect().height;
|
|
3291
3293
|
this.totalHeight = (Object.keys(curViewDS).length * this.listItemHeight) - (this.domItemCount * this.listItemHeight);
|
|
3292
3294
|
if (this.listViewInstance.isWindow) {
|
|
3293
3295
|
startingHeight = this.listViewInstance.ulElement.getBoundingClientRect().top -
|
|
@@ -3654,7 +3656,6 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3654
3656
|
var curViewDS = this.listViewInstance.curViewDS;
|
|
3655
3657
|
// eslint-disable-next-line
|
|
3656
3658
|
var resutJSON = this.findDSAndIndexFromId(curViewDS, obj);
|
|
3657
|
-
// eslint-disable-next-line
|
|
3658
3659
|
if (Object.keys(resutJSON).length) {
|
|
3659
3660
|
dataSource = resutJSON.data;
|
|
3660
3661
|
if (curViewDS[resutJSON.index - 1] &&
|
|
@@ -3918,7 +3919,7 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3918
3919
|
this.refreshItemHeight();
|
|
3919
3920
|
};
|
|
3920
3921
|
Virtualization.prototype.createUIItem = function (args) {
|
|
3921
|
-
if (!args.item.classList.contains(
|
|
3922
|
+
if (!args.item.classList.contains('e-list-group-item')) {
|
|
3922
3923
|
this.templateData = args.curData.isHeader ? args.curData.items[0] :
|
|
3923
3924
|
args.curData;
|
|
3924
3925
|
if (this.listViewInstance.showCheckBox) {
|
|
@@ -3975,7 +3976,6 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3975
3976
|
this.listViewInstance.setLocalData();
|
|
3976
3977
|
};
|
|
3977
3978
|
Virtualization.prototype.updateUI = function (element, index, targetElement) {
|
|
3978
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
3979
3979
|
var onChange = this.isNgTemplate() ? this.onNgChange : this.onChange;
|
|
3980
3980
|
if (this.listViewInstance.template || this.listViewInstance.groupTemplate) {
|
|
3981
3981
|
var curViewDS = this.listViewInstance.curViewDS[index];
|
|
@@ -4016,7 +4016,6 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
4016
4016
|
};
|
|
4017
4017
|
Virtualization.prototype.onNgChange = function (newData, listElement, virtualThis) {
|
|
4018
4018
|
// compile given target element with template for new data
|
|
4019
|
-
// eslint-disable-next-line
|
|
4020
4019
|
var templateCompiler = compile(virtualThis.listViewInstance.template);
|
|
4021
4020
|
var resultElement = templateCompiler(newData);
|
|
4022
4021
|
while (listElement.lastChild) {
|