This commit is contained in:
Cayo Puigdefabregas 2022-05-11 18:24:25 +02:00
commit a2bfbef8cf
5 changed files with 45 additions and 20 deletions

View File

@ -8,6 +8,8 @@ ml).
## master ## master
## testing ## testing
## [2.1.0] - 2022-05-11
- [added] #219 Add functionality to searchbar (Lots and devices). - [added] #219 Add functionality to searchbar (Lots and devices).
- [added] #222 Allow user to update its password. - [added] #222 Allow user to update its password.
- [added] #233 Filter in out trades from lots selector. - [added] #233 Filter in out trades from lots selector.

View File

@ -1 +1 @@
__version__ = "2.1.0.dev" __version__ = "2.2.0.alpha0"

View File

@ -83,26 +83,33 @@ window.addEventListener("DOMContentLoaded", () => {
const alertInfoDevices = document.getElementById("select-devices-info"); const alertInfoDevices = document.getElementById("select-devices-info");
function itemListCheckChanged() { function itemListCheckChanged() {
const listDevices = TableController.getAllDevicesInCurrentPage() alertInfoDevices.innerHTML = `Selected devices: ${TableController.getSelectedDevices().length}
const isAllChecked = listDevices.map(itm => itm.checked); ${TableController.getAllDevices().length != TableController.getSelectedDevices().length
? `<a href="#" class="ml-3">Select all devices (${TableController.getAllDevices().length})</a>`
: "<a href=\"#\" class=\"ml-3\">Cancel selection</a>"
}`;
if (isAllChecked.every(bool => bool == true)) { if (TableController.getSelectedDevices().length <= 0) {
btnSelectAll.checked = true;
btnSelectAll.indeterminate = false;
alertInfoDevices.innerHTML = `Selected devices: ${TableController.getSelectedDevices().length}
${
TableController.getAllDevices().length != TableController.getSelectedDevices().length
? `<a href="#" class="ml-3">Select all devices (${TableController.getAllDevices().length})</a>`
: "<a href=\"#\" class=\"ml-3\">Cancel selection</a>"
}`;
alertInfoDevices.classList.remove("d-none");
} else if (isAllChecked.every(bool => bool == false)) {
btnSelectAll.checked = false;
btnSelectAll.indeterminate = false;
alertInfoDevices.classList.add("d-none") alertInfoDevices.classList.add("d-none")
} else { } else {
alertInfoDevices.classList.remove("d-none");
}
if (TableController.getAllDevices().length == TableController.getSelectedDevices().length) {
btnSelectAll.checked = true;
btnSelectAll.indeterminate = false;
} else if(TableController.getAllSelectedDevicesInCurrentPage().length > 0) {
btnSelectAll.indeterminate = true; btnSelectAll.indeterminate = true;
alertInfoDevices.classList.add("d-none") } else {
btnSelectAll.checked = false;
btnSelectAll.indeterminate = false;
}
if (TableController.getAllDevices().length == 0) {
btnSelectAll.checked = false;
btnSelectAll.disabled = true;
} else {
btnSelectAll.disabled = false;
} }
} }
@ -126,6 +133,8 @@ window.addEventListener("DOMContentLoaded", () => {
table.on("datatable.page", () => itemListCheckChanged()); table.on("datatable.page", () => itemListCheckChanged());
table.on("datatable.perpage", () => itemListCheckChanged()); table.on("datatable.perpage", () => itemListCheckChanged());
table.on("datatable.update", () => itemListCheckChanged()); table.on("datatable.update", () => itemListCheckChanged());
itemListCheckChanged();
}) })
function deviceSelect() { function deviceSelect() {

View File

@ -60,7 +60,7 @@
<button class="btn btn-primary w-100" type="submit">Login</button> <button class="btn btn-primary w-100" type="submit">Login</button>
</div> </div>
<div class="col-12"> <div class="col-12">
<p class="small mb-0">Don't have account? <a href="#TODO">Create an account</a></p> <p class="small mb-0">Don't have account? <a href="#TODO" onclick="$('#exampleModal').modal('show')" data-toggle="modal" data-target="#exampleModal">Create an account</a></p>
</div> </div>
</form> </form>
@ -83,4 +83,18 @@
</div> </div>
</main><!-- End #main --> </main><!-- End #main -->
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Do you want to try USOdy tools?</h5>
</div>
<div class="modal-body">
Just write an email to <a href="mali:hello@usody.com">hello@usody.com</a>
</div>
</div>
</div>
</div> <!-- End register modal -->
{% endblock body %} {% endblock body %}

View File

@ -84,7 +84,7 @@
</button> </button>
<span class="d-none" id="activeTradeModal" data-bs-toggle="modal" data-bs-target="#tradeLotModal"></span> <span class="d-none" id="activeTradeModal" data-bs-toggle="modal" data-bs-target="#tradeLotModal"></span>
<ul class="dropdown-menu" aria-labelledby="btnLots" id="dropDownLotsSelector"> <ul class="dropdown-menu" aria-labelledby="btnLots" id="dropDownLotsSelector">
<h6 class="dropdown-header">Select some devices to manage lots</h6> <h6 class="dropdown-header">Select lots where to store the selected devices</h6>
<ul class="mx-3" id="LotsSelector"></ul> <ul class="mx-3" id="LotsSelector"></ul>
<li><hr /></li> <li><hr /></li>
<li> <li>
@ -392,7 +392,7 @@
{% for doc in lot.trade.documents %} {% for doc in lot.trade.documents %}
<tr> <tr>
<td> <td>
{% if doc.url.to_text() %} {% if doc.url %}
<a href="{{ doc.url.to_text() }}" target="_blank">{{ doc.file_name}}</a> <a href="{{ doc.url.to_text() }}" target="_blank">{{ doc.file_name}}</a>
{% else %} {% else %}
{{ doc.file_name}} {{ doc.file_name}}