Version 1.0.0 - Ajout de WebMetrics et de l'édit utilisateur
All checks were successful
Neutral/pipeline/head This commit looks good

This commit is contained in:
2024-01-13 18:44:27 +01:00
parent 1b49de6286
commit 3484ff9ff7
21 changed files with 732 additions and 32 deletions

View File

@ -1180,6 +1180,86 @@ class User {
}
}
/**
* Permet de créer un composant de vue de type "Metrics"
*/
class Metric {
properties;
View;
Component;
data;
constructor(settings) {
this.properties = settings.properties
this.View = settings.View
this.Component = settings.Component
this.data = settings.properties.data
}
generateHTML() {
return `
<div class="metric">
<div class="metric-info">
<div class="metric-text">
<p class='metric-title'><strong>${this.properties.name}</strong></p>
<p class='metric-id'>${this.properties.id}</p>
</div>
</div>
<div id='${this.properties.id}_content' class="metric-content">
</div>
<div class="metric-actions">
<button id='${this.properties.id}_metricpower' class='btn red'><span><i class='fa fa-trash'></i> Supprimer<span></button>
</div>
</div>
`
}
loadScript() {
const contentDiv = getID(`${this.properties.id}_content`)
for(const data of this.data) {
contentDiv.innerHTML += `<div class='metric-data'><div class='metric-data-div'><p class='metric-data-title'>${data.description}</p><p class='metric-data-id'>${data.name}</p></div><p class='metric-data-value'>Valeur : <span>${data.value}<span></p></div>`
}
const deleteButton = getID(`${this.properties.id}_metricpower`)
deleteButton.addEventListener("click", () => {
this.View.createPopup({
title: `<i class='fa fa-trash'></i> Supprimer la métrique : ${this.properties.name}`,
content: `
<p class='us-delete'>Voulez-vous vraiment supprimer la métrique <strong>${this.properties.name}</strong> ?</p>
<button id="${this.properties.id}_deleteconfirm" class="btn red"><span><i class='fa fa-trash'></i> Supprimer</span></button>
`
})
const deleteCButton = getID(`${this.properties.id}_deleteconfirm`)
deleteCButton.addEventListener("click", () => {
const request = post(`MT_DELETE`, this.properties.id)
request.then((answer) => {
if(answer == "OK") {
this.View.destroyPopup()
this.View.destroy()
this.Component.forceWindow()
} else {
console.log(answer)
}
})
})
})
}
}
/**
* Permet de créer un item de la barre des tâches
@ -1196,7 +1276,6 @@ class ViewItem {
show() {
const viewItems = getID("views-items")
const item = document.createElement("div")
item.id = `${this.window.ViewProperties.title}_item`
item.classList.add("view-item")