샌드박스
HTML, CSS, JavaScript 코드를 작성해 위젯을 빌드 할 수 있습니다.
입력 포트
데이터셋
출력 포트
데이터셋
설명
코드 입력 및 실행: 사용자는 코드 에디터에 직접 HTML, CSS, JavaScript 코드를 입력하고 실행할 수 있습니다. 입력 포트가 연결되어 있으면, JavaScript 에디터에서 getDataset API를 사용해 데이터를 가져올 수 있습니다.
실시간 프리뷰: 코드의 실행 결과를 바로 확인할 수 있는 프리뷰 창이 제공됩니다.
콘솔 로깅: JavaScript를 통해 데이터를 콘솔에 로그하여, 코드 실행 중 발생하는 데이터를 확인할 수 있습니다.
인풋 포트 추가 방법
샌드박스 노드 편집 화면의 Settings 탭에서 샌드박스 노드의 입력 포트를 추가할 수 있습니다.

JS 에디터에서 사용 가능한 API
getDataset
입력포트와 연결된 노드의 데이터를 가져오는 비동기 함수입니다.
옵션 설명:
target(number, optional): 입력 포트 번호 (기본값:1, 최소값: 1).
입력 포트는 설정에 따라 동적으로 추가될 수 있으므로, 포트 번호를 명시해 원하는 연결 데이터를 정확히 선택할 수 있습니다.
예를 들어, target: 1이면 첫 번째 입력 포트에서, target: 2이면 두 번째 입력 포트에서 데이터를 가져옵니다.
지정하지 않으면 기본적으로 첫 번째 포트에서 데이터를 가져옵니다.
limit (number, optional): 가져올 행 개수 (기본값: 20, 최대값: 1000, 최소값: 1).
page (number, optional): 페이지 번호 (기본값: 1, 최소값: 1).
sortedBy (string, optional): 정렬 기준 필드명.
ascending (boolean, optional): 오름차순 여부 (기본값: true).
예시
주의사항
비동기 처리: getDataset은 비동기 함수이므로 await 또는 .then()을 사용해야 합니다.
getAllDataset
입력포트와 연결된 노드의 전체 데이터를 가져오는 비동기 함수입니다. (페이지네이션 없이 모든 데이터를 가져옵니다)
옵션 설명:
target(number, optional): 입력 포트 번호 (기본값:1, 최소값: 1).
입력 포트는 설정에 따라 동적으로 추가될 수 있으므로, 포트 번호를 명시해 원하는 연결 데이터를 정확히 선택할 수 있습니다.
예를 들어, target: 1이면 첫 번째 입력 포트에서, target: 2이면 두 번째 입력 포트에서 데이터를 가져옵니다.
지정하지 않으면 기본적으로 첫 번째 포트에서 데이터를 가져옵니다.
sortedBy (string, optional): 정렬 기준 필드명.
ascending (boolean, optional): 오름차순 여부 (기본값: true)
예시
주의사항
비동기 처리: getAllDataset은 비동기 함수이므로 await 또는 .then()을 사용해야 합니다.
데이터 크기: getAllDataset은 페이지네이션 없이 모든 데이터를 가져오므로, 대량의 데이터가 있을 경우 성능에 영향을 줄 수 있습니다. 필요한 경우 getDataset의 limit과 page 옵션을 사용하세요.
runNode
캔버스 상의 다른 노드를 프로그래밍적으로 실행시키는 비동기 함수입니다.
옵션 설명:
nodeId (string, required): 실행할 노드의 ID.
예시
getNodeStatus
지정한 노드의 현재 상태를 가져오는 비동기 함수입니다.
옵션 설명:
nodeId (string, required): 상태를 조회할 노드의 ID.
반환값:
'not start': 실행되지 않은 상태
'loading': 실행 중인 상태
'complete': 실행이 정상적으로 완료된 상태
'failed': 실행 중 오류로 실패한 상태
예시
주의사항
일정 주기로 getNodeStatus를 호출하여 상태 변화를 감지해야 합니다.
getNodeOutputDataset
다른 노드의 출력 포트에 연결된 데이터셋을 가져오는 비동기 함수입니다. 페이지네이션 및 정렬 옵션을 지원하며, 특정 출력 포트를 선택해서 조회할 수 있습니다.
옵션 설명:
nodeId (string, required): 출력 데이터를 가져올 대상 노드의 ID.
target (number, optional): 출력 포트 번호 (기본값: 1, 최소값: 1).
limit (number, optional): 한 번에 가져올 행(row) 수 (기본값: 20).
page (number, optional): 페이지 번호 (기본값: 1, 최소값: 1).
sortedBy (string, optional): 정렬 기준 필드명.
ascending (boolean, optional): 오름차순 여부 (기본값: true).
예시
sendDataToOutput
출력포트와 연결된 노드에 데이터를 전달하는 함수입니다.
파라미터:
data: 다음 노드로 보낼 객체 배열 형식의 데이터
예시
resetSandboxOutput
샌드박스 노드의 출력 데이터를 초기화 하는 함수입니다.
nodeId를 전달하지 않으면 현재 샌드박스의 출력 데이터를 초기화하고,
nodeId가 있으면 해당 nodeId의 샌드박스 데이터를 초기화합니다.
파라미터:
nodeId (optional): 리셋할 샌드박스 노드의 ID
미전달 시: 현재 샌드박스 아웃풋 리셋
전달 시: 해당 nodeId 샌드박스 아웃풋 리셋
nodeId 확인 방법: 캔버스에서 해당 노드를 우클릭 → 노드 ID 복사에서 확인할 수 있습니다.
예시
changeApplicationMenu
애플리케이션의 메뉴를 변경하는 함수입니다.
파라미터:
menuNumber (number, required): 이동할 메뉴 번호 (최소값: 1).
첫 번째 메뉴는 1, 두 번째 메뉴는 2입니다.
1보다 작은 값을 입력하면 에러가 발생합니다.
예시
getUserInfo
현재 로그인한 사용자의 기본 정보를 가져오는 비동기 함수입니다.
반환값:
id (string): 사용자 ID.
name (string): 사용자 이름.
email (string): 사용자 이메일.
예시
주의사항
비로그인 상태: 인증 정보가 없는 경우(비로그인 등) 에러 대신 id, name, email이 모두 빈 문자열을 반환합니다.
JS 에디터에서 사용 가능한 event
node-status-changed
노드 상태 변경을 감지하는 이벤트입니다.
예시
사용방법



Last updated