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.
- package/blockly.d.ts +18963 -18432
- package/blockly.min.js +852 -844
- package/blockly_compressed.js +669 -664
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +47 -0
- package/blocks/colour.js +13 -3
- package/blocks/lists.js +22 -13
- package/blocks/logic.js +13 -3
- package/blocks/loops.js +24 -11
- package/blocks/math.js +12 -3
- package/blocks/procedures.js +41 -27
- package/blocks/text.js +22 -13
- package/blocks/variables.js +14 -3
- package/blocks/variables_dynamic.js +13 -3
- package/blocks_compressed.js +146 -141
- package/blocks_compressed.js.map +1 -1
- package/core/block.js +1869 -1814
- package/core/block_drag_surface.js +201 -200
- package/core/block_dragger.js +377 -373
- package/core/block_svg.js +1593 -1479
- package/core/blockly.js +8 -22
- package/core/blocks.js +9 -2
- package/core/browser_events.js +22 -5
- package/core/bubble.js +841 -797
- package/core/bubble_dragger.js +213 -206
- package/core/bump_objects.js +2 -2
- package/core/clipboard.js +9 -9
- package/core/comment.js +353 -332
- package/core/common.js +46 -17
- package/core/component_manager.js +181 -174
- package/core/config.js +87 -0
- package/core/connection.js +595 -584
- package/core/connection_checker.js +242 -244
- package/core/connection_db.js +235 -230
- package/core/contextmenu.js +9 -6
- package/core/contextmenu_items.js +1 -2
- package/core/contextmenu_registry.js +93 -89
- package/core/css.js +474 -474
- package/core/delete_area.js +45 -42
- package/core/drag_target.js +57 -56
- package/core/dropdowndiv.js +153 -163
- package/core/events/events.js +2 -2
- package/core/events/events_abstract.js +89 -77
- package/core/events/events_block_base.js +37 -36
- package/core/events/events_block_change.js +130 -124
- package/core/events/events_block_create.js +73 -71
- package/core/events/events_block_delete.js +84 -82
- package/core/events/events_block_drag.js +50 -49
- package/core/events/events_block_move.js +147 -140
- package/core/events/events_bubble_open.js +51 -50
- package/core/events/events_click.js +48 -44
- package/core/events/events_comment_base.js +72 -69
- package/core/events/events_comment_change.js +63 -61
- package/core/events/events_comment_create.js +44 -42
- package/core/events/events_comment_delete.js +42 -40
- package/core/events/events_comment_move.js +106 -104
- package/core/events/events_marker_move.js +65 -64
- package/core/events/events_selected.js +46 -45
- package/core/events/events_theme_change.js +36 -35
- package/core/events/events_toolbox_item_select.js +46 -45
- package/core/events/events_trashcan_open.js +37 -36
- package/core/events/events_ui.js +47 -46
- package/core/events/events_ui_base.js +30 -29
- package/core/events/events_var_base.js +37 -36
- package/core/events/events_var_create.js +50 -48
- package/core/events/events_var_delete.js +50 -48
- package/core/events/events_var_rename.js +51 -49
- package/core/events/events_viewport.js +66 -65
- package/core/events/utils.js +29 -14
- package/core/events/workspace_events.js +49 -55
- package/core/extensions.js +4 -3
- package/core/field.js +1061 -997
- package/core/field_angle.js +462 -442
- package/core/field_checkbox.js +194 -182
- package/core/field_colour.js +519 -505
- package/core/field_dropdown.js +617 -598
- package/core/field_image.js +229 -220
- package/core/field_label.js +102 -91
- package/core/field_label_serializable.js +42 -41
- package/core/field_multilineinput.js +372 -358
- package/core/field_number.js +272 -253
- package/core/field_textinput.js +499 -467
- package/core/field_variable.js +458 -420
- package/core/flyout_base.js +1005 -952
- package/core/flyout_button.js +277 -260
- package/core/flyout_horizontal.js +304 -302
- package/core/flyout_metrics_manager.js +64 -64
- package/core/flyout_vertical.js +306 -300
- package/core/generator.js +459 -446
- package/core/gesture.js +829 -813
- package/core/grid.js +166 -163
- package/core/icon.js +168 -159
- package/core/inject.js +7 -5
- package/core/input.js +257 -248
- package/core/insertion_marker_manager.js +655 -624
- package/core/internal_constants.js +0 -129
- package/core/keyboard_nav/ast_node.js +605 -596
- package/core/keyboard_nav/basic_cursor.js +166 -165
- package/core/keyboard_nav/cursor.js +99 -97
- package/core/keyboard_nav/marker.js +83 -79
- package/core/keyboard_nav/tab_navigate_cursor.js +18 -23
- package/core/marker_manager.js +153 -141
- package/core/menu.js +377 -372
- package/core/menuitem.js +223 -217
- package/core/metrics_manager.js +403 -390
- package/core/mutator.js +468 -437
- package/core/names.js +229 -188
- package/core/options.js +290 -284
- package/core/procedures.js +29 -17
- package/core/registry.js +19 -16
- package/core/rendered_connection.js +482 -463
- package/core/renderers/common/block_rendering.js +9 -3
- package/core/renderers/common/constants.js +1119 -1112
- package/core/renderers/common/debug.js +14 -0
- package/core/renderers/common/debugger.js +338 -316
- package/core/renderers/common/drawer.js +380 -370
- package/core/renderers/common/i_path_object.js +2 -2
- package/core/renderers/common/info.js +626 -618
- package/core/renderers/common/marker_svg.js +579 -541
- package/core/renderers/common/path_object.js +203 -200
- package/core/renderers/common/renderer.js +220 -218
- package/core/renderers/geras/constants.js +36 -36
- package/core/renderers/geras/drawer.js +155 -147
- package/core/renderers/geras/highlight_constants.js +244 -238
- package/core/renderers/geras/highlighter.js +231 -179
- package/core/renderers/geras/info.js +392 -369
- package/core/renderers/geras/measurables/inline_input.js +25 -19
- package/core/renderers/geras/measurables/statement_input.js +23 -17
- package/core/renderers/geras/path_object.js +106 -121
- package/core/renderers/geras/renderer.js +96 -98
- package/core/renderers/measurables/base.js +30 -18
- package/core/renderers/measurables/bottom_row.js +83 -80
- package/core/renderers/measurables/connection.js +22 -15
- package/core/renderers/measurables/external_value_input.js +35 -22
- package/core/renderers/measurables/field.js +35 -20
- package/core/renderers/measurables/hat.js +18 -13
- package/core/renderers/measurables/icon.js +24 -17
- package/core/renderers/measurables/in_row_spacer.js +15 -13
- package/core/renderers/measurables/inline_input.js +43 -33
- package/core/renderers/measurables/input_connection.js +41 -28
- package/core/renderers/measurables/input_row.js +50 -44
- package/core/renderers/measurables/jagged_edge.js +14 -12
- package/core/renderers/measurables/next_connection.js +16 -14
- package/core/renderers/measurables/output_connection.js +26 -20
- package/core/renderers/measurables/previous_connection.js +16 -15
- package/core/renderers/measurables/round_corner.js +20 -18
- package/core/renderers/measurables/row.js +184 -168
- package/core/renderers/measurables/spacer_row.js +38 -23
- package/core/renderers/measurables/square_corner.js +18 -16
- package/core/renderers/measurables/statement_input.js +23 -20
- package/core/renderers/measurables/top_row.js +88 -85
- package/core/renderers/minimalist/constants.js +8 -7
- package/core/renderers/minimalist/drawer.js +11 -10
- package/core/renderers/minimalist/info.js +18 -18
- package/core/renderers/minimalist/renderer.js +40 -39
- package/core/renderers/thrasos/info.js +258 -248
- package/core/renderers/thrasos/renderer.js +20 -20
- package/core/renderers/zelos/constants.js +898 -873
- package/core/renderers/zelos/drawer.js +186 -169
- package/core/renderers/zelos/info.js +502 -479
- package/core/renderers/zelos/marker_svg.js +129 -115
- package/core/renderers/zelos/measurables/bottom_row.js +31 -30
- package/core/renderers/zelos/measurables/inputs.js +22 -21
- package/core/renderers/zelos/measurables/row_elements.js +14 -13
- package/core/renderers/zelos/measurables/top_row.js +34 -33
- package/core/renderers/zelos/path_object.js +181 -180
- package/core/renderers/zelos/renderer.js +91 -92
- package/core/scrollbar.js +759 -713
- package/core/scrollbar_pair.js +250 -245
- package/core/serialization/blocks.js +19 -9
- package/core/serialization/workspaces.js +3 -2
- package/core/shortcut_registry.js +286 -277
- package/core/sprites.js +31 -0
- package/core/theme.js +135 -141
- package/core/theme_manager.js +147 -143
- package/core/toolbox/category.js +602 -576
- package/core/toolbox/collapsible_category.js +226 -227
- package/core/toolbox/separator.js +70 -61
- package/core/toolbox/toolbox.js +934 -927
- package/core/toolbox/toolbox_item.js +115 -99
- package/core/tooltip.js +108 -35
- package/core/touch.js +8 -3
- package/core/touch_gesture.js +254 -251
- package/core/trashcan.js +606 -595
- package/core/utils/coordinate.js +97 -95
- package/core/utils/dom.js +2 -2
- package/core/utils/global.js +2 -0
- package/core/utils/rect.js +41 -37
- package/core/utils/sentinel.js +25 -0
- package/core/utils/size.js +30 -27
- package/core/utils/svg.js +18 -16
- package/core/variable_map.js +325 -341
- package/core/variable_model.js +55 -54
- package/core/variables.js +9 -2
- package/core/variables_dynamic.js +3 -1
- package/core/warning.js +126 -120
- package/core/widgetdiv.js +4 -4
- package/core/workspace.js +685 -664
- package/core/workspace_audio.js +124 -118
- package/core/workspace_comment.js +308 -298
- package/core/workspace_comment_svg.js +1029 -951
- package/core/workspace_drag_surface_svg.js +147 -140
- package/core/workspace_dragger.js +70 -71
- package/core/workspace_svg.js +2322 -2297
- package/core/xml.js +30 -20
- package/core/zoom_controls.js +431 -439
- package/dart_compressed.js +40 -43
- package/dart_compressed.js.map +1 -1
- package/generators/dart/colour.js +56 -64
- package/generators/dart/lists.js +61 -50
- package/generators/dart/math.js +160 -148
- package/generators/dart/text.js +83 -61
- package/generators/javascript/colour.js +37 -34
- package/generators/javascript/lists.js +50 -43
- package/generators/javascript/math.js +123 -139
- package/generators/javascript/text.js +67 -81
- package/generators/lua/colour.js +25 -23
- package/generators/lua/lists.js +97 -69
- package/generators/lua/logic.js +1 -2
- package/generators/lua/math.js +182 -144
- package/generators/lua/text.js +116 -99
- package/generators/php/colour.js +38 -32
- package/generators/php/lists.js +109 -89
- package/generators/php/math.js +90 -81
- package/generators/php/text.js +63 -61
- package/generators/python/colour.js +18 -18
- package/generators/python/lists.js +38 -30
- package/generators/python/loops.js +12 -8
- package/generators/python/math.js +104 -106
- package/generators/python/text.js +34 -30
- package/javascript_compressed.js +37 -39
- package/javascript_compressed.js.map +1 -1
- package/lua_compressed.js +39 -42
- package/lua_compressed.js.map +1 -1
- package/msg/az.js +2 -2
- package/msg/be.js +4 -4
- package/msg/cs.js +15 -15
- package/msg/de.js +1 -1
- package/msg/diq.js +1 -1
- package/msg/eo.js +1 -1
- package/msg/es.js +1 -1
- package/msg/fa.js +1 -1
- package/msg/fr.js +4 -4
- package/msg/he.js +1 -1
- package/msg/hr.js +2 -2
- package/msg/hy.js +2 -2
- package/msg/id.js +12 -12
- package/msg/inh.js +14 -14
- package/msg/ja.js +7 -7
- package/msg/lv.js +29 -29
- package/msg/pa.js +3 -3
- package/msg/smn.js +436 -0
- package/msg/te.js +1 -1
- package/msg/yue.js +1 -1
- package/msg/zh-hans.js +3 -3
- package/msg/zh-hant.js +3 -3
- package/package.json +7 -6
- package/php_compressed.js +38 -42
- package/php_compressed.js.map +1 -1
- package/python_compressed.js +26 -25
- package/python_compressed.js.map +1 -1
- 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
|
-
|
|
43
|
-
TopRow.superClass_.constructor.call(this, constants);
|
|
44
|
-
|
|
45
|
-
this.type |= Types.TOP_ROW;
|
|
46
|
-
|
|
39
|
+
class TopRow extends Row {
|
|
47
40
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
58
|
-
* @
|
|
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
|
-
|
|
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
|
-
*
|
|
64
|
-
* @
|
|
65
|
-
* @
|
|
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
|
-
|
|
99
|
+
hasRightSquareCorner(_block) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
68
102
|
|
|
69
103
|
/**
|
|
70
|
-
*
|
|
71
|
-
* @type {PreviousConnection}
|
|
104
|
+
* @override
|
|
72
105
|
*/
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
128
|
+
/**
|
|
129
|
+
* @override
|
|
130
|
+
*/
|
|
131
|
+
startsWithElemSpacer() {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
132
134
|
|
|
133
|
-
/**
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
object
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
|