Projekt mit meinem Nas verbinden zur Speicherung

Panda9296

Bekanntes Mitglied
Hi und zwar lerne ich gerade JavaScript.. naja das Ziel ist Typescript und Angular aber die Grundkentnisse müssen ja auch irgendwie her kommen... hab also 2 Tage mit JQuery an einer TODO-Liste gesessen und ich muss schon sagen: die Sprache ist im Gegensatz zu java sehr unstrukturiert und ich freue mich wirklich auf typescript... naja egal ich habe jetzt meine TODO-Liste fertig und ich wollte fragen, wie ich die Elemente den auf mein NAS bekomme, damit eine Speicherung möglich ist..

[CODE lang="javascript" title="JS"]"use strict"

const KEY_ENTER=13;
document.addEventListener("DOMContentLoaded",()=>{

const inputText= document.querySelector("input");
const ulItems= document.querySelector(".todo-list");
const liItems= document.querySelectorAll(".todo-list li");
const footerClearCompleted= document.querySelector(".clear-completed");
queryList();
footerClearCompleted.addEventListener("click",()=>{
const listItems= document.querySelectorAll("ul li")
for(const item of listItems){
const checkbox= item.querySelector("div input");
if(checkbox.checked){
item.remove();
queryList();
}
}
});

inputText.addEventListener("keydown",(event)=>{
if(event.keyCode==KEY_ENTER){
const $getText=inputText.value;
// new listelement
if($getText===""){return}
const button= document.createElement("button");
button.classList.add("destroy");

const label= document.createElement("label");
label.appendChild(document.createTextNode($getText));

const input= document.createElement("input");
input.classList.add("toggle");
input.type="checkbox";

const div = document.createElement("div");
div.classList.add("view");
div.appendChild(input);
div.appendChild(label);
div.appendChild(button)

const liElement= document.createElement("li");
liElement.appendChild(div)
removeListItem(liElement)
countingElement(liElement)
queryCheckbox(liElement)
ulItems.appendChild(liElement);
queryList();
inputText.value="";
}
})
for(const item of liItems){
removeListItem(item)
queryCheckbox(item)
countingElement(item)
}
});
const removeListItem= (liElement)=>{
const $elementInput= liElement.querySelector("div input");
const button= $elementInput.nextElementSibling.nextElementSibling;
button.addEventListener("click",()=>{
liElement.remove()
let value=parseInt(document.querySelector(".todo-count strong").innerText,10)
document.querySelector(".todo-count strong").innerText= --value
queryList();
})
}
const countingElement=(item)=>{
let countItem = document.querySelector(".todo-count strong").innerText;
countItem=parseInt(countItem,10);
const items= document.querySelectorAll(".todo-list li");

if(item.classList.contains("completed")) {
document.querySelector(".todo-count strong").innerText= --countItem
return
}
document.querySelector(".todo-count strong").innerText= ++countItem
}
const queryList= ()=>{
const ulItem= document.querySelector(".todo-list");
const footer= document.querySelector(".footer");
if(ulItem.children.length===0){

footer.style.display="none";
}
else if(ulItem.children.length===1){
let countItem = document.querySelector(".todo-count strong").innerText=1;
footer.style.display="block";
}
else {
footer.style.display="block";
}

}
const queryCheckbox= (liElement)=>{
const checkbox= liElement.querySelector("div input");
checkbox.addEventListener("change",()=>{
if(checkbox.checked)
{
liElement.classList.add("completed");
countingElement(liElement)
}
else{
liElement.classList.remove("completed");
countingElement(liElement)
}
})
}
const checkedItemToRemove=(liItem)=>{
const footerClearCompleted= document.querySelector(".clear-completed");

}
[/CODE]
[CODE lang="html" title="HTML"]<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Template • TodoMVC</title>
<link rel="stylesheet" href="node_modules/todomvc-common/base.css">
<link rel="stylesheet" href="node_modules/todomvc-app-css/index.css">
<!-- CSS overrides - remove if you don't need it -->
<link rel="stylesheet" href="css/app.css">
</head>
<body>
<section class="todoapp">
<header class="header">
<h1>todos</h1>
<input class="new-todo" placeholder="What needs to be done?" autofocus>
</header>
<!-- This section should be hidden by default and shown when there are todos -->
<section class="main">
<input id="toggle-all" class="toggle-all" type="checkbox">
<label for="toggle-all">Mark all as complete</label>
<ul class="todo-list">
</ul>
</section>
<!-- This footer should hidden by default and shown when there are todos -->
<footer class="footer">
<!-- This should be `0 items left` by default -->
<span class="todo-count"><strong>0</strong> item left</span>
<!-- Remove this if you don't implement routing -->
<ul class="filters">
<li>
<a class="selected" href="#/">All</a>
</li>
<li>
<a href="#/active">Active</a>
</li>
<li>
<a href="#/completed">Completed</a>
</li>
</ul>
<!-- Hidden if no completed items are left ↓ -->
<button class="clear-completed">Clear completed</button>
</footer>
</section>
<footer class="info">
<!-- Remove the below line ↓ -->
<p>Template by <a href="http://sindresorhus.com">Sindre Sorhus</a></p>
<!-- Change this out with your name and url ↓ -->
<p>Created by <a href="http://todomvc.com">you</a></p>
<p>Part of <a href="http://todomvc.com">TodoMVC</a></p>
</footer>
<!-- Scripts here. Don't remove ↓ -->
<script src="node_modules/todomvc-common/base.js"></script>
<script src="js/app.js"></script>
</body>
</html>
[/CODE]
 

Neue Themen


Oben