@syncfusion/ej2-lists 23.1.43 → 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 -8
- 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 +105 -244
- package/dist/es6/ej2-lists.es2015.js.map +1 -1
- package/dist/es6/ej2-lists.es5.js +101 -241
- 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 +12 -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.d.ts +1 -8
- package/src/list-view/virtualization.js +57 -192
- 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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Animation, Base, ChildProperty, Complex, Component, Draggable, Event, EventHandler, NotifyPropertyChanges, Property, SanitizeHtmlHelper, Touch, addClass, animationMode, append, attributes, closest, compareElementParent, compile, detach, extend, formatUnit, getComponent, getUniqueID, getValue, isBlazor, isNullOrUndefined, isVisible, merge, prepend, remove, removeClass, rippleEffect } from '@syncfusion/ej2-base';
|
|
1
|
+
import { Animation, Base, ChildProperty, Complex, Component, Draggable, Event, EventHandler, NotifyPropertyChanges, Property, SanitizeHtmlHelper, Touch, addClass, animationMode, append, attributes, closest, compareElementParent, compile, detach, extend, formatUnit, getComponent, getUniqueID, getValue, isBlazor, isNullOrUndefined, isVisible, merge, prepend, remove, removeClass, rippleEffect, select } from '@syncfusion/ej2-base';
|
|
2
2
|
import { DataManager, Query } from '@syncfusion/ej2-data';
|
|
3
3
|
import { createCheckBox } from '@syncfusion/ej2-buttons';
|
|
4
4
|
|
|
@@ -280,17 +280,23 @@ 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
|
-
|
|
289
|
+
var tooltipText = SanitizeHtmlHelper.sanitize(fieldData[fields.tooltip]);
|
|
290
|
+
li.setAttribute('title', tooltipText);
|
|
290
291
|
}
|
|
291
292
|
// eslint-disable-next-line no-prototype-builtins
|
|
292
293
|
if (fieldData.hasOwnProperty(fields.htmlAttributes) && fieldData[fields.htmlAttributes]) {
|
|
293
|
-
|
|
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);
|
|
294
300
|
}
|
|
295
301
|
// eslint-disable-next-line no-prototype-builtins
|
|
296
302
|
if (fieldData.hasOwnProperty(fields.enabled) && fieldData[fields.enabled] === false) {
|
|
@@ -508,7 +514,6 @@ var ListBase;
|
|
|
508
514
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
509
515
|
var fields = extend({}, ListBase.defaultMappedFields, curOpt.fields);
|
|
510
516
|
var curEle = element.cloneNode(true);
|
|
511
|
-
// eslint-disable-next-line
|
|
512
517
|
var jsonAr = [];
|
|
513
518
|
curEle.classList.add('json-parent');
|
|
514
519
|
var childs = curEle.querySelectorAll('.json-parent>li');
|
|
@@ -517,7 +522,6 @@ var ListBase;
|
|
|
517
522
|
var li = childs[i];
|
|
518
523
|
var anchor = li.querySelector('a');
|
|
519
524
|
var ul = li.querySelector('ul');
|
|
520
|
-
// eslint-disable-next-line
|
|
521
525
|
var json = {};
|
|
522
526
|
var childNodes = anchor ? anchor.childNodes : li.childNodes;
|
|
523
527
|
var keys = Object.keys(childNodes);
|
|
@@ -591,7 +595,6 @@ var ListBase;
|
|
|
591
595
|
var ulElement = createElement('ul', { className: cssClass.ul, attrs: { role: 'presentation' } });
|
|
592
596
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
593
597
|
var curFields = extend({}, ListBase.defaultMappedFields, fields);
|
|
594
|
-
// eslint-disable-next-line
|
|
595
598
|
var compiledString = compileTemplate(template);
|
|
596
599
|
var liCollection = [];
|
|
597
600
|
var value;
|
|
@@ -640,7 +643,7 @@ var ListBase;
|
|
|
640
643
|
else {
|
|
641
644
|
var currentID = isHeader ? curOpt.groupTemplateID : curOpt.templateID;
|
|
642
645
|
if (isHeader) {
|
|
643
|
-
if (componentInstance && componentInstance.getModuleName()
|
|
646
|
+
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
644
647
|
// eslint-disable-next-line
|
|
645
648
|
var compiledElement = compiledString(curItem, componentInstance, 'headerTemplate', currentID, !!curOpt.isStringTemplate, null, li);
|
|
646
649
|
if (compiledElement) {
|
|
@@ -698,7 +701,6 @@ var ListBase;
|
|
|
698
701
|
function renderGroupTemplate(groupTemplate, groupDataSource, fields,
|
|
699
702
|
// eslint-disable-next-line
|
|
700
703
|
headerItems, options, componentInstance) {
|
|
701
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
702
704
|
var compiledString = compileTemplate(groupTemplate);
|
|
703
705
|
var curFields = extend({}, ListBase.defaultMappedFields, fields);
|
|
704
706
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
@@ -708,7 +710,7 @@ var ListBase;
|
|
|
708
710
|
var headerData = {};
|
|
709
711
|
headerData["" + category] = header.textContent;
|
|
710
712
|
header.innerHTML = '';
|
|
711
|
-
if (componentInstance && componentInstance.getModuleName() !==
|
|
713
|
+
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
712
714
|
// eslint-disable-next-line
|
|
713
715
|
var compiledElement = compiledString(headerData, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate, null, header);
|
|
714
716
|
if (compiledElement) {
|
|
@@ -744,7 +746,6 @@ var ListBase;
|
|
|
744
746
|
// Create expand and collapse node
|
|
745
747
|
if (!!options.expandCollapse && hasChildren && !options.template) {
|
|
746
748
|
element.firstElementChild.classList.add(cssClass.iconWrapper);
|
|
747
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
748
749
|
var expandElement = options.expandIconPosition === 'Left' ? prepend : append;
|
|
749
750
|
expandElement([createElement('div', { className: 'e-icons ' + options.expandIconClass })], element.querySelector('.' + cssClass.textContent));
|
|
750
751
|
}
|
|
@@ -890,9 +891,8 @@ var ListBase;
|
|
|
890
891
|
li.setAttribute('data-uid', generateId());
|
|
891
892
|
}
|
|
892
893
|
if (grpLI && options && options.groupTemplate) {
|
|
893
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
894
894
|
var compiledString = compileTemplate(options.groupTemplate);
|
|
895
|
-
if (componentInstance && componentInstance.getModuleName() !==
|
|
895
|
+
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
896
896
|
// eslint-disable-next-line
|
|
897
897
|
var compiledElement = compiledString(item, componentInstance, 'groupTemplate', curOpt.groupTemplateID, !!curOpt.isStringTemplate, null, li);
|
|
898
898
|
if (compiledElement) {
|
|
@@ -904,7 +904,6 @@ var ListBase;
|
|
|
904
904
|
}
|
|
905
905
|
}
|
|
906
906
|
else if (!grpLI && options && options.template) {
|
|
907
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
908
907
|
var compiledString = compileTemplate(options.template);
|
|
909
908
|
if (componentInstance && componentInstance.getModuleName() !== 'listview') {
|
|
910
909
|
// eslint-disable-next-line
|
|
@@ -976,7 +975,6 @@ var ListBase;
|
|
|
976
975
|
function generateIcon(createElement, liElement, className, options) {
|
|
977
976
|
var curOpt = extend({}, defaultListBaseOptions, options);
|
|
978
977
|
cssClass = getModuleClass(curOpt.moduleName);
|
|
979
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
980
978
|
var expandElement = curOpt.expandIconPosition === 'Left' ? prepend : append;
|
|
981
979
|
expandElement([createElement('div', {
|
|
982
980
|
className: 'e-icons ' + curOpt.expandIconClass + ' ' +
|
|
@@ -1335,7 +1333,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1335
1333
|
this.headerEle.appendChild(hedBackButton);
|
|
1336
1334
|
this.headerEle.appendChild(textEle);
|
|
1337
1335
|
if (this.headerTemplate) {
|
|
1338
|
-
// eslint-disable-next-line
|
|
1339
1336
|
var compiledString = compile(this.headerTemplate);
|
|
1340
1337
|
var headerTemplateEle = this.createElement('div', { className: classNames.headerTemplateText });
|
|
1341
1338
|
// eslint-disable-next-line
|
|
@@ -1455,7 +1452,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1455
1452
|
itemCreated: this.renderCheckbox.bind(this),
|
|
1456
1453
|
templateID: "" + this.element.id + LISTVIEW_TEMPLATE_PROPERTY,
|
|
1457
1454
|
groupTemplateID: "" + this.element.id + LISTVIEW_GROUPTEMPLATE_PROPERTY,
|
|
1458
|
-
enableHtmlSanitizer: this.enableHtmlSanitizer
|
|
1455
|
+
enableHtmlSanitizer: this.enableHtmlSanitizer
|
|
1459
1456
|
};
|
|
1460
1457
|
this.initialization();
|
|
1461
1458
|
};
|
|
@@ -1497,8 +1494,8 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1497
1494
|
if (typeof this.dataSource[0] !== 'string' && typeof this.dataSource[0] !== 'number') {
|
|
1498
1495
|
fieldData_1 = getFieldValues(args.curData, this.listBaseOption.fields);
|
|
1499
1496
|
if (this.enablePersistence && !isNullOrUndefined(this.selectedId)) {
|
|
1500
|
-
var index = this.selectedId.findIndex(function (e) { return e
|
|
1501
|
-
if (index
|
|
1497
|
+
var index = this.selectedId.findIndex(function (e) { return e === fieldData_1[_this.listBaseOption.fields.id].toString(); });
|
|
1498
|
+
if (index !== -1) {
|
|
1502
1499
|
this.checkInternally(args, checkboxElement);
|
|
1503
1500
|
}
|
|
1504
1501
|
}
|
|
@@ -1511,7 +1508,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1511
1508
|
this.checkInternally(args, checkboxElement);
|
|
1512
1509
|
}
|
|
1513
1510
|
checkboxElement.setAttribute('aria-checked', frameElement_1.classList.contains(classNames.checked) ? 'true' : 'false');
|
|
1514
|
-
checkboxElement.setAttribute('aria-label',
|
|
1511
|
+
checkboxElement.setAttribute('aria-label', args.text);
|
|
1515
1512
|
if (this.checkBoxPosition === 'Left') {
|
|
1516
1513
|
checkboxElement.classList.add(classNames.checkboxLeft);
|
|
1517
1514
|
args.item.firstElementChild.classList.add(classNames.checkboxLeft);
|
|
@@ -1708,7 +1705,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1708
1705
|
}
|
|
1709
1706
|
else {
|
|
1710
1707
|
this.setCheckboxLI(li, e);
|
|
1711
|
-
if ((target.nodeName
|
|
1708
|
+
if ((target.nodeName === 'INPUT') || (target.nodeName === 'TEXTAREA')) {
|
|
1712
1709
|
target.classList.add('e-focused');
|
|
1713
1710
|
this.targetElement = target;
|
|
1714
1711
|
}
|
|
@@ -1716,7 +1713,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1716
1713
|
}
|
|
1717
1714
|
else {
|
|
1718
1715
|
this.setSelectLI(li, e);
|
|
1719
|
-
if ((target.nodeName
|
|
1716
|
+
if ((target.nodeName === 'INPUT') || (target.nodeName === 'TEXTAREA')) {
|
|
1720
1717
|
target.classList.add('e-focused');
|
|
1721
1718
|
this.targetElement = target;
|
|
1722
1719
|
}
|
|
@@ -1978,6 +1975,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1978
1975
|
EventHandler.add(this.element, 'mouseout', this.leaveHandler, this);
|
|
1979
1976
|
EventHandler.add(this.element, 'focusout', this.focusout, this);
|
|
1980
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
|
+
}
|
|
1981
1981
|
};
|
|
1982
1982
|
ListView.prototype.unWireEvents = function () {
|
|
1983
1983
|
EventHandler.remove(this.element, 'click', this.clickHandler);
|
|
@@ -1985,6 +1985,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
1985
1985
|
EventHandler.remove(this.element, 'mouseout', this.leaveHandler);
|
|
1986
1986
|
EventHandler.remove(this.element, 'mouseover', this.hoverHandler);
|
|
1987
1987
|
EventHandler.remove(this.element, 'mouseout', this.leaveHandler);
|
|
1988
|
+
if (!isNullOrUndefined(this.scroll)) {
|
|
1989
|
+
EventHandler.remove(this.element, 'scroll', this.onListScroll);
|
|
1990
|
+
}
|
|
1988
1991
|
this.touchModule.destroy();
|
|
1989
1992
|
this.touchModule = null;
|
|
1990
1993
|
};
|
|
@@ -2068,7 +2071,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2068
2071
|
}
|
|
2069
2072
|
else {
|
|
2070
2073
|
selectedItem =
|
|
2071
|
-
// eslint-disable-next-line
|
|
2072
2074
|
{
|
|
2073
2075
|
item: li, text: fieldData && fieldData[this.listBaseOption.fields.text],
|
|
2074
2076
|
// eslint-disable-next-line
|
|
@@ -2310,7 +2312,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2310
2312
|
this.removeElement(this.headerEle);
|
|
2311
2313
|
this.removeElement(this.ulElement);
|
|
2312
2314
|
this.removeElement(this.contentContainer);
|
|
2313
|
-
// eslint-disable-next-line
|
|
2314
2315
|
if (this.isReact) {
|
|
2315
2316
|
this.clearTemplate();
|
|
2316
2317
|
}
|
|
@@ -2349,7 +2350,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2349
2350
|
ListView.prototype.UpdateCurrentUL = function () {
|
|
2350
2351
|
this.ulElement = this.curUL = this.element.querySelector('.' + classNames.parentItem);
|
|
2351
2352
|
if (this.curUL) {
|
|
2352
|
-
// eslint-disable-next-line
|
|
2353
2353
|
this.liCollection = this.curUL.querySelectorAll('.' + classNames.listItem);
|
|
2354
2354
|
}
|
|
2355
2355
|
};
|
|
@@ -2364,7 +2364,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2364
2364
|
if (!ele) {
|
|
2365
2365
|
var data = this.curViewDS;
|
|
2366
2366
|
ele = ListBase.createListFromJson(this.createElement, data, this.listBaseOption, this.curDSLevel.length, null, this);
|
|
2367
|
-
// eslint-disable-next-line
|
|
2368
2367
|
if (this.isReact) {
|
|
2369
2368
|
this.renderReactTemplates();
|
|
2370
2369
|
}
|
|
@@ -2378,7 +2377,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2378
2377
|
this.liCollection = this.curUL.querySelectorAll('.' + classNames.listItem);
|
|
2379
2378
|
if (this.selectedItems) {
|
|
2380
2379
|
var fieldData = getFieldValues(this.selectedItems.data, this.listBaseOption.fields);
|
|
2381
|
-
// eslint-disable-next-line
|
|
2382
2380
|
this.header((fieldData[this.listBaseOption.fields.text]), true, 'header');
|
|
2383
2381
|
}
|
|
2384
2382
|
this.selectedLI = undefined;
|
|
@@ -2402,7 +2400,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2402
2400
|
this.contentContainer = this.createElement('div', { className: classNames.container });
|
|
2403
2401
|
this.element.appendChild(this.contentContainer);
|
|
2404
2402
|
this.renderIntoDom(this.ulElement);
|
|
2405
|
-
// eslint-disable-next-line
|
|
2406
2403
|
if (this.isReact) {
|
|
2407
2404
|
this.renderReactTemplates();
|
|
2408
2405
|
}
|
|
@@ -2411,7 +2408,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2411
2408
|
ListView.prototype.getElementUID = function (obj) {
|
|
2412
2409
|
var fields = {};
|
|
2413
2410
|
if (obj instanceof Element) {
|
|
2414
|
-
// eslint-disable-next-line
|
|
2415
2411
|
fields[this.fields.id] = obj.getAttribute('data-uid');
|
|
2416
2412
|
}
|
|
2417
2413
|
else {
|
|
@@ -2437,12 +2433,12 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2437
2433
|
selector: '.' + classNames.listItem
|
|
2438
2434
|
});
|
|
2439
2435
|
this.renderComplete();
|
|
2436
|
+
this.previousScrollTop = this.element.scrollTop;
|
|
2440
2437
|
};
|
|
2441
2438
|
/**
|
|
2442
2439
|
* It is used to destroy the ListView component.
|
|
2443
2440
|
*/
|
|
2444
2441
|
ListView.prototype.destroy = function () {
|
|
2445
|
-
// eslint-disable-next-line
|
|
2446
2442
|
if (this.isReact) {
|
|
2447
2443
|
this.clearTemplate();
|
|
2448
2444
|
}
|
|
@@ -2484,7 +2480,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2484
2480
|
toUL = toUL.parentElement;
|
|
2485
2481
|
}
|
|
2486
2482
|
var fieldData = getFieldValues(this.curDSJSON, this.listBaseOption.fields);
|
|
2487
|
-
// eslint-disable-next-line
|
|
2488
2483
|
var text = fieldData[this.fields.text];
|
|
2489
2484
|
this.switchView(fromUL, toUL, true);
|
|
2490
2485
|
this.removeFocus();
|
|
@@ -2557,7 +2552,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2557
2552
|
if (!this.enableVirtualization && isNullOrUndefined(li)) {
|
|
2558
2553
|
var curLi = this.element.querySelectorAll('.' + classNames.listItem);
|
|
2559
2554
|
for (var i = 0; i < curLi.length; i++) {
|
|
2560
|
-
// eslint-disable-next-line
|
|
2561
2555
|
if (curLi[i].innerText.trim() === fieldData[this.fields.text]) {
|
|
2562
2556
|
li = curLi[i];
|
|
2563
2557
|
}
|
|
@@ -2607,7 +2601,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2607
2601
|
*
|
|
2608
2602
|
*/
|
|
2609
2603
|
ListView.prototype.getSelectedItems = function () {
|
|
2610
|
-
// eslint-disable-next-line
|
|
2611
2604
|
var finalValue;
|
|
2612
2605
|
var isCompleted = false;
|
|
2613
2606
|
this.selectedId = [];
|
|
@@ -2618,7 +2611,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2618
2611
|
isCompleted = true;
|
|
2619
2612
|
}
|
|
2620
2613
|
else if (this.showCheckBox && !isCompleted) {
|
|
2621
|
-
// eslint-disable-next-line
|
|
2622
2614
|
var liCollection = this.curUL.getElementsByClassName(classNames.selected);
|
|
2623
2615
|
var liTextCollection = [];
|
|
2624
2616
|
var liDataCollection = [];
|
|
@@ -2638,9 +2630,7 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2638
2630
|
liDataCollection.push(tempData);
|
|
2639
2631
|
}
|
|
2640
2632
|
if (fieldData) {
|
|
2641
|
-
// eslint-disable-next-line
|
|
2642
2633
|
liTextCollection.push(fieldData[this.listBaseOption.fields.text]);
|
|
2643
|
-
// eslint-disable-next-line
|
|
2644
2634
|
this.selectedId.push(fieldData[this.listBaseOption.fields.id]);
|
|
2645
2635
|
}
|
|
2646
2636
|
else {
|
|
@@ -2682,7 +2672,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2682
2672
|
isCompleted = true;
|
|
2683
2673
|
}
|
|
2684
2674
|
else {
|
|
2685
|
-
// eslint-disable-next-line
|
|
2686
2675
|
this.selectedId.push(fieldData[this.listBaseOption.fields.id]);
|
|
2687
2676
|
finalValue = {
|
|
2688
2677
|
text: fieldData[this.listBaseOption.fields.text], item: liElement,
|
|
@@ -2740,7 +2729,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2740
2729
|
if (li) {
|
|
2741
2730
|
li.classList.add(classNames.disable);
|
|
2742
2731
|
}
|
|
2743
|
-
// eslint-disable-next-line
|
|
2744
2732
|
resultJSON[this.fields.enabled] = false;
|
|
2745
2733
|
}
|
|
2746
2734
|
}
|
|
@@ -2776,7 +2764,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2776
2764
|
li.style.display = display;
|
|
2777
2765
|
}
|
|
2778
2766
|
if (isHide) {
|
|
2779
|
-
// eslint-disable-next-line
|
|
2780
2767
|
resultJSON[this.fields.isVisible] = false;
|
|
2781
2768
|
}
|
|
2782
2769
|
else {
|
|
@@ -2860,7 +2847,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2860
2847
|
return newDataSource;
|
|
2861
2848
|
};
|
|
2862
2849
|
ListView.prototype.addItemInNestedList = function (targetItemData, itemQueue) {
|
|
2863
|
-
// eslint-disable-next-line
|
|
2864
2850
|
var targetItemId = targetItemData[this.fields.id];
|
|
2865
2851
|
var targetChildDS = targetItemData[this.fields.child];
|
|
2866
2852
|
var isAlreadyRenderedUL = this.element.querySelector('[pid=\'' + targetItemId + '\']');
|
|
@@ -2901,7 +2887,6 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2901
2887
|
this.getLiFromObjOrElement(curViewDS[index + 2]) || null;
|
|
2902
2888
|
var li = ListBase.createListItemFromJson(this.createElement, [dataSource], this.listBaseOption, null, null, this);
|
|
2903
2889
|
this.setAttributes(li);
|
|
2904
|
-
// eslint-disable-next-line
|
|
2905
2890
|
if (this.template && this.isReact) {
|
|
2906
2891
|
this.renderReactTemplates();
|
|
2907
2892
|
}
|
|
@@ -2934,11 +2919,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2934
2919
|
var curViewDS = this.curViewDS;
|
|
2935
2920
|
var fields = obj instanceof Element ? this.getElementUID(obj) : obj;
|
|
2936
2921
|
var dataSource;
|
|
2937
|
-
// eslint-disable-next-line prefer-const
|
|
2938
2922
|
dataSource = this.findItemFromDS(listDataSource, fields, true);
|
|
2939
2923
|
if (dataSource) {
|
|
2940
2924
|
var data_1;
|
|
2941
|
-
// eslint-disable-next-line prefer-const
|
|
2942
2925
|
data_1 = this.findItemFromDS(dataSource, fields);
|
|
2943
2926
|
var index = curViewDS.indexOf(data_1);
|
|
2944
2927
|
var li = this.getLiFromObjOrElement(obj);
|
|
@@ -2959,11 +2942,8 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
2959
2942
|
if (groupLi) {
|
|
2960
2943
|
detach(groupLi);
|
|
2961
2944
|
}
|
|
2962
|
-
// eslint-disable-next-line
|
|
2963
2945
|
var foundData = (dataSource.length - 1) <= 0
|
|
2964
|
-
? this.findParent(this.localData, this.fields.id,
|
|
2965
|
-
// eslint-disable-next-line
|
|
2966
|
-
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;
|
|
2967
2947
|
var dsIndex = dataSource.indexOf(data_1);
|
|
2968
2948
|
dataSource.splice(dsIndex, 1);
|
|
2969
2949
|
this.setViewDataSource(listDataSource);
|
|
@@ -3006,16 +2986,13 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
3006
2986
|
}
|
|
3007
2987
|
}
|
|
3008
2988
|
};
|
|
3009
|
-
// eslint-disable-next-line
|
|
3010
2989
|
ListView.prototype.findParent = function (dataSource, id, callback, parent) {
|
|
3011
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
3012
2990
|
if (dataSource.hasOwnProperty(id) && callback(dataSource[id]) === true) {
|
|
3013
2991
|
return extend({}, dataSource);
|
|
3014
2992
|
}
|
|
3015
2993
|
for (var i = 0; i < Object.keys(dataSource).length; i++) {
|
|
3016
2994
|
if (dataSource[Object.keys(dataSource)[i]]
|
|
3017
2995
|
&& typeof dataSource[Object.keys(dataSource)[i]] === 'object') {
|
|
3018
|
-
// eslint-disable-next-line
|
|
3019
2996
|
var result = this.findParent(dataSource[Object.keys(dataSource)[i]], id, callback, dataSource);
|
|
3020
2997
|
if (result != null) {
|
|
3021
2998
|
if (!result.parent) {
|
|
@@ -3038,6 +3015,21 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
3038
3015
|
}
|
|
3039
3016
|
return modules;
|
|
3040
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
|
+
};
|
|
3041
3033
|
/**
|
|
3042
3034
|
* Get the properties to be maintained in the persisted state.
|
|
3043
3035
|
*/
|
|
@@ -3118,6 +3110,9 @@ var ListView = /** @__PURE__ @class */ (function (_super) {
|
|
|
3118
3110
|
__decorate([
|
|
3119
3111
|
Event()
|
|
3120
3112
|
], ListView.prototype, "actionFailure", void 0);
|
|
3113
|
+
__decorate([
|
|
3114
|
+
Event()
|
|
3115
|
+
], ListView.prototype, "scroll", void 0);
|
|
3121
3116
|
ListView = __decorate([
|
|
3122
3117
|
NotifyPropertyChanges
|
|
3123
3118
|
], ListView);
|
|
@@ -3153,10 +3148,6 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3153
3148
|
* @private
|
|
3154
3149
|
*/
|
|
3155
3150
|
Virtualization.prototype.uiVirtualization = function () {
|
|
3156
|
-
this.commonTemplate = '<div class="e-text-content" role="presentation"> ' +
|
|
3157
|
-
'<span class="e-list-text"> ${' + this.listViewInstance.fields.text + '} </span></div>';
|
|
3158
|
-
this.templateFunction = compile(this.listViewInstance.template || this.commonTemplate, this.listViewInstance);
|
|
3159
|
-
this.groupTemplateFunction = compile(this.listViewInstance.groupTemplate || this.commonTemplate, this.listViewInstance);
|
|
3160
3151
|
this.wireScrollEvent(false);
|
|
3161
3152
|
var curViewDS = this.listViewInstance.curViewDS;
|
|
3162
3153
|
var firstDs = curViewDS.slice(0, 1);
|
|
@@ -3289,6 +3280,9 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3289
3280
|
Virtualization.prototype.onVirtualUiScroll = function (e) {
|
|
3290
3281
|
var _a;
|
|
3291
3282
|
var startingHeight;
|
|
3283
|
+
var curViewDS = this.listViewInstance.curViewDS;
|
|
3284
|
+
this.listItemHeight = select('.e-list-item', this.listViewInstance.element).getBoundingClientRect().height;
|
|
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 -
|
|
3294
3288
|
document.documentElement.getBoundingClientRect().top;
|
|
@@ -3404,7 +3398,13 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3404
3398
|
if (!element.querySelector('.' + classNames.checkboxWrapper)) {
|
|
3405
3399
|
element.classList.add(classNames.checklist);
|
|
3406
3400
|
textContent.classList.add(classNames.checkbox);
|
|
3407
|
-
|
|
3401
|
+
if (this.listViewInstance.checkBoxPosition === 'Left') {
|
|
3402
|
+
textContent.classList.add('e-checkbox-left');
|
|
3403
|
+
}
|
|
3404
|
+
else {
|
|
3405
|
+
textContent.classList.add('e-checkbox-right');
|
|
3406
|
+
}
|
|
3407
|
+
textContent.append(this.checkListWrapper.cloneNode(true));
|
|
3408
3408
|
}
|
|
3409
3409
|
}
|
|
3410
3410
|
}
|
|
@@ -3648,7 +3648,6 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3648
3648
|
var curViewDS = this.listViewInstance.curViewDS;
|
|
3649
3649
|
// eslint-disable-next-line
|
|
3650
3650
|
var resutJSON = this.findDSAndIndexFromId(curViewDS, obj);
|
|
3651
|
-
// eslint-disable-next-line
|
|
3652
3651
|
if (Object.keys(resutJSON).length) {
|
|
3653
3652
|
dataSource = resutJSON.data;
|
|
3654
3653
|
if (curViewDS[resutJSON.index - 1] &&
|
|
@@ -3912,191 +3911,49 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
3912
3911
|
this.refreshItemHeight();
|
|
3913
3912
|
};
|
|
3914
3913
|
Virtualization.prototype.createUIItem = function (args) {
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
}
|
|
3931
|
-
[].slice.call(nodes).forEach(function (ele) {
|
|
3932
|
-
div_1.appendChild(ele);
|
|
3933
|
-
});
|
|
3934
|
-
if (div_1.children && div_1.children[0]) {
|
|
3935
|
-
div_1.children[0].classList.add('e-checkbox');
|
|
3936
|
-
if (this.listViewInstance.checkBoxPosition === 'Left') {
|
|
3937
|
-
div_1.children[0].classList.add('e-checkbox-left');
|
|
3938
|
-
}
|
|
3939
|
-
else {
|
|
3940
|
-
div_1.children[0].classList.add('e-checkbox-right');
|
|
3941
|
-
}
|
|
3942
|
-
if (this.listViewInstance.checkBoxPosition === 'Left') {
|
|
3943
|
-
div_1.children[0].insertBefore(this.listViewInstance.virtualCheckBox, div_1.childNodes[0].children[0]);
|
|
3944
|
-
}
|
|
3945
|
-
else {
|
|
3946
|
-
div_1.children[0].appendChild(this.listViewInstance.virtualCheckBox);
|
|
3914
|
+
if (!args.item.classList.contains('e-list-group-item')) {
|
|
3915
|
+
this.templateData = args.curData.isHeader ? args.curData.items[0] :
|
|
3916
|
+
args.curData;
|
|
3917
|
+
if (this.listViewInstance.showCheckBox) {
|
|
3918
|
+
// eslint-disable-next-line
|
|
3919
|
+
this.listViewInstance.renderCheckbox(args);
|
|
3920
|
+
if ((!isNullOrUndefined(this.listViewInstance.virtualCheckBox)) &&
|
|
3921
|
+
(!isNullOrUndefined(this.listViewInstance.virtualCheckBox.outerHTML))) {
|
|
3922
|
+
var div_1 = document.createElement('div');
|
|
3923
|
+
var commonTemplate = '<div class="e-text-content" role="presentation"> ' +
|
|
3924
|
+
'<span class="e-list-text"> ${' + this.listViewInstance.fields.text + '} </span></div>';
|
|
3925
|
+
var templateFunction = compile(this.listViewInstance.template || commonTemplate, this.listViewInstance);
|
|
3926
|
+
var nodes = templateFunction(this.templateData, this.listViewInstance);
|
|
3927
|
+
if (this.listViewInstance.template && this.listViewInstance.isReact) {
|
|
3928
|
+
this.listViewInstance.renderReactTemplates();
|
|
3947
3929
|
}
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
|
|
3958
|
-
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
}
|
|
3972
|
-
if (args.curData.isHeader) {
|
|
3973
|
-
this.headerData = args.curData;
|
|
3974
|
-
}
|
|
3975
|
-
var groupTemplate = this.listViewInstance.createElement('div');
|
|
3976
|
-
if (this.listViewInstance.fields.groupBy) {
|
|
3977
|
-
var nodes = this.groupTemplateFunction(this.headerData, this.listViewInstance);
|
|
3978
|
-
if (this.listViewInstance.template && this.listViewInstance.isReact) {
|
|
3979
|
-
this.listViewInstance.renderReactTemplates();
|
|
3980
|
-
}
|
|
3981
|
-
[].slice.call(nodes).forEach(function (ele) {
|
|
3982
|
-
groupTemplate.appendChild(ele);
|
|
3983
|
-
});
|
|
3984
|
-
}
|
|
3985
|
-
if ((!this.listViewInstance.isReact || (typeof this.listViewInstance.template == "string" && !args.item.classList.contains("e-list-group-item")) ||
|
|
3986
|
-
(typeof this.listViewInstance.groupTemplate == "string" && args.item.classList.contains("e-list-group-item"))) && !this.listViewInstance.isVue) {
|
|
3987
|
-
args.item.innerHTML = '';
|
|
3988
|
-
}
|
|
3989
|
-
args.item.context = { data: args.curData, nodes: { flatTemplateNodes: [], groupTemplateNodes: [] } };
|
|
3990
|
-
for (var i = 0; i < template.children.length; i++) {
|
|
3991
|
-
this.compileTemplate(template.children[i], args.item, false);
|
|
3992
|
-
}
|
|
3993
|
-
for (var i = 0; i < groupTemplate.children.length; i++) {
|
|
3994
|
-
this.compileTemplate(groupTemplate.children[i], args.item, true);
|
|
3995
|
-
}
|
|
3996
|
-
args.item.context.template = args.curData.isHeader ? template.firstElementChild :
|
|
3997
|
-
groupTemplate.firstElementChild;
|
|
3998
|
-
args.item.context.type = args.curData.isHeader ? 'flatList' : 'groupList';
|
|
3999
|
-
var element = args.curData.isHeader ? groupTemplate : template;
|
|
4000
|
-
if (element.firstElementChild && !this.listViewInstance.isReact && !this.listViewInstance.isVue) {
|
|
4001
|
-
args.item.insertBefore(element.firstElementChild, null);
|
|
4002
|
-
}
|
|
4003
|
-
};
|
|
4004
|
-
Virtualization.prototype.compileTemplate = function (element, item, isHeader) {
|
|
4005
|
-
var _this = this;
|
|
4006
|
-
var subNode = {};
|
|
4007
|
-
subNode.onChange = function (value) {
|
|
4008
|
-
var groupTemplateElements;
|
|
4009
|
-
var templateElements;
|
|
4010
|
-
if (_this.listViewInstance.isVue) {
|
|
4011
|
-
groupTemplateElements = _this.groupTemplateFunction(value);
|
|
4012
|
-
templateElements = _this.templateFunction(value);
|
|
4013
|
-
}
|
|
4014
|
-
else {
|
|
4015
|
-
groupTemplateElements = _this.groupTemplateFunction(value, _this.listViewInstance);
|
|
4016
|
-
templateElements = _this.templateFunction(value, _this.listViewInstance);
|
|
4017
|
-
}
|
|
4018
|
-
if (_this.listViewInstance.template && _this.listViewInstance.isReact) {
|
|
4019
|
-
_this.listViewInstance.renderReactTemplates();
|
|
4020
|
-
}
|
|
4021
|
-
var currentTemplate = templateElements;
|
|
4022
|
-
if (value.isHeader) {
|
|
4023
|
-
currentTemplate = groupTemplateElements;
|
|
4024
|
-
}
|
|
4025
|
-
[].slice.call(currentTemplate).forEach(function (currentElement) {
|
|
4026
|
-
var RemovableClass = element.classList.value.replace('e-checkbox', '');
|
|
4027
|
-
RemovableClass = RemovableClass.replace('e-checkbox-left', '');
|
|
4028
|
-
RemovableClass = RemovableClass.replace('e-checkbox-right', '');
|
|
4029
|
-
removeClass([element], RemovableClass.split(' ').filter(function (css) { return css; }));
|
|
4030
|
-
addClass([element], Array.from(currentElement.classList));
|
|
4031
|
-
for (var i = 0; i < element.attributes.length; i++) {
|
|
4032
|
-
if (element.attributes[i].name != 'class') {
|
|
4033
|
-
var newData = currentElement.getAttribute(element.attributes[i].name);
|
|
4034
|
-
element.setAttribute(element.attributes[i].name, newData);
|
|
3930
|
+
[].slice.call(nodes).forEach(function (ele) {
|
|
3931
|
+
div_1.appendChild(ele);
|
|
3932
|
+
});
|
|
3933
|
+
if (div_1.children && div_1.children[0]) {
|
|
3934
|
+
div_1.children[0].classList.add('e-checkbox');
|
|
3935
|
+
if (this.listViewInstance.checkBoxPosition === 'Left') {
|
|
3936
|
+
div_1.children[0].classList.add('e-checkbox-left');
|
|
3937
|
+
}
|
|
3938
|
+
else {
|
|
3939
|
+
div_1.children[0].classList.add('e-checkbox-right');
|
|
3940
|
+
}
|
|
3941
|
+
if (this.listViewInstance.checkBoxPosition === 'Left') {
|
|
3942
|
+
div_1.children[0].insertBefore(this.listViewInstance.virtualCheckBox, div_1.childNodes[0].children[0]);
|
|
3943
|
+
}
|
|
3944
|
+
else {
|
|
3945
|
+
div_1.children[0].appendChild(this.listViewInstance.virtualCheckBox);
|
|
3946
|
+
}
|
|
3947
|
+
while (args.item.lastChild) {
|
|
3948
|
+
args.item.removeChild(args.item.lastChild);
|
|
3949
|
+
}
|
|
3950
|
+
[].slice.call(div_1.children).forEach(function (ele) {
|
|
3951
|
+
args.item.appendChild(ele);
|
|
3952
|
+
});
|
|
4035
3953
|
}
|
|
4036
3954
|
}
|
|
4037
|
-
[].slice.call(element.children).forEach(function (ele) {
|
|
4038
|
-
if (!ele.classList.contains('e-listview-checkbox') && !(ele.classList.contains('e-checkbox-left') || ele.classList.contains('e-checkbox-right'))) {
|
|
4039
|
-
ele.remove();
|
|
4040
|
-
}
|
|
4041
|
-
});
|
|
4042
|
-
[].slice.call(currentElement.children).forEach(function (ele) {
|
|
4043
|
-
element.appendChild(ele);
|
|
4044
|
-
});
|
|
4045
|
-
});
|
|
4046
|
-
};
|
|
4047
|
-
this.updateContextData(item, subNode, isHeader);
|
|
4048
|
-
};
|
|
4049
|
-
Virtualization.prototype.onChange = function (newData, listElement) {
|
|
4050
|
-
listElement.context.data = newData;
|
|
4051
|
-
// eslint-disable-next-line max-len
|
|
4052
|
-
var groupTemplateNodes = listElement.context.nodes.groupTemplateNodes;
|
|
4053
|
-
// eslint-disable-next-line max-len
|
|
4054
|
-
var flatTemplateNodes = listElement.context.nodes.flatTemplateNodes;
|
|
4055
|
-
// eslint-disable-next-line
|
|
4056
|
-
if (!isNullOrUndefined(newData.isHeader) && newData.isHeader && listElement.context.type === 'groupList') {
|
|
4057
|
-
// eslint-disable-next-line
|
|
4058
|
-
var element = listElement.firstElementChild;
|
|
4059
|
-
detach(listElement.firstElementChild);
|
|
4060
|
-
listElement.insertBefore(listElement.context.template, null);
|
|
4061
|
-
listElement.context.template = element;
|
|
4062
|
-
listElement.context.type = 'flatList';
|
|
4063
|
-
for (var i = 0; i < groupTemplateNodes.length; i++) {
|
|
4064
|
-
// eslint-disable-next-line
|
|
4065
|
-
groupTemplateNodes[i].onChange(newData);
|
|
4066
3955
|
}
|
|
4067
3956
|
}
|
|
4068
|
-
else if (!newData.isHeader && listElement.context.type === 'flatList') {
|
|
4069
|
-
var element = listElement.firstElementChild;
|
|
4070
|
-
detach(listElement.firstElementChild);
|
|
4071
|
-
listElement.insertBefore(listElement.context.template, null);
|
|
4072
|
-
listElement.context.template = element;
|
|
4073
|
-
listElement.context.type = 'groupList';
|
|
4074
|
-
for (var i = 0; i < flatTemplateNodes.length; i++) {
|
|
4075
|
-
// eslint-disable-next-line
|
|
4076
|
-
flatTemplateNodes[i].onChange(newData);
|
|
4077
|
-
}
|
|
4078
|
-
}
|
|
4079
|
-
else if (!newData.isHeader) {
|
|
4080
|
-
for (var i = 0; i < flatTemplateNodes.length; i++) {
|
|
4081
|
-
// eslint-disable-next-line
|
|
4082
|
-
flatTemplateNodes[i].onChange(newData);
|
|
4083
|
-
}
|
|
4084
|
-
}
|
|
4085
|
-
else {
|
|
4086
|
-
for (var i = 0; i < groupTemplateNodes.length; i++) {
|
|
4087
|
-
// eslint-disable-next-line
|
|
4088
|
-
groupTemplateNodes[i].onChange(newData);
|
|
4089
|
-
}
|
|
4090
|
-
}
|
|
4091
|
-
};
|
|
4092
|
-
// eslint-disable-next-line
|
|
4093
|
-
Virtualization.prototype.updateContextData = function (listElement, node, isHeader) {
|
|
4094
|
-
if (isHeader) {
|
|
4095
|
-
listElement.context.nodes.groupTemplateNodes.push(node);
|
|
4096
|
-
}
|
|
4097
|
-
else {
|
|
4098
|
-
listElement.context.nodes.flatTemplateNodes.push(node);
|
|
4099
|
-
}
|
|
4100
3957
|
};
|
|
4101
3958
|
Virtualization.prototype.reRenderUiVirtualization = function () {
|
|
4102
3959
|
this.wireScrollEvent(true);
|
|
@@ -4111,8 +3968,7 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
4111
3968
|
this.listViewInstance.setLocalData();
|
|
4112
3969
|
};
|
|
4113
3970
|
Virtualization.prototype.updateUI = function (element, index, targetElement) {
|
|
4114
|
-
|
|
4115
|
-
var onChange = this.isNgTemplate() ? this.onNgChange : (this.isVueFunctionTemplate()) ? this.onVueChange : this.onChange;
|
|
3971
|
+
var onChange = this.isNgTemplate() ? this.onNgChange : this.onChange;
|
|
4116
3972
|
if (this.listViewInstance.template || this.listViewInstance.groupTemplate) {
|
|
4117
3973
|
var curViewDS = this.listViewInstance.curViewDS[index];
|
|
4118
3974
|
// eslint-disable-next-line
|
|
@@ -4136,18 +3992,22 @@ var Virtualization = /** @__PURE__ @class */ (function () {
|
|
|
4136
3992
|
* @param {ElementContext} listElement - The HTML element context for the list view.
|
|
4137
3993
|
* @param {Virtualization} virtualThis - The virtualization context for the list view.
|
|
4138
3994
|
*/
|
|
4139
|
-
Virtualization.prototype.
|
|
3995
|
+
Virtualization.prototype.onChange = function (newData, listElement, virtualThis) {
|
|
4140
3996
|
var liItem = ListBase.createListItemFromJson(virtualThis.listViewInstance.createElement,
|
|
4141
3997
|
// eslint-disable-next-line
|
|
4142
3998
|
[newData], virtualThis.listViewInstance.listBaseOption, null, null, virtualThis.listViewInstance);
|
|
3999
|
+
if (virtualThis.listViewInstance.isReact) {
|
|
4000
|
+
virtualThis.listViewInstance.renderReactTemplates();
|
|
4001
|
+
}
|
|
4143
4002
|
while (listElement.lastChild) {
|
|
4144
4003
|
listElement.removeChild(listElement.lastChild);
|
|
4145
4004
|
}
|
|
4146
|
-
|
|
4005
|
+
[].slice.call(liItem[0].children).forEach(function (ele) {
|
|
4006
|
+
listElement.appendChild(ele);
|
|
4007
|
+
});
|
|
4147
4008
|
};
|
|
4148
4009
|
Virtualization.prototype.onNgChange = function (newData, listElement, virtualThis) {
|
|
4149
4010
|
// compile given target element with template for new data
|
|
4150
|
-
// eslint-disable-next-line
|
|
4151
4011
|
var templateCompiler = compile(virtualThis.listViewInstance.template);
|
|
4152
4012
|
var resultElement = templateCompiler(newData);
|
|
4153
4013
|
while (listElement.lastChild) {
|