blockly 8.0.5 → 9.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2002 -2269
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +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/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/icon.js
DELETED
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2013 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Object representing an icon on a block.
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Object representing an icon on a block.
|
|
14
|
-
* @class
|
|
15
|
-
*/
|
|
16
|
-
goog.module('Blockly.Icon');
|
|
17
|
-
|
|
18
|
-
const browserEvents = goog.require('Blockly.browserEvents');
|
|
19
|
-
const dom = goog.require('Blockly.utils.dom');
|
|
20
|
-
const svgMath = goog.require('Blockly.utils.svgMath');
|
|
21
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
22
|
-
const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
|
|
23
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
24
|
-
const {Bubble} = goog.requireType('Blockly.Bubble');
|
|
25
|
-
const {Coordinate} = goog.require('Blockly.utils.Coordinate');
|
|
26
|
-
const {Size} = goog.require('Blockly.utils.Size');
|
|
27
|
-
const {Svg} = goog.require('Blockly.utils.Svg');
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Class for an icon.
|
|
32
|
-
* @abstract
|
|
33
|
-
* @alias Blockly.Icon
|
|
34
|
-
*/
|
|
35
|
-
class Icon {
|
|
36
|
-
/**
|
|
37
|
-
* @param {BlockSvg} block The block associated with this icon.
|
|
38
|
-
*/
|
|
39
|
-
constructor(block) {
|
|
40
|
-
/**
|
|
41
|
-
* The block this icon is attached to.
|
|
42
|
-
* @type {BlockSvg}
|
|
43
|
-
* @protected
|
|
44
|
-
*/
|
|
45
|
-
this.block_ = block;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* The icon SVG group.
|
|
49
|
-
* @type {?SVGGElement}
|
|
50
|
-
*/
|
|
51
|
-
this.iconGroup_ = null;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Whether this icon gets hidden when the block is collapsed.
|
|
55
|
-
* @type {boolean}
|
|
56
|
-
*/
|
|
57
|
-
this.collapseHidden = true;
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Height and width of icons.
|
|
61
|
-
* @const
|
|
62
|
-
*/
|
|
63
|
-
this.SIZE = 17;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Bubble UI (if visible).
|
|
67
|
-
* @type {?Bubble}
|
|
68
|
-
* @protected
|
|
69
|
-
*/
|
|
70
|
-
this.bubble_ = null;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Absolute coordinate of icon's center.
|
|
74
|
-
* @type {?Coordinate}
|
|
75
|
-
* @protected
|
|
76
|
-
*/
|
|
77
|
-
this.iconXY_ = null;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Create the icon on the block.
|
|
82
|
-
*/
|
|
83
|
-
createIcon() {
|
|
84
|
-
if (this.iconGroup_) {
|
|
85
|
-
// Icon already exists.
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
/* Here's the markup that will be generated:
|
|
89
|
-
<g class="blocklyIconGroup">
|
|
90
|
-
...
|
|
91
|
-
</g>
|
|
92
|
-
*/
|
|
93
|
-
this.iconGroup_ =
|
|
94
|
-
dom.createSvgElement(Svg.G, {'class': 'blocklyIconGroup'}, null);
|
|
95
|
-
if (this.block_.isInFlyout) {
|
|
96
|
-
dom.addClass(
|
|
97
|
-
/** @type {!Element} */ (this.iconGroup_),
|
|
98
|
-
'blocklyIconGroupReadonly');
|
|
99
|
-
}
|
|
100
|
-
this.drawIcon_(this.iconGroup_);
|
|
101
|
-
|
|
102
|
-
this.block_.getSvgRoot().appendChild(this.iconGroup_);
|
|
103
|
-
browserEvents.conditionalBind(
|
|
104
|
-
this.iconGroup_, 'mouseup', this, this.iconClick_);
|
|
105
|
-
this.updateEditable();
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Dispose of this icon.
|
|
110
|
-
*/
|
|
111
|
-
dispose() {
|
|
112
|
-
// Dispose of and unlink the icon.
|
|
113
|
-
dom.removeNode(this.iconGroup_);
|
|
114
|
-
this.iconGroup_ = null;
|
|
115
|
-
// Dispose of and unlink the bubble.
|
|
116
|
-
this.setVisible(false);
|
|
117
|
-
this.block_ = null;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Add or remove the UI indicating if this icon may be clicked or not.
|
|
122
|
-
*/
|
|
123
|
-
updateEditable() {
|
|
124
|
-
// No-op on the base class.
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Is the associated bubble visible?
|
|
129
|
-
* @return {boolean} True if the bubble is visible.
|
|
130
|
-
*/
|
|
131
|
-
isVisible() {
|
|
132
|
-
return !!this.bubble_;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Clicking on the icon toggles if the bubble is visible.
|
|
137
|
-
* @param {!Event} e Mouse click event.
|
|
138
|
-
* @protected
|
|
139
|
-
*/
|
|
140
|
-
iconClick_(e) {
|
|
141
|
-
if (this.block_.workspace.isDragging()) {
|
|
142
|
-
// Drag operation is concluding. Don't open the editor.
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
if (!this.block_.isInFlyout && !browserEvents.isRightButton(e)) {
|
|
146
|
-
this.setVisible(!this.isVisible());
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Change the colour of the associated bubble to match its block.
|
|
152
|
-
*/
|
|
153
|
-
applyColour() {
|
|
154
|
-
if (this.isVisible()) {
|
|
155
|
-
this.bubble_.setColour(this.block_.style.colourPrimary);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Notification that the icon has moved. Update the arrow accordingly.
|
|
161
|
-
* @param {!Coordinate} xy Absolute location in workspace coordinates.
|
|
162
|
-
*/
|
|
163
|
-
setIconLocation(xy) {
|
|
164
|
-
this.iconXY_ = xy;
|
|
165
|
-
if (this.isVisible()) {
|
|
166
|
-
this.bubble_.setAnchorLocation(xy);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Notification that the icon has moved, but we don't really know where.
|
|
172
|
-
* Recompute the icon's location from scratch.
|
|
173
|
-
*/
|
|
174
|
-
computeIconLocation() {
|
|
175
|
-
// Find coordinates for the centre of the icon and update the arrow.
|
|
176
|
-
const blockXY = this.block_.getRelativeToSurfaceXY();
|
|
177
|
-
const iconXY = svgMath.getRelativeXY(
|
|
178
|
-
/** @type {!SVGElement} */ (this.iconGroup_));
|
|
179
|
-
const newXY = new Coordinate(
|
|
180
|
-
blockXY.x + iconXY.x + this.SIZE / 2,
|
|
181
|
-
blockXY.y + iconXY.y + this.SIZE / 2);
|
|
182
|
-
if (!Coordinate.equals(this.getIconLocation(), newXY)) {
|
|
183
|
-
this.setIconLocation(newXY);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Returns the center of the block's icon relative to the surface.
|
|
189
|
-
* @return {?Coordinate} Object with x and y properties in
|
|
190
|
-
* workspace coordinates.
|
|
191
|
-
*/
|
|
192
|
-
getIconLocation() {
|
|
193
|
-
return this.iconXY_;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Get the size of the icon as used for rendering.
|
|
198
|
-
* This differs from the actual size of the icon, because it bulges slightly
|
|
199
|
-
* out of its row rather than increasing the height of its row.
|
|
200
|
-
* @return {!Size} Height and width.
|
|
201
|
-
*/
|
|
202
|
-
getCorrectedSize() {
|
|
203
|
-
// TODO (#2562): Remove getCorrectedSize.
|
|
204
|
-
return new Size(this.SIZE, this.SIZE - 2);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Draw the icon.
|
|
209
|
-
* @param {!Element} _group The icon group.
|
|
210
|
-
* @protected
|
|
211
|
-
*/
|
|
212
|
-
drawIcon_(_group) {
|
|
213
|
-
// No-op on base class.
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Show or hide the icon.
|
|
218
|
-
* @param {boolean} _visible True if the icon should be visible.
|
|
219
|
-
*/
|
|
220
|
-
setVisible(_visible) {
|
|
221
|
-
// No-op on base class
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
exports.Icon = Icon;
|
package/core/input.js
DELETED
|
@@ -1,335 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2012 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Object representing an input (value, statement, or dummy).
|
|
9
|
-
*/
|
|
10
|
-
'use strict';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Object representing an input (value, statement, or dummy).
|
|
14
|
-
* @class
|
|
15
|
-
*/
|
|
16
|
-
goog.module('Blockly.Input');
|
|
17
|
-
|
|
18
|
-
const fieldRegistry = goog.require('Blockly.fieldRegistry');
|
|
19
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
20
|
-
const {BlockSvg} = goog.requireType('Blockly.BlockSvg');
|
|
21
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
22
|
-
const {Block} = goog.requireType('Blockly.Block');
|
|
23
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
24
|
-
const {Connection} = goog.requireType('Blockly.Connection');
|
|
25
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
26
|
-
const {Field} = goog.requireType('Blockly.Field');
|
|
27
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
28
|
-
const {RenderedConnection} = goog.requireType('Blockly.RenderedConnection');
|
|
29
|
-
const {inputTypes} = goog.require('Blockly.inputTypes');
|
|
30
|
-
/** @suppress {extraRequire} */
|
|
31
|
-
goog.require('Blockly.FieldLabel');
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Class for an input with an optional field.
|
|
36
|
-
* @alias Blockly.Input
|
|
37
|
-
*/
|
|
38
|
-
class Input {
|
|
39
|
-
/**
|
|
40
|
-
* @param {number} type The type of the input.
|
|
41
|
-
* @param {string} name Language-neutral identifier which may used to find
|
|
42
|
-
* this input again.
|
|
43
|
-
* @param {!Block} block The block containing this input.
|
|
44
|
-
* @param {Connection} connection Optional connection for this input.
|
|
45
|
-
*/
|
|
46
|
-
constructor(type, name, block, connection) {
|
|
47
|
-
if (type !== inputTypes.DUMMY && !name) {
|
|
48
|
-
throw Error(
|
|
49
|
-
'Value inputs and statement inputs must have non-empty name.');
|
|
50
|
-
}
|
|
51
|
-
/** @type {number} */
|
|
52
|
-
this.type = type;
|
|
53
|
-
/** @type {string} */
|
|
54
|
-
this.name = name;
|
|
55
|
-
/**
|
|
56
|
-
* @type {!Block}
|
|
57
|
-
* @private
|
|
58
|
-
*/
|
|
59
|
-
this.sourceBlock_ = block;
|
|
60
|
-
/** @type {Connection} */
|
|
61
|
-
this.connection = connection;
|
|
62
|
-
/** @type {!Array<!Field>} */
|
|
63
|
-
this.fieldRow = [];
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Alignment of input's fields (left, right or centre).
|
|
67
|
-
* @type {number}
|
|
68
|
-
*/
|
|
69
|
-
this.align = Align.LEFT;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Is the input visible?
|
|
73
|
-
* @type {boolean}
|
|
74
|
-
* @private
|
|
75
|
-
*/
|
|
76
|
-
this.visible_ = true;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Get the source block for this input.
|
|
81
|
-
* @return {?Block} The source block, or null if there is none.
|
|
82
|
-
*/
|
|
83
|
-
getSourceBlock() {
|
|
84
|
-
return this.sourceBlock_;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Add a field (or label from string), and all prefix and suffix fields, to
|
|
89
|
-
* the end of the input's field row.
|
|
90
|
-
* @param {string|!Field} field Something to add as a field.
|
|
91
|
-
* @param {string=} opt_name Language-neutral identifier which may used to
|
|
92
|
-
* find this field again. Should be unique to the host block.
|
|
93
|
-
* @return {!Input} The input being append to (to allow chaining).
|
|
94
|
-
*/
|
|
95
|
-
appendField(field, opt_name) {
|
|
96
|
-
this.insertFieldAt(this.fieldRow.length, field, opt_name);
|
|
97
|
-
return this;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Inserts a field (or label from string), and all prefix and suffix fields,
|
|
102
|
-
* at the location of the input's field row.
|
|
103
|
-
* @param {number} index The index at which to insert field.
|
|
104
|
-
* @param {string|!Field} field Something to add as a field.
|
|
105
|
-
* @param {string=} opt_name Language-neutral identifier which may used to
|
|
106
|
-
* find this field again. Should be unique to the host block.
|
|
107
|
-
* @return {number} The index following the last inserted field.
|
|
108
|
-
*/
|
|
109
|
-
insertFieldAt(index, field, opt_name) {
|
|
110
|
-
if (index < 0 || index > this.fieldRow.length) {
|
|
111
|
-
throw Error('index ' + index + ' out of bounds.');
|
|
112
|
-
}
|
|
113
|
-
// Falsy field values don't generate a field, unless the field is an empty
|
|
114
|
-
// string and named.
|
|
115
|
-
if (!field && !(field === '' && opt_name)) {
|
|
116
|
-
return index;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// Generate a FieldLabel when given a plain text field.
|
|
120
|
-
if (typeof field === 'string') {
|
|
121
|
-
field = /** @type {!Field} **/ (fieldRegistry.fromJson({
|
|
122
|
-
'type': 'field_label',
|
|
123
|
-
'text': field,
|
|
124
|
-
}));
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
field.setSourceBlock(this.sourceBlock_);
|
|
128
|
-
if (this.sourceBlock_.rendered) {
|
|
129
|
-
field.init();
|
|
130
|
-
field.applyColour();
|
|
131
|
-
}
|
|
132
|
-
field.name = opt_name;
|
|
133
|
-
field.setVisible(this.isVisible());
|
|
134
|
-
|
|
135
|
-
if (field.prefixField) {
|
|
136
|
-
// Add any prefix.
|
|
137
|
-
index = this.insertFieldAt(index, field.prefixField);
|
|
138
|
-
}
|
|
139
|
-
// Add the field to the field row.
|
|
140
|
-
this.fieldRow.splice(index, 0, field);
|
|
141
|
-
index++;
|
|
142
|
-
if (field.suffixField) {
|
|
143
|
-
// Add any suffix.
|
|
144
|
-
index = this.insertFieldAt(index, field.suffixField);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
if (this.sourceBlock_.rendered) {
|
|
148
|
-
this.sourceBlock_ = /** @type {!BlockSvg} */ (this.sourceBlock_);
|
|
149
|
-
this.sourceBlock_.render();
|
|
150
|
-
// Adding a field will cause the block to change shape.
|
|
151
|
-
this.sourceBlock_.bumpNeighbours();
|
|
152
|
-
}
|
|
153
|
-
return index;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Remove a field from this input.
|
|
158
|
-
* @param {string} name The name of the field.
|
|
159
|
-
* @param {boolean=} opt_quiet True to prevent an error if field is not
|
|
160
|
-
* present.
|
|
161
|
-
* @return {boolean} True if operation succeeds, false if field is not present
|
|
162
|
-
* and opt_quiet is true.
|
|
163
|
-
* @throws {Error} if the field is not present and opt_quiet is false.
|
|
164
|
-
*/
|
|
165
|
-
removeField(name, opt_quiet) {
|
|
166
|
-
for (let i = 0, field; (field = this.fieldRow[i]); i++) {
|
|
167
|
-
if (field.name === name) {
|
|
168
|
-
field.dispose();
|
|
169
|
-
this.fieldRow.splice(i, 1);
|
|
170
|
-
if (this.sourceBlock_.rendered) {
|
|
171
|
-
this.sourceBlock_ = /** @type {!BlockSvg} */ (this.sourceBlock_);
|
|
172
|
-
this.sourceBlock_.render();
|
|
173
|
-
// Removing a field will cause the block to change shape.
|
|
174
|
-
this.sourceBlock_.bumpNeighbours();
|
|
175
|
-
}
|
|
176
|
-
return true;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
if (opt_quiet) {
|
|
180
|
-
return false;
|
|
181
|
-
}
|
|
182
|
-
throw Error('Field "' + name + '" not found.');
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Gets whether this input is visible or not.
|
|
187
|
-
* @return {boolean} True if visible.
|
|
188
|
-
*/
|
|
189
|
-
isVisible() {
|
|
190
|
-
return this.visible_;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Sets whether this input is visible or not.
|
|
195
|
-
* Should only be used to collapse/uncollapse a block.
|
|
196
|
-
* @param {boolean} visible True if visible.
|
|
197
|
-
* @return {!Array<!BlockSvg>} List of blocks to render.
|
|
198
|
-
* @package
|
|
199
|
-
*/
|
|
200
|
-
setVisible(visible) {
|
|
201
|
-
// Note: Currently there are only unit tests for block.setCollapsed()
|
|
202
|
-
// because this function is package. If this function goes back to being a
|
|
203
|
-
// public API tests (lots of tests) should be added.
|
|
204
|
-
let renderList = [];
|
|
205
|
-
if (this.visible_ === visible) {
|
|
206
|
-
return renderList;
|
|
207
|
-
}
|
|
208
|
-
this.visible_ = visible;
|
|
209
|
-
|
|
210
|
-
for (let y = 0, field; (field = this.fieldRow[y]); y++) {
|
|
211
|
-
field.setVisible(visible);
|
|
212
|
-
}
|
|
213
|
-
if (this.connection) {
|
|
214
|
-
this.connection =
|
|
215
|
-
/** @type {!RenderedConnection} */ (this.connection);
|
|
216
|
-
// Has a connection.
|
|
217
|
-
if (visible) {
|
|
218
|
-
renderList = this.connection.startTrackingAll();
|
|
219
|
-
} else {
|
|
220
|
-
this.connection.stopTrackingAll();
|
|
221
|
-
}
|
|
222
|
-
const child = this.connection.targetBlock();
|
|
223
|
-
if (child) {
|
|
224
|
-
child.getSvgRoot().style.display = visible ? 'block' : 'none';
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
return renderList;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Mark all fields on this input as dirty.
|
|
232
|
-
* @package
|
|
233
|
-
*/
|
|
234
|
-
markDirty() {
|
|
235
|
-
for (let y = 0, field; (field = this.fieldRow[y]); y++) {
|
|
236
|
-
field.markDirty();
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* Change a connection's compatibility.
|
|
242
|
-
* @param {string|Array<string>|null} check Compatible value type or
|
|
243
|
-
* list of value types. Null if all types are compatible.
|
|
244
|
-
* @return {!Input} The input being modified (to allow chaining).
|
|
245
|
-
*/
|
|
246
|
-
setCheck(check) {
|
|
247
|
-
if (!this.connection) {
|
|
248
|
-
throw Error('This input does not have a connection.');
|
|
249
|
-
}
|
|
250
|
-
this.connection.setCheck(check);
|
|
251
|
-
return this;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Change the alignment of the connection's field(s).
|
|
256
|
-
* @param {number} align One of the values of Align
|
|
257
|
-
* In RTL mode directions are reversed, and Align.RIGHT aligns to the left.
|
|
258
|
-
* @return {!Input} The input being modified (to allow chaining).
|
|
259
|
-
*/
|
|
260
|
-
setAlign(align) {
|
|
261
|
-
this.align = align;
|
|
262
|
-
if (this.sourceBlock_.rendered) {
|
|
263
|
-
this.sourceBlock_ = /** @type {!BlockSvg} */ (this.sourceBlock_);
|
|
264
|
-
this.sourceBlock_.render();
|
|
265
|
-
}
|
|
266
|
-
return this;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* Changes the connection's shadow block.
|
|
271
|
-
* @param {?Element} shadow DOM representation of a block or null.
|
|
272
|
-
* @return {!Input} The input being modified (to allow chaining).
|
|
273
|
-
*/
|
|
274
|
-
setShadowDom(shadow) {
|
|
275
|
-
if (!this.connection) {
|
|
276
|
-
throw Error('This input does not have a connection.');
|
|
277
|
-
}
|
|
278
|
-
this.connection.setShadowDom(shadow);
|
|
279
|
-
return this;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Returns the XML representation of the connection's shadow block.
|
|
284
|
-
* @return {?Element} Shadow DOM representation of a block or null.
|
|
285
|
-
*/
|
|
286
|
-
getShadowDom() {
|
|
287
|
-
if (!this.connection) {
|
|
288
|
-
throw Error('This input does not have a connection.');
|
|
289
|
-
}
|
|
290
|
-
return this.connection.getShadowDom();
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
/**
|
|
294
|
-
* Initialize the fields on this input.
|
|
295
|
-
*/
|
|
296
|
-
init() {
|
|
297
|
-
if (!this.sourceBlock_.workspace.rendered) {
|
|
298
|
-
return; // Headless blocks don't need fields initialized.
|
|
299
|
-
}
|
|
300
|
-
for (let i = 0; i < this.fieldRow.length; i++) {
|
|
301
|
-
this.fieldRow[i].init();
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* Sever all links to this input.
|
|
307
|
-
* @suppress {checkTypes}
|
|
308
|
-
*/
|
|
309
|
-
dispose() {
|
|
310
|
-
for (let i = 0, field; (field = this.fieldRow[i]); i++) {
|
|
311
|
-
field.dispose();
|
|
312
|
-
}
|
|
313
|
-
if (this.connection) {
|
|
314
|
-
this.connection.dispose();
|
|
315
|
-
}
|
|
316
|
-
this.sourceBlock_ = null;
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* Enum for alignment of inputs.
|
|
322
|
-
* @enum {number}
|
|
323
|
-
* @alias Blockly.Input.Align
|
|
324
|
-
*/
|
|
325
|
-
const Align = {
|
|
326
|
-
LEFT: -1,
|
|
327
|
-
CENTRE: 0,
|
|
328
|
-
RIGHT: 1,
|
|
329
|
-
};
|
|
330
|
-
exports.Align = Align;
|
|
331
|
-
|
|
332
|
-
// Add Align to Input so that `Blockly.Input.Align` is publicly accessible.
|
|
333
|
-
Input.Align = Align;
|
|
334
|
-
|
|
335
|
-
exports.Input = Input;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2020 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview The interface for an AST node location SVG.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* The interface for an AST node location SVG.
|
|
15
|
-
* @namespace Blockly.IASTNodeLocationSvg
|
|
16
|
-
*/
|
|
17
|
-
goog.module('Blockly.IASTNodeLocationSvg');
|
|
18
|
-
|
|
19
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
20
|
-
const {IASTNodeLocation} = goog.require('Blockly.IASTNodeLocation');
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* An AST node location SVG interface.
|
|
25
|
-
* @interface
|
|
26
|
-
* @extends {IASTNodeLocation}
|
|
27
|
-
* @alias Blockly.IASTNodeLocationSvg
|
|
28
|
-
*/
|
|
29
|
-
const IASTNodeLocationSvg = function() {};
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Add the marker SVG to this node's SVG group.
|
|
33
|
-
* @param {SVGElement} markerSvg The SVG root of the marker to be added to the
|
|
34
|
-
* SVG group.
|
|
35
|
-
*/
|
|
36
|
-
IASTNodeLocationSvg.prototype.setMarkerSvg;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Add the cursor SVG to this node's SVG group.
|
|
40
|
-
* @param {SVGElement} cursorSvg The SVG root of the cursor to be added to the
|
|
41
|
-
* SVG group.
|
|
42
|
-
*/
|
|
43
|
-
IASTNodeLocationSvg.prototype.setCursorSvg;
|
|
44
|
-
|
|
45
|
-
exports.IASTNodeLocationSvg = IASTNodeLocationSvg;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2020 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview The interface for an AST node location that has an associated
|
|
9
|
-
* block.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
'use strict';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* The interface for an AST node location that has an associated
|
|
16
|
-
* block.
|
|
17
|
-
* @namespace Blockly.IASTNodeLocationWithBlock
|
|
18
|
-
*/
|
|
19
|
-
goog.module('Blockly.IASTNodeLocationWithBlock');
|
|
20
|
-
|
|
21
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
22
|
-
const {Block} = goog.requireType('Blockly.Block');
|
|
23
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
24
|
-
const {IASTNodeLocation} = goog.require('Blockly.IASTNodeLocation');
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* An AST node location that has an associated block.
|
|
29
|
-
* @interface
|
|
30
|
-
* @extends {IASTNodeLocation}
|
|
31
|
-
* @alias Blockly.IASTNodeLocationWithBlock
|
|
32
|
-
*/
|
|
33
|
-
const IASTNodeLocationWithBlock = function() {};
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Get the source block associated with this node.
|
|
37
|
-
* @return {Block} The source block.
|
|
38
|
-
*/
|
|
39
|
-
IASTNodeLocationWithBlock.prototype.getSourceBlock;
|
|
40
|
-
|
|
41
|
-
exports.IASTNodeLocationWithBlock = IASTNodeLocationWithBlock;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview The interface for a component that is automatically hidden
|
|
9
|
-
* when WorkspaceSvg.hideChaff is called.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
'use strict';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* The interface for a component that is automatically hidden
|
|
16
|
-
* when WorkspaceSvg.hideChaff is called.
|
|
17
|
-
* @namespace Blockly.IAutoHideable
|
|
18
|
-
*/
|
|
19
|
-
goog.module('Blockly.IAutoHideable');
|
|
20
|
-
|
|
21
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
22
|
-
const {IComponent} = goog.require('Blockly.IComponent');
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Interface for a component that can be automatically hidden.
|
|
27
|
-
* @extends {IComponent}
|
|
28
|
-
* @interface
|
|
29
|
-
* @alias Blockly.IAutoHideable
|
|
30
|
-
*/
|
|
31
|
-
const IAutoHideable = function() {};
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Hides the component. Called in WorkspaceSvg.hideChaff.
|
|
35
|
-
* @param {boolean} onlyClosePopups Whether only popups should be closed.
|
|
36
|
-
* Flyouts should not be closed if this is true.
|
|
37
|
-
*/
|
|
38
|
-
IAutoHideable.prototype.autoHide;
|
|
39
|
-
|
|
40
|
-
exports.IAutoHideable = IAutoHideable;
|