]> git.scottworley.com Git - vopamoi/blobdiff - vopamoi.ts
When creating a task while viewing a tag, the new task has that tag
[vopamoi] / vopamoi.ts
index ad7a93e7928c503c596c44b7414f1a9eac5a0cd4..6ba608a4478481fbfcd6fb06f506f5b3ac439fbe 100644 (file)
@@ -67,7 +67,7 @@ const Model = {
         return tag;
       }
     }
-    task.appendChild(tag);
+    task.insertBefore(tag, task.getElementsByClassName("desc")[0]!);
     return tag;
   },
 
@@ -76,7 +76,7 @@ const Model = {
     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 &&
@@ -276,6 +276,7 @@ function BrowserUI() {
     todo: "White",
     waiting: "MediumOrchid",
   };
+  var currentTagView: string | null = null;
   var currentViewState = "todo";
   var taskFocusedBeforeJumpingToInput: HTMLElement | null = null;
   var lastTagNameEntered = "";
@@ -291,6 +292,9 @@ function BrowserUI() {
         this.firstVisibleTask()?.focus();
       }
       input.value = "";
+      if (currentTagView) {
+        ui.addTag(task.getAttribute("data-created")!, currentTagView);
+      }
       if (event.getModifierState("Control")) {
         this.makeBottomPriority(task);
       }
@@ -464,6 +468,7 @@ function BrowserUI() {
     },
 
     resetTagView: function () {
+      currentTagView = null;
       for (const task of document.getElementsByClassName("task")) {
         task.classList.remove("hide");
       }
@@ -519,6 +524,7 @@ function BrowserUI() {
           task.classList.add("hide");
         }
       }
+      currentTagView = tag;
     },
 
     setView: function (state: string) {