226 lines
9.0 KiB
HTML
226 lines
9.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head lang="en">
|
|
<meta name="author" content="Johannes Randerath" />
|
|
<meta charset="utf-8" />
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Inventory</title>
|
|
<script type="text/javascript">
|
|
let ncol = 1;
|
|
document.addEventListener("DOMContentLoaded", (event) => {
|
|
for (let row of document.getElementById("content_table").getElementsByTagName('tbody')[0].rows) {
|
|
let createClickHandler = function(r) {
|
|
return function() {
|
|
$('#edit_item').modal('show');
|
|
};
|
|
};
|
|
row.onclick = createClickHandler(row);
|
|
}
|
|
for (let column of document.getElementById("content_table").rows[0].cells) {
|
|
column.innerHTML = column.innerHTML + "";
|
|
}
|
|
});
|
|
function add_column() {
|
|
ncol += 1;
|
|
document.getElementById('columns').innerHTML += "<div class='row mt-3' id='columns'><div class='col-auto align-bottom'><div class='form-text me-1' id='field_index'><strong>" + ncol + "</strong></div></div><div class='col-auto'><input type='text' class='form-control' id='field_name' aria-describedby='field_name_label'></div><div class='col-auto'><select class='form-select' aria-label='data type'><option value='text' selected>Text</option><option value='number'>Number</option><option value='date'>Date</option></select></div></div>"
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<nav class='navbar navbar-expand-lg bg-body bg-body-tertiary'>
|
|
<div class='container-fluid'>
|
|
<a class='navbar-brand' href='#'>Inventory</a>
|
|
<button class='navbar-toggler' type='button' data-bs-toggle='collapse' data-bs-target='#navbarSupportedContent' aria-controls='navbarSupportedContent' aria-expanded='false' aria-label='Toggle navigation'>
|
|
<span class='navbar-toggler-icon'></span>
|
|
</button>
|
|
<div class='collapse navbar-collapse' id='navbarSupportedContent'>
|
|
<ul class='navbar-nav me-auto mb-2 mb-lg-0'>
|
|
<li class='nav-item dropdown'>
|
|
<a class='nav-link dropdown-toggle' role='button' data-bs-toggle='dropdown' aria-expanded='false'>
|
|
Choose Table
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" role="button" data-bs-toggle="modal" data-bs-target="#new_table">
|
|
<i class="bi bi-plus-lg"></i>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" role="button" data-bs-toggle="modal" data-bs-target="#import_table">
|
|
<i class="bi bi-folder2-open"></i>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div class="row justify-content-between">
|
|
<div class="col-auto">
|
|
<h1>Inventory table</h1>
|
|
</div>
|
|
<div class="col-auto">
|
|
<div class="btn-toolbar mt-2" role="toolbar">
|
|
<div class="btn-group me-2">
|
|
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#new_item"><i class="bi bi-plus-lg"></i></button>
|
|
</div>
|
|
<div class="input-group">
|
|
<div class="input-group-text dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="bi bi-search"></i>
|
|
</div>
|
|
<ul class="dropdown-menu">
|
|
<select class="form-select" multiple>
|
|
<li><option disabled class="dropdown-header">Search in</option></li>
|
|
<li><option class="dropdown-item" value="1" selected>1</option></li>
|
|
<li><option class="dropdown-item" value="2" selected>2</option></li>
|
|
</select>
|
|
</ul>
|
|
<input type="text" placeholder="Search" class="form-control">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table id="content_table" class="table table-striped table-hover table-responsive table-bordered mt-2">
|
|
<thead>
|
|
<tr class="align-bottom">
|
|
<th style="width:7%">#</th>
|
|
<th>name</th>
|
|
<th>fsid</th>
|
|
<th>drf</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>1</td>
|
|
<td>one</td>
|
|
<td>fhsad</td>
|
|
<td>fsdud</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<!-- Modals -->
|
|
<!-- Create new table -->
|
|
<div class="modal fade" id="new_table" tabindex="-1" aria-hidden="true">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h1 class="modal-title fs-5">New table</h1>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form>
|
|
<div class="mb-3">
|
|
<label for="new_table_name" class="form-label">Name</label>
|
|
<input type="text" class="form-control" id="new_table_name" aria-describedby="new_table_name_label">
|
|
<div id="new_table_name_label" class="form-text">Name of the new table</div>
|
|
</div>
|
|
<div class="mb-3">
|
|
<div class="row" id="columns">
|
|
<div class="col-auto align-bottom me-1">
|
|
<label for="field_index" class="form-label">#</label>
|
|
<div class="form-text" id="field_index"><strong>1</strong></div>
|
|
</div>
|
|
<div class="col-auto">
|
|
<label for="field_name" class="form-label">Column name</label>
|
|
<input type="text" class="form-control" id="field_name" aria-describedby="field_name_label">
|
|
</div>
|
|
<div class="col-auto">
|
|
<label for="field_name" class="form-label">Data type</label>
|
|
<select class="form-select" aria-label="data type">
|
|
<option value="text" selected>Text</option>
|
|
<option value="number">Number</option>
|
|
<option value="date">Date</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row justify-content-center mb-3 mt-3">
|
|
<div class="col-auto">
|
|
<button class="btn btn-primary" type="button" onclick="add_column()"><i class="bi bi-plus-lg"></i></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-secondary" data-bs-dismiss="modal" type="button">Close</button>
|
|
<button class="btn btn-primary" type="submit">Create</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Import new table -->
|
|
<div class="modal fade" id="import_table" tabindex="-1" aria-hidden="true">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h1 class="modal-title fs-5">Import new table</h1>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-secondary" data-bs-dismiss="modal" type="button">Close</button>
|
|
<button class="btn btn-primary" type="button">Import</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Add new item -->
|
|
<div class="modal fade" id="new_item" tabindex="-1" aria-hidden="true">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h1 class="modal-title fs-5">Add entry</h1>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-secondary" data-bs-dismiss="modal" type="button">Close</button>
|
|
<button class="btn btn-primary" type="button">Add</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Edit item -->
|
|
<div class="modal fade" id="edit_item" tabindex="-1" aria-hidden="true">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h1 class="modal-title fs-5">Edit entry</h1>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-secondary" data-bs-dismiss="modal" type="button">Close</button>
|
|
<button class="btn btn-primary" type="button">Save</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Filter column -->
|
|
<div class="modal fade" id="filter" tabindex="-1" aria-hidden="true">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h1 class="modal-title fs-5">Edit filter on</h1>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-secondary" data-bs-dismiss="modal" type="button">Close</button>
|
|
<button class="btn btn-primary" type="button">Filter</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
|
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
|
|
</body>
|
|
</html>
|