113 lines
3.8 KiB
HTML
113 lines
3.8 KiB
HTML
<style>
|
|
.bzgf-node {
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
width: 160px;
|
|
height: 80px;
|
|
color: black;
|
|
text-align: center;
|
|
position: absolute;
|
|
padding: .5em;
|
|
}
|
|
|
|
div.bzgf-node[primary] { background-color: var(--eicui-base-color-primary);}
|
|
div.bzgf-node[info] { background-color: var(--eicui-base-color-info);}
|
|
div.bzgf-node[success] { background-color: var(--eicui-base-color-success);}
|
|
div.bzgf-node[warning] { background-color: var(--eicui-base-color-warning);}
|
|
div.bzgf-node[danger] { background-color: var(--eicui-base-color-danger);}
|
|
div.bzgf-node[accent] { background-color: var(--eicui-base-color-accent);}
|
|
|
|
.bzgf-node .body{
|
|
z-index: 1;
|
|
position: absolute;
|
|
inset: 0;
|
|
background: var(--eicui-base-color-grey-25);
|
|
border:2px solid var(--eicui-base-color-grey-50);
|
|
border-radius: 6px;
|
|
}
|
|
.bzgf-node .title {
|
|
font-weight: bold;
|
|
color: var(--app-color-black);
|
|
margin: .5em auto .2em auto;
|
|
}
|
|
.bzgf-node .subtitle {
|
|
font-size: .9em;
|
|
color: var(--eicui-base-color-primary-100);
|
|
width: 90%;
|
|
margin: auto;
|
|
}
|
|
.bzgf-node .port{
|
|
position: absolute;
|
|
height: 10px;
|
|
width: 10px;
|
|
background: var(--eicui-base-color-info-25);
|
|
opacity: 0;
|
|
border-radius: 10px;
|
|
}
|
|
|
|
.bzgf-node [data-direction="n"]{ top: -4px; left: 50%; transform: translateX(-50%);}
|
|
.bzgf-node [data-direction="s"]{ bottom: -4px; left: 50%; transform: translateX(-50%);}
|
|
.bzgf-node [data-direction="w"]{ left: -4px; top: 50%; transform: translateY(-50%);}
|
|
.bzgf-node [data-direction="e"]{ right: -4px; top: 50%; transform: translateY(-50%);}
|
|
|
|
.bzgf-node[data-nodetype="refnodein"], .bzgf-node[data-nodetype="refnodeout"] {
|
|
width:3em;
|
|
height:3em;
|
|
padding: 2px;
|
|
}
|
|
.bzgf-node[data-nodetype="refnodein"] .body, .bzgf-node[data-nodetype="refnodeout"] .body{
|
|
border-radius: 50%;
|
|
width: 3em;
|
|
height: 3em;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.bzgf-node[data-nodetype="refnodein"] .body, .bzgf-node[data-nodetype="refnodeout"] .body{ background: var(--eicui-base-color-grey-25); }
|
|
|
|
.bzgf-wire{ stroke: var(--eicui-base-color-info); stroke-width: 4px; stroke-dasharray: 10,5; }
|
|
|
|
path.arrow-head{ fill: var(--eicui-base-color-info); }
|
|
</style>
|
|
|
|
<svg style="display:none" aria-hidden="true">
|
|
<template id="svg-arrows">
|
|
<defs>
|
|
<marker id="arrow"
|
|
viewBox="0 0 16 16"
|
|
refX="16"
|
|
refY="8"
|
|
markerWidth="16"
|
|
markerHeight="16"
|
|
orient="auto-start-reverse"
|
|
markerUnits="userSpaceOnUse">
|
|
<path d="M0,0 L16,8 L0,16 Z" class="arrow-head"/>
|
|
</marker>
|
|
</defs>
|
|
</template>
|
|
</svg>
|
|
|
|
|
|
<template>
|
|
<div class="bzgf-node" data-nodetype="eicBasic">
|
|
<div class="body">
|
|
<div class="title">{title}</div>
|
|
<div class="subtitle">{subtitle}</div>
|
|
</div>
|
|
<div class="port" data-type="in" data-id="in1" data-direction="w"></div>
|
|
<div class="port" data-type="out" data-id="out1" data-direction="e"></div>
|
|
</div>
|
|
</template>
|
|
|
|
<template>
|
|
<div class="bzgf-node" data-nodetype="refnodein">
|
|
<div class="body">{parentport}</div>
|
|
<div class="port" data-type="out" data-id="out1" data-direction="e"></div>
|
|
</div>
|
|
</template>
|
|
|
|
<template>
|
|
<div class="bzgf-node" data-nodetype="refnodeout">
|
|
<div class="body">{parentport}</div>
|
|
<div class="port" data-type="in" data-id="in1" data-direction="w"></div>
|
|
</div>
|
|
</template> |