확장블록
확장블록은 EntryJS에서 사용자가 다양한 외부 API 데이터를 워크스페이스 내로 직접 가져올 수 있게 해주는 API 블록입니다. 날씨 정보, 국민 행동 요령, 행사 정보와 같은 외부 데이터를 실시간으로 프로젝트에 활용할 수 있습니다.
현재의 한계
수정과 추가를 위해 EntryJS 소스 코드를 직접 수정하고 빌드해야 한다는 점입니다.
추후 개선을 통해 외부에서 동적으로 확장블록을 컨트롤 할수 있게 수정할 예정입니다.
공통
initOption으로 expansionDisable
값을 true
로 전달하면 확장 블록 기능이 동작하지 않습니다.
Entry.init(container, { |
또는 확장블록을 추가 및 제거하려면 아래의 소스코드를 수정한 후 빌드해야 합니다.
src/class/Expansion.js
import '../playground/blocks/block_expansion_weather'; |
확장블록 카테고리까지 제거하고 싶은경우 static.js에서 getAllBlocks
의 expansion
항목을 제거하면 됩 합니다.
다른방법의 카테고리 및 블록 제거 방법은 핵심 API를 참고하시면 됩니다.
META DATA
기본적으로 블록마다 메타데이터를 가지게 됩니다. 개발하는 블록마다 다른 메타데이터를 가지기도 하시면 공통적으로 필요한 메타데이터가 있습니다.
프로퍼티 | 타입 | 설명 |
---|---|---|
name | string | 확장 블록의 이름 |
imageName | string | 확장 블록의 이미지 |
title | Lang | 확장 블록의 다국어 이름 |
titleKey | string | 확장 블록의 다국어 키 예) template.festival_title_text = window.Lang.template.festival_title_text |
descriptionKey | string | 확장 블록의 다국어 키 |
api | string | 해당 확장블록을 호출할 api의 url |
팝업 관리
기본적으로는 팝업 expansion의 기능으로 확장 블록을 팝업에 띄울수 있습니다.
블록 메뉴에서 확장 블록 불러오기
버튼 클릭시 openExpansionBlockManager
이벤트가 발생하고 이때 popup.show 를 이용해 팝업을 띄울수 있습니다.
Entry.addEventListener('openExpansionBlockManager', () => { |
날씨
기온, 강수량, 미세먼지 농도 등 한국의 날씨와 관련된 블록 모음입니다.
해당 블록을 사용하기 위해선 API 서버 구축이 필요합니다.
현재 엔트리에서는 웨더아이 OPEN API 데이터를 이용해서 제공하고 있습니다.
웨더아이가 아니더라도 각 블록에서 데이터를 맞춰주면 어떤 날씨 API를 사용하더라도 문제 없습니다.
각 블록의 func를 수정해서 사용하면 됩니다.
check_city_weather
선택한 날짜와 지역의 날씨 정보를 실제 날씨 상태와 비교하여 일치하는 경우 ‘참’으로 판단하는 블록.
async func(sprite, script) { |
check_city_finedust
선택한 지역의 현재 미세먼지 정보를 실제 미세먼지 등급과 비교하여 일치하는 경우 ‘참’으로 판단하는 블록.
async func(sprite, script) { |
get_city_weather_data
선택한 날짜와 지역의 각종 날씨 정보 블록.
async func(sprite, script) { |
get_current_city_weather_data
현재 선택한 지역의 날씨 정보 블록.
func(sprite, script) { |
get_today_city_temperature
오늘 선택한 지역과 시간대의 기온 블록.
async func(sprite, script) { |
행사
국내 지역별 다양한 행사 및 축제와 관련된 불록 모음 입니다.
해당 블록을 사용하기 위해선 API 서버 구축이 필요합니다.
현재 엔트리에서는 API는 공공데이터의포털을 이용하고 있습니다.
각 블록의 func를 상황에 맞도록 수정해서 사용하면 됩니다.
count_festival
선택한 날짜와 지역에서 열리는 행사의 수 블록.
func(sprite, script) { |
get_festival_info
선택한 날짜와 지역에서 열리는 행사에 대한 정보 블록.
func(sprite, script) { |
자연재난 국민행동요령
자연재난 발생 시 국민이 지켜야하는 기본적인 행동요령에 대한 블록들의 모음입니다.
해당 블록을 사용하기 위해선 API 서버 구축이 필요합니다.
현재 엔트리에서는 API는 공공데이터의포털을 이용하고 있습니다.
각 블록에서 데이터를 맞춰주면 어떤 API를 사용하더라도 문제 없습니다.
count_disaster_behavior
선택한 자연재해가 발생했을 때 해야할 행동요령의 수 블록
func(sprite, script) { |
get_disaster_behavior
선택한 자연재해가 발생했을 때 해야하는 행동요령에 대한 정보 블록
func(sprite, script) { |
생활안전 국민행동요령
생활 속 안전을 위해 국민이 지켜야 하는 행동요령에 대한 블록 모음입니다.
해당 블록을 사용하기 위해선 API 서버 구축이 필요합니다.
현재 엔트리에서는 API는 공공데이터의포털을 이용하고 있습니다.
각 블록에서 데이터를 맞춰주면 어떤 API를 사용하더라도 문제 없습니다.
count_lifeSafety_behavior
선택한 생활 속 문제가 발생했을 때 해야할 행동요령의 수 블록.
func(sprite, script) { |
get_lifeSafety_behavior
선택한 생활 속 문제가 발생했을 때 해야할 행동요령에 대한 정보 블록.
func(sprite, script) { |