blockly 8.0.5 → 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 +2002 -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 +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- 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 -719
- 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} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- 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.ts +309 -0
- 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} +229 -228
- 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 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- 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 +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- 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/input.js +0 -335
- 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 -293
- 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
|
@@ -8,283 +8,213 @@
|
|
|
8
8
|
* @fileoverview Helper methods for events that are fired as a result of
|
|
9
9
|
* actions in Blockly's editor.
|
|
10
10
|
*/
|
|
11
|
-
'use strict';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Helper methods for events that are fired as a result of
|
|
15
14
|
* actions in Blockly's editor.
|
|
16
15
|
* @namespace Blockly.Events.utils
|
|
17
16
|
*/
|
|
18
|
-
goog
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
39
|
-
const {Workspace} = goog.requireType('Blockly.Workspace');
|
|
40
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
41
|
-
const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Group ID for new events. Grouped events are indivisible.
|
|
46
|
-
* @type {string}
|
|
47
|
-
*/
|
|
17
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.Events.utils');
|
|
19
|
+
|
|
20
|
+
import type {Block} from '../block.js';
|
|
21
|
+
import * as common from '../common.js';
|
|
22
|
+
import * as registry from '../registry.js';
|
|
23
|
+
import * as idGenerator from '../utils/idgenerator.js';
|
|
24
|
+
import type {Workspace} from '../workspace.js';
|
|
25
|
+
import type {WorkspaceSvg} from '../workspace_svg.js';
|
|
26
|
+
|
|
27
|
+
import type {Abstract} from './events_abstract.js';
|
|
28
|
+
import type {BlockChange} from './events_block_change.js';
|
|
29
|
+
import type {BlockCreate} from './events_block_create.js';
|
|
30
|
+
import type {BlockMove} from './events_block_move.js';
|
|
31
|
+
import type {CommentCreate} from './events_comment_create.js';
|
|
32
|
+
import type {CommentMove} from './events_comment_move.js';
|
|
33
|
+
import type {ViewportChange} from './events_viewport.js';
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
/** Group ID for new events. Grouped events are indivisible. */
|
|
48
37
|
let group = '';
|
|
49
38
|
|
|
50
|
-
/**
|
|
51
|
-
* Sets whether the next event should be added to the undo stack.
|
|
52
|
-
* @type {boolean}
|
|
53
|
-
*/
|
|
39
|
+
/** Sets whether the next event should be added to the undo stack. */
|
|
54
40
|
let recordUndo = true;
|
|
55
41
|
|
|
56
42
|
/**
|
|
57
43
|
* Sets whether events should be added to the undo stack.
|
|
58
|
-
* @param
|
|
44
|
+
* @param newValue True if events should be added to the undo stack.
|
|
59
45
|
* @alias Blockly.Events.utils.setRecordUndo
|
|
60
46
|
*/
|
|
61
|
-
|
|
47
|
+
export function setRecordUndo(newValue: boolean) {
|
|
62
48
|
recordUndo = newValue;
|
|
63
|
-
}
|
|
64
|
-
exports.setRecordUndo = setRecordUndo;
|
|
49
|
+
}
|
|
65
50
|
|
|
66
51
|
/**
|
|
67
52
|
* Returns whether or not events will be added to the undo stack.
|
|
68
|
-
* @returns
|
|
53
|
+
* @returns True if events will be added to the undo stack.
|
|
69
54
|
* @alias Blockly.Events.utils.getRecordUndo
|
|
70
55
|
*/
|
|
71
|
-
|
|
56
|
+
export function getRecordUndo(): boolean {
|
|
72
57
|
return recordUndo;
|
|
73
|
-
}
|
|
74
|
-
exports.getRecordUndo = getRecordUndo;
|
|
58
|
+
}
|
|
75
59
|
|
|
76
|
-
/**
|
|
77
|
-
* Allow change events to be created and fired.
|
|
78
|
-
* @type {number}
|
|
79
|
-
*/
|
|
60
|
+
/** Allow change events to be created and fired. */
|
|
80
61
|
let disabled = 0;
|
|
81
62
|
|
|
82
63
|
/**
|
|
83
64
|
* Name of event that creates a block. Will be deprecated for BLOCK_CREATE.
|
|
84
|
-
* @const
|
|
85
65
|
* @alias Blockly.Events.utils.CREATE
|
|
86
66
|
*/
|
|
87
|
-
const CREATE = 'create';
|
|
88
|
-
exports.CREATE = CREATE;
|
|
67
|
+
export const CREATE = 'create';
|
|
89
68
|
|
|
90
69
|
/**
|
|
91
70
|
* Name of event that creates a block.
|
|
92
|
-
* @const
|
|
93
71
|
* @alias Blockly.Events.utils.BLOCK_CREATE
|
|
94
72
|
*/
|
|
95
|
-
const BLOCK_CREATE = CREATE;
|
|
96
|
-
exports.BLOCK_CREATE = BLOCK_CREATE;
|
|
73
|
+
export const BLOCK_CREATE = CREATE;
|
|
97
74
|
|
|
98
75
|
/**
|
|
99
76
|
* Name of event that deletes a block. Will be deprecated for BLOCK_DELETE.
|
|
100
|
-
* @const
|
|
101
77
|
* @alias Blockly.Events.utils.DELETE
|
|
102
78
|
*/
|
|
103
|
-
const DELETE = 'delete';
|
|
104
|
-
exports.DELETE = DELETE;
|
|
79
|
+
export const DELETE = 'delete';
|
|
105
80
|
|
|
106
81
|
/**
|
|
107
82
|
* Name of event that deletes a block.
|
|
108
|
-
* @const
|
|
109
83
|
* @alias Blockly.Events.utils.BLOCK_DELETE
|
|
110
84
|
*/
|
|
111
|
-
const BLOCK_DELETE = DELETE;
|
|
112
|
-
exports.BLOCK_DELETE = BLOCK_DELETE;
|
|
85
|
+
export const BLOCK_DELETE = DELETE;
|
|
113
86
|
|
|
114
87
|
/**
|
|
115
88
|
* Name of event that changes a block. Will be deprecated for BLOCK_CHANGE.
|
|
116
|
-
* @const
|
|
117
89
|
* @alias Blockly.Events.utils.CHANGE
|
|
118
90
|
*/
|
|
119
|
-
const CHANGE = 'change';
|
|
120
|
-
exports.CHANGE = CHANGE;
|
|
91
|
+
export const CHANGE = 'change';
|
|
121
92
|
|
|
122
93
|
/**
|
|
123
94
|
* Name of event that changes a block.
|
|
124
|
-
* @const
|
|
125
95
|
* @alias Blockly.Events.utils.BLOCK_CHANGE
|
|
126
96
|
*/
|
|
127
|
-
const BLOCK_CHANGE = CHANGE;
|
|
128
|
-
exports.BLOCK_CHANGE = BLOCK_CHANGE;
|
|
97
|
+
export const BLOCK_CHANGE = CHANGE;
|
|
129
98
|
|
|
130
99
|
/**
|
|
131
100
|
* Name of event that moves a block. Will be deprecated for BLOCK_MOVE.
|
|
132
|
-
* @const
|
|
133
101
|
* @alias Blockly.Events.utils.MOVE
|
|
134
102
|
*/
|
|
135
|
-
const MOVE = 'move';
|
|
136
|
-
exports.MOVE = MOVE;
|
|
103
|
+
export const MOVE = 'move';
|
|
137
104
|
|
|
138
105
|
/**
|
|
139
106
|
* Name of event that moves a block.
|
|
140
|
-
* @const
|
|
141
107
|
* @alias Blockly.Events.utils.BLOCK_MOVE
|
|
142
108
|
*/
|
|
143
|
-
const BLOCK_MOVE = MOVE;
|
|
144
|
-
exports.BLOCK_MOVE = BLOCK_MOVE;
|
|
109
|
+
export const BLOCK_MOVE = MOVE;
|
|
145
110
|
|
|
146
111
|
/**
|
|
147
112
|
* Name of event that creates a variable.
|
|
148
|
-
* @const
|
|
149
113
|
* @alias Blockly.Events.utils.VAR_CREATE
|
|
150
114
|
*/
|
|
151
|
-
const VAR_CREATE = 'var_create';
|
|
152
|
-
exports.VAR_CREATE = VAR_CREATE;
|
|
115
|
+
export const VAR_CREATE = 'var_create';
|
|
153
116
|
|
|
154
117
|
/**
|
|
155
118
|
* Name of event that deletes a variable.
|
|
156
|
-
* @const
|
|
157
119
|
* @alias Blockly.Events.utils.VAR_DELETE
|
|
158
120
|
*/
|
|
159
|
-
const VAR_DELETE = 'var_delete';
|
|
160
|
-
exports.VAR_DELETE = VAR_DELETE;
|
|
121
|
+
export const VAR_DELETE = 'var_delete';
|
|
161
122
|
|
|
162
123
|
/**
|
|
163
124
|
* Name of event that renames a variable.
|
|
164
|
-
* @const
|
|
165
125
|
* @alias Blockly.Events.utils.VAR_RENAME
|
|
166
126
|
*/
|
|
167
|
-
const VAR_RENAME = 'var_rename';
|
|
168
|
-
exports.VAR_RENAME = VAR_RENAME;
|
|
127
|
+
export const VAR_RENAME = 'var_rename';
|
|
169
128
|
|
|
170
129
|
/**
|
|
171
130
|
* Name of generic event that records a UI change.
|
|
172
|
-
* @const
|
|
173
131
|
* @alias Blockly.Events.utils.UI
|
|
174
132
|
*/
|
|
175
|
-
const UI = 'ui';
|
|
176
|
-
exports.UI = UI;
|
|
133
|
+
export const UI = 'ui';
|
|
177
134
|
|
|
178
135
|
/**
|
|
179
136
|
* Name of event that record a block drags a block.
|
|
180
|
-
* @const
|
|
181
137
|
* @alias Blockly.Events.utils.BLOCK_DRAG
|
|
182
138
|
*/
|
|
183
|
-
const BLOCK_DRAG = 'drag';
|
|
184
|
-
exports.BLOCK_DRAG = BLOCK_DRAG;
|
|
139
|
+
export const BLOCK_DRAG = 'drag';
|
|
185
140
|
|
|
186
141
|
/**
|
|
187
142
|
* Name of event that records a change in selected element.
|
|
188
|
-
* @const
|
|
189
143
|
* @alias Blockly.Events.utils.SELECTED
|
|
190
144
|
*/
|
|
191
|
-
const SELECTED = 'selected';
|
|
192
|
-
exports.SELECTED = SELECTED;
|
|
145
|
+
export const SELECTED = 'selected';
|
|
193
146
|
|
|
194
147
|
/**
|
|
195
148
|
* Name of event that records a click.
|
|
196
|
-
* @const
|
|
197
149
|
* @alias Blockly.Events.utils.CLICK
|
|
198
150
|
*/
|
|
199
|
-
const CLICK = 'click';
|
|
200
|
-
exports.CLICK = CLICK;
|
|
151
|
+
export const CLICK = 'click';
|
|
201
152
|
|
|
202
153
|
/**
|
|
203
154
|
* Name of event that records a marker move.
|
|
204
|
-
* @const
|
|
205
155
|
* @alias Blockly.Events.utils.MARKER_MOVE
|
|
206
156
|
*/
|
|
207
|
-
const MARKER_MOVE = 'marker_move';
|
|
208
|
-
exports.MARKER_MOVE = MARKER_MOVE;
|
|
157
|
+
export const MARKER_MOVE = 'marker_move';
|
|
209
158
|
|
|
210
159
|
/**
|
|
211
160
|
* Name of event that records a bubble open.
|
|
212
|
-
* @const
|
|
213
161
|
* @alias Blockly.Events.utils.BUBBLE_OPEN
|
|
214
162
|
*/
|
|
215
|
-
const BUBBLE_OPEN = 'bubble_open';
|
|
216
|
-
exports.BUBBLE_OPEN = BUBBLE_OPEN;
|
|
163
|
+
export const BUBBLE_OPEN = 'bubble_open';
|
|
217
164
|
|
|
218
165
|
/**
|
|
219
166
|
* Name of event that records a trashcan open.
|
|
220
|
-
* @const
|
|
221
167
|
* @alias Blockly.Events.utils.TRASHCAN_OPEN
|
|
222
168
|
*/
|
|
223
|
-
const TRASHCAN_OPEN = 'trashcan_open';
|
|
224
|
-
exports.TRASHCAN_OPEN = TRASHCAN_OPEN;
|
|
169
|
+
export const TRASHCAN_OPEN = 'trashcan_open';
|
|
225
170
|
|
|
226
171
|
/**
|
|
227
172
|
* Name of event that records a toolbox item select.
|
|
228
|
-
* @const
|
|
229
173
|
* @alias Blockly.Events.utils.TOOLBOX_ITEM_SELECT
|
|
230
174
|
*/
|
|
231
|
-
const TOOLBOX_ITEM_SELECT = 'toolbox_item_select';
|
|
232
|
-
exports.TOOLBOX_ITEM_SELECT = TOOLBOX_ITEM_SELECT;
|
|
175
|
+
export const TOOLBOX_ITEM_SELECT = 'toolbox_item_select';
|
|
233
176
|
|
|
234
177
|
/**
|
|
235
178
|
* Name of event that records a theme change.
|
|
236
|
-
* @const
|
|
237
179
|
* @alias Blockly.Events.utils.THEME_CHANGE
|
|
238
180
|
*/
|
|
239
|
-
const THEME_CHANGE = 'theme_change';
|
|
240
|
-
exports.THEME_CHANGE = THEME_CHANGE;
|
|
181
|
+
export const THEME_CHANGE = 'theme_change';
|
|
241
182
|
|
|
242
183
|
/**
|
|
243
184
|
* Name of event that records a viewport change.
|
|
244
|
-
* @const
|
|
245
185
|
* @alias Blockly.Events.utils.VIEWPORT_CHANGE
|
|
246
186
|
*/
|
|
247
|
-
const VIEWPORT_CHANGE = 'viewport_change';
|
|
248
|
-
exports.VIEWPORT_CHANGE = VIEWPORT_CHANGE;
|
|
187
|
+
export const VIEWPORT_CHANGE = 'viewport_change';
|
|
249
188
|
|
|
250
189
|
/**
|
|
251
190
|
* Name of event that creates a comment.
|
|
252
|
-
* @const
|
|
253
191
|
* @alias Blockly.Events.utils.COMMENT_CREATE
|
|
254
192
|
*/
|
|
255
|
-
const COMMENT_CREATE = 'comment_create';
|
|
256
|
-
exports.COMMENT_CREATE = COMMENT_CREATE;
|
|
193
|
+
export const COMMENT_CREATE = 'comment_create';
|
|
257
194
|
|
|
258
195
|
/**
|
|
259
196
|
* Name of event that deletes a comment.
|
|
260
|
-
* @const
|
|
261
197
|
* @alias Blockly.Events.utils.COMMENT_DELETE
|
|
262
198
|
*/
|
|
263
|
-
const COMMENT_DELETE = 'comment_delete';
|
|
264
|
-
exports.COMMENT_DELETE = COMMENT_DELETE;
|
|
199
|
+
export const COMMENT_DELETE = 'comment_delete';
|
|
265
200
|
|
|
266
201
|
/**
|
|
267
202
|
* Name of event that changes a comment.
|
|
268
|
-
* @const
|
|
269
203
|
* @alias Blockly.Events.utils.COMMENT_CHANGE
|
|
270
204
|
*/
|
|
271
|
-
const COMMENT_CHANGE = 'comment_change';
|
|
272
|
-
exports.COMMENT_CHANGE = COMMENT_CHANGE;
|
|
205
|
+
export const COMMENT_CHANGE = 'comment_change';
|
|
273
206
|
|
|
274
207
|
/**
|
|
275
208
|
* Name of event that moves a comment.
|
|
276
|
-
* @const
|
|
277
209
|
* @alias Blockly.Events.utils.COMMENT_MOVE
|
|
278
210
|
*/
|
|
279
|
-
const COMMENT_MOVE = 'comment_move';
|
|
280
|
-
exports.COMMENT_MOVE = COMMENT_MOVE;
|
|
211
|
+
export const COMMENT_MOVE = 'comment_move';
|
|
281
212
|
|
|
282
213
|
/**
|
|
283
214
|
* Name of event that records a workspace load.
|
|
284
215
|
* @alias Blockly.Events.utils.FINISHED_LOADING
|
|
285
216
|
*/
|
|
286
|
-
const FINISHED_LOADING = 'finished_loading';
|
|
287
|
-
exports.FINISHED_LOADING = FINISHED_LOADING;
|
|
217
|
+
export const FINISHED_LOADING = 'finished_loading';
|
|
288
218
|
|
|
289
219
|
/**
|
|
290
220
|
* Type of events that cause objects to be bumped back into the visible
|
|
@@ -292,12 +222,9 @@ exports.FINISHED_LOADING = FINISHED_LOADING;
|
|
|
292
222
|
*
|
|
293
223
|
* Not to be confused with bumping so that disconnected connections do not
|
|
294
224
|
* appear connected.
|
|
295
|
-
* @typedef {!BlockCreate|!BlockMove|
|
|
296
|
-
* !CommentCreate|!CommentMove}
|
|
297
225
|
* @alias Blockly.Events.utils.BumpEvent
|
|
298
226
|
*/
|
|
299
|
-
|
|
300
|
-
exports.BumpEvent = BumpEvent;
|
|
227
|
+
export type BumpEvent = BlockCreate|BlockMove|CommentCreate|CommentMove;
|
|
301
228
|
|
|
302
229
|
/**
|
|
303
230
|
* List of events that cause objects to be bumped back into the visible
|
|
@@ -305,24 +232,27 @@ exports.BumpEvent = BumpEvent;
|
|
|
305
232
|
*
|
|
306
233
|
* Not to be confused with bumping so that disconnected connections do not
|
|
307
234
|
* appear connected.
|
|
308
|
-
* @const
|
|
309
235
|
* @alias Blockly.Events.utils.BUMP_EVENTS
|
|
310
236
|
*/
|
|
311
|
-
const BUMP_EVENTS
|
|
312
|
-
|
|
237
|
+
export const BUMP_EVENTS: string[] =
|
|
238
|
+
[BLOCK_CREATE, BLOCK_MOVE, COMMENT_CREATE, COMMENT_MOVE];
|
|
313
239
|
|
|
314
|
-
/**
|
|
315
|
-
|
|
316
|
-
* @type {!Array<!Abstract>}
|
|
317
|
-
*/
|
|
318
|
-
const FIRE_QUEUE = [];
|
|
240
|
+
/** List of events queued for firing. */
|
|
241
|
+
const FIRE_QUEUE: Abstract[] = [];
|
|
319
242
|
|
|
320
243
|
/**
|
|
321
244
|
* Create a custom event and fire it.
|
|
322
|
-
* @param
|
|
245
|
+
* @param event Custom data for event.
|
|
323
246
|
* @alias Blockly.Events.utils.fire
|
|
324
247
|
*/
|
|
325
|
-
|
|
248
|
+
export function fire(event: Abstract) {
|
|
249
|
+
TEST_ONLY.fireInternal(event);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Private version of fireInternal for stubbing in tests.
|
|
254
|
+
*/
|
|
255
|
+
function fireInternal(event: Abstract) {
|
|
326
256
|
if (!isEnabled()) {
|
|
327
257
|
return;
|
|
328
258
|
}
|
|
@@ -331,36 +261,34 @@ const fire = function(event) {
|
|
|
331
261
|
setTimeout(fireNow, 0);
|
|
332
262
|
}
|
|
333
263
|
FIRE_QUEUE.push(event);
|
|
334
|
-
}
|
|
335
|
-
exports.fire = fire;
|
|
264
|
+
}
|
|
336
265
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
const fireNow = function() {
|
|
266
|
+
|
|
267
|
+
/** Fire all queued events. */
|
|
268
|
+
function fireNow() {
|
|
341
269
|
const queue = filter(FIRE_QUEUE, true);
|
|
342
270
|
FIRE_QUEUE.length = 0;
|
|
343
|
-
for (let i = 0, event;
|
|
271
|
+
for (let i = 0, event; event = queue[i]; i++) {
|
|
344
272
|
if (!event.workspaceId) {
|
|
345
273
|
continue;
|
|
346
274
|
}
|
|
347
|
-
const
|
|
348
|
-
const eventWorkspace = Workspace.getById(event.workspaceId);
|
|
275
|
+
const eventWorkspace = common.getWorkspaceById(event.workspaceId);
|
|
349
276
|
if (eventWorkspace) {
|
|
350
277
|
eventWorkspace.fireChangeListener(event);
|
|
351
278
|
}
|
|
352
279
|
}
|
|
353
|
-
}
|
|
280
|
+
}
|
|
354
281
|
|
|
355
282
|
/**
|
|
356
283
|
* Filter the queued events and merge duplicates.
|
|
357
|
-
* @param
|
|
358
|
-
* @param
|
|
359
|
-
* @return
|
|
284
|
+
* @param queueIn Array of events.
|
|
285
|
+
* @param forward True if forward (redo), false if backward (undo).
|
|
286
|
+
* @return Array of filtered events.
|
|
360
287
|
* @alias Blockly.Events.utils.filter
|
|
361
288
|
*/
|
|
362
|
-
|
|
363
|
-
let queue = queueIn.slice();
|
|
289
|
+
export function filter(queueIn: Abstract[], forward: boolean): Abstract[] {
|
|
290
|
+
let queue = queueIn.slice();
|
|
291
|
+
// Shallow copy of queue.
|
|
364
292
|
if (!forward) {
|
|
365
293
|
// Undo is merged in reverse order.
|
|
366
294
|
queue.reverse();
|
|
@@ -368,12 +296,12 @@ const filter = function(queueIn, forward) {
|
|
|
368
296
|
const mergedQueue = [];
|
|
369
297
|
const hash = Object.create(null);
|
|
370
298
|
// Merge duplicates.
|
|
371
|
-
for (let i = 0, event;
|
|
299
|
+
for (let i = 0, event; event = queue[i]; i++) {
|
|
372
300
|
if (!event.isNull()) {
|
|
373
301
|
// Treat all UI events as the same type in hash table.
|
|
374
302
|
const eventType = event.isUiEvent ? UI : event.type;
|
|
375
|
-
// TODO(#5927):
|
|
376
|
-
const blockId =
|
|
303
|
+
// TODO(#5927): Check whether `blockId` exists before accessing it.
|
|
304
|
+
const blockId = (event as AnyDuringMigration).blockId;
|
|
377
305
|
const key = [eventType, blockId, event.workspaceId].join(' ');
|
|
378
306
|
|
|
379
307
|
const lastEntry = hash[key];
|
|
@@ -382,23 +310,24 @@ const filter = function(queueIn, forward) {
|
|
|
382
310
|
// Each item in the hash table has the event and the index of that event
|
|
383
311
|
// in the input array. This lets us make sure we only merge adjacent
|
|
384
312
|
// move events.
|
|
385
|
-
hash[key] = {event
|
|
313
|
+
hash[key] = {event, index: i};
|
|
386
314
|
mergedQueue.push(event);
|
|
387
315
|
} else if (event.type === MOVE && lastEntry.index === i - 1) {
|
|
388
|
-
const moveEvent =
|
|
316
|
+
const moveEvent = event as BlockMove;
|
|
389
317
|
// Merge move events.
|
|
390
318
|
lastEvent.newParentId = moveEvent.newParentId;
|
|
391
319
|
lastEvent.newInputName = moveEvent.newInputName;
|
|
392
320
|
lastEvent.newCoordinate = moveEvent.newCoordinate;
|
|
393
321
|
lastEntry.index = i;
|
|
394
322
|
} else if (
|
|
395
|
-
event.type === CHANGE &&
|
|
396
|
-
event.
|
|
397
|
-
|
|
323
|
+
event.type === CHANGE &&
|
|
324
|
+
(event as BlockChange).element === lastEvent.element &&
|
|
325
|
+
(event as BlockChange).name === lastEvent.name) {
|
|
326
|
+
const changeEvent = event as BlockChange;
|
|
398
327
|
// Merge change events.
|
|
399
328
|
lastEvent.newValue = changeEvent.newValue;
|
|
400
329
|
} else if (event.type === VIEWPORT_CHANGE) {
|
|
401
|
-
const viewportEvent =
|
|
330
|
+
const viewportEvent = event as ViewportChange;
|
|
402
331
|
// Merge viewport change events.
|
|
403
332
|
lastEvent.viewTop = viewportEvent.viewTop;
|
|
404
333
|
lastEvent.viewLeft = viewportEvent.viewLeft;
|
|
@@ -409,7 +338,7 @@ const filter = function(queueIn, forward) {
|
|
|
409
338
|
} else {
|
|
410
339
|
// Collision: newer events should merge into this event to maintain
|
|
411
340
|
// order.
|
|
412
|
-
hash[key] = {event
|
|
341
|
+
hash[key] = {event, index: i};
|
|
413
342
|
mergedQueue.push(event);
|
|
414
343
|
}
|
|
415
344
|
}
|
|
@@ -424,108 +353,111 @@ const filter = function(queueIn, forward) {
|
|
|
424
353
|
}
|
|
425
354
|
// Move mutation events to the top of the queue.
|
|
426
355
|
// Intentionally skip first event.
|
|
427
|
-
for (let i = 1, event;
|
|
428
|
-
|
|
356
|
+
for (let i = 1, event; event = queue[i]; i++) {
|
|
357
|
+
// AnyDuringMigration because: Property 'element' does not exist on type
|
|
358
|
+
// 'Abstract'.
|
|
359
|
+
if (event.type === CHANGE &&
|
|
360
|
+
(event as AnyDuringMigration).element === 'mutation') {
|
|
429
361
|
queue.unshift(queue.splice(i, 1)[0]);
|
|
430
362
|
}
|
|
431
363
|
}
|
|
432
364
|
return queue;
|
|
433
|
-
}
|
|
434
|
-
exports.filter = filter;
|
|
365
|
+
}
|
|
435
366
|
|
|
436
367
|
/**
|
|
437
368
|
* Modify pending undo events so that when they are fired they don't land
|
|
438
369
|
* in the undo stack. Called by Workspace.clearUndo.
|
|
439
370
|
* @alias Blockly.Events.utils.clearPendingUndo
|
|
440
371
|
*/
|
|
441
|
-
|
|
442
|
-
for (let i = 0, event;
|
|
372
|
+
export function clearPendingUndo() {
|
|
373
|
+
for (let i = 0, event; event = FIRE_QUEUE[i]; i++) {
|
|
443
374
|
event.recordUndo = false;
|
|
444
375
|
}
|
|
445
|
-
}
|
|
446
|
-
exports.clearPendingUndo = clearPendingUndo;
|
|
376
|
+
}
|
|
447
377
|
|
|
448
378
|
/**
|
|
449
379
|
* Stop sending events. Every call to this function MUST also call enable.
|
|
450
380
|
* @alias Blockly.Events.utils.disable
|
|
451
381
|
*/
|
|
452
|
-
|
|
382
|
+
export function disable() {
|
|
453
383
|
disabled++;
|
|
454
|
-
}
|
|
455
|
-
exports.disable = disable;
|
|
384
|
+
}
|
|
456
385
|
|
|
457
386
|
/**
|
|
458
387
|
* Start sending events. Unless events were already disabled when the
|
|
459
388
|
* corresponding call to disable was made.
|
|
460
389
|
* @alias Blockly.Events.utils.enable
|
|
461
390
|
*/
|
|
462
|
-
|
|
391
|
+
export function enable() {
|
|
463
392
|
disabled--;
|
|
464
|
-
}
|
|
465
|
-
exports.enable = enable;
|
|
393
|
+
}
|
|
466
394
|
|
|
467
395
|
/**
|
|
468
396
|
* Returns whether events may be fired or not.
|
|
469
|
-
* @return
|
|
397
|
+
* @return True if enabled.
|
|
470
398
|
* @alias Blockly.Events.utils.isEnabled
|
|
471
399
|
*/
|
|
472
|
-
|
|
400
|
+
export function isEnabled(): boolean {
|
|
473
401
|
return disabled === 0;
|
|
474
|
-
}
|
|
475
|
-
exports.isEnabled = isEnabled;
|
|
402
|
+
}
|
|
476
403
|
|
|
477
404
|
/**
|
|
478
405
|
* Current group.
|
|
479
|
-
* @return
|
|
406
|
+
* @return ID string.
|
|
480
407
|
* @alias Blockly.Events.utils.getGroup
|
|
481
408
|
*/
|
|
482
|
-
|
|
409
|
+
export function getGroup(): string {
|
|
483
410
|
return group;
|
|
484
|
-
}
|
|
485
|
-
exports.getGroup = getGroup;
|
|
411
|
+
}
|
|
486
412
|
|
|
487
413
|
/**
|
|
488
414
|
* Start or stop a group.
|
|
489
|
-
* @param
|
|
415
|
+
* @param state True to start new group, false to end group.
|
|
490
416
|
* String to set group explicitly.
|
|
491
417
|
* @alias Blockly.Events.utils.setGroup
|
|
492
418
|
*/
|
|
493
|
-
|
|
419
|
+
export function setGroup(state: boolean|string) {
|
|
420
|
+
TEST_ONLY.setGroupInternal(state);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Private version of setGroup for stubbing in tests.
|
|
425
|
+
*/
|
|
426
|
+
function setGroupInternal(state: boolean|string) {
|
|
494
427
|
if (typeof state === 'boolean') {
|
|
495
428
|
group = state ? idGenerator.genUid() : '';
|
|
496
429
|
} else {
|
|
497
430
|
group = state;
|
|
498
431
|
}
|
|
499
|
-
}
|
|
500
|
-
exports.setGroup = setGroup;
|
|
432
|
+
}
|
|
501
433
|
|
|
502
434
|
/**
|
|
503
435
|
* Compute a list of the IDs of the specified block and all its descendants.
|
|
504
|
-
* @param
|
|
505
|
-
* @return
|
|
436
|
+
* @param block The root block.
|
|
437
|
+
* @return List of block IDs.
|
|
506
438
|
* @alias Blockly.Events.utils.getDescendantIds
|
|
507
|
-
* @
|
|
439
|
+
* @internal
|
|
508
440
|
*/
|
|
509
|
-
|
|
441
|
+
export function getDescendantIds(block: Block): string[] {
|
|
510
442
|
const ids = [];
|
|
511
443
|
const descendants = block.getDescendants(false);
|
|
512
|
-
for (let i = 0, descendant;
|
|
444
|
+
for (let i = 0, descendant; descendant = descendants[i]; i++) {
|
|
513
445
|
ids[i] = descendant.id;
|
|
514
446
|
}
|
|
515
447
|
return ids;
|
|
516
|
-
}
|
|
517
|
-
exports.getDescendantIds = getDescendantIds;
|
|
448
|
+
}
|
|
518
449
|
|
|
519
450
|
/**
|
|
520
451
|
* Decode the JSON into an event.
|
|
521
|
-
* @param
|
|
522
|
-
* @param
|
|
523
|
-
* @return
|
|
452
|
+
* @param json JSON representation.
|
|
453
|
+
* @param workspace Target workspace for event.
|
|
454
|
+
* @return The event represented by the JSON.
|
|
524
455
|
* @throws {Error} if an event type is not found in the registry.
|
|
525
456
|
* @alias Blockly.Events.utils.fromJson
|
|
526
457
|
*/
|
|
527
|
-
|
|
528
|
-
|
|
458
|
+
export function fromJson(
|
|
459
|
+
json: AnyDuringMigration, workspace: Workspace): Abstract {
|
|
460
|
+
const eventClass = get(json['type']);
|
|
529
461
|
if (!eventClass) {
|
|
530
462
|
throw Error('Unknown event type.');
|
|
531
463
|
}
|
|
@@ -533,39 +465,35 @@ const fromJson = function(json, workspace) {
|
|
|
533
465
|
event.fromJson(json);
|
|
534
466
|
event.workspaceId = workspace.id;
|
|
535
467
|
return event;
|
|
536
|
-
}
|
|
537
|
-
exports.fromJson = fromJson;
|
|
468
|
+
}
|
|
538
469
|
|
|
539
470
|
/**
|
|
540
471
|
* Gets the class for a specific event type from the registry.
|
|
541
|
-
* @param
|
|
542
|
-
* @return
|
|
543
|
-
* the given type or null if none exists.
|
|
472
|
+
* @param eventType The type of the event to get.
|
|
473
|
+
* @return The event class with the given type or null if none exists.
|
|
544
474
|
* @alias Blockly.Events.utils.get
|
|
545
475
|
*/
|
|
546
|
-
|
|
476
|
+
export function get(eventType: string):
|
|
477
|
+
(new (...p1: AnyDuringMigration[]) => Abstract)|null {
|
|
547
478
|
return registry.getClass(registry.Type.EVENT, eventType);
|
|
548
|
-
}
|
|
549
|
-
exports.get = get;
|
|
479
|
+
}
|
|
550
480
|
|
|
551
481
|
/**
|
|
552
482
|
* Enable/disable a block depending on whether it is properly connected.
|
|
553
483
|
* Use this on applications where all blocks should be connected to a top block.
|
|
554
484
|
* Recommend setting the 'disable' option to 'false' in the config so that
|
|
555
485
|
* users don't try to re-enable disabled orphan blocks.
|
|
556
|
-
* @param
|
|
486
|
+
* @param event Custom data for event.
|
|
557
487
|
* @alias Blockly.Events.utils.disableOrphans
|
|
558
488
|
*/
|
|
559
|
-
|
|
489
|
+
export function disableOrphans(event: Abstract) {
|
|
560
490
|
if (event.type === MOVE || event.type === CREATE) {
|
|
561
|
-
const blockEvent =
|
|
491
|
+
const blockEvent = event as BlockMove | BlockCreate;
|
|
562
492
|
if (!blockEvent.workspaceId) {
|
|
563
493
|
return;
|
|
564
494
|
}
|
|
565
|
-
const {Workspace} = goog.module.get('Blockly.Workspace');
|
|
566
495
|
const eventWorkspace =
|
|
567
|
-
|
|
568
|
-
Workspace.getById(blockEvent.workspaceId));
|
|
496
|
+
common.getWorkspaceById(blockEvent.workspaceId) as WorkspaceSvg;
|
|
569
497
|
let block = eventWorkspace.getBlockById(blockEvent.blockId);
|
|
570
498
|
if (block) {
|
|
571
499
|
// Changing blocks as part of this event shouldn't be undoable.
|
|
@@ -575,7 +503,7 @@ const disableOrphans = function(event) {
|
|
|
575
503
|
const parent = block.getParent();
|
|
576
504
|
if (parent && parent.isEnabled()) {
|
|
577
505
|
const children = block.getDescendants(false);
|
|
578
|
-
for (let i = 0, child;
|
|
506
|
+
for (let i = 0, child; child = children[i]; i++) {
|
|
579
507
|
child.setEnabled(true);
|
|
580
508
|
}
|
|
581
509
|
} else if (
|
|
@@ -591,10 +519,11 @@ const disableOrphans = function(event) {
|
|
|
591
519
|
}
|
|
592
520
|
}
|
|
593
521
|
}
|
|
594
|
-
}
|
|
595
|
-
exports.disableOrphans = disableOrphans;
|
|
522
|
+
}
|
|
596
523
|
|
|
597
|
-
|
|
524
|
+
export const TEST_ONLY = {
|
|
598
525
|
FIRE_QUEUE,
|
|
599
526
|
fireNow,
|
|
527
|
+
fireInternal,
|
|
528
|
+
setGroupInternal,
|
|
600
529
|
};
|