Las siguientes propiedades globales son válidas en los
objetos nodeLayout y
linkLayout de un gráfico
o subgráfico de nivel superior:
Propiedad | Descripción |
---|---|
algorithm | Tipo de diseño que se va a ejecutar. Los valores válidos son: circular, forcedirected, grid, hierarchical, longlink, random, shortlink, basiclinkstyle y tree. |
<nombre de propiedad global del cliente> | Nombre de la propiedad en la clase de diseño en el cliente correspondiente. Pueden especificarse todas las propiedades globales de tipo number, boolean, point y rectangle. |
En este ejemplo se establecen los valores de dos
propiedades globales con un diseño
forcedirected:
"nodeLayout": { "algorithm":"forcedirected", "preferredLinkLength": 100, "respectNodeSizes": true },
En el gráfico publicado en el servidor, los objetos
nodeLayout y
linkLayout pueden estar
presentes en cualquier subgráfico para el que el cliente desee que se
ejecute el diseño. Le permite combinar algoritmos de diseño para
distintos subgráficos. También permite aplicar el mismo algoritmo con
parámetros diferentes, como en el diseño de gráficos en el cliente.
La ausencia de los objetos
nodeLayout o
linkLayout para un
gráfico o subgráfico determinado indica que no debe ejecutarse ningún
diseño de nodos o enlaces para este gráfico o subgráfico.
Restricciones del diseño jerárquico
El Diseño jerárquico en el cliente proporciona una API
de personalización avanzada utilizando distintos tipos de
restricciones. En JSON, la propiedad
constraints describe las
restricciones en una matriz, cuyos elementos son objetos JSON con las
siguientes propiedades:
Propiedad | Descripción |
---|---|
name | Tipo de restricción. Los valores válidos son: LevelRangeConstraint, GroupSpreadConstraint, RelativeLevelConstraint, ExtremityConstraint, RelativePositionConstraint, SameLevelConstraint, SideBySideConstraint y SwimLaneConstraint. |
<nombre de propiedad de restricción del cliente> | Valor de la propiedad de restricción. |
En este ejemplo se describe una restricción del tipo LevelRangeConstraint:
"nodeLayout":{ "algorithm":"hierarchical", "constraints":[ { "name":"LevelRangeConstraint", "minLevel":0, "maxLevel":1, "nodes":[ { "id":"1" }, { "id":"2" } ] } ] ...
Nota
De forma parecida al diseño en el cliente, el diseño en
el servidor crea restricciones de carril del diseño jerárquico
(HierarchicalSwimLaneConstraint)
automáticamente a partir de los contenedores de tipo
SwimLane.
Parámetros de agrupación en clúster del diseño circular
El Diseño circular en el cliente proporciona una API
para especificar clústeres. En JSON, la propiedad
clusterIds describe los
clústeres en una matriz, cuyos elementos son objetos JSON con las
siguientes propiedades:
Propiedad | Descripción |
---|---|
name o number | Nombre o número del clúster. La propiedad name, de tipo String, la utilizan los clústeres del cliente identificados por la clase CircularClusterName. La propiedad number, de tipo integer, la utilizan los clústeres del cliente identificados por la clase CircularClusterNumber. |
nodes | Matriz que describe los nodos que pertenecen al clúster especificado. Para cada nodo, se admiten los atributos siguientes: id, index y starCenter. |
En este ejemplo se describe un clúster de tipo
CircularClusterName y un
clúster de tipo
CircularClusterNumber:
"nodeLayout":{ "algorithm":"circular", "clusterIds":[ { "name":"first cluster", "nodes":[ { "id":"174", "index":33, "starCenter":true }, { "id":"190" } ] }, { "number":2, "nodes":[ { "id":"179" }, { "id":"187" } ] } ...