return tag;
}
}
- task.appendChild(tag);
+ task.insertBefore(tag, task.getElementsByClassName("desc")[0]!);
return tag;
},
if (!target) return null;
if (target.hasAttribute("data-description")) {
// Oh no: An edit has arrived from a replica while a local edit is in progress.
- const input = target.firstChild as HTMLInputElement;
+ const input = target.getElementsByTagName("input")[0]!;
if (
input.value === target.getAttribute("data-description") &&
input.selectionStart === input.value.length &&
}
},
+ insertInPriorityOrder: function (task: Element, dest: Element) {
+ const priority = this.getPriority(task);
+ for (const t of dest.children) {
+ if (t !== task && this.getPriority(t) < priority) {
+ dest.insertBefore(task, t);
+ return;
+ }
+ }
+ dest.appendChild(task);
+ },
+
removeTag: function (createTimestamp: string, tagName: string) {
const task = this.getTask(createTimestamp);
if (!task) return null;
const target = this.getTask(createTimestamp);
if (!target) return null;
target.setAttribute("data-priority", `${priority}`);
- for (const task of document.getElementsByClassName("task")) {
- if (task !== target && this.getPriority(task) < priority) {
- task.parentElement!.insertBefore(target, task);
- return target;
- }
- }
- document.getElementById("tasks")!.appendChild(target);
+ this.insertInPriorityOrder(target, target.parentElement!);
return target;
},
todo: "White",
waiting: "MediumOrchid",
};
+ var currentTagView: string | null = null;
var currentViewState = "todo";
var taskFocusedBeforeJumpingToInput: HTMLElement | null = null;
var lastTagNameEntered = "";
this.firstVisibleTask()?.focus();
}
input.value = "";
+ if (currentTagView) {
+ ui.addTag(task.getAttribute("data-created")!, currentTagView);
+ }
if (event.getModifierState("Control")) {
this.makeBottomPriority(task);
}
},
resetTagView: function () {
+ currentTagView = null;
for (const task of document.getElementsByClassName("task")) {
task.classList.remove("hide");
}
task.classList.add("hide");
}
}
+ currentTagView = tag;
},
setView: function (state: string) {