Files
P42_UI/app/assets/html/bzGraflow/nodesTest2.html
T
2026-01-05 21:04:09 +00:00

232 lines
6.6 KiB
HTML

<style>
.bzgf-node {
border-width:2px;
border-style: solid;
border-radius: 6px;
width: 160px;
height: 80px;
color: black;
text-align: center;
position: absolute;
padding: .5em;
}
.bzgf-node .text {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 100%;
height: 2em;
color: white;
transform: translateX(-50%), translateY(-50%);
}
.bzgf-node .port{
position: absolute;
height: 6px;
width: 6px;
background: #FFF;
z-index: 99;
opacity: 0.3;
}
.bzgf-node [data-direction="w"]{ left: -7px; top: 50%; transform: translateY(-50%);}
.bzgf-node [data-direction="e"]{ right: -7px; top: 50%; transform: translateY(-50%);}
.bzgf-node [data-direction="n"]{ top: -7px; left: 50%; transform: translateX(-50%);}
.bzgf-node [data-direction="s"]{ bottom: -7px; left: 50%; transform: translateX(-50%);}
.bzgf-node[data-nodetype="start"],
.bzgf-node[data-nodetype="end"]{
border: 1px solid white;
width: 100px;
height: 30px;
border-radius: 50%;
}
.bzgf-node[data-nodetype="condition"]{
border: none;
width: 100px;
height: 100px;
}
.bzgf-node[data-nodetype="condition"] .frame{
border: 1px solid white;
transform: rotate(-45deg);
position: absolute;
inset: 0;
}
.bzgf-node[data-nodetype="condition"] .port[data-direction="w"]{ left: -28px; }
.bzgf-node[data-nodetype="condition"] [data-direction="e"]{ right: -28px; }
.bzgf-node[data-nodetype="condition"] [data-direction="n"]{ top: -28px; }
.bzgf-node[data-nodetype="condition"] [data-direction="s"]{ bottom: -28px; }
.bzgf-node[data-nodetype="process"]{
border: 1px solid white;
width: 150px;
height: 70px;
padding: 0;
}
.bzgf-node[data-nodetype="process"] .dbline{
border: 1px solid white;
width: 80%;
height: 100%;
position: absolute;
top: -1px;
left: 10%;
}
.bzgf-node[data-nodetype="database"]{
border: 1px solid white;
width: 100px;
height: 100px;
isolation: isolate;
}
.bzgf-node[data-nodetype="database"] .top{
z-index: 2;
height: 20%;
border: 1px solid white;
border-radius: 50%;
position: absolute;
top: -10%;
left: 0;
width: 100%;
background: black;
}
.bzgf-node[data-nodetype="database"] .text{
background: black;
width: 99%;
height: 98%;
z-index: 1;
position: absolute;
inset: 0;
}
.bzgf-node[data-nodetype="database"] .bottom{
z-index: 0;
height: 20%;
border: 1px solid white;
border-radius: 50%;
position: absolute;
bottom: -10%;
left: 0;
width: 99%;
background: black;
}
.bzgf-node[data-nodetype="database"] [data-direction="n"]{ top: -17px; }
.bzgf-node[data-nodetype="database"] [data-direction="s"]{ bottom: -17px; }
.bzgf-node[data-nodetype="preparation"]{
width: 150px;
height: 80px;
padding: 0;
border: none;
}
.bzgf-node[data-nodetype="preparation"] .outerframe{
width: 100%;
height: 100%;
position: absolute;
background: white;
border: none;
padding: 0;
place-items: center;
clip-path: polygon(
10% 0%,
90% 0%,
100% 50%,
90% 100%,
10% 100%,
0% 50%
);
}
.bzgf-node[data-nodetype="preparation"] .innerframe{
width: calc(100% - 2px);
height: calc(100% - 2px);
position: absolute;
top: 1px;
left: 1px;
background: black;
clip-path: inherit;
display: grid;
place-items: center;
color: white;
}
.bzgf-wire{ stroke: #FF0; stroke-width: 2; }
</style>
<svg style="display:none" aria-hidden="true">
<template id="svg-arrows">
<defs>
<marker id="arrow"
viewBox="0 0 15 15"
refX="15"
refY="7"
markerWidth="15"
markerHeight="15"
orient="auto-start-reverse"
markerUnits="userSpaceOnUse">
<path d="M0,0 L15,7 L0,15 Z" fill="#FF0"/>
</marker>
</defs>
</template>
</svg>
<template>
<div class="bzgf-node" data-nodetype="start">
<div class="text"></div>
<div class="port" data-id="out1" data-direction="s"></div>
</div>
</template>
<template>
<div class="bzgf-node" data-nodetype="end">
<div class="text"></div>
<div class="port" data-id="inp1" data-direction="n"></div>
</div>
</template>
<template>
<div class="bzgf-node" data-nodetype="condition">
<div class="frame"></div>
<div class="text"></div>
<div class="port" data-id="inp1" data-direction="n"></div>
<div class="port" data-id="out1" data-direction="w"></div>
<div class="port" data-id="out2" data-direction="s"></div>
<div class="port" data-id="out3" data-direction="e"></div>
</div>
</template>
<template>
<div class="bzgf-node" data-nodetype="process">
<div class="dbline"></div>
<div class="text"></div>
<div class="port" data-id="inout1" data-direction="n"></div>
<div class="port" data-id="inout2" data-direction="s"></div>
<div class="port" data-id="inout3" data-direction="w"></div>
<div class="port" data-id="inout4" data-direction="e"></div>
</div>
</template>
<template>
<div class="bzgf-node" data-nodetype="database">
<div class="top"></div>
<div class="bottom"></div>
<div class="text"></div>
<div class="port" data-id="inout1" data-direction="n"></div>
<div class="port" data-id="inout2" data-direction="s"></div>
<div class="port" data-id="inout3" data-direction="w"></div>
<div class="port" data-id="inout4" data-direction="e"></div>
</div>
</template>
<template>
<div class="bzgf-node" data-nodetype="preparation">
<div class="outerframe">
<div class="innerframe">
<div class="text"></div>
</div>
</div>
<div class="port" data-id="inp1" data-direction="n"></div>
<div class="port" data-id="out1" data-direction="s"></div>
<div class="port" data-id="inout1" data-direction="w"></div>
<div class="port" data-id="inout2" data-direction="e"></div>
</div>
</template>