mirror of
https://github.com/amark/gun.git
synced 2025-06-08 07:06:44 +00:00
40 lines
1.3 KiB
HTML
40 lines
1.3 KiB
HTML
<html>
|
|
<body onload="ready()">
|
|
<h2>ToDo List</h2>
|
|
|
|
<form id="addToDo"><input id="todoItem" /><button>Add</button></form>
|
|
<ul id="todos"></ul>
|
|
|
|
<script src="../../gun.js"></script>
|
|
<script>
|
|
// by Forrest Tait! Edited by Mark Nadal.
|
|
function ready(){
|
|
var $ = document.querySelector.bind(document);
|
|
var gun = Gun(location.origin + '/gun').get('example/todo/data');
|
|
gun.not(function(){
|
|
return this.put({hello: "world!"}).key('example/todo/data');
|
|
}).on(function renderToDo(val){
|
|
var todoHTML = '';
|
|
for(key in val) {
|
|
if(!val[key] || key == '_') continue;
|
|
todoHTML += '<li style="width:400px;height:2em;">' + (val[key]||'').toString().replace(/\</ig, '<') +
|
|
'<button style="float:right;" onclick=removeToDo("'+key+'")>X</button></li>';
|
|
}
|
|
$("#todos").innerHTML = todoHTML;
|
|
});
|
|
$("#addToDo").onsubmit = function(){
|
|
var id = randomId();
|
|
gun.path(id).put(($("#todoItem").value||'').toString().replace(/\</ig, '<'));
|
|
$("#todoItem").value = "";
|
|
return false;
|
|
};
|
|
window.removeToDo = function(id){
|
|
gun.path(id).put(null);
|
|
}
|
|
}
|
|
function randomId(){
|
|
return ''+(new Date()).getTime()+Math.round((Math.random()*1000));
|
|
}
|
|
</script>
|
|
</body>
|
|
</html> |