Mxgraph Как программно добавить текстовый элемент внутри фигуры? - PullRequest
0 голосов
/ 31 марта 2020

Я хочу добавить текстовый элемент внутри любой фигуры. Я могу добавить заполнитель программно, используя приведенный ниже код, но не смог переместить текст, просто изменив стиль. Я хотел, чтобы этикетка была перемещена в любую позицию.

var applyBtn = mxUtils.button(mxResources.get('apply'), function()
    {
        try
        {
            ui.hideDialog.apply(ui, arguments);

            // Clones and updates the value
            value = value.cloneNode(true);
            var removeLabel = false;
            for (var i = 0; i < names.length; i++)
            {
                if (texts[i] == null)
                {
                    value.removeAttribute(names[i]);
                }
                else
                {
                    value.setAttribute(names[i], texts[i].value);
                    //console.log(names[i]+"==="+texts[i].value);
                    removeLabel = removeLabel || (names[i] == 'placeholder' &&
                        value.getAttribute('placeholders') == '1');
                }
            }

            // Removes label if placeholder is assigned
            if (removeLabel)
            {
                value.removeAttribute('label');
            }
            // set booth id here
            value.setAttribute('label',value.getAttribute('booth_number'));
            graph.getModel().setValue(cell, value);
        }
        catch (e)
        {
            mxUtils.alert(e);
        }
    });

Выход

enter image description here

Требуется

So I wanted to add text element so user can move position easily

Заранее спасибо!

1 Ответ

0 голосов
/ 02 апреля 2020

Похоже, что настройка graph.vertexLabelsMovable = true; - это то, что вы ищете.

На основании этого примера (код здесь )

...