1.JointJs Paper

关于JointJs的介绍,有一篇比较好JointJS介绍

第一个类Paperjoint.dia.Paper

属性

  • el css选择器,Paper将在该Css选择的Container下画SVG图.例如:el=‘#paper‘,则在
    <div id=‘paper‘></div>下面添加SVG DOM节点
  • width paper的宽度
  • height paper的高度
  • origin paper原点的坐标,默认{x:0,y:0}
  • gridSzie 默认为1
  • model joint.dia.Graph object,根据MVC,该属性对应model,paper对应view
  • perpendicularLinks 连接线是否正交,默认为false
  • elementView 负责渲染graph ,默认joint.dia.ElementView
  • linkView 负责渲染links,默认joint.dia.LinkView
  • defaultLink 用户动态创建的link(比如:从一个port drag 一条线),默认为joint.dia.Link,也可以是一个返回值类型为 joint.dia.Link函数function(cellView, magnet) {}
  • interactive 如果设置为false,则graph中的element和link将禁止操作
  • validateMagnet(cellView, magnet) magnet翻译成中文就是磁石,在JointJs中它代表的是一个DOM元素,当用户点击magnet时,这个函数判断是否创建Link
  • validateConnection(cellViewS, magnetS, cellViewT, magnetT, end, linkView)在source view/magnet (cellViewS/magnetS) and target view/magnet (cellViewT/magnetT)之间是否允许链接。
  • linkConnectionPoint(linkView, view, magnet, reference)

这个函数允许用户指定link在渲染时stick到元素的某个坐标。这个函数返回一个点{x,y}。当然jointJS也给我们提供了一个强大的函数shapePerimeterConnectionPoint
shapePerimeterConnectionPoint joint.util.shapePerimeterConnectionPoint(linkView, view, magnet, ref)
使用方式如下:

var paper = new joint.dia.Paper({
   ...
   linkConnectionPoint: joint.util.shapePerimeterConnectionPoint
   ...
})

效果如下:

  • snapLinks 当为true时,Link会寻找离它最近的元素进行闭合
  • linkPinning 当为true时,link可以终止于paper,也就是说link可以连接于一个点,而不是element
  • markAvailable 当用户点击magnet时,界面上显示可以连接的magnet。为了突出可以连接的magnet,添加必要的css
    /* port styling */
    .available-magnet {
        fill: yellow;
    }
    
    /* element styling */
    .available-cell rect {
        stroke-dasharray: 5, 2;
    }
    
  • async
  • embeddingMode 当为true时,paper改变为embed模式,具体说:用户可以将一个元素拖拽到另一个元素里面。在该模式下,所有的link和element会多一个z属性,就行css中的阴影有一个z属性表示层级。为了控制哪些元素可以embed,需要配置 validateEmbedding()。总之这个属性对于层级图是必须的。
  • validateEmbedding(childView, parentView) 如果childView允许被潜入到parentView,返回true.默认所有元素都可以embed到其他元素中
  • restrictTranslate/function(elementView) 当设置为true的时候,用户将不能将elemnt移动到paper边界之外。默认为false。当然它最大的好处不是这个,当给该属性配置一个函数时,你可以限制子元素不可以拖拽出父元素,比如:
restrictTranslate: function(elementView) {
    var parentId = elementView.model.get(‘parent‘);
    return parentId && this.model.getCell(parentId).getBBox();
}

本文转载于:1.JointJs Paper

原文地址:https://www.cnblogs.com/homehtml/p/12651277.html

时间: 2024-10-10 17:24:17

1.JointJs Paper的相关文章

JointJS流程图

最近项目上需要用流程图来做问题定界分析,之前有同事用jsPlumb做过,但是阅读代码后觉得比较麻烦,所以自己又找了一圈,找到一个叫Dagre-D3的开源类库,画出来的效果如下图,Dagre-D3最大的优点就是可以实现自动布局,你只需要put数据就可以了,但是缺点就是自动布局后的连线会比较乱,而且连线不是横平竖直的,对于流程图不复杂的还好,稍微复杂点画出来的连线就没法看.最后还是被pass了. jsPlumb地址:https://jsplumbtoolkit.com Dagre-D3 Git地址:

vue JointJS 实例demo

前言 越来越发现,前端深入好难哦!虐成渣渣了. 需求:前端绘制灵活的关系图(此demo还是简单的,我的需求才跨出一小步) 安装 npm install jointjs 容器,工具栏 <template> <div id="toolbar"> <button class="btn add-question" :click='addNode'>Add Node</button> <button class="

JointJS:JavaScript 流程图绘制框架

目录 JointJS:JavaScript 流程图绘制框架 JointJS 简介 JointJS Hello world 前后端分离架构 其他 自动布局 Automatic layout 使用 HTML 定制元素 JointJS:JavaScript 流程图绘制框架 最近调研了js画流程图的框架,最后选择了Joint.配合上 dagre 可以画出像模像样的流程图. JointJS 简介 JointJS 是一个开源前端框架,支持绘制各种各样的流程图.工作流图等.Rappid 是 Joint 的商业

TOJ 2944 Mussy Paper

2944.   Mussy Paper Time Limit: 2.0 Seconds   Memory Limit: 65536K    Special JudgeTotal Runs: 381   Accepted Runs: 98 A good mathematical joke is better, and better mathematics, than a dozen mediocre papers.--J E Littlewood RoBa, an undergraduate st

Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection

Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11  19:47:46   CVPR 2017 This paper use GAN to handle the issue of small object detection which is a very hard problem in general object detection. As shown in the followin

AAAI 2016 paper阅读

本篇文章调研一些感兴趣的AAAI 2016 papers.科研要多读paper!!! Learning to Generate Posters of Scientific Papers,Yuting Qiang, Yanwei Fu, Yanwen Guo, Zhi-Hua Zhou and Leonid Sigal. http://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/aaai16poster.pdf 这篇paper研究从科技论文中生成海报

paper 61:计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接

转载出处:blog.csdn.net/carson2005 以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV领域的paper,代码,CV领域的最新动态,国内的应用情况等等.打算从事这个行业或者刚入门的朋友可以多关注这些网站,多了解一些CV的具体应用.搞研究的朋友也可以从中了解到很多牛人的研究动态.招生情况等.总之,我认为,知识只有分享才能产生更大的价值,真诚希望下面的链接能对朋友们有所帮助.(1)goog

练习题目 3 Game on Paper

 Game on Paper Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description One not particularly beautiful evening Valera got very bored. To amuse himself a little bit, he found the following game. He took a checkered whi

paper 27 :图像/视觉显著性检测技术发展情况梳理(Saliency Detection、Visual Attention)

1. 早期C. Koch与S. Ullman的研究工作. 他们提出了非常有影响力的生物启发模型. C. Koch and S. Ullman . Shifts in selective visual attention: Towards the underlying neural circuitry. Human Neurobiology, 4(4):219-227, 1985. C. Koch and T. Poggio. Predicting the Visual World: Silenc