mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-17 04:41:36 +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() {
|
export function test_parse_NestedRepeaters() {
|
||||||
var pageXML =
|
var pageXML =
|
||||||
"<Page xmlns='http://www.nativescript.org/tns.xsd'>" +
|
"<Page xmlns='http://www.nativescript.org/tns.xsd'>" +
|
||||||
" <Repeater items='{{ $value }}'>" +
|
" <TabView>" +
|
||||||
" <Repeater.itemTemplate>" +
|
" <TabView.items>" +
|
||||||
" <StackLayout>" +
|
" <TabViewItem title='List'>" +
|
||||||
" <Repeater items='{{ $value }}'>" +
|
" <TabViewItem.view>" +
|
||||||
" <Repeater.itemTemplate>" +
|
" <Repeater items='{{ $value }}'>" +
|
||||||
" <Label text='{{ $value }}'/>" +
|
" <Repeater.itemTemplate>" +
|
||||||
" </Repeater.itemTemplate>" +
|
" <StackLayout>" +
|
||||||
" </Repeater>" +
|
" <Repeater items='{{ $value }}'>" +
|
||||||
" </StackLayout>" +
|
" <Repeater.itemTemplate>" +
|
||||||
" </Repeater.itemTemplate>" +
|
" <Label text='{{ $value }}'/>" +
|
||||||
" </Repeater>" +
|
" </Repeater.itemTemplate>" +
|
||||||
|
" </Repeater>" +
|
||||||
|
" </StackLayout>" +
|
||||||
|
" </Repeater.itemTemplate>" +
|
||||||
|
" </Repeater>" +
|
||||||
|
" </TabViewItem.view>" +
|
||||||
|
" </TabViewItem>" +
|
||||||
|
" </TabView.items>" +
|
||||||
|
" </TabView>" +
|
||||||
"</Page>";
|
"</Page>";
|
||||||
var p = <Page>builder.parse(pageXML);
|
var p = <Page>builder.parse(pageXML);
|
||||||
|
|
||||||
|
@ -77,14 +77,20 @@ function parseInternal(value: string, context: any): componentBuilder.ComponentM
|
|||||||
if (templateBuilder) {
|
if (templateBuilder) {
|
||||||
if (args.eventType === xml.ParserEventType.StartElement) {
|
if (args.eventType === xml.ParserEventType.StartElement) {
|
||||||
templateBuilder.addStartElement(args.prefix, args.namespace, args.elementName, args.attributes);
|
templateBuilder.addStartElement(args.prefix, args.namespace, args.elementName, args.attributes);
|
||||||
|
return;
|
||||||
} else if (args.eventType === xml.ParserEventType.EndElement) {
|
} else if (args.eventType === xml.ParserEventType.EndElement) {
|
||||||
templateBuilder.addEndElement(args.prefix, args.elementName);
|
templateBuilder.addEndElement(args.prefix, args.elementName);
|
||||||
if (templateBuilder.hasFinished()) {
|
if (templateBuilder.hasFinished()) {
|
||||||
templateBuilder.build();
|
templateBuilder.build();
|
||||||
templateBuilder = undefined;
|
templateBuilder = undefined;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the current parent.
|
// Get the current parent.
|
||||||
|
Reference in New Issue
Block a user