blockly 8.20220331.0-beta.1 → 9.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2004 -2269
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +7 -6
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +10 -3
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -720
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +31 -44
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +35 -48
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/{input.js → input.ts} +96 -119
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +234 -227
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -4
- package/core.js +1 -2
- package/dart.d.ts +1 -4
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +3 -11
- package/javascript.d.ts +1 -4
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +1 -4
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +10 -6
- package/msg/ace.js +10 -6
- package/msg/af.js +10 -6
- package/msg/am.js +10 -6
- package/msg/ar.js +10 -6
- package/msg/ast.js +10 -6
- package/msg/az.js +12 -8
- package/msg/ba.js +10 -6
- package/msg/bcc.js +10 -6
- package/msg/be-tarask.js +10 -6
- package/msg/be.js +14 -10
- package/msg/bg.js +10 -6
- package/msg/bn.js +10 -6
- package/msg/br.js +10 -6
- package/msg/bs.js +10 -6
- package/msg/ca.js +10 -6
- package/msg/cdo.js +10 -6
- package/msg/cs.js +25 -21
- package/msg/da.js +10 -6
- package/msg/de.js +11 -7
- package/msg/diq.js +11 -7
- package/msg/dty.js +10 -6
- package/msg/ee.js +10 -6
- package/msg/el.js +10 -6
- package/msg/en-gb.js +10 -6
- package/msg/en.js +10 -6
- package/msg/eo.js +11 -7
- package/msg/es.js +11 -7
- package/msg/et.js +10 -6
- package/msg/eu.js +10 -6
- package/msg/fa.js +11 -7
- package/msg/fi.js +10 -6
- package/msg/fo.js +10 -6
- package/msg/fr.js +14 -10
- package/msg/frr.js +10 -6
- package/msg/gl.js +10 -6
- package/msg/gn.js +10 -6
- package/msg/gor.js +10 -6
- package/msg/ha.js +10 -6
- package/msg/hak.js +10 -6
- package/msg/he.js +11 -7
- package/msg/hi.js +10 -6
- package/msg/hr.js +12 -8
- package/msg/hrx.js +10 -6
- package/msg/hu.js +10 -6
- package/msg/hy.js +12 -8
- package/msg/ia.js +10 -6
- package/msg/id.js +22 -18
- package/msg/ig.js +10 -6
- package/msg/inh.js +24 -20
- package/msg/is.js +10 -6
- package/msg/it.js +10 -6
- package/msg/ja.js +17 -13
- package/msg/ka.js +10 -6
- package/msg/kab.js +10 -6
- package/msg/kbd-cyrl.js +10 -6
- package/msg/km.js +10 -6
- package/msg/kn.js +10 -6
- package/msg/ko.js +10 -6
- package/msg/ksh.js +10 -6
- package/msg/ku-latn.js +10 -6
- package/msg/ky.js +10 -6
- package/msg/la.js +10 -6
- package/msg/lb.js +10 -6
- package/msg/lki.js +10 -6
- package/msg/lo.js +10 -6
- package/msg/lrc.js +10 -6
- package/msg/lt.js +10 -6
- package/msg/lv.js +39 -35
- package/msg/mg.js +10 -6
- package/msg/mk.js +10 -6
- package/msg/ml.js +10 -6
- package/msg/mnw.js +10 -6
- package/msg/ms.js +10 -6
- package/msg/my.js +10 -6
- package/msg/mzn.js +10 -6
- package/msg/nb.js +10 -6
- package/msg/ne.js +10 -6
- package/msg/nl.js +10 -6
- package/msg/oc.js +10 -6
- package/msg/olo.js +10 -6
- package/msg/pa.js +13 -9
- package/msg/pl.js +10 -6
- package/msg/pms.js +10 -6
- package/msg/ps.js +10 -6
- package/msg/pt-br.js +10 -6
- package/msg/pt.js +10 -6
- package/msg/ro.js +10 -6
- package/msg/ru.js +10 -6
- package/msg/sc.js +10 -6
- package/msg/sco.js +10 -6
- package/msg/sd.js +10 -6
- package/msg/shn.js +10 -6
- package/msg/si.js +10 -6
- package/msg/sk.js +10 -6
- package/msg/skr-arab.js +10 -6
- package/msg/sl.js +10 -6
- package/msg/smn.js +440 -0
- package/msg/sq.js +10 -6
- package/msg/sr-latn.js +10 -6
- package/msg/sr.js +10 -6
- package/msg/sv.js +10 -6
- package/msg/sw.js +10 -6
- package/msg/ta.js +10 -6
- package/msg/tcy.js +10 -6
- package/msg/te.js +11 -7
- package/msg/th.js +10 -6
- package/msg/ti.js +10 -6
- package/msg/tl.js +10 -6
- package/msg/tlh.js +10 -6
- package/msg/tr.js +10 -6
- package/msg/ug-arab.js +10 -6
- package/msg/uk.js +10 -6
- package/msg/ur.js +10 -6
- package/msg/uz.js +10 -6
- package/msg/vi.js +10 -6
- package/msg/xmf.js +10 -6
- package/msg/yo.js +10 -6
- package/msg/yue.js +11 -7
- package/msg/zgh.js +10 -6
- package/msg/zh-hans.js +13 -9
- package/msg/zh-hant.js +13 -9
- package/package.json +5 -5
- package/php.d.ts +1 -4
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +1 -4
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -25607
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -289
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -7,104 +7,75 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Object representing an input (value, statement, or dummy).
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Object representing an input (value, statement, or dummy).
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Input');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
|
|
21
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
22
|
-
const {Block} = goog.requireType('Blockly.Block');
|
|
23
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
24
|
-
const {Connection} = goog.requireType('Blockly.Connection');
|
|
25
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
26
|
-
const {Field} = goog.requireType('Blockly.Field');
|
|
27
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
28
|
-
const {RenderedConnection} = goog.requireType('Blockly.RenderedConnection');
|
|
29
|
-
const {inputTypes} = goog.require('Blockly.inputTypes');
|
|
30
|
-
/** @suppress {extraRequire} */
|
|
31
|
-
goog.require('Blockly.FieldLabel');
|
|
18
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
19
|
+
import './field_label.js';
|
|
32
20
|
|
|
21
|
+
import type {Block} from './block.js';
|
|
22
|
+
import type {BlockSvg} from './block_svg.js';
|
|
23
|
+
import type {Connection} from './connection.js';
|
|
24
|
+
import type {Field} from './field.js';
|
|
25
|
+
import * as fieldRegistry from './field_registry.js';
|
|
26
|
+
import {inputTypes} from './input_types.js';
|
|
27
|
+
import type {RenderedConnection} from './rendered_connection.js';
|
|
33
28
|
|
|
34
|
-
/**
|
|
35
|
-
* Enum for alignment of inputs.
|
|
36
|
-
* @enum {number}
|
|
37
|
-
* @alias Blockly.Input.Align
|
|
38
|
-
*/
|
|
39
|
-
const Align = {
|
|
40
|
-
LEFT: -1,
|
|
41
|
-
CENTRE: 0,
|
|
42
|
-
RIGHT: 1,
|
|
43
|
-
};
|
|
44
|
-
exports.Align = Align;
|
|
45
29
|
|
|
46
30
|
/**
|
|
47
31
|
* Class for an input with an optional field.
|
|
48
32
|
* @alias Blockly.Input
|
|
49
33
|
*/
|
|
50
|
-
class Input {
|
|
34
|
+
export class Input {
|
|
35
|
+
private sourceBlock_: Block;
|
|
36
|
+
fieldRow: Field[] = [];
|
|
37
|
+
align: Align;
|
|
38
|
+
|
|
39
|
+
/** Is the input visible? */
|
|
40
|
+
private visible_ = true;
|
|
41
|
+
|
|
51
42
|
/**
|
|
52
|
-
* @param
|
|
53
|
-
* @param
|
|
54
|
-
*
|
|
55
|
-
* @param
|
|
56
|
-
* @param
|
|
43
|
+
* @param type The type of the input.
|
|
44
|
+
* @param name Language-neutral identifier which may used to find this input
|
|
45
|
+
* again.
|
|
46
|
+
* @param block The block containing this input.
|
|
47
|
+
* @param connection Optional connection for this input.
|
|
57
48
|
*/
|
|
58
|
-
constructor(
|
|
49
|
+
constructor(
|
|
50
|
+
public type: number, public name: string, block: Block,
|
|
51
|
+
public connection: Connection|null) {
|
|
59
52
|
if (type !== inputTypes.DUMMY && !name) {
|
|
60
53
|
throw Error(
|
|
61
54
|
'Value inputs and statement inputs must have non-empty name.');
|
|
62
55
|
}
|
|
63
|
-
/** @type {number} */
|
|
64
|
-
this.type = type;
|
|
65
|
-
/** @type {string} */
|
|
66
|
-
this.name = name;
|
|
67
|
-
/**
|
|
68
|
-
* @type {!Block}
|
|
69
|
-
* @private
|
|
70
|
-
*/
|
|
71
56
|
this.sourceBlock_ = block;
|
|
72
|
-
/** @type {Connection} */
|
|
73
|
-
this.connection = connection;
|
|
74
|
-
/** @type {!Array<!Field>} */
|
|
75
|
-
this.fieldRow = [];
|
|
76
57
|
|
|
77
|
-
/**
|
|
78
|
-
* Alignment of input's fields (left, right or centre).
|
|
79
|
-
* @type {number}
|
|
80
|
-
*/
|
|
58
|
+
/** Alignment of input's fields (left, right or centre). */
|
|
81
59
|
this.align = Align.LEFT;
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Is the input visible?
|
|
85
|
-
* @type {boolean}
|
|
86
|
-
* @private
|
|
87
|
-
*/
|
|
88
|
-
this.visible_ = true;
|
|
89
60
|
}
|
|
90
61
|
|
|
91
62
|
/**
|
|
92
63
|
* Get the source block for this input.
|
|
93
|
-
* @return
|
|
64
|
+
* @return The source block, or null if there is none.
|
|
94
65
|
*/
|
|
95
|
-
getSourceBlock() {
|
|
66
|
+
getSourceBlock(): Block {
|
|
96
67
|
return this.sourceBlock_;
|
|
97
68
|
}
|
|
98
69
|
|
|
99
70
|
/**
|
|
100
71
|
* Add a field (or label from string), and all prefix and suffix fields, to
|
|
101
72
|
* the end of the input's field row.
|
|
102
|
-
* @param
|
|
103
|
-
* @param
|
|
104
|
-
*
|
|
105
|
-
* @return
|
|
73
|
+
* @param field Something to add as a field.
|
|
74
|
+
* @param opt_name Language-neutral identifier which may used to find this
|
|
75
|
+
* field again. Should be unique to the host block.
|
|
76
|
+
* @return The input being append to (to allow chaining).
|
|
106
77
|
*/
|
|
107
|
-
appendField(field, opt_name) {
|
|
78
|
+
appendField(field: string|Field, opt_name?: string): Input {
|
|
108
79
|
this.insertFieldAt(this.fieldRow.length, field, opt_name);
|
|
109
80
|
return this;
|
|
110
81
|
}
|
|
@@ -112,13 +83,13 @@ class Input {
|
|
|
112
83
|
/**
|
|
113
84
|
* Inserts a field (or label from string), and all prefix and suffix fields,
|
|
114
85
|
* at the location of the input's field row.
|
|
115
|
-
* @param
|
|
116
|
-
* @param
|
|
117
|
-
* @param
|
|
118
|
-
*
|
|
119
|
-
* @return
|
|
86
|
+
* @param index The index at which to insert field.
|
|
87
|
+
* @param field Something to add as a field.
|
|
88
|
+
* @param opt_name Language-neutral identifier which may used to find this
|
|
89
|
+
* field again. Should be unique to the host block.
|
|
90
|
+
* @return The index following the last inserted field.
|
|
120
91
|
*/
|
|
121
|
-
insertFieldAt(index, field, opt_name) {
|
|
92
|
+
insertFieldAt(index: number, field: string|Field, opt_name?: string): number {
|
|
122
93
|
if (index < 0 || index > this.fieldRow.length) {
|
|
123
94
|
throw Error('index ' + index + ' out of bounds.');
|
|
124
95
|
}
|
|
@@ -130,10 +101,10 @@ class Input {
|
|
|
130
101
|
|
|
131
102
|
// Generate a FieldLabel when given a plain text field.
|
|
132
103
|
if (typeof field === 'string') {
|
|
133
|
-
field =
|
|
104
|
+
field = fieldRegistry.fromJson({
|
|
134
105
|
'type': 'field_label',
|
|
135
106
|
'text': field,
|
|
136
|
-
})
|
|
107
|
+
}) as Field;
|
|
137
108
|
}
|
|
138
109
|
|
|
139
110
|
field.setSourceBlock(this.sourceBlock_);
|
|
@@ -157,8 +128,7 @@ class Input {
|
|
|
157
128
|
}
|
|
158
129
|
|
|
159
130
|
if (this.sourceBlock_.rendered) {
|
|
160
|
-
this.sourceBlock_
|
|
161
|
-
this.sourceBlock_.render();
|
|
131
|
+
(this.sourceBlock_ as BlockSvg).render();
|
|
162
132
|
// Adding a field will cause the block to change shape.
|
|
163
133
|
this.sourceBlock_.bumpNeighbours();
|
|
164
134
|
}
|
|
@@ -167,21 +137,19 @@ class Input {
|
|
|
167
137
|
|
|
168
138
|
/**
|
|
169
139
|
* Remove a field from this input.
|
|
170
|
-
* @param
|
|
171
|
-
* @param
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
* and opt_quiet is true.
|
|
140
|
+
* @param name The name of the field.
|
|
141
|
+
* @param opt_quiet True to prevent an error if field is not present.
|
|
142
|
+
* @return True if operation succeeds, false if field is not present and
|
|
143
|
+
* opt_quiet is true.
|
|
175
144
|
* @throws {Error} if the field is not present and opt_quiet is false.
|
|
176
145
|
*/
|
|
177
|
-
removeField(name, opt_quiet) {
|
|
178
|
-
for (let i = 0, field;
|
|
146
|
+
removeField(name: string, opt_quiet?: boolean): boolean {
|
|
147
|
+
for (let i = 0, field; field = this.fieldRow[i]; i++) {
|
|
179
148
|
if (field.name === name) {
|
|
180
149
|
field.dispose();
|
|
181
150
|
this.fieldRow.splice(i, 1);
|
|
182
151
|
if (this.sourceBlock_.rendered) {
|
|
183
|
-
this.sourceBlock_
|
|
184
|
-
this.sourceBlock_.render();
|
|
152
|
+
(this.sourceBlock_ as BlockSvg).render();
|
|
185
153
|
// Removing a field will cause the block to change shape.
|
|
186
154
|
this.sourceBlock_.bumpNeighbours();
|
|
187
155
|
}
|
|
@@ -196,42 +164,41 @@ class Input {
|
|
|
196
164
|
|
|
197
165
|
/**
|
|
198
166
|
* Gets whether this input is visible or not.
|
|
199
|
-
* @return
|
|
167
|
+
* @return True if visible.
|
|
200
168
|
*/
|
|
201
|
-
isVisible() {
|
|
169
|
+
isVisible(): boolean {
|
|
202
170
|
return this.visible_;
|
|
203
171
|
}
|
|
204
172
|
|
|
205
173
|
/**
|
|
206
174
|
* Sets whether this input is visible or not.
|
|
207
175
|
* Should only be used to collapse/uncollapse a block.
|
|
208
|
-
* @param
|
|
209
|
-
* @return
|
|
210
|
-
* @
|
|
176
|
+
* @param visible True if visible.
|
|
177
|
+
* @return List of blocks to render.
|
|
178
|
+
* @internal
|
|
211
179
|
*/
|
|
212
|
-
setVisible(visible) {
|
|
180
|
+
setVisible(visible: boolean): BlockSvg[] {
|
|
213
181
|
// Note: Currently there are only unit tests for block.setCollapsed()
|
|
214
182
|
// because this function is package. If this function goes back to being a
|
|
215
183
|
// public API tests (lots of tests) should be added.
|
|
216
|
-
let renderList = [];
|
|
184
|
+
let renderList: AnyDuringMigration[] = [];
|
|
217
185
|
if (this.visible_ === visible) {
|
|
218
186
|
return renderList;
|
|
219
187
|
}
|
|
220
188
|
this.visible_ = visible;
|
|
221
189
|
|
|
222
|
-
for (let y = 0, field;
|
|
190
|
+
for (let y = 0, field; field = this.fieldRow[y]; y++) {
|
|
223
191
|
field.setVisible(visible);
|
|
224
192
|
}
|
|
225
193
|
if (this.connection) {
|
|
226
|
-
this.connection
|
|
227
|
-
/** @type {!RenderedConnection} */ (this.connection);
|
|
194
|
+
const renderedConnection = this.connection as RenderedConnection;
|
|
228
195
|
// Has a connection.
|
|
229
196
|
if (visible) {
|
|
230
|
-
renderList =
|
|
197
|
+
renderList = renderedConnection.startTrackingAll();
|
|
231
198
|
} else {
|
|
232
|
-
|
|
199
|
+
renderedConnection.stopTrackingAll();
|
|
233
200
|
}
|
|
234
|
-
const child =
|
|
201
|
+
const child = renderedConnection.targetBlock();
|
|
235
202
|
if (child) {
|
|
236
203
|
child.getSvgRoot().style.display = visible ? 'block' : 'none';
|
|
237
204
|
}
|
|
@@ -241,21 +208,21 @@ class Input {
|
|
|
241
208
|
|
|
242
209
|
/**
|
|
243
210
|
* Mark all fields on this input as dirty.
|
|
244
|
-
* @
|
|
211
|
+
* @internal
|
|
245
212
|
*/
|
|
246
213
|
markDirty() {
|
|
247
|
-
for (let y = 0, field;
|
|
214
|
+
for (let y = 0, field; field = this.fieldRow[y]; y++) {
|
|
248
215
|
field.markDirty();
|
|
249
216
|
}
|
|
250
217
|
}
|
|
251
218
|
|
|
252
219
|
/**
|
|
253
220
|
* Change a connection's compatibility.
|
|
254
|
-
* @param
|
|
255
|
-
*
|
|
256
|
-
* @return
|
|
221
|
+
* @param check Compatible value type or list of value types. Null if all
|
|
222
|
+
* types are compatible.
|
|
223
|
+
* @return The input being modified (to allow chaining).
|
|
257
224
|
*/
|
|
258
|
-
setCheck(check) {
|
|
225
|
+
setCheck(check: string|string[]|null): Input {
|
|
259
226
|
if (!this.connection) {
|
|
260
227
|
throw Error('This input does not have a connection.');
|
|
261
228
|
}
|
|
@@ -265,25 +232,25 @@ class Input {
|
|
|
265
232
|
|
|
266
233
|
/**
|
|
267
234
|
* Change the alignment of the connection's field(s).
|
|
268
|
-
* @param
|
|
269
|
-
*
|
|
270
|
-
* @return
|
|
235
|
+
* @param align One of the values of Align. In RTL mode directions
|
|
236
|
+
* are reversed, and Align.RIGHT aligns to the left.
|
|
237
|
+
* @return The input being modified (to allow chaining).
|
|
271
238
|
*/
|
|
272
|
-
setAlign(align) {
|
|
239
|
+
setAlign(align: Align): Input {
|
|
273
240
|
this.align = align;
|
|
274
241
|
if (this.sourceBlock_.rendered) {
|
|
275
|
-
this.sourceBlock_
|
|
276
|
-
|
|
242
|
+
const sourceBlock = this.sourceBlock_ as BlockSvg;
|
|
243
|
+
sourceBlock.render();
|
|
277
244
|
}
|
|
278
245
|
return this;
|
|
279
246
|
}
|
|
280
247
|
|
|
281
248
|
/**
|
|
282
249
|
* Changes the connection's shadow block.
|
|
283
|
-
* @param
|
|
284
|
-
* @return
|
|
250
|
+
* @param shadow DOM representation of a block or null.
|
|
251
|
+
* @return The input being modified (to allow chaining).
|
|
285
252
|
*/
|
|
286
|
-
setShadowDom(shadow) {
|
|
253
|
+
setShadowDom(shadow: Element|null): Input {
|
|
287
254
|
if (!this.connection) {
|
|
288
255
|
throw Error('This input does not have a connection.');
|
|
289
256
|
}
|
|
@@ -293,18 +260,16 @@ class Input {
|
|
|
293
260
|
|
|
294
261
|
/**
|
|
295
262
|
* Returns the XML representation of the connection's shadow block.
|
|
296
|
-
* @return
|
|
263
|
+
* @return Shadow DOM representation of a block or null.
|
|
297
264
|
*/
|
|
298
|
-
getShadowDom() {
|
|
265
|
+
getShadowDom(): Element|null {
|
|
299
266
|
if (!this.connection) {
|
|
300
267
|
throw Error('This input does not have a connection.');
|
|
301
268
|
}
|
|
302
269
|
return this.connection.getShadowDom();
|
|
303
270
|
}
|
|
304
271
|
|
|
305
|
-
/**
|
|
306
|
-
* Initialize the fields on this input.
|
|
307
|
-
*/
|
|
272
|
+
/** Initialize the fields on this input. */
|
|
308
273
|
init() {
|
|
309
274
|
if (!this.sourceBlock_.workspace.rendered) {
|
|
310
275
|
return; // Headless blocks don't need fields initialized.
|
|
@@ -319,14 +284,26 @@ class Input {
|
|
|
319
284
|
* @suppress {checkTypes}
|
|
320
285
|
*/
|
|
321
286
|
dispose() {
|
|
322
|
-
for (let i = 0, field;
|
|
287
|
+
for (let i = 0, field; field = this.fieldRow[i]; i++) {
|
|
323
288
|
field.dispose();
|
|
324
289
|
}
|
|
325
290
|
if (this.connection) {
|
|
326
291
|
this.connection.dispose();
|
|
327
292
|
}
|
|
328
|
-
this.sourceBlock_ = null;
|
|
329
293
|
}
|
|
330
294
|
}
|
|
331
295
|
|
|
332
|
-
|
|
296
|
+
export namespace Input {
|
|
297
|
+
/**
|
|
298
|
+
* Enum for alignment of inputs.
|
|
299
|
+
* @alias Blockly.Input.Align
|
|
300
|
+
*/
|
|
301
|
+
export enum Align {
|
|
302
|
+
LEFT = -1,
|
|
303
|
+
CENTRE = 0,
|
|
304
|
+
RIGHT = 1,
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
export type Align = Input.Align;
|
|
309
|
+
export const Align = Input.Align;
|
|
@@ -0,0 +1,14 @@
|
|
|
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.inputTypes
|
|
9
|
+
*/
|
|
10
|
+
export declare enum inputTypes {
|
|
11
|
+
VALUE = 1,
|
|
12
|
+
STATEMENT = 3,
|
|
13
|
+
DUMMY = 5
|
|
14
|
+
}
|
|
@@ -8,29 +8,25 @@
|
|
|
8
8
|
* @fileoverview An enum for the possible types of inputs.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
11
|
/**
|
|
14
12
|
* An enum for the possible types of inputs.
|
|
15
13
|
* @namespace Blockly.inputTypes
|
|
16
14
|
*/
|
|
17
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.inputTypes');
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
import {ConnectionType} from './connection_type.js';
|
|
20
19
|
|
|
21
20
|
|
|
22
21
|
/**
|
|
23
22
|
* Enum for the type of a connection or input.
|
|
24
|
-
* @enum {number}
|
|
25
23
|
* @alias Blockly.inputTypes
|
|
26
24
|
*/
|
|
27
|
-
|
|
25
|
+
export enum inputTypes {
|
|
28
26
|
// A right-facing value input. E.g. 'set item to' or 'return'.
|
|
29
|
-
VALUE
|
|
27
|
+
VALUE = ConnectionType.INPUT_VALUE,
|
|
30
28
|
// A down-facing block stack. E.g. 'if-do' or 'else'.
|
|
31
|
-
STATEMENT
|
|
29
|
+
STATEMENT = ConnectionType.NEXT_STATEMENT,
|
|
32
30
|
// A dummy input. Used to add field(s) with no input.
|
|
33
|
-
DUMMY
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
exports.inputTypes = inputTypes;
|
|
31
|
+
DUMMY = 5
|
|
32
|
+
}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { BlockSvg } from './block_svg.js';
|
|
7
|
+
import type { IDragTarget } from './interfaces/i_drag_target.js';
|
|
8
|
+
import type { Coordinate } from './utils/coordinate.js';
|
|
9
|
+
/**
|
|
10
|
+
* Class that controls updates to connections during drags. It is primarily
|
|
11
|
+
* responsible for finding the closest eligible connection and highlighting or
|
|
12
|
+
* unhighlighting it as needed during a drag.
|
|
13
|
+
* @alias Blockly.InsertionMarkerManager
|
|
14
|
+
*/
|
|
15
|
+
export declare class InsertionMarkerManager {
|
|
16
|
+
private readonly topBlock_;
|
|
17
|
+
private readonly workspace_;
|
|
18
|
+
/**
|
|
19
|
+
* The last connection on the stack, if it's not the last connection on the
|
|
20
|
+
* first block.
|
|
21
|
+
* Set in initAvailableConnections, if at all.
|
|
22
|
+
*/
|
|
23
|
+
private lastOnStack_;
|
|
24
|
+
/**
|
|
25
|
+
* The insertion marker corresponding to the last block in the stack, if
|
|
26
|
+
* that's not the same as the first block in the stack.
|
|
27
|
+
* Set in initAvailableConnections, if at all
|
|
28
|
+
*/
|
|
29
|
+
private lastMarker_;
|
|
30
|
+
private firstMarker_;
|
|
31
|
+
/**
|
|
32
|
+
* The connection that this block would connect to if released immediately.
|
|
33
|
+
* Updated on every mouse move.
|
|
34
|
+
* This is not on any of the blocks that are being dragged.
|
|
35
|
+
*/
|
|
36
|
+
private closestConnection_;
|
|
37
|
+
/**
|
|
38
|
+
* The connection that would connect to this.closestConnection_ if this
|
|
39
|
+
* block were released immediately. Updated on every mouse move. This is on
|
|
40
|
+
* the top block that is being dragged or the last block in the dragging
|
|
41
|
+
* stack.
|
|
42
|
+
*/
|
|
43
|
+
private localConnection_;
|
|
44
|
+
/**
|
|
45
|
+
* Whether the block would be deleted if it were dropped immediately.
|
|
46
|
+
* Updated on every mouse move.
|
|
47
|
+
*/
|
|
48
|
+
private wouldDeleteBlock_;
|
|
49
|
+
/**
|
|
50
|
+
* Connection on the insertion marker block that corresponds to
|
|
51
|
+
* this.localConnection_ on the currently dragged block.
|
|
52
|
+
*/
|
|
53
|
+
private markerConnection_;
|
|
54
|
+
/** The block that currently has an input being highlighted, or null. */
|
|
55
|
+
private highlightedBlock_;
|
|
56
|
+
/** The block being faded to indicate replacement, or null. */
|
|
57
|
+
private fadedBlock_;
|
|
58
|
+
private availableConnections_;
|
|
59
|
+
/** @param block The top block in the stack being dragged. */
|
|
60
|
+
constructor(block: BlockSvg);
|
|
61
|
+
/**
|
|
62
|
+
* Sever all links from this object.
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
dispose(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Update the available connections for the top block. These connections can
|
|
68
|
+
* change if a block is unplugged and the stack is healed.
|
|
69
|
+
* @internal
|
|
70
|
+
*/
|
|
71
|
+
updateAvailableConnections(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Return whether the block would be deleted if dropped immediately, based on
|
|
74
|
+
* information from the most recent move event.
|
|
75
|
+
* @return True if the block would be deleted if dropped immediately.
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
wouldDeleteBlock(): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Return whether the block would be connected if dropped immediately, based
|
|
81
|
+
* on information from the most recent move event.
|
|
82
|
+
* @return True if the block would be connected if dropped immediately.
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
wouldConnectBlock(): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Connect to the closest connection and render the results.
|
|
88
|
+
* This should be called at the end of a drag.
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
applyConnections(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Update connections based on the most recent move location.
|
|
94
|
+
* @param dxy Position relative to drag start, in workspace units.
|
|
95
|
+
* @param dragTarget The drag target that the block is currently over.
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
update(dxy: Coordinate, dragTarget: IDragTarget | null): void;
|
|
99
|
+
/**
|
|
100
|
+
* Create an insertion marker that represents the given block.
|
|
101
|
+
* @param sourceBlock The block that the insertion marker will represent.
|
|
102
|
+
* @return The insertion marker that represents the given block.
|
|
103
|
+
*/
|
|
104
|
+
private createMarkerBlock_;
|
|
105
|
+
/**
|
|
106
|
+
* Populate the list of available connections on this block stack. This
|
|
107
|
+
* should only be called once, at the beginning of a drag. If the stack has
|
|
108
|
+
* more than one block, this function will populate lastOnStack_ and create
|
|
109
|
+
* the corresponding insertion marker.
|
|
110
|
+
* @return A list of available connections.
|
|
111
|
+
*/
|
|
112
|
+
private initAvailableConnections_;
|
|
113
|
+
/**
|
|
114
|
+
* Whether the previews (insertion marker and replacement marker) should be
|
|
115
|
+
* updated based on the closest candidate and the current drag distance.
|
|
116
|
+
* @param candidate An object containing a local connection, a closest
|
|
117
|
+
* connection, and a radius. Returned by getCandidate_.
|
|
118
|
+
* @param dxy Position relative to drag start, in workspace units.
|
|
119
|
+
* @return Whether the preview should be updated.
|
|
120
|
+
*/
|
|
121
|
+
private shouldUpdatePreviews_;
|
|
122
|
+
/**
|
|
123
|
+
* Find the nearest valid connection, which may be the same as the current
|
|
124
|
+
* closest connection.
|
|
125
|
+
* @param dxy Position relative to drag start, in workspace units.
|
|
126
|
+
* @return An object containing a local connection, a closest connection, and
|
|
127
|
+
* a radius.
|
|
128
|
+
*/
|
|
129
|
+
private getCandidate_;
|
|
130
|
+
/**
|
|
131
|
+
* Decide the radius at which to start searching for the closest connection.
|
|
132
|
+
* @return The radius at which to start the search for the closest connection.
|
|
133
|
+
*/
|
|
134
|
+
private getStartRadius_;
|
|
135
|
+
/**
|
|
136
|
+
* Whether ending the drag would delete the block.
|
|
137
|
+
* @param candidate An object containing a local connection, a closest
|
|
138
|
+
* connection, and a radius.
|
|
139
|
+
* @param dragTarget The drag target that the block is currently over.
|
|
140
|
+
* @return Whether dropping the block immediately would delete the block.
|
|
141
|
+
*/
|
|
142
|
+
private shouldDelete_;
|
|
143
|
+
/**
|
|
144
|
+
* Show an insertion marker or replacement highlighting during a drag, if
|
|
145
|
+
* needed.
|
|
146
|
+
* At the beginning of this function, this.localConnection_ and
|
|
147
|
+
* this.closestConnection_ should both be null.
|
|
148
|
+
* @param candidate An object containing a local connection, a closest
|
|
149
|
+
* connection, and a radius.
|
|
150
|
+
*/
|
|
151
|
+
private maybeShowPreview_;
|
|
152
|
+
/**
|
|
153
|
+
* A preview should be shown. This function figures out if it should be a
|
|
154
|
+
* block highlight or an insertion marker, and shows the appropriate one.
|
|
155
|
+
*/
|
|
156
|
+
private showPreview_;
|
|
157
|
+
/**
|
|
158
|
+
* Show an insertion marker or replacement highlighting during a drag, if
|
|
159
|
+
* needed.
|
|
160
|
+
* At the end of this function, this.localConnection_ and
|
|
161
|
+
* this.closestConnection_ should both be null.
|
|
162
|
+
* @param candidate An object containing a local connection, a closest
|
|
163
|
+
* connection, and a radius.
|
|
164
|
+
*/
|
|
165
|
+
private maybeHidePreview_;
|
|
166
|
+
/**
|
|
167
|
+
* A preview should be hidden. This function figures out if it is a block
|
|
168
|
+
* highlight or an insertion marker, and hides the appropriate one.
|
|
169
|
+
*/
|
|
170
|
+
private hidePreview_;
|
|
171
|
+
/**
|
|
172
|
+
* Shows an insertion marker connected to the appropriate blocks (based on
|
|
173
|
+
* manager state).
|
|
174
|
+
*/
|
|
175
|
+
private showInsertionMarker_;
|
|
176
|
+
/**
|
|
177
|
+
* Disconnects and hides the current insertion marker. Should return the
|
|
178
|
+
* blocks to their original state.
|
|
179
|
+
*/
|
|
180
|
+
private hideInsertionMarker_;
|
|
181
|
+
/** Shows an outline around the input the closest connection belongs to. */
|
|
182
|
+
private showInsertionInputOutline_;
|
|
183
|
+
/** Hides any visible input outlines. */
|
|
184
|
+
private hideInsertionInputOutline_;
|
|
185
|
+
/**
|
|
186
|
+
* Shows a replacement fade affect on the closest connection's target block
|
|
187
|
+
* (the block that is currently connected to it).
|
|
188
|
+
*/
|
|
189
|
+
private showReplacementFade_;
|
|
190
|
+
/** Hides/Removes any visible fade affects. */
|
|
191
|
+
private hideReplacementFade_;
|
|
192
|
+
/**
|
|
193
|
+
* Get a list of the insertion markers that currently exist. Drags have 0, 1,
|
|
194
|
+
* or 2 insertion markers.
|
|
195
|
+
* @return A possibly empty list of insertion marker blocks.
|
|
196
|
+
* @internal
|
|
197
|
+
*/
|
|
198
|
+
getInsertionMarkers(): BlockSvg[];
|
|
199
|
+
}
|
|
200
|
+
export declare namespace InsertionMarkerManager {
|
|
201
|
+
/**
|
|
202
|
+
* An enum describing different kinds of previews the InsertionMarkerManager
|
|
203
|
+
* could display.
|
|
204
|
+
*/
|
|
205
|
+
enum PREVIEW_TYPE {
|
|
206
|
+
INSERTION_MARKER = 0,
|
|
207
|
+
INPUT_OUTLINE = 1,
|
|
208
|
+
REPLACEMENT_FADE = 2
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
export declare type PreviewType = InsertionMarkerManager.PREVIEW_TYPE;
|
|
212
|
+
export declare const PreviewType: typeof InsertionMarkerManager.PREVIEW_TYPE;
|