CBS
Palito의 CBS 그룹에서 사용되는 데이터 타입입니다. 각 CBS의 그룹 이름, id값 등을 담고 있습니다.
정의 예시
CBSNode = {
id: string;
type: string;
position: { x: number; y: number };
data: {
system_name: string;
security_zone: string;
};
style: { width: number; height: number };
measured: { width: number; height: number };
selected?: boolean;
parentId?: string;
extent?: "parent";
}
필드 설명
| 필드명 | 타입 | 설명 |
|---|---|---|
id | string | 노드를 식별하는 고유 ID |
type | string | 노드 유형 (node, cbs, zone 등) |
position | { x: number, y: number } | 노드의 위치 정보 |
position.x | number | 노드의 x 좌표 |
position.y | number | 노드의 y 좌표 |
data | { system_name: string, security_zone: string } | 노드에 포함된 주요 데이터 |
data.system_name | string | 그룹 또는 시스템의 이름 |
data.security_zone | string | 해당 노드가 속한 보안 Zone ID |
style | { width: number, height: number } | 노드의 시각적 크기 (외형) |
style.width | number | 노드의 너비 |
style.height | number | 노드의 높이 |
measured | { width: number, height: number } | 측정된 실제 노드 크기 |
measured.width | number | 실제 너비 |
measured.height | number | 실제 높이 |
selected | boolean? | 노드가 선택된 상태인지 여부 (선택적) |
parentId | string? | 부모 노드 ID (존재하는 경우) |
extent | "parent"? | 부모 노드 내부 제한 여부 ("parent" 또는 생략 가능) |
사용 예시
{
"id": "8",
"type": "cbs",
"position": { "x": 425, "y": 225 },
"data": {
"system_name": "CBS",
"security_zone": "zone-2"
},
"style": { "width": 700, "height": 650 },
"measured": { "width": 700, "height": 650 },
"selected": false,
"parentId": "group-zone-2",
"extent": "parent"
}