orgChart.js组织架构图

news2024/11/27 0:26:08

OrgChart.js是什么?

基于ES6的组织结构图插件。

特征

支持本地数据和远程数据(JSON)。

基于CSS3过渡的平滑扩展/折叠效果。

将图表对齐为4个方向。

允许用户通过拖放节点更改组织结构。

允许用户动态编辑组织图并将最终层次结构保存为JSON对象。

支持将图表导出为图片。

支持平移和缩放

用户可以采用多种解决方案来构建庞大的组织结构图(请参考多层或混合布局部分)

支持触摸的移动设备插件

使用

<link rel="stylesheet" href="../css/jquery.orgchart.css">

<script type="text/javascript" src="../js/jquery.orgchart.js"></script>

下载地址
GitHub - dabeng/OrgChart: It's a simple and direct organization chart plugin. Anytime you want a tree-like chart, you can turn to OrgChart.
案例

1.本地直接生成

hrml代码

  <div id="chart-container"></div>

js代码

(function($){
  $(function() {
    var datascource = {
      'name': 'Lao Lao',
      'title': 'general manager',
      'children': [
        { 'name': 'Bo Miao', 'title': 'department manager' },
        { 'name': 'Su Miao', 'title': 'department manager',
          'children': [
            { 'name': 'Tie Hua', 'title': 'senior engineer' },
            { 'name': 'Hei Hei', 'title': 'senior engineer',
              'children': [
                { 'name': 'Pang Pang', 'title': 'engineer' },
                { 'name': 'Xiang Xiang', 'title': 'UE engineer' }
              ]
            }
          ]
        },
        { 'name': 'Yu Jie', 'title': 'department manager' },
        { 'name': 'Yu Li', 'title': 'department manager' },
        { 'name': 'Hong Miao', 'title': 'department manager' },
        { 'name': 'Yu Wei', 'title': 'department manager' },
        { 'name': 'Chun Miao', 'title': 'department manager' },
        { 'name': 'Yu Tie', 'title': 'department manager' }
      ]
    };
    $('#chart-container').orgchart({
      'data' : datascource, //数据
      'nodeContent': 'title' //内容对应的字段
    });
  });
})(jQuery)

效果如下:


选项

名称类型必需默认描述
datajson or stringyes数据源用于构建组织结构图。 它可以是json对象或包含ajax请求发送到的URL的字符串。
panbooleannofalse如果用户启用此选项,则用户可以通过鼠标拖放来平移组织结构图。
zoombooleannofalse如果用户启用此选项,用户可以通过鼠标滚轮缩放/缩小组织结构图。
zoominLimitnumberno7允许用户设置放大限制。
zoomoutLimitnumberno0.5允许用户设置缩小限制。
directionstringno"t2b"可用值是t2b(暗示“从上到下”,它是默认值),b2t(暗示“从下到上”),l2r(暗示“从左到右”),r2l(暗示“从右到左”)。
verticalLevelinteger(>=2)no用户可以使用此选项从指定级别垂直对齐节点。
toggleSiblingsRespbooleannofalse启用此选项后,用户可以通过单击左/右箭头分别显示/隐藏左/右兄弟节点。
nodeTitlestringno"name"它将datasource的一个属性设置为orgchart节点的title部分的文本内容。 实际上,用户可以创建一个只有nodeTitle选项的简单orghcart。
nodeIdstringno"id"它将datasource的一个属性设置为每个orgchart节点的唯一标识符。
parentNodeSymbolstringno"fa-users" 使用font awesome图标表示该节点具有子节点。
ajaxURLjsonno它包括四个特性 ,父母,孩子,兄弟姐妹,家庭(要求父节点和兄弟节点)。 顾名思义,不同的propety提供了发送不同节点的ajax请求的URL。
nodeContentstringno它将数据源的一个属性设置为orgchart节点的内容部分的文本内容。
nodeTemplatefunctionno它是一个模板生成函数,用于定制任何复杂的节点内部结构。 它只收到一个参数:“data”代表json datasoure,它将用于渲染一个节点。
createNodefunctionno它是一个用于自定义每个orgchart节点的回调函数。 它收到两个参数:“$node”代表单节点div的jquery对象; “data”代表单个节点的数据源。
exportButtonbooleannofalse它启用了orgchart的导出按钮。
exportFilenamestringno"Orgchart"将当前组织图导出为图片时,它是文件名。
visibleLevelpositiveintegerno它表示在最开始的orgchart扩展到的级别。
exportFileextensionstringno"png"可用值为png和pdf。
chartClassstringno""当您想在一个页面上实例化多个组织结构图时,您应该为它们添加不同的类名以区分它们。
draggablebooleannofalse如果用户启用此选项,则可以拖放orgchart的节点。 注意:由于对HTML5拖放API的支持不足,此功能在IE上不起作用。
dropCriteriafunctionno用户可以构建自己的标准来限制拖动节点和放置区域之间的关系。 此外,此函数接受三个参数(draggedNode,dragZone,dropZone),只返回boolen值。
initCompletedfunctionno了解表的完全初始化,数据加载和呈现的时间通常很有用,尤其是在使用ajax数据源时。 它收到了一个参数:“$chart”代表初始化图表的jquery对象。

