generator-openui5
Version:
OpenUI5 generator for yeoman
71 lines (62 loc) • 1.55 kB
JavaScript
(function() {
"use strict";
sap.ui.controller("<%= fioriComponentNamespace %>.view.App", {
onInit: function() {
this.oModel = new sap.ui.model.json.JSONModel({
newTodo: "",
todos: [
{
title: "Start this app",
completed: true
},
{
title: "Learn OpenUI5",
completed: false
}
],
someCompleted: true,
completedCount: 1
});
this.getView().setModel(this.oModel);
},
addTodo: function() {
var aTodos = this.oModel.getObject("/todos");
aTodos.unshift({
title: this.oModel.getProperty("/newTodo"),
completed: false
});
this.oModel.setProperty("/newTodo", "");
this.oModel.refresh();
},
toggleCompleted: function() {
var iCompletedCount = 0;
var aTodos = this.oModel.getObject("/todos");
var i = aTodos.length;
while (i--) {
var oTodo = aTodos[i];
if (oTodo.completed) {
iCompletedCount++;
}
}
this.setCompletedCount(iCompletedCount);
this.oModel.refresh();
},
clearCompleted: function() {
var aTodos = this.oModel.getObject("/todos");
var i = aTodos.length;
while (i--) {
var oTodo = aTodos[i];
if (oTodo.completed) {
aTodos.splice(i, 1);
}
}
this.setCompletedCount(0);
this.oModel.refresh();
},
setCompletedCount: function(iCount) {
this.oModel.setProperty("/completedCount", iCount);
this.oModel.setProperty("/someCompleted", iCount > 0);
this.oModel.refresh();
}
});
})();