blockly 7.20211209.2 → 8.0.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 (262) hide show
  1. package/blockly.d.ts +18963 -18432
  2. package/blockly.min.js +852 -844
  3. package/blockly_compressed.js +669 -664
  4. package/blockly_compressed.js.map +1 -1
  5. package/blocks/blocks.js +47 -0
  6. package/blocks/colour.js +13 -3
  7. package/blocks/lists.js +22 -13
  8. package/blocks/logic.js +13 -3
  9. package/blocks/loops.js +24 -11
  10. package/blocks/math.js +12 -3
  11. package/blocks/procedures.js +41 -27
  12. package/blocks/text.js +22 -13
  13. package/blocks/variables.js +14 -3
  14. package/blocks/variables_dynamic.js +13 -3
  15. package/blocks_compressed.js +146 -141
  16. package/blocks_compressed.js.map +1 -1
  17. package/core/block.js +1869 -1814
  18. package/core/block_drag_surface.js +201 -200
  19. package/core/block_dragger.js +377 -373
  20. package/core/block_svg.js +1593 -1479
  21. package/core/blockly.js +8 -22
  22. package/core/blocks.js +9 -2
  23. package/core/browser_events.js +22 -5
  24. package/core/bubble.js +841 -797
  25. package/core/bubble_dragger.js +213 -206
  26. package/core/bump_objects.js +2 -2
  27. package/core/clipboard.js +9 -9
  28. package/core/comment.js +353 -332
  29. package/core/common.js +46 -17
  30. package/core/component_manager.js +181 -174
  31. package/core/config.js +87 -0
  32. package/core/connection.js +595 -584
  33. package/core/connection_checker.js +242 -244
  34. package/core/connection_db.js +235 -230
  35. package/core/contextmenu.js +9 -6
  36. package/core/contextmenu_items.js +1 -2
  37. package/core/contextmenu_registry.js +93 -89
  38. package/core/css.js +474 -474
  39. package/core/delete_area.js +45 -42
  40. package/core/drag_target.js +57 -56
  41. package/core/dropdowndiv.js +153 -163
  42. package/core/events/events.js +2 -2
  43. package/core/events/events_abstract.js +89 -77
  44. package/core/events/events_block_base.js +37 -36
  45. package/core/events/events_block_change.js +130 -124
  46. package/core/events/events_block_create.js +73 -71
  47. package/core/events/events_block_delete.js +84 -82
  48. package/core/events/events_block_drag.js +50 -49
  49. package/core/events/events_block_move.js +147 -140
  50. package/core/events/events_bubble_open.js +51 -50
  51. package/core/events/events_click.js +48 -44
  52. package/core/events/events_comment_base.js +72 -69
  53. package/core/events/events_comment_change.js +63 -61
  54. package/core/events/events_comment_create.js +44 -42
  55. package/core/events/events_comment_delete.js +42 -40
  56. package/core/events/events_comment_move.js +106 -104
  57. package/core/events/events_marker_move.js +65 -64
  58. package/core/events/events_selected.js +46 -45
  59. package/core/events/events_theme_change.js +36 -35
  60. package/core/events/events_toolbox_item_select.js +46 -45
  61. package/core/events/events_trashcan_open.js +37 -36
  62. package/core/events/events_ui.js +47 -46
  63. package/core/events/events_ui_base.js +30 -29
  64. package/core/events/events_var_base.js +37 -36
  65. package/core/events/events_var_create.js +50 -48
  66. package/core/events/events_var_delete.js +50 -48
  67. package/core/events/events_var_rename.js +51 -49
  68. package/core/events/events_viewport.js +66 -65
  69. package/core/events/utils.js +29 -14
  70. package/core/events/workspace_events.js +49 -55
  71. package/core/extensions.js +4 -3
  72. package/core/field.js +1061 -997
  73. package/core/field_angle.js +462 -442
  74. package/core/field_checkbox.js +194 -182
  75. package/core/field_colour.js +519 -505
  76. package/core/field_dropdown.js +617 -598
  77. package/core/field_image.js +229 -220
  78. package/core/field_label.js +102 -91
  79. package/core/field_label_serializable.js +42 -41
  80. package/core/field_multilineinput.js +372 -358
  81. package/core/field_number.js +272 -253
  82. package/core/field_textinput.js +499 -467
  83. package/core/field_variable.js +458 -420
  84. package/core/flyout_base.js +1005 -952
  85. package/core/flyout_button.js +277 -260
  86. package/core/flyout_horizontal.js +304 -302
  87. package/core/flyout_metrics_manager.js +64 -64
  88. package/core/flyout_vertical.js +306 -300
  89. package/core/generator.js +459 -446
  90. package/core/gesture.js +829 -813
  91. package/core/grid.js +166 -163
  92. package/core/icon.js +168 -159
  93. package/core/inject.js +7 -5
  94. package/core/input.js +257 -248
  95. package/core/insertion_marker_manager.js +655 -624
  96. package/core/internal_constants.js +0 -129
  97. package/core/keyboard_nav/ast_node.js +605 -596
  98. package/core/keyboard_nav/basic_cursor.js +166 -165
  99. package/core/keyboard_nav/cursor.js +99 -97
  100. package/core/keyboard_nav/marker.js +83 -79
  101. package/core/keyboard_nav/tab_navigate_cursor.js +18 -23
  102. package/core/marker_manager.js +153 -141
  103. package/core/menu.js +377 -372
  104. package/core/menuitem.js +223 -217
  105. package/core/metrics_manager.js +403 -390
  106. package/core/mutator.js +468 -437
  107. package/core/names.js +229 -188
  108. package/core/options.js +290 -284
  109. package/core/procedures.js +29 -17
  110. package/core/registry.js +19 -16
  111. package/core/rendered_connection.js +482 -463
  112. package/core/renderers/common/block_rendering.js +9 -3
  113. package/core/renderers/common/constants.js +1119 -1112
  114. package/core/renderers/common/debug.js +14 -0
  115. package/core/renderers/common/debugger.js +338 -316
  116. package/core/renderers/common/drawer.js +380 -370
  117. package/core/renderers/common/i_path_object.js +2 -2
  118. package/core/renderers/common/info.js +626 -618
  119. package/core/renderers/common/marker_svg.js +579 -541
  120. package/core/renderers/common/path_object.js +203 -200
  121. package/core/renderers/common/renderer.js +220 -218
  122. package/core/renderers/geras/constants.js +36 -36
  123. package/core/renderers/geras/drawer.js +155 -147
  124. package/core/renderers/geras/highlight_constants.js +244 -238
  125. package/core/renderers/geras/highlighter.js +231 -179
  126. package/core/renderers/geras/info.js +392 -369
  127. package/core/renderers/geras/measurables/inline_input.js +25 -19
  128. package/core/renderers/geras/measurables/statement_input.js +23 -17
  129. package/core/renderers/geras/path_object.js +106 -121
  130. package/core/renderers/geras/renderer.js +96 -98
  131. package/core/renderers/measurables/base.js +30 -18
  132. package/core/renderers/measurables/bottom_row.js +83 -80
  133. package/core/renderers/measurables/connection.js +22 -15
  134. package/core/renderers/measurables/external_value_input.js +35 -22
  135. package/core/renderers/measurables/field.js +35 -20
  136. package/core/renderers/measurables/hat.js +18 -13
  137. package/core/renderers/measurables/icon.js +24 -17
  138. package/core/renderers/measurables/in_row_spacer.js +15 -13
  139. package/core/renderers/measurables/inline_input.js +43 -33
  140. package/core/renderers/measurables/input_connection.js +41 -28
  141. package/core/renderers/measurables/input_row.js +50 -44
  142. package/core/renderers/measurables/jagged_edge.js +14 -12
  143. package/core/renderers/measurables/next_connection.js +16 -14
  144. package/core/renderers/measurables/output_connection.js +26 -20
  145. package/core/renderers/measurables/previous_connection.js +16 -15
  146. package/core/renderers/measurables/round_corner.js +20 -18
  147. package/core/renderers/measurables/row.js +184 -168
  148. package/core/renderers/measurables/spacer_row.js +38 -23
  149. package/core/renderers/measurables/square_corner.js +18 -16
  150. package/core/renderers/measurables/statement_input.js +23 -20
  151. package/core/renderers/measurables/top_row.js +88 -85
  152. package/core/renderers/minimalist/constants.js +8 -7
  153. package/core/renderers/minimalist/drawer.js +11 -10
  154. package/core/renderers/minimalist/info.js +18 -18
  155. package/core/renderers/minimalist/renderer.js +40 -39
  156. package/core/renderers/thrasos/info.js +258 -248
  157. package/core/renderers/thrasos/renderer.js +20 -20
  158. package/core/renderers/zelos/constants.js +898 -873
  159. package/core/renderers/zelos/drawer.js +186 -169
  160. package/core/renderers/zelos/info.js +502 -479
  161. package/core/renderers/zelos/marker_svg.js +129 -115
  162. package/core/renderers/zelos/measurables/bottom_row.js +31 -30
  163. package/core/renderers/zelos/measurables/inputs.js +22 -21
  164. package/core/renderers/zelos/measurables/row_elements.js +14 -13
  165. package/core/renderers/zelos/measurables/top_row.js +34 -33
  166. package/core/renderers/zelos/path_object.js +181 -180
  167. package/core/renderers/zelos/renderer.js +91 -92
  168. package/core/scrollbar.js +759 -713
  169. package/core/scrollbar_pair.js +250 -245
  170. package/core/serialization/blocks.js +19 -9
  171. package/core/serialization/workspaces.js +3 -2
  172. package/core/shortcut_registry.js +286 -277
  173. package/core/sprites.js +31 -0
  174. package/core/theme.js +135 -141
  175. package/core/theme_manager.js +147 -143
  176. package/core/toolbox/category.js +602 -576
  177. package/core/toolbox/collapsible_category.js +226 -227
  178. package/core/toolbox/separator.js +70 -61
  179. package/core/toolbox/toolbox.js +934 -927
  180. package/core/toolbox/toolbox_item.js +115 -99
  181. package/core/tooltip.js +108 -35
  182. package/core/touch.js +8 -3
  183. package/core/touch_gesture.js +254 -251
  184. package/core/trashcan.js +606 -595
  185. package/core/utils/coordinate.js +97 -95
  186. package/core/utils/dom.js +2 -2
  187. package/core/utils/global.js +2 -0
  188. package/core/utils/rect.js +41 -37
  189. package/core/utils/sentinel.js +25 -0
  190. package/core/utils/size.js +30 -27
  191. package/core/utils/svg.js +18 -16
  192. package/core/variable_map.js +325 -341
  193. package/core/variable_model.js +55 -54
  194. package/core/variables.js +9 -2
  195. package/core/variables_dynamic.js +3 -1
  196. package/core/warning.js +126 -120
  197. package/core/widgetdiv.js +4 -4
  198. package/core/workspace.js +685 -664
  199. package/core/workspace_audio.js +124 -118
  200. package/core/workspace_comment.js +308 -298
  201. package/core/workspace_comment_svg.js +1029 -951
  202. package/core/workspace_drag_surface_svg.js +147 -140
  203. package/core/workspace_dragger.js +70 -71
  204. package/core/workspace_svg.js +2322 -2297
  205. package/core/xml.js +30 -20
  206. package/core/zoom_controls.js +431 -439
  207. package/dart_compressed.js +40 -43
  208. package/dart_compressed.js.map +1 -1
  209. package/generators/dart/colour.js +56 -64
  210. package/generators/dart/lists.js +61 -50
  211. package/generators/dart/math.js +160 -148
  212. package/generators/dart/text.js +83 -61
  213. package/generators/javascript/colour.js +37 -34
  214. package/generators/javascript/lists.js +50 -43
  215. package/generators/javascript/math.js +123 -139
  216. package/generators/javascript/text.js +67 -81
  217. package/generators/lua/colour.js +25 -23
  218. package/generators/lua/lists.js +97 -69
  219. package/generators/lua/logic.js +1 -2
  220. package/generators/lua/math.js +182 -144
  221. package/generators/lua/text.js +116 -99
  222. package/generators/php/colour.js +38 -32
  223. package/generators/php/lists.js +109 -89
  224. package/generators/php/math.js +90 -81
  225. package/generators/php/text.js +63 -61
  226. package/generators/python/colour.js +18 -18
  227. package/generators/python/lists.js +38 -30
  228. package/generators/python/loops.js +12 -8
  229. package/generators/python/math.js +104 -106
  230. package/generators/python/text.js +34 -30
  231. package/javascript_compressed.js +37 -39
  232. package/javascript_compressed.js.map +1 -1
  233. package/lua_compressed.js +39 -42
  234. package/lua_compressed.js.map +1 -1
  235. package/msg/az.js +2 -2
  236. package/msg/be.js +4 -4
  237. package/msg/cs.js +15 -15
  238. package/msg/de.js +1 -1
  239. package/msg/diq.js +1 -1
  240. package/msg/eo.js +1 -1
  241. package/msg/es.js +1 -1
  242. package/msg/fa.js +1 -1
  243. package/msg/fr.js +4 -4
  244. package/msg/he.js +1 -1
  245. package/msg/hr.js +2 -2
  246. package/msg/hy.js +2 -2
  247. package/msg/id.js +12 -12
  248. package/msg/inh.js +14 -14
  249. package/msg/ja.js +7 -7
  250. package/msg/lv.js +29 -29
  251. package/msg/pa.js +3 -3
  252. package/msg/smn.js +436 -0
  253. package/msg/te.js +1 -1
  254. package/msg/yue.js +1 -1
  255. package/msg/zh-hans.js +3 -3
  256. package/msg/zh-hant.js +3 -3
  257. package/package.json +7 -6
  258. package/php_compressed.js +38 -42
  259. package/php_compressed.js.map +1 -1
  260. package/python_compressed.js +26 -25
  261. package/python_compressed.js.map +1 -1
  262. package/blocks/all.js +0 -23
