2025-08-18 17:18:43 -05:00

362 lines
20 KiB
HTML

<!DOCTYPE html>
<html lang="en" dir="ltr" id="main_html">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" charset="utf-8" />
<title id="title"></title>
<link rel="icon" href="{{ url_for('static', filename='favicon.ico') }}">
<!-- Material Icons -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
<!-- Material Symbols - Outlined Set -->
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined" rel="stylesheet" />
<!-- Material Symbols - Rounded Set -->
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded" rel="stylesheet" />
<!-- Material Symbols - Sharp Set -->
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp" rel="stylesheet" />
<link rel="stylesheet" href="{{ url_for('static', filename='css/uikit.min.css') }}"/>
{% if session['user']['flags']['darkmode'] %}
<link id="dark-mode" rel="stylesheet" href="{{ url_for('static', filename='css/dark-mode.css') }}"/>
{% endif %}
<script src="{{ url_for('static', filename='js/uikit.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/uikit-icons.min.js') }}"></script>
</head>
<style>
:root {
--primary-color: {{ session['user']['flags']['styles']['primary_color']}};
}
</style>
{% if session['user']['flags']['darkmode'] %}
<body class="uk-light">
{% else %}
<body>
{% endif %}
<nav class="uk-navbar-container">
<div class="uk-container uk-container-expand">
<div class="uk-navbar uk-navbar-primary">
<!-- Application Navigation-->
<div class="uk-navbar-left">
<ul class="uk-navbar-nav">
<li>
<a href>Apps</a>
<div class="uk-navbar-dropdown" uk-drop="mode: click; multi:false">
<ul class="uk-nav uk-navbar-dropdown-nav">
<li><a href="/planner">Planner</a></li>
<li><a href="/recipes">Recipes</a></li>
<li><a href="/shopping-lists">Shopping Lists</a></li>
<li class="uk-nav-header">Logistics</li>
<li><a href="/items">Items</a></li>
<li><a href="/items/transaction">Transaction</a></li>
<li><a href="/receipts">Receipts</a></li>
<li class="uk-nav-header">Points of Ease</li>
<li><a href="/poe/scanner">Transaction Scanner</a></li>
<li><a href="/poe/receipts">Receipts Scanner</a></li>
</ul>
</div>
</li>
</ul>
</div>
<!-- Breadcrumbs Navigation -->
<div class="uk-navbar-center uk-visible@m">
<ul class="uk-breadcrumb uk-margin-remove">
<li class="uk-disabled" style="cursor: pointer;"><span><strong>{{current_site}}</strong></span>
<div uk-dropdown="mode: hover">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-nav-header">Select Site</li>
<li class="uk-nav-divider"></li>
{% for site in sites %}
{% if site == current_site %}
<li><a class="uk-disabled" href="#">{{site}}</a></li>
{% else %}
<li><a onclick="changeSite('{{site}}')">{{site}}</a></li>
{% endif %}
{% endfor %}
</ul>
</div>
</li>
<li style="cursor: default; user-select: none;" class="uk-disabled"><span>Modules</span></li>
<li class="uk-disabled"><span>Shopping Lists</span></li>
<li class="uk-disabled"><span>Editing Shopping List</span></li>
</ul>
</div>
<!-- Profile/Management Navigation-->
<div class="uk-navbar-right">
<ul class="uk-navbar-nav">
<li>
<a href="#">
<img src="{{session['user']['profile_pic_url']}}" alt="Profile Picture" class="profile-pic uk-visible@m" style="width: 40px; height: 40px; border-radius: 50%; margin-right: 5px;">
{{username}}
</a>
<div class="uk-navbar-dropdown" uk-drop="mode: click; multi:false">
<ul class="uk-nav uk-navbar-dropdown-nav">
<li><a href="/profile">Profile</a></li>
<li><a onclick="toggleDarkMode()">Dark Mode</a></li>
<li><a href="/site-management">Site Management</a></li>
<li><a href="/administration">System Management</a></li>
<li><a href="/access/logout">Logout</a></li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>
</nav>
<div class="uk-container">
<div style="margin-top: 10px; margin-right: 10px;" class="uk-align-right">
<button class="uk-button uk-button-default" type="button" uk-toggle="target: #offcanvas-flip"><span uk-icon="question"></span> help</button>
</div>
<div class="uk-section">
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-1">
<label class="uk-form-label" for="list_name">Name</label>
<div class="uk-form-controls">
<input id="list_name" class="uk-input uk-width-1-2@m uk-form-large uk-form-blank" id="list_name" type="text" placeholder="Some text...">
</div>
</div>
<div class="uk-width-1-1">
<label class="uk-form-label" for="list_creation_date">Creation Date</label>
<div class="uk-form-controls">
<input id="list_creation_date" class="uk-input uk-form-blank uk-width-1-2@m uk-disabled"></input>
</div>
</div>
<div class="uk-width-1-1">
<label class="uk-form-label" for="list_description">Description</label>
<div class="uk-form-controls">
<textarea class="uk-textarea uk-width-1-2@m" id="list_description" type="text" placeholder="Some text..."></textarea>
</div>
</div>
<div class="uk-width-1-1">
<label class="uk-form-label" for="list_author">Author</label>
<div class="uk-form-controls">
<input class="uk-input uk-width-1-2@m uk-disabled uk-form-blank" id="list_author" type="text" placeholder="Some text...">
</div>
</div>
<div class="uk-width-1-1">
<label class="uk-form-label" for="list_type">Type</label>
<div class="uk-form-controls">
<select class="uk-select uk-width-1-2@m" id="list_type">
<option value="plain">Plain List</option>
<option value="hybrid">Hybrid List</option>
<option value="calculated">Full Calculated List</option>
</select>
</div>
</div>
<div class="uk-width-1-1">
<hr class="uk-divider-icon">
</div>
<div class="uk-width-1-1 uk-grid-small" uk-grid>
<div class="uk-width-2-3@m">
<p class="uk-text-meta">Here are all the currently assigned items in your shopping list!</p>
</div>
<div class="uk-width-1-3@m">
<button id="addLineButton" class="uk-button uk-button-default uk-align-right@m uk-margin-small" type="button">Add Line <span uk-icon="icon: triangle-down"></span></button>
<div id="addLineDropDown" uk-dropdown="mode: click">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-nav-header">Line Type</li>
<li><a href="#customModal" uk-toggle>Custom</a></li>
<li><a onclick="openSKUModal()">SKU</a></li>
<li><a onclick="openRecipesModal()">Recipes</a></li>
</ul>
</div>
</div>
</div>
<div class="uk-width-1-1">
<table class="uk-table uk-table-striped">
<thead>
<tr>
<th>Type</th>
<th>uuid</th>
<th>Name</th>
<th>Operations</th>
</tr>
</thead>
<tbody id="listItemsTableBody"></tbody>
</table>
</div>
</div>
</div>
</div>
<div id="offcanvas-flip" uk-offcanvas="flip: true; overlay: true">
<div class="uk-offcanvas-bar">
<button class="uk-offcanvas-close" type="button" uk-close></button>
<h3>Shopping Lists</h3>
<p> Shopping lists are meant to be the frontend of your order system. It provides a clear concise way to generate
lists for the days you eventually have to order/purhcase things for your inventory.</p>
<h4>Name</h4>
<p>Your lists name is self explaintory, but must not already exist as a list or you will receive an error. We suggest
something that will give the user an idea what might be contained in the list.</p>
<h4>Description</h4>
<p>Just like your name, you can provide a more robust description of your shopping list to let users know exactly
what to expect from the shopping list!</p>
<h4>Type</h4>
<p>The type of your lists is the main backbone of your list. If its a <strong>Plain List</strong> then the only things that will
show up when viewing the list will be those you add and the quantity you ask for. If its a <strong>Hybrid</strong> then you will
be given the option to add SKU Lines to either be calculated or not and/or custom Lines. those that are not calculated or are add as a custom line will just use
the quantity you provide. A <strong>Calculated</strong> list will not allow you to add any items and when viewing it will do all the
background calculations to determine what to generate for the list at the time of viewing.</p>
<h5>calculated vs. non-calucated</h5>
<p>Calculated just means the Line or lines will use any assigned safety stock along with what you have in the system for quantity on hand to
determine what to inform the user how much they will need to order/purcahse</p>
</div>
</div>
<!-- This is the modal -->
<!-- Recipes modal lookup -->
<div id="recipesModal" uk-modal>
<div id="recipesModalInner" class="uk-modal-dialog uk-modal-body " uk-overflow-auto>
<h2 class="uk-modal-title">Select Item</h2>
<p>Select a Recipe from the system...</p>
<div id="searchRecipesForm" onkeydown="searchRecipesTable(event)" class="uk-search uk-search-default uk-align-center">
<input id="searchRecipesInput" class="uk-border-pill uk-search-input" type="search" placeholder="" aria-label="">
<span class="uk-search-icon-flip" uk-search-icon></span>
</div>
<nav aria-label="Pagination">
<ul id="recipesPage" class="uk-pagination uk-flex-center" uk-margin>
<li><a href="#"><span uk-pagination-previous></span></a></li>
<li><a href="#">1</a></li>
<li class="uk-disabled"><span></span></li>
<li><a href="#">5</a></li>
<li><a href="#">6</a></li>
<li class="uk-active"><span aria-current="page">7</span></li>
<li><a href="#">8</a></li>
<li><a href="#"><span uk-pagination-next></span></a></li>
</ul>
</nav>
<table class="uk-table uk-table-striped uk-table-hover">
<thead>
<tr>
<th>Name</th>
<th>Operations</th>
</tr>
</thead>
<tbody id="receipesTableBody">
</tbody>
</table>
</div>
</div>
<!-- Items modal lookup -->
<div id="itemsModal" uk-modal>
<div id="itemsModalInner" class="uk-modal-dialog uk-modal-body " uk-overflow-auto>
<h2 class="uk-modal-title">Select Item</h2>
<p>Select an Item from the system...</p>
<div id="searchItemsForm" onkeydown="searchItemTable(event)" class="uk-search uk-search-default uk-align-center">
<input id="searchItemsInput" class="uk-border-pill uk-search-input" type="search" placeholder="" aria-label="">
<span class="uk-search-icon-flip" uk-search-icon></span>
</div>
<nav aria-label="Pagination">
<ul id="itemsPage" class="uk-pagination uk-flex-center" uk-margin>
<li><a href="#"><span uk-pagination-previous></span></a></li>
<li><a href="#">1</a></li>
<li class="uk-disabled"><span></span></li>
<li><a href="#">5</a></li>
<li><a href="#">6</a></li>
<li class="uk-active"><span aria-current="page">7</span></li>
<li><a href="#">8</a></li>
<li><a href="#"><span uk-pagination-next></span></a></li>
</ul>
</nav>
<table class="uk-table uk-table-striped">
<thead>
<tr>
<th>Name</th>
<th>Operations</th>
</tr>
</thead>
<tbody id="itemsTableBody">
</tbody>
</table>
</div>
</div>
<div id="customModal" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Add Custom Line...</h2>
<p class="uk-text-meta">A custom Item is an item that does not exist in your system but you would like to show up on your shopping list. This is useful for items
you dont often have to buy or do not want to keep track of but give the users the ability to see it.
</p>
<table class="uk-table uk-table-responsive uk-table-striped">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Name</td>
<td><input id="customName" class="uk-input" type="text"></td>
</tr>
<tr>
<td>QTY</td>
<td><input id="customQty" class="uk-input" type="text"></td>
</tr>
<tr>
<td>UOM</td>
<td><input id="customUOM" class="uk-input" type="text"></td>
</tr>
<tr>
<td>Main Link</td>
<td><input id="customLink" class="uk-input" type="text"></td>
</tr>
</tbody>
</table>
<p class="uk-text-right">
<button class="uk-button uk-button-default uk-modal-close" type="button">Cancel</button>
<button id="addCustomButton" onclick="addCustomItem()" class="uk-button uk-button-primary" type="button">Add Line</button>
</p>
</div>
</div>
<!-- Line Edit Modal-->
<div id="lineEditModal" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Edit Line...</h2>
<p class="uk-text-meta">Edit any fields here for the selected Line and then save them.</p>
<table class="uk-table uk-table-responsive uk-table-striped">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Calculated</td>
<td><input id="lineCalc" class="uk-checkbox" type="checkbox"></td>
</tr>
<tr>
<td>Name</td>
<td><input id="lineName" class="uk-input" type="text"></td>
</tr>
<tr>
<td>QTY</td>
<td><input id="lineQty" class="uk-input" type="text"></td>
</tr>
<tr>
<td>UOM</td>
<td><input id="lineUOM" class="uk-input" type="text"></td>
</tr>
<tr>
<td>Main Link</td>
<td><input id="lineLink" class="uk-input" type="text"></td>
</tr>
</tbody>
</table>
<p class="uk-text-right">
<button class="uk-button uk-button-default uk-modal-close" type="button">Cancel</button>
<button id="saveLineButton" class="uk-button uk-button-primary" type="button">Save</button>
</p>
</div>
</div>
</body>
<script src="{{ url_for('shopping_list_API.static', filename='js/shoppingListEditHandler.js') }}"></script>
<script>const list_uuid = {{list_uuid|tojson}}</script>
</html>