@blockdia/scratch-blocks 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/.nvmrc +1 -0
  2. package/LICENSE +674 -0
  3. package/README.md +57 -0
  4. package/TRADEMARK +1 -0
  5. package/blockly_compressed_horizontal.js +2268 -0
  6. package/blockly_compressed_vertical.js +2296 -0
  7. package/blockly_uncompressed_horizontal.js +1212 -0
  8. package/blockly_uncompressed_vertical.js +1212 -0
  9. package/blocks_common/colour.js +61 -0
  10. package/blocks_common/math.js +159 -0
  11. package/blocks_common/matrix.js +54 -0
  12. package/blocks_common/note.js +58 -0
  13. package/blocks_common/text.js +57 -0
  14. package/blocks_compressed.js +37 -0
  15. package/blocks_compressed_horizontal.js +68 -0
  16. package/blocks_compressed_vertical.js +216 -0
  17. package/blocks_horizontal/control.js +212 -0
  18. package/blocks_horizontal/default_toolbox.js +139 -0
  19. package/blocks_horizontal/event.js +190 -0
  20. package/blocks_horizontal/wedo.js +325 -0
  21. package/blocks_vertical/control.js +532 -0
  22. package/blocks_vertical/data.js +666 -0
  23. package/blocks_vertical/default_toolbox.js +571 -0
  24. package/blocks_vertical/event.js +329 -0
  25. package/blocks_vertical/extensions.js +294 -0
  26. package/blocks_vertical/looks.js +591 -0
  27. package/blocks_vertical/motion.js +587 -0
  28. package/blocks_vertical/operators.js +470 -0
  29. package/blocks_vertical/procedures.js +1051 -0
  30. package/blocks_vertical/sensing.js +555 -0
  31. package/blocks_vertical/sound.js +246 -0
  32. package/blocks_vertical/vertical_extensions.js +289 -0
  33. package/build/gen_blocks.js +1 -0
  34. package/build/test_expect.js +1 -0
  35. package/build/test_input.js +1 -0
  36. package/build.py +647 -0
  37. package/cleanup.sh +101 -0
  38. package/core/block.js +1837 -0
  39. package/core/block_animations.js +107 -0
  40. package/core/block_drag_surface.js +299 -0
  41. package/core/block_dragger.js +424 -0
  42. package/core/block_events.js +531 -0
  43. package/core/block_render_svg_horizontal.js +892 -0
  44. package/core/block_render_svg_vertical.js +1734 -0
  45. package/core/block_svg.js +1355 -0
  46. package/core/blockly.js +620 -0
  47. package/core/blocks.js +37 -0
  48. package/core/bubble.js +664 -0
  49. package/core/bubble_dragger.js +285 -0
  50. package/core/colours.js +177 -0
  51. package/core/comment.js +293 -0
  52. package/core/comment_events.js +539 -0
  53. package/core/connection.js +776 -0
  54. package/core/connection_db.js +300 -0
  55. package/core/constants.js +408 -0
  56. package/core/contextmenu.js +534 -0
  57. package/core/css.js +1354 -0
  58. package/core/data_category.js +490 -0
  59. package/core/dragged_connection_manager.js +260 -0
  60. package/core/dropdowndiv.js +408 -0
  61. package/core/events.js +429 -0
  62. package/core/events_abstract.js +113 -0
  63. package/core/extensions.js +450 -0
  64. package/core/field.js +810 -0
  65. package/core/field_angle.js +410 -0
  66. package/core/field_checkbox.js +133 -0
  67. package/core/field_colour.js +253 -0
  68. package/core/field_colour_slider.js +387 -0
  69. package/core/field_date.js +353 -0
  70. package/core/field_dropdown.js +447 -0
  71. package/core/field_iconmenu.js +309 -0
  72. package/core/field_image.js +200 -0
  73. package/core/field_label.js +136 -0
  74. package/core/field_label_serializable.js +125 -0
  75. package/core/field_matrix.js +566 -0
  76. package/core/field_note.js +850 -0
  77. package/core/field_number.js +366 -0
  78. package/core/field_numberdropdown.js +77 -0
  79. package/core/field_textdropdown.js +164 -0
  80. package/core/field_textinput.js +675 -0
  81. package/core/field_textinput_removable.js +105 -0
  82. package/core/field_variable.js +385 -0
  83. package/core/field_variable_getter.js +185 -0
  84. package/core/field_vertical_separator.js +161 -0
  85. package/core/flyout_base.js +935 -0
  86. package/core/flyout_button.js +324 -0
  87. package/core/flyout_dragger.js +83 -0
  88. package/core/flyout_extension_category_header.js +159 -0
  89. package/core/flyout_horizontal.js +475 -0
  90. package/core/flyout_vertical.js +770 -0
  91. package/core/generator.js +426 -0
  92. package/core/gesture.js +1010 -0
  93. package/core/grid.js +227 -0
  94. package/core/icon.js +205 -0
  95. package/core/inject.js +496 -0
  96. package/core/input.js +285 -0
  97. package/core/insertion_marker_manager.js +678 -0
  98. package/core/intersection_observer.js +102 -0
  99. package/core/msg.js +62 -0
  100. package/core/mutator.js +426 -0
  101. package/core/names.js +198 -0
  102. package/core/options.js +244 -0
  103. package/core/procedures.js +739 -0
  104. package/core/rendered_connection.js +417 -0
  105. package/core/scratch_block_comment.js +646 -0
  106. package/core/scratch_blocks_utils.js +246 -0
  107. package/core/scratch_bubble.js +699 -0
  108. package/core/scratch_events.js +131 -0
  109. package/core/scratch_msgs.js +85 -0
  110. package/core/scrollbar.js +875 -0
  111. package/core/toolbox.js +803 -0
  112. package/core/tooltip.js +337 -0
  113. package/core/touch.js +226 -0
  114. package/core/trashcan.js +343 -0
  115. package/core/ui_events.js +91 -0
  116. package/core/ui_menu_utils.js +68 -0
  117. package/core/utils.js +825 -0
  118. package/core/variable_events.js +259 -0
  119. package/core/variable_map.js +415 -0
  120. package/core/variable_model.js +116 -0
  121. package/core/variables.js +674 -0
  122. package/core/warning.js +199 -0
  123. package/core/widgetdiv.js +344 -0
  124. package/core/workspace.js +673 -0
  125. package/core/workspace_audio.js +170 -0
  126. package/core/workspace_comment.js +426 -0
  127. package/core/workspace_comment_render_svg.js +706 -0
  128. package/core/workspace_comment_svg.js +609 -0
  129. package/core/workspace_drag_surface_svg.js +195 -0
  130. package/core/workspace_dragger.js +132 -0
  131. package/core/workspace_svg.js +2382 -0
  132. package/core/xml.js +930 -0
  133. package/core/zoom_controls.js +301 -0
  134. package/dist/horizontal.js +222 -0
  135. package/dist/vertical.js +222 -0
  136. package/dist/web/horizontal.js +232 -0
  137. package/dist/web/vertical.js +232 -0
  138. package/i18n/common.py +234 -0
  139. package/i18n/create_messages.py +162 -0
  140. package/i18n/create_scratch_msgs.js +69 -0
  141. package/i18n/dedup_json.py +73 -0
  142. package/i18n/js_to_json.js +46 -0
  143. package/i18n/js_to_json.py +136 -0
  144. package/i18n/json_to_js.js +52 -0
  145. package/i18n/json_to_js.py +185 -0
  146. package/i18n/sync_tx_translations.js +111 -0
  147. package/i18n/test_scratch_msgs.js +87 -0
  148. package/i18n/tests.py +47 -0
  149. package/i18n/xliff_to_json.py +232 -0
  150. package/local_build.sh +70 -0
  151. package/media/click.mp3 +0 -0
  152. package/media/click.ogg +0 -0
  153. package/media/click.wav +0 -0
  154. package/media/comment-arrow-down.svg +10 -0
  155. package/media/comment-arrow-up.svg +10 -0
  156. package/media/delete-x.svg +10 -0
  157. package/media/delete.mp3 +0 -0
  158. package/media/delete.ogg +0 -0
  159. package/media/delete.wav +0 -0
  160. package/media/dropdown-arrow-dark.svg +1 -0
  161. package/media/dropdown-arrow.svg +1 -0
  162. package/media/extensions/microbit-block-icon.svg +130 -0
  163. package/media/extensions/music-block-icon.svg +17 -0
  164. package/media/extensions/pen-block-icon.svg +19 -0
  165. package/media/extensions/wedo2-block-icon.svg +36 -0
  166. package/media/eyedropper.svg +22 -0
  167. package/media/green-flag.svg +17 -0
  168. package/media/handclosed.cur +0 -0
  169. package/media/handdelete.cur +0 -0
  170. package/media/handopen.cur +0 -0
  171. package/media/icons/arrow.svg +12 -0
  172. package/media/icons/arrow_button.svg +1 -0
  173. package/media/icons/control_forever.svg +1 -0
  174. package/media/icons/control_repeat.svg +1 -0
  175. package/media/icons/control_stop.svg +1 -0
  176. package/media/icons/control_wait.svg +1 -0
  177. package/media/icons/event_broadcast_blue.svg +1 -0
  178. package/media/icons/event_broadcast_coral.svg +1 -0
  179. package/media/icons/event_broadcast_green.svg +1 -0
  180. package/media/icons/event_broadcast_magenta.svg +1 -0
  181. package/media/icons/event_broadcast_orange.svg +1 -0
  182. package/media/icons/event_broadcast_purple.svg +1 -0
  183. package/media/icons/event_when-broadcast-received_blue.svg +1 -0
  184. package/media/icons/event_when-broadcast-received_coral.svg +1 -0
  185. package/media/icons/event_when-broadcast-received_green.svg +1 -0
  186. package/media/icons/event_when-broadcast-received_magenta.svg +1 -0
  187. package/media/icons/event_when-broadcast-received_orange.svg +1 -0
  188. package/media/icons/event_when-broadcast-received_purple.svg +1 -0
  189. package/media/icons/event_whenflagclicked.svg +1 -0
  190. package/media/icons/remove.svg +19 -0
  191. package/media/icons/set-led_blue.svg +1 -0
  192. package/media/icons/set-led_coral.svg +1 -0
  193. package/media/icons/set-led_green.svg +1 -0
  194. package/media/icons/set-led_magenta.svg +1 -0
  195. package/media/icons/set-led_mystery.svg +1 -0
  196. package/media/icons/set-led_orange.svg +1 -0
  197. package/media/icons/set-led_purple.svg +1 -0
  198. package/media/icons/set-led_white.svg +1 -0
  199. package/media/icons/set-led_yellow.svg +1 -0
  200. package/media/icons/wedo_motor-clockwise.svg +1 -0
  201. package/media/icons/wedo_motor-counterclockwise.svg +1 -0
  202. package/media/icons/wedo_motor-speed_fast.svg +1 -0
  203. package/media/icons/wedo_motor-speed_med.svg +1 -0
  204. package/media/icons/wedo_motor-speed_slow.svg +1 -0
  205. package/media/icons/wedo_when-distance_close.svg +1 -0
  206. package/media/icons/wedo_when-tilt-backward.svg +1 -0
  207. package/media/icons/wedo_when-tilt-forward.svg +1 -0
  208. package/media/icons/wedo_when-tilt-left.svg +1 -0
  209. package/media/icons/wedo_when-tilt-right.svg +1 -0
  210. package/media/icons/wedo_when-tilt.svg +1 -0
  211. package/media/repeat.svg +18 -0
  212. package/media/rotate-left.svg +1 -0
  213. package/media/rotate-right.svg +1 -0
  214. package/media/sprites.png +0 -0
  215. package/media/status-not-ready.svg +13 -0
  216. package/media/status-ready.svg +13 -0
  217. package/media/zoom-in.svg +1 -0
  218. package/media/zoom-out.svg +1 -0
  219. package/media/zoom-reset.svg +1 -0
  220. package/msg/js/en.js +290 -0
  221. package/msg/json/en.json +285 -0
  222. package/msg/messages.js +359 -0
  223. package/msg/scratch_msgs.js +22969 -0
  224. package/package.json +60 -0
  225. package/pull_from_blockly.sh +151 -0
  226. package/renovate.json5 +15 -0
  227. package/shim/blockly_compressed_horizontal-blocks_compressed.js +1 -0
  228. package/shim/blockly_compressed_horizontal.Blockly.js +1 -0
  229. package/shim/blockly_compressed_horizontal.goog.js +1 -0
  230. package/shim/blockly_compressed_horizontal.js +1 -0
  231. package/shim/blockly_compressed_vertical-blocks_compressed.js +1 -0
  232. package/shim/blockly_compressed_vertical.Blockly.js +1 -0
  233. package/shim/blockly_compressed_vertical.goog.js +1 -0
  234. package/shim/blockly_compressed_vertical.js +1 -0
  235. package/shim/blocks_compressed_horizontal-blockly_compressed_horizontal-messages.js +1 -0
  236. package/shim/blocks_compressed_horizontal.js +1 -0
  237. package/shim/blocks_compressed_vertical-blockly_compressed_vertical-messages.js +1 -0
  238. package/shim/blocks_compressed_vertical.js +1 -0
  239. package/shim/gh-pages.js +1 -0
  240. package/shim/horizontal.js +1 -0
  241. package/shim/index.js +17 -0
  242. package/shim/vertical.js +1 -0
  243. package/universal-python.js +82 -0
