Index: arms/js/reqAddTable.js
===================================================================
diff -u -r0b7ca0bf4a08b408c5fb5648adece9232f47e654 -rf5d9e52ee45fb56148562f13e00654ae83740e96
--- arms/js/reqAddTable.js (.../reqAddTable.js) (revision 0b7ca0bf4a08b408c5fb5648adece9232f47e654)
+++ arms/js/reqAddTable.js (.../reqAddTable.js) (revision f5d9e52ee45fb56148562f13e00654ae83740e96)
@@ -383,7 +383,10 @@
.forEach((row) => row.remove());
}
- getElement(target, tag, id) {
+ getElement(target, tag, className) {
+ if (className) {
+ return target.tagName === tag && target.classList.contains(className) && target;
+ }
return target.tagName !== tag ? this.getElement(target.parentElement, tag) : target;
}
@@ -433,9 +436,6 @@
if (cur[key]) {
$col.innerHTML = cur[key];
- cur.id &&
- ["manager", "content"].includes(key) &&
- ($col.innerHTML = `${cur[key]}`);
}
if (tag === "th") {
@@ -479,17 +479,14 @@
$col.className = key;
if (tag === "td") {
- if (cur[key]) {
- $col.innerHTML = cur[key];
- ["status", "priority", "difficulty"].includes(key) &&
- ($col.innerHTML = `
-
+ $col.innerHTML = cur[key];
+ ["status", "priority", "difficulty"].includes(key) &&
+ cur.category !== "Group" &&
+ ($col.innerHTML = `
+
${cur[key]}
`);
-
- ["manager", "content"].includes(key) && ($col.innerHTML = `${cur[key]}`);
- }
} else {
$col.innerHTML = cur[key];
}
@@ -526,15 +523,14 @@
});
}
- addInput(node) {
+ addInput(node, updateKey) {
const uuid = createUUID();
const text = node.textContent;
const $input = this.makeElement("input");
$input.id = uuid;
$input.addEventListener("blur", () => {
- console.log("###", this.getElement(node, "TR"));
- this.updateData(this.getElement(node, "TR").dataset.id, "content", $input.value);
+ this.updateData(this.getElement(node, "TR").dataset.id, updateKey, $input.value);
node.textContent = $input.value;
});
@@ -599,11 +595,20 @@
bindBodyEvent($el) {
$el.addEventListener("click", (e) => {
const { tagName, classList, parentElement } = e.target;
- // input
- if (tagName === "SPAN" && classList.contains("col-input")) {
- this.addInput(e.target);
+
+ const $manager = this.getElement(e.target, "TD", "manager");
+ const $content = this.getElement(e.target, "TD", "content");
+
+ if ($manager) {
+ this.addInput($manager, "manager");
+ return;
}
+ if ($content) {
+ this.addInput($content, "content");
+ return;
+ }
+
// select
if (["A", "I"].includes(tagName)) {
classList.contains("dropdown-toggle") && this.addSelect(e.target);