Some fixes
This commit is contained in:
@@ -749,8 +749,9 @@ function TS_IndexElement(
|
|||||||
config.forEach((key) => {
|
config.forEach((key) => {
|
||||||
switch (key.type) {
|
switch (key.type) {
|
||||||
case "raw":
|
case "raw":
|
||||||
|
case "text":
|
||||||
const tdRaw = document.createElement("td");
|
const tdRaw = document.createElement("td");
|
||||||
const rawContent = (data[key.key] || key.default || "").replace(
|
const rawContent = (String(data[key.key]) || key.default || "").replace(
|
||||||
/\n/g,
|
/\n/g,
|
||||||
"<br>"
|
"<br>"
|
||||||
);
|
);
|
||||||
@@ -759,9 +760,8 @@ function TS_IndexElement(
|
|||||||
break;
|
break;
|
||||||
case "template":
|
case "template":
|
||||||
const tdCustomTemplate = document.createElement("td");
|
const tdCustomTemplate = document.createElement("td");
|
||||||
tdCustomTemplate.style.verticalAlign = "top";
|
|
||||||
tdCustomTemplate.innerHTML = key.format(data);
|
|
||||||
new_tr.appendChild(tdCustomTemplate);
|
new_tr.appendChild(tdCustomTemplate);
|
||||||
|
key.template(data, tdCustomTemplate);
|
||||||
break;
|
break;
|
||||||
case "comanda":
|
case "comanda":
|
||||||
const tdComanda = document.createElement("td");
|
const tdComanda = document.createElement("td");
|
||||||
|
|||||||
@@ -121,11 +121,12 @@ PAGES.materiales = {
|
|||||||
key: "Cantidad",
|
key: "Cantidad",
|
||||||
label: "Cantidad",
|
label: "Cantidad",
|
||||||
type: "template",
|
type: "template",
|
||||||
template: (data) => {
|
template: (data, element) => {
|
||||||
const min = parseFloat(data.Cantidad_Minima);
|
const min = parseFloat(data.Cantidad_Minima);
|
||||||
const act = parseFloat(data.Cantidad);
|
const act = parseFloat(data.Cantidad);
|
||||||
const style = act < min ? 'style="background-color: lightcoral;"' : '';
|
const style = act < min ? 'style="background-color: lightcoral;"' : '';
|
||||||
return `<td ${style}>${data.Cantidad || "?"} ${data.Unidad || "?"} - (min. ${data.Cantidad_Minima || "?"})</td>`;
|
element.setAttribute("style", style);
|
||||||
|
element.innerHTML = `${data.Cantidad || "?"} ${data.Unidad || "?"} - (min. ${data.Cantidad_Minima || "?"})`;
|
||||||
},
|
},
|
||||||
default: "?"
|
default: "?"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -125,96 +125,49 @@ PAGES.personas = {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
index: function () {
|
index: function () {
|
||||||
const tablebody = safeuuid();
|
|
||||||
var btn_new = safeuuid();
|
var btn_new = safeuuid();
|
||||||
container.innerHTML = `
|
container.innerHTML = `
|
||||||
<h1>Personas</h1>
|
<h1>Personas</h1>
|
||||||
<button id="${btn_new}">Nueva Persona</button>
|
<button id="${btn_new}">Nueva Persona</button>
|
||||||
<div id="scrolltable"><table>
|
<div id="tableContainer"></div>
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Nombre</th>
|
|
||||||
<th>Zona</th>
|
|
||||||
<th>Puntos</th>
|
|
||||||
<th>Permisos</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody id="${tablebody}">
|
|
||||||
</tbody>
|
|
||||||
</table></div>
|
|
||||||
`;
|
|
||||||
tableScroll("#scrolltable"); // id="scrolltable"
|
|
||||||
var tablebody_EL = document.getElementById(tablebody);
|
|
||||||
var rows = {};
|
|
||||||
function render() {
|
|
||||||
function sorter(a, b) {
|
|
||||||
if (a.Region.toUpperCase() < b.Region.toUpperCase()) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (a.Region.toUpperCase() > b.Region.toUpperCase()) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
var tablebody_EL = document.getElementById(tablebody);
|
|
||||||
tablebody_EL.innerHTML = "";
|
|
||||||
// SC_Personas = rows
|
|
||||||
Object.values(rows)
|
|
||||||
.sort(sorter)
|
|
||||||
.forEach((data) => {
|
|
||||||
var btn_comanda = safeuuid();
|
|
||||||
var new_tr = document.createElement("tr");
|
|
||||||
new_tr.innerHTML = `
|
|
||||||
<td class="TextBorder" style="background-color: ${
|
|
||||||
data.SC_Anilla
|
|
||||||
}; text-align: center"><img src="${
|
|
||||||
data.Foto || "static/ico/user_generic.png"
|
|
||||||
}" height="50"> <br> ${data.Nombre || ""}</td>
|
|
||||||
<td>${data.Region || "?"}</td>
|
|
||||||
<td>${data.Puntos || 0}</td>
|
|
||||||
<td>${data.Roles || ""}</td>
|
|
||||||
`;
|
`;
|
||||||
|
|
||||||
// <button id="${btn_comanda}" class="${PAGES.ventas.navcss}">Nueva venta</button>
|
const config = [
|
||||||
var act = parseFloat(data.Puntos);
|
{
|
||||||
if (act >= 10) {
|
key: "Nombre",
|
||||||
new_tr.style.backgroundColor = "gold";
|
label: "Nombre",
|
||||||
|
type: "template",
|
||||||
|
template: (data, element) => {
|
||||||
|
element.classList.add("TextBorder");
|
||||||
|
element.style.backgroundColor = data.SC_Anilla;
|
||||||
|
element.style.textAlign = "center";
|
||||||
|
element.innerHTML = `
|
||||||
|
<img src="${data.Foto || "static/ico/user_generic.png"}" height="50">
|
||||||
|
<br>${data.Nombre || ""}
|
||||||
|
`;
|
||||||
}
|
}
|
||||||
new_tr.onclick = () => {
|
},
|
||||||
setUrlHash("personas," + data._key);
|
{ key: "Region", label: "Zona", type: "text", default: "?" },
|
||||||
};
|
{ key: "Puntos", label: "Puntos", type: "text", default: "0" },
|
||||||
tablebody_EL.append(new_tr);
|
{ key: "Roles", label: "Permisos", type: "text", default: "" }
|
||||||
// document.getElementById(btn_comanda).onclick = (e) => {
|
];
|
||||||
// setUrlHash("ventas," + data._key);
|
|
||||||
// if (!e) var e = window.event;
|
TS_IndexElement(
|
||||||
// e.cancelBubble = true;
|
PAGES.personas,
|
||||||
// if (e.stopPropagation) e.stopPropagation();
|
config,
|
||||||
// };
|
gun.get(TABLE).get("personas"),
|
||||||
});
|
document.getElementById("tableContainer"),
|
||||||
|
(row, data) => {
|
||||||
|
// Add gold background for high points
|
||||||
|
const points = parseFloat(data.Puntos);
|
||||||
|
if (points >= 10) {
|
||||||
|
row.style.backgroundColor = "gold";
|
||||||
}
|
}
|
||||||
gun
|
},
|
||||||
.get(TABLE)
|
undefined,
|
||||||
.get("personas")
|
true // Enable global search bar
|
||||||
.map()
|
);
|
||||||
.on((data, key, _msg, _ev) => {
|
|
||||||
EVENTLISTENER = _ev;
|
|
||||||
function add_row(data, key) {
|
|
||||||
if (data != null) {
|
|
||||||
data["_key"] = key;
|
|
||||||
rows[key] = data;
|
|
||||||
} else {
|
|
||||||
delete rows[key];
|
|
||||||
}
|
|
||||||
render();
|
|
||||||
}
|
|
||||||
if (typeof data == "string") {
|
|
||||||
SEA.decrypt(data, SECRET, (data) => {
|
|
||||||
add_row(data, key);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
add_row(data, key);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
document.getElementById(btn_new).onclick = () => {
|
document.getElementById(btn_new).onclick = () => {
|
||||||
setUrlHash("personas," + safeuuid(""));
|
setUrlHash("personas," + safeuuid(""));
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user