Skip to content

Commit 00739ae

Browse files
committed
Fix child meta selection when a filter is applied
1 parent 40a51b4 commit 00739ae

1 file changed

Lines changed: 16 additions & 12 deletions

File tree

addon/metadata-retrieve.js

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -418,28 +418,32 @@ class App extends React.Component {
418418
let {model} = this.props;
419419
if (model.metadataObjects) {
420420
model.metadataFilter = e.target.value.toLowerCase();
421-
model.metadataObjects = model.metadataObjects.map(metadataObject => {
422-
let hidden = !metadataObject.xmlName.toLowerCase().includes(model.metadataFilter);
421+
422+
model.metadataObjects.forEach(metadataObject => {
423+
metadataObject.hidden = !metadataObject.xmlName.toLowerCase().includes(model.metadataFilter);
423424

424425
if (metadataObject.childXmlNames) {
425426
// Check if any child matches the filter
426427
const anyChildMatches = metadataObject.childXmlNames.some(child =>
427428
child.fullName.toLowerCase().includes(model.metadataFilter)
428429
);
430+
429431
// If any child matches, the parent should be visible
430432
if (anyChildMatches) {
431-
hidden = false;
433+
metadataObject.hidden = false;
432434
}
433-
// Update child visibility
434-
metadataObject.childXmlNames = metadataObject.childXmlNames.map(child => ({
435-
...child,
436-
hidden: !child.fullName.toLowerCase().includes(model.metadataFilter)
437-
}));
435+
436+
// Update child visibility while maintaining references
437+
metadataObject.childXmlNames.forEach(child => {
438+
child.hidden = !child.fullName.toLowerCase().includes(model.metadataFilter);
439+
440+
if (child.childXmlNames) {
441+
child.childXmlNames.forEach(grandchild => {
442+
grandchild.hidden = !grandchild.fullName.toLowerCase().includes(model.metadataFilter);
443+
});
444+
}
445+
});
438446
}
439-
return {
440-
...metadataObject,
441-
hidden
442-
};
443447
});
444448
model.didUpdate();
445449
}

0 commit comments

Comments
 (0)