方法
在制定容器加入组织架构图:
var oc = $container.orgchart(options);

组织架构图初始化和重载:
init(newOptions)

为当前组织架构图添加父节点:
.addParent(root,data)
-root:dom节点,默认指向根节点,用于覆盖出事选项
-data:json对象,用于构建根节点的数据源

为指定节点添加兄弟节点:
.addSiblings(node,data)
-node:dome节点,基于此节点添加兄弟节点
-data:用于构建兄弟节点的数据源

为制定节点添加子节点
.addChildren(node,data)
-node:dome节点,基于此节点添加子节点
-data:用于构建子节点的数据源

删除指定节点
.removeNodes(node)
-node:dome节点,要删除的

获取orgchart的层次结构关系,例如,在编辑组织结构图之后,您可以将此方法的返回值发送到服务器端并保存orghcart的新状态。
.getHierarchy()

以编程方式隐藏任何特定节点(.node元素)的子节点
##### .hideChildren(node)

以编程方式显示任何特定节点(.node元素)的子节点
.showChildren(node)

以编程方式隐藏任何特定节点(.node元素)的兄弟节点
.hideSiblings(node,direction)

以编程方式显示任何特定节点(.node元素)的兄弟节点
.showSiblings(node,direction)

此方法返回相关节点的显示状态
.getNodeState(node,relation)

返回与指定节点相关的节点
getRelatedNodes($node, relation)

用于放大缩小图表
setChartScale($chart, newScale)

许您将当前组织结构导出为png或pdf文件
export(exportFilename, exportFileextension)



作者:她的昵称w
链接:https://www.jianshu.com/p/094c2256c5ed
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1089282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c语言表达式求值--整型提升

什么是整型提升&#xff1f; C的整型算术运算总是至少以缺省整型类型的精度来进行的。 为了获得这个精度&#xff0c;表达式中的字符和短整型操作数在使用之前被转换为普通整型&#xff0c;这种转换称为整型提升。 什么叫缺省整数类型&#xff1f;缺省在计算机里面是默认的意…

第三章 内存管理 一、内存的基础知识

目录 一、什么是内存 二、有何作用 三、常用数量单位 四、指令的工作原理 五、装入方式 1、绝对装入 2、可重定位装入&#xff08;静态重定位&#xff09; 3、动态运行时装入&#xff08;动态重定位&#xff09; 六、从写程序到程序运行 七、链接的三种方式 1、静态…

MySQL建表操作和用户权限

1.创建数据库school&#xff0c;字符集为utf8 mysql> create database school character set utf8; 2.在school数据库中创建Student和Score表 mysql> create table school.student( -> Id int(10) primary key, -> Stu_id int(10) not null, -> C_n…

服务运营 |摘要:学术+业界-近期前沿运筹医疗合作精选

推文作者&#xff1a;李舒湉 编者按 本文归纳整理了近期INFORMS Journal on Applied Analytics中的相关业界合作研究。 这些研究成果体现了运筹学在医疗健康领域实践的效果。文中的学术业界合作使用了不同的研究工具。第一篇文章使用仿真模型帮助诊所进行不同拥挤程度下诊所使用…

【Java学习之道】日期与时间处理类

引言 在前面的章节中&#xff0c;我们介绍了Java语言的基础知识和核心技能&#xff0c;现在我们将进一步探讨Java中的常用类库和工具。这些工具和类库将帮助我们更高效地进行Java程序开发。在本节中&#xff0c;我们将一起学习日期与时间处理类的使用。 一、为什么需要日期和…

并发编程——1.java内存图及相关内容

这篇文章&#xff0c;我们来讲一下java的内存图及并发编程的预备内容。 首先&#xff0c;我们来看一下下面的这两段代码&#xff1a; 下面&#xff0c;我们给出上面这两段代码在运行时的内存结构图&#xff0c;如下图所示&#xff1a; 下面&#xff0c;我们来具体的讲解一下。…

解锁机器学习-梯度下降:从技术到实战的全面指南

目录 一、简介什么是梯度下降&#xff1f;为什么梯度下降重要&#xff1f; 二、梯度下降的数学原理代价函数&#xff08;Cost Function&#xff09;梯度&#xff08;Gradient&#xff09;更新规则代码示例&#xff1a;基础的梯度下降更新规则 三、批量梯度下降&#xff08;Batc…

java io读取数据

