mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 10:11:03 +00:00
This will: - Add StorageClass resource. Storage classes are mentioned in the PVC spec. We're using storage class name from PVC spec to add adjacency to the PVC node. - Add square sheet shape for StorageClass. - Add storage filter in the PODS topology. Storage Filter will allow user to see distinct view of stateful applications. - Add visually distinct edge to show storage adjacency. Signed-off-by: Satyam Zode <satyam.zode@openebs.io>
35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
import React from 'react';
|
|
import range from 'lodash/range';
|
|
import { line, curveCardinalClosed } from 'd3-shape';
|
|
|
|
import { UNIT_CLOUD_PATH, UNIT_CYLINDER_PATH, SHEET } from '../constants/styles';
|
|
|
|
|
|
export const pathElement = React.createFactory('path');
|
|
export const circleElement = React.createFactory('circle');
|
|
export const rectangleElement = React.createFactory('rect');
|
|
|
|
function curvedUnitPolygonPath(n) {
|
|
const curve = curveCardinalClosed.tension(0.65);
|
|
const spline = line().curve(curve);
|
|
const innerAngle = (2 * Math.PI) / n;
|
|
return spline(range(0, n).map(k => [
|
|
Math.sin(k * innerAngle),
|
|
-Math.cos(k * innerAngle),
|
|
]));
|
|
}
|
|
|
|
export const circleShapeProps = { r: 1 };
|
|
export const triangleShapeProps = { d: curvedUnitPolygonPath(3) };
|
|
export const squareShapeProps = {
|
|
width: 1.8, height: 1.8, rx: 0.4, ry: 0.4, x: -0.9, y: -0.9
|
|
};
|
|
export const pentagonShapeProps = { d: curvedUnitPolygonPath(5) };
|
|
export const hexagonShapeProps = { d: curvedUnitPolygonPath(6) };
|
|
export const heptagonShapeProps = { d: curvedUnitPolygonPath(7) };
|
|
export const octagonShapeProps = { d: curvedUnitPolygonPath(8) };
|
|
export const cloudShapeProps = { d: UNIT_CLOUD_PATH };
|
|
export const cylinderShapeProps = { d: UNIT_CYLINDER_PATH };
|
|
export const dottedCylinderShapeProps = { d: UNIT_CYLINDER_PATH };
|
|
export const sheetShapeProps = { d: SHEET };
|