Я делаю редактор потоковых диаграмм с FabricJS, и у меня возникают проблемы с окном привязки / выбора группы и / или позиционированием дочернего элемента. Я не уверен, что происходит.
Мои вещи - fabric.Group
(активность) с fabric.Rect
и fabric.Text
внутри. Проблема возникает, когда я изменяю текст и хочу изменить размер Rect
с ним. Текст изменяется снаружи canvas
, поэтому не с IText
.
Работает так:
for(var i in finly.dossiertypes.workflow.activities ) {
if( finly.dossiertypes.workflow.activities[i].activityId === activityId ) {
var activity = finly.dossiertypes.workflow.activities[i];
var rect = activity._objects[0];
var text = activity._objects[1];
/**
* Set text
*/
text.set({
'text': name
}).setCoords();
/**
* Get width from text object
*/
var width = text.width + (finly.dossiertypes.workflow.activityPadding * 2);
/**
* Set rect width
*/
rect.set({
'width': width
}).setCoords();
/**
* Caculate group bounds
*/
activity._calcBounds( true );
break;
}
}
Что происходит, так это то, что rect
смещается вправо за пределы выбираемой группы. Как вы можете видеть, указатель мыши подсказывает, где находится группа. Правая сторона rect
недоступна для выбора, поскольку она находится за пределами group
.
![Rect shifting to right](https://i.stack.imgur.com/2aUvL.png)
Я пробовал несколько вещей, таких как установка ширины группы. Может ли кто-нибудь помочь мне с этим?