1.字节流读取数据 2.字节流读取数据&#xff1a; read&#xff08;&#xff09; package wwx;import jdk.swing.interop.SwingInterOpUtils;import java.io.*; import java.nio.charset.StandardCharsets;public class Test {public static void main(String[] args) {FileInp…

1.1 向量与线性组合

一、向量的基础知识 两个独立的数字 v 1 v_1 v1​ 和 v 2 v_2 v2​&#xff0c;将它们配对可以产生一个二维向量 v \boldsymbol{v} v&#xff1a; 列向量 v v [ v 1 v 2 ] v 1 v 的第一个分量 v 2 v 的第二个分量 \textbf{列向量}\,\boldsymbol v\kern 10pt\boldsymbol …

机器人制作开源方案 | 杠杆式6轮爬楼机器人

1. 功能描述 本文示例将实现R281b样机杠杆式6轮爬楼机器人爬楼梯的功能&#xff08;注意&#xff1a;演示视频中为了增加轮胎的抓地力&#xff0c;在轮胎上贴了双面胶&#xff0c;请大家留意&#xff09;。 2. 结构说明 杠杆式6轮爬楼机器人是一种专门用于爬升楼梯或不平坦地面…

thinkphp6 - 超详细使用阿里云短信服务发送验证码功能,TP框架调用对接阿里云短信发验证码(详细示例代码,一键复制开箱即用)

效果图 在thinkphp 5/6 框架(只要不是太低的版本就能用)中,实现接入调用阿里云短信服务详细教程,整个配置过程及示例代码保证小白也能轻松完成! 直接复制就行,改个阿里云参数就能用了。

MongoDB 简介和安装

一、MongoDB 相关概念 1.1 业务应用场景 1.1.1 三高需求 传统的关系型数据库&#xff08;如 MySQL&#xff09; &#xff0c;在数据操作的 “三高” 需求以及应对 Web2.0 的网站需求面前&#xff0c;显得力不从心。”三高“ 需求如下所示&#xff0c;而 MongoDB 可应对 “三高…

C++入门指南:类和对象总结友元类笔记(下)

C入门指南:类和对象总结友元类笔记&#xff08;下&#xff09; 一、深度剖析构造函数1.1 构造函数体赋值1.2 初始化列表1.3 explicit关键字 二、static成员2.1 概念2.2 特性 三、友元3.1 友元函数3.2 友元类 四、 内部类4.1 概念4.2 特征 五、拷贝对象时的一些编译器优化六、深…

【C++】C++11 ——— 类的新功能

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C学习 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【C】STL…

JAVA中的垃圾回收

JVM规范说了并不需要必须回收方法区&#xff0c;不具有普遍性&#xff0c;永久代使用的是JVM之外的内存 引用计数:效率要比可达性分析要强&#xff0c;随时发现&#xff0c;随时回收&#xff0c;实现简单&#xff0c;但是可能存在内存泄漏 局部变量表&#xff0c;静态引用变量 …

Radius OTP实现VPN登录认证 安当加密

实现Radius OTP认证来完成VPN登录&#xff0c;需要使用支持Radius协议的VPN设备和客户端&#xff0c;以及一个Radius服务器来处理用户认证。 安当ASP身份认证平台作为一个企业通用的身份认证系统&#xff0c;集成了Radius认证功能&#xff0c;可满足所有支持radius认证的设备登…

【string题解 C++】字符串相乘 | 翻转字符串III:翻转单词

字符串相乘 题面 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定两个以字符串形式表示的非负整数 num1 和 num2&#xff0c;返回 num1 和 num2 的乘积&#xff0c;它们的乘积也表示为字符串形式。 注意&#xff1a;不能使用任何内置的 BigIn…

基本微信小程序的电影票务系统-电影票预订系统

项目介绍 在传统的模式下&#xff0c;电影购票需要到当地的影院进行线下购票&#xff0c;既浪费时间&#xff0c;又消耗人力。线上购票可以满足消费者查看电影信息及购买电影票的需求&#xff0c;在一定程度上降低经济和时间成本[9]。目前已有一些手机app可以线上购票&#xf…

优化|优化处理可再生希尔伯特核空间的非参数回归中的协变量偏移

原文&#xff1a;Optimally tackling covariate shift in RKHS-based nonparametric regression. The Annals of Statistics, 51(2), pp.738-761, 2023.​ 原文作者&#xff1a;Cong Ma, Reese Pathak, Martin J. Wainwright​ 论文解读者&#xff1a;赵进 编者按&#xff1a; …

无名管道和有名管道

进程间通信的几种方式 无名管道&#xff08;pipe&#xff09; 无名管道&#xff08;Unnamed Pipe&#xff09;是一种在进程间进行单向通信的机制。它可以用于父进程与子进程之间的通信&#xff0c;或者同一父进程中不同子进程之间的通信。无名管道是一种特殊的文件&#xff0…