Skip to content

Commit 415e920

Browse files
authored
Custom blocks added and UX improved
1 parent 77f75e4 commit 415e920

1 file changed

Lines changed: 53 additions & 3 deletions

File tree

pages/newProject.html

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@
66
<meta http-equiv="X-UA-Compatible" content="ie=edge">
77
<title>MintCoding Editor</title>
88
<!-- Blockly 라이브러리 -->
9+
<script>console.time('모든 자바스크립트 로드 완료')</script>
910
<script src="https://unpkg.com/blockly@10.4.3/blockly.min.js"></script>
1011
<script src="https://unpkg.com/blockly@10.4.3/javascript.min.js"></script>
12+
<!-- Blockly field date 플러그인 -->
13+
<script src="https://cdn.jsdelivr.net/npm/@blockly/field-date@10.0.8/dist/index.min.js"></script>
1114
<!-- 커스텀 블록 및 앱 스크립트 -->
1215
<!-- 민트 -->
1316
<script src="../js/customBlocks/mint/mint.js"></script>
@@ -19,20 +22,53 @@
1922
<!-- localStorage -->
2023
<script src="../js/customBlocks/localstorage/localstorage.js"></script>
2124
<script src="../js/customBlocks/localstorage/generator.js"></script>
25+
<!-- 날짜 블록 -->
26+
<script src="../js/customBlocks/date/date.js"></script>
27+
<script src="../js/customBlocks/date/generator.js"></script>
2228
<!-- 백그라운드 스크립트 및 커스텀 블록 언어 패키지 -->
2329
<script src="../js/functions_for_blocks.js"></script>
2430
<script src="../js/app.js"></script>
2531
<!-- 커스텀 블록 언어 패키지 -->
2632
<script src="../js/lang_newProject.js"></script>
33+
<!-- 날짜 선택 블록 정의 -->
34+
<script>
35+
Blockly.defineBlocksWithJsonArray([
36+
{
37+
"type": "date_picker",
38+
"message0": `${APPENDFIELD[lang].date_picker} %1`,
39+
"args0": [
40+
{
41+
"type": "field_date",
42+
"name": "MY_DATE",
43+
"date": "2024-01-01"
44+
}
45+
],
46+
"output": "String",
47+
"tooltip": TOOLTIP[lang].date_picker,
48+
"colour": 0
49+
}
50+
]);
51+
</script>
52+
<script>
53+
javascriptGenerator.forBlock['date_picker'] = function(block, generator) {
54+
var date = block.getFieldValue('MY_DATE');
55+
return ["'" + date + "'", javascriptGenerator.ORDER_ATOMIC];
56+
};
57+
</script>
58+
<script>console.timeEnd('모든 자바스크립트 로드 완료')</script>
2759
<link rel="icon" type="image/svg+xml" href="../img/logo.svg">
2860
<link rel="stylesheet" href="../css/editor.css">
61+
<link rel="manifest" href="../manifest.json">
2962
</head>
3063

3164
<body>
3265
<div class="topbar">
33-
<img src="../img/logo.svg" alt="MintCoding Logo" class="logo" style="width: 40px; height: auto; cursor: pointer;" onclick="window.location.href='https://minirang.github.io/MintCoding?lang=ko'"/>
34-
<input type="text" id="projectName" placeholder="프로젝트 이름 입력"/>
35-
<button id="runButton" onclick="runCode()">실행</button>
66+
<img src="../img/logo.svg" alt="MintCoding Logo" class="logo" style="width: 40px; height: auto; cursor: pointer;" onclick="const params = new URLSearchParams(window.location.search); const lang = params.get('lang') || 'ko'; if (confirm('Would you like to move to another page?\n\n다른 페이지로 이동할까요?')) {window.location.href = 'https://minirang.github.io/MintCoding?lang=' + lang;}"/>
67+
<input type="text" id="projectName" placeholder="프로젝트 이름 입력" maxlength="35"/>
68+
<button id="runButton" onclick="runCode()">▶ 실행</button>
69+
<button id="saveButton" onclick="saveWorkspace()">파일로 저장</button>
70+
<button id="loadButton" onclick="document.getElementById('loadFile').click()">파일 불러오기</button>
71+
<input type="file" id="loadFile" accept=".mint,.json" style="display: none" onchange="loadWorkspace(event)"/>
3672
</div>
3773

3874
<div class="main">
@@ -134,6 +170,19 @@
134170
<block type="colour_rgb"></block>
135171
<block type="colour_blend"></block>
136172
</category>
173+
174+
<!-- 날짜 -->
175+
<category id="catDate" name="날짜" colour="0">
176+
<block type="date_picker"></block>
177+
<block type="date_now"></block>
178+
<block type="date_year"></block>
179+
<block type="date_month"></block>
180+
<block type="date_day"></block>
181+
<block type="date_hour"></block>
182+
<block type="date_minute"></block>
183+
<block type="date_second"></block>
184+
<block type="date_week"></block>
185+
</category>
137186

138187
<!-- 로컬 저장소 -->
139188
<!-- 내가 만들고도 너무 헷갈려서 그런데 카테고리 이름에만 storage에 s에 대문자임 -->
@@ -159,5 +208,6 @@
159208
</category>
160209
</xml>
161210

211+
<div id="toast"></div>
162212
</body>
163213
</html>

0 commit comments

Comments
 (0)