mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-17 04:41:36 +08:00
component builder fixed
component builder now can handle properly empty text or text with spaces
This commit is contained in:
@ -3,6 +3,7 @@ import view = require("ui/core/view");
|
|||||||
import builder = require("ui/builder");
|
import builder = require("ui/builder");
|
||||||
import buttonModule = require("ui/button");
|
import buttonModule = require("ui/button");
|
||||||
import switchModule = require("ui/switch");
|
import switchModule = require("ui/switch");
|
||||||
|
import searchBarModule = require("ui/search-bar");
|
||||||
import textFieldModule = require("ui/text-field");
|
import textFieldModule = require("ui/text-field");
|
||||||
import gridLayoutModule = require("ui/layouts/grid-layout");
|
import gridLayoutModule = require("ui/layouts/grid-layout");
|
||||||
import absoluteLayoutModule = require("ui/layouts/absolute-layout");
|
import absoluteLayoutModule = require("ui/layouts/absolute-layout");
|
||||||
@ -690,3 +691,17 @@ export function test_parse_NestedRepeaters() {
|
|||||||
helper.goBack();
|
helper.goBack();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function test_searchbar_donotcrash_whentext_isempty() {
|
||||||
|
var p = <Page>builder.parse('<Page><SearchBar text="" hint="Search" /></Page>');
|
||||||
|
var sb = <searchBarModule.SearchBar>p.content;
|
||||||
|
|
||||||
|
TKUnit.assertEqual(sb.text, "");
|
||||||
|
};
|
||||||
|
|
||||||
|
export function test_searchbar_donotcrash_whentext_isspace() {
|
||||||
|
var p = <Page>builder.parse('<Page><SearchBar text=" " hint="Search" /></Page>');
|
||||||
|
var sb = <searchBarModule.SearchBar>p.content;
|
||||||
|
|
||||||
|
TKUnit.assertEqual(sb.text, " ");
|
||||||
|
};
|
@ -169,6 +169,9 @@ export function setPropertyValue(instance: view.View, instanceModule: Object, ex
|
|||||||
attrHandled = (<any>instance)._applyXmlAttribute(propertyName, propertyValue);
|
attrHandled = (<any>instance)._applyXmlAttribute(propertyName, propertyValue);
|
||||||
}
|
}
|
||||||
if (!attrHandled) {
|
if (!attrHandled) {
|
||||||
|
if (propertyValue.trim() === "") {
|
||||||
|
instance[propertyName] = propertyValue;
|
||||||
|
} else {
|
||||||
// Try to convert value to number.
|
// Try to convert value to number.
|
||||||
var valueAsNumber = +propertyValue;
|
var valueAsNumber = +propertyValue;
|
||||||
if (!isNaN(valueAsNumber)) {
|
if (!isNaN(valueAsNumber)) {
|
||||||
@ -181,6 +184,7 @@ export function setPropertyValue(instance: view.View, instanceModule: Object, ex
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function getBindingExpressionFromAttribute(value: string): string {
|
function getBindingExpressionFromAttribute(value: string): string {
|
||||||
return value.replace("{{", "").replace("}}", "").trim();
|
return value.replace("{{", "").replace("}}", "").trim();
|
||||||
|
Reference in New Issue
Block a user