확장블록
확장블록은 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) { |