@scalar/api-client
Version:
the open source API testing client
33 lines (32 loc) • 923 B
JavaScript
function U(l, v) {
return {
handleDragEnd: (t, d) => {
if (!t || !d)
return;
const { id: s, parentId: i } = t, { id: x, parentId: p, offset: u } = d;
if (i !== p)
return;
const e = l.value.find((n) => n.uid === i);
if (!e || !e["x-scalar-environments"])
return;
const o = e["x-scalar-environments"], r = Object.keys(o);
({ ...o });
const f = r.findIndex((n) => n === s);
r.splice(f, 1);
const g = r.findIndex((n) => n === x) + (u === 1 ? 1 : 0);
r.splice(g, 0, s);
const I = r.reduce(
(n, a) => {
const c = o[a];
return c && (n[a] = c), n;
},
{}
);
e["x-scalar-environments"] = I, v.edit(e.uid, "x-scalar-environments", e["x-scalar-environments"]);
},
isDroppable: (t, d) => t.parentId === d.parentId
};
}
export {
U as environmentDragHandlerFactory
};