STATIC JS

static.js는 EntryJS 환경에서 사용되는 중요한 설정 파일로, window.EntryStatic 변수에 다양한 옵션과 환경 설정 값을 할당하여 Entry의 워크스페이스 및 기타 환경을 구성하는 데 사용됩니다. 이 파일은 EntryJS의 사용성, 확장성, 그리고 커스터마이징을 용이하게 하기 위해 설계된 다양한 정적(static) 값들을 정의합니다.

실제로 엔트리에서 사용중인 static.js는 EntryJS 프로젝트 구조 내의 extern/util/static.js 경로에서 찾을 수 있습니다.

목록

fontFamily

EntryJS 워크스페이스 내에서 사용될 기본 폰트 패밀리(Font Family)를 지정하는데 사용됩니다.

// 기본값
EntryStatic.fontFamily = "NanumGothic, 'Nanum Gothic'";

fontOffsetY

EntryJS에서 블록 내의 텍스트 필드(textField)를 렌더링할 때, 폰트별로 적절한 Y축 오프셋 값을 주어 텍스트가 블록의 중앙 높이에 맞춰지도록 하는 옵션입니다.

// 기본값
EntryStatic.fontOffsetY = -2.5;

heightLetter

EntryJS에서 블록 내 텍스트 영역의 높이 값을 계산하는 데 사용되는 기준 문자를 지정하는 설정입니다. 이 옵션을 통해 개발자는 특정 문자의 너비를 기준으로 하여 블록 내의 텍스트 영역의 높이를 적절하게 조정할 수 있습니다. 기본값인 ‘M’은 텍스트 높이를 측정하기 위한 일반적인 기준 문자로 사용되며, 이는 대부분의 폰트에서 가로 세로의 차이가 비교적 비슷하기 때문입니다.

// 기본값
EntryStatic.heightLetter = 'M';

messageMaxLength

EntryJS 환경에서 신호 블록(메시지 블록)의 이름을 변경할 때 허용되는 최대 길이 값을 지정하는 설정입니다. 이 옵션을 설정함으로써, 개발자는 신호 이름의 길이를 제한할 수 있으며, 이는 사용자가 신호 블록의 이름을 입력할 때 길이 제한을 적용받게 됩니다.

// 기본값
EntryStatic.messageMaxLength = 10;

messageMaxLength

EntryJS 환경에서 신호 블록(메시지 블록)의 이름을 변경할 때 허용되는 최대 길이 값을 지정하는 설정입니다. 이 옵션을 설정함으로써, 개발자는 신호 이름의 길이를 제한할 수 있으며, 이는 사용자가 신호 블록의 이름을 입력할 때 길이 제한을 적용받게 됩니다.

// 기본값
EntryStatic.messageMaxLength = 10;

variableBlockList

EntryJS 환경에서 프로젝트를 오브젝트 파일로 내보낼 때 포함될 변수 블록을 지정하는 설정입니다. 이 옵션을 사용하면 개발자는 내보내기 작업 시 포함시킬 특정 변수 블록을 선별적으로 지정할 수 있으며, 이를 통해 내보낸 파일의 크기를 최적화하거나, 특정 사용 사례에 맞는 데이터만을 포함시킬 수 있습니다.

// 기본값
EntryStatic.variableBlockList = [
'get_variable',
'change_variable',
'set_variable',
'show_variable',
'hide_variable',
'value_of_index_from_list',
'add_value_to_list',
'remove_value_from_list',
'insert_value_to_list',
'change_value_list_index',
'length_of_list',
'is_included_in_list',
'show_list',
'hide_list',
];

messageBlockList

EntryJS 환경에서 오브젝트 파일로 내보내기(export) 시에 포함될 신호(메시지) 블록들을 지정하는 설정입니다. 이 옵션을 통해 개발자는 내보낼 객체 파일에 포함될 메시지 블록의 종류를 제한하거나 지정할 수 있습니다. 특히, 프로젝트의 특정 기능이나 상호작용에 필요한 신호 블록들만을 선택적으로 내보낼 때 유용하게 사용됩니다.

// 기본값
EntryStatic.messageBlockList = ['when_message_cast', 'message_cast', 'message_cast_wait'];

getAllBlocks

EntryJS에서 사용할 수 있는 블록 및 그 블록이 속한 카테고리를 지정하는 데 사용됩니다. 이 설정을 통해 개발자는 워크스페이스 내에서 사용자에게 제공될 블록의 종류와 그룹핑을 결정할 수 있으며, 특정 카테고리 또는 블록을 숨기거나 추가할 수 있습니다. getAllBlocks 값이 지정되지 않으면, 어떤 블록이나 카테고리도 워크스페이스에 나타나지 않게 됩니다.

소스참조

fonts

EntryJS 워크스페이스 내에서 사용될 폰트들을 설정하는 옵션입니다. 이 설정을 통해 개발자는 워크스페이스의 다양한 컴포넌트(예: 그림판, 텍스트 상자 등)에서 사용자가 활용할 수 있는 폰트 목록을 지정할 수 있습니다.

소스참조

colorSet

EntryJS 워크스페이스 내에서 사용되는 블록들의 색상을 지정하는 일종의 테마(theme) 설정입니다. 이 옵션을 통해 개발자는 워크스페이스의 블록 색상을 커스터마이즈할 수 있으며, 이를 통해 사용자에게 시각적으로 일관성 있는 환경을 제공하거나 특정 학습 목적에 맞게 블록의 색상을 조정할 수 있습니다.

소스참조

getDefaultFontFamily

// 기본값
EntryStatic.getDefaultFontFamily = function() {
const localLang = Lang || {};
const type = localLang.type;
const fallbackType = localLang.fallbackType;
const langType = type || fallbackType || 'en';
switch (langType) {
default:
return "NanumGothic, 'Nanum Gothic', 나눔고딕, NanumGothicWeb, '맑은 고딕', 'Malgun Gothic', Dotum";
}
};