mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 20:11:24 +08:00
Merge pull request #579 from NativeScript/hhristov/builder-fix
Fix builder issue where builder doesn't pop complex properties correc…
This commit is contained in:
@ -481,17 +481,25 @@ export function test_parse_ShouldParseNestedListViewInListViewTemplate() {
|
||||
export function test_parse_NestedRepeaters() {
|
||||
var pageXML =
|
||||
"<Page xmlns='http://www.nativescript.org/tns.xsd'>" +
|
||||
" <Repeater items='{{ $value }}'>" +
|
||||
" <Repeater.itemTemplate>" +
|
||||
" <StackLayout>" +
|
||||
" <Repeater items='{{ $value }}'>" +
|
||||
" <Repeater.itemTemplate>" +
|
||||
" <Label text='{{ $value }}'/>" +
|
||||
" </Repeater.itemTemplate>" +
|
||||
" </Repeater>" +
|
||||
" </StackLayout>" +
|
||||
" </Repeater.itemTemplate>" +
|
||||
" </Repeater>" +
|
||||
" <TabView>" +
|
||||
" <TabView.items>" +
|
||||
" <TabViewItem title='List'>" +
|
||||
" <TabViewItem.view>" +
|
||||
" <Repeater items='{{ $value }}'>" +
|
||||
" <Repeater.itemTemplate>" +
|
||||
" <StackLayout>" +
|
||||
" <Repeater items='{{ $value }}'>" +
|
||||
" <Repeater.itemTemplate>" +
|
||||
" <Label text='{{ $value }}'/>" +
|
||||
" </Repeater.itemTemplate>" +
|
||||
" </Repeater>" +
|
||||
" </StackLayout>" +
|
||||
" </Repeater.itemTemplate>" +
|
||||
" </Repeater>" +
|
||||
" </TabViewItem.view>" +
|
||||
" </TabViewItem>" +
|
||||
" </TabView.items>" +
|
||||
" </TabView>" +
|
||||
"</Page>";
|
||||
var p = <Page>builder.parse(pageXML);
|
||||
|
||||
|
@ -77,14 +77,20 @@ function parseInternal(value: string, context: any): componentBuilder.ComponentM
|
||||
if (templateBuilder) {
|
||||
if (args.eventType === xml.ParserEventType.StartElement) {
|
||||
templateBuilder.addStartElement(args.prefix, args.namespace, args.elementName, args.attributes);
|
||||
return;
|
||||
} else if (args.eventType === xml.ParserEventType.EndElement) {
|
||||
templateBuilder.addEndElement(args.prefix, args.elementName);
|
||||
if (templateBuilder.hasFinished()) {
|
||||
templateBuilder.build();
|
||||
templateBuilder = undefined;
|
||||
}
|
||||
else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the current parent.
|
||||
|
Reference in New Issue
Block a user