Binding converter run-time errors logging on console.

This commit is contained in:
Nedyalko Nikolov
2015-03-12 15:44:01 +02:00
committed by Rossen Hristov
parent 0a2fb87cbb
commit 7862a1bfd5
3 changed files with 54 additions and 8 deletions

View File

@ -32,13 +32,38 @@ export function pageLoaded(args: observableModule.EventData) {
model.set("toUpper", toUpperConverter);
model.set("testProperty", "Alabala");
var dateConverter = {
toView: function (value, format) {
var result = format;
var day = value.getDate();
result = result.replace("dd", month < 10 ? "0" + day : day);
var month = value.getMonth() + 1;
result = result.replace("mm", month < 10 ? "0" + month : month);
result = result.replace("yyyy", value.getFullYear());
return result;
},
toModel: function (value, format) {
var ddIndex = format.indexOf("dd");
var day = parseInt(value.substr(ddIndex, 2));
var mmIndex = format.indexOf("mm");
var month = parseInt(value.substr(mmIndex, 2));
var yyyyIndex = format.indexOf("yyyy");
var year = parseInt(value.substr(yyyyIndex, 4));
var result = new Date(year, month - 1, day);
return result;
}
}
model.set("dateConverter", dateConverter);
model.set("testDate", new Date());
page.bindingContext = model;
}
export function onTap(args: observableModule.EventData) {
var button: buttonModule.Button = <buttonModule.Button>args.object;
trace.write("tasks: " + button.bindingContext.get("tasks"), trace.categories.Test, trace.messageType.info);
button.bindingContext.get("tasks").push("alabala");
trace.write("tasks: " + button.bindingContext.get("testDate"), trace.categories.Test, trace.messageType.info);
//button.bindingContext.get("tasks").push("alabala");
}
//export function createPage() {

View File

@ -1,6 +1,8 @@
<Page xmlns="http://www.nativescript.org/tns.xsd" loaded="pageLoaded">
<StackLayout padding="7">
<TextField text="{{ tasks.length, tasks.length === 0 ? 'zero items' : tasks.length + ' items', false }}" />
<!--<TextField text="{{ tasks.length, tasks.length === 0 ? 'zero items' : tasks.length + ' items', false }}" />-->
<TextField text="{{ testDate, testDate | dateConverter('dd.mm.yyyy') }}" updateTextTrigger="textChanged"/>
<TextField text="{{ testDate }}" />
<Button text="Click" tap="onTap" />
</StackLayout>
</Page>