blockly 8.0.4 → 8.0.5-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2421 -2688
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -719
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/input.ts +309 -0
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +229 -228
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +420 -420
- package/msg/ace.js +420 -420
- package/msg/af.js +420 -420
- package/msg/am.js +420 -420
- package/msg/ar.js +420 -420
- package/msg/ast.js +420 -420
- package/msg/az.js +420 -420
- package/msg/ba.js +420 -420
- package/msg/bcc.js +420 -420
- package/msg/be-tarask.js +420 -420
- package/msg/be.js +420 -420
- package/msg/bg.js +420 -420
- package/msg/bn.js +420 -420
- package/msg/br.js +420 -420
- package/msg/bs.js +420 -420
- package/msg/ca.js +420 -420
- package/msg/cdo.js +420 -420
- package/msg/cs.js +420 -420
- package/msg/da.js +420 -420
- package/msg/de.js +420 -420
- package/msg/diq.js +420 -420
- package/msg/dty.js +420 -420
- package/msg/ee.js +420 -420
- package/msg/el.js +420 -420
- package/msg/en-gb.js +420 -420
- package/msg/en.js +420 -420
- package/msg/eo.js +420 -420
- package/msg/es.js +420 -420
- package/msg/et.js +420 -420
- package/msg/eu.js +420 -420
- package/msg/fa.js +420 -420
- package/msg/fi.js +420 -420
- package/msg/fo.js +420 -420
- package/msg/fr.js +420 -420
- package/msg/frr.js +420 -420
- package/msg/gl.js +420 -420
- package/msg/gn.js +420 -420
- package/msg/gor.js +420 -420
- package/msg/ha.js +420 -420
- package/msg/hak.js +420 -420
- package/msg/he.js +420 -420
- package/msg/hi.js +420 -420
- package/msg/hr.js +420 -420
- package/msg/hrx.js +420 -420
- package/msg/hu.js +420 -420
- package/msg/hy.js +420 -420
- package/msg/ia.js +420 -420
- package/msg/id.js +420 -420
- package/msg/ig.js +420 -420
- package/msg/inh.js +420 -420
- package/msg/is.js +420 -420
- package/msg/it.js +420 -420
- package/msg/ja.js +420 -420
- package/msg/ka.js +420 -420
- package/msg/kab.js +420 -420
- package/msg/kbd-cyrl.js +420 -420
- package/msg/km.js +420 -420
- package/msg/kn.js +420 -420
- package/msg/ko.js +420 -420
- package/msg/ksh.js +420 -420
- package/msg/ku-latn.js +420 -420
- package/msg/ky.js +420 -420
- package/msg/la.js +420 -420
- package/msg/lb.js +420 -420
- package/msg/lki.js +420 -420
- package/msg/lo.js +420 -420
- package/msg/lrc.js +420 -420
- package/msg/lt.js +420 -420
- package/msg/lv.js +420 -420
- package/msg/mg.js +420 -420
- package/msg/mk.js +420 -420
- package/msg/ml.js +420 -420
- package/msg/mnw.js +420 -420
- package/msg/ms.js +420 -420
- package/msg/my.js +420 -420
- package/msg/mzn.js +420 -420
- package/msg/nb.js +420 -420
- package/msg/ne.js +420 -420
- package/msg/nl.js +420 -420
- package/msg/oc.js +420 -420
- package/msg/olo.js +420 -420
- package/msg/pa.js +420 -420
- package/msg/pl.js +420 -420
- package/msg/pms.js +420 -420
- package/msg/ps.js +420 -420
- package/msg/pt-br.js +420 -420
- package/msg/pt.js +420 -420
- package/msg/ro.js +420 -420
- package/msg/ru.js +420 -420
- package/msg/sc.js +420 -420
- package/msg/sco.js +420 -420
- package/msg/sd.js +420 -420
- package/msg/shn.js +420 -420
- package/msg/si.js +420 -420
- package/msg/sk.js +420 -420
- package/msg/skr-arab.js +420 -420
- package/msg/sl.js +420 -420
- package/msg/smn.js +420 -420
- package/msg/sq.js +420 -420
- package/msg/sr-latn.js +420 -420
- package/msg/sr.js +420 -420
- package/msg/sv.js +420 -420
- package/msg/sw.js +420 -420
- package/msg/ta.js +420 -420
- package/msg/tcy.js +420 -420
- package/msg/te.js +420 -420
- package/msg/th.js +420 -420
- package/msg/ti.js +420 -420
- package/msg/tl.js +420 -420
- package/msg/tlh.js +420 -420
- package/msg/tr.js +420 -420
- package/msg/ug-arab.js +420 -420
- package/msg/uk.js +420 -420
- package/msg/ur.js +420 -420
- package/msg/uz.js +420 -420
- package/msg/vi.js +420 -420
- package/msg/xmf.js +420 -420
- package/msg/yo.js +420 -420
- package/msg/yue.js +420 -420
- package/msg/zgh.js +420 -420
- package/msg/zh-hans.js +420 -420
- package/msg/zh-hant.js +420 -420
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/input.js +0 -335
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -293
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
package/core/common.d.ts
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from './block.js';
|
|
7
|
+
import { BlockDefinition } from './blocks.js';
|
|
8
|
+
import type { Connection } from './connection.js';
|
|
9
|
+
import type { ICopyable } from './interfaces/i_copyable.js';
|
|
10
|
+
import type { Workspace } from './workspace.js';
|
|
11
|
+
import type { WorkspaceSvg } from './workspace_svg.js';
|
|
12
|
+
/**
|
|
13
|
+
* Find the workspace with the specified ID.
|
|
14
|
+
* @param id ID of workspace to find.
|
|
15
|
+
* @return The sought after workspace or null if not found.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getWorkspaceById(id: string): Workspace | null;
|
|
18
|
+
/**
|
|
19
|
+
* Find all workspaces.
|
|
20
|
+
* @return Array of workspaces.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getAllWorkspaces(): Workspace[];
|
|
23
|
+
export declare function registerWorkspace(workspace: Workspace): void;
|
|
24
|
+
export declare function unregisterWorkpace(workspace: Workspace): void;
|
|
25
|
+
/**
|
|
26
|
+
* Returns the last used top level workspace (based on focus). Try not to use
|
|
27
|
+
* this function, particularly if there are multiple Blockly instances on a
|
|
28
|
+
* page.
|
|
29
|
+
* @return The main workspace.
|
|
30
|
+
* @alias Blockly.common.getMainWorkspace
|
|
31
|
+
*/
|
|
32
|
+
export declare function getMainWorkspace(): Workspace;
|
|
33
|
+
/**
|
|
34
|
+
* Sets last used main workspace.
|
|
35
|
+
* @param workspace The most recently used top level workspace.
|
|
36
|
+
* @alias Blockly.common.setMainWorkspace
|
|
37
|
+
*/
|
|
38
|
+
export declare function setMainWorkspace(workspace: Workspace): void;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the currently selected copyable object.
|
|
41
|
+
* @alias Blockly.common.getSelected
|
|
42
|
+
*/
|
|
43
|
+
export declare function getSelected(): ICopyable | null;
|
|
44
|
+
/**
|
|
45
|
+
* Sets the currently selected block. This function does not visually mark the
|
|
46
|
+
* block as selected or fire the required events. If you wish to
|
|
47
|
+
* programmatically select a block, use `BlockSvg#select`.
|
|
48
|
+
* @param newSelection The newly selected block.
|
|
49
|
+
* @alias Blockly.common.setSelected
|
|
50
|
+
* @internal
|
|
51
|
+
*/
|
|
52
|
+
export declare function setSelected(newSelection: ICopyable | null): void;
|
|
53
|
+
/**
|
|
54
|
+
* Get the container element in which to render the WidgetDiv, DropDownDiv and\
|
|
55
|
+
* Tooltip.
|
|
56
|
+
* @return The parent container.
|
|
57
|
+
* @alias Blockly.common.getParentContainer
|
|
58
|
+
*/
|
|
59
|
+
export declare function getParentContainer(): Element | null;
|
|
60
|
+
/**
|
|
61
|
+
* Set the parent container. This is the container element that the WidgetDiv,
|
|
62
|
+
* DropDownDiv, and Tooltip are rendered into the first time `Blockly.inject`
|
|
63
|
+
* is called.
|
|
64
|
+
* This method is a NOP if called after the first ``Blockly.inject``.
|
|
65
|
+
* @param newParent The container element.
|
|
66
|
+
* @alias Blockly.common.setParentContainer
|
|
67
|
+
*/
|
|
68
|
+
export declare function setParentContainer(newParent: Element): void;
|
|
69
|
+
/**
|
|
70
|
+
* Size the SVG image to completely fill its container. Call this when the view
|
|
71
|
+
* actually changes sizes (e.g. on a window resize/device orientation change).
|
|
72
|
+
* See workspace.resizeContents to resize the workspace when the contents
|
|
73
|
+
* change (e.g. when a block is added or removed).
|
|
74
|
+
* Record the height/width of the SVG image.
|
|
75
|
+
* @param workspace Any workspace in the SVG.
|
|
76
|
+
* @alias Blockly.common.svgResize
|
|
77
|
+
*/
|
|
78
|
+
export declare function svgResize(workspace: WorkspaceSvg): void;
|
|
79
|
+
/**
|
|
80
|
+
* All of the connections on blocks that are currently being dragged.
|
|
81
|
+
*/
|
|
82
|
+
export declare const draggingConnections: Connection[];
|
|
83
|
+
/**
|
|
84
|
+
* Get a map of all the block's descendants mapping their type to the number of
|
|
85
|
+
* children with that type.
|
|
86
|
+
* @param block The block to map.
|
|
87
|
+
* @param opt_stripFollowing Optionally ignore all following
|
|
88
|
+
* statements (blocks that are not inside a value or statement input
|
|
89
|
+
* of the block).
|
|
90
|
+
* @return Map of types to type counts for descendants of the bock.
|
|
91
|
+
* @alias Blockly.common.getBlockTypeCounts
|
|
92
|
+
*/
|
|
93
|
+
export declare function getBlockTypeCounts(block: Block, opt_stripFollowing?: boolean): any;
|
|
94
|
+
/**
|
|
95
|
+
* Define blocks from an array of JSON block definitions, as might be generated
|
|
96
|
+
* by the Blockly Developer Tools.
|
|
97
|
+
* @param jsonArray An array of JSON block definitions.
|
|
98
|
+
* @alias Blockly.common.defineBlocksWithJsonArray
|
|
99
|
+
*/
|
|
100
|
+
export declare function defineBlocksWithJsonArray(jsonArray: any[]): void;
|
|
101
|
+
/**
|
|
102
|
+
* Private version of defineBlocksWithJsonArray for stubbing in tests.
|
|
103
|
+
*/
|
|
104
|
+
declare function defineBlocksWithJsonArrayInternal(jsonArray: any[]): void;
|
|
105
|
+
/**
|
|
106
|
+
* Define blocks from an array of JSON block definitions, as might be generated
|
|
107
|
+
* by the Blockly Developer Tools.
|
|
108
|
+
* @param jsonArray An array of JSON block definitions.
|
|
109
|
+
* @return A map of the block
|
|
110
|
+
* definitions created.
|
|
111
|
+
* @alias Blockly.common.defineBlocksWithJsonArray
|
|
112
|
+
*/
|
|
113
|
+
export declare function createBlockDefinitionsFromJsonArray(jsonArray: any[]): {
|
|
114
|
+
[key: string]: BlockDefinition;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Add the specified block definitions to the block definitions
|
|
118
|
+
* dictionary (Blockly.Blocks).
|
|
119
|
+
* @param blocks A map of block
|
|
120
|
+
* type names to block definitions.
|
|
121
|
+
* @alias Blockly.common.defineBlocks
|
|
122
|
+
*/
|
|
123
|
+
export declare function defineBlocks(blocks: {
|
|
124
|
+
[key: string]: BlockDefinition;
|
|
125
|
+
}): void;
|
|
126
|
+
export declare const TEST_ONLY: {
|
|
127
|
+
defineBlocksWithJsonArrayInternal: typeof defineBlocksWithJsonArrayInternal;
|
|
128
|
+
};
|
|
129
|
+
export {};
|
|
@@ -8,116 +8,134 @@
|
|
|
8
8
|
* @fileoverview Common functions used both internally and externally, but which
|
|
9
9
|
* must not be at the top level to avoid circular dependencies.
|
|
10
10
|
*/
|
|
11
|
-
'use strict';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Common functions used both internally and externally, but which
|
|
15
14
|
* must not be at the top level to avoid circular dependencies.
|
|
16
15
|
* @namespace Blockly.common
|
|
17
16
|
*/
|
|
18
|
-
goog
|
|
17
|
+
import * as goog from '../closure/goog/goog.js';
|
|
18
|
+
goog.declareModuleId('Blockly.common');
|
|
19
19
|
|
|
20
20
|
/* eslint-disable-next-line no-unused-vars */
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const {Workspace} = goog.requireType('Blockly.Workspace');
|
|
21
|
+
import type {Block} from './block.js';
|
|
22
|
+
import {BlockDefinition, Blocks} from './blocks.js';
|
|
23
|
+
import type {Connection} from './connection.js';
|
|
24
|
+
import type {ICopyable} from './interfaces/i_copyable.js';
|
|
25
|
+
import type {Workspace} from './workspace.js';
|
|
26
|
+
import type {WorkspaceSvg} from './workspace_svg.js';
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
/** Database of all workspaces. */
|
|
30
|
+
const WorkspaceDB_ = Object.create(null);
|
|
32
31
|
|
|
33
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Find the workspace with the specified ID.
|
|
35
|
+
* @param id ID of workspace to find.
|
|
36
|
+
* @return The sought after workspace or null if not found.
|
|
37
|
+
*/
|
|
38
|
+
export function getWorkspaceById(id: string): Workspace|null {
|
|
39
|
+
return WorkspaceDB_[id] || null;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Find all workspaces.
|
|
44
|
+
* @return Array of workspaces.
|
|
45
|
+
*/
|
|
46
|
+
export function getAllWorkspaces(): Workspace[] {
|
|
47
|
+
const workspaces = [];
|
|
48
|
+
for (const workspaceId in WorkspaceDB_) {
|
|
49
|
+
workspaces.push(WorkspaceDB_[workspaceId]);
|
|
50
|
+
}
|
|
51
|
+
return workspaces;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function registerWorkspace(workspace: Workspace) {
|
|
55
|
+
WorkspaceDB_[workspace.id] = workspace;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export function unregisterWorkpace(workspace: Workspace) {
|
|
59
|
+
delete WorkspaceDB_[workspace.id];
|
|
60
|
+
}
|
|
61
|
+
|
|
34
62
|
/**
|
|
35
63
|
* The main workspace most recently used.
|
|
36
64
|
* Set by Blockly.WorkspaceSvg.prototype.markFocused
|
|
37
|
-
* @type {!Workspace}
|
|
38
65
|
*/
|
|
39
|
-
let mainWorkspace;
|
|
66
|
+
let mainWorkspace: Workspace;
|
|
40
67
|
|
|
41
68
|
/**
|
|
42
69
|
* Returns the last used top level workspace (based on focus). Try not to use
|
|
43
70
|
* this function, particularly if there are multiple Blockly instances on a
|
|
44
71
|
* page.
|
|
45
|
-
* @return
|
|
72
|
+
* @return The main workspace.
|
|
46
73
|
* @alias Blockly.common.getMainWorkspace
|
|
47
74
|
*/
|
|
48
|
-
|
|
75
|
+
export function getMainWorkspace(): Workspace {
|
|
49
76
|
return mainWorkspace;
|
|
50
|
-
}
|
|
51
|
-
exports.getMainWorkspace = getMainWorkspace;
|
|
77
|
+
}
|
|
52
78
|
|
|
53
79
|
/**
|
|
54
80
|
* Sets last used main workspace.
|
|
55
|
-
* @param
|
|
81
|
+
* @param workspace The most recently used top level workspace.
|
|
56
82
|
* @alias Blockly.common.setMainWorkspace
|
|
57
83
|
*/
|
|
58
|
-
|
|
84
|
+
export function setMainWorkspace(workspace: Workspace) {
|
|
59
85
|
mainWorkspace = workspace;
|
|
60
|
-
}
|
|
61
|
-
exports.setMainWorkspace = setMainWorkspace;
|
|
86
|
+
}
|
|
62
87
|
|
|
63
88
|
/**
|
|
64
|
-
* Currently selected
|
|
65
|
-
* @type {?ICopyable}
|
|
89
|
+
* Currently selected copyable object.
|
|
66
90
|
*/
|
|
67
|
-
let selected = null;
|
|
91
|
+
let selected: ICopyable|null = null;
|
|
68
92
|
|
|
69
93
|
/**
|
|
70
|
-
* Returns the currently selected
|
|
71
|
-
* @return {?ICopyable} The currently selected block.
|
|
94
|
+
* Returns the currently selected copyable object.
|
|
72
95
|
* @alias Blockly.common.getSelected
|
|
73
96
|
*/
|
|
74
|
-
|
|
97
|
+
export function getSelected(): ICopyable|null {
|
|
75
98
|
return selected;
|
|
76
|
-
}
|
|
77
|
-
exports.getSelected = getSelected;
|
|
99
|
+
}
|
|
78
100
|
|
|
79
101
|
/**
|
|
80
102
|
* Sets the currently selected block. This function does not visually mark the
|
|
81
103
|
* block as selected or fire the required events. If you wish to
|
|
82
104
|
* programmatically select a block, use `BlockSvg#select`.
|
|
83
|
-
* @param
|
|
105
|
+
* @param newSelection The newly selected block.
|
|
84
106
|
* @alias Blockly.common.setSelected
|
|
85
|
-
* @
|
|
107
|
+
* @internal
|
|
86
108
|
*/
|
|
87
|
-
|
|
109
|
+
export function setSelected(newSelection: ICopyable|null) {
|
|
88
110
|
selected = newSelection;
|
|
89
|
-
}
|
|
90
|
-
exports.setSelected = setSelected;
|
|
111
|
+
}
|
|
91
112
|
|
|
92
113
|
/**
|
|
93
114
|
* Container element in which to render the WidgetDiv, DropDownDiv and Tooltip.
|
|
94
|
-
* @type {?Element}
|
|
95
115
|
*/
|
|
96
|
-
let parentContainer;
|
|
116
|
+
let parentContainer: Element|null;
|
|
97
117
|
|
|
98
118
|
/**
|
|
99
119
|
* Get the container element in which to render the WidgetDiv, DropDownDiv and\
|
|
100
120
|
* Tooltip.
|
|
101
|
-
* @return
|
|
121
|
+
* @return The parent container.
|
|
102
122
|
* @alias Blockly.common.getParentContainer
|
|
103
123
|
*/
|
|
104
|
-
|
|
124
|
+
export function getParentContainer(): Element|null {
|
|
105
125
|
return parentContainer;
|
|
106
|
-
}
|
|
107
|
-
exports.getParentContainer = getParentContainer;
|
|
126
|
+
}
|
|
108
127
|
|
|
109
128
|
/**
|
|
110
129
|
* Set the parent container. This is the container element that the WidgetDiv,
|
|
111
130
|
* DropDownDiv, and Tooltip are rendered into the first time `Blockly.inject`
|
|
112
131
|
* is called.
|
|
113
132
|
* This method is a NOP if called after the first ``Blockly.inject``.
|
|
114
|
-
* @param
|
|
133
|
+
* @param newParent The container element.
|
|
115
134
|
* @alias Blockly.common.setParentContainer
|
|
116
135
|
*/
|
|
117
|
-
|
|
136
|
+
export function setParentContainer(newParent: Element) {
|
|
118
137
|
parentContainer = newParent;
|
|
119
|
-
}
|
|
120
|
-
exports.setParentContainer = setParentContainer;
|
|
138
|
+
}
|
|
121
139
|
|
|
122
140
|
/**
|
|
123
141
|
* Size the SVG image to completely fill its container. Call this when the view
|
|
@@ -125,21 +143,22 @@ exports.setParentContainer = setParentContainer;
|
|
|
125
143
|
* See workspace.resizeContents to resize the workspace when the contents
|
|
126
144
|
* change (e.g. when a block is added or removed).
|
|
127
145
|
* Record the height/width of the SVG image.
|
|
128
|
-
* @param
|
|
146
|
+
* @param workspace Any workspace in the SVG.
|
|
129
147
|
* @alias Blockly.common.svgResize
|
|
130
148
|
*/
|
|
131
|
-
|
|
149
|
+
export function svgResize(workspace: WorkspaceSvg) {
|
|
132
150
|
let mainWorkspace = workspace;
|
|
133
151
|
while (mainWorkspace.options.parentWorkspace) {
|
|
134
152
|
mainWorkspace = mainWorkspace.options.parentWorkspace;
|
|
135
153
|
}
|
|
136
154
|
const svg = mainWorkspace.getParentSvg();
|
|
137
155
|
const cachedSize = mainWorkspace.getCachedParentSvgSize();
|
|
138
|
-
const div = svg.
|
|
139
|
-
if (!div) {
|
|
156
|
+
const div = svg.parentElement;
|
|
157
|
+
if (!(div instanceof HTMLElement)) {
|
|
140
158
|
// Workspace deleted, or something.
|
|
141
159
|
return;
|
|
142
160
|
}
|
|
161
|
+
|
|
143
162
|
const width = div.offsetWidth;
|
|
144
163
|
const height = div.offsetHeight;
|
|
145
164
|
if (cachedSize.width !== width) {
|
|
@@ -151,26 +170,25 @@ const svgResize = function(workspace) {
|
|
|
151
170
|
mainWorkspace.setCachedParentSvgSize(null, height);
|
|
152
171
|
}
|
|
153
172
|
mainWorkspace.resize();
|
|
154
|
-
}
|
|
155
|
-
exports.svgResize = svgResize;
|
|
173
|
+
}
|
|
156
174
|
|
|
157
175
|
/**
|
|
158
176
|
* All of the connections on blocks that are currently being dragged.
|
|
159
|
-
* @type {!Array<!Connection>}
|
|
160
177
|
*/
|
|
161
|
-
|
|
178
|
+
export const draggingConnections: Connection[] = [];
|
|
162
179
|
|
|
163
180
|
/**
|
|
164
181
|
* Get a map of all the block's descendants mapping their type to the number of
|
|
165
182
|
* children with that type.
|
|
166
|
-
* @param
|
|
167
|
-
* @param
|
|
183
|
+
* @param block The block to map.
|
|
184
|
+
* @param opt_stripFollowing Optionally ignore all following
|
|
168
185
|
* statements (blocks that are not inside a value or statement input
|
|
169
186
|
* of the block).
|
|
170
|
-
* @return
|
|
187
|
+
* @return Map of types to type counts for descendants of the bock.
|
|
171
188
|
* @alias Blockly.common.getBlockTypeCounts
|
|
172
189
|
*/
|
|
173
|
-
|
|
190
|
+
export function getBlockTypeCounts(
|
|
191
|
+
block: Block, opt_stripFollowing?: boolean): AnyDuringMigration {
|
|
174
192
|
const typeCountsMap = Object.create(null);
|
|
175
193
|
const descendants = block.getDescendants(true);
|
|
176
194
|
if (opt_stripFollowing) {
|
|
@@ -180,7 +198,7 @@ const getBlockTypeCounts = function(block, opt_stripFollowing) {
|
|
|
180
198
|
descendants.splice(index, descendants.length - index);
|
|
181
199
|
}
|
|
182
200
|
}
|
|
183
|
-
for (let i = 0, checkBlock;
|
|
201
|
+
for (let i = 0, checkBlock; checkBlock = descendants[i]; i++) {
|
|
184
202
|
if (typeCountsMap[checkBlock.type]) {
|
|
185
203
|
typeCountsMap[checkBlock.type]++;
|
|
186
204
|
} else {
|
|
@@ -188,50 +206,56 @@ const getBlockTypeCounts = function(block, opt_stripFollowing) {
|
|
|
188
206
|
}
|
|
189
207
|
}
|
|
190
208
|
return typeCountsMap;
|
|
191
|
-
}
|
|
192
|
-
exports.getBlockTypeCounts = getBlockTypeCounts;
|
|
209
|
+
}
|
|
193
210
|
|
|
194
211
|
/**
|
|
195
212
|
* Helper function for defining a block from JSON. The resulting function has
|
|
196
213
|
* the correct value of jsonDef at the point in code where jsonInit is called.
|
|
197
|
-
* @param
|
|
198
|
-
* @return
|
|
214
|
+
* @param jsonDef The JSON definition of a block.
|
|
215
|
+
* @return A function that calls jsonInit with the correct value
|
|
199
216
|
* of jsonDef.
|
|
200
217
|
*/
|
|
201
|
-
|
|
202
|
-
return
|
|
218
|
+
function jsonInitFactory(jsonDef: AnyDuringMigration): () => void {
|
|
219
|
+
return function(this: Block) {
|
|
203
220
|
this.jsonInit(jsonDef);
|
|
204
221
|
};
|
|
205
|
-
}
|
|
222
|
+
}
|
|
206
223
|
|
|
207
224
|
/**
|
|
208
225
|
* Define blocks from an array of JSON block definitions, as might be generated
|
|
209
226
|
* by the Blockly Developer Tools.
|
|
210
|
-
* @param
|
|
227
|
+
* @param jsonArray An array of JSON block definitions.
|
|
211
228
|
* @alias Blockly.common.defineBlocksWithJsonArray
|
|
212
229
|
*/
|
|
213
|
-
|
|
230
|
+
export function defineBlocksWithJsonArray(jsonArray: AnyDuringMigration[]) {
|
|
231
|
+
TEST_ONLY.defineBlocksWithJsonArrayInternal(jsonArray);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Private version of defineBlocksWithJsonArray for stubbing in tests.
|
|
236
|
+
*/
|
|
237
|
+
function defineBlocksWithJsonArrayInternal(jsonArray: AnyDuringMigration[]) {
|
|
214
238
|
defineBlocks(createBlockDefinitionsFromJsonArray(jsonArray));
|
|
215
|
-
}
|
|
216
|
-
exports.defineBlocksWithJsonArray = defineBlocksWithJsonArray;
|
|
239
|
+
}
|
|
217
240
|
|
|
218
241
|
/**
|
|
219
242
|
* Define blocks from an array of JSON block definitions, as might be generated
|
|
220
243
|
* by the Blockly Developer Tools.
|
|
221
|
-
* @param
|
|
222
|
-
* @return
|
|
244
|
+
* @param jsonArray An array of JSON block definitions.
|
|
245
|
+
* @return A map of the block
|
|
223
246
|
* definitions created.
|
|
224
247
|
* @alias Blockly.common.defineBlocksWithJsonArray
|
|
225
248
|
*/
|
|
226
|
-
|
|
227
|
-
|
|
249
|
+
export function createBlockDefinitionsFromJsonArray(
|
|
250
|
+
jsonArray: AnyDuringMigration[]): {[key: string]: BlockDefinition} {
|
|
251
|
+
const blocks: {[key: string]: BlockDefinition} = {};
|
|
228
252
|
for (let i = 0; i < jsonArray.length; i++) {
|
|
229
253
|
const elem = jsonArray[i];
|
|
230
254
|
if (!elem) {
|
|
231
255
|
console.warn(`Block definition #${i} in JSON array is ${elem}. Skipping`);
|
|
232
256
|
continue;
|
|
233
257
|
}
|
|
234
|
-
const type = elem
|
|
258
|
+
const type = elem['type'];
|
|
235
259
|
if (!type) {
|
|
236
260
|
console.warn(
|
|
237
261
|
`Block definition #${i} in JSON array is missing a type attribute. ` +
|
|
@@ -241,18 +265,16 @@ const createBlockDefinitionsFromJsonArray = function(jsonArray) {
|
|
|
241
265
|
blocks[type] = {init: jsonInitFactory(elem)};
|
|
242
266
|
}
|
|
243
267
|
return blocks;
|
|
244
|
-
}
|
|
245
|
-
exports.createBlockDefinitionsFromJsonArray =
|
|
246
|
-
createBlockDefinitionsFromJsonArray;
|
|
268
|
+
}
|
|
247
269
|
|
|
248
270
|
/**
|
|
249
271
|
* Add the specified block definitions to the block definitions
|
|
250
272
|
* dictionary (Blockly.Blocks).
|
|
251
|
-
* @param
|
|
273
|
+
* @param blocks A map of block
|
|
252
274
|
* type names to block definitions.
|
|
253
275
|
* @alias Blockly.common.defineBlocks
|
|
254
276
|
*/
|
|
255
|
-
|
|
277
|
+
export function defineBlocks(blocks: {[key: string]: BlockDefinition}) {
|
|
256
278
|
// Iterate over own enumerable properties.
|
|
257
279
|
for (const type of Object.keys(blocks)) {
|
|
258
280
|
const definition = blocks[type];
|
|
@@ -261,5 +283,6 @@ const defineBlocks = function(blocks) {
|
|
|
261
283
|
}
|
|
262
284
|
Blocks[type] = definition;
|
|
263
285
|
}
|
|
264
|
-
}
|
|
265
|
-
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
export const TEST_ONLY = {defineBlocksWithJsonArrayInternal};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { IAutoHideable } from './interfaces/i_autohideable.js';
|
|
7
|
+
import type { IComponent } from './interfaces/i_component.js';
|
|
8
|
+
import type { IDeleteArea } from './interfaces/i_delete_area.js';
|
|
9
|
+
import type { IDragTarget } from './interfaces/i_drag_target.js';
|
|
10
|
+
import type { IPositionable } from './interfaces/i_positionable.js';
|
|
11
|
+
declare class Capability<T> {
|
|
12
|
+
static POSITIONABLE: Capability<IPositionable>;
|
|
13
|
+
static DRAG_TARGET: Capability<IDragTarget>;
|
|
14
|
+
static DELETE_AREA: Capability<IDeleteArea>;
|
|
15
|
+
static AUTOHIDEABLE: Capability<IAutoHideable>;
|
|
16
|
+
private readonly name_;
|
|
17
|
+
/** @param name The name of the component capability. */
|
|
18
|
+
constructor(name: string);
|
|
19
|
+
/**
|
|
20
|
+
* Returns the name of the capability.
|
|
21
|
+
* @return The name.
|
|
22
|
+
*/
|
|
23
|
+
toString(): string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Manager for all items registered with the workspace.
|
|
27
|
+
* @alias Blockly.ComponentManager
|
|
28
|
+
*/
|
|
29
|
+
export declare class ComponentManager {
|
|
30
|
+
static Capability: typeof Capability;
|
|
31
|
+
/**
|
|
32
|
+
* A map of the components registered with the workspace, mapped to id.
|
|
33
|
+
*/
|
|
34
|
+
private readonly componentData;
|
|
35
|
+
/** A map of capabilities to component IDs. */
|
|
36
|
+
private readonly capabilityToComponentIds;
|
|
37
|
+
/**
|
|
38
|
+
* Adds a component.
|
|
39
|
+
* @param componentInfo The data for the component to register.
|
|
40
|
+
* @param opt_allowOverrides True to prevent an error when overriding an
|
|
41
|
+
* already registered item.
|
|
42
|
+
*/
|
|
43
|
+
addComponent(componentInfo: ComponentDatum, opt_allowOverrides?: boolean): void;
|
|
44
|
+
/**
|
|
45
|
+
* Removes a component.
|
|
46
|
+
* @param id The ID of the component to remove.
|
|
47
|
+
*/
|
|
48
|
+
removeComponent(id: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Adds a capability to a existing registered component.
|
|
51
|
+
* @param id The ID of the component to add the capability to.
|
|
52
|
+
* @param capability The capability to add.
|
|
53
|
+
*/
|
|
54
|
+
addCapability<T>(id: string, capability: string | Capability<T>): void;
|
|
55
|
+
/**
|
|
56
|
+
* Removes a capability from an existing registered component.
|
|
57
|
+
* @param id The ID of the component to remove the capability from.
|
|
58
|
+
* @param capability The capability to remove.
|
|
59
|
+
*/
|
|
60
|
+
removeCapability<T>(id: string, capability: string | Capability<T>): void;
|
|
61
|
+
/**
|
|
62
|
+
* Returns whether the component with this id has the specified capability.
|
|
63
|
+
* @param id The ID of the component to check.
|
|
64
|
+
* @param capability The capability to check for.
|
|
65
|
+
* @return Whether the component has the capability.
|
|
66
|
+
*/
|
|
67
|
+
hasCapability<T>(id: string, capability: string | Capability<T>): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Gets the component with the given ID.
|
|
70
|
+
* @param id The ID of the component to get.
|
|
71
|
+
* @return The component with the given name or undefined if not found.
|
|
72
|
+
*/
|
|
73
|
+
getComponent(id: string): IComponent | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Gets all the components with the specified capability.
|
|
76
|
+
* @param capability The capability of the component.
|
|
77
|
+
* @param sorted Whether to return list ordered by weights.
|
|
78
|
+
* @return The components that match the specified capability.
|
|
79
|
+
*/
|
|
80
|
+
getComponents<T>(capability: string | Capability<T>, sorted: boolean): T[];
|
|
81
|
+
}
|
|
82
|
+
export declare namespace ComponentManager {
|
|
83
|
+
/** An object storing component information. */
|
|
84
|
+
interface ComponentDatum {
|
|
85
|
+
component: IComponent;
|
|
86
|
+
capabilities: Array<string | Capability<IComponent>>;
|
|
87
|
+
weight: number;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export declare type ComponentDatum = ComponentManager.ComponentDatum;
|
|
91
|
+
export {};
|