я могу изменить размер элементов по умолчанию на бумаге и трафарете? [Jointjs] [RappidJS] - PullRequest
0 голосов
/ 23 января 2019

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

1 Ответ

0 голосов
/ 31 января 2019

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

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

{
  type: 'standard.Image',
  size: { width: 100, height: 100 }, // stencil size
  paperSize: { width: 200, height: 200 }, // paper size
  attrs: { image: { xlinkHref: 'image.png' }}
}

Затем используйте dragEndClone параметр трафарета для клонирования и изменения размера элемента.

new joint.ui.Stencil({
  dragEndClone: function(el) {
    var clone = el.clone();
    var paperSize = el.get('paperSize');
    if (paperSize) {
      clone.resize(paperSize.width, paperSize.height);
      clone.unset('paperSize');
    }
    return clone; 
  }
});

Кроме того, вы можете использовать dragStartClone, чтобы использовать размер бумаги, как только пользователь начнет перетаскивать элемент из трафарета.

...