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
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview The interface for a toolbox.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The interface for a toolbox.
|
|
13
|
+
* @namespace Blockly.IToolbox
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.IToolbox');
|
|
17
|
+
|
|
18
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
19
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
20
|
+
// import '../utils/toolbox.js';
|
|
21
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
22
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
23
|
+
// import './i_flyout.js';
|
|
24
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
25
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
26
|
+
// import './i_toolbox_item.js';
|
|
27
|
+
/* eslint-disable-next-line no-unused-vars */
|
|
28
|
+
// Unused import preserved for side-effects. Remove if unneeded.
|
|
29
|
+
// import '../workspace_svg.js';
|
|
30
|
+
|
|
31
|
+
import type {IRegistrable} from './i_registrable.js';
|
|
32
|
+
import type {IToolboxItem} from './i_toolbox_item.js';
|
|
33
|
+
import type {ToolboxInfo} from '../utils/toolbox.js';
|
|
34
|
+
import type {IFlyout} from './i_flyout.js';
|
|
35
|
+
import type {WorkspaceSvg} from '../workspace_svg.js';
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Interface for a toolbox.
|
|
40
|
+
* @alias Blockly.IToolbox
|
|
41
|
+
*/
|
|
42
|
+
export interface IToolbox extends IRegistrable {
|
|
43
|
+
/** Initializes the toolbox. */
|
|
44
|
+
init(): void;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Fills the toolbox with new toolbox items and removes any old contents.
|
|
48
|
+
* @param toolboxDef Object holding information for creating a toolbox.
|
|
49
|
+
*/
|
|
50
|
+
render(toolboxDef: ToolboxInfo): void;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Gets the width of the toolbox.
|
|
54
|
+
* @return The width of the toolbox.
|
|
55
|
+
*/
|
|
56
|
+
getWidth(): number;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Gets the height of the toolbox.
|
|
60
|
+
* @return The height of the toolbox.
|
|
61
|
+
*/
|
|
62
|
+
getHeight(): number;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Gets the toolbox flyout.
|
|
66
|
+
* @return The toolbox flyout.
|
|
67
|
+
*/
|
|
68
|
+
getFlyout(): IFlyout|null;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Gets the workspace for the toolbox.
|
|
72
|
+
* @return The parent workspace for the toolbox.
|
|
73
|
+
*/
|
|
74
|
+
getWorkspace(): WorkspaceSvg;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Gets whether or not the toolbox is horizontal.
|
|
78
|
+
* @return True if the toolbox is horizontal, false if the toolbox is
|
|
79
|
+
* vertical.
|
|
80
|
+
*/
|
|
81
|
+
isHorizontal(): boolean;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Positions the toolbox based on whether it is a horizontal toolbox and
|
|
85
|
+
* whether the workspace is in rtl.
|
|
86
|
+
*/
|
|
87
|
+
position(): void;
|
|
88
|
+
|
|
89
|
+
/** Handles resizing the toolbox when a toolbox item resizes. */
|
|
90
|
+
handleToolboxItemResize(): void;
|
|
91
|
+
|
|
92
|
+
/** Unhighlights any previously selected item. */
|
|
93
|
+
clearSelection(): void;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Updates the category colours and background colour of selected categories.
|
|
97
|
+
*/
|
|
98
|
+
refreshTheme(): void;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Updates the flyout's content without closing it. Should be used in
|
|
102
|
+
* response to a change in one of the dynamic categories, such as variables or
|
|
103
|
+
* procedures.
|
|
104
|
+
*/
|
|
105
|
+
refreshSelection(): void;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Sets the visibility of the toolbox.
|
|
109
|
+
* @param isVisible True if toolbox should be visible.
|
|
110
|
+
*/
|
|
111
|
+
setVisible(isVisible: boolean): void;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Selects the toolbox item by it's position in the list of toolbox items.
|
|
115
|
+
* @param position The position of the item to select.
|
|
116
|
+
*/
|
|
117
|
+
selectItemByPosition(position: number): void;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Gets the selected item.
|
|
121
|
+
* @return The selected item, or null if no item is currently selected.
|
|
122
|
+
*/
|
|
123
|
+
getSelectedItem(): IToolboxItem|null;
|
|
124
|
+
|
|
125
|
+
/** Disposes of this toolbox. */
|
|
126
|
+
dispose(): void;
|
|
127
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Interface for an item in the toolbox.
|
|
8
|
+
* @alias Blockly.IToolboxItem
|
|
9
|
+
*/
|
|
10
|
+
export interface IToolboxItem {
|
|
11
|
+
/**
|
|
12
|
+
* Initializes the toolbox item.
|
|
13
|
+
* This includes creating the DOM and updating the state of any items based
|
|
14
|
+
* on the info object.
|
|
15
|
+
*/
|
|
16
|
+
init(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Gets the div for the toolbox item.
|
|
19
|
+
* @return The div for the toolbox item.
|
|
20
|
+
*/
|
|
21
|
+
getDiv(): Element | null;
|
|
22
|
+
/**
|
|
23
|
+
* Gets a unique identifier for this toolbox item.
|
|
24
|
+
* @return The ID for the toolbox item.
|
|
25
|
+
*/
|
|
26
|
+
getId(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the parent if the toolbox item is nested.
|
|
29
|
+
* @return The parent toolbox item, or null if this toolbox item is not
|
|
30
|
+
* nested.
|
|
31
|
+
*/
|
|
32
|
+
getParent(): IToolboxItem | null;
|
|
33
|
+
/**
|
|
34
|
+
* Gets the nested level of the category.
|
|
35
|
+
* @return The nested level of the category.
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
getLevel(): number;
|
|
39
|
+
/**
|
|
40
|
+
* Whether the toolbox item is selectable.
|
|
41
|
+
* @return True if the toolbox item can be selected.
|
|
42
|
+
*/
|
|
43
|
+
isSelectable(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether the toolbox item is collapsible.
|
|
46
|
+
* @return True if the toolbox item is collapsible.
|
|
47
|
+
*/
|
|
48
|
+
isCollapsible(): boolean;
|
|
49
|
+
/** Dispose of this toolbox item. No-op by default. */
|
|
50
|
+
dispose(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Gets the HTML element that is clickable.
|
|
53
|
+
* @return The HTML element that receives clicks.
|
|
54
|
+
*/
|
|
55
|
+
getClickTarget(): Element | null;
|
|
56
|
+
/**
|
|
57
|
+
* Sets whether the category is visible or not.
|
|
58
|
+
* For a category to be visible its parent category must also be expanded.
|
|
59
|
+
* @param isVisible True if category should be visible.
|
|
60
|
+
*/
|
|
61
|
+
setVisible_(isVisible: boolean): void;
|
|
62
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview The interface for a toolbox item.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The interface for a toolbox item.
|
|
13
|
+
* @namespace Blockly.IToolboxItem
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.IToolboxItem');
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Interface for an item in the toolbox.
|
|
21
|
+
* @alias Blockly.IToolboxItem
|
|
22
|
+
*/
|
|
23
|
+
export interface IToolboxItem {
|
|
24
|
+
/**
|
|
25
|
+
* Initializes the toolbox item.
|
|
26
|
+
* This includes creating the DOM and updating the state of any items based
|
|
27
|
+
* on the info object.
|
|
28
|
+
*/
|
|
29
|
+
init(): void;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Gets the div for the toolbox item.
|
|
33
|
+
* @return The div for the toolbox item.
|
|
34
|
+
*/
|
|
35
|
+
getDiv(): Element|null;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Gets a unique identifier for this toolbox item.
|
|
39
|
+
* @return The ID for the toolbox item.
|
|
40
|
+
*/
|
|
41
|
+
getId(): string;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Gets the parent if the toolbox item is nested.
|
|
45
|
+
* @return The parent toolbox item, or null if this toolbox item is not
|
|
46
|
+
* nested.
|
|
47
|
+
*/
|
|
48
|
+
getParent(): IToolboxItem|null;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Gets the nested level of the category.
|
|
52
|
+
* @return The nested level of the category.
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
getLevel(): number;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Whether the toolbox item is selectable.
|
|
59
|
+
* @return True if the toolbox item can be selected.
|
|
60
|
+
*/
|
|
61
|
+
isSelectable(): boolean;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Whether the toolbox item is collapsible.
|
|
65
|
+
* @return True if the toolbox item is collapsible.
|
|
66
|
+
*/
|
|
67
|
+
isCollapsible(): boolean;
|
|
68
|
+
|
|
69
|
+
/** Dispose of this toolbox item. No-op by default. */
|
|
70
|
+
dispose(): void;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Gets the HTML element that is clickable.
|
|
74
|
+
* @return The HTML element that receives clicks.
|
|
75
|
+
*/
|
|
76
|
+
getClickTarget(): Element|null;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Sets whether the category is visible or not.
|
|
80
|
+
* For a category to be visible its parent category must also be expanded.
|
|
81
|
+
* @param isVisible True if category should be visible.
|
|
82
|
+
*/
|
|
83
|
+
setVisible_(isVisible: boolean): void;
|
|
84
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Number of characters to truncate a collapsed block to.
|
|
8
|
+
* @alias Blockly.internalConstants.COLLAPSE_CHARS
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const COLLAPSE_CHARS = 30;
|
|
12
|
+
/**
|
|
13
|
+
* When dragging a block out of a stack, split the stack in two (true), or drag
|
|
14
|
+
* out the block healing the stack (false).
|
|
15
|
+
* @alias Blockly.internalConstants.DRAG_STACK
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export declare const DRAG_STACK = true;
|
|
19
|
+
/**
|
|
20
|
+
* Lookup table for determining the opposite type of a connection.
|
|
21
|
+
* @alias Blockly.internalConstants.OPPOSITE_TYPE
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare const OPPOSITE_TYPE: number[];
|
|
25
|
+
/**
|
|
26
|
+
* String for use in the dropdown created in field_variable.
|
|
27
|
+
* This string indicates that this option in the dropdown is 'Rename
|
|
28
|
+
* variable...' and if selected, should trigger the prompt to rename a variable.
|
|
29
|
+
* @alias Blockly.internalConstants.RENAME_VARIABLE_ID
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
export declare const RENAME_VARIABLE_ID = "RENAME_VARIABLE_ID";
|
|
33
|
+
/**
|
|
34
|
+
* String for use in the dropdown created in field_variable.
|
|
35
|
+
* This string indicates that this option in the dropdown is 'Delete the "%1"
|
|
36
|
+
* variable' and if selected, should trigger the prompt to delete a variable.
|
|
37
|
+
* @alias Blockly.internalConstants.DELETE_VARIABLE_ID
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export declare const DELETE_VARIABLE_ID = "DELETE_VARIABLE_ID";
|
|
@@ -7,41 +7,40 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Module that provides constants for use inside Blockly. Do not
|
|
9
9
|
* use these constants outside of the core library.
|
|
10
|
-
* @package
|
|
11
10
|
*/
|
|
12
|
-
'use strict';
|
|
13
11
|
|
|
14
12
|
/**
|
|
15
13
|
* Module that provides constants for use inside Blockly. Do not
|
|
16
14
|
* use these constants outside of the core library.
|
|
17
15
|
* @namespace Blockly.internalConstants
|
|
18
16
|
*/
|
|
19
|
-
goog
|
|
17
|
+
import * as goog from '../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.internalConstants');
|
|
20
19
|
|
|
21
|
-
|
|
20
|
+
import {ConnectionType} from './connection_type.js';
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
/**
|
|
25
24
|
* Number of characters to truncate a collapsed block to.
|
|
26
25
|
* @alias Blockly.internalConstants.COLLAPSE_CHARS
|
|
26
|
+
* @internal
|
|
27
27
|
*/
|
|
28
|
-
const COLLAPSE_CHARS = 30;
|
|
29
|
-
exports.COLLAPSE_CHARS = COLLAPSE_CHARS;
|
|
28
|
+
export const COLLAPSE_CHARS = 30;
|
|
30
29
|
|
|
31
30
|
/**
|
|
32
31
|
* When dragging a block out of a stack, split the stack in two (true), or drag
|
|
33
32
|
* out the block healing the stack (false).
|
|
34
33
|
* @alias Blockly.internalConstants.DRAG_STACK
|
|
34
|
+
* @internal
|
|
35
35
|
*/
|
|
36
|
-
const DRAG_STACK = true;
|
|
37
|
-
exports.DRAG_STACK = DRAG_STACK;
|
|
36
|
+
export const DRAG_STACK = true;
|
|
38
37
|
|
|
39
38
|
/**
|
|
40
39
|
* Lookup table for determining the opposite type of a connection.
|
|
41
|
-
* @const
|
|
42
40
|
* @alias Blockly.internalConstants.OPPOSITE_TYPE
|
|
41
|
+
* @internal
|
|
43
42
|
*/
|
|
44
|
-
const OPPOSITE_TYPE = [];
|
|
43
|
+
export const OPPOSITE_TYPE: number[] = [];
|
|
45
44
|
OPPOSITE_TYPE[ConnectionType.INPUT_VALUE] = ConnectionType.OUTPUT_VALUE;
|
|
46
45
|
OPPOSITE_TYPE[ConnectionType.OUTPUT_VALUE] = ConnectionType.INPUT_VALUE;
|
|
47
46
|
OPPOSITE_TYPE[ConnectionType.NEXT_STATEMENT] =
|
|
@@ -49,24 +48,20 @@ OPPOSITE_TYPE[ConnectionType.NEXT_STATEMENT] =
|
|
|
49
48
|
OPPOSITE_TYPE[ConnectionType.PREVIOUS_STATEMENT] =
|
|
50
49
|
ConnectionType.NEXT_STATEMENT;
|
|
51
50
|
|
|
52
|
-
exports.OPPOSITE_TYPE = OPPOSITE_TYPE;
|
|
53
|
-
|
|
54
51
|
/**
|
|
55
52
|
* String for use in the dropdown created in field_variable.
|
|
56
53
|
* This string indicates that this option in the dropdown is 'Rename
|
|
57
54
|
* variable...' and if selected, should trigger the prompt to rename a variable.
|
|
58
|
-
* @const {string}
|
|
59
55
|
* @alias Blockly.internalConstants.RENAME_VARIABLE_ID
|
|
56
|
+
* @internal
|
|
60
57
|
*/
|
|
61
|
-
const RENAME_VARIABLE_ID = 'RENAME_VARIABLE_ID';
|
|
62
|
-
exports.RENAME_VARIABLE_ID = RENAME_VARIABLE_ID;
|
|
58
|
+
export const RENAME_VARIABLE_ID = 'RENAME_VARIABLE_ID';
|
|
63
59
|
|
|
64
60
|
/**
|
|
65
61
|
* String for use in the dropdown created in field_variable.
|
|
66
62
|
* This string indicates that this option in the dropdown is 'Delete the "%1"
|
|
67
63
|
* variable' and if selected, should trigger the prompt to delete a variable.
|
|
68
|
-
* @const {string}
|
|
69
64
|
* @alias Blockly.internalConstants.DELETE_VARIABLE_ID
|
|
65
|
+
* @internal
|
|
70
66
|
*/
|
|
71
|
-
const DELETE_VARIABLE_ID = 'DELETE_VARIABLE_ID';
|
|
72
|
-
exports.DELETE_VARIABLE_ID = DELETE_VARIABLE_ID;
|
|
67
|
+
export const DELETE_VARIABLE_ID = 'DELETE_VARIABLE_ID';
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../block.js';
|
|
7
|
+
import type { Connection } from '../connection.js';
|
|
8
|
+
import type { Field } from '../field.js';
|
|
9
|
+
import type { Input } from '../input.js';
|
|
10
|
+
import type { IASTNodeLocation } from '../interfaces/i_ast_node_location.js';
|
|
11
|
+
import { Coordinate } from '../utils/coordinate.js';
|
|
12
|
+
import type { Workspace } from '../workspace.js';
|
|
13
|
+
/**
|
|
14
|
+
* Class for an AST node.
|
|
15
|
+
* It is recommended that you use one of the createNode methods instead of
|
|
16
|
+
* creating a node directly.
|
|
17
|
+
* @alias Blockly.ASTNode
|
|
18
|
+
*/
|
|
19
|
+
export declare class ASTNode {
|
|
20
|
+
/**
|
|
21
|
+
* True to navigate to all fields. False to only navigate to clickable fields.
|
|
22
|
+
*/
|
|
23
|
+
static NAVIGATE_ALL_FIELDS: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The default y offset to use when moving the cursor from a stack to the
|
|
26
|
+
* workspace.
|
|
27
|
+
*/
|
|
28
|
+
private static readonly DEFAULT_OFFSET_Y;
|
|
29
|
+
private readonly type_;
|
|
30
|
+
private readonly isConnection_;
|
|
31
|
+
private readonly location_;
|
|
32
|
+
/** The coordinate on the workspace. */
|
|
33
|
+
private wsCoordinate_;
|
|
34
|
+
/**
|
|
35
|
+
* @param type The type of the location.
|
|
36
|
+
* Must be in ASTNode.types.
|
|
37
|
+
* @param location The position in the AST.
|
|
38
|
+
* @param opt_params Optional dictionary of options.
|
|
39
|
+
* @alias Blockly.ASTNode
|
|
40
|
+
*/
|
|
41
|
+
constructor(type: string, location: IASTNodeLocation, opt_params?: Params);
|
|
42
|
+
/**
|
|
43
|
+
* Parse the optional parameters.
|
|
44
|
+
* @param params The user specified parameters.
|
|
45
|
+
*/
|
|
46
|
+
private processParams_;
|
|
47
|
+
/**
|
|
48
|
+
* Gets the value pointed to by this node.
|
|
49
|
+
* It is the callers responsibility to check the node type to figure out what
|
|
50
|
+
* type of object they get back from this.
|
|
51
|
+
* @return The current field, connection, workspace, or block the cursor is
|
|
52
|
+
* on.
|
|
53
|
+
*/
|
|
54
|
+
getLocation(): IASTNodeLocation;
|
|
55
|
+
/**
|
|
56
|
+
* The type of the current location.
|
|
57
|
+
* One of ASTNode.types
|
|
58
|
+
* @return The type of the location.
|
|
59
|
+
*/
|
|
60
|
+
getType(): string;
|
|
61
|
+
/**
|
|
62
|
+
* The coordinate on the workspace.
|
|
63
|
+
* @return The workspace coordinate or null if the location is not a
|
|
64
|
+
* workspace.
|
|
65
|
+
*/
|
|
66
|
+
getWsCoordinate(): Coordinate;
|
|
67
|
+
/**
|
|
68
|
+
* Whether the node points to a connection.
|
|
69
|
+
* @return [description]
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
isConnection(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Given an input find the next editable field or an input with a non null
|
|
75
|
+
* connection in the same block. The current location must be an input
|
|
76
|
+
* connection.
|
|
77
|
+
* @return The AST node holding the next field or connection or null if there
|
|
78
|
+
* is no editable field or input connection after the given input.
|
|
79
|
+
*/
|
|
80
|
+
private findNextForInput_;
|
|
81
|
+
/**
|
|
82
|
+
* Given a field find the next editable field or an input with a non null
|
|
83
|
+
* connection in the same block. The current location must be a field.
|
|
84
|
+
* @return The AST node pointing to the next field or connection or null if
|
|
85
|
+
* there is no editable field or input connection after the given input.
|
|
86
|
+
*/
|
|
87
|
+
private findNextForField_;
|
|
88
|
+
/**
|
|
89
|
+
* Given an input find the previous editable field or an input with a non null
|
|
90
|
+
* connection in the same block. The current location must be an input
|
|
91
|
+
* connection.
|
|
92
|
+
* @return The AST node holding the previous field or connection.
|
|
93
|
+
*/
|
|
94
|
+
private findPrevForInput_;
|
|
95
|
+
/**
|
|
96
|
+
* Given a field find the previous editable field or an input with a non null
|
|
97
|
+
* connection in the same block. The current location must be a field.
|
|
98
|
+
* @return The AST node holding the previous input or field.
|
|
99
|
+
*/
|
|
100
|
+
private findPrevForField_;
|
|
101
|
+
/**
|
|
102
|
+
* Navigate between stacks of blocks on the workspace.
|
|
103
|
+
* @param forward True to go forward. False to go backwards.
|
|
104
|
+
* @return The first block of the next stack or null if there are no blocks on
|
|
105
|
+
* the workspace.
|
|
106
|
+
*/
|
|
107
|
+
private navigateBetweenStacks_;
|
|
108
|
+
/**
|
|
109
|
+
* Finds the top most AST node for a given block.
|
|
110
|
+
* This is either the previous connection, output connection or block
|
|
111
|
+
* depending on what kind of connections the block has.
|
|
112
|
+
* @param block The block that we want to find the top connection on.
|
|
113
|
+
* @return The AST node containing the top connection.
|
|
114
|
+
*/
|
|
115
|
+
private findTopASTNodeForBlock_;
|
|
116
|
+
/**
|
|
117
|
+
* Get the AST node pointing to the input that the block is nested under or if
|
|
118
|
+
* the block is not nested then get the stack AST node.
|
|
119
|
+
* @param block The source block of the current location.
|
|
120
|
+
* @return The AST node pointing to the input connection or the top block of
|
|
121
|
+
* the stack this block is in.
|
|
122
|
+
*/
|
|
123
|
+
private getOutAstNodeForBlock_;
|
|
124
|
+
/**
|
|
125
|
+
* Find the first editable field or input with a connection on a given block.
|
|
126
|
+
* @param block The source block of the current location.
|
|
127
|
+
* @return An AST node pointing to the first field or input.
|
|
128
|
+
* Null if there are no editable fields or inputs with connections on the
|
|
129
|
+
* block.
|
|
130
|
+
*/
|
|
131
|
+
private findFirstFieldOrInput_;
|
|
132
|
+
/**
|
|
133
|
+
* Finds the source block of the location of this node.
|
|
134
|
+
* @return The source block of the location, or null if the node is of type
|
|
135
|
+
* workspace.
|
|
136
|
+
*/
|
|
137
|
+
getSourceBlock(): Block | null;
|
|
138
|
+
/**
|
|
139
|
+
* Find the element to the right of the current element in the AST.
|
|
140
|
+
* @return An AST node that wraps the next field, connection, block, or
|
|
141
|
+
* workspace. Or null if there is no node to the right.
|
|
142
|
+
*/
|
|
143
|
+
next(): ASTNode | null;
|
|
144
|
+
/**
|
|
145
|
+
* Find the element one level below and all the way to the left of the current
|
|
146
|
+
* location.
|
|
147
|
+
* @return An AST node that wraps the next field, connection, workspace, or
|
|
148
|
+
* block. Or null if there is nothing below this node.
|
|
149
|
+
*/
|
|
150
|
+
in(): ASTNode | null;
|
|
151
|
+
/**
|
|
152
|
+
* Find the element to the left of the current element in the AST.
|
|
153
|
+
* @return An AST node that wraps the previous field, connection, workspace or
|
|
154
|
+
* block. Or null if no node exists to the left.
|
|
155
|
+
* null.
|
|
156
|
+
*/
|
|
157
|
+
prev(): ASTNode | null;
|
|
158
|
+
/**
|
|
159
|
+
* Find the next element that is one position above and all the way to the
|
|
160
|
+
* left of the current location.
|
|
161
|
+
* @return An AST node that wraps the next field, connection, workspace or
|
|
162
|
+
* block. Or null if we are at the workspace level.
|
|
163
|
+
*/
|
|
164
|
+
out(): ASTNode | null;
|
|
165
|
+
/**
|
|
166
|
+
* Whether an AST node of the given type points to a connection.
|
|
167
|
+
* @param type The type to check. One of ASTNode.types.
|
|
168
|
+
* @return True if a node of the given type points to a connection.
|
|
169
|
+
*/
|
|
170
|
+
private static isConnectionType_;
|
|
171
|
+
/**
|
|
172
|
+
* Create an AST node pointing to a field.
|
|
173
|
+
* @param field The location of the AST node.
|
|
174
|
+
* @return An AST node pointing to a field.
|
|
175
|
+
*/
|
|
176
|
+
static createFieldNode(field: Field): ASTNode | null;
|
|
177
|
+
/**
|
|
178
|
+
* Creates an AST node pointing to a connection. If the connection has a
|
|
179
|
+
* parent input then create an AST node of type input that will hold the
|
|
180
|
+
* connection.
|
|
181
|
+
* @param connection This is the connection the node will point to.
|
|
182
|
+
* @return An AST node pointing to a connection.
|
|
183
|
+
*/
|
|
184
|
+
static createConnectionNode(connection: Connection): ASTNode | null;
|
|
185
|
+
/**
|
|
186
|
+
* Creates an AST node pointing to an input. Stores the input connection as
|
|
187
|
+
* the location.
|
|
188
|
+
* @param input The input used to create an AST node.
|
|
189
|
+
* @return An AST node pointing to a input.
|
|
190
|
+
*/
|
|
191
|
+
static createInputNode(input: Input): ASTNode | null;
|
|
192
|
+
/**
|
|
193
|
+
* Creates an AST node pointing to a block.
|
|
194
|
+
* @param block The block used to create an AST node.
|
|
195
|
+
* @return An AST node pointing to a block.
|
|
196
|
+
*/
|
|
197
|
+
static createBlockNode(block: Block): ASTNode | null;
|
|
198
|
+
/**
|
|
199
|
+
* Create an AST node of type stack. A stack, represented by its top block, is
|
|
200
|
+
* the set of all blocks connected to a top block, including the top
|
|
201
|
+
* block.
|
|
202
|
+
* @param topBlock A top block has no parent and can be found in the list
|
|
203
|
+
* returned by workspace.getTopBlocks().
|
|
204
|
+
* @return An AST node of type stack that points to the top block on the
|
|
205
|
+
* stack.
|
|
206
|
+
*/
|
|
207
|
+
static createStackNode(topBlock: Block): ASTNode | null;
|
|
208
|
+
/**
|
|
209
|
+
* Creates an AST node pointing to a workspace.
|
|
210
|
+
* @param workspace The workspace that we are on.
|
|
211
|
+
* @param wsCoordinate The position on the workspace for this node.
|
|
212
|
+
* @return An AST node pointing to a workspace and a position on the
|
|
213
|
+
* workspace.
|
|
214
|
+
*/
|
|
215
|
+
static createWorkspaceNode(workspace: Workspace | null, wsCoordinate: Coordinate | null): ASTNode | null;
|
|
216
|
+
/**
|
|
217
|
+
* Creates an AST node for the top position on a block.
|
|
218
|
+
* This is either an output connection, previous connection, or block.
|
|
219
|
+
* @param block The block to find the top most AST node on.
|
|
220
|
+
* @return The AST node holding the top most position on the block.
|
|
221
|
+
*/
|
|
222
|
+
static createTopNode(block: Block): ASTNode | null;
|
|
223
|
+
}
|
|
224
|
+
export declare namespace ASTNode {
|
|
225
|
+
interface Params {
|
|
226
|
+
wsCoordinate: Coordinate;
|
|
227
|
+
}
|
|
228
|
+
enum types {
|
|
229
|
+
FIELD = "field",
|
|
230
|
+
BLOCK = "block",
|
|
231
|
+
INPUT = "input",
|
|
232
|
+
OUTPUT = "output",
|
|
233
|
+
NEXT = "next",
|
|
234
|
+
PREVIOUS = "previous",
|
|
235
|
+
STACK = "stack",
|
|
236
|
+
WORKSPACE = "workspace"
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
export declare type Params = ASTNode.Params;
|