tripeur пре 4 година
родитељ
комит
c868a2a084
4 измењених фајлова са 25 додато и 15 уклоњено
  1. 1 1
      lib/Timeline.d.ts
  2. 12 7
      lib/Timeline.js
  3. 0 0
      lib/Timeline.js.map
  4. 12 7
      src/Timeline.ts

+ 1 - 1
lib/Timeline.d.ts

@@ -44,7 +44,7 @@ declare class Timeline extends LitElement {
     get defaultBackground(): string;
     setLegendUnitFormatAll(legend: Partial<UnitLegend>): void;
     setLegendUnitFormat(unit: dayjsUnit, format: string): void;
-    addRessources(list: Array<IRessource>): Array<Ressource>;
+    addRessources(list: Array<IRessource>, pos?: number): Array<Ressource>;
     addRessource(ressource: IRessource, pos?: number): Ressource;
     removeRessourceById(id: string): TimelineContent;
     _removeRessourceById(id: string, depth?: number): TimelineContent;

+ 12 - 7
lib/Timeline.js

@@ -123,8 +123,8 @@ let Timeline = class Timeline extends lit_element_1.LitElement {
         this.legendUnitFormat[unit] = format;
         this.updateLegend();
     }
-    addRessources(list) {
-        return list.map((r) => this.addRessource(r));
+    addRessources(list, pos = Infinity) {
+        return list.map((r, idx) => this.addRessource(r, idx + pos));
         0;
     }
     addRessource(ressource, pos = Infinity) {
@@ -150,9 +150,13 @@ let Timeline = class Timeline extends lit_element_1.LitElement {
                         r.parent.children.splice(pos - idx, 0, r);
                 }
                 else {
-                    this.rows.splice(idx + r.parent.children.length + 1, 0, r);
-                    if (!alreadyChild)
+                    if (alreadyChild) {
+                        this.rows.splice(idx + r.parent.children.indexOf(r) + 1, 0, r);
+                    }
+                    else {
+                        this.rows.splice(idx + r.parent.children.length + 1, 0, r);
                         r.parent.children = [...r.parent.children, r];
+                    }
                 }
             }
             else {
@@ -669,6 +673,7 @@ let Timeline = class Timeline extends lit_element_1.LitElement {
                 const movedContent = this.removeRessourceById(src.id);
                 if (event.target.classList.contains("jc-ressource")) {
                     movedContent.ressources[0].parent = destination;
+                    this.addRessource(src);
                 }
                 else {
                     movedContent.ressources[0].parent = destination.parent;
@@ -679,10 +684,10 @@ let Timeline = class Timeline extends lit_element_1.LitElement {
                             idx += 1;
                         }
                     }
-                    const arr = this.rows;
-                    this.rows = [...arr.splice(0, idx), src, ...arr];
+                    this.addRessource(src, idx - 1);
                 }
-                this.addRessources(movedContent.ressources);
+                const idx = this.rows.findIndex((v) => v.id === srcId);
+                this.addRessources(movedContent.ressources, idx - 2);
                 this.addEvents(movedContent.items);
                 this.dispatchEvent(new CustomEvent("reorder-ressource", {
                     detail: { ressources: this.rows },

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
lib/Timeline.js.map


+ 12 - 7
src/Timeline.ts

@@ -174,8 +174,8 @@ class Timeline extends LitElement {
     this.legendUnitFormat[unit] = format;
     this.updateLegend();
   }
-  addRessources(list: Array<IRessource>): Array<Ressource> {
-    return list.map((r) => this.addRessource(r));
+  addRessources(list: Array<IRessource>, pos = Infinity): Array<Ressource> {
+    return list.map((r, idx) => this.addRessource(r, idx + pos));
     0;
   }
   // Ressource management
@@ -203,8 +203,12 @@ class Timeline extends LitElement {
           this.rows.splice(pos, 0, r);
           if (!alreadyChild) r.parent.children.splice(pos - idx, 0, r);
         } else {
-          this.rows.splice(idx + r.parent.children.length + 1, 0, r);
-          if (!alreadyChild) r.parent.children = [...r.parent.children, r];
+          if (alreadyChild) {
+            this.rows.splice(idx + r.parent.children.indexOf(r) + 1, 0, r);
+          } else {
+            this.rows.splice(idx + r.parent.children.length + 1, 0, r);
+            r.parent.children = [...r.parent.children, r];
+          }
         }
       } else {
         throw new Error("Not able to create ressource parent.\n" + r.id);
@@ -798,6 +802,7 @@ class Timeline extends LitElement {
         // Update the moved ressource position
         if (event.target.classList.contains("jc-ressource")) {
           movedContent.ressources[0].parent = destination;
+          this.addRessource(src);
         } else {
           movedContent.ressources[0].parent = destination.parent;
           let idx = this.rows.findIndex((v) => v.id === destinationId);
@@ -807,11 +812,11 @@ class Timeline extends LitElement {
               idx += 1;
             }
           }
-          const arr = this.rows;
-          this.rows = [...arr.splice(0, idx), src, ...arr];
+          this.addRessource(src, idx - 1);
         }
         // Add moved children and associated slots
-        this.addRessources(movedContent.ressources);
+        const idx = this.rows.findIndex((v) => v.id === srcId);
+        this.addRessources(movedContent.ressources, idx - 2);
         this.addEvents(movedContent.items);
         this.dispatchEvent(
           new CustomEvent("reorder-ressource", {

Неке датотеке нису приказане због велике количине промена