Predefined Templates
Modes
Org Chart JS can be displayed in "dark" or "light" modes by settong the mode option:
light modedark mode
Templates
Org Chart JS arrives with a number of predefined templates. You can change the template by setting the template option. Here is an example:
var chart = new OrgChart(document.getElementById("tree"), { template: "olivia", ... });
You can get the source code of any of the templates and change it.
The default template is ana. All the predefined templates inherits ana. If you don't have a predefined property for your template, you need to get it from the ana template.
oliviaOrgChart.templates.olivia = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.olivia.field_0 = '<text data-width="135" style="font-size: 18px;" fill="#757575" x="100" y="55">{val}</text>'; OrgChart.templates.olivia.field_1 = '<text data-width="135" style="font-size: 14px;" fill="#757575" x="100" y="76">{val}</text>'; OrgChart.templates.olivia.defs = '<linearGradient id="{randId}" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" style="stop-color:#fff;stop-opacity:1" />' + '<stop offset="100%" style="stop-color:#eee;stop-opacity:1" /></linearGradient>'; OrgChart.templates.olivia.node = '<rect fill="url(#{randId})" x="0" y="0" height="{h}" width="{w}" stroke-width="1" stroke="#aeaeae" rx="7" ry="7"></rect>'; OrgChart.templates.olivia.img_0 = '<clipPath id="{randId}"><circle cx="50" cy="60" r="40"></circle></clipPath>' + '<image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="10" y="20" width="80" height="80"></image>'; OrgChart.templates.olivia.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,225,105)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22">' + '</rect><circle cx="0" cy="0" r="2" fill="#AEAEAE"></circle><circle cx="7" cy="0" r="2" fill="#AEAEAE">' + '</circle><circle cx="14" cy="0" r="2" fill="#AEAEAE"></circle>' + '</g>';
diva
OrgChart.templates.diva = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.diva.size = [200, 170]; OrgChart.templates.diva.node = '<rect x="0" y="80" height="90" width="200" fill="#039BE5"></rect>' + '<circle cx="100" cy="50" fill="#ffffff" r="50" stroke="#039BE5" stroke-width="2"></circle>'; OrgChart.templates.diva.img_0 = '<clipPath id="{randId}"><circle cx="100" cy="50" r="45"></circle></clipPath>' + '<image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="50" y="0" width="100" height="100"></image>'; OrgChart.templates.diva.field_0 = '<text data-width="185" style="font-size: 18px;" fill="#ffffff" x="100" y="125" text-anchor="middle">{val}</text>'; OrgChart.templates.diva.field_1 = '<text data-width="185" style="font-size: 14px;" fill="#ffffff" x="100" y="145" text-anchor="middle">{val}</text>'; OrgChart.templates.diva.pointer = '<g data-pointer="pointer" transform="matrix(0,0,0,0,100,100)"><radialGradient id="pointerGradient">' + '<stop stop-color="#ffffff" offset="0" /><stop stop-color="#039BE5" offset="1" /></radialGradient>' + '<circle cx="16" cy="16" r="16" stroke-width="1" stroke="#acacac" fill="url(#pointerGradient)"></circle>' + '</g>'; OrgChart.templates.diva.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,175,155)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect>' + '<circle cx="0" cy="0" r="2" fill="#ffffff"></circle><circle cx="7" cy="0" r="2" fill="#ffffff">' + '</circle><circle cx="14" cy="0" r="2" fill="#ffffff"></circle>' + '</g>';
mila
OrgChart.templates.mila = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.mila.node = '<rect x="0" y="0" height="120" width="250" fill="#039BE5" stroke-width="1" stroke="#aeaeae"></rect>' + '<rect x="-5" y="70" height="30" width="260" fill="#ffffff" stroke-width="1" stroke="#039BE5">' + '</rect><line x1="-5" x2="0" y1="100" y2="105" stroke-width="1" stroke="#039BE5" />' + '<line x1="255" x2="250" y1="100" y2="105" stroke-width="1" stroke="#039BE5" />'; OrgChart.templates.mila.img_0 = '<image preserveAspectRatio="xMidYMid slice" xlink:href="{val}" x="20" y="5" width="64" height="64"></image>'; OrgChart.templates.mila.field_0 = '<text data-width="240" style="font-size: 18px;" fill="#039BE5" x="125" y="92" text-anchor="middle">{val}</text>'; OrgChart.templates.mila.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,225,110)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect><circle cx="0" cy="0" r="2" fill="#ffffff">' + '</circle><circle cx="7" cy="0" r="2" fill="#ffffff"></circle><circle cx="14" cy="0" r="2" fill="#ffffff"></circle>' + '</g>';
polina
OrgChart.templates.polina = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.polina.size = [300, 80]; OrgChart.templates.polina.ripple = { color: "#e6e6e6", radius: 40, rect: null }; OrgChart.templates.polina.node = '<rect x="0" y="0" height="80" width="300" fill="#039BE5" stroke-width="1" stroke="#686868" rx="40" ry="40"></rect>'; OrgChart.templates.polina.img_0 = '<clipPath id="{randId}"><circle cx="40" cy="40" r="35"></circle></clipPath>' + '<image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="0" y="0" width="80" height="80"></image>'; OrgChart.templates.polina.field_0 = '<text data-width="210" style="font-size: 18px;" fill="#ffffff" x="80" y="30" text-anchor="start">{val}</text>'; OrgChart.templates.polina.field_1 = '<text data-width="210" style="font-size: 14px;" fill="#ffffff" x="80" y="55" text-anchor="start">{val}</text>'; OrgChart.templates.polina.link = '<path stroke="#686868" stroke-width="1px" fill="none" d="M{xa},{ya} C{xb},{yb} {xc},{yc} {xd},{yd}" />'; OrgChart.templates.polina.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,285,33)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect>' + '<circle cx="0" cy="0" r="2" fill="#ffffff"></circle><circle cx="0" cy="7" r="2" fill="#ffffff"></circle>' + '<circle cx="0" cy="14" r="2" fill="#ffffff"></circle>' + '</g>';
mery
OrgChart.templates.mery = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.mery.ripple = { color: "#e6e6e6", radius: 50, rect: null }; OrgChart.templates.mery.node = '<rect x="0" y="0" height="120" width="250" fill="#ffffff" stroke-width="1" stroke="#686868" rx="50" ry="50"></rect>' + '<rect x="0" y="45" height="30" width="250" fill="#039BE5" stroke-width="1"></rect>'; OrgChart.templates.mery.link = '<path stroke="#aeaeae" stroke-width="1px" fill="none" d="M{xa},{ya} C{xb},{yb} {xc},{yc} {xd},{yd}" />'; OrgChart.templates.mery.img_0 = '<clipPath id="{randId}"><circle cx="125" cy="60" r="24"></circle></clipPath>' + '<image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="95" y="33" width="60" height="60"></image>'; OrgChart.templates.mery.field_0 = '<text data-width="220" style="font-size: 18px;" fill="#039BE5" x="125" y="30" text-anchor="middle">{val}</text>'; OrgChart.templates.mery.field_1 = '<text data-width="220" style="font-size: 14px;" fill="#039BE5" x="125" y="100" text-anchor="middle">{val}</text>'; OrgChart.templates.mery.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,225,60)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect>' + '<circle cx="0" cy="0" r="2" fill="#ffffff"></circle><circle cx="7" cy="0" r="2" fill="#ffffff"></circle>' + '<circle cx="14" cy="0" r="2" fill="#ffffff"></circle>' + '</g>';
rony
OrgChart.templates.rony = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.rony.svg = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background-color:#E8E8E8;display:block;" ' + 'width="{w}" height="{h}" viewBox="{viewBox}">{content}</svg>'; OrgChart.templates.rony.defs = '<filter id="{randId}" x="0" y="0" width="200%" height="200%">' + '<feOffset result="offOut" in="SourceAlpha" dx="5" dy="5"></feOffset>' + '<feGaussianBlur result="blurOut" in="offOut" stdDeviation="5"></feGaussianBlur>' + '<feBlend in="SourceGraphic" in2="blurOut" mode="normal"></feBlend>' + '</filter>'; OrgChart.templates.rony.size = [180, 250]; OrgChart.templates.rony.ripple = { color: "#F57C00", radius: 5, rect: null }; OrgChart.templates.rony.img_0 = '<clipPath id="{randId}"><circle cx="90" cy="160" r="60"></circle></clipPath>' + '<image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="30" y="100" width="120" height="120"></image>'; OrgChart.templates.rony.node = '<rect filter="url(#{randId})" x="0" y="0" height="250" width="180" fill="#ffffff" stroke-width="0" rx="5" ry="5"></rect>'; OrgChart.templates.rony.field_0 = '<text data-width="165" style="font-size: 18px;" fill="#039BE5" x="90" y="40" text-anchor="middle">{val}</text>'; OrgChart.templates.rony.field_1 = '<text data-width="165" style="font-size: 14px;" fill="#F57C00" x="90" y="60" text-anchor="middle">{val}</text>'; OrgChart.templates.rony.field_2 = '<text data-width="165" style="font-size: 14px;" fill="#FFCA28" x="90" y="80" text-anchor="middle">{val}</text>'; OrgChart.templates.rony.link = '<path stroke="#039BE5" stroke-width="1px" fill="none" d="M{xa},{ya} {xb},{yb} {xc},{yc} L{xd},{yd}" />'; OrgChart.templates.rony.plus = '<circle cx="15" cy="15" r="15" fill="#ffffff" stroke="#039BE5" stroke-width="1"></circle>' + '<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#039BE5"></line>' + '<line x1="15" y1="4" x2="15" y2="26" stroke-width="1" stroke="#039BE5"></line>'; OrgChart.templates.rony.minus = '<circle cx="15" cy="15" r="15" fill="#ffffff" stroke="#039BE5" stroke-width="1"></circle>' + '<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#039BE5"></line>'; OrgChart.templates.rony.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,155,235)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect>' + '<circle cx="0" cy="0" r="2" fill="#F57C00"></circle>' + '<circle cx="7" cy="0" r="2" fill="#F57C00"></circle>' + '<circle cx="14" cy="0" r="2" fill="#F57C00"></circle>' + '</g>';
belinda
OrgChart.templates.belinda = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.belinda.size = [180, 180]; OrgChart.templates.belinda.ripple = { radius: 90, color: "#e6e6e6", rect: null }; OrgChart.templates.belinda.node = '<circle cx="90" cy="90" r="90" fill="#039BE5" stroke-width="1" stroke="#aeaeae"></circle>'; OrgChart.templates.belinda.img_0 = '<clipPath id="{randId}"><circle cx="90" cy="45" r="40"></circle></clipPath>' + '<image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="50" y="5" width="80" height="80"></image>'; OrgChart.templates.belinda.field_0 = '<text data-width="170" style="font-size: 18px;" text-anchor="middle" fill="#ffffff" x="90" y="105">{val}</text>'; OrgChart.templates.belinda.field_1 = '<text data-width="160" style="font-size: 14px;" text-anchor="middle" fill="#ffffff" x="90" y="125">{val}</text>'; OrgChart.templates.belinda.link = '<path stroke="#aeaeae" stroke-width="1px" fill="none" d="M{xa},{ya} C{xb},{yb} {xc},{yc} {xd},{yd}" />'; OrgChart.templates.belinda.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,79,5)" data-ctrl-n-menu-id="{id}">' + '<rect x="0" y="0" fill="#000000" fill-opacity="0" width="22" height="22"></rect>' + '<line stroke-width="2" stroke="#000" x1="0" y1="3" x2="22" y2="3"></line>' + '<line stroke-width="2" stroke="#000" x1="0" y1="9" x2="22" y2="9"></line>' + '<line stroke-width="2" stroke="#000" x1="0" y1="15" x2="22" y2="15"></line>' + '</g>';
ula
OrgChart.templates.ula = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.ula.field_0 = '<text data-width="145" style="font-size: 18px;" fill="#039BE5" x="100" y="55">{val}</text>'; OrgChart.templates.ula.field_1 = '<text data-width="145" data-text-overflow="multiline" style="font-size: 14px;" fill="#afafaf" x="100" y="76">{val}</text>'; OrgChart.templates.ula.node = '<rect x="0" y="0" height="{h}" width="{w}" fill="#ffffff" stroke-width="1" stroke="#aeaeae"></rect>' + '<line x1="0" y1="0" x2="250" y2="0" stroke-width="2" stroke="#039BE5"></line>'; OrgChart.templates.ula.img_0 = '<clipPath id="{randId}"><circle cx="50" cy="60" r="40"></circle></clipPath>' + '<image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="10" y="20" width="80" height="80"></image>'; OrgChart.templates.ula.menu = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,225,12)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#ffffff" width="22" height="22"></rect>' + '<circle cx="0" cy="0" r="2" fill="#039BE5"></circle>' + '<circle cx="7" cy="0" r="2" fill="#039BE5"></circle>' + '<circle cx="14" cy="0" r="2" fill="#039BE5"></circle>' + '</g>'; OrgChart.templates.ula.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,225,105)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect>' + '<circle cx="0" cy="0" r="2" fill="#AEAEAE"></circle>' + '<circle cx="7" cy="0" r="2" fill="#AEAEAE"></circle>' + '<circle cx="14" cy="0" r="2" fill="#AEAEAE"></circle>' + '</g>';
ana
OrgChart.templates.ana.defs = ""; OrgChart.templates.ana.size = [250, 120]; OrgChart.templates.ana.linkAdjuster = { fromX: 0, fromY: 0, toX: 0, toY: 0 }; OrgChart.templates.ana.ripple = { radius: 0, color: "#e6e6e6", rect: null }; OrgChart.templates.ana.expandCollapseSize = 30; OrgChart.templates.ana.svg = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" ' + ' style="display:block;" width="{w}" height="{h}" viewBox="{viewBox}">{content}' + '</svg>'; OrgChart.templates.ana.link = '<path stroke-linejoin="round" stroke="#aeaeae" stroke-width="1px" fill="none" d="{rounded}" />'; OrgChart.templates.ana.assistanseLink = '<path stroke-linejoin="round" stroke="#aeaeae" stroke-width="2px" fill="none" ' + ' d="M{xa},{ya} {xb},{yb} {xc},{yc} {xd},{yd} L{xe},{ye}" />'; OrgChart.templates.ana.pointer = '<g data-pointer="pointer" transform="matrix(0,0,0,0,100,100)">' + '<radialGradient id="pointerGradient"><stop stop-color="#ffffff" offset="0" />' + '<stop stop-color="#C1C1C1" offset="1" /></radialGradient>' + '<circle cx="16" cy="16" r="16" stroke-width="1" stroke="#acacac" fill="url(#pointerGradient)"></circle>' + '</g>'; OrgChart.templates.ana.node = '<rect x="0" y="0" height="{h}" width="{w}" fill="#039BE5" stroke-width="1" stroke="#aeaeae" rx="7" ry="7"></rect>'; OrgChart.templates.ana.plus = '<circle cx="15" cy="15" r="15" fill="#ffffff" stroke="#aeaeae" stroke-width="1"></circle>' + '<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#aeaeae"></line>' + '<line x1="15" y1="4" x2="15" y2="26" stroke-width="1" stroke="#aeaeae"></line>'; OrgChart.templates.ana.minus = '<circle cx="15" cy="15" r="15" fill="#ffffff" stroke="#aeaeae" stroke-width="1"></circle>' + '<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#aeaeae"></line>'; OrgChart.templates.ana.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,225,105)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect>' + '<circle cx="0" cy="0" r="2" fill="#ffffff"></circle>' + '<circle cx="7" cy="0" r="2" fill="#ffffff"></circle><circle cx="14" cy="0" r="2" fill="#ffffff"></circle>' + '</g>'; OrgChart.templates.ana.menuButton = '<div style="position:absolute;right:{p}px;top:{p}px; width:40px;height:50px;cursor:pointer;" data-ctrl-menu="">' + '<hr style="background-color: #7A7A7A; height: 3px; border: none;">' + '<hr style="background-color: #7A7A7A; height: 3px; border: none;">' + '<hr style="background-color: #7A7A7A; height: 3px; border: none;">' + '</div>'; OrgChart.templates.ana.img_0 = + '<clipPath id="{randId}"><circle cx="50" cy="30" r="40"></circle></clipPath>' + '<image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="10" y="-10" width="80" height="80">' + '</image>'; OrgChart.templates.ana.link_field_0 = '<text text-anchor="middle" fill="#aeaeae" data-width="290" x="0" y="0" style="font-size:10px;">{val}</text>'; OrgChart.templates.ana.field_0 = '<text data-width="230" style="font-size: 18px;" fill="#ffffff" x="125" y="95" text-anchor="middle">{val}</text>'; OrgChart.templates.ana.field_1 = '<text data-width="130" data-text-overflow="multiline" style="font-size: 14px;" fill="#ffffff" x="230" y="30" text-anchor="end">{val}</text>'; OrgChart.templates.ana.padding = [50, 20, 35, 20];
isla
OrgChart.templates.isla = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.isla.defs = '<filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="isla-shadow">' + '<feOffset dx="0" dy="4" in="SourceAlpha" result="shadowOffsetOuter1" />' + '<feGaussianBlur stdDeviation="10" in="shadowOffsetOuter1" result="shadowBlurOuter1" />' + '<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1" />' + '<feMerge><feMergeNode in="shadowMatrixOuter1" /><feMergeNode in="SourceGraphic" /></feMerge>' + '</filter>'; OrgChart.templates.isla.size = [180, 120]; OrgChart.templates.isla.node = '<rect filter="url(#isla-shadow)" x="0" y="20" rx="7" ry="7" height="100" width="180" fill="#FFF" stroke-width="1" stroke="#039BE5"></rect>' + '<rect x="25" y="75" rx="10" ry="10" height="20" width="130" fill="#039BE5" stroke-width="3" stroke="#039BE5"></rect>' + '<rect fill="#ffffff" stroke="#039BE5" stroke-width="1" x="70" y="0" rx="13" ry="13" width="40" height="40"></rect>' + '<circle stroke="#FFCA28" stroke-width="3" fill="none" cx="90" cy="12" r="8"></circle>' + '<path d="M75,34 C75,17 105,17 105,34" stroke="#FFCA28" stroke-width="3" fill="none"></path>'; OrgChart.templates.isla.field_0 = '<text data-width="120" style="font-size: 12px;" fill="#fff" x="90" y="90" text-anchor="middle">{val}</text>'; OrgChart.templates.isla.field_1 = '<text data-width="160" style="font-size: 13px;" fill="#039BE5" x="90" y="64" text-anchor="middle">{val}</text>'; OrgChart.templates.isla.img_0 = '<clipPath id="{randId}">' + '<rect filter="url(#isla-shadow)" fill="#ffffff" stroke="#039BE5" stroke-width="1" x="70" y="0" rx="13" ry="13" width="40" height="40"></rect>' + '</clipPath><image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="70" y="0" width="40" height="40"></image>'; OrgChart.templates.isla.minus = '<circle cx="15" cy="15" r="15" fill="#F57C00" stroke="#F57C00" stroke-width="1"></circle>' + '<line x1="8" y1="15" x2="22" y2="15" stroke-width="1" stroke="#ffffff"></line>'; OrgChart.templates.isla.plus = '<circle cx="15" cy="15" r="15" fill="#ffffff" stroke="#039BE5" stroke-width="1"></circle>' + '<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#039BE5"></line>' + '<line x1="15" y1="4" x2="15" y2="26" stroke-width="1" stroke="#039BE5"></line>'; OrgChart.templates.isla.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,83,45)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect>' + '<circle cx="0" cy="0" r="2" fill="#F57C00"></circle>' + '<circle cx="7" cy="0" r="2" fill="#F57C00"></circle>' + '<circle cx="14" cy="0" r="2" fill="#F57C00"></circle>' +'</g>'; OrgChart.templates.isla.ripple = { radius: 0, color: "#F57C00", rect: { x: 0, y: 20, width: 180, height: 100 } };
deborah
OrgChart.templates.deborah = Object.assign({}, OrgChart.templates.polina); OrgChart.templates.deborah.size = [150, 150]; OrgChart.templates.deborah.node = '<rect x="0" y="0" height="150" width="150" fill="#039BE5" stroke-width="1" stroke="#686868" rx="15" ry="15"></rect>'; OrgChart.templates.deborah.img_0 = '<clipPath id="{randId}"><rect fill="#ffffff" stroke="#039BE5" stroke-width="1" x="5" y="5" rx="15" ry="15" width="140" height="140"></rect></clipPath>' + '<image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="5" y="5" width="140" height="140"></image>' + '<rect x="3" y="5" height="30" width="144" fill="#039BE5" opacity="0.5" rx="3" ry="3"></rect>' + '<rect x="3" y="115" height="30" width="144" fill="#039BE5" opacity="0.5" rx="3" ry="3"></rect>'; OrgChart.templates.deborah.field_0 = '<text data-width="125" data-text-overflow="ellipsis" style="font-size: 18px;" fill="#ffffff" x="15" y="25" text-anchor="start">{val}</text>'; OrgChart.templates.deborah.field_1 = '<text data-width="105" data-text-overflow="ellipsis" style="font-size: 11px;" fill="#ffffff" x="15" y="135" text-anchor="start">{val}</text>'; OrgChart.templates.deborah.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,125,130)" data-ctrl-n-menu-id="{id}">' + '<rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect>' + '<circle cx="0" cy="0" r="2" fill="#ffffff"></circle>' + '<circle cx="7" cy="0" r="2" fill="#ffffff"></circle>' + '<circle cx="14" cy="0" r="2" fill="#ffffff"></circle> + </g>';
group template (More for groups, you can find in Sub Trees doc page)
OrgChart.templates.group = Object.assign({}, OrgChart.templates.ana); OrgChart.templates.group.size = [250, 120]; OrgChart.templates.group.node = '<rect rx="50" ry="50" x="0" y="0" height="{h}" width="{w}" fill="#f2f2f2" stroke-width="0"></rect>'; OrgChart.templates.group.link = '<path stroke="#aeaeae" stroke-width="1px" fill="none" d="M{xa},{ya} C{xb},{yb} {xc},{yc} {xd},{yd}" />'; OrgChart.templates.group.nodeMenuButton = '<g style="cursor:pointer;" transform="matrix(1,0,0,1,{ew},25)" data-ctrl-n-menu-id="{id}">' + '<g transform="matrix(1,0,0,1,-22,-8)">' + '<rect x="0" y="0" fill="red" fill-opacity="0" width="18" height="22">' + '</rect><line x1="0" y1="2" x2="9" y2="2" stroke="#aeaeae" stroke-width="1">' + '</line><line x1="0" y1="9" x2="18" y2="9" stroke="#aeaeae" stroke-width="1">' + '</line><line x1="0" y1="16" x2="22" y2="16" stroke="#aeaeae" stroke-width="1">' + '</line></g></g>'; OrgChart.templates.group.field_0 = '<text data-width="230" style="font-size: 18px;" fill="#aeaeae" x="{cw}" y="30" text-anchor="middle">' + '{val}</text>'; OrgChart.templates.group.field_1 = ''; OrgChart.templates.group.ripple = { radius: 50, color: "#aeaeae" };
We have also a base template that you can use or inherit and change:
base templateOrgChart.templates.base = { defs: '', size: [250, 120], expandCollapseSize: 30, linkAdjuster: { fromX: 0, fromY: 0, toX: 0, toY: 0 }, ripple: { radius: 0, color: "#e6e6e6", rect: null }, assistanseLink: '<path stroke-linejoin="round" stroke="#aeaeae" stroke-width="2px" fill="none" d="M{xa},{ya} {xb},{yb} {xc},{yc} {xd},{yd} L{xe},{ye}" />', svg: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:block;" width="{w}" height="{h}" viewBox="{viewBox}">{content}</svg>', link: '<path stroke-linejoin="round" stroke="#aeaeae" stroke-width="1px" fill="none" d="M{xa},{ya} {xb},{yb} {xc},{yc} L{xd},{yd}" />', pointer: '<g data-pointer="pointer" transform="matrix(0,0,0,0,100,100) "><radialGradient id="pointerGradient"><stop stop-color="#ffffff" offset="0" /><stop stop-color="#C1C1C1" offset="1" /></radialGradient> <circle cx="16" cy="16" r="16" stroke-width="1" stroke="#acacac" fill="url(#pointerGradient)"></circle> </g>', node: '<rect x="0" y="0" height="120" width="250" fill="none" stroke-width="1" stroke="#aeaeae" rx="7" ry="7"></rect>', plus: '<circle cx="15" cy="15" r="15" fill="#ffffff" stroke="#aeaeae" stroke-width="1"></circle>' + '<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#aeaeae"></line>' + '<line x1="15" y1="4" x2="15" y2="26" stroke-width="1" stroke="#aeaeae"></line>', minus: '<circle cx="15" cy="15" r="15" fill="#ffffff" stroke="#aeaeae" stroke-width="1"></circle>' + '<line x1="4" y1="15" x2="26" y2="15" stroke-width="1" stroke="#aeaeae"></line>', nodeMenuButton: '<g style="cursor:pointer;" transform="matrix(1,0,0,1,225,105)" ' + OrgChart.attr.control_node_menu_id + ' ="{id}"> <rect x="-4" y="-10" fill="#000000" fill-opacity="0" width="22" height="22"></rect> <circle cx="0" cy="0" r="2" fill="#ffffff"></circle><circle cx="7" cy="0" r="2" fill="#ffffff"></circle> <circle cx="14" cy="0" r="2" fill="#ffffff"></circle> </g>', menuButton: '<div style="position:absolute;right:{p}px;top:{p}px; width:30px;height:50px;cursor:pointer;" ' + OrgChart.attr.control_export_menu + ' =""> <hr style="background-color: #7A7A7A; height: 3px; border: none;"> <hr style="background-color: #7A7A7A; height: 3px; border: none;"> <hr style="background-color: #7A7A7A; height: 3px; border: none;"> </div>', img_0: '<clipPath id="{randId}"><circle cx="60" cy="60" r="40"></circle></clipPath> <image preserveAspectRatio="xMidYMid slice" clip-path="url(#{randId})" xlink:href="{val}" x="20" y="20" width="80" height="80"></image>', link_field_0: '<text text-anchor="middle" fill="#aeaeae" ' + OrgChart.attr.width + ' ="290" x="0" y="0" style="font-size:10px;">{val}</text>', editFormHeaderColor: '#039BE5'