Skip to content

Commit 57a6770

Browse files
committed
add a plus button for add sample code
1 parent 3c8a206 commit 57a6770

5 files changed

Lines changed: 73 additions & 34 deletions

File tree

blocks/msg/en.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ goog.provide('Blockly.Msg.Webduino.en');
44

55
goog.require('Blockly.Msg.Webduino');
66

7+
// Sample
8+
9+
Blockly.Msg.SAMPLE_COMFIRM_MSG = "\"Load Sample\" will load sample code to replace your workspace, or you can click \"+\" to add sample code into your workspace.";
10+
11+
// Main
12+
713
Blockly.Msg.WEBDUINO_MATH_ROUND = "round";
814
Blockly.Msg.WEBDUINO_MATH_ROUND_UP = "round up";
915
Blockly.Msg.WEBDUINO_MATH_ROUND_DOWN = "round down";

blocks/msg/zh-hant.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ goog.provide('Blockly.Msg.Webduino.zh.hant');
44

55
goog.require('Blockly.Msg.Webduino');
66

7+
// Sample
8+
9+
Blockly.Msg.SAMPLE_COMFIRM_MSG = "載入範例積木將會覆寫工作區內容,確定載入?\n( 單純想加入範例積木,可點選後方「+」號 )";
10+
11+
// Main
12+
713
Blockly.Msg.VARIABLES_SET = "設定 %1 為 %2";
814
Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = "建立列表";
915
Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = "建立字串";
@@ -115,7 +121,6 @@ Blockly.Msg.DEMO_CONTROLLER_MOBILE_ACCELERATION = "加速度的數值 ( 小數
115121
Blockly.Msg.DEMO_CONTROLLER_MOBILE_TYPE1 = "旋轉與翻轉";
116122
Blockly.Msg.DEMO_CONTROLLER_MOBILE_TYPE2 = "加速度";
117123

118-
119124
// Console
120125

121126
Blockly.Msg.CUSTOM_JS_CONSOLE = "控制台顯示";

code.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -448,15 +448,25 @@ Code.getSample = function () {
448448

449449
sampleMenu.onclick = function (e) {
450450
var ele = e.target,
451-
chap = ele.getAttribute('data-value');
451+
chap = ele.getAttribute('data-value'),
452+
className = ele.className;
452453

453-
if (chap && window.confirm('確定載入範例程式?')) {
454+
if (chap && window.confirm(Blockly.Msg.SAMPLE_COMFIRM_MSG)) {
454455
Code.workspace.clear();
455456
var xmlText = smaples(chap);
456457
var xmlDom = Blockly.Xml.textToDom(xmlText);
457458
Blockly.Xml.domToWorkspace(xmlDom, Code.workspace);
458459
sampleBtn.click();
459460
}
461+
462+
if(className == 'icon-plus'){
463+
var parentValue = ele.parentElement.getAttribute('data-value');
464+
var xmlText = smaples(parentValue);
465+
var xmlDom = Blockly.Xml.textToDom(xmlText);
466+
Blockly.Xml.domToWorkspace(xmlDom, Code.workspace);
467+
sampleBtn.click();
468+
}
469+
460470
};
461471
}
462472

css/style.css

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -940,9 +940,9 @@ td#copyCode div {
940940
position:absolute;
941941
z-index:999;
942942
top:115px;
943-
right:100px;
943+
right:80px;
944944
box-shadow:0 6px 20px rgba(0,0,0,0.4), 0 1px 3px rgba(0,0,0,0.5);
945-
width:220px;
945+
width:240px;
946946
height:calc(100% - 160px);
947947
overflow: hidden;
948948
border-radius: 6px;
@@ -967,6 +967,16 @@ td#copyCode div {
967967
box-sizing: border-box;
968968
padding:4px 15px 4px 30px;
969969
color:#333;
970+
width:100%;
971+
position:relative;
972+
}
973+
#smaple-menu-content div i{
974+
position:absolute;
975+
top:5px;
976+
right:15px;
977+
font-size:12px;
978+
opacity:0;
979+
transition:.3s;
970980
}
971981

972982
#smaple-menu-content div:last-child{
@@ -978,3 +988,11 @@ td#copyCode div {
978988
cursor:pointer;
979989
color:#000;
980990
}
991+
992+
#smaple-menu-content div:hover i{
993+
opacity:1;
994+
}
995+
996+
#smaple-menu-content div:hover i:hover{
997+
color:#f80;
998+
}

