|
|
@@ -125,9 +125,10 @@ let Timeline = class Timeline extends lit_element_1.LitElement {
|
|
|
}
|
|
|
addRessources(list) {
|
|
|
return list.map((r) => this.addRessource(r));
|
|
|
+ 0;
|
|
|
}
|
|
|
addRessource(ressource, pos = Infinity) {
|
|
|
- var _a;
|
|
|
+ var _a, _b;
|
|
|
const existingRessource = this.getRessourceFromId(ressource.id);
|
|
|
if (existingRessource) {
|
|
|
return existingRessource;
|
|
|
@@ -136,18 +137,22 @@ let Timeline = class Timeline extends lit_element_1.LitElement {
|
|
|
if (r.parent !== undefined) {
|
|
|
r.parent = (_a = this.getRessourceFromId(r.parent.id)) !== null && _a !== void 0 ? _a : this.addRessource(r.parent);
|
|
|
const idx = this.rows.indexOf(r.parent);
|
|
|
+ const alreadyChild = (_b = r.parent) === null || _b === void 0 ? void 0 : _b.children.some((c) => c.id == r.id);
|
|
|
if (idx > -1) {
|
|
|
if (pos <= idx) {
|
|
|
this.rows.splice(idx + 1, 0, r);
|
|
|
- r.parent.children = [r, ...r.parent.children];
|
|
|
+ if (!alreadyChild)
|
|
|
+ r.parent.children = [r, ...r.parent.children];
|
|
|
}
|
|
|
else if (pos < idx + r.parent.children.length) {
|
|
|
this.rows.splice(pos, 0, r);
|
|
|
- r.parent.children.splice(pos - idx, 0, r);
|
|
|
+ if (!alreadyChild)
|
|
|
+ r.parent.children.splice(pos - idx, 0, r);
|
|
|
}
|
|
|
else {
|
|
|
this.rows.splice(idx + r.parent.children.length, 0, r);
|
|
|
- r.parent.children = [...r.parent.children, r];
|
|
|
+ if (!alreadyChild)
|
|
|
+ r.parent.children = [...r.parent.children, r];
|
|
|
}
|
|
|
}
|
|
|
else {
|