본문으로 건너뛰기

Toolbar

Toolbar는 사용자가 편집 프로세스를 제어하는 데 도움이 되는 Diagram Editor의 상단 부분입니다.

Toolbar를 구성하려면 다음 속성을 사용할 수 있습니다.

  • css - 사용자 정의 CSS 클래스를 적용합니다

  • navigationType - Toolbar 항목을 활성화하는 동작을 정의합니다. 다음 동작 중 하나를 지정할 수 있습니다.

    • "click" - 사용자가 클릭하면 Toolbar 항목을 활성화합니다
    • "pointer" - 사용자가 마우스 포인터를 올리면 Toolbar 항목을 활성화합니다
  • items - Toolbar에 배치된 items(컨트롤)의 배열입니다. Toolbar 항목을 구성하는 방법은 두 가지입니다.

const editor = new dhx.DiagramEditor("editor_container", {
type: "default",
view: {
// toolbar: true, // 기본 Toolbar를 표시합니다
// 또는 객체를 통해 Toolbar를 구성합니다
toolbar: {
css: "custom_css",
navigationType: "pointer",
items: [
{
type: "file",
items: [
"importJson",
{
type: "exportJson",
value: "Export to JSON"
},
{
id: "custom_id_1",
type: "menuItem",
value: "Server export",
icon: "dxi dxi-vault",
items: [
"exportPdf",
{
id: "custom_id_2",
type: "menuItem",
value: "PNG",
handler: editor => {
editor.diagram.export.png();
// 사용자 정의 로직 작성 위치
}
}
]
}
]
},
"spacer",
"scale"
]
}
}
});

서비스 요소

