summaryrefslogtreecommitdiff
path: root/modules/lijst/lijst.js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/lijst/lijst.js')
-rw-r--r--modules/lijst/lijst.js26
1 files changed, 15 insertions, 11 deletions
diff --git a/modules/lijst/lijst.js b/modules/lijst/lijst.js
index eccbba7..028e6ce 100644
--- a/modules/lijst/lijst.js
+++ b/modules/lijst/lijst.js
@@ -11,8 +11,8 @@ persist=persist.create({
persist.initSync();
var lijst=persist.getItemSync("lijst");
-if(!lijst){
- lijst=[];
+if(!lijst||Array.isArray(lijst)){
+ lijst={lijst:[],nextid:0};
persist.setItemSync("lijst",lijst);
}
@@ -21,8 +21,9 @@ var moddir;
function render(res){
var html=fs.readFileSync(moddir+"/lijst.html")+"";
var s="";
- for(var i=0;i<lijst.length;i++){
- s+="<li>"+lijst[i].replace(/</g,"&lt;")+"</li>\n";
+ for(var i=0;i<lijst.lijst.length;i++){
+ var text=lijst.lijst[i].text.replace(/</g,"&lt;");
+ s+="<li>"+text+" <a href=\"javascript:removeItem("+lijst.lijst[i].id+")\">x</a></li>\n";
}
html=html.replace("<!--[[LIJST_ITEMS]]-->",s);
res.send(html);
@@ -34,16 +35,19 @@ module.exports=function(app,io,_moddir){
render(res);
});
app.post("/lijst/add",function(req,res){
- lijst.push(req.body.trim());
+ lijst.lijst.push({text:req.body.trim(),id:lijst.nextid++});
persist.setItemSync("lijst",lijst);
res.status(200).end();
});
- app.post("/lijst/remove",function(req,res){
- if(lijst.length>0){
- console.log("Removed item: "+lijst[0]);
- lijst.shift();
+ app.post("/lijst/remove/:id",function(req,res){
+ var idx=lijst.lijst.findIndex(function(o){return o.id==+req.params.id;});
+ if(idx!=-1){
+ console.log("Removed item: "+lijst.lijst[idx].text);
+ lijst.lijst.splice(idx,1);
+ persist.setItemSync("lijst",lijst);
+ res.status(200).end();
+ } else {
+ res.status(404).end("ID not found");
}
- persist.setItemSync("lijst",lijst);
- res.status(200).end();
});
};