vis.js Иерархическая раскладка слева и справа не работает - PullRequest
0 голосов
/ 11 октября 2019

Я использую v4.21 из Vis.js

У меня есть следующее (https://imgur.com/a/Kk6b776).

Однако мне нужны они оба рядом, а не один под другим.

Мои параметры:

var options = {
        nodes : {
            shape : 'dot',
            size : 5,
            font : {
                size : 32
            },
            borderWidth : 2,
            shadow : false
        },
        edges : {
            width : 2,
            shadow : false,
            length : 1,
        },
        layout : {
            improvedLayout : false,
            hierarchical : {
                direction : "LR"
            }
        }
    };

И у меня есть функция, которая будет генерировать мне сеть. Для левого и правого отличий единственная разница состоит в том, что уровень уровня узлов равен 5/6/7 вдругой, чтобы расположить его по-другому.

function createCableLeft(fibres, elements) {
    var f_end = fibres + 1;
    var e_end = (fibres / elements) + 1;

    if ((fibres / elements) % 1 != 0) {
        console.log("REMAINDER")
        throw "Error -> Fibres must Divide Equally into Elements EG 144,12 OK | 144,11 NOT OK."
    }

    //Creates The Cable Node With ID 10000.
    var node = {
        id : fnc_cable_count,
        label : "C1",
        level : 1,
    }
    fnc_cable_count++;
    fnc_nodes.push(node);

    //Creates Elements Nodes With ID 1000 Upwards.
    for (var x = 1; x < e_end; x++) {
        var node = {
            id : fnc_element_count,
            label : "E" + x,
            group : x,
            level : 2,
        }
        var edge = {
            from : fnc_cable_count - 1,
            to : fnc_element_count,
        }
        fnc_element_count++
        fnc_nodes.push(node);
        fnc_edges.push(edge);

    }
    //Create The Fibre Nodes With ID 1 Upwards.;
    for (var f = 1; f < f_end; f++) {
        var node = {
            id : fnc_fibre_count,
            label : "F" + f,
            level : 3,
        }
        fnc_fibre_count++;
        fnc_nodes.push(node);
    }

    //Creates All The Edges.
    fnc_element_count = fnc_element_count - e_end + 1
    fnc_fibre_count = fnc_fibre_count - fibres
    for (var x = 1; x < e_end; x++) {
        for (var e = 1; e < elements + 1; e++) {
            var edge = {
                from : fnc_element_count,
                to : fnc_fibre_count,
            }
            console.log(edge);
            fnc_fibre_count++;
            fnc_edges.push(edge);
        }
        fnc_element_count++
        console.log(fnc_element_count)
    }
}

Я пытаюсь получить оба эти рядом?

Кто-нибудь знает способ сделать это? Это действительно возможно?

...