Ich bin neu mit Jointjs und ich versuche, ein Rechteck mit Ports zu einer Linie zu beschränken.Gemeinsame JS - Wie ein Ereignis auf shapes.devs
Ich versuchte tutorial zu reproduzieren, die mit einem basic.Circle
, mit einem basic.Rect
aber nicht mit devs.Model
Könnte jemand explian mich funktioniert, warum und wie dieses Problem zu lösen? Vielen Dank im Voraus!
Hier ist mein Code:
var width=400, height=1000;
var ConstraintElementView = joint.dia.ElementView.extend({
pointermove: function(evt, x, y) {
joint.dia.ElementView.prototype.pointermove.apply(this, [evt, 100, y]);
}
});
var graph = new joint.dia.Graph;
var paper = new joint.dia.Paper({ el: $('#myholder'), width: width, height: height, gridSize: 1, model: graph, elementView: ConstraintElementView});
var m1 = new joint.shapes.devs.Model({
position: { x: 20, y: 20 },
size: { width: 90, height: 90 },
inPorts: [''],
outPorts: [''],
attrs: {
'.label': { text: 'Model', 'ref-x': .4, 'ref-y': .2 },
rect: { fill: '#2ECC71' },
'.inPorts circle': { fill: '#16A085' },
'.outPorts circle': { fill: '#E74C3C' }
}
});
var m2=m1.clone();
m2.translate(0,300);
var earth = new joint.shapes.basic.Circle({
position: { x: 100, y: 20 },
size: { width: 20, height: 20 },
attrs: { text: { text: 'earth' }, circle: { fill: '#2ECC71' } },
name: 'earth'
});
graph.addCell([m1, m2, earth]);
perfekte Antwort, danke für diesen klaren explainations! –
Ich bin froh, dass ich helfen konnte. – Roman
Danke, aber ich habe bemerkt, dass in ihrem [circle constraint tutorial] (https://resources.jointjs.com/tutorial/constraint-move-to-circle) die 'ElementView' um ein paar Events erweitert wurde. Ist es möglich, andere Ereignisse über die restricTranslate-Eigenschaft zu definieren? – CPHPython