Javascript 大鹏风格节点';组织结构图库

Javascript 大鹏风格节点';组织结构图库,javascript,jquery,css,orgchart,getorgchart,Javascript,Jquery,Css,Orgchart,Getorgchart,我正在使用Dabeng Orgchart库(great library,顺便说一句),但我想自定义节点,特别是创建一个菱形,而不是大多数示例中的正方形。我见过createNode方法,我发现了创建菱形的各种css,但我不知道如何将其集成到dabeng组织图中。我想做的是,如果满足某些条件,则显示菱形,如果满足其他条件,则显示默认的方形。我在谷歌搜索过,但没有改变形状的例子 我建议您改用getorgchart,它是高度可定制的 我建议您使用getorgchart,它是高度可定制的 我目前正在使

我正在使用Dabeng Orgchart库(great library,顺便说一句),但我想自定义节点,特别是创建一个菱形,而不是大多数示例中的正方形。我见过createNode方法,我发现了创建菱形的各种css,但我不知道如何将其集成到dabeng组织图中。我想做的是,如果满足某些条件,则显示菱形,如果满足其他条件,则显示默认的方形。我在谷歌搜索过,但没有改变形状的例子

我建议您改用getorgchart,它是高度可定制的


我建议您使用getorgchart,它是高度可定制的


我目前正在使用orgchart的nodeTemplate属性。例如:

var oc = $('#container').orgchart({
   ...
   'nodeTemplate': orgTemplate,
   ...
});
在orgtemplate函数中,数据是包含在orgchart数据中的任何内容(在本例中是名称和标题)。可以用其他标志填充此对象。例如,我有一个图表,其中创建了新节点,并允许用户在将数据提交到图形之前将数据输入到节点中。我的数据对象中有一个data.isSaved标志,用于告诉我的模板是否保存了此节点。如果保存了,我会进行内联html检查(在AngularJS中使用ngIf等,如果您对AngularJS非常熟悉的话),以根据数据更改模板

在VanillaJS中,您只需返回纯HTML,而无需在自己的节点模板中添加$compile和所有附加到pump的内容。实际上,您可以在函数中执行检查,例如:

function orgTemplate(data) {
    if(data.isDiamond) {
       return '<div class="diamond">...</div>';
    } else {
       return '<div class="square">...</div>';
    }
}
函数或模板(数据){
如果(数据为isDiamond){
返回“…”;
}否则{
返回“…”;
}
}
我在我的网站上使用AngularJS,所以我定义了新的作用域,并使用AngularJS指令使其更具可扩展性。这是供任何其他人谁偶然发现这一点的参考。我的orgTemplate函数定义如下

function orgTemplate(data) {
    var newScope = $scope.$new(true);
    newScope.data = data;
    return ( $compile('<div data-ng-include="\'.../template.html\'"></div>')(newScope));
}
函数或模板(数据){
var newScope=$scope.$new(true);
newScope.data=数据;
返回($compile(“”)(newScope));
}
这是组织结构图,我相信你已经浏览过很多次了。如果查看底部,您将看到上面提到的nodeTemplate属性定义。希望这有帮助


旁注:在使用自定义模板时,我在设置样式方面遇到了一些问题,特别是在定义不同的图形方向(即“l2r”)时。

我目前正在使用orgchart的nodeTemplate属性。例如:

var oc = $('#container').orgchart({
   ...
   'nodeTemplate': orgTemplate,
   ...
});
在orgtemplate函数中,数据是包含在orgchart数据中的任何内容(在本例中是名称和标题)。可以用其他标志填充此对象。例如,我有一个图表,其中创建了新节点,并允许用户在将数据提交到图形之前将数据输入到节点中。我的数据对象中有一个data.isSaved标志,用于告诉我的模板是否保存了此节点。如果保存了,我会进行内联html检查(在AngularJS中使用ngIf等,如果您对AngularJS非常熟悉的话),以根据数据更改模板

在VanillaJS中,您只需返回纯HTML,而无需在自己的节点模板中添加$compile和所有附加到pump的内容。实际上,您可以在函数中执行检查,例如:

function orgTemplate(data) {
    if(data.isDiamond) {
       return '<div class="diamond">...</div>';
    } else {
       return '<div class="square">...</div>';
    }
}
函数或模板(数据){
如果(数据为isDiamond){
返回“…”;
}否则{
返回“…”;
}
}
我在我的网站上使用AngularJS,所以我定义了新的作用域,并使用AngularJS指令使其更具可扩展性。这是供任何其他人谁偶然发现这一点的参考。我的orgTemplate函数定义如下

function orgTemplate(data) {
    var newScope = $scope.$new(true);
    newScope.data = data;
    return ( $compile('<div data-ng-include="\'.../template.html\'"></div>')(newScope));
}
函数或模板(数据){
var newScope=$scope.$new(true);
newScope.data=数据;
返回($compile(“”)(newScope));
}
这是组织结构图,我相信你已经浏览过很多次了。如果查看底部,您将看到上面提到的nodeTemplate属性定义。希望这有帮助


旁注:在使用自定义模板时,我在设置样式方面遇到了一些问题,特别是在定义不同的图形方向(即“l2r”)时。

您现在可以使用选项“ndoeTemplate”自定义自己的节点结构或形状:

var nodeTemplate=函数(数据){
返回`
${data.office}
${data.name}
${data.title}
`;
}
var oc=$(“#图表容器”).orgchart({
“数据”:ds,
“nodeTemplate”:nodeTemplate
});

您可以随意使用它。

现在,您可以使用选项“ndoeTemplate”自定义自己的节点结构或形状:

var nodeTemplate=函数(数据){
返回`
${data.office}
${data.name}
${data.title}
`;
}
var oc=$(“#图表容器”).orgchart({
“数据”:ds,
“nodeTemplate”:nodeTemplate
});

请随意使用。

我认为这一需求与orgchart plguin没有什么关系。您可以在orgchart中为节点定义任何类型的形状。我认为这个需求与orgchart plguin没有什么关系。您可以在orgchart中为节点定义任何类型的形状。请告诉我class=“content”如何在这里工作bcs我在指定链接找不到任何css请告诉我class=“content”如何在这里工作bcs我在指定链接找不到任何css