fix sorting
This commit is contained in:
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"main.js": {
|
||||
"file": "assets/main.46b77f3f.js",
|
||||
"file": "assets/main.016edc6c.js",
|
||||
"src": "main.js",
|
||||
"isEntry": true,
|
||||
"css": [
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
export function sortByField(from, to, edges, fieldName) {
|
||||
console.log(from)
|
||||
console.log(to)
|
||||
if (from === to) {
|
||||
return edges;
|
||||
}
|
||||
let edgesTosort = edges?.filter((ed) => ed.field === fieldName && ed.depth === 1) ?? [];
|
||||
let remainingEdge = edges?.filter((ed) => !(ed.field === fieldName && ed.depth === 1)) ?? [];
|
||||
|
||||
let edgesTosort = edges?.filter((ed) => ed.field === fieldName) ?? [];
|
||||
let remainingEdge = edges?.filter((ed) => ed.field !== fieldName) ?? [];
|
||||
|
||||
let fromElem = edgesTosort.splice(from, 1)[0];
|
||||
edgesTosort.splice(to, 0, fromElem);
|
||||
|
||||
edgesTosort = array_move(edgesTosort,from, to);
|
||||
return [...remainingEdge, ...edgesTosort];
|
||||
|
||||
}
|
||||
|
||||
function array_move(arr, old_index, new_index) {
|
||||
if (new_index >= arr.length) {
|
||||
var k = new_index - arr.length + 1;
|
||||
while (k--) {
|
||||
arr.push(undefined);
|
||||
}
|
||||
}
|
||||
arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);
|
||||
return arr; // for testing
|
||||
};
|
||||
@@ -1,7 +1,7 @@
|
||||
<script>
|
||||
import Sortable from "sortablejs";
|
||||
import { onMount, createEventDispatcher } from "svelte";
|
||||
export let sortableClass;
|
||||
export let sortableClass = "";
|
||||
// export let handle;
|
||||
export let isTable = false;
|
||||
export let sortableInstance;
|
||||
|
||||
@@ -104,8 +104,7 @@
|
||||
}
|
||||
|
||||
// remove trashed edges
|
||||
graph.edges = graph.edges?.filter((edge) => !edge._isTrashed && edge.source === record.id) ?? null;
|
||||
|
||||
graph.edges = graph.edges?.filter((edge) => !edge._isTrashed && edge.source === record.id);
|
||||
axios
|
||||
.post(channel.lucentUrl + "/records", {
|
||||
record: record,
|
||||
@@ -158,7 +157,7 @@
|
||||
|
||||
{#if !["_graph", "_info"].includes(activeContentTab) && isWritable}
|
||||
<div class="shadow-lg "
|
||||
style="position:fixed;bottom:0;left:0px;width:100%;background: rgb(206, 223, 210);z-index:1050"
|
||||
style="position:fixed;bottom:0;left:0px;width:100%;background: rgb(206, 223, 210);z-index:1050"
|
||||
>
|
||||
<div
|
||||
class="d-flex mt-3 mb-3 align-items-center justify-content-center"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
$: references = graph.edges
|
||||
.filter((edge) => edge.field === field.name)
|
||||
.map((edge) => {
|
||||
return graph.records.find((increc) => increc.id == edge.target && record.id == edge.source);
|
||||
return graph.records.find((increc) => increc.id === edge.target && record.id === edge.source);
|
||||
}).filter((rec) => (rec?.id ? true : false)) ?? [];
|
||||
|
||||
let collections = channel.schemas.filter((aschema) =>
|
||||
@@ -38,7 +38,6 @@
|
||||
}
|
||||
|
||||
function reorder(e) {
|
||||
|
||||
graph.edges = sortByField(e.detail.source, e.detail.target, graph.edges, field.name);
|
||||
}
|
||||
|
||||
@@ -46,7 +45,6 @@
|
||||
function insert(e) {
|
||||
e.preventDefault();
|
||||
graph = insertEdges(graph,record,e.detail.records,field.name,e.detail.action);
|
||||
console.log(graph)
|
||||
}
|
||||
|
||||
$:visibleColumns = [];
|
||||
@@ -64,7 +62,6 @@
|
||||
{/if}
|
||||
<div class="inline-card-wrapper">
|
||||
<ReferenceInlineButtons
|
||||
{field}
|
||||
buttonClass="mt-2"
|
||||
recordId={null}
|
||||
schemas={collections}
|
||||
|
||||
Reference in New Issue
Block a user