blockly 8.20220331.0-beta.1 → 9.0.0-beta.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.min.js +2004 -2269
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +7 -6
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +10 -3
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -720
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +31 -44
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +35 -48
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/{input.js → input.ts} +96 -119
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +234 -227
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -4
- package/core.js +1 -2
- package/dart.d.ts +1 -4
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +3 -11
- package/javascript.d.ts +1 -4
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +1 -4
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +10 -6
- package/msg/ace.js +10 -6
- package/msg/af.js +10 -6
- package/msg/am.js +10 -6
- package/msg/ar.js +10 -6
- package/msg/ast.js +10 -6
- package/msg/az.js +12 -8
- package/msg/ba.js +10 -6
- package/msg/bcc.js +10 -6
- package/msg/be-tarask.js +10 -6
- package/msg/be.js +14 -10
- package/msg/bg.js +10 -6
- package/msg/bn.js +10 -6
- package/msg/br.js +10 -6
- package/msg/bs.js +10 -6
- package/msg/ca.js +10 -6
- package/msg/cdo.js +10 -6
- package/msg/cs.js +25 -21
- package/msg/da.js +10 -6
- package/msg/de.js +11 -7
- package/msg/diq.js +11 -7
- package/msg/dty.js +10 -6
- package/msg/ee.js +10 -6
- package/msg/el.js +10 -6
- package/msg/en-gb.js +10 -6
- package/msg/en.js +10 -6
- package/msg/eo.js +11 -7
- package/msg/es.js +11 -7
- package/msg/et.js +10 -6
- package/msg/eu.js +10 -6
- package/msg/fa.js +11 -7
- package/msg/fi.js +10 -6
- package/msg/fo.js +10 -6
- package/msg/fr.js +14 -10
- package/msg/frr.js +10 -6
- package/msg/gl.js +10 -6
- package/msg/gn.js +10 -6
- package/msg/gor.js +10 -6
- package/msg/ha.js +10 -6
- package/msg/hak.js +10 -6
- package/msg/he.js +11 -7
- package/msg/hi.js +10 -6
- package/msg/hr.js +12 -8
- package/msg/hrx.js +10 -6
- package/msg/hu.js +10 -6
- package/msg/hy.js +12 -8
- package/msg/ia.js +10 -6
- package/msg/id.js +22 -18
- package/msg/ig.js +10 -6
- package/msg/inh.js +24 -20
- package/msg/is.js +10 -6
- package/msg/it.js +10 -6
- package/msg/ja.js +17 -13
- package/msg/ka.js +10 -6
- package/msg/kab.js +10 -6
- package/msg/kbd-cyrl.js +10 -6
- package/msg/km.js +10 -6
- package/msg/kn.js +10 -6
- package/msg/ko.js +10 -6
- package/msg/ksh.js +10 -6
- package/msg/ku-latn.js +10 -6
- package/msg/ky.js +10 -6
- package/msg/la.js +10 -6
- package/msg/lb.js +10 -6
- package/msg/lki.js +10 -6
- package/msg/lo.js +10 -6
- package/msg/lrc.js +10 -6
- package/msg/lt.js +10 -6
- package/msg/lv.js +39 -35
- package/msg/mg.js +10 -6
- package/msg/mk.js +10 -6
- package/msg/ml.js +10 -6
- package/msg/mnw.js +10 -6
- package/msg/ms.js +10 -6
- package/msg/my.js +10 -6
- package/msg/mzn.js +10 -6
- package/msg/nb.js +10 -6
- package/msg/ne.js +10 -6
- package/msg/nl.js +10 -6
- package/msg/oc.js +10 -6
- package/msg/olo.js +10 -6
- package/msg/pa.js +13 -9
- package/msg/pl.js +10 -6
- package/msg/pms.js +10 -6
- package/msg/ps.js +10 -6
- package/msg/pt-br.js +10 -6
- package/msg/pt.js +10 -6
- package/msg/ro.js +10 -6
- package/msg/ru.js +10 -6
- package/msg/sc.js +10 -6
- package/msg/sco.js +10 -6
- package/msg/sd.js +10 -6
- package/msg/shn.js +10 -6
- package/msg/si.js +10 -6
- package/msg/sk.js +10 -6
- package/msg/skr-arab.js +10 -6
- package/msg/sl.js +10 -6
- package/msg/smn.js +440 -0
- package/msg/sq.js +10 -6
- package/msg/sr-latn.js +10 -6
- package/msg/sr.js +10 -6
- package/msg/sv.js +10 -6
- package/msg/sw.js +10 -6
- package/msg/ta.js +10 -6
- package/msg/tcy.js +10 -6
- package/msg/te.js +11 -7
- package/msg/th.js +10 -6
- package/msg/ti.js +10 -6
- package/msg/tl.js +10 -6
- package/msg/tlh.js +10 -6
- package/msg/tr.js +10 -6
- package/msg/ug-arab.js +10 -6
- package/msg/uk.js +10 -6
- package/msg/ur.js +10 -6
- package/msg/uz.js +10 -6
- package/msg/vi.js +10 -6
- package/msg/xmf.js +10 -6
- package/msg/yo.js +10 -6
- package/msg/yue.js +11 -7
- package/msg/zgh.js +10 -6
- package/msg/zh-hans.js +13 -9
- package/msg/zh-hant.js +13 -9
- package/package.json +5 -5
- package/php.d.ts +1 -4
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +1 -4
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -25607
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -289
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -7,45 +7,49 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Class for a block change event.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Class for a block change event.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BlockChange');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const {Block} = goog.requireType('Blockly.Block');
|
|
18
|
+
import type {Block} from '../block.js';
|
|
19
|
+
import type {BlockSvg} from '../block_svg.js';
|
|
20
|
+
import * as registry from '../registry.js';
|
|
21
|
+
import * as Xml from '../xml.js';
|
|
22
|
+
|
|
23
|
+
import {BlockBase} from './events_block_base.js';
|
|
24
|
+
import * as eventUtils from './utils.js';
|
|
26
25
|
|
|
27
26
|
|
|
28
27
|
/**
|
|
29
28
|
* Class for a block change event.
|
|
30
|
-
* @extends {BlockBase}
|
|
31
29
|
* @alias Blockly.Events.BlockChange
|
|
32
30
|
*/
|
|
33
|
-
class BlockChange extends BlockBase {
|
|
31
|
+
export class BlockChange extends BlockBase {
|
|
32
|
+
override type: string;
|
|
33
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
34
|
+
element!: string;
|
|
35
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
36
|
+
name!: string|null;
|
|
37
|
+
oldValue: AnyDuringMigration;
|
|
38
|
+
newValue: AnyDuringMigration;
|
|
39
|
+
|
|
34
40
|
/**
|
|
35
|
-
* @param
|
|
36
|
-
*
|
|
37
|
-
* @param
|
|
38
|
-
* @param
|
|
39
|
-
* @param
|
|
40
|
-
* @param {*=} opt_newValue New value of element.
|
|
41
|
+
* @param opt_block The changed block. Undefined for a blank event.
|
|
42
|
+
* @param opt_element One of 'field', 'comment', 'disabled', etc.
|
|
43
|
+
* @param opt_name Name of input or field affected, or null.
|
|
44
|
+
* @param opt_oldValue Previous value of element.
|
|
45
|
+
* @param opt_newValue New value of element.
|
|
41
46
|
*/
|
|
42
|
-
constructor(
|
|
47
|
+
constructor(
|
|
48
|
+
opt_block?: Block, opt_element?: string, opt_name?: string|null,
|
|
49
|
+
opt_oldValue?: AnyDuringMigration, opt_newValue?: AnyDuringMigration) {
|
|
43
50
|
super(opt_block);
|
|
44
51
|
|
|
45
|
-
/**
|
|
46
|
-
* Type of this event.
|
|
47
|
-
* @type {string}
|
|
48
|
-
*/
|
|
52
|
+
/** Type of this event. */
|
|
49
53
|
this.type = eventUtils.BLOCK_CHANGE;
|
|
50
54
|
|
|
51
55
|
if (!opt_block) {
|
|
@@ -59,9 +63,9 @@ class BlockChange extends BlockBase {
|
|
|
59
63
|
|
|
60
64
|
/**
|
|
61
65
|
* Encode the event as JSON.
|
|
62
|
-
* @return
|
|
66
|
+
* @return JSON representation.
|
|
63
67
|
*/
|
|
64
|
-
toJson() {
|
|
68
|
+
override toJson(): AnyDuringMigration {
|
|
65
69
|
const json = super.toJson();
|
|
66
70
|
json['element'] = this.element;
|
|
67
71
|
if (this.name) {
|
|
@@ -74,9 +78,9 @@ class BlockChange extends BlockBase {
|
|
|
74
78
|
|
|
75
79
|
/**
|
|
76
80
|
* Decode the JSON event.
|
|
77
|
-
* @param
|
|
81
|
+
* @param json JSON representation.
|
|
78
82
|
*/
|
|
79
|
-
fromJson(json) {
|
|
83
|
+
override fromJson(json: AnyDuringMigration) {
|
|
80
84
|
super.fromJson(json);
|
|
81
85
|
this.element = json['element'];
|
|
82
86
|
this.name = json['name'];
|
|
@@ -86,26 +90,25 @@ class BlockChange extends BlockBase {
|
|
|
86
90
|
|
|
87
91
|
/**
|
|
88
92
|
* Does this event record any change of state?
|
|
89
|
-
* @return
|
|
93
|
+
* @return False if something changed.
|
|
90
94
|
*/
|
|
91
|
-
isNull() {
|
|
95
|
+
override isNull(): boolean {
|
|
92
96
|
return this.oldValue === this.newValue;
|
|
93
97
|
}
|
|
94
98
|
|
|
95
99
|
/**
|
|
96
100
|
* Run a change event.
|
|
97
|
-
* @param
|
|
101
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
98
102
|
*/
|
|
99
|
-
run(forward) {
|
|
103
|
+
override run(forward: boolean) {
|
|
100
104
|
const workspace = this.getEventWorkspace_();
|
|
101
105
|
const block = workspace.getBlockById(this.blockId);
|
|
102
106
|
if (!block) {
|
|
103
107
|
console.warn('Can\'t change non-existent block: ' + this.blockId);
|
|
104
108
|
return;
|
|
105
109
|
}
|
|
106
|
-
|
|
107
110
|
// Assume the block is rendered so that then we can check.
|
|
108
|
-
const blockSvg =
|
|
111
|
+
const blockSvg = block as BlockSvg;
|
|
109
112
|
if (blockSvg.mutator) {
|
|
110
113
|
// Close the mutator (if open) since we don't want to update it.
|
|
111
114
|
blockSvg.mutator.setVisible(false);
|
|
@@ -113,7 +116,7 @@ class BlockChange extends BlockBase {
|
|
|
113
116
|
const value = forward ? this.newValue : this.oldValue;
|
|
114
117
|
switch (this.element) {
|
|
115
118
|
case 'field': {
|
|
116
|
-
const field = block.getField(this.name);
|
|
119
|
+
const field = block.getField(this.name!);
|
|
117
120
|
if (field) {
|
|
118
121
|
field.setValue(value);
|
|
119
122
|
} else {
|
|
@@ -122,7 +125,7 @@ class BlockChange extends BlockBase {
|
|
|
122
125
|
break;
|
|
123
126
|
}
|
|
124
127
|
case 'comment':
|
|
125
|
-
block.setCommentText(
|
|
128
|
+
block.setCommentText(value as string || null);
|
|
126
129
|
break;
|
|
127
130
|
case 'collapsed':
|
|
128
131
|
block.setCollapsed(!!value);
|
|
@@ -134,14 +137,11 @@ class BlockChange extends BlockBase {
|
|
|
134
137
|
block.setInputsInline(!!value);
|
|
135
138
|
break;
|
|
136
139
|
case 'mutation': {
|
|
137
|
-
const oldState = BlockChange.getExtraBlockState_(
|
|
138
|
-
/** @type {!BlockSvg} */ (block));
|
|
140
|
+
const oldState = BlockChange.getExtraBlockState_(block as BlockSvg);
|
|
139
141
|
if (block.loadExtraState) {
|
|
140
|
-
block.loadExtraState(
|
|
141
|
-
JSON.parse(/** @type {string} */ (value) || '{}'));
|
|
142
|
+
block.loadExtraState(JSON.parse(value as string || '{}'));
|
|
142
143
|
} else if (block.domToMutation) {
|
|
143
|
-
block.domToMutation(
|
|
144
|
-
Xml.textToDom(/** @type {string} */ (value) || '<mutation/>'));
|
|
144
|
+
block.domToMutation(Xml.textToDom(value as string || '<mutation/>'));
|
|
145
145
|
}
|
|
146
146
|
eventUtils.fire(
|
|
147
147
|
new BlockChange(block, 'mutation', null, oldState, value));
|
|
@@ -157,12 +157,11 @@ class BlockChange extends BlockBase {
|
|
|
157
157
|
/**
|
|
158
158
|
* Returns the extra state of the given block (either as XML or a JSO,
|
|
159
159
|
* depending on the block's definition).
|
|
160
|
-
* @param
|
|
161
|
-
* @return
|
|
162
|
-
*
|
|
163
|
-
* @package
|
|
160
|
+
* @param block The block to get the extra state of.
|
|
161
|
+
* @return A stringified version of the extra state of the given block.
|
|
162
|
+
* @internal
|
|
164
163
|
*/
|
|
165
|
-
static getExtraBlockState_(block) {
|
|
164
|
+
static getExtraBlockState_(block: BlockSvg): string {
|
|
166
165
|
if (block.saveExtraState) {
|
|
167
166
|
const state = block.saveExtraState();
|
|
168
167
|
return state ? JSON.stringify(state) : '';
|
|
@@ -175,5 +174,3 @@ class BlockChange extends BlockBase {
|
|
|
175
174
|
}
|
|
176
175
|
|
|
177
176
|
registry.register(registry.Type.EVENT, eventUtils.CHANGE, BlockChange);
|
|
178
|
-
|
|
179
|
-
exports.BlockChange = BlockChange;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../block.js';
|
|
7
|
+
import * as blocks from '../serialization/blocks.js';
|
|
8
|
+
import { BlockBase } from './events_block_base.js';
|
|
9
|
+
/**
|
|
10
|
+
* Class for a block creation event.
|
|
11
|
+
* @alias Blockly.Events.BlockCreate
|
|
12
|
+
*/
|
|
13
|
+
export declare class BlockCreate extends BlockBase {
|
|
14
|
+
type: string;
|
|
15
|
+
xml: any;
|
|
16
|
+
ids: string[];
|
|
17
|
+
json: blocks.State;
|
|
18
|
+
/** @param opt_block The created block. Undefined for a blank event. */
|
|
19
|
+
constructor(opt_block?: Block);
|
|
20
|
+
/**
|
|
21
|
+
* Encode the event as JSON.
|
|
22
|
+
* @return JSON representation.
|
|
23
|
+
*/
|
|
24
|
+
toJson(): any;
|
|
25
|
+
/**
|
|
26
|
+
* Decode the JSON event.
|
|
27
|
+
* @param json JSON representation.
|
|
28
|
+
*/
|
|
29
|
+
fromJson(json: any): void;
|
|
30
|
+
/**
|
|
31
|
+
* Run a creation event.
|
|
32
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
33
|
+
*/
|
|
34
|
+
run(forward: boolean): void;
|
|
35
|
+
}
|
|
@@ -7,45 +7,46 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Class for a block creation event.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Class for a block creation event.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BlockCreate');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
import type {Block} from '../block.js';
|
|
19
|
+
import * as registry from '../registry.js';
|
|
20
|
+
import * as blocks from '../serialization/blocks.js';
|
|
21
|
+
import * as Xml from '../xml.js';
|
|
22
|
+
|
|
23
|
+
import {BlockBase} from './events_block_base.js';
|
|
24
|
+
import * as eventUtils from './utils.js';
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Class for a block creation event.
|
|
29
|
-
* @extends {BlockBase}
|
|
30
29
|
* @alias Blockly.Events.BlockCreate
|
|
31
30
|
*/
|
|
32
|
-
class BlockCreate extends BlockBase {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
export class BlockCreate extends BlockBase {
|
|
32
|
+
override type: string;
|
|
33
|
+
xml: AnyDuringMigration;
|
|
34
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
35
|
+
ids!: string[];
|
|
36
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
37
|
+
json!: blocks.State;
|
|
38
|
+
|
|
39
|
+
/** @param opt_block The created block. Undefined for a blank event. */
|
|
40
|
+
constructor(opt_block?: Block) {
|
|
38
41
|
super(opt_block);
|
|
39
42
|
|
|
40
|
-
/**
|
|
41
|
-
* Type of this event.
|
|
42
|
-
* @type {string}
|
|
43
|
-
*/
|
|
43
|
+
/** Type of this event. */
|
|
44
44
|
this.type = eventUtils.BLOCK_CREATE;
|
|
45
45
|
|
|
46
46
|
if (!opt_block) {
|
|
47
47
|
return; // Blank event to be populated by fromJson.
|
|
48
48
|
}
|
|
49
|
+
|
|
49
50
|
if (opt_block.isShadow()) {
|
|
50
51
|
// Moving shadow blocks is handled via disconnection.
|
|
51
52
|
this.recordUndo = false;
|
|
@@ -54,30 +55,19 @@ class BlockCreate extends BlockBase {
|
|
|
54
55
|
this.xml = Xml.blockToDomWithXY(opt_block);
|
|
55
56
|
this.ids = eventUtils.getDescendantIds(opt_block);
|
|
56
57
|
|
|
57
|
-
/**
|
|
58
|
-
|
|
59
|
-
* @type {boolean}
|
|
60
|
-
*/
|
|
61
|
-
this.ui = true;
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* JSON representation of the block that was just created.
|
|
65
|
-
* @type {!blocks.State}
|
|
66
|
-
*/
|
|
67
|
-
this.json = /** @type {!blocks.State} */ (
|
|
68
|
-
blocks.save(opt_block, {addCoordinates: true}));
|
|
58
|
+
/** JSON representation of the block that was just created. */
|
|
59
|
+
this.json = blocks.save(opt_block, {addCoordinates: true}) as blocks.State;
|
|
69
60
|
}
|
|
70
61
|
|
|
71
62
|
/**
|
|
72
63
|
* Encode the event as JSON.
|
|
73
|
-
* @return
|
|
64
|
+
* @return JSON representation.
|
|
74
65
|
*/
|
|
75
|
-
toJson() {
|
|
66
|
+
override toJson(): AnyDuringMigration {
|
|
76
67
|
const json = super.toJson();
|
|
77
68
|
json['xml'] = Xml.domToText(this.xml);
|
|
78
69
|
json['ids'] = this.ids;
|
|
79
70
|
json['json'] = this.json;
|
|
80
|
-
json['ui'] = this.ui;
|
|
81
71
|
if (!this.recordUndo) {
|
|
82
72
|
json['recordUndo'] = this.recordUndo;
|
|
83
73
|
}
|
|
@@ -86,14 +76,13 @@ class BlockCreate extends BlockBase {
|
|
|
86
76
|
|
|
87
77
|
/**
|
|
88
78
|
* Decode the JSON event.
|
|
89
|
-
* @param
|
|
79
|
+
* @param json JSON representation.
|
|
90
80
|
*/
|
|
91
|
-
fromJson(json) {
|
|
81
|
+
override fromJson(json: AnyDuringMigration) {
|
|
92
82
|
super.fromJson(json);
|
|
93
83
|
this.xml = Xml.textToDom(json['xml']);
|
|
94
84
|
this.ids = json['ids'];
|
|
95
|
-
this.json =
|
|
96
|
-
this.ui = !!json['ui'];
|
|
85
|
+
this.json = json['json'] as blocks.State;
|
|
97
86
|
if (json['recordUndo'] !== undefined) {
|
|
98
87
|
this.recordUndo = json['recordUndo'];
|
|
99
88
|
}
|
|
@@ -101,9 +90,9 @@ class BlockCreate extends BlockBase {
|
|
|
101
90
|
|
|
102
91
|
/**
|
|
103
92
|
* Run a creation event.
|
|
104
|
-
* @param
|
|
93
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
105
94
|
*/
|
|
106
|
-
run(forward) {
|
|
95
|
+
override run(forward: boolean) {
|
|
107
96
|
const workspace = this.getEventWorkspace_();
|
|
108
97
|
if (forward) {
|
|
109
98
|
blocks.append(this.json, workspace);
|
|
@@ -112,7 +101,7 @@ class BlockCreate extends BlockBase {
|
|
|
112
101
|
const id = this.ids[i];
|
|
113
102
|
const block = workspace.getBlockById(id);
|
|
114
103
|
if (block) {
|
|
115
|
-
block.dispose(false
|
|
104
|
+
block.dispose(false);
|
|
116
105
|
} else if (id === this.blockId) {
|
|
117
106
|
// Only complain about root-level block.
|
|
118
107
|
console.warn('Can\'t uncreate non-existent block: ' + id);
|
|
@@ -123,5 +112,3 @@ class BlockCreate extends BlockBase {
|
|
|
123
112
|
}
|
|
124
113
|
|
|
125
114
|
registry.register(registry.Type.EVENT, eventUtils.CREATE, BlockCreate);
|
|
126
|
-
|
|
127
|
-
exports.BlockCreate = BlockCreate;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../block.js';
|
|
7
|
+
import * as blocks from '../serialization/blocks.js';
|
|
8
|
+
import { BlockBase } from './events_block_base.js';
|
|
9
|
+
/**
|
|
10
|
+
* Class for a block deletion event.
|
|
11
|
+
* @alias Blockly.Events.BlockDelete
|
|
12
|
+
*/
|
|
13
|
+
export declare class BlockDelete extends BlockBase {
|
|
14
|
+
type: string;
|
|
15
|
+
oldXml: any;
|
|
16
|
+
ids: string[];
|
|
17
|
+
wasShadow: boolean;
|
|
18
|
+
oldJson: blocks.State;
|
|
19
|
+
/** @param opt_block The deleted block. Undefined for a blank event. */
|
|
20
|
+
constructor(opt_block?: Block);
|
|
21
|
+
/**
|
|
22
|
+
* Encode the event as JSON.
|
|
23
|
+
* @return JSON representation.
|
|
24
|
+
*/
|
|
25
|
+
toJson(): any;
|
|
26
|
+
/**
|
|
27
|
+
* Decode the JSON event.
|
|
28
|
+
* @param json JSON representation.
|
|
29
|
+
*/
|
|
30
|
+
fromJson(json: any): void;
|
|
31
|
+
/**
|
|
32
|
+
* Run a deletion event.
|
|
33
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
34
|
+
*/
|
|
35
|
+
run(forward: boolean): void;
|
|
36
|
+
}
|
|
@@ -7,45 +7,48 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Class for a block delete event.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Class for a block delete event.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BlockDelete');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
import type {Block} from '../block.js';
|
|
19
|
+
import * as registry from '../registry.js';
|
|
20
|
+
import * as blocks from '../serialization/blocks.js';
|
|
21
|
+
import * as Xml from '../xml.js';
|
|
22
|
+
|
|
23
|
+
import {BlockBase} from './events_block_base.js';
|
|
24
|
+
import * as eventUtils from './utils.js';
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Class for a block deletion event.
|
|
29
|
-
* @extends {BlockBase}
|
|
30
29
|
* @alias Blockly.Events.BlockDelete
|
|
31
30
|
*/
|
|
32
|
-
class BlockDelete extends BlockBase {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
export class BlockDelete extends BlockBase {
|
|
32
|
+
override type: string;
|
|
33
|
+
oldXml: AnyDuringMigration;
|
|
34
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
35
|
+
ids!: string[];
|
|
36
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
37
|
+
wasShadow!: boolean;
|
|
38
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
39
|
+
oldJson!: blocks.State;
|
|
40
|
+
|
|
41
|
+
/** @param opt_block The deleted block. Undefined for a blank event. */
|
|
42
|
+
constructor(opt_block?: Block) {
|
|
38
43
|
super(opt_block);
|
|
39
44
|
|
|
40
|
-
/**
|
|
41
|
-
* Type of this event.
|
|
42
|
-
* @type {string}
|
|
43
|
-
*/
|
|
45
|
+
/** Type of this event. */
|
|
44
46
|
this.type = eventUtils.BLOCK_DELETE;
|
|
45
47
|
|
|
46
48
|
if (!opt_block) {
|
|
47
49
|
return; // Blank event to be populated by fromJson.
|
|
48
50
|
}
|
|
51
|
+
|
|
49
52
|
if (opt_block.getParent()) {
|
|
50
53
|
throw Error('Connected blocks cannot be deleted.');
|
|
51
54
|
}
|
|
@@ -57,37 +60,24 @@ class BlockDelete extends BlockBase {
|
|
|
57
60
|
this.oldXml = Xml.blockToDomWithXY(opt_block);
|
|
58
61
|
this.ids = eventUtils.getDescendantIds(opt_block);
|
|
59
62
|
|
|
60
|
-
/**
|
|
61
|
-
* Was the block that was just deleted a shadow?
|
|
62
|
-
* @type {boolean}
|
|
63
|
-
*/
|
|
63
|
+
/** Was the block that was just deleted a shadow? */
|
|
64
64
|
this.wasShadow = opt_block.isShadow();
|
|
65
65
|
|
|
66
|
-
/**
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
*/
|
|
70
|
-
this.ui = true;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* JSON representation of the block that was just deleted.
|
|
74
|
-
* @type {!blocks.State}
|
|
75
|
-
*/
|
|
76
|
-
this.oldJson = /** @type {!blocks.State} */ (
|
|
77
|
-
blocks.save(opt_block, {addCoordinates: true}));
|
|
66
|
+
/** JSON representation of the block that was just deleted. */
|
|
67
|
+
this.oldJson =
|
|
68
|
+
blocks.save(opt_block, {addCoordinates: true}) as blocks.State;
|
|
78
69
|
}
|
|
79
70
|
|
|
80
71
|
/**
|
|
81
72
|
* Encode the event as JSON.
|
|
82
|
-
* @return
|
|
73
|
+
* @return JSON representation.
|
|
83
74
|
*/
|
|
84
|
-
toJson() {
|
|
75
|
+
override toJson(): AnyDuringMigration {
|
|
85
76
|
const json = super.toJson();
|
|
86
77
|
json['oldXml'] = Xml.domToText(this.oldXml);
|
|
87
78
|
json['ids'] = this.ids;
|
|
88
79
|
json['wasShadow'] = this.wasShadow;
|
|
89
80
|
json['oldJson'] = this.oldJson;
|
|
90
|
-
json['ui'] = this.ui;
|
|
91
81
|
if (!this.recordUndo) {
|
|
92
82
|
json['recordUndo'] = this.recordUndo;
|
|
93
83
|
}
|
|
@@ -96,16 +86,15 @@ class BlockDelete extends BlockBase {
|
|
|
96
86
|
|
|
97
87
|
/**
|
|
98
88
|
* Decode the JSON event.
|
|
99
|
-
* @param
|
|
89
|
+
* @param json JSON representation.
|
|
100
90
|
*/
|
|
101
|
-
fromJson(json) {
|
|
91
|
+
override fromJson(json: AnyDuringMigration) {
|
|
102
92
|
super.fromJson(json);
|
|
103
93
|
this.oldXml = Xml.textToDom(json['oldXml']);
|
|
104
94
|
this.ids = json['ids'];
|
|
105
95
|
this.wasShadow =
|
|
106
96
|
json['wasShadow'] || this.oldXml.tagName.toLowerCase() === 'shadow';
|
|
107
|
-
this.oldJson =
|
|
108
|
-
this.ui = !!json['ui'];
|
|
97
|
+
this.oldJson = json['oldJson'] as blocks.State;
|
|
109
98
|
if (json['recordUndo'] !== undefined) {
|
|
110
99
|
this.recordUndo = json['recordUndo'];
|
|
111
100
|
}
|
|
@@ -113,16 +102,16 @@ class BlockDelete extends BlockBase {
|
|
|
113
102
|
|
|
114
103
|
/**
|
|
115
104
|
* Run a deletion event.
|
|
116
|
-
* @param
|
|
105
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
117
106
|
*/
|
|
118
|
-
run(forward) {
|
|
107
|
+
override run(forward: boolean) {
|
|
119
108
|
const workspace = this.getEventWorkspace_();
|
|
120
109
|
if (forward) {
|
|
121
110
|
for (let i = 0; i < this.ids.length; i++) {
|
|
122
111
|
const id = this.ids[i];
|
|
123
112
|
const block = workspace.getBlockById(id);
|
|
124
113
|
if (block) {
|
|
125
|
-
block.dispose(false
|
|
114
|
+
block.dispose(false);
|
|
126
115
|
} else if (id === this.blockId) {
|
|
127
116
|
// Only complain about root-level block.
|
|
128
117
|
console.warn('Can\'t delete non-existent block: ' + id);
|
|
@@ -135,5 +124,3 @@ class BlockDelete extends BlockBase {
|
|
|
135
124
|
}
|
|
136
125
|
|
|
137
126
|
registry.register(registry.Type.EVENT, eventUtils.DELETE, BlockDelete);
|
|
138
|
-
|
|
139
|
-
exports.BlockDelete = BlockDelete;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../block.js';
|
|
7
|
+
import { UiBase } from './events_ui_base.js';
|
|
8
|
+
/**
|
|
9
|
+
* Class for a block drag event.
|
|
10
|
+
* @alias Blockly.Events.BlockDrag
|
|
11
|
+
*/
|
|
12
|
+
export declare class BlockDrag extends UiBase {
|
|
13
|
+
blockId: any;
|
|
14
|
+
isStart?: boolean;
|
|
15
|
+
blocks?: Block[];
|
|
16
|
+
type: string;
|
|
17
|
+
/**
|
|
18
|
+
* @param opt_block The top block in the stack that is being dragged.
|
|
19
|
+
* Undefined for a blank event.
|
|
20
|
+
* @param opt_isStart Whether this is the start of a block drag.
|
|
21
|
+
* Undefined for a blank event.
|
|
22
|
+
* @param opt_blocks The blocks affected by this drag. Undefined for a blank
|
|
23
|
+
* event.
|
|
24
|
+
*/
|
|
25
|
+
constructor(opt_block?: Block, opt_isStart?: boolean, opt_blocks?: Block[]);
|
|
26
|
+
/**
|
|
27
|
+
* Encode the event as JSON.
|
|
28
|
+
* @return JSON representation.
|
|
29
|
+
*/
|
|
30
|
+
toJson(): any;
|
|
31
|
+
/**
|
|
32
|
+
* Decode the JSON event.
|
|
33
|
+
* @param json JSON representation.
|
|
34
|
+
*/
|
|
35
|
+
fromJson(json: any): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Events fired as a block drag.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Events fired as a block drag.
|
|
13
|
+
* @class
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BlockDrag');
|
|
17
|
+
|
|
18
|
+
import type {Block} from '../block.js';
|
|
19
|
+
import * as registry from '../registry.js';
|
|
20
|
+
|
|
21
|
+
import {UiBase} from './events_ui_base.js';
|
|
22
|
+
import * as eventUtils from './utils.js';
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Class for a block drag event.
|
|
27
|
+
* @alias Blockly.Events.BlockDrag
|
|
28
|
+
*/
|
|
29
|
+
export class BlockDrag extends UiBase {
|
|
30
|
+
blockId: AnyDuringMigration;
|
|
31
|
+
isStart?: boolean;
|
|
32
|
+
blocks?: Block[];
|
|
33
|
+
override type: string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param opt_block The top block in the stack that is being dragged.
|
|
37
|
+
* Undefined for a blank event.
|
|
38
|
+
* @param opt_isStart Whether this is the start of a block drag.
|
|
39
|
+
* Undefined for a blank event.
|
|
40
|
+
* @param opt_blocks The blocks affected by this drag. Undefined for a blank
|
|
41
|
+
* event.
|
|
42
|
+
*/
|
|
43
|
+
constructor(opt_block?: Block, opt_isStart?: boolean, opt_blocks?: Block[]) {
|
|
44
|
+
const workspaceId = opt_block ? opt_block.workspace.id : undefined;
|
|
45
|
+
super(workspaceId);
|
|
46
|
+
this.blockId = opt_block ? opt_block.id : null;
|
|
47
|
+
|
|
48
|
+
/** Whether this is the start of a block drag. */
|
|
49
|
+
this.isStart = opt_isStart;
|
|
50
|
+
|
|
51
|
+
/** The blocks affected by this drag event. */
|
|
52
|
+
this.blocks = opt_blocks;
|
|
53
|
+
|
|
54
|
+
/** Type of this event. */
|
|
55
|
+
this.type = eventUtils.BLOCK_DRAG;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Encode the event as JSON.
|
|
60
|
+
* @return JSON representation.
|
|
61
|
+
*/
|
|
62
|
+
override toJson(): AnyDuringMigration {
|
|
63
|
+
const json = super.toJson();
|
|
64
|
+
json['isStart'] = this.isStart;
|
|
65
|
+
json['blockId'] = this.blockId;
|
|
66
|
+
json['blocks'] = this.blocks;
|
|
67
|
+
return json;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Decode the JSON event.
|
|
72
|
+
* @param json JSON representation.
|
|
73
|
+
*/
|
|
74
|
+
override fromJson(json: AnyDuringMigration) {
|
|
75
|
+
super.fromJson(json);
|
|
76
|
+
this.isStart = json['isStart'];
|
|
77
|
+
this.blockId = json['blockId'];
|
|
78
|
+
this.blocks = json['blocks'];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
registry.register(registry.Type.EVENT, eventUtils.BLOCK_DRAG, BlockDrag);
|