Simplify tag form

This commit is contained in:
Martin Müller 2017-07-18 20:37:52 +02:00
parent 102dd681a0
commit e9f4f29a87
4 changed files with 51 additions and 49 deletions

View File

@ -39,17 +39,11 @@ input {
margin-right: auto; margin-right: auto;
} }
.editform input, .tagcontainer { .editform input {
margin: 5px; margin: 5px;
} }
.tagcontainer { .tags li {
background-color: #666;
border: 1px solid #999;
border-radius: 5px;
}
.tags span {
background-color: #333; background-color: #333;
border-radius: 2px; border-radius: 2px;
font-size: 0.9em; font-size: 0.9em;
@ -57,18 +51,6 @@ input {
padding: 2px 5px 2px 5px; padding: 2px 5px 2px 5px;
} }
.tags, .taginput {
display: inline-block;
}
.taginput {
background: none;
border: none;
border-radius: 0;
margin: 0 !important;
padding: 5px 5px 5px 0px;
}
.youtube label { .youtube label {
vertical-align: middle; vertical-align: middle;
} }
@ -100,12 +82,12 @@ section {
width: 100%; width: 100%;
} }
#reset { .reset {
font-size: 2em; font-size: 2em;
padding-left: 5px; padding-left: 5px;
} }
#reset:hover { .reset:hover {
cursor: pointer; cursor: pointer;
} }

View File

@ -12,7 +12,8 @@ ready(function() {
var sections = document.querySelectorAll("section"); var sections = document.querySelectorAll("section");
var nav = document.querySelectorAll("nav > a"); var nav = document.querySelectorAll("nav > a");
sections[0].style.display = "block"; if (sections.length > 0)
sections[0].style.display = "block";
nav.forEach(function(item) { nav.forEach(function(item) {
item.onclick = function(e) { item.onclick = function(e) {
@ -29,35 +30,54 @@ ready(function() {
var searchfield = document.querySelector("#search"); var searchfield = document.querySelector("#search");
searchfield.addEventListener("keyup", function() { if (searchfield !== null) {
console.log("Search!"); searchfield.addEventListener("keyup", function() {
console.log("Search!");
var buttons = document.querySelectorAll(".sound"); var buttons = document.querySelectorAll(".sound");
buttons.forEach(function(item) { buttons.forEach(function(item) {
item.style.display = "inline-block"; item.style.display = "inline-block";
});
buttons.forEach(function(item) {
var name = item.firstChild.innerHTML;
if (name.toLowerCase().indexOf(searchfield.value.toLowerCase()) === -1) {
item.style.display = "none";
}
});
}); });
}
buttons.forEach(function(item) { var reset = document.querySelector("#sounds .reset");
var name = item.firstChild.innerHTML;
if (reset !== null) {
if (name.toLowerCase().indexOf(searchfield.value.toLowerCase()) === -1) { reset.addEventListener("click", function() {
item.style.display = "none"; var buttons = document.querySelectorAll(".sound");
}
buttons.forEach(function(item) {
item.style.display = "inline-block";
});
searchfield.value = "";
}); });
}); }
var reset = document.querySelector("#reset"); var taginputs = document.querySelectorAll(".taginput");
reset.addEventListener("click", function() { if (taginputs.length > 0) {
var buttons = document.querySelectorAll(".sound"); taginputs.forEach(function(taginput) {
taginput.addEventListener("keydown", function(e) {
buttons.forEach(function(item) { if (e.target == taginput && (e.which == 13 || e.keyCode == 13)) {
item.style.display = "inline-block"; e.preventDefault();
} else if (e.which == 32 || e.keyCode == 13) {
console.log("Space");
addTag(e.target);
}
});
}); });
}
searchfield.value = "";
});
}); });
function hideSections() { function hideSections() {

View File

@ -10,12 +10,12 @@
<label for="tags">Tags</label> <label for="tags">Tags</label>
</div> </div>
<div class="table-cell"> <div class="table-cell">
<div class="tagcontainer"> <input type="input" name="tags" id="tags" />
<div class="tags"><span>Test</span></div>
<input class="taginput" type="input" name="tags" id="tags" />
</div>
</div> </div>
</div> </div>
<ul class="tags">
<li>Test<span class="reset"></span></li>
</ul>
<div class="table-row"> <div class="table-row">
<div class="table-cell"> <div class="table-cell">
</div> </div>

View File

@ -1,7 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block content %} {% block content %}
<section id="sounds"> <section id="sounds">
<div><input type="text" id="search" /><span id="reset"></span></div> <div><input type="text" id="search" /><span class="reset"></span></div>
{% for sound in sounds %} {% for sound in sounds %}
<div class="sound{{ ' edit' if edit }}"><a href="{{ '/' + ('edit' if edit else 'play') + '/' + sound | urlencode }}">{{ sound.split('.', 1)[0] }}</a></div> <div class="sound{{ ' edit' if edit }}"><a href="{{ '/' + ('edit' if edit else 'play') + '/' + sound | urlencode }}">{{ sound.split('.', 1)[0] }}</a></div>
{% endfor %} {% endfor %}