fix(projection): allow more bound render elements than app elements.

Fixes #3236
Closes #3247
This commit is contained in:
Tobias Bosch
2015-07-23 14:27:49 -07:00
parent b44b06c2c9
commit 46502e4d61
6 changed files with 36 additions and 10 deletions

View File

@ -37,8 +37,8 @@ export class AppProtoViewMergeMapping {
this.renderProtoViewRef = renderProtoViewMergeMapping.mergedProtoViewRef;
this.renderFragmentCount = renderProtoViewMergeMapping.fragmentCount;
this.renderElementIndices = renderProtoViewMergeMapping.mappedElementIndices;
this.renderInverseElementIndices =
inverseIndexMapping(this.renderElementIndices, this.renderElementIndices.length);
this.renderInverseElementIndices = inverseIndexMapping(
this.renderElementIndices, renderProtoViewMergeMapping.mappedElementCount);
this.renderTextIndices = renderProtoViewMergeMapping.mappedTextIndices;
this.hostElementIndicesByViewIndex = renderProtoViewMergeMapping.hostElementIndicesByViewIndex;
this.nestedViewIndicesByElementIndex =
@ -48,7 +48,7 @@ export class AppProtoViewMergeMapping {
}
function inverseIndexMapping(input: number[], resultLength: number): number[] {
var result = ListWrapper.createFixedSize(resultLength);
var result = ListWrapper.createGrowableSize(resultLength);
for (var i = 0; i < input.length; i++) {
var value = input[i];
if (isPresent(value)) {