-
Notifications
You must be signed in to change notification settings - Fork 2
Application Model
BobDickinson edited this page Apr 4, 2014
·
15 revisions
// Counter page
//
var maaas = require('../maaas');
exports.View =
{
title: "Click Counter",
onBack: "exit",
elements:
[
{ control: "text", value: "Count: {count}", foreground: "{font.color}", font: { size: 24, bold: "{font.isBold}" } },
{ control: "button", caption: "Increment Count", binding: "increment" },
{ control: "button", caption: "Decrement Count", binding: "decrement", enabled: "{count}" },
{ control: "button", caption: "Reset Count", binding: "reset", enabled: "{count}" },
]
}
exports.InitializeViewModel = function(context, session)
{
var viewModel =
{
count: 0,
font: { color: "Green", isBold: false },
}
return viewModel;
}
exports.OnChange = function(context, session, viewModel, source, changes)
{
if (viewModel.count < 10)
{
viewModel.font = { color: "Green", isBold: false };
}
else
{
viewModel.font = { color: "Red", isBold: true };
}
}
exports.Commands =
{
increment: function(context, session, viewModel)
{
viewModel.count += 1;
},
decrement: function(context, session, viewModel)
{
viewModel.count -= 1;
},
reset: function(context, session, viewModel)
{
viewModel.count = 0;
},
exit: function(context)
{
return maaas.navigateToView(context, "menu");
},
}