浏览代码

fix deselection

tripeur 4 年之前
父节点
当前提交
23d2cfac86
共有 4 个文件被更改,包括 14 次插入1 次删除
  1. 3 0
      dev/index.ts
  2. 5 0
      lib/Timeline.js
  3. 0 0
      lib/Timeline.js.map
  4. 6 1
      src/Timeline.ts

+ 3 - 0
dev/index.ts

@@ -146,3 +146,6 @@ const timeslots2 = Array(nItem)
     };
   });
 nestedTimeline.addEvents(timeslots2);
+nestedTimeline.style.display = "flex";
+nestedTimeline.style.flexDirection = "column";
+nestedTimeline.style.height = "200px";

+ 5 - 0
lib/Timeline.js

@@ -471,6 +471,7 @@ let Timeline = class Timeline extends lit_element_1.LitElement {
             localSlot.moving = true;
             window.addEventListener("mousemove", moveListener);
             window.addEventListener("mouseup", mouseUpListener);
+            return true;
         };
     }
     clearSelectedItems() {
@@ -511,6 +512,9 @@ let Timeline = class Timeline extends lit_element_1.LitElement {
                 bubbles: true,
                 composed: true,
             });
+            if (this.selectedList.length > 0) {
+                window.addEventListener("click", this._clearSelectionHandler);
+            }
             this.dispatchEvent(myEvent);
         };
     }
@@ -580,6 +584,7 @@ let Timeline = class Timeline extends lit_element_1.LitElement {
       end="${evt.end.getHours()}"
       style="${style_map_1.styleMap(style)}"
       @mousedown="${this._getEventGrabHandler(evt, resizer, editableRessource, this._getEventClickHandler(evt))}"
+      @click="${(e) => e.stopPropagation()}"
     >
       ${content}
     </div>`;

文件差异内容过多而无法显示
+ 0 - 0
lib/Timeline.js.map


+ 6 - 1
src/Timeline.ts

@@ -504,7 +504,7 @@ class Timeline extends LitElement {
     ressourceEditable: boolean,
     callback: (e: MouseEvent, wasModified: boolean) => void
   ) {
-    return (evt: MouseEvent): void => {
+    return (evt: MouseEvent): boolean => {
       evt.stopPropagation();
       evt.preventDefault();
 
@@ -584,6 +584,7 @@ class Timeline extends LitElement {
       localSlot.moving = true;
       window.addEventListener("mousemove", moveListener);
       window.addEventListener("mouseup", mouseUpListener);
+      return true;
     };
   }
   clearSelectedItems(): void {
@@ -626,6 +627,9 @@ class Timeline extends LitElement {
         bubbles: true,
         composed: true,
       });
+      if (this.selectedList.length > 0) {
+        window.addEventListener("click", this._clearSelectionHandler);
+      }
       this.dispatchEvent(myEvent);
     };
   }
@@ -711,6 +715,7 @@ class Timeline extends LitElement {
         editableRessource,
         this._getEventClickHandler(evt)
       )}"
+      @click="${(e: MouseEvent) => e.stopPropagation()}"
     >
       ${content}
     </div>`;

部分文件因为文件数量过多而无法显示