views/index.handlebars

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -58,40 +58,40 @@
5858
<div id="smaple-menu" tabindex="0">
5959
<div id="smaple-menu-content">
6060
<h3>{{samples1}}</h3>
61-
<div data-value="1.1">{{samples1_1}}</div>
62-
<div data-value="1.2">{{samples1_2}}</div>
63-
<div data-value="1.3">{{samples1_3}}</div>
64-
<div data-value="1.4">{{samples1_4}}</div>
65-
<div data-value="1.5">{{samples1_5}}</div>
61+
<div data-value="1.1">{{samples1_1}}<i class="icon-plus"></i></div>
62+
<div data-value="1.2">{{samples1_2}}<i class="icon-plus"></i></div>
63+
<div data-value="1.3">{{samples1_3}}<i class="icon-plus"></i></div>
64+
<div data-value="1.4">{{samples1_4}}<i class="icon-plus"></i></div>
65+
<div data-value="1.5">{{samples1_5}}<i class="icon-plus"></i></div>
6666
<h3>{{samples2}}</h3>
67-
<div data-value="2.1">{{samples2_1}}</div>
68-
<div data-value="2.2">{{samples2_2}}</div>
69-
<div data-value="2.3">{{samples2_3}}</div>
70-
<div data-value="2.4">{{samples2_4}}</div>
71-
<div data-value="2.5">{{samples2_5}}</div>
72-
<div data-value="2.6">{{samples2_6}}</div>
73-
<div data-value="2.7">{{samples2_7}}</div>
74-
<div data-value="2.8">{{samples2_8}}</div>
67+
<div data-value="2.1">{{samples2_1}}<i class="icon-plus"></i></div>
68+
<div data-value="2.2">{{samples2_2}}<i class="icon-plus"></i></div>
69+
<div data-value="2.3">{{samples2_3}}<i class="icon-plus"></i></div>
70+
<div data-value="2.4">{{samples2_4}}<i class="icon-plus"></i></div>
71+
<div data-value="2.5">{{samples2_5}}<i class="icon-plus"></i></div>
72+
<div data-value="2.6">{{samples2_6}}<i class="icon-plus"></i></div>
73+
<div data-value="2.7">{{samples2_7}}<i class="icon-plus"></i></div>
74+
<div data-value="2.8">{{samples2_8}}<i class="icon-plus"></i></div>
7575
<h3>{{samples3}}</h3>
76-
<div data-value="3.1">{{samples3_1}}</div>
77-
<div data-value="3.2">{{samples3_2}}</div>
76+
<div data-value="3.1">{{samples3_1}}<i class="icon-plus"></i></div>
77+
<div data-value="3.2">{{samples3_2}}<i class="icon-plus"></i></div>
7878
<h3>{{samples4}}</h3>
79-
<div data-value="4.1">{{samples4_1}}</div>
80-
<div data-value="4.2">{{samples4_2}}</div>
81-
<div data-value="4.3">{{samples4_3}}</div>
79+
<div data-value="4.1">{{samples4_1}}<i class="icon-plus"></i></div>
80+
<div data-value="4.2">{{samples4_2}}<i class="icon-plus"></i></div>
81+
<div data-value="4.3">{{samples4_3}}<i class="icon-plus"></i></div>
8282
<h3>{{samples5}}</h3>
83-
<div data-value="5.1">{{samples5_1}}</div>
84-
<div data-value="5.2">{{samples5_2}}</div>
85-
<div data-value="5.3">{{samples5_3}}</div>
86-
<div data-value="5.4">{{samples5_4}}</div>
87-
<div data-value="5.5">{{samples5_5}}</div>
88-
<div data-value="5.6">{{samples5_6}}</div>
89-
<div data-value="5.7">{{samples5_7}}</div>
90-
<div data-value="5.8">{{samples5_8}}</div>
91-
<div data-value="5.9">{{samples5_9}}</div>
83+
<div data-value="5.1">{{samples5_1}}<i class="icon-plus"></i></div>
84+
<div data-value="5.2">{{samples5_2}}<i class="icon-plus"></i></div>
85+
<div data-value="5.3">{{samples5_3}}<i class="icon-plus"></i></div>
86+
<div data-value="5.4">{{samples5_4}}<i class="icon-plus"></i></div>
87+
<div data-value="5.5">{{samples5_5}}<i class="icon-plus"></i></div>
88+
<div data-value="5.6">{{samples5_6}}<i class="icon-plus"></i></div>
89+
<div data-value="5.7">{{samples5_7}}<i class="icon-plus"></i></div>
90+
<div data-value="5.8">{{samples5_8}}<i class="icon-plus"></i></div>
91+
<div data-value="5.9">{{samples5_9}}<i class="icon-plus"></i></div>
9292
<h3>{{samples6}}</h3>
93-
<div data-value="6.1">{{samples6_1}}</div>
94-
<div data-value="6.2">{{samples6_2}}</div>
93+
<div data-value="6.1">{{samples6_1}}<i class="icon-plus"></i></div>
94+
<div data-value="6.2">{{samples6_2}}<i class="icon-plus"></i></div>
9595
</div>
9696
</div>
9797
<div id="demo-area">

0 commit comments

Comments
 (0)