@syncfusion/ej2-lists
Advanced tools
Comparing version 23.1.43 to 23.2.4
@@ -5,2 +5,4 @@ # Changelog | ||
## 23.1.43 (2023-10-31) | ||
### ListView | ||
@@ -7,0 +9,0 @@ |
/*! | ||
* filename: index.d.ts | ||
* version : 23.1.43 | ||
* version : 23.2.4 | ||
* Copyright Syncfusion Inc. 2001 - 2023. All rights reserved. | ||
@@ -5,0 +5,0 @@ * Use of this code is subject to the terms of our license. |
{ | ||
"_from": "@syncfusion/ej2-lists@*", | ||
"_id": "@syncfusion/ej2-lists@23.1.42", | ||
"_id": "@syncfusion/ej2-lists@23.1.43", | ||
"_inBundle": false, | ||
"_integrity": "sha512-nZFJBFNTfPXcXNgmiWTzjFhbzstuh0DCafgXcxewrTOPehNusCu3P6oEk+UoPTCzWSXsyKHUaxOP4KkQsCS8CA==", | ||
"_integrity": "sha512-ZxZ2s8B0jIlHbLi8qgl0OTos0aGYcIV7SW8DITGgwBWX6Orh+hxs/AnQ0YiqL7zwFtJe+E5oo2cctD0Fj6yi8Q==", | ||
"_location": "/@syncfusion/ej2-lists", | ||
@@ -38,4 +38,4 @@ "_phantomChildren": {}, | ||
], | ||
"_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-lists/-/ej2-lists-23.1.42.tgz", | ||
"_shasum": "833c31a436d2afa9f6963225d61dddbc7166bb6d", | ||
"_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-lists/-/ej2-lists-23.1.43.tgz", | ||
"_shasum": "597cc14fc40bb16eb42cc9c91a539e19230c8380", | ||
"_spec": "@syncfusion/ej2-lists@*", | ||
@@ -48,5 +48,5 @@ "_where": "/jenkins/workspace/elease-automation_release_23.1.1/packages/included", | ||
"dependencies": { | ||
"@syncfusion/ej2-base": "~23.1.41", | ||
"@syncfusion/ej2-buttons": "~23.1.43", | ||
"@syncfusion/ej2-data": "~23.1.43" | ||
"@syncfusion/ej2-base": "~23.2.4", | ||
"@syncfusion/ej2-buttons": "~23.2.4", | ||
"@syncfusion/ej2-data": "~23.2.4" | ||
}, | ||
@@ -91,5 +91,5 @@ "deprecated": false, | ||
"typings": "index.d.ts", | ||
"version": "23.1.43", | ||
"version": "23.2.4", | ||
"sideEffects": false, | ||
"homepage": "https://www.syncfusion.com/javascript-ui-controls" | ||
} |
@@ -289,3 +289,4 @@ /* eslint-disable no-inner-declarations */ | ||
if (fieldData.hasOwnProperty(fields.tooltip)) { | ||
li.setAttribute('title', fieldData[fields.tooltip]); | ||
var tooltipText = SanitizeHtmlHelper.sanitize(fieldData[fields.tooltip]); | ||
li.setAttribute('title', tooltipText); | ||
} | ||
@@ -292,0 +293,0 @@ // eslint-disable-next-line no-prototype-builtins |
@@ -13,3 +13,2 @@ import { ListView, ItemCreatedArgs, Fields, UISelectedItem } from './list-view'; | ||
private listViewInstance; | ||
private headerData; | ||
private templateData; | ||
@@ -35,5 +34,2 @@ private topElementHeight; | ||
private elementDifference; | ||
private templateFunction; | ||
private groupTemplateFunction; | ||
private commonTemplate; | ||
/** | ||
@@ -85,5 +81,2 @@ * For internal use only. | ||
createUIItem(args: ItemCreatedArgs): void; | ||
private compileTemplate; | ||
private onChange; | ||
private updateContextData; | ||
reRenderUiVirtualization(): void; | ||
@@ -98,3 +91,3 @@ private updateUI; | ||
*/ | ||
private onVueChange; | ||
private onChange; | ||
private onNgChange; | ||
@@ -101,0 +94,0 @@ getModuleName(): string; |
import { classNames } from './list-view'; | ||
import { EventHandler, append, isNullOrUndefined, detach, removeClass, addClass, compile, formatUnit } from '@syncfusion/ej2-base'; | ||
import { EventHandler, append, isNullOrUndefined, detach, compile, formatUnit, select } from '@syncfusion/ej2-base'; | ||
import { ListBase } from '../common/list-base'; | ||
@@ -34,6 +34,2 @@ import { DataManager } from '@syncfusion/ej2-data'; | ||
Virtualization.prototype.uiVirtualization = function () { | ||
this.commonTemplate = '<div class="e-text-content" role="presentation"> ' + | ||
'<span class="e-list-text"> ${' + this.listViewInstance.fields.text + '} </span></div>'; | ||
this.templateFunction = compile(this.listViewInstance.template || this.commonTemplate, this.listViewInstance); | ||
this.groupTemplateFunction = compile(this.listViewInstance.groupTemplate || this.commonTemplate, this.listViewInstance); | ||
this.wireScrollEvent(false); | ||
@@ -171,2 +167,5 @@ var curViewDS = this.listViewInstance.curViewDS; | ||
var startingHeight; | ||
var curViewDS = this.listViewInstance.curViewDS; | ||
this.listItemHeight = select(".e-list-item", this.listViewInstance.element).getBoundingClientRect().height; | ||
this.totalHeight = (Object.keys(curViewDS).length * this.listItemHeight) - (this.domItemCount * this.listItemHeight); | ||
if (this.listViewInstance.isWindow) { | ||
@@ -287,3 +286,9 @@ startingHeight = this.listViewInstance.ulElement.getBoundingClientRect().top - | ||
textContent.classList.add(classNames.checkbox); | ||
textContent.insertBefore(this.checkListWrapper.cloneNode(true), element.querySelector('.' + classNames.listItemText)); | ||
if (this.listViewInstance.checkBoxPosition === 'Left') { | ||
textContent.classList.add('e-checkbox-left'); | ||
} | ||
else { | ||
textContent.classList.add('e-checkbox-right'); | ||
} | ||
textContent.append(this.checkListWrapper.cloneNode(true)); | ||
} | ||
@@ -796,188 +801,46 @@ } | ||
Virtualization.prototype.createUIItem = function (args) { | ||
var template = document.createElement('div'); | ||
this.templateData = args.curData.isHeader ? args.curData.items[0] : | ||
args.curData; | ||
if (this.listViewInstance.isReact) { | ||
this.commonTemplate = null; | ||
} | ||
if (this.listViewInstance.showCheckBox) { | ||
// eslint-disable-next-line | ||
this.listViewInstance.renderCheckbox(args); | ||
if ((!isNullOrUndefined(this.listViewInstance.virtualCheckBox)) && | ||
(!isNullOrUndefined(this.listViewInstance.virtualCheckBox.outerHTML))) { | ||
var div_1 = document.createElement('div'); | ||
var nodes = this.templateFunction(this.templateData, this.listViewInstance); | ||
if (this.listViewInstance.template && this.listViewInstance.isReact) { | ||
this.listViewInstance.renderReactTemplates(); | ||
} | ||
[].slice.call(nodes).forEach(function (ele) { | ||
div_1.appendChild(ele); | ||
}); | ||
if (div_1.children && div_1.children[0]) { | ||
div_1.children[0].classList.add('e-checkbox'); | ||
if (this.listViewInstance.checkBoxPosition === 'Left') { | ||
div_1.children[0].classList.add('e-checkbox-left'); | ||
if (!args.item.classList.contains("e-list-group-item")) { | ||
this.templateData = args.curData.isHeader ? args.curData.items[0] : | ||
args.curData; | ||
if (this.listViewInstance.showCheckBox) { | ||
// eslint-disable-next-line | ||
this.listViewInstance.renderCheckbox(args); | ||
if ((!isNullOrUndefined(this.listViewInstance.virtualCheckBox)) && | ||
(!isNullOrUndefined(this.listViewInstance.virtualCheckBox.outerHTML))) { | ||
var div_1 = document.createElement('div'); | ||
var commonTemplate = '<div class="e-text-content" role="presentation"> ' + | ||
'<span class="e-list-text"> ${' + this.listViewInstance.fields.text + '} </span></div>'; | ||
var templateFunction = compile(this.listViewInstance.template || commonTemplate, this.listViewInstance); | ||
var nodes = templateFunction(this.templateData, this.listViewInstance); | ||
if (this.listViewInstance.template && this.listViewInstance.isReact) { | ||
this.listViewInstance.renderReactTemplates(); | ||
} | ||
else { | ||
div_1.children[0].classList.add('e-checkbox-right'); | ||
[].slice.call(nodes).forEach(function (ele) { | ||
div_1.appendChild(ele); | ||
}); | ||
if (div_1.children && div_1.children[0]) { | ||
div_1.children[0].classList.add('e-checkbox'); | ||
if (this.listViewInstance.checkBoxPosition === 'Left') { | ||
div_1.children[0].classList.add('e-checkbox-left'); | ||
} | ||
else { | ||
div_1.children[0].classList.add('e-checkbox-right'); | ||
} | ||
if (this.listViewInstance.checkBoxPosition === 'Left') { | ||
div_1.children[0].insertBefore(this.listViewInstance.virtualCheckBox, div_1.childNodes[0].children[0]); | ||
} | ||
else { | ||
div_1.children[0].appendChild(this.listViewInstance.virtualCheckBox); | ||
} | ||
while (args.item.lastChild) { | ||
args.item.removeChild(args.item.lastChild); | ||
} | ||
[].slice.call(div_1.children).forEach(function (ele) { | ||
args.item.appendChild(ele); | ||
}); | ||
} | ||
if (this.listViewInstance.checkBoxPosition === 'Left') { | ||
div_1.children[0].insertBefore(this.listViewInstance.virtualCheckBox, div_1.childNodes[0].children[0]); | ||
} | ||
else { | ||
div_1.children[0].appendChild(this.listViewInstance.virtualCheckBox); | ||
} | ||
template.innerHTML = div_1.innerHTML; | ||
} | ||
} | ||
else { | ||
var div_2 = document.createElement('div'); | ||
var nodes = this.templateFunction(this.templateData, this.listViewInstance); | ||
if (this.listViewInstance.template && this.listViewInstance.isReact) { | ||
this.listViewInstance.renderReactTemplates(); | ||
} | ||
[].slice.call(nodes).forEach(function (ele) { | ||
div_2.appendChild(ele); | ||
}); | ||
template.innerHTML = div_2.innerHTML; | ||
} | ||
} | ||
else { | ||
var nodes = this.templateFunction(this.templateData, this.listViewInstance); | ||
if (this.listViewInstance.template && this.listViewInstance.isReact) { | ||
this.listViewInstance.renderReactTemplates(); | ||
} | ||
[].slice.call(nodes).forEach(function (ele) { | ||
template.appendChild(ele); | ||
}); | ||
} | ||
if (args.curData.isHeader) { | ||
this.headerData = args.curData; | ||
} | ||
var groupTemplate = this.listViewInstance.createElement('div'); | ||
if (this.listViewInstance.fields.groupBy) { | ||
var nodes = this.groupTemplateFunction(this.headerData, this.listViewInstance); | ||
if (this.listViewInstance.template && this.listViewInstance.isReact) { | ||
this.listViewInstance.renderReactTemplates(); | ||
} | ||
[].slice.call(nodes).forEach(function (ele) { | ||
groupTemplate.appendChild(ele); | ||
}); | ||
} | ||
if ((!this.listViewInstance.isReact || (typeof this.listViewInstance.template == "string" && !args.item.classList.contains("e-list-group-item")) || | ||
(typeof this.listViewInstance.groupTemplate == "string" && args.item.classList.contains("e-list-group-item"))) && !this.listViewInstance.isVue) { | ||
args.item.innerHTML = ''; | ||
} | ||
args.item.context = { data: args.curData, nodes: { flatTemplateNodes: [], groupTemplateNodes: [] } }; | ||
for (var i = 0; i < template.children.length; i++) { | ||
this.compileTemplate(template.children[i], args.item, false); | ||
} | ||
for (var i = 0; i < groupTemplate.children.length; i++) { | ||
this.compileTemplate(groupTemplate.children[i], args.item, true); | ||
} | ||
args.item.context.template = args.curData.isHeader ? template.firstElementChild : | ||
groupTemplate.firstElementChild; | ||
args.item.context.type = args.curData.isHeader ? 'flatList' : 'groupList'; | ||
var element = args.curData.isHeader ? groupTemplate : template; | ||
if (element.firstElementChild && !this.listViewInstance.isReact && !this.listViewInstance.isVue) { | ||
args.item.insertBefore(element.firstElementChild, null); | ||
} | ||
}; | ||
Virtualization.prototype.compileTemplate = function (element, item, isHeader) { | ||
var _this = this; | ||
var subNode = {}; | ||
subNode.onChange = function (value) { | ||
var groupTemplateElements; | ||
var templateElements; | ||
if (_this.listViewInstance.isVue) { | ||
groupTemplateElements = _this.groupTemplateFunction(value); | ||
templateElements = _this.templateFunction(value); | ||
} | ||
else { | ||
groupTemplateElements = _this.groupTemplateFunction(value, _this.listViewInstance); | ||
templateElements = _this.templateFunction(value, _this.listViewInstance); | ||
} | ||
if (_this.listViewInstance.template && _this.listViewInstance.isReact) { | ||
_this.listViewInstance.renderReactTemplates(); | ||
} | ||
var currentTemplate = templateElements; | ||
if (value.isHeader) { | ||
currentTemplate = groupTemplateElements; | ||
} | ||
[].slice.call(currentTemplate).forEach(function (currentElement) { | ||
var RemovableClass = element.classList.value.replace('e-checkbox', ''); | ||
RemovableClass = RemovableClass.replace('e-checkbox-left', ''); | ||
RemovableClass = RemovableClass.replace('e-checkbox-right', ''); | ||
removeClass([element], RemovableClass.split(' ').filter(function (css) { return css; })); | ||
addClass([element], Array.from(currentElement.classList)); | ||
for (var i = 0; i < element.attributes.length; i++) { | ||
if (element.attributes[i].name != 'class') { | ||
var newData = currentElement.getAttribute(element.attributes[i].name); | ||
element.setAttribute(element.attributes[i].name, newData); | ||
} | ||
} | ||
[].slice.call(element.children).forEach(function (ele) { | ||
if (!ele.classList.contains('e-listview-checkbox') && !(ele.classList.contains('e-checkbox-left') || ele.classList.contains('e-checkbox-right'))) { | ||
ele.remove(); | ||
} | ||
}); | ||
[].slice.call(currentElement.children).forEach(function (ele) { | ||
element.appendChild(ele); | ||
}); | ||
}); | ||
}; | ||
this.updateContextData(item, subNode, isHeader); | ||
}; | ||
Virtualization.prototype.onChange = function (newData, listElement) { | ||
listElement.context.data = newData; | ||
// eslint-disable-next-line max-len | ||
var groupTemplateNodes = listElement.context.nodes.groupTemplateNodes; | ||
// eslint-disable-next-line max-len | ||
var flatTemplateNodes = listElement.context.nodes.flatTemplateNodes; | ||
// eslint-disable-next-line | ||
if (!isNullOrUndefined(newData.isHeader) && newData.isHeader && listElement.context.type === 'groupList') { | ||
// eslint-disable-next-line | ||
var element = listElement.firstElementChild; | ||
detach(listElement.firstElementChild); | ||
listElement.insertBefore(listElement.context.template, null); | ||
listElement.context.template = element; | ||
listElement.context.type = 'flatList'; | ||
for (var i = 0; i < groupTemplateNodes.length; i++) { | ||
// eslint-disable-next-line | ||
groupTemplateNodes[i].onChange(newData); | ||
} | ||
} | ||
else if (!newData.isHeader && listElement.context.type === 'flatList') { | ||
var element = listElement.firstElementChild; | ||
detach(listElement.firstElementChild); | ||
listElement.insertBefore(listElement.context.template, null); | ||
listElement.context.template = element; | ||
listElement.context.type = 'groupList'; | ||
for (var i = 0; i < flatTemplateNodes.length; i++) { | ||
// eslint-disable-next-line | ||
flatTemplateNodes[i].onChange(newData); | ||
} | ||
} | ||
else if (!newData.isHeader) { | ||
for (var i = 0; i < flatTemplateNodes.length; i++) { | ||
// eslint-disable-next-line | ||
flatTemplateNodes[i].onChange(newData); | ||
} | ||
} | ||
else { | ||
for (var i = 0; i < groupTemplateNodes.length; i++) { | ||
// eslint-disable-next-line | ||
groupTemplateNodes[i].onChange(newData); | ||
} | ||
} | ||
}; | ||
// eslint-disable-next-line | ||
Virtualization.prototype.updateContextData = function (listElement, node, isHeader) { | ||
if (isHeader) { | ||
listElement.context.nodes.groupTemplateNodes.push(node); | ||
} | ||
else { | ||
listElement.context.nodes.flatTemplateNodes.push(node); | ||
} | ||
}; | ||
Virtualization.prototype.reRenderUiVirtualization = function () { | ||
@@ -997,3 +860,3 @@ this.wireScrollEvent(true); | ||
// eslint-disable-next-line @typescript-eslint/ban-types | ||
var onChange = this.isNgTemplate() ? this.onNgChange : (this.isVueFunctionTemplate()) ? this.onVueChange : this.onChange; | ||
var onChange = this.isNgTemplate() ? this.onNgChange : this.onChange; | ||
if (this.listViewInstance.template || this.listViewInstance.groupTemplate) { | ||
@@ -1022,10 +885,15 @@ var curViewDS = this.listViewInstance.curViewDS[index]; | ||
*/ | ||
Virtualization.prototype.onVueChange = function (newData, listElement, virtualThis) { | ||
Virtualization.prototype.onChange = function (newData, listElement, virtualThis) { | ||
var liItem = ListBase.createListItemFromJson(virtualThis.listViewInstance.createElement, | ||
// eslint-disable-next-line | ||
[newData], virtualThis.listViewInstance.listBaseOption, null, null, virtualThis.listViewInstance); | ||
if (virtualThis.listViewInstance.isReact) { | ||
virtualThis.listViewInstance.renderReactTemplates(); | ||
} | ||
while (listElement.lastChild) { | ||
listElement.removeChild(listElement.lastChild); | ||
} | ||
listElement.appendChild(liItem[0].firstChild); | ||
[].slice.call(liItem[0].children).forEach(function (ele) { | ||
listElement.appendChild(ele); | ||
}); | ||
}; | ||
@@ -1032,0 +900,0 @@ Virtualization.prototype.onNgChange = function (newData, listElement, virtualThis) { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2898339
32460
+ Added@syncfusion/ej2-base@23.2.6(transitive)
+ Added@syncfusion/ej2-buttons@23.2.7(transitive)
+ Added@syncfusion/ej2-data@23.2.4(transitive)
+ Added@syncfusion/ej2-icons@23.2.4(transitive)
- Removed@syncfusion/ej2-base@23.1.43(transitive)
- Removed@syncfusion/ej2-buttons@23.1.43(transitive)
- Removed@syncfusion/ej2-data@23.1.44(transitive)
- Removed@syncfusion/ej2-icons@23.1.36(transitive)
Updated@syncfusion/ej2-base@~23.2.4
Updated@syncfusion/ej2-data@~23.2.4