A template defines the graphical representation of a
node or a link with a string or an object description of the node
or link contents. A descrição é baseada na especificação de serialização dojox.gfx
(consulte
http://docs.dojocampus.org/dojox/gfx).
Este mecanismo é chamado de modelagem.
Na terminologia do Dojo Diagrammer, um modelo é uma descrição
da representação gráfica de um nó ou link. It is expressed
as a JSON string but it can also be a plain JavaScript object.
O modelo a seguir exibe um nó como uma forma retangular azul
básica. Ele define a forma gráfica como uma forma Rect GFX (indicada pela
propriedade de tipo 'rect') com um tamanho de 130 x 80 pixels e uma cor de
preenchimento azul sólida:
1. { 2. shape: { 3. type:'rect', 4. width:130, 5. height:80 6. }, 7. fill: 'blue' 8.}
O local da forma retangular não é especificado e, portanto, é
configurado como o valor padrão (0,0).
Para que um nó contenha mais de uma forma, o modelo deve
definir uma matriz de nível superior que contenha formas-filhas.
O modelo a seguir exibe uma forma retangular associada a uma
forma de texto.
1.[ 2.{ 3. shape: { 4. x: 0, 5. y: 0, 6. width: 80, 7. height: 40, 8. r: 5, 9. type: 'rect' 10. }, 11. fill: 'blue', 12. stroke: { 13. 'color': 'black', 14. 'width': 2 15. } 16.}, 17.{ 18. shape: { 19. type: 'text', 20. text: 'Hello World!', 21. x: 40, 22. y: 24, 23. align: 'middle' 24. }, 25. fill: 'black', 26. font: { 27. type: 'font', 28. size: '10pt', 29. family: 'sans-serif' 30. } 31.} 32.]
A primeira forma, definida da linha 2 à linha 16, é a mesma
forma retangular do exemplo anterior, mas com um traço customizado
incluído (linha 12). A segunda forma, definida da linha 17 à
linha 31, é uma forma GFX de texto que exibe o rótulo Hello World! .