fix sorting

This commit is contained in:
2023-10-30 14:33:35 +02:00
parent 48e0fc1c15
commit 814e9c35bc
6 changed files with 84 additions and 83 deletions
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,6 +1,6 @@
{
"main.js": {
"file": "assets/main.46b77f3f.js",
"file": "assets/main.016edc6c.js",
"src": "main.js",
"isEntry": true,
"css": [
+14 -9
View File
@@ -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 -1
View File
@@ -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;
+2 -3
View File
@@ -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}