blockly 8.0.4-beta.0 → 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 +421 -421
- package/msg/ace.js +421 -421
- package/msg/af.js +421 -421
- package/msg/am.js +421 -421
- package/msg/ar.js +421 -421
- package/msg/ast.js +421 -421
- package/msg/az.js +421 -421
- package/msg/ba.js +421 -421
- package/msg/bcc.js +421 -421
- package/msg/be-tarask.js +421 -421
- package/msg/be.js +421 -421
- package/msg/bg.js +421 -421
- package/msg/bn.js +421 -421
- package/msg/br.js +421 -421
- package/msg/bs.js +421 -421
- package/msg/ca.js +421 -421
- package/msg/cdo.js +421 -421
- package/msg/cs.js +421 -421
- package/msg/da.js +421 -421
- package/msg/de.js +421 -421
- package/msg/diq.js +421 -421
- package/msg/dty.js +421 -421
- package/msg/ee.js +421 -421
- package/msg/el.js +421 -421
- package/msg/en-gb.js +421 -421
- package/msg/en.js +421 -421
- package/msg/eo.js +421 -421
- package/msg/es.js +421 -421
- package/msg/et.js +421 -421
- package/msg/eu.js +421 -421
- package/msg/fa.js +421 -421
- package/msg/fi.js +421 -421
- package/msg/fo.js +421 -421
- package/msg/fr.js +421 -421
- package/msg/frr.js +421 -421
- package/msg/gl.js +421 -421
- package/msg/gn.js +421 -421
- package/msg/gor.js +421 -421
- package/msg/ha.js +421 -421
- package/msg/hak.js +421 -421
- package/msg/he.js +421 -421
- package/msg/hi.js +421 -421
- package/msg/hr.js +421 -421
- package/msg/hrx.js +421 -421
- package/msg/hu.js +421 -421
- package/msg/hy.js +421 -421
- package/msg/ia.js +421 -421
- package/msg/id.js +421 -421
- package/msg/ig.js +421 -421
- package/msg/inh.js +421 -421
- package/msg/is.js +421 -421
- package/msg/it.js +421 -421
- package/msg/ja.js +421 -421
- package/msg/ka.js +421 -421
- package/msg/kab.js +421 -421
- package/msg/kbd-cyrl.js +421 -421
- package/msg/km.js +421 -421
- package/msg/kn.js +421 -421
- package/msg/ko.js +421 -421
- package/msg/ksh.js +421 -421
- package/msg/ku-latn.js +421 -421
- package/msg/ky.js +421 -421
- package/msg/la.js +421 -421
- package/msg/lb.js +421 -421
- package/msg/lki.js +421 -421
- package/msg/lo.js +421 -421
- package/msg/lrc.js +421 -421
- package/msg/lt.js +421 -421
- package/msg/lv.js +421 -421
- package/msg/mg.js +421 -421
- package/msg/mk.js +421 -421
- package/msg/ml.js +421 -421
- package/msg/mnw.js +421 -421
- package/msg/ms.js +421 -421
- package/msg/my.js +421 -421
- package/msg/mzn.js +421 -421
- package/msg/nb.js +421 -421
- package/msg/ne.js +421 -421
- package/msg/nl.js +421 -421
- package/msg/oc.js +421 -421
- package/msg/olo.js +421 -421
- package/msg/pa.js +421 -421
- package/msg/pl.js +421 -421
- package/msg/pms.js +421 -421
- package/msg/ps.js +421 -421
- package/msg/pt-br.js +421 -421
- package/msg/pt.js +421 -421
- package/msg/ro.js +421 -421
- package/msg/ru.js +421 -421
- package/msg/sc.js +421 -421
- package/msg/sco.js +421 -421
- package/msg/sd.js +421 -421
- package/msg/shn.js +421 -421
- package/msg/si.js +421 -421
- package/msg/sk.js +421 -421
- package/msg/skr-arab.js +421 -421
- package/msg/sl.js +421 -421
- package/msg/smn.js +421 -421
- package/msg/sq.js +421 -421
- package/msg/sr-latn.js +421 -421
- package/msg/sr.js +421 -421
- package/msg/sv.js +421 -421
- package/msg/sw.js +421 -421
- package/msg/ta.js +421 -421
- package/msg/tcy.js +421 -421
- package/msg/te.js +421 -421
- package/msg/th.js +421 -421
- package/msg/ti.js +421 -421
- package/msg/tl.js +421 -421
- package/msg/tlh.js +421 -421
- package/msg/tr.js +421 -421
- package/msg/ug-arab.js +421 -421
- package/msg/uk.js +421 -421
- package/msg/ur.js +421 -421
- package/msg/uz.js +421 -421
- package/msg/vi.js +421 -421
- package/msg/xmf.js +421 -421
- package/msg/yo.js +421 -421
- package/msg/yue.js +421 -421
- package/msg/zgh.js +421 -421
- package/msg/zh-hans.js +421 -421
- package/msg/zh-hant.js +421 -421
- 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
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
* possibly be connected to (i.e. not collapsed, etc).
|
|
10
10
|
* Sorted by y coordinate.
|
|
11
11
|
*/
|
|
12
|
-
'use strict';
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* A database of all the rendered connections that could
|
|
@@ -17,17 +16,16 @@
|
|
|
17
16
|
* Sorted by y coordinate.
|
|
18
17
|
* @class
|
|
19
18
|
*/
|
|
20
|
-
goog
|
|
19
|
+
import * as goog from '../closure/goog/goog.js';
|
|
20
|
+
goog.declareModuleId('Blockly.ConnectionDB');
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
/** @suppress {extraRequire} */
|
|
30
|
-
goog.require('Blockly.constants');
|
|
22
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
23
|
+
// import './constants.js';
|
|
24
|
+
|
|
25
|
+
import {ConnectionType} from './connection_type.js';
|
|
26
|
+
import type {IConnectionChecker} from './interfaces/i_connection_checker.js';
|
|
27
|
+
import type {RenderedConnection} from './rendered_connection.js';
|
|
28
|
+
import type {Coordinate} from './utils/coordinate.js';
|
|
31
29
|
|
|
32
30
|
|
|
33
31
|
/**
|
|
@@ -36,36 +34,23 @@ goog.require('Blockly.constants');
|
|
|
36
34
|
* connections in an area may be looked up quickly using a binary search.
|
|
37
35
|
* @alias Blockly.ConnectionDB
|
|
38
36
|
*/
|
|
39
|
-
class ConnectionDB {
|
|
37
|
+
export class ConnectionDB {
|
|
38
|
+
/** Array of connections sorted by y position in workspace units. */
|
|
39
|
+
private readonly connections_: RenderedConnection[] = [];
|
|
40
|
+
|
|
40
41
|
/**
|
|
41
|
-
* @param
|
|
42
|
-
*
|
|
43
|
-
* a drag.
|
|
42
|
+
* @param connectionChecker The workspace's connection type checker, used to
|
|
43
|
+
* decide if connections are valid during a drag.
|
|
44
44
|
*/
|
|
45
|
-
constructor(
|
|
46
|
-
/**
|
|
47
|
-
* Array of connections sorted by y position in workspace units.
|
|
48
|
-
* @type {!Array<!RenderedConnection>}
|
|
49
|
-
* @private
|
|
50
|
-
*/
|
|
51
|
-
this.connections_ = [];
|
|
52
|
-
/**
|
|
53
|
-
* The workspace's connection type checker, used to decide if connections
|
|
54
|
-
* are valid during a drag.
|
|
55
|
-
* @type {!IConnectionChecker}
|
|
56
|
-
* @private
|
|
57
|
-
*/
|
|
58
|
-
this.connectionChecker_ = checker;
|
|
59
|
-
}
|
|
45
|
+
constructor(private readonly connectionChecker: IConnectionChecker) {}
|
|
60
46
|
|
|
61
47
|
/**
|
|
62
48
|
* Add a connection to the database. Should not already exist in the database.
|
|
63
|
-
* @param
|
|
64
|
-
* @param
|
|
65
|
-
*
|
|
66
|
-
* @package
|
|
49
|
+
* @param connection The connection to be added.
|
|
50
|
+
* @param yPos The y position used to decide where to insert the connection.
|
|
51
|
+
* @internal
|
|
67
52
|
*/
|
|
68
|
-
addConnection(connection, yPos) {
|
|
53
|
+
addConnection(connection: RenderedConnection, yPos: number) {
|
|
69
54
|
const index = this.calculateIndexForYPos_(yPos);
|
|
70
55
|
this.connections_.splice(index, 0, connection);
|
|
71
56
|
}
|
|
@@ -75,14 +60,12 @@ class ConnectionDB {
|
|
|
75
60
|
*
|
|
76
61
|
* Starts by doing a binary search to find the approximate location, then
|
|
77
62
|
* linearly searches nearby for the exact connection.
|
|
78
|
-
* @param
|
|
79
|
-
* @param
|
|
80
|
-
*
|
|
81
|
-
* @return {number} The index of the connection, or -1 if the connection was
|
|
82
|
-
* not found.
|
|
83
|
-
* @private
|
|
63
|
+
* @param conn The connection to find.
|
|
64
|
+
* @param yPos The y position used to find the index of the connection.
|
|
65
|
+
* @return The index of the connection, or -1 if the connection was not found.
|
|
84
66
|
*/
|
|
85
|
-
findIndexOfConnection_(conn, yPos)
|
|
67
|
+
private findIndexOfConnection_(conn: RenderedConnection, yPos: number):
|
|
68
|
+
number {
|
|
86
69
|
if (!this.connections_.length) {
|
|
87
70
|
return -1;
|
|
88
71
|
}
|
|
@@ -116,12 +99,10 @@ class ConnectionDB {
|
|
|
116
99
|
|
|
117
100
|
/**
|
|
118
101
|
* Finds the correct index for the given y position.
|
|
119
|
-
* @param
|
|
120
|
-
*
|
|
121
|
-
* @return {number} The candidate index.
|
|
122
|
-
* @private
|
|
102
|
+
* @param yPos The y position used to decide where to insert the connection.
|
|
103
|
+
* @return The candidate index.
|
|
123
104
|
*/
|
|
124
|
-
calculateIndexForYPos_(yPos) {
|
|
105
|
+
private calculateIndexForYPos_(yPos: number): number {
|
|
125
106
|
if (!this.connections_.length) {
|
|
126
107
|
return 0;
|
|
127
108
|
}
|
|
@@ -143,12 +124,11 @@ class ConnectionDB {
|
|
|
143
124
|
|
|
144
125
|
/**
|
|
145
126
|
* Remove a connection from the database. Must already exist in DB.
|
|
146
|
-
* @param
|
|
147
|
-
* @param
|
|
148
|
-
* connection.
|
|
127
|
+
* @param connection The connection to be removed.
|
|
128
|
+
* @param yPos The y position used to find the index of the connection.
|
|
149
129
|
* @throws {Error} If the connection cannot be found in the database.
|
|
150
130
|
*/
|
|
151
|
-
removeConnection(connection, yPos) {
|
|
131
|
+
removeConnection(connection: RenderedConnection, yPos: number) {
|
|
152
132
|
const index = this.findIndexOfConnection_(connection, yPos);
|
|
153
133
|
if (index === -1) {
|
|
154
134
|
throw Error('Unable to find connection in connectionDB.');
|
|
@@ -159,12 +139,12 @@ class ConnectionDB {
|
|
|
159
139
|
/**
|
|
160
140
|
* Find all nearby connections to the given connection.
|
|
161
141
|
* Type checking does not apply, since this function is used for bumping.
|
|
162
|
-
* @param
|
|
163
|
-
*
|
|
164
|
-
* @
|
|
165
|
-
* @return {!Array<!RenderedConnection>} List of connections.
|
|
142
|
+
* @param connection The connection whose neighbours should be returned.
|
|
143
|
+
* @param maxRadius The maximum radius to another connection.
|
|
144
|
+
* @return List of connections.
|
|
166
145
|
*/
|
|
167
|
-
getNeighbours(connection, maxRadius)
|
|
146
|
+
getNeighbours(connection: RenderedConnection, maxRadius: number):
|
|
147
|
+
RenderedConnection[] {
|
|
168
148
|
const db = this.connections_;
|
|
169
149
|
const currentX = connection.x;
|
|
170
150
|
const currentY = connection.y;
|
|
@@ -182,16 +162,16 @@ class ConnectionDB {
|
|
|
182
162
|
pointerMid = Math.floor((pointerMin + pointerMax) / 2);
|
|
183
163
|
}
|
|
184
164
|
|
|
185
|
-
const neighbours = [];
|
|
165
|
+
const neighbours: RenderedConnection[] = [];
|
|
186
166
|
/**
|
|
187
167
|
* Computes if the current connection is within the allowed radius of
|
|
188
168
|
* another connection. This function is a closure and has access to outside
|
|
189
169
|
* variables.
|
|
190
|
-
* @param
|
|
191
|
-
* @return
|
|
192
|
-
*
|
|
170
|
+
* @param yIndex The other connection's index in the database.
|
|
171
|
+
* @return True if the current connection's vertical distance from the other
|
|
172
|
+
* connection is less than the allowed radius.
|
|
193
173
|
*/
|
|
194
|
-
function checkConnection_(yIndex) {
|
|
174
|
+
function checkConnection_(yIndex: number): boolean {
|
|
195
175
|
const dx = currentX - db[yIndex].x;
|
|
196
176
|
const dy = currentY - db[yIndex].y;
|
|
197
177
|
const r = Math.sqrt(dx * dx + dy * dy);
|
|
@@ -219,29 +199,28 @@ class ConnectionDB {
|
|
|
219
199
|
/**
|
|
220
200
|
* Is the candidate connection close to the reference connection.
|
|
221
201
|
* Extremely fast; only looks at Y distance.
|
|
222
|
-
* @param
|
|
223
|
-
* @param
|
|
224
|
-
* @param
|
|
225
|
-
* @return
|
|
226
|
-
* @private
|
|
202
|
+
* @param index Index in database of candidate connection.
|
|
203
|
+
* @param baseY Reference connection's Y value.
|
|
204
|
+
* @param maxRadius The maximum radius to another connection.
|
|
205
|
+
* @return True if connection is in range.
|
|
227
206
|
*/
|
|
228
|
-
isInYRange_(index, baseY, maxRadius)
|
|
229
|
-
|
|
207
|
+
private isInYRange_(index: number, baseY: number, maxRadius: number):
|
|
208
|
+
boolean {
|
|
209
|
+
return Math.abs(this.connections_[index].y - baseY) <= maxRadius;
|
|
230
210
|
}
|
|
231
211
|
|
|
232
212
|
/**
|
|
233
213
|
* Find the closest compatible connection to this connection.
|
|
234
|
-
* @param
|
|
235
|
-
*
|
|
236
|
-
* @param
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
* dragging).
|
|
240
|
-
* @return {!{connection: RenderedConnection, radius: number}}
|
|
241
|
-
* Contains two properties: 'connection' which is either another
|
|
214
|
+
* @param conn The connection searching for a compatible mate.
|
|
215
|
+
* @param maxRadius The maximum radius to another connection.
|
|
216
|
+
* @param dxy Offset between this connection's location in the database and
|
|
217
|
+
* the current location (as a result of dragging).
|
|
218
|
+
* @return Contains two properties: 'connection' which is either another
|
|
242
219
|
* connection or null, and 'radius' which is the distance.
|
|
243
220
|
*/
|
|
244
|
-
searchForClosest(
|
|
221
|
+
searchForClosest(
|
|
222
|
+
conn: RenderedConnection, maxRadius: number,
|
|
223
|
+
dxy: Coordinate): {connection: RenderedConnection|null, radius: number} {
|
|
245
224
|
if (!this.connections_.length) {
|
|
246
225
|
// Don't bother.
|
|
247
226
|
return {connection: null, radius: maxRadius};
|
|
@@ -267,7 +246,7 @@ class ConnectionDB {
|
|
|
267
246
|
let pointerMin = closestIndex - 1;
|
|
268
247
|
while (pointerMin >= 0 && this.isInYRange_(pointerMin, conn.y, maxRadius)) {
|
|
269
248
|
temp = this.connections_[pointerMin];
|
|
270
|
-
if (this.
|
|
249
|
+
if (this.connectionChecker.canConnect(conn, temp, true, bestRadius)) {
|
|
271
250
|
bestConnection = temp;
|
|
272
251
|
bestRadius = temp.distanceFrom(conn);
|
|
273
252
|
}
|
|
@@ -278,7 +257,7 @@ class ConnectionDB {
|
|
|
278
257
|
while (pointerMax < this.connections_.length &&
|
|
279
258
|
this.isInYRange_(pointerMax, conn.y, maxRadius)) {
|
|
280
259
|
temp = this.connections_[pointerMax];
|
|
281
|
-
if (this.
|
|
260
|
+
if (this.connectionChecker.canConnect(conn, temp, true, bestRadius)) {
|
|
282
261
|
bestConnection = temp;
|
|
283
262
|
bestRadius = temp.distanceFrom(conn);
|
|
284
263
|
}
|
|
@@ -288,19 +267,17 @@ class ConnectionDB {
|
|
|
288
267
|
// Reset the values of x and y.
|
|
289
268
|
conn.x = baseX;
|
|
290
269
|
conn.y = baseY;
|
|
291
|
-
|
|
292
270
|
// If there were no valid connections, bestConnection will be null.
|
|
293
271
|
return {connection: bestConnection, radius: bestRadius};
|
|
294
272
|
}
|
|
295
273
|
|
|
296
274
|
/**
|
|
297
275
|
* Initialize a set of connection DBs for a workspace.
|
|
298
|
-
* @param
|
|
299
|
-
*
|
|
300
|
-
*
|
|
301
|
-
* @return {!Array<!ConnectionDB>} Array of databases.
|
|
276
|
+
* @param checker The workspace's connection checker, used to decide if
|
|
277
|
+
* connections are valid during a drag.
|
|
278
|
+
* @return Array of databases.
|
|
302
279
|
*/
|
|
303
|
-
static init(checker) {
|
|
280
|
+
static init(checker: IConnectionChecker): ConnectionDB[] {
|
|
304
281
|
// Create four databases, one for each connection type.
|
|
305
282
|
const dbList = [];
|
|
306
283
|
dbList[ConnectionType.INPUT_VALUE] = new ConnectionDB(checker);
|
|
@@ -310,5 +287,3 @@ class ConnectionDB {
|
|
|
310
287
|
return dbList;
|
|
311
288
|
}
|
|
312
289
|
}
|
|
313
|
-
|
|
314
|
-
exports.ConnectionDB = ConnectionDB;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Enum for the type of a connection or input.
|
|
8
|
+
* @alias Blockly.ConnectionType
|
|
9
|
+
*/
|
|
10
|
+
export declare enum ConnectionType {
|
|
11
|
+
INPUT_VALUE = 1,
|
|
12
|
+
OUTPUT_VALUE = 2,
|
|
13
|
+
NEXT_STATEMENT = 3,
|
|
14
|
+
PREVIOUS_STATEMENT = 4
|
|
15
|
+
}
|
|
@@ -8,29 +8,25 @@
|
|
|
8
8
|
* @fileoverview An enum for the possible types of connections.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
11
|
/**
|
|
14
12
|
* An enum for the possible types of connections.
|
|
15
13
|
* @namespace Blockly.ConnectionType
|
|
16
14
|
*/
|
|
17
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.ConnectionType');
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
/**
|
|
21
20
|
* Enum for the type of a connection or input.
|
|
22
|
-
* @enum {number}
|
|
23
21
|
* @alias Blockly.ConnectionType
|
|
24
22
|
*/
|
|
25
|
-
|
|
23
|
+
export enum ConnectionType {
|
|
26
24
|
// A right-facing value input. E.g. 'set item to' or 'return'.
|
|
27
|
-
INPUT_VALUE
|
|
25
|
+
INPUT_VALUE = 1,
|
|
28
26
|
// A left-facing value output. E.g. 'random fraction'.
|
|
29
|
-
OUTPUT_VALUE
|
|
27
|
+
OUTPUT_VALUE,
|
|
30
28
|
// A down-facing block stack. E.g. 'if-do' or 'else'.
|
|
31
|
-
NEXT_STATEMENT
|
|
29
|
+
NEXT_STATEMENT,
|
|
32
30
|
// An up-facing block stack. E.g. 'break out of loop'.
|
|
33
|
-
PREVIOUS_STATEMENT
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
exports.ConnectionType = ConnectionType;
|
|
31
|
+
PREVIOUS_STATEMENT
|
|
32
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2016 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The language-neutral ID given to the collapsed input.
|
|
8
|
+
* @alias Blockly.constants.COLLAPSED_INPUT_NAME
|
|
9
|
+
*/
|
|
10
|
+
export declare const COLLAPSED_INPUT_NAME = "_TEMP_COLLAPSED_INPUT";
|
|
11
|
+
/**
|
|
12
|
+
* The language-neutral ID given to the collapsed field.
|
|
13
|
+
* @alias Blockly.constants.COLLAPSED_FIELD_NAME
|
|
14
|
+
*/
|
|
15
|
+
export declare const COLLAPSED_FIELD_NAME = "_TEMP_COLLAPSED_FIELD";
|
|
@@ -7,27 +7,23 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Blockly constants.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Blockly constants.
|
|
14
13
|
* @namespace Blockly.constants
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.constants');
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* The language-neutral ID given to the collapsed input.
|
|
21
|
-
* @const {string}
|
|
22
21
|
* @alias Blockly.constants.COLLAPSED_INPUT_NAME
|
|
23
22
|
*/
|
|
24
|
-
const COLLAPSED_INPUT_NAME = '_TEMP_COLLAPSED_INPUT';
|
|
25
|
-
exports.COLLAPSED_INPUT_NAME = COLLAPSED_INPUT_NAME;
|
|
23
|
+
export const COLLAPSED_INPUT_NAME = '_TEMP_COLLAPSED_INPUT';
|
|
26
24
|
|
|
27
25
|
/**
|
|
28
26
|
* The language-neutral ID given to the collapsed field.
|
|
29
|
-
* @const {string}
|
|
30
27
|
* @alias Blockly.constants.COLLAPSED_FIELD_NAME
|
|
31
28
|
*/
|
|
32
|
-
const COLLAPSED_FIELD_NAME = '_TEMP_COLLAPSED_FIELD';
|
|
33
|
-
exports.COLLAPSED_FIELD_NAME = COLLAPSED_FIELD_NAME;
|
|
29
|
+
export const COLLAPSED_FIELD_NAME = '_TEMP_COLLAPSED_FIELD';
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2011 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from './block.js';
|
|
7
|
+
import type { ContextMenuOption, LegacyContextMenuOption } from './contextmenu_registry.js';
|
|
8
|
+
import { WorkspaceCommentSvg } from './workspace_comment_svg.js';
|
|
9
|
+
import type { WorkspaceSvg } from './workspace_svg.js';
|
|
10
|
+
/**
|
|
11
|
+
* Gets the block the context menu is currently attached to.
|
|
12
|
+
* @return The block the context menu is attached to.
|
|
13
|
+
* @alias Blockly.ContextMenu.getCurrentBlock
|
|
14
|
+
*/
|
|
15
|
+
export declare function getCurrentBlock(): Block | null;
|
|
16
|
+
/**
|
|
17
|
+
* Sets the block the context menu is currently attached to.
|
|
18
|
+
* @param block The block the context menu is attached to.
|
|
19
|
+
* @alias Blockly.ContextMenu.setCurrentBlock
|
|
20
|
+
*/
|
|
21
|
+
export declare function setCurrentBlock(block: Block | null): void;
|
|
22
|
+
/**
|
|
23
|
+
* Construct the menu based on the list of options and show the menu.
|
|
24
|
+
* @param e Mouse event.
|
|
25
|
+
* @param options Array of menu options.
|
|
26
|
+
* @param rtl True if RTL, false if LTR.
|
|
27
|
+
* @alias Blockly.ContextMenu.show
|
|
28
|
+
*/
|
|
29
|
+
export declare function show(e: Event, options: (ContextMenuOption | LegacyContextMenuOption)[], rtl: boolean): void;
|
|
30
|
+
/**
|
|
31
|
+
* Hide the context menu.
|
|
32
|
+
* @alias Blockly.ContextMenu.hide
|
|
33
|
+
*/
|
|
34
|
+
export declare function hide(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Dispose of the menu.
|
|
37
|
+
* @alias Blockly.ContextMenu.dispose
|
|
38
|
+
*/
|
|
39
|
+
export declare function dispose(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Create a callback function that creates and configures a block,
|
|
42
|
+
* then places the new block next to the original.
|
|
43
|
+
* @param block Original block.
|
|
44
|
+
* @param xml XML representation of new block.
|
|
45
|
+
* @return Function that creates a block.
|
|
46
|
+
* @alias Blockly.ContextMenu.callbackFactory
|
|
47
|
+
*/
|
|
48
|
+
export declare function callbackFactory(block: Block, xml: Element): Function;
|
|
49
|
+
/**
|
|
50
|
+
* Make a context menu option for deleting the current workspace comment.
|
|
51
|
+
* @param comment The workspace comment where the
|
|
52
|
+
* right-click originated.
|
|
53
|
+
* @return A menu option,
|
|
54
|
+
* containing text, enabled, and a callback.
|
|
55
|
+
* @alias Blockly.ContextMenu.commentDeleteOption
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
export declare function commentDeleteOption(comment: WorkspaceCommentSvg): LegacyContextMenuOption;
|
|
59
|
+
/**
|
|
60
|
+
* Make a context menu option for duplicating the current workspace comment.
|
|
61
|
+
* @param comment The workspace comment where the
|
|
62
|
+
* right-click originated.
|
|
63
|
+
* @return A menu option,
|
|
64
|
+
* containing text, enabled, and a callback.
|
|
65
|
+
* @alias Blockly.ContextMenu.commentDuplicateOption
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
export declare function commentDuplicateOption(comment: WorkspaceCommentSvg): LegacyContextMenuOption;
|
|
69
|
+
/**
|
|
70
|
+
* Make a context menu option for adding a comment on the workspace.
|
|
71
|
+
* @param ws The workspace where the right-click
|
|
72
|
+
* originated.
|
|
73
|
+
* @param e The right-click mouse event.
|
|
74
|
+
* @return A menu option, containing text, enabled, and a callback.
|
|
75
|
+
* @suppress {strictModuleDepCheck,checkTypes} Suppress checks while workspace
|
|
76
|
+
* comments are not bundled in.
|
|
77
|
+
* @alias Blockly.ContextMenu.workspaceCommentOption
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
80
|
+
export declare function workspaceCommentOption(ws: WorkspaceSvg, e: Event): ContextMenuOption;
|