Hi Walter. I have a problem with dragging panel inside adornment. To dragging I change alignment value but if I change it value on one node according values change on other node too. I think problem with copyNodeDataFunction in model. I setted it (data) => JSON.parse(JSON.stringify(data)) but it not helped me.
function to dragging
const handleMoveAdornmentPanel = (evt, obj) => {
const { position } = obj.part;
const { documentPoint } = evt;
let dx = Math.abs(position.x - documentPoint.x);
let dy = Math.abs(position.y - documentPoint.y);
if (documentPoint.x - position.x < 0) {
dx = (-1) * dx;
}
if (documentPoint.y - position.y < 0) {
dy = (-1) * dy;
}
const newSpot = new go.Spot(0, 0, dx, dy);
obj.alignment = newSpot;
};
Node data model
{
key: 1,
adornmentList: [
{
_id: '',
path: '',
sittings: {
alignment: '0, 0, 0, 0'
}
}
],
}
My adornment
const MyAdornment = () => $(
go.Adornment,
'Spot',
{
zOrder: 2,
},
$(
go.Panel,
'Auto',
$(go.Shape, {
fill: null,
strokeWidth: 0,
stroke: 'black',
}),
$(go.Placeholder, { margin: 75 }),
),
new go.Binding('itemArray', 'adornmentList'),
{
itemTemplateMap: adornmentTemplateMap,
},
);