Compare commits

..

2 Commits

Author SHA1 Message Date
2cfda4f437 add variable by URL 2023-11-04 22:52:47 +01:00
4ed38c4940 add pages select 2023-11-04 22:42:05 +01:00
3 changed files with 74 additions and 50 deletions

View File

@ -141,7 +141,7 @@
<div class="row g-3"> <div class="row g-3">
<div class="col-auto"> <div class="col-auto">
<label for="inputRoles" class="form-label">Roles</label> <label for="inputRoles" class="form-label">Rôle :</label>
<select class="form-select" id="inputRoles" aria-label="Default select example"> <select class="form-select" id="inputRoles" aria-label="Default select example">
<option value="All" selected>Tout</option> <option value="All" selected>Tout</option>
<option value="Admin">Administrateurs</option> <option value="Admin">Administrateurs</option>
@ -149,7 +149,7 @@
</select> </select>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<label for="inputStatus" class="form-label">Statut</label> <label for="inputStatus" class="form-label">Statut :</label>
<select class="form-select" id="inputStatus" aria-label="Default select example"> <select class="form-select" id="inputStatus" aria-label="Default select example">
<option value="-2" selected>Tout</option> <option value="-2" selected>Tout</option>
<option value="-1">En cours de suppression</option> <option value="-1">En cours de suppression</option>
@ -158,12 +158,29 @@
<option value="2">En cours de validation</option> <option value="2">En cours de validation</option>
</select> </select>
</div> </div>
<div class="col-auto">
<label for="inputPages" class="form-label">Page :</label>
<select class="form-select" id="inputPages" aria-label="Page">
<option value="20" selected>20</option>
<option value="40">40</option>
<option value="60">60</option>
<option value="80">80</option>
<option value="100">100</option>
</select>
</div> </div>
<br /> </div>
<br /><br />
<div class="row g-3">
<div class="col-auto">
<button type="button" class="btn btn-success" id="enableUserButton" data-bs-toggle="modal" data-bs-target="#enableUserModal">Activer l'utilisateur</button> <button type="button" class="btn btn-success" id="enableUserButton" data-bs-toggle="modal" data-bs-target="#enableUserModal">Activer l'utilisateur</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning " id="disableUserButton" data-bs-toggle="modal" data-bs-target="#disableUserModal">Désactiver l'utilisateur</button> <button type="button" class="btn btn-warning " id="disableUserButton" data-bs-toggle="modal" data-bs-target="#disableUserModal">Désactiver l'utilisateur</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-danger" id="removeUserButton" data-bs-toggle="modal" data-bs-target="#removeUserModal">Supprimer l'utilisateur</button> <button type="button" class="btn btn-danger" id="removeUserButton" data-bs-toggle="modal" data-bs-target="#removeUserModal">Supprimer l'utilisateur</button>
</div>
</div>
<br /><br /><br /> <br /><br /><br />
<table id=users class="table table-striped table-sm"> <table id=users class="table table-striped table-sm">
<thead> <thead>

View File

