GoJS изменяет размер каждого элемента диаграммы

#javascript #gojs

#javascript #gojs

Вопрос:

Моя диаграмма содержит элементы фиксированного размера. Например, у меня есть пара элементов с разными размерами: первый — 250×200 пикселей, второй — 307x501px и т.д.

Есть много панелей, фигур и т.д.

Есть ли какой-либо способ изменить размер / масштаб каждого элемента на текущей диаграмме?

Например, я хочу удвоить размер каждого элемента, поэтому я хотел бы просто умножить его на 2.

 diagram.scale = diagram.scale * 2; //resize elements like 250px X 200px to 500px X 400px
  

Я читал о масштабе и изменении размера из документации, но масштабирование, похоже, не работает.

Я не прикрепляю никакого кода, потому что это общий вопрос.

Ответ №1:

Я бы подумал, что это сработает (чтобы удвоить масштаб диаграммы), но это не совсем изменение размера элементов.

Вы можете программно перебирать все узлы:

 myDiagram.startTransaction();
myDiagram.nodes.each(function(node) {
  node.scale = node.scale * 2;
});
myDiagram.commitTransaction();
  

Или же измените их размер, установив их width и height или установив width и height какого-либо элемента внутри узла.

Возможно, это связано в зависимости от того, что вы пытаетесь сделать: это расширение инструмента демонстрирует, как изменить инструмент изменения размера для работы с множественным выбором: https://gojs.net/latest/extensions/ResizeMultiple.html