Fix InitializeDefaultChild not using AddNewContainerToParent and ignoring subchildren

This commit is contained in:
Siklos 2022-09-15 09:33:42 +02:00
parent 012c826461
commit 0d557624f7

View file

@ -264,36 +264,22 @@ function InitializeDefaultChild(
return; return;
} }
let currentConfig = configuration.AvailableContainers const currentConfig = configuration.AvailableContainers
.find(option => option.Type === containerConfig.DefaultChildType); .find(option => option.Type === containerConfig.DefaultChildType);
let parent = newContainer; const parent = newContainer;
let depth = 0;
const seen = new Set<string>([containerConfig.Type]);
while (currentConfig !== undefined && if (currentConfig === undefined) {
depth <= DEFAULTCHILDTYPE_MAX_DEPTH return;
) {
if (!DEFAULTCHILDTYPE_ALLOW_CYCLIC && seen.has(currentConfig.Type)) {
return;
}
seen.add(currentConfig.Type);
const newChildContainer = AddNewContainerToParent(
currentConfig,
configuration,
parent,
0, 0,
newCounters,
symbols
);
// iterate
depth++;
parent = newChildContainer;
currentConfig = configuration.AvailableContainers
.find(option => option.Type === (currentConfig as IAvailableContainer).DefaultChildType);
} }
AddNewContainerToParent(
currentConfig,
configuration,
parent,
0, 0,
newCounters,
symbols
);
} }
function InitializeChildrenWithPattern( function InitializeChildrenWithPattern(