Как создать новую пользовательскую строку подключения в rappid js - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу создать новую пользовательскую ссылку в rappid js, и я могу создать ее, в какой-то степени единственное, чего не хватает, так это того, что она не подключается к элементу. Он просто создается независимо.

Вот код, который необходимо изменить, чтобы он начал подключать элемент.

halo.on({
          'action:myaction:pointerdown': function(evt, x, y) {

             var link = new joint.shapes.standard.Link({
                    source: { x: x, y: y },
                    target: { x: x, y: y },
                    router: { name: 'orthogonal' },
                    connector: { name: 'rounded' },
                    attrs: {
                        line: {
                            stroke: '#333333',
                            strokeWidth: 3,
                            strokeLinejoin: 'round',
                            targetMarker: {
                                'type': 'path',
                                'd': 'M 10 -5 0 0 10 5 z'
                            }
                        },
                        wrapper: {
                            connection: false,
                            strokeWidth: 10,
                            strokeLinejoin: 'round'
                        }
                    },

                    position: {
                        distance: 100, // default absolute position
                        args: {
                            absoluteDistance: true
                        }
                    }
                });

            link.addTo(paper.model);
            evt.data = { link: link, x: x, y: y };
          },
          'action:myaction:pointermove': function(evt, x, y) {
                evt.data.link.router('orthogonal');
                evt.data.link.connector('rounded');
                evt.data.link.set('target', { x: x, y: y });
          },
           'action:myaction:pointerup': function(evt,x,y) {
            var target = evt.data.link.get('target');
            console.log(evt.data);
            console.log(x);
            console.log(y);
            if (evt.data.x === target.x && evt.data.y === target.y) {
                // remove zero-length links
                evt.data.link.target({ x: x, y: y });
                evt.data.link.router('orthogonal');
                evt.data.link.connector('rounded');
                evt.data.link.remove();

            }
          } 
        }); 

Любая помощь будет принята с благодарностью. Спасибо

...