@ -21,34 +21,39 @@ function checkToken(){
} }
function buildParam(e, id){ function buildParam(typeInput){
var search = document.getElementById("searchUser").value; var search = document.getElementById("searchUser").value;
var param = ""; var param = "";
var listParam = ["page", "nbPages"]; var listParam = ["skip"];
if(id.length > 0){ if(typeInput.length > 0){
var select = document.getElementById(id); listId =["inputRoles", "inputStatus", "inputPages"]
for (var i=0; i<listId.length; i++) {
var select = document.getElementById(listId[i]);
var getId = select.options[select.selectedIndex].value; var getId = select.options[select.selectedIndex].value;
if(id == "inputRoles"){ switch (listId[i])
var status = e.target.value; {
if(status != "-2"){ case "inputRoles":
param = param + "status="+status+"&"; if (getId != "All"){
param = param + "roles=" + getId + "&";
} }
if(getId != "All"){ break;
param = param + "roles="+getId; case "inputStatus":
} if (getId != "-2"){
} param = param + "status=" + getId + "&";
if(id == "inputStatus"){ }
var roles = e.target.value; break;
if(getId != "-2"){ case "inputPages":
param = param + "status="+getId+"&"; param = param + "limit=" + getId + "&";
} break;
if(roles != "All"){ default:
param = param + "roles="+roles+"&"; break;
} }
} }
} else { } else {
listParam.push("roles"); listParam.push("roles");
listParam.push("status"); listParam.push("status");
listParam.push("limit");
} }
if(search.length > 0){ if(search.length > 0){

View File

@ -1,5 +1,7 @@
checkToken(); checkToken();
signOut(); signOut();
pathURL = document.location.pathname.split("/")[document.location.pathname.split("/").length-1].split(".")[0]
var param = {} var param = {}
param["limit"] = 20; param["limit"] = 20;
@ -12,7 +14,7 @@ for(var i=0; i<listSearch.length; i++){
} }
} }
var listQuery = [{"query": "roles", "id":"inputRoles"}, {"query":"status", "id":"inputStatus"}] var listQuery = [{"query": "roles", "id":"inputRoles"}, {"query":"status", "id":"inputStatus"}, {"query":"limit", "id":"inputPages"}]
for (var i=0; i<listQuery.length; i++){ for (var i=0; i<listQuery.length; i++){
var query = getQuery(listQuery[i]["query"]); var query = getQuery(listQuery[i]["query"]);
@ -28,7 +30,7 @@ for (var i=0; i<listQuery.length; i++){
} }
instance.get("users/count", { withCredentials: true }).then(function(response){ instance.get(pathURL+"/count", { withCredentials: true }).then(function(response){
var count = response.data["count"] / param["limit"]; var count = response.data["count"] / param["limit"];
var reste = response.data["count"] % param["limit"]; var reste = response.data["count"] % param["limit"];
@ -54,7 +56,7 @@ instance.get("users/count", { withCredentials: true }).then(function(response){
var aPage = document.querySelectorAll(".page-item")[newPage].querySelector("a"); var aPage = document.querySelectorAll(".page-item")[newPage].querySelector("a");
aPage.text=newPage; aPage.text=newPage;
var newPage = updateParam("page", newpage); var newPage = updateParam("page", newpage);
aPage.href="/html/users.html?"+newPage; aPage.href="/html/"+pathURL+".html?"+newPage;
} }
document.querySelectorAll(".page-item")[page].classList.add("active"); document.querySelectorAll(".page-item")[page].classList.add("active");
if(page != 1){ if(page != 1){
@ -83,7 +85,7 @@ for (var i=0; i<listQuery.length; i++){
} }
} }
instance.get("users", {withCredentials: true, params:param}).then(function(response){ instance.get(pathURL, {withCredentials: true, params:param}).then(function(response){
var listData = response.data; var listData = response.data;
if(!Array.isArray(listData)){ if(!Array.isArray(listData)){
var listData = [] var listData = []
@ -113,15 +115,15 @@ instance.get("users", {withCredentials: true, params:param}).then(function(respo
switch(e.currentTarget.id){ switch(e.currentTarget.id){
case "disableUserButton": case "disableUserButton":
httpMethod = "delete"; httpMethod = "delete";
httpUrl = "users/groups"; httpUrl = pathURL+"/groups";
break; break;
case "removeUserButton": case "removeUserButton":
httpMethod = "delete"; httpMethod = "delete";
httpUrl = "users/groups?remove=true"; httpUrl = pathURL+"/groups?remove=true";
break; break;
default: default:
httpMethod = "patch"; httpMethod = "patch";
httpUrl = "users/groups"; httpUrl = pathURL+"/groups";
break; break;
} }
instance({ instance({
@ -132,7 +134,7 @@ instance.get("users", {withCredentials: true, params:param}).then(function(respo
}) })
.then(function(response){ .then(function(response){
if(response.status == 200){ if(response.status == 200){
location.href="/html/users.html"; location.href="/html/"+pathURL+".html";
} }
}) })
.catch(function(error){ .catch(function(error){
@ -178,7 +180,7 @@ instance.get("users", {withCredentials: true, params:param}).then(function(respo
td[6].querySelector("button").addEventListener("click", function(e){ td[6].querySelector("button").addEventListener("click", function(e){
var id = e.currentTarget.getAttribute("userid"); var id = e.currentTarget.getAttribute("userid");
location.href="/html/user.html?id="+id; location.href="/html/"+pathURL.slice(0, -1)+".html?id="+id;
}); });
} }
@ -194,25 +196,25 @@ instance.get("users", {withCredentials: true, params:param}).then(function(respo
document.getElementById("addUser").addEventListener("click", function(){ document.getElementById("addUser").addEventListener("click", function(){
location.href="/html/adduser.html"; location.href="/html/add"+pathURL.slice(0, -1)+".html";
}); });
document.getElementById("searchUser").addEventListener("keydown", function(ev){ document.getElementById("searchUser").addEventListener("keydown", function(ev){
if(ev.key === "Enter"){ if(ev.key === "Enter"){
var param = buildParam("", ""); var param = buildParam("");
location.href="/html/users.html?"+param; location.href="/html/"+pathURL+".html?"+param;
} }
}); });
document.getElementById("inputStatus").addEventListener("change", function(e){
var param = buildParam(e, "inputRoles");
location.href="/html/users.html?"+param;
});
document.getElementById("inputRoles").addEventListener("change", function(e){ listInput = ["Status", "Roles", "Pages" ]
var param = buildParam(e, "inputStatus"); for (var i=0; i<listInput.length; i++){
location.href="/html/users.html?"+param; document.getElementById("input"+listInput[i]).addEventListener("change", function(e){
}); var param = buildParam("inputSelect");
location.href="/html/"+pathURL+".html?"+param;
});
}