@@ -0,0 +1,325 @@
1
+ /**
2
+ * @license
3
+ * Visual Blocks Editor
4
+ *
5
+ * Copyright 2016 Massachusetts Institute of Technology
6
+ * All rights reserved.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ */
20
+
21
+ /**
22
+ * @fileoverview Wedo blocks for Scratch (Horizontal)
23
+ * @author ascii@media.mit.edu <Andrew Sliwinski>
24
+ */
25
+ 'use strict';
26
+
27
+ goog.provide('Blockly.Blocks.wedo');
28
+
29
+ goog.require('Blockly.Blocks');
30
+
31
+ goog.require('Blockly.Colours');
32
+
33
+ Blockly.Blocks['dropdown_wedo_setcolor'] = {
34
+ /**
35
+ * Block for set color drop-down (used for shadow).
36
+ * @this Blockly.Block
37
+ */
38
+ init: function() {
39
+ this.appendDummyInput()
40
+ .appendField(new Blockly.FieldIconMenu(
41
+ [
42
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/set-led_mystery.svg',
43
+ value: 'mystery', width: 48, height: 48, alt: 'Mystery'},
44
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/set-led_yellow.svg',
45
+ value: 'yellow', width: 48, height: 48, alt: 'Yellow'},
46
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/set-led_orange.svg',
47
+ value: 'orange', width: 48, height: 48, alt: 'Orange'},
48
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/set-led_coral.svg',
49
+ value: 'coral', width: 48, height: 48, alt: 'Coral'},
50
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/set-led_magenta.svg',
51
+ value: 'magenta', width: 48, height: 48, alt: 'Magenta'},
52
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/set-led_purple.svg',
53
+ value: 'purple', width: 48, height: 48, alt: 'Purple'},
54
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/set-led_blue.svg',
55
+ value: 'blue', width: 48, height: 48, alt: 'Blue'},
56
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/set-led_green.svg',
57
+ value: 'green', width: 48, height: 48, alt: 'Green'},
58
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/set-led_white.svg',
59
+ value: 'white', width: 48, height: 48, alt: 'White'}
60
+ ]), 'CHOICE');
61
+ this.setOutput(true);
62
+ this.setColour(Blockly.Colours.looks.primary,
63
+ Blockly.Colours.looks.secondary,
64
+ Blockly.Colours.looks.tertiary,
65
+ Blockly.Colours.looks.quaternary
66
+ );
67
+ }
68
+ };
69
+
70
+ Blockly.Blocks['wedo_setcolor'] = {
71
+ /**
72
+ * Block to set color of LED
73
+ * @this Blockly.Block
74
+ */
75
+ init: function() {
76
+ this.jsonInit({
77
+ "id": "wedo_setcolor",
78
+ "message0": "%1 %2",
79
+ "args0": [
80
+ {
81
+ "type": "field_image",
82
+ "src": Blockly.mainWorkspace.options.pathToMedia + "icons/set-led_blue.svg",
83
+ "width": 40,
84
+ "height": 40,
85
+ "alt": "Set LED Color"
86
+ },
87
+ {
88
+ "type": "input_value",
89
+ "name": "CHOICE"
90
+ }
91
+ ],
92
+ "inputsInline": true,
93
+ "previousStatement": null,
94
+ "nextStatement": null,
95
+ "category": Blockly.Categories.looks,
96
+ "colour": Blockly.Colours.looks.primary,
97
+ "colourSecondary": Blockly.Colours.looks.secondary,
98
+ "colourTertiary": Blockly.Colours.looks.tertiary,
99
+ "colourQuaternary": Blockly.Colours.looks.quaternary
100
+ });
101
+ }
102
+ };
103
+
104
+ Blockly.Blocks['wedo_motorclockwise'] = {
105
+ /**
106
+ * Block to spin motor clockwise.
107
+ * @this Blockly.Block
108
+ */
109
+ init: function() {
110
+ this.jsonInit({
111
+ "id": "wedo_motorclockwise",
112
+ "message0": "%1 %2",
113
+ "args0": [
114
+ {
115
+ "type": "field_image",
116
+ "src": Blockly.mainWorkspace.options.pathToMedia + "icons/wedo_motor-clockwise.svg",
117
+ "width": 40,
118
+ "height": 40,
119
+ "alt": "Turn motor clockwise"
120
+ },
121
+ {
122
+ "type": "input_value",
123
+ "name": "DURATION",
124
+ "check": "Number"
125
+ }
126
+ ],
127
+ "inputsInline": true,
128
+ "previousStatement": null,
129
+ "nextStatement": null,
130
+ "category": Blockly.Categories.motion,
131
+ "colour": Blockly.Colours.motion.primary,
132
+ "colourSecondary": Blockly.Colours.motion.secondary,
133
+ "colourTertiary": Blockly.Colours.motion.tertiary,
134
+ "colourQuaternary": Blockly.Colours.motion.quaternary
135
+ });
136
+ }
137
+ };
138
+
139
+ Blockly.Blocks['wedo_motorcounterclockwise'] = {
140
+ /**
141
+ * Block to spin motor counter-clockwise.
142
+ * @this Blockly.Block
143
+ */
144
+ init: function() {
145
+ this.jsonInit({
146
+ "id": "wedo_motorcounterclockwise",
147
+ "message0": "%1 %2",
148
+ "args0": [
149
+ {
150
+ "type": "field_image",
151
+ "src": Blockly.mainWorkspace.options.pathToMedia + "icons/wedo_motor-counterclockwise.svg",
152
+ "width": 40,
153
+ "height": 40,
154
+ "alt": "Turn motor counter-clockwise"
155
+ },
156
+ {
157
+ "type": "input_value",
158
+ "name": "DURATION",
159
+ "check": "Number"
160
+ }
161
+ ],
162
+ "inputsInline": true,
163
+ "previousStatement": null,
164
+ "nextStatement": null,
165
+ "category": Blockly.Categories.motion,
166
+ "colour": Blockly.Colours.motion.primary,
167
+ "colourSecondary": Blockly.Colours.motion.secondary,
168
+ "colourTertiary": Blockly.Colours.motion.tertiary,
169
+ "colourQuaternary": Blockly.Colours.motion.quaternary
170
+ });
171
+ }
172
+ };
173
+
174
+ Blockly.Blocks['dropdown_wedo_motorspeed'] = {
175
+ /**
176
+ * Block for motor speed drop-down (used for shadow).
177
+ * @this Blockly.Block
178
+ */
179
+ init: function() {
180
+ this.appendDummyInput()
181
+ .appendField(new Blockly.FieldIconMenu(
182
+ [
183
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/wedo_motor-speed_slow.svg',
184
+ value: 'slow', width: 48, height: 48, alt: 'Slow'},
185
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/wedo_motor-speed_med.svg',
186
+ value: 'medium', width: 48, height: 48, alt: 'Medium'},
187
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/wedo_motor-speed_fast.svg',
188
+ value: 'fast', width: 48, height: 48, alt: 'Fast'}
189
+ ]), 'CHOICE');
190
+ this.setOutput(true);
191
+ this.setColour(Blockly.Colours.motion.primary,
192
+ Blockly.Colours.motion.secondary,
193
+ Blockly.Colours.motion.tertiary,
194
+ Blockly.Colours.motion.quaternary
195
+ );
196
+ }
197
+ };
198
+
199
+ Blockly.Blocks['wedo_motorspeed'] = {
200
+ /**
201
+ * Block to set motor speed.
202
+ * @this Blockly.Block
203
+ */
204
+ init: function() {
205
+ this.jsonInit({
206
+ "id": "wedo_motorspeed",
207
+ "message0": "%1 %2",
208
+ "args0": [
209
+ {
210
+ "type": "field_image",
211
+ "src": Blockly.mainWorkspace.options.pathToMedia + "icons/wedo_motor-speed_fast.svg",
212
+ "width": 40,
213
+ "height": 40,
214
+ "alt": "Motor Speed"
215
+ },
216
+ {
217
+ "type": "input_value",
218
+ "name": "CHOICE"
219
+ }
220
+ ],
221
+ "inputsInline": true,
222
+ "previousStatement": null,
223
+ "nextStatement": null,
224
+ "category": Blockly.Categories.motion,
225
+ "colour": Blockly.Colours.motion.primary,
226
+ "colourSecondary": Blockly.Colours.motion.secondary,
227
+ "colourTertiary": Blockly.Colours.motion.tertiary,
228
+ "colourQuaternary": Blockly.Colours.motion.quaternary
229
+ });
230
+ }
231
+ };
232
+
233
+ Blockly.Blocks['dropdown_wedo_whentilt'] = {
234
+ /**
235
+ * Block for when tilt drop-down (used for shadow).
236
+ * @this Blockly.Block
237
+ */
238
+ init: function() {
239
+ this.appendDummyInput()
240
+ .appendField(new Blockly.FieldIconMenu(
241
+ [
242
+ {type: 'placeholder', width: 48, height: 48},
243
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/wedo_when-tilt-forward.svg',
244
+ value: 'forward', width: 48, height: 48, alt: 'Tilt forward'},
245
+ {type: 'placeholder', width: 48, height: 48},
246
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/wedo_when-tilt-left.svg',
247
+ value: 'left', width: 48, height: 48, alt: 'Tilt left'},
248
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/wedo_when-tilt.svg',
249
+ value: 'any', width: 48, height: 48, alt: 'Tilt any'},
250
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/wedo_when-tilt-right.svg',
251
+ value: 'right', width: 48, height: 48, alt: 'Tilt right'},
252
+ {type: 'placeholder', width: 48, height: 48},
253
+ {src: Blockly.mainWorkspace.options.pathToMedia + 'icons/wedo_when-tilt-backward.svg',
254
+ value: 'backward', width: 48, height: 48, alt: 'Tilt backward'}
255
+ ]), 'CHOICE');
256
+ this.setOutput(true);
257
+ this.setColour(Blockly.Colours.event.primary,
258
+ Blockly.Colours.event.secondary,
259
+ Blockly.Colours.event.tertiary,
260
+ Blockly.Colours.event.quaternary
261
+ );
262
+ }
263
+ };
264
+
265
+ Blockly.Blocks['wedo_whentilt'] = {
266
+ /**
267
+ * Block for when tilted.
268
+ * @this Blockly.Block
269
+ */
270
+ init: function() {
271
+ this.jsonInit({
272
+ "id": "wedo_whentilt",
273
+ "message0": "%1 %2",
274
+ "args0": [
275
+ {
276
+ "type": "field_image",
277
+ "src": Blockly.mainWorkspace.options.pathToMedia + "icons/wedo_when-tilt.svg",
278
+ "width": 40,
279
+ "height": 40,
280
+ "alt": "When tilted"
281
+ },
282
+ {
283
+ "type": "input_value",
284
+ "name": "CHOICE"
285
+ }
286
+ ],
287
+ "inputsInline": true,
288
+ "nextStatement": null,
289
+ "category": Blockly.Categories.event,
290
+ "colour": Blockly.Colours.event.primary,
291
+ "colourSecondary": Blockly.Colours.event.secondary,
292
+ "colourTertiary": Blockly.Colours.event.tertiary,
293
+ "colourQuaternary": Blockly.Colours.event.quaternary
294
+ });
295
+ }
296
+ };
297
+
298
+ Blockly.Blocks['wedo_whendistanceclose'] = {
299
+ /**
300
+ * Block for when distance sensor is close.
301
+ * @this Blockly.Block
302
+ */
303
+ init: function() {
304
+ this.jsonInit({
305
+ "id": "wedo_whendistanceclose",
306
+ "message0": "%1",
307
+ "args0": [
308
+ {
309
+ "type": "field_image",
310
+ "src": Blockly.mainWorkspace.options.pathToMedia + "icons/wedo_when-distance_close.svg",
311
+ "width": 40,
312
+ "height": 40,
313
+ "alt": "When distance close"
314
+ }
315
+ ],
316
+ "inputsInline": true,
317
+ "nextStatement": null,
318
+ "category": Blockly.Categories.event,
319
+ "colour": Blockly.Colours.event.primary,
320
+ "colourSecondary": Blockly.Colours.event.secondary,
321
+ "colourTertiary": Blockly.Colours.event.tertiary,
322
+ "colourQuaternary": Blockly.Colours.event.quaternary
323
+ });
324
+ }
325
+ };