Toolbar 항목은 서비스 요소로 표현됩니다. 다음 서비스 요소를 사용하고 구성할 수 있습니다.

  • file - 파일 가져오기 및 내보내기를 위한 서비스 요소 그룹을 형성합니다

    Details

    file 항목은 다음과 같은 구조를 가집니다.

    - file
    - importJson
    - export
    - exportJson
    - exportPdf
    - exportPng

    file 항목 컬렉션은 다음과 같이 표시됩니다.

  • importJson - JSON 형식의 파일을 가져오기 위한 대화 상자를 엽니다

  • export - 선택한 형식으로 파일을 내보내기 위한 서비스 요소 그룹을 형성합니다

    Details

    export 항목은 다음과 같은 구조를 가집니다.

    - export
    - exportJson
    - exportPdf
    - exportPng
  • exportJson - JSON 형식으로 파일을 내보냅니다

  • exportPdf - PDF 형식으로 파일을 내보냅니다

  • exportPng - PNG 형식으로 파일을 내보냅니다


  • edit - 도형, 선, 그룹, 스윔레인을 관리하고 편집하기 위한 서비스 요소 그룹을 형성합니다

    Details

    default 모드에서 edit 항목 컬렉션은 다음과 같은 기본 구조를 가집니다.

    - edit
    - undo
    - redo
    - separator
    - duplicate
    - copy
    - paste
    - separator
    - copyStyle
    - pasteStyle
    - separator
    - selectAll
    - selectNone

    org/mindmap 모드에서 edit 항목 컬렉션은 다음과 같은 기본 구조를 가집니다.

    - edit
    - undo
    - redo
    - separator
    - copyStyle
    - pasteStyle
    - separator
    - selectAll
    - selectNone

  • undo - 변경 기록에서 한 단계 뒤로 이동합니다

  • redo - 변경 기록에서 한 단계 앞으로 이동합니다

  • duplicate - 선택한 요소를 복제합니다

  • copy - 선택한 파일을 model 객체에 복사합니다

  • paste - model 객체에서 복사된 파일을 붙여넣습니다

  • copyStyle - 선택한 요소의 스타일을 model 객체에 복사합니다

  • pasteStyle - model 객체에 저장된 스타일을 선택한 요소에 적용합니다

  • selectAll - 선택 가능한 모든 요소를 선택합니다

  • selectNone - 사용 가능한 모든 항목의 선택을 해제합니다


  • view - Diagram Editor 요소의 보기를 관리하기 위한 서비스 요소 그룹을 형성합니다

    Details

    default 모드에서 view 항목 컬렉션은 다음과 같은 기본 구조를 가집니다.

    - view
    - theme
    - themeLight
    - themeDark
    - themeLightContrast
    - themeDarkContrast
    - separator
    - shapebar
    - editbar
    - grid
    - separator
    - connectionPoints
    - resizePoints
    - magnetic
    - separator
    - zoomIn
    - zoomOut

    org/mindmap 모드에서 view 항목 컬렉션은 다음과 같은 기본 구조를 가집니다.

    - view
    - theme
    - themeLight
    - themeDark
    - themeLightContrast
    - themeDarkContrast
    - separator
    - editbar
    - separator
    - grid
    - separator
    - resizePoints
    - itemsDraggable
    - separator
    - zoomIn
    - zoomOut

  • theme - 테마를 적용하기 위한 서비스 요소 그룹을 형성합니다

    Details

    theme 항목은 다음과 같은 구조를 가집니다.

    - theme
    - themeLight
    - themeDark
    - themeLightContrast
    - themeDarkContrast
  • themeLight - Light 테마를 적용합니다

  • themeDark - Dark 테마를 적용합니다

  • themeLightContrast - LightContrast 테마를 적용합니다

  • themeDarkContrast - DarkContrast 테마를 적용합니다

  • shapebar - Shapebar 패널을 표시하거나 숨깁니다

  • editbar - Editbar 패널을 표시하거나 숨깁니다

  • grid - Grid 영역에서 grid를 표시하거나 숨깁니다

  • connectionPoints - 연결 지점을 표시하거나 숨깁니다

  • resizePoints - 크기 조정 지점을 표시하거나 숨깁니다

  • magnetic - magnetic 기능을 켜거나 끕니다

  • zoomIn - 배율 값을 0.05(5%)만큼 늘립니다

  • zoomOut - 배율 값을 0.05(5%)만큼 줄입니다


  • arrange - Diagram Editor 요소를 정렬하기 위한 서비스 요소 그룹을 형성합니다

    Details

    default 모드에서 arrange 항목 컬렉션은 다음과 같은 기본 구조를 가집니다.

    - arrange
    - layout
    - layoutMode
    - layoutModeDirect
    - layoutModeEdges
    - separator
    - layoutOrthogonal
    - layoutRadial
    - align
    - alignHorizontalLeft
    - alignHorizontalCenter
    - alignHorizontalRight
    - separator
    - alignVerticalTop
    - alignVerticalCenter
    - alignVerticalBottom
    - distribute
    - distributeVertical
    - distributeHorizontal

  • layout - Diagram Editor 요소를 자동 배치하기 위한 서비스 요소 그룹을 형성합니다

    Details

    layout 항목은 다음과 같은 구조를 가집니다.

    - layout
    - layoutMode
    - layoutModeDirect
    - layoutModeEdges
    - separator
    - layoutOrthogonal
    - layoutRadial
  • layoutMode - 자동 배치 모드를 관리하기 위한 서비스 요소 그룹을 형성합니다

    Details

    layoutMode 항목은 다음과 같은 구조를 가집니다.

    - layoutMode
    - layoutModeDirect
    - layoutModeEdges
  • layoutModeDirect - 요소 커넥터의 direct 모드를 적용합니다

  • layoutModeEdges - 요소 커넥터의 edges 모드를 적용합니다

  • layoutOrthogonal - 요소 배치의 orthogonal 모드를 적용합니다

  • layoutRadial - 요소 배치의 radial 모드를 적용합니다

  • align - Diagram Editor 요소의 정렬을 관리하기 위한 서비스 요소 그룹을 형성합니다

    Details

    align 항목은 다음과 같은 구조를 가집니다.

    - align
    - alignHorizontalLeft
    - alignHorizontalCenter
    - alignHorizontalRight
    - separator
    - alignVerticalTop
    - alignVerticalCenter
    - alignVerticalBottom
  • alignHorizontalLeft - 요소를 수평으로 왼쪽에 정렬합니다

  • alignHorizontalCenter - 요소를 수평으로 가운데에 정렬합니다

  • alignHorizontalRight - 요소를 수평으로 오른쪽에 정렬합니다

  • alignVerticalTop - 요소를 수직으로 위쪽에 정렬합니다

  • alignVerticalCenter - 요소를 수직으로 가운데에 정렬합니다

  • alignVerticalBottom - 요소를 수직으로 아래쪽에 정렬합니다

  • distribute - Diagram Editor 요소를 분산 배치하기 위한 서비스 요소 그룹을 형성합니다

    Details

    distribute 항목은 다음과 같은 구조를 가집니다.

    - distribute
    - distributeVertical
    - distributeHorizontal
  • distributeVertical - 요소를 수직으로 분산합니다

  • distributeHorizontal - 요소를 수평으로 분산합니다


  • scale - 사용자가 배율 값을 0.05(5%)만큼 늘리거나 줄일 수 있는 컨트롤입니다

    Details

    scale 항목은 다음과 같이 표시됩니다.

  • separator - 항목/항목 그룹을 서로 구분하는 수평(메뉴 옵션 사이) 또는 수직(툴바 컨트롤 사이) 선입니다.

  • spacer - 컨트롤 정렬에 사용되는 툴바의 공간입니다

기본 요소

서비스 요소 외에도, 객체 방식을 사용하여 다음과 같은 기본 요소를 지정하고 구성할 수도 있습니다.

아래 예제는 Toolbar에 Button 컨트롤을 추가하는 방법을 보여줍니다.

const editor = new dhx.DiagramEditor("editor_container", {
type: "org", // "default" | "org" | "mindmap"
view: {
// toolbar: true, // 기본 Toolbar를 표시합니다
// 또는 객체를 통해 Toolbar를 구성합니다
toolbar: {
items: [
{
type: "button",
value: "Best button"
}
]
}
}
});

기본 요소의 내부 속성 외에도(Separator, Spacer, Title 제외) 다음 속성도 사용할 수 있습니다.

  • checkIcon - (선택 사항) - 아이콘 CSS 클래스를 반환하는 핸들러입니다. 다음 인수와 함께 호출됩니다.
    • editor - Diagram Editor 객체
checkIcon?: (editor: IDiagramEditor) => string; // 아이콘을 포함하는 기본 요소에만 사용하세요
  • handler - (선택 사항) - click 또는 inputChange 이벤트가 발생할 때 실행되는 핸들러입니다. 다음 인수와 함께 호출됩니다.
handler?: (editor: object, event: Event) => void;

관련 샘플: 에디터가 포함된 Diagram. 기본 모드. 카드, editbar, toolbar, shapebar 사용자 정의