fix: bug with id
This commit is contained in:
parent
fb7f38e7df
commit
af0dec5431
@ -68,7 +68,24 @@ export const VERTICES: Vertex[] = [
|
|||||||
"point_37",
|
"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_7", label: "Вопрос 7", level: 2 },
|
||||||
{ id: "point_8", label: "Вопрос 8", level: 2 },
|
{ id: "point_8", label: "Вопрос 8", level: 2 },
|
||||||
{ id: "point_9", label: "Вопрос 9", 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_39", label: "Вопрос 39", level: 4 },
|
||||||
{ id: "point_40", label: "Вопрос 40", level: 4 },
|
{ id: "point_40", label: "Вопрос 40", level: 4 },
|
||||||
{ id: "point_41", label: "Вопрос 41", 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: "Вопрос " },
|
// { id: "point_", label: "Вопрос " },
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,6 @@
|
|||||||
import type { ElementDefinition } from "cytoscape";
|
import type { ElementDefinition } from "cytoscape";
|
||||||
import type { Vertex } from "./elements";
|
import type { Vertex } from "./elements";
|
||||||
|
|
||||||
type VertexIndent = {
|
|
||||||
id: string;
|
|
||||||
indent: number;
|
|
||||||
};
|
|
||||||
|
|
||||||
const sortElementsByLevel = (vertices: Vertex[]): Record<number, Vertex[]> => {
|
const sortElementsByLevel = (vertices: Vertex[]): Record<number, Vertex[]> => {
|
||||||
const sortedVertices: Record<number, Vertex[]> = {};
|
const sortedVertices: Record<number, Vertex[]> = {};
|
||||||
|
|
||||||
@ -27,9 +22,9 @@ const getEmptyVertexIndents = (
|
|||||||
indent: number,
|
indent: number,
|
||||||
currentIndent: number,
|
currentIndent: number,
|
||||||
level: number
|
level: number
|
||||||
): VertexIndent[] => {
|
): number[] => {
|
||||||
let topIndent = indent + currentIndent;
|
let topIndent = indent + currentIndent;
|
||||||
const indents: VertexIndent[] = [];
|
const indents: number[] = [];
|
||||||
|
|
||||||
elements.forEach(({ data, position }) => {
|
elements.forEach(({ data, position }) => {
|
||||||
const isEmptyVertex =
|
const isEmptyVertex =
|
||||||
@ -54,12 +49,12 @@ const getEmptyVertexIndents = (
|
|||||||
|
|
||||||
if (indent < minTopIndent) {
|
if (indent < minTopIndent) {
|
||||||
indent = minTopIndent;
|
indent = minTopIndent;
|
||||||
indents.push({ id, indent: minTopIndent });
|
indents.push(minTopIndent);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
indents.push({ id, indent: topIndent });
|
indents.push(topIndent);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -76,7 +71,7 @@ export const createGraphElements = (
|
|||||||
Object.values(sortedVertices).forEach((vertexItems) => {
|
Object.values(sortedVertices).forEach((vertexItems) => {
|
||||||
let indent = 0;
|
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 currentIndent = edges?.length ? edges?.length * 100 : 100;
|
||||||
const emptyVertexIndents = getEmptyVertexIndents(
|
const emptyVertexIndents = getEmptyVertexIndents(
|
||||||
elements,
|
elements,
|
||||||
@ -88,11 +83,7 @@ export const createGraphElements = (
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (emptyVertexIndents.length) {
|
if (emptyVertexIndents.length) {
|
||||||
const emptyVertexIndent = emptyVertexIndents.find(
|
indent = emptyVertexIndents[index] || indent;
|
||||||
(item) => item.id === id
|
|
||||||
);
|
|
||||||
|
|
||||||
indent = emptyVertexIndent?.indent || indent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
elements.push({
|
elements.push({
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user