From 9880ec14813edd2d9e44c6654f43f1e2839ce10a Mon Sep 17 00:00:00 2001 From: Aliullov Vlad Date: Mon, 16 Sep 2024 17:26:28 +0400 Subject: [PATCH] Fix T1247485 - Scheduler - "Cannot read properties of null (reading 'nextSibling')" error occurs if dateCellTemplate has more than one root element + WIP --- packages/devextreme-vue/src/core/templates-manager.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/devextreme-vue/src/core/templates-manager.ts b/packages/devextreme-vue/src/core/templates-manager.ts index 84717f9ca5b5..2f3b84ccf3b3 100644 --- a/packages/devextreme-vue/src/core/templates-manager.ts +++ b/packages/devextreme-vue/src/core/templates-manager.ts @@ -79,20 +79,25 @@ class TemplatesManager { const element = mountedTemplate.$el as HTMLElement; container.removeChild(placeholder); + + let hasOnlyText = true; + while (placeholder.firstChild) { + hasOnlyText = hasOnlyText && placeholder.firstChild.nodeType !== 1; container.appendChild(placeholder.firstChild); } + domAdapter.setClass(element, DX_TEMPLATE_WRAPPER_CLASS, true); - if (element.nodeType === Node.TEXT_NODE) { + if (hasOnlyText) { const removalListener = document.createElement(container.nodeName === 'TABLE' ? 'tbody' : 'span'); removalListener.style.display = 'none'; - /* container.appendChild(removalListener); + container.appendChild(removalListener); one( removalListener, DX_REMOVE_EVENT, mountedTemplate.$.appContext.app.unmount.bind(mountedTemplate), - );*/ + ); } else { one( element,