[remote dev] IJPL-209856 Added filtering of components for lux panel inside BE control elements

GitOrigin-RevId: 97b3aa9b8ed87de84933e6507fc0de1c0a97d17b
This commit is contained in:
Denis Zaichenko
2025-11-13 19:27:35 +00:00
committed by intellij-monorepo-bot
parent 02baea5b5c
commit 0597ccee60
2 changed files with 6 additions and 2 deletions
@@ -28,13 +28,15 @@ class XpathDataModelCreator(val onlyVisibleComponents: Boolean = true) {
parentElement: Element,
hierarchy: ComponentHierarchy,
component: Component,
targetComponent: Component? = null
targetComponent: Component? = null,
) {
val element = createElement(doc, component, targetComponent)
parentElement.appendChild(element)
val allChildren = hierarchy.childrenOf(component)
val filteredChildren = allChildren.filter(componentFilter)
val filteredChildren = elementProcessors.fold(allChildren.filter(componentFilter)) { items, processor ->
processor.filterChildItems(component, items, onlyVisibleComponents)
}
val exceptionChildren = if (System.getProperty("os.name").startsWith("mac", true)) {
allChildren.filter {
it.javaClass.name.contains("DialogWrapperPeerImpl")
@@ -13,5 +13,7 @@ interface XpathDataModelExtension {
val isRemDevExtension: Boolean
fun filterChildItems(component: Component, filteredItems: List<Component>, onlyVisibleItems: Boolean): List<Component> = filteredItems
fun postProcessElement(doc: Document, component: Component, element: Element, parentElement: Element)
}