2022-06-17 12:02:09 +02:00
|
|
|
import { Chevron } from 'shared/components/navigation/primary'
|
2022-01-29 21:31:12 +01:00
|
|
|
import { Ul, Li, Details, Summary, SumDiv, NoSumDiv, Deg } from 'shared/components/workbench/menu'
|
2022-06-17 12:02:09 +02:00
|
|
|
import Point from './point'
|
2022-01-29 21:31:12 +01:00
|
|
|
|
|
|
|
const MoveLine = ({ op }) => <Point point={op.to} />
|
2023-02-05 17:59:22 +01:00
|
|
|
const Curve = ({ op }) =>
|
|
|
|
['cp1', 'cp2', 'to'].map((pnt) => (
|
|
|
|
<Li key={pnt}>
|
|
|
|
<Details>
|
|
|
|
<Summary>
|
|
|
|
<SumDiv>
|
|
|
|
<Deg />
|
|
|
|
<span className="font-bold">{pnt}</span>
|
|
|
|
</SumDiv>
|
|
|
|
<Chevron />
|
|
|
|
</Summary>
|
|
|
|
<Point point={op[pnt]} />
|
|
|
|
</Details>
|
|
|
|
</Li>
|
|
|
|
))
|
2022-01-29 21:31:12 +01:00
|
|
|
|
|
|
|
const XrayPathOp = ({ op }) => (
|
|
|
|
<Li>
|
2023-02-05 17:59:22 +01:00
|
|
|
{op.type === 'close' ? (
|
2022-01-29 21:31:12 +01:00
|
|
|
<NoSumDiv>
|
|
|
|
<Deg />
|
|
|
|
<span className="font-bold">{op.type}</span>
|
|
|
|
</NoSumDiv>
|
|
|
|
) : (
|
|
|
|
<Details>
|
|
|
|
<Summary>
|
|
|
|
<SumDiv>
|
|
|
|
<Deg />
|
|
|
|
<span className="font-bold">{op.type}</span>
|
|
|
|
<span>To</span>
|
|
|
|
</SumDiv>
|
|
|
|
<Chevron />
|
|
|
|
</Summary>
|
2023-02-05 17:59:22 +01:00
|
|
|
<Ul>{op.type === 'curve' ? <Curve op={op} /> : <MoveLine op={op} />}</Ul>
|
2022-01-29 21:31:12 +01:00
|
|
|
</Details>
|
2023-02-05 17:59:22 +01:00
|
|
|
)}
|
2022-01-29 21:31:12 +01:00
|
|
|
</Li>
|
|
|
|
)
|
|
|
|
|
2023-02-05 17:59:22 +01:00
|
|
|
export const XrayPathOps = ({ ops = false }) => {
|
2022-01-29 21:31:12 +01:00
|
|
|
if (!ops || ops.length < 1) return null
|
|
|
|
|
|
|
|
return (
|
|
|
|
<Li>
|
|
|
|
<Details>
|
|
|
|
<Summary>
|
|
|
|
<SumDiv>
|
|
|
|
<Deg />
|
2022-01-30 15:14:44 +01:00
|
|
|
<span className="font-bold">path.ops</span>
|
2022-01-29 21:31:12 +01:00
|
|
|
</SumDiv>
|
|
|
|
<Chevron />
|
|
|
|
</Summary>
|
|
|
|
<Ul>
|
2023-02-05 17:59:22 +01:00
|
|
|
{ops.map((op) => (
|
2023-02-05 19:09:46 +01:00
|
|
|
<XrayPathOp op={op} key={op} />
|
2023-02-05 17:59:22 +01:00
|
|
|
))}
|
2022-01-29 21:31:12 +01:00
|
|
|
</Ul>
|
|
|
|
</Details>
|
|
|
|
</Li>
|
|
|
|
)
|
|
|
|
}
|