@@ -14,11 +14,11 @@
14
14
  */
15
15
  goog.module('Blockly.blockRendering.TopRow');
16
16
 
17
- const object = goog.require('Blockly.utils.object');
18
17
  /* eslint-disable-next-line no-unused-vars */
19
18
  const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
20
19
  /* eslint-disable-next-line no-unused-vars */
21
20
  const {ConstantProvider} = goog.requireType('Blockly.blockRendering.ConstantProvider');
21
+ const {Hat} = goog.require('Blockly.blockRendering.Hat');
22
22
  /* eslint-disable-next-line no-unused-vars */
23
23
  const {PreviousConnection} = goog.requireType('Blockly.blockRendering.PreviousConnection');
24
24
  const {Row} = goog.require('Blockly.blockRendering.Row');
@@ -32,109 +32,112 @@ const {Types} = goog.require('Blockly.blockRendering.Types');
32
32
  * connections.
33
33
  * After this constructor is called, the row will contain all non-spacer
34
34
  * elements it needs.
35
- * @param {!ConstantProvider} constants The rendering
36
- * constants provider.
37
- * @package
38
- * @constructor
39
35
  * @extends {Row}
36
+ * @struct
40
37
  * @alias Blockly.blockRendering.TopRow
41
38
  */
42
- const TopRow = function(constants) {
43
- TopRow.superClass_.constructor.call(this, constants);
44
-
45
- this.type |= Types.TOP_ROW;
46
-
39
+ class TopRow extends Row {
47
40
  /**
48
- * The starting point for drawing the row, in the y direction.
49
- * This allows us to draw hats and similar shapes that don't start at the
50
- * origin. Must be non-negative (see #2820).
41
+ * @param {!ConstantProvider} constants The rendering
42
+ * constants provider.
51
43
  * @package
52
- * @type {number}
53
44
  */
54
- this.capline = 0;
45
+ constructor(constants) {
46
+ super(constants);
47
+
48
+ this.type |= Types.TOP_ROW;
49
+
50
+ /**
51
+ * The starting point for drawing the row, in the y direction.
52
+ * This allows us to draw hats and similar shapes that don't start at the
53
+ * origin. Must be non-negative (see #2820).
54
+ * @package
55
+ * @type {number}
56
+ */
57
+ this.capline = 0;
58
+
59
+ /**
60
+ * How much the row extends up above its capline.
61
+ * @type {number}
62
+ */
63
+ this.ascenderHeight = 0;
64
+
65
+ /**
66
+ * Whether the block has a previous connection.
67
+ * @package
68
+ * @type {boolean}
69
+ */
70
+ this.hasPreviousConnection = false;
71
+
72
+ /**
73
+ * The previous connection on the block, if any.
74
+ * @type {PreviousConnection}
75
+ */
76
+ this.connection = null;
77
+ }
55
78
 
56
79
  /**
57
- * How much the row extends up above its capline.
58
- * @type {number}
80
+ * Returns whether or not the top row has a left square corner.
81
+ * @param {!BlockSvg} block The block whose top row this represents.
82
+ * @return {boolean} Whether or not the top row has a left square corner.
59
83
  */
60
- this.ascenderHeight = 0;
84
+ hasLeftSquareCorner(block) {
85
+ const hasHat =
86
+ (block.hat ? block.hat === 'cap' : this.constants_.ADD_START_HATS) &&
87
+ !block.outputConnection && !block.previousConnection;
88
+ const prevBlock = block.getPreviousBlock();
89
+
90
+ return !!block.outputConnection || hasHat ||
91
+ (prevBlock ? prevBlock.getNextBlock() === block : false);
92
+ }
61
93
 
62
94
  /**
63
- * Whether the block has a previous connection.
64
- * @package
65
- * @type {boolean}
95
+ * Returns whether or not the top row has a right square corner.
96
+ * @param {!BlockSvg} _block The block whose top row this represents.
97
+ * @return {boolean} Whether or not the top row has a right square corner.
66
98
  */
67
- this.hasPreviousConnection = false;
99
+ hasRightSquareCorner(_block) {
100
+ return true;
101
+ }
68
102
 
69
103
  /**
70
- * The previous connection on the block, if any.
71
- * @type {PreviousConnection}
104
+ * @override
72
105
  */
73
- this.connection = null;
74
- };
75
- object.inherits(TopRow, Row);
76
-
77
- /**
78
- * Returns whether or not the top row has a left square corner.
79
- * @param {!BlockSvg} block The block whose top row this represents.
80
- * @return {boolean} Whether or not the top row has a left square corner.
81
- */
82
- TopRow.prototype.hasLeftSquareCorner = function(block) {
83
- const hasHat =
84
- (block.hat ? block.hat === 'cap' : this.constants_.ADD_START_HATS) &&
85
- !block.outputConnection && !block.previousConnection;
86
- const prevBlock = block.getPreviousBlock();
87
-
88
- return !!block.outputConnection || hasHat ||
89
- (prevBlock ? prevBlock.getNextBlock() === block : false);
90
- };
91
-
92
- /**
93
- * Returns whether or not the top row has a right square corner.
94
- * @param {!BlockSvg} _block The block whose top row this represents.
95
- * @return {boolean} Whether or not the top row has a right square corner.
96
- */
97
- TopRow.prototype.hasRightSquareCorner = function(_block) {
98
- return true;
99
- };
100
-
101
- /**
102
- * @override
103
- */
104
- TopRow.prototype.measure = function() {
105
- let height = 0;
106
- let width = 0;
107
- let ascenderHeight = 0;
108
- for (let i = 0; i < this.elements.length; i++) {
109
- const elem = this.elements[i];
110
- width += elem.width;
111
- if (!(Types.isSpacer(elem))) {
112
- if (Types.isHat(elem)) {
113
- ascenderHeight = Math.max(ascenderHeight, elem.ascenderHeight);
114
- } else {
115
- height = Math.max(height, elem.height);
106
+ measure() {
107
+ let height = 0;
108
+ let width = 0;
109
+ let ascenderHeight = 0;
110
+ for (let i = 0; i < this.elements.length; i++) {
111
+ const elem = this.elements[i];
112
+ width += elem.width;
113
+ if (!(Types.isSpacer(elem))) {
114
+ if (Types.isHat(elem) && elem instanceof Hat) {
115
+ ascenderHeight = Math.max(ascenderHeight, elem.ascenderHeight);
116
+ } else {
117
+ height = Math.max(height, elem.height);
118
+ }
116
119
  }
117
120
  }
121
+ this.width = Math.max(this.minWidth, width);
122
+ this.height = Math.max(this.minHeight, height) + ascenderHeight;
123
+ this.ascenderHeight = ascenderHeight;
124
+ this.capline = this.ascenderHeight;
125
+ this.widthWithConnectedBlocks = this.width;
118
126
  }
119
- this.width = Math.max(this.minWidth, width);
120
- this.height = Math.max(this.minHeight, height) + ascenderHeight;
121
- this.ascenderHeight = ascenderHeight;
122
- this.capline = this.ascenderHeight;
123
- this.widthWithConnectedBlocks = this.width;
124
- };
125
127
 
126
- /**
127
- * @override
128
- */
129
- TopRow.prototype.startsWithElemSpacer = function() {
130
- return false;
131
- };
128
+ /**
129
+ * @override
130
+ */
131
+ startsWithElemSpacer() {
132
+ return false;
133
+ }
132
134
 
133
- /**
134
- * @override
135
- */
136
- TopRow.prototype.endsWithElemSpacer = function() {
137
- return false;
138
- };
135
+ /**
136
+ * @override
137
+ */
138
+ endsWithElemSpacer() {
139
+ return false;
140
+ }
141
+ }
139
142
 
140
143
  exports.TopRow = TopRow;
@@ -17,20 +17,21 @@
17
17
  */
18
18
  goog.module('Blockly.minimalist.ConstantProvider');
19
19
 
20
- const object = goog.require('Blockly.utils.object');
21
20
  const {ConstantProvider: BaseConstantProvider} = goog.require('Blockly.blockRendering.ConstantProvider');
22
21
 
23
22
 
24
23
  /**
25
24
  * An object that provides constants for rendering blocks in the sample.
26
- * @constructor
27
- * @package
28
25
  * @extends {BaseConstantProvider}
29
26
  * @alias Blockly.minimalist.ConstantProvider
30
27
  */
31
- const ConstantProvider = function() {
32
- ConstantProvider.superClass_.constructor.call(this);
33
- };
34
- object.inherits(ConstantProvider, BaseConstantProvider);
28
+ class ConstantProvider extends BaseConstantProvider {
29
+ /**
30
+ * @package
31
+ */
32
+ constructor() {
33
+ super();
34
+ }
35
+ }
35
36
 
36
37
  exports.ConstantProvider = ConstantProvider;
@@ -15,7 +15,6 @@
15
15
  */
16
16
  goog.module('Blockly.minimalist.Drawer');
17
17
 
18
- const object = goog.require('Blockly.utils.object');
19
18
  /* eslint-disable-next-line no-unused-vars */
20
19
  const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
21
20
  const {Drawer: BaseDrawer} = goog.require('Blockly.blockRendering.Drawer');
@@ -25,17 +24,19 @@ const {RenderInfo} = goog.requireType('Blockly.minimalist.RenderInfo');
25
24
 
26
25
  /**
27
26
  * An object that draws a block based on the given rendering information.
28
- * @param {!BlockSvg} block The block to render.
29
- * @param {!RenderInfo} info An object containing all
30
- * information needed to render this block.
31
- * @package
32
- * @constructor
33
27
  * @extends {BaseDrawer}
34
28
  * @alias Blockly.minimalist.Drawer
35
29
  */
36
- const Drawer = function(block, info) {
37
- Drawer.superClass_.constructor.call(this, block, info);
38
- };
39
- object.inherits(Drawer, BaseDrawer);
30
+ class Drawer extends BaseDrawer {
31
+ /**
32
+ * @param {!BlockSvg} block The block to render.
33
+ * @param {!RenderInfo} info An object containing all
34
+ * information needed to render this block.
35
+ * @package
36
+ */
37
+ constructor(block, info) {
38
+ super(block, info);
39
+ }
40
+ }
40
41
 
41
42
  exports.Drawer = Drawer;
@@ -15,7 +15,6 @@
15
15
  */
16
16
  goog.module('Blockly.minimalist.RenderInfo');
17
17
 
18
- const object = goog.require('Blockly.utils.object');
19
18
  /* eslint-disable-next-line no-unused-vars */
20
19
  const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
21
20
  const {RenderInfo: BaseRenderInfo} = goog.require('Blockly.blockRendering.RenderInfo');
@@ -29,26 +28,27 @@ const {Renderer} = goog.requireType('Blockly.minimalist.Renderer');
29
28
  * This measure pass does not propagate changes to the block (although fields
30
29
  * may choose to rerender when getSize() is called). However, calling it
31
30
  * repeatedly may be expensive.
32
- *
33
- * @param {!Renderer} renderer The renderer in use.
34
- * @param {!BlockSvg} block The block to measure.
35
- * @constructor
36
- * @package
37
31
  * @extends {BaseRenderInfo}
38
32
  * @alias Blockly.minimalist.RenderInfo
39
33
  */
40
- const RenderInfo = function(renderer, block) {
41
- RenderInfo.superClass_.constructor.call(this, renderer, block);
42
- };
43
- object.inherits(RenderInfo, BaseRenderInfo);
34
+ class RenderInfo extends BaseRenderInfo {
35
+ /**
36
+ * @param {!Renderer} renderer The renderer in use.
37
+ * @param {!BlockSvg} block The block to measure.
38
+ * @package
39
+ */
40
+ constructor(renderer, block) {
41
+ super(renderer, block);
42
+ }
44
43
 
45
- /**
46
- * Get the block renderer in use.
47
- * @return {!Renderer} The block renderer in use.
48
- * @package
49
- */
50
- RenderInfo.prototype.getRenderer = function() {
51
- return /** @type {!Renderer} */ (this.renderer_);
52
- };
44
+ /**
45
+ * Get the block renderer in use.
46
+ * @return {!Renderer} The block renderer in use.
47
+ * @package
48
+ */
49
+ getRenderer() {
50
+ return /** @type {!Renderer} */ (this.renderer_);
51
+ }
52
+ }
53
53
 
54
54
  exports.RenderInfo = RenderInfo;
@@ -16,7 +16,6 @@
16
16
  goog.module('Blockly.minimalist.Renderer');
17
17
 
18
18
  const blockRendering = goog.require('Blockly.blockRendering');
19
- const object = goog.require('Blockly.utils.object');
20
19
  /* eslint-disable-next-line no-unused-vars */
21
20
  const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
22
21
  const {ConstantProvider} = goog.require('Blockly.minimalist.ConstantProvider');
@@ -29,50 +28,52 @@ const {Renderer: BaseRenderer} = goog.require('Blockly.blockRendering.Renderer')
29
28
 
30
29
  /**
31
30
  * The minimalist renderer.
32
- * @param {string} name The renderer name.
33
- * @package
34
- * @constructor
35
31
  * @extends {BaseRenderer}
36
32
  * @alias Blockly.minimalist.Renderer
37
33
  */
38
- const Renderer = function(name) {
39
- Renderer.superClass_.constructor.call(this, name);
40
- };
41
- object.inherits(Renderer, BaseRenderer);
34
+ class Renderer extends BaseRenderer {
35
+ /**
36
+ * @param {string} name The renderer name.
37
+ * @package
38
+ */
39
+ constructor(name) {
40
+ super(name);
41
+ }
42
42
 
43
- /**
44
- * Create a new instance of the renderer's constant provider.
45
- * @return {!ConstantProvider} The constant provider.
46
- * @protected
47
- * @override
48
- */
49
- Renderer.prototype.makeConstants_ = function() {
50
- return new ConstantProvider();
51
- };
43
+ /**
44
+ * Create a new instance of the renderer's constant provider.
45
+ * @return {!ConstantProvider} The constant provider.
46
+ * @protected
47
+ * @override
48
+ */
49
+ makeConstants_() {
50
+ return new ConstantProvider();
51
+ }
52
52
 
53
- /**
54
- * Create a new instance of the renderer's render info object.
55
- * @param {!BlockSvg} block The block to measure.
56
- * @return {!RenderInfo} The render info object.
57
- * @protected
58
- * @override
59
- */
60
- Renderer.prototype.makeRenderInfo_ = function(block) {
61
- return new RenderInfo(this, block);
62
- };
53
+ /**
54
+ * Create a new instance of the renderer's render info object.
55
+ * @param {!BlockSvg} block The block to measure.
56
+ * @return {!RenderInfo} The render info object.
57
+ * @protected
58
+ * @override
59
+ */
60
+ makeRenderInfo_(block) {
61
+ return new RenderInfo(this, block);
62
+ }
63
63
 
64
- /**
65
- * Create a new instance of the renderer's drawer.
66
- * @param {!BlockSvg} block The block to render.
67
- * @param {!BaseRenderInfo} info An object containing all
68
- * information needed to render this block.
69
- * @return {!Drawer} The drawer.
70
- * @protected
71
- * @override
72
- */
73
- Renderer.prototype.makeDrawer_ = function(block, info) {
74
- return new Drawer(block, /** @type {!RenderInfo} */ (info));
75
- };
64
+ /**
65
+ * Create a new instance of the renderer's drawer.
66
+ * @param {!BlockSvg} block The block to render.
67
+ * @param {!BaseRenderInfo} info An object containing all
68
+ * information needed to render this block.
69
+ * @return {!Drawer} The drawer.
70
+ * @protected
71
+ * @override
72
+ */
73
+ makeDrawer_(block, info) {
74
+ return new Drawer(block, /** @type {!RenderInfo} */ (info));
75
+ }
76
+ }
76
77
 
77
78
  blockRendering.register('minimalist', Renderer);
78
79