blockly 8.0.4 → 8.0.5-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 +2421 -2688
- 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/msg/ab.js +420 -420
- package/msg/ace.js +420 -420
- package/msg/af.js +420 -420
- package/msg/am.js +420 -420
- package/msg/ar.js +420 -420
- package/msg/ast.js +420 -420
- package/msg/az.js +420 -420
- package/msg/ba.js +420 -420
- package/msg/bcc.js +420 -420
- package/msg/be-tarask.js +420 -420
- package/msg/be.js +420 -420
- package/msg/bg.js +420 -420
- package/msg/bn.js +420 -420
- package/msg/br.js +420 -420
- package/msg/bs.js +420 -420
- package/msg/ca.js +420 -420
- package/msg/cdo.js +420 -420
- package/msg/cs.js +420 -420
- package/msg/da.js +420 -420
- package/msg/de.js +420 -420
- package/msg/diq.js +420 -420
- package/msg/dty.js +420 -420
- package/msg/ee.js +420 -420
- package/msg/el.js +420 -420
- package/msg/en-gb.js +420 -420
- package/msg/en.js +420 -420
- package/msg/eo.js +420 -420
- package/msg/es.js +420 -420
- package/msg/et.js +420 -420
- package/msg/eu.js +420 -420
- package/msg/fa.js +420 -420
- package/msg/fi.js +420 -420
- package/msg/fo.js +420 -420
- package/msg/fr.js +420 -420
- package/msg/frr.js +420 -420
- package/msg/gl.js +420 -420
- package/msg/gn.js +420 -420
- package/msg/gor.js +420 -420
- package/msg/ha.js +420 -420
- package/msg/hak.js +420 -420
- package/msg/he.js +420 -420
- package/msg/hi.js +420 -420
- package/msg/hr.js +420 -420
- package/msg/hrx.js +420 -420
- package/msg/hu.js +420 -420
- package/msg/hy.js +420 -420
- package/msg/ia.js +420 -420
- package/msg/id.js +420 -420
- package/msg/ig.js +420 -420
- package/msg/inh.js +420 -420
- package/msg/is.js +420 -420
- package/msg/it.js +420 -420
- package/msg/ja.js +420 -420
- package/msg/ka.js +420 -420
- package/msg/kab.js +420 -420
- package/msg/kbd-cyrl.js +420 -420
- package/msg/km.js +420 -420
- package/msg/kn.js +420 -420
- package/msg/ko.js +420 -420
- package/msg/ksh.js +420 -420
- package/msg/ku-latn.js +420 -420
- package/msg/ky.js +420 -420
- package/msg/la.js +420 -420
- package/msg/lb.js +420 -420
- package/msg/lki.js +420 -420
- package/msg/lo.js +420 -420
- package/msg/lrc.js +420 -420
- package/msg/lt.js +420 -420
- package/msg/lv.js +420 -420
- package/msg/mg.js +420 -420
- package/msg/mk.js +420 -420
- package/msg/ml.js +420 -420
- package/msg/mnw.js +420 -420
- package/msg/ms.js +420 -420
- package/msg/my.js +420 -420
- package/msg/mzn.js +420 -420
- package/msg/nb.js +420 -420
- package/msg/ne.js +420 -420
- package/msg/nl.js +420 -420
- package/msg/oc.js +420 -420
- package/msg/olo.js +420 -420
- package/msg/pa.js +420 -420
- package/msg/pl.js +420 -420
- package/msg/pms.js +420 -420
- package/msg/ps.js +420 -420
- package/msg/pt-br.js +420 -420
- package/msg/pt.js +420 -420
- package/msg/ro.js +420 -420
- package/msg/ru.js +420 -420
- package/msg/sc.js +420 -420
- package/msg/sco.js +420 -420
- package/msg/sd.js +420 -420
- package/msg/shn.js +420 -420
- package/msg/si.js +420 -420
- package/msg/sk.js +420 -420
- package/msg/skr-arab.js +420 -420
- package/msg/sl.js +420 -420
- package/msg/smn.js +420 -420
- package/msg/sq.js +420 -420
- package/msg/sr-latn.js +420 -420
- package/msg/sr.js +420 -420
- package/msg/sv.js +420 -420
- package/msg/sw.js +420 -420
- package/msg/ta.js +420 -420
- package/msg/tcy.js +420 -420
- package/msg/te.js +420 -420
- package/msg/th.js +420 -420
- package/msg/ti.js +420 -420
- package/msg/tl.js +420 -420
- package/msg/tlh.js +420 -420
- package/msg/tr.js +420 -420
- package/msg/ug-arab.js +420 -420
- package/msg/uk.js +420 -420
- package/msg/ur.js +420 -420
- package/msg/uz.js +420 -420
- package/msg/vi.js +420 -420
- package/msg/xmf.js +420 -420
- package/msg/yo.js +420 -420
- package/msg/yue.js +420 -420
- package/msg/zgh.js +420 -420
- package/msg/zh-hans.js +420 -420
- package/msg/zh-hant.js +420 -420
- 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
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Connection } from '../connection.js';
|
|
7
|
+
import type { RenderedConnection } from '../rendered_connection.js';
|
|
8
|
+
/**
|
|
9
|
+
* Class for connection type checking logic.
|
|
10
|
+
* @alias Blockly.IConnectionChecker
|
|
11
|
+
*/
|
|
12
|
+
export interface IConnectionChecker {
|
|
13
|
+
/**
|
|
14
|
+
* Check whether the current connection can connect with the target
|
|
15
|
+
* connection.
|
|
16
|
+
* @param a Connection to check compatibility with.
|
|
17
|
+
* @param b Connection to check compatibility with.
|
|
18
|
+
* @param isDragging True if the connection is being made by dragging a block.
|
|
19
|
+
* @param opt_distance The max allowable distance between the connections for
|
|
20
|
+
* drag checks.
|
|
21
|
+
* @return Whether the connection is legal.
|
|
22
|
+
*/
|
|
23
|
+
canConnect(a: Connection | null, b: Connection | null, isDragging: boolean, opt_distance?: number): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Checks whether the current connection can connect with the target
|
|
26
|
+
* connection, and return an error code if there are problems.
|
|
27
|
+
* @param a Connection to check compatibility with.
|
|
28
|
+
* @param b Connection to check compatibility with.
|
|
29
|
+
* @param isDragging True if the connection is being made by dragging a block.
|
|
30
|
+
* @param opt_distance The max allowable distance between the connections for
|
|
31
|
+
* drag checks.
|
|
32
|
+
* @return Connection.CAN_CONNECT if the connection is legal, an error code
|
|
33
|
+
* otherwise.
|
|
34
|
+
*/
|
|
35
|
+
canConnectWithReason(a: Connection | null, b: Connection | null, isDragging: boolean, opt_distance?: number): number;
|
|
36
|
+
/**
|
|
37
|
+
* Helper method that translates a connection error code into a string.
|
|
38
|
+
* @param errorCode The error code.
|
|
39
|
+
* @param a One of the two connections being checked.
|
|
40
|
+
* @param b The second of the two connections being checked.
|
|
41
|
+
* @return A developer-readable error string.
|
|
42
|
+
*/
|
|
43
|
+
getErrorMessage(errorCode: number, a: Connection | null, b: Connection | null): string;
|
|
44
|
+
/**
|
|
45
|
+
* Check that connecting the given connections is safe, meaning that it would
|
|
46
|
+
* not break any of Blockly's basic assumptions (e.g. no self connections).
|
|
47
|
+
* @param a The first of the connections to check.
|
|
48
|
+
* @param b The second of the connections to check.
|
|
49
|
+
* @return An enum with the reason this connection is safe or unsafe.
|
|
50
|
+
*/
|
|
51
|
+
doSafetyChecks(a: Connection | null, b: Connection | null): number;
|
|
52
|
+
/**
|
|
53
|
+
* Check whether this connection is compatible with another connection with
|
|
54
|
+
* respect to the value type system. E.g. square_root("Hello") is not
|
|
55
|
+
* compatible.
|
|
56
|
+
* @param a Connection to compare.
|
|
57
|
+
* @param b Connection to compare against.
|
|
58
|
+
* @return True if the connections share a type.
|
|
59
|
+
*/
|
|
60
|
+
doTypeChecks(a: Connection, b: Connection): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Check whether this connection can be made by dragging.
|
|
63
|
+
* @param a Connection to compare.
|
|
64
|
+
* @param b Connection to compare against.
|
|
65
|
+
* @param distance The maximum allowable distance between connections.
|
|
66
|
+
* @return True if the connection is allowed during a drag.
|
|
67
|
+
*/
|
|
68
|
+
doDragChecks(a: RenderedConnection, b: RenderedConnection, distance: number): boolean;
|
|
69
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview The interface for an object that encapsulates logic for
|
|
9
|
+
* checking whether a potential connection is safe and valid.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The interface for an object that encapsulates logic for
|
|
14
|
+
* checking whether a potential connection is safe and valid.
|
|
15
|
+
* @namespace Blockly.IConnectionChecker
|
|
16
|
+
*/
|
|
17
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
+
import type {Connection} from '../connection.js';
|
|
19
|
+
import type {RenderedConnection} from '../rendered_connection.js';
|
|
20
|
+
goog.declareModuleId('Blockly.IConnectionChecker');
|
|
21
|
+
|
|
22
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
23
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
24
|
+
// import '../connection.js';
|
|
25
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
26
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
27
|
+
// import '../rendered_connection.js';
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Class for connection type checking logic.
|
|
32
|
+
* @alias Blockly.IConnectionChecker
|
|
33
|
+
*/
|
|
34
|
+
export interface IConnectionChecker {
|
|
35
|
+
/**
|
|
36
|
+
* Check whether the current connection can connect with the target
|
|
37
|
+
* connection.
|
|
38
|
+
* @param a Connection to check compatibility with.
|
|
39
|
+
* @param b Connection to check compatibility with.
|
|
40
|
+
* @param isDragging True if the connection is being made by dragging a block.
|
|
41
|
+
* @param opt_distance The max allowable distance between the connections for
|
|
42
|
+
* drag checks.
|
|
43
|
+
* @return Whether the connection is legal.
|
|
44
|
+
*/
|
|
45
|
+
canConnect(
|
|
46
|
+
a: Connection|null, b: Connection|null, isDragging: boolean,
|
|
47
|
+
opt_distance?: number): boolean;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Checks whether the current connection can connect with the target
|
|
51
|
+
* connection, and return an error code if there are problems.
|
|
52
|
+
* @param a Connection to check compatibility with.
|
|
53
|
+
* @param b Connection to check compatibility with.
|
|
54
|
+
* @param isDragging True if the connection is being made by dragging a block.
|
|
55
|
+
* @param opt_distance The max allowable distance between the connections for
|
|
56
|
+
* drag checks.
|
|
57
|
+
* @return Connection.CAN_CONNECT if the connection is legal, an error code
|
|
58
|
+
* otherwise.
|
|
59
|
+
*/
|
|
60
|
+
canConnectWithReason(
|
|
61
|
+
a: Connection|null, b: Connection|null, isDragging: boolean,
|
|
62
|
+
opt_distance?: number): number;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Helper method that translates a connection error code into a string.
|
|
66
|
+
* @param errorCode The error code.
|
|
67
|
+
* @param a One of the two connections being checked.
|
|
68
|
+
* @param b The second of the two connections being checked.
|
|
69
|
+
* @return A developer-readable error string.
|
|
70
|
+
*/
|
|
71
|
+
getErrorMessage(errorCode: number, a: Connection|null, b: Connection|null):
|
|
72
|
+
string;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Check that connecting the given connections is safe, meaning that it would
|
|
76
|
+
* not break any of Blockly's basic assumptions (e.g. no self connections).
|
|
77
|
+
* @param a The first of the connections to check.
|
|
78
|
+
* @param b The second of the connections to check.
|
|
79
|
+
* @return An enum with the reason this connection is safe or unsafe.
|
|
80
|
+
*/
|
|
81
|
+
doSafetyChecks(a: Connection|null, b: Connection|null): number;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Check whether this connection is compatible with another connection with
|
|
85
|
+
* respect to the value type system. E.g. square_root("Hello") is not
|
|
86
|
+
* compatible.
|
|
87
|
+
* @param a Connection to compare.
|
|
88
|
+
* @param b Connection to compare against.
|
|
89
|
+
* @return True if the connections share a type.
|
|
90
|
+
*/
|
|
91
|
+
doTypeChecks(a: Connection, b: Connection): boolean;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Check whether this connection can be made by dragging.
|
|
95
|
+
* @param a Connection to compare.
|
|
96
|
+
* @param b Connection to compare against.
|
|
97
|
+
* @param distance The maximum allowable distance between connections.
|
|
98
|
+
* @return True if the connection is allowed during a drag.
|
|
99
|
+
*/
|
|
100
|
+
doDragChecks(a: RenderedConnection, b: RenderedConnection, distance: number):
|
|
101
|
+
boolean;
|
|
102
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/** @alias Blockly.IContextMenu */
|
|
7
|
+
export interface IContextMenu {
|
|
8
|
+
/**
|
|
9
|
+
* Show the context menu for this object.
|
|
10
|
+
* @param e Mouse event.
|
|
11
|
+
*/
|
|
12
|
+
showContextMenu(e: Event): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview The interface for an object that supports a right-click.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The interface for an object that supports a right-click.
|
|
13
|
+
* @namespace Blockly.IContextMenu
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.IContextMenu');
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/** @alias Blockly.IContextMenu */
|
|
20
|
+
export interface IContextMenu {
|
|
21
|
+
/**
|
|
22
|
+
* Show the context menu for this object.
|
|
23
|
+
* @param e Mouse event.
|
|
24
|
+
*/
|
|
25
|
+
showContextMenu(e: Event): void;
|
|
26
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { WorkspaceSvg } from '../workspace_svg.js';
|
|
7
|
+
import type { ISelectable } from './i_selectable.js';
|
|
8
|
+
/** @alias Blockly.ICopyable */
|
|
9
|
+
export interface ICopyable extends ISelectable {
|
|
10
|
+
/**
|
|
11
|
+
* Encode for copying.
|
|
12
|
+
* @return Copy metadata.
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
toCopyData(): CopyData | null;
|
|
16
|
+
}
|
|
17
|
+
export declare namespace ICopyable {
|
|
18
|
+
interface CopyData {
|
|
19
|
+
saveInfo: Object | Element;
|
|
20
|
+
source: WorkspaceSvg;
|
|
21
|
+
typeCounts: Object | null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export declare type CopyData = ICopyable.CopyData;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview The interface for an object that is copyable.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The interface for an object that is copyable.
|
|
13
|
+
* @namespace Blockly.ICopyable
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.ICopyable');
|
|
17
|
+
|
|
18
|
+
import type {WorkspaceSvg} from '../workspace_svg.js';
|
|
19
|
+
import type {ISelectable} from './i_selectable.js';
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
/** @alias Blockly.ICopyable */
|
|
23
|
+
export interface ICopyable extends ISelectable {
|
|
24
|
+
/**
|
|
25
|
+
* Encode for copying.
|
|
26
|
+
* @return Copy metadata.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
toCopyData(): CopyData|null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export namespace ICopyable {
|
|
33
|
+
export interface CopyData {
|
|
34
|
+
saveInfo: Object|Element;
|
|
35
|
+
source: WorkspaceSvg;
|
|
36
|
+
typeCounts: Object|null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export type CopyData = ICopyable.CopyData;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The interface for an object that can be deleted.
|
|
8
|
+
* @alias Blockly.IDeletable
|
|
9
|
+
*/
|
|
10
|
+
export interface IDeletable {
|
|
11
|
+
/**
|
|
12
|
+
* Get whether this object is deletable or not.
|
|
13
|
+
* @return True if deletable.
|
|
14
|
+
*/
|
|
15
|
+
isDeletable(): boolean;
|
|
16
|
+
}
|
|
@@ -8,26 +8,22 @@
|
|
|
8
8
|
* @fileoverview The interface for an object that is deletable.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
11
|
/**
|
|
14
12
|
* The interface for an object that is deletable.
|
|
15
13
|
* @namespace Blockly.IDeletable
|
|
16
14
|
*/
|
|
17
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.IDeletable');
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
/**
|
|
21
20
|
* The interface for an object that can be deleted.
|
|
22
|
-
* @interface
|
|
23
21
|
* @alias Blockly.IDeletable
|
|
24
22
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
exports.IDeletable = IDeletable;
|
|
23
|
+
export interface IDeletable {
|
|
24
|
+
/**
|
|
25
|
+
* Get whether this object is deletable or not.
|
|
26
|
+
* @return True if deletable.
|
|
27
|
+
*/
|
|
28
|
+
isDeletable(): boolean;
|
|
29
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { IDragTarget } from './i_drag_target.js';
|
|
7
|
+
import type { IDraggable } from './i_draggable.js';
|
|
8
|
+
/**
|
|
9
|
+
* Interface for a component that can delete a block or bubble that is dropped
|
|
10
|
+
* on top of it.
|
|
11
|
+
* @alias Blockly.IDeleteArea
|
|
12
|
+
*/
|
|
13
|
+
export interface IDeleteArea extends IDragTarget {
|
|
14
|
+
/**
|
|
15
|
+
* Returns whether the provided block or bubble would be deleted if dropped on
|
|
16
|
+
* this area.
|
|
17
|
+
* This method should check if the element is deletable and is always called
|
|
18
|
+
* before onDragEnter/onDragOver/onDragExit.
|
|
19
|
+
* @param element The block or bubble currently being dragged.
|
|
20
|
+
* @param couldConnect Whether the element could could connect to another.
|
|
21
|
+
* @return Whether the element provided would be deleted if dropped on this
|
|
22
|
+
* area.
|
|
23
|
+
*/
|
|
24
|
+
wouldDelete(element: IDraggable, couldConnect: boolean): boolean;
|
|
25
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview The interface for a component that can delete a block or bubble
|
|
9
|
+
* that is dropped on top of it.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The interface for a component that can delete a block or bubble
|
|
14
|
+
* that is dropped on top of it.
|
|
15
|
+
* @namespace Blockly.IDeleteArea
|
|
16
|
+
*/
|
|
17
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.IDeleteArea');
|
|
19
|
+
|
|
20
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
21
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
22
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
23
|
+
// import './i_draggable.js';
|
|
24
|
+
|
|
25
|
+
import type {IDragTarget} from './i_drag_target.js';
|
|
26
|
+
import type {IDraggable} from './i_draggable.js';
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Interface for a component that can delete a block or bubble that is dropped
|
|
31
|
+
* on top of it.
|
|
32
|
+
* @alias Blockly.IDeleteArea
|
|
33
|
+
*/
|
|
34
|
+
export interface IDeleteArea extends IDragTarget {
|
|
35
|
+
/**
|
|
36
|
+
* Returns whether the provided block or bubble would be deleted if dropped on
|
|
37
|
+
* this area.
|
|
38
|
+
* This method should check if the element is deletable and is always called
|
|
39
|
+
* before onDragEnter/onDragOver/onDragExit.
|
|
40
|
+
* @param element The block or bubble currently being dragged.
|
|
41
|
+
* @param couldConnect Whether the element could could connect to another.
|
|
42
|
+
* @return Whether the element provided would be deleted if dropped on this
|
|
43
|
+
* area.
|
|
44
|
+
*/
|
|
45
|
+
wouldDelete(element: IDraggable, couldConnect: boolean): boolean;
|
|
46
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Rect } from '../utils/rect.js';
|
|
7
|
+
import { IDraggable } from './i_draggable.js';
|
|
8
|
+
import type { IComponent } from './i_component.js';
|
|
9
|
+
/**
|
|
10
|
+
* Interface for a component with custom behaviour when a block or bubble is
|
|
11
|
+
* dragged over or dropped on top of it.
|
|
12
|
+
* @alias Blockly.IDragTarget
|
|
13
|
+
*/
|
|
14
|
+
export interface IDragTarget extends IComponent {
|
|
15
|
+
/**
|
|
16
|
+
* Returns the bounding rectangle of the drag target area in pixel units
|
|
17
|
+
* relative to viewport.
|
|
18
|
+
* @return The component's bounding box. Null if drag target area should be
|
|
19
|
+
* ignored.
|
|
20
|
+
*/
|
|
21
|
+
getClientRect(): Rect | null;
|
|
22
|
+
/**
|
|
23
|
+
* Handles when a cursor with a block or bubble enters this drag target.
|
|
24
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
25
|
+
*/
|
|
26
|
+
onDragEnter(dragElement: IDraggable): void;
|
|
27
|
+
/**
|
|
28
|
+
* Handles when a cursor with a block or bubble is dragged over this drag
|
|
29
|
+
* target.
|
|
30
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
31
|
+
*/
|
|
32
|
+
onDragOver(dragElement: IDraggable): void;
|
|
33
|
+
/**
|
|
34
|
+
* Handles when a cursor with a block or bubble exits this drag target.
|
|
35
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
36
|
+
*/
|
|
37
|
+
onDragExit(dragElement: IDraggable): void;
|
|
38
|
+
/**
|
|
39
|
+
* Handles when a block or bubble is dropped on this component.
|
|
40
|
+
* Should not handle delete here.
|
|
41
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
42
|
+
*/
|
|
43
|
+
onDrop(dragElement: IDraggable): void;
|
|
44
|
+
/**
|
|
45
|
+
* Returns whether the provided block or bubble should not be moved after
|
|
46
|
+
* being dropped on this component. If true, the element will return to where
|
|
47
|
+
* it was when the drag started.
|
|
48
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
49
|
+
* @return Whether the block or bubble provided should be returned to drag
|
|
50
|
+
* start.
|
|
51
|
+
*/
|
|
52
|
+
shouldPreventMove(dragElement: IDraggable): boolean;
|
|
53
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview The interface for a component that has a handler for when a
|
|
9
|
+
* block is dropped on top of it.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The interface for a component that has a handler for when a
|
|
14
|
+
* block is dropped on top of it.
|
|
15
|
+
* @namespace Blockly.IDragTarget
|
|
16
|
+
*/
|
|
17
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
+
import {Rect} from '../utils/rect.js';
|
|
19
|
+
|
|
20
|
+
import {IDraggable} from './i_draggable.js';
|
|
21
|
+
|
|
22
|
+
goog.declareModuleId('Blockly.IDragTarget');
|
|
23
|
+
|
|
24
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
25
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
26
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
27
|
+
// import './i_draggable.js';
|
|
28
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
29
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
30
|
+
// import '../utils/rect.js';
|
|
31
|
+
|
|
32
|
+
import type {IComponent} from './i_component.js';
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Interface for a component with custom behaviour when a block or bubble is
|
|
37
|
+
* dragged over or dropped on top of it.
|
|
38
|
+
* @alias Blockly.IDragTarget
|
|
39
|
+
*/
|
|
40
|
+
export interface IDragTarget extends IComponent {
|
|
41
|
+
/**
|
|
42
|
+
* Returns the bounding rectangle of the drag target area in pixel units
|
|
43
|
+
* relative to viewport.
|
|
44
|
+
* @return The component's bounding box. Null if drag target area should be
|
|
45
|
+
* ignored.
|
|
46
|
+
*/
|
|
47
|
+
getClientRect(): Rect|null;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Handles when a cursor with a block or bubble enters this drag target.
|
|
51
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
52
|
+
*/
|
|
53
|
+
onDragEnter(dragElement: IDraggable): void;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Handles when a cursor with a block or bubble is dragged over this drag
|
|
57
|
+
* target.
|
|
58
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
59
|
+
*/
|
|
60
|
+
onDragOver(dragElement: IDraggable): void;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Handles when a cursor with a block or bubble exits this drag target.
|
|
64
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
65
|
+
*/
|
|
66
|
+
onDragExit(dragElement: IDraggable): void;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Handles when a block or bubble is dropped on this component.
|
|
70
|
+
* Should not handle delete here.
|
|
71
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
72
|
+
*/
|
|
73
|
+
onDrop(dragElement: IDraggable): void;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Returns whether the provided block or bubble should not be moved after
|
|
77
|
+
* being dropped on this component. If true, the element will return to where
|
|
78
|
+
* it was when the drag started.
|
|
79
|
+
* @param dragElement The block or bubble currently being dragged.
|
|
80
|
+
* @return Whether the block or bubble provided should be returned to drag
|
|
81
|
+
* start.
|
|
82
|
+
*/
|
|
83
|
+
shouldPreventMove(dragElement: IDraggable): boolean;
|
|
84
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { IDeletable } from './i_deletable.js';
|
|
7
|
+
/**
|
|
8
|
+
* The interface for an object that can be dragged.
|
|
9
|
+
* @alias Blockly.IDraggable
|
|
10
|
+
*/
|
|
11
|
+
export interface IDraggable extends IDeletable {
|
|
12
|
+
}
|
|
@@ -8,24 +8,18 @@
|
|
|
8
8
|
* @fileoverview The interface for an object that is draggable.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
11
|
/**
|
|
14
12
|
* The interface for an object that is draggable.
|
|
15
13
|
* @namespace Blockly.IDraggable
|
|
16
14
|
*/
|
|
17
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.IDraggable');
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
const {IDeletable} = goog.require('Blockly.IDeletable');
|
|
18
|
+
import type {IDeletable} from './i_deletable.js';
|
|
21
19
|
|
|
22
20
|
|
|
23
21
|
/**
|
|
24
22
|
* The interface for an object that can be dragged.
|
|
25
|
-
* @extends {IDeletable}
|
|
26
|
-
* @interface
|
|
27
23
|
* @alias Blockly.IDraggable
|
|
28
24
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
exports.IDraggable = IDraggable;
|
|
25
|
+
export interface IDraggable extends IDeletable {}
|