itemlist manipulation functions + bootstrap button bar, TODO: interactivity

This commit is contained in:
2024-02-16 19:16:46 +01:00
parent 198de5f116
commit ffc5acbd14
6 changed files with 108 additions and 10 deletions

View File

@ -11,15 +11,46 @@
<!-- Load d3.js -->
<script src="https://d3js.org/d3.v6.js"></script>
<!--load bootstrap-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.12.9/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<!--banner-->
<div class="banner">
<p></p>
<input id="additemid" type="text" placeholder="item id" pattern="[0-9]*">
<input id="addattributes" type="text" placeholder="attributes (comma separated)" pattern="[0-9a-zA-Z, ]*">
<button id="addbutton" type="button">Add</button>
<button id="create_list" type="button">create list</button>
<button id="global_toggleshow" class="global_toggleshow" type="button">show hidden</button>
<div class="btn-toolbar" role="toolbar" aria-label="Toolbar">
<div class="btn-group mr-2" role="group" aria-label="Add group">
<input id="additemid" type="text" placeholder="item id" pattern="[0-9]*">
<input id="addattributes" type="text" placeholder="attributes (comma separated)" pattern="[0-9a-zA-Z, ]*">
<button id="addbutton" type="button">Add</button>
</div>
<div class="btn-group mr-2" role="group" aria-label="Manage list group">
<button id="manage_list" type="button">manage list</button>
</div>
<div class="dropdown btn-group mr-2" id="filters">
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
filters
</button>
<div class="dropdown-menu">
<input type="checkbox" name="myCheckBox" value="loremipsum">loremipsum<br>
<input type="checkbox" name="myCheckBox" value="loremipsum">loremipsum<br>
</div>
</div>
<div class="btn-group mr-2" role="group" aria-label="Toggle show group">
<button id="global_toggleshow" class="global_toggleshow" type="button">show hidden</button>
</div>
</div>
</div>
<!--popup manage list-->
<div id="manageListPopup" class="popup">
<div class="popup-content">
<button id="create_list" type="button">create</button>
<button id="modify_list" type="button">modify</button>
<button id="delete_list" type="button">delete</button>
</div>
</div>
<!--popup create new list-->

View File

@ -60,3 +60,20 @@ async function get_data() {
// console.log(history_data)
return Array(items_data, history_data);
}
async function fetch_list() {
try {
const response = await fetch(`${currentUrl}app/datalist`);
const rawData = await response.json();
// SELECT uuid, name, description
let listData = rawData.map(d => ({
uuid: d[0],
name: d[1],
description: d[2],
}));
return listData;
} catch (error) {
console.error('Error fetching data history: ', error);
throw error;
}
}

View File

@ -7,6 +7,11 @@ document.addEventListener("keydown", (event) => {
}
});
// manage list
document.getElementById("manage_list").addEventListener("click", function () {
manageListPopup.style.display = 'flex';
});
// create new list
document.getElementById("create_list").addEventListener("click", function () {
// remove div content
@ -45,6 +50,9 @@ document.getElementById("create_list_cancel").addEventListener("click", function
createListPopup.style.display = 'none';
});
// modify list
// delete item, pop-up confirm
document.addEventListener('DOMContentLoaded', function () {

View File

@ -23,11 +23,6 @@ body {
text-align: center;
}
.global_toggleshow {
float: right;
margin-right: 20px;
}
.graph-container-hidden {
background: rgba(0, 0, 0, 0.25);
}