diff --git a/src/pages/QuestionsMap/elements.ts b/src/pages/QuestionsMap/elements.ts index fd7eee4c..1f4e0025 100644 --- a/src/pages/QuestionsMap/elements.ts +++ b/src/pages/QuestionsMap/elements.ts @@ -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: "Вопрос " }, ]; diff --git a/src/pages/QuestionsMap/helper.ts b/src/pages/QuestionsMap/helper.ts index 7ddc33f8..de9a13db 100644 --- a/src/pages/QuestionsMap/helper.ts +++ b/src/pages/QuestionsMap/helper.ts @@ -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 => { const sortedVertices: Record = {}; @@ -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({