При нажатии на пробеле бумаги будет добавлена новая ячейка:Изменения: событие положения для каждой ячейки в бумаге с помощью joint.js
paper.on({
'blank:pointerdblclick': function(event, x, y) {
var rect = new joint.shapes.app.Standard({
position: { x: x, y: y },
size: { width: 100, height: 80 },
});
graph.addCell(rect);
rect.on('change:position', function() {
paper.fitToContent();
});
}
});
Но как change:position
события устанавливаются в blank:pointerdblclick
событие, оно просто срабатывает для новых элементов. Но он должен быть установлен для всех ячеек, существующих для этой статьи. Итак, для перемещения любой ячейки на бумаге функция fitToContent() должна быть выполнена ...
Как это сделать?
P.S .: Стандарт-элемент определяется следующим образом:
joint.shapes.app.Standard = joint.shapes.basic.Generic.extend({
markup: '<rect/><circle class="port-top"/><circle class="port-bottom"/><circle class="port-right"/><circle class="port-left"/><text/>',
defaults: joint.util.deepSupplement({
type: 'app.Standard',
attrs: {
...
}
}, joint.shapes.basic.Generic.prototype.defaults)
});