fix: bug with id
This commit is contained in:
parent
fb7f38e7df
commit
af0dec5431
@ -68,7 +68,24 @@ export const VERTICES: Vertex[] = [
|
||||
"point_37",
|
||||
],
|
||||
},
|
||||
{ id: "point_6", label: "Вопрос 6", level: 2 },
|
||||
{
|
||||
id: "point_6",
|
||||
label: "Вопрос 6",
|
||||
level: 2,
|
||||
edges: [
|
||||
"point_45",
|
||||
"point_46",
|
||||
"point_47",
|
||||
"point_48",
|
||||
"point_49",
|
||||
"point_50",
|
||||
"point_51",
|
||||
"point_52",
|
||||
"point_53",
|
||||
"point_54",
|
||||
"point_55",
|
||||
],
|
||||
},
|
||||
{ id: "point_7", label: "Вопрос 7", level: 2 },
|
||||
{ id: "point_8", label: "Вопрос 8", level: 2 },
|
||||
{ id: "point_9", label: "Вопрос 9", level: 2 },
|
||||
@ -109,6 +126,20 @@ export const VERTICES: Vertex[] = [
|
||||
{ id: "point_39", label: "Вопрос 39", level: 4 },
|
||||
{ id: "point_40", label: "Вопрос 40", level: 4 },
|
||||
{ id: "point_41", label: "Вопрос 41", level: 4 },
|
||||
{ id: "point_42", label: "Вопрос 42", level: 4 },
|
||||
{ id: "point_43", label: "Вопрос 43", level: 4 },
|
||||
{ id: "point_44", label: "Вопрос 44", level: 4 },
|
||||
{ id: "point_45", label: "Вопрос 45", level: 3 },
|
||||
{ id: "point_46", label: "Вопрос 46", level: 3 },
|
||||
{ id: "point_47", label: "Вопрос 47", level: 3 },
|
||||
{ id: "point_48", label: "Вопрос 48", level: 3 },
|
||||
{ id: "point_49", label: "Вопрос 49", level: 3 },
|
||||
{ id: "point_50", label: "Вопрос 50", level: 3 },
|
||||
{ id: "point_51", label: "Вопрос 51", level: 3 },
|
||||
{ id: "point_52", label: "Вопрос 52", level: 3 },
|
||||
{ id: "point_53", label: "Вопрос 53", level: 3 },
|
||||
{ id: "point_54", label: "Вопрос 54", level: 3 },
|
||||
{ id: "point_55", label: "Вопрос 55", level: 3 },
|
||||
// { id: "point_", label: "Вопрос " },
|
||||
];
|
||||
|
||||
|
||||
@ -1,11 +1,6 @@
|
||||
import type { ElementDefinition } from "cytoscape";
|
||||
import type { Vertex } from "./elements";
|
||||
|
||||
type VertexIndent = {
|
||||
id: string;
|
||||
indent: number;
|
||||
};
|
||||
|
||||
const sortElementsByLevel = (vertices: Vertex[]): Record<number, Vertex[]> => {
|
||||
const sortedVertices: Record<number, Vertex[]> = {};
|
||||
|
||||
@ -27,9 +22,9 @@ const getEmptyVertexIndents = (
|
||||
indent: number,
|
||||
currentIndent: number,
|
||||
level: number
|
||||
): VertexIndent[] => {
|
||||
): number[] => {
|
||||
let topIndent = indent + currentIndent;
|
||||
const indents: VertexIndent[] = [];
|
||||
const indents: number[] = [];
|
||||
|
||||
elements.forEach(({ data, position }) => {
|
||||
const isEmptyVertex =
|
||||
@ -54,12 +49,12 @@ const getEmptyVertexIndents = (
|
||||
|
||||
if (indent < minTopIndent) {
|
||||
indent = minTopIndent;
|
||||
indents.push({ id, indent: minTopIndent });
|
||||
indents.push(minTopIndent);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
indents.push({ id, indent: topIndent });
|
||||
indents.push(topIndent);
|
||||
}
|
||||
});
|
||||
|
||||
@ -76,7 +71,7 @@ export const createGraphElements = (
|
||||
Object.values(sortedVertices).forEach((vertexItems) => {
|
||||
let indent = 0;
|
||||
|
||||
vertexItems.forEach(({ id, label, level, edges }) => {
|
||||
vertexItems.forEach(({ id, label, level, edges }, index) => {
|
||||
const currentIndent = edges?.length ? edges?.length * 100 : 100;
|
||||
const emptyVertexIndents = getEmptyVertexIndents(
|
||||
elements,
|
||||
@ -88,11 +83,7 @@ export const createGraphElements = (
|
||||
);
|
||||
|
||||
if (emptyVertexIndents.length) {
|
||||
const emptyVertexIndent = emptyVertexIndents.find(
|
||||
(item) => item.id === id
|
||||
);
|
||||
|
||||
indent = emptyVertexIndent?.indent || indent;
|
||||
indent = emptyVertexIndents[index] || indent;
|
||||
}
|
||||
|
||||
elements.push({
|
||||
|
||||
Loading…
Reference in New Issue
Block a user