blockly 8.0.4-beta.0 → 8.0.5-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2421 -2688
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -719
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/input.ts +309 -0
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +229 -228
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +421 -421
- package/msg/ace.js +421 -421
- package/msg/af.js +421 -421
- package/msg/am.js +421 -421
- package/msg/ar.js +421 -421
- package/msg/ast.js +421 -421
- package/msg/az.js +421 -421
- package/msg/ba.js +421 -421
- package/msg/bcc.js +421 -421
- package/msg/be-tarask.js +421 -421
- package/msg/be.js +421 -421
- package/msg/bg.js +421 -421
- package/msg/bn.js +421 -421
- package/msg/br.js +421 -421
- package/msg/bs.js +421 -421
- package/msg/ca.js +421 -421
- package/msg/cdo.js +421 -421
- package/msg/cs.js +421 -421
- package/msg/da.js +421 -421
- package/msg/de.js +421 -421
- package/msg/diq.js +421 -421
- package/msg/dty.js +421 -421
- package/msg/ee.js +421 -421
- package/msg/el.js +421 -421
- package/msg/en-gb.js +421 -421
- package/msg/en.js +421 -421
- package/msg/eo.js +421 -421
- package/msg/es.js +421 -421
- package/msg/et.js +421 -421
- package/msg/eu.js +421 -421
- package/msg/fa.js +421 -421
- package/msg/fi.js +421 -421
- package/msg/fo.js +421 -421
- package/msg/fr.js +421 -421
- package/msg/frr.js +421 -421
- package/msg/gl.js +421 -421
- package/msg/gn.js +421 -421
- package/msg/gor.js +421 -421
- package/msg/ha.js +421 -421
- package/msg/hak.js +421 -421
- package/msg/he.js +421 -421
- package/msg/hi.js +421 -421
- package/msg/hr.js +421 -421
- package/msg/hrx.js +421 -421
- package/msg/hu.js +421 -421
- package/msg/hy.js +421 -421
- package/msg/ia.js +421 -421
- package/msg/id.js +421 -421
- package/msg/ig.js +421 -421
- package/msg/inh.js +421 -421
- package/msg/is.js +421 -421
- package/msg/it.js +421 -421
- package/msg/ja.js +421 -421
- package/msg/ka.js +421 -421
- package/msg/kab.js +421 -421
- package/msg/kbd-cyrl.js +421 -421
- package/msg/km.js +421 -421
- package/msg/kn.js +421 -421
- package/msg/ko.js +421 -421
- package/msg/ksh.js +421 -421
- package/msg/ku-latn.js +421 -421
- package/msg/ky.js +421 -421
- package/msg/la.js +421 -421
- package/msg/lb.js +421 -421
- package/msg/lki.js +421 -421
- package/msg/lo.js +421 -421
- package/msg/lrc.js +421 -421
- package/msg/lt.js +421 -421
- package/msg/lv.js +421 -421
- package/msg/mg.js +421 -421
- package/msg/mk.js +421 -421
- package/msg/ml.js +421 -421
- package/msg/mnw.js +421 -421
- package/msg/ms.js +421 -421
- package/msg/my.js +421 -421
- package/msg/mzn.js +421 -421
- package/msg/nb.js +421 -421
- package/msg/ne.js +421 -421
- package/msg/nl.js +421 -421
- package/msg/oc.js +421 -421
- package/msg/olo.js +421 -421
- package/msg/pa.js +421 -421
- package/msg/pl.js +421 -421
- package/msg/pms.js +421 -421
- package/msg/ps.js +421 -421
- package/msg/pt-br.js +421 -421
- package/msg/pt.js +421 -421
- package/msg/ro.js +421 -421
- package/msg/ru.js +421 -421
- package/msg/sc.js +421 -421
- package/msg/sco.js +421 -421
- package/msg/sd.js +421 -421
- package/msg/shn.js +421 -421
- package/msg/si.js +421 -421
- package/msg/sk.js +421 -421
- package/msg/skr-arab.js +421 -421
- package/msg/sl.js +421 -421
- package/msg/smn.js +421 -421
- package/msg/sq.js +421 -421
- package/msg/sr-latn.js +421 -421
- package/msg/sr.js +421 -421
- package/msg/sv.js +421 -421
- package/msg/sw.js +421 -421
- package/msg/ta.js +421 -421
- package/msg/tcy.js +421 -421
- package/msg/te.js +421 -421
- package/msg/th.js +421 -421
- package/msg/ti.js +421 -421
- package/msg/tl.js +421 -421
- package/msg/tlh.js +421 -421
- package/msg/tr.js +421 -421
- package/msg/ug-arab.js +421 -421
- package/msg/uk.js +421 -421
- package/msg/ur.js +421 -421
- package/msg/uz.js +421 -421
- package/msg/vi.js +421 -421
- package/msg/xmf.js +421 -421
- package/msg/yo.js +421 -421
- package/msg/yue.js +421 -421
- package/msg/zgh.js +421 -421
- package/msg/zh-hans.js +421 -421
- package/msg/zh-hant.js +421 -421
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/input.js +0 -335
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -293
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -7,109 +7,79 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Functionality for the right-click context menus.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Functionality for the right-click context menus.
|
|
14
13
|
* @namespace Blockly.ContextMenu
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.ContextMenu');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
41
|
-
const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
|
|
42
|
-
/** @suppress {extraRequire} */
|
|
43
|
-
goog.require('Blockly.Events.BlockCreate');
|
|
18
|
+
import type {Block} from './block.js';
|
|
19
|
+
import type {BlockSvg} from './block_svg.js';
|
|
20
|
+
import * as browserEvents from './browser_events.js';
|
|
21
|
+
import * as clipboard from './clipboard.js';
|
|
22
|
+
import {config} from './config.js';
|
|
23
|
+
import type {ContextMenuOption, ContextMenuRegistry, LegacyContextMenuOption} from './contextmenu_registry.js';
|
|
24
|
+
import * as BlockCreate from './events/events_block_create.js';
|
|
25
|
+
import * as eventUtils from './events/utils.js';
|
|
26
|
+
import {Menu} from './menu.js';
|
|
27
|
+
import {MenuItem} from './menuitem.js';
|
|
28
|
+
import {Msg} from './msg.js';
|
|
29
|
+
import * as aria from './utils/aria.js';
|
|
30
|
+
import {Coordinate} from './utils/coordinate.js';
|
|
31
|
+
import * as deprecation from './utils/deprecation.js';
|
|
32
|
+
import * as dom from './utils/dom.js';
|
|
33
|
+
import {Rect} from './utils/rect.js';
|
|
34
|
+
import * as svgMath from './utils/svg_math.js';
|
|
35
|
+
import * as userAgent from './utils/useragent.js';
|
|
36
|
+
import * as WidgetDiv from './widgetdiv.js';
|
|
37
|
+
import {WorkspaceCommentSvg} from './workspace_comment_svg.js';
|
|
38
|
+
import type {WorkspaceSvg} from './workspace_svg.js';
|
|
39
|
+
import * as Xml from './xml.js';
|
|
44
40
|
|
|
45
41
|
|
|
46
42
|
/**
|
|
47
43
|
* Which block is the context menu attached to?
|
|
48
|
-
* @type {?Block}
|
|
49
44
|
*/
|
|
50
|
-
let currentBlock = null;
|
|
45
|
+
let currentBlock: Block|null = null;
|
|
46
|
+
|
|
47
|
+
let dummyOwner = {};
|
|
51
48
|
|
|
52
49
|
/**
|
|
53
50
|
* Gets the block the context menu is currently attached to.
|
|
54
|
-
* @return
|
|
51
|
+
* @return The block the context menu is attached to.
|
|
55
52
|
* @alias Blockly.ContextMenu.getCurrentBlock
|
|
56
53
|
*/
|
|
57
|
-
|
|
54
|
+
export function getCurrentBlock(): Block|null {
|
|
58
55
|
return currentBlock;
|
|
59
|
-
}
|
|
60
|
-
exports.getCurrentBlock = getCurrentBlock;
|
|
56
|
+
}
|
|
61
57
|
|
|
62
58
|
/**
|
|
63
59
|
* Sets the block the context menu is currently attached to.
|
|
64
|
-
* @param
|
|
60
|
+
* @param block The block the context menu is attached to.
|
|
65
61
|
* @alias Blockly.ContextMenu.setCurrentBlock
|
|
66
62
|
*/
|
|
67
|
-
|
|
63
|
+
export function setCurrentBlock(block: Block|null) {
|
|
68
64
|
currentBlock = block;
|
|
69
|
-
}
|
|
70
|
-
exports.setCurrentBlock = setCurrentBlock;
|
|
71
|
-
|
|
72
|
-
// Add JS accessors for backwards compatibility.
|
|
73
|
-
Object.defineProperties(exports, {
|
|
74
|
-
/**
|
|
75
|
-
* Which block is the context menu attached to?
|
|
76
|
-
* @name Blockly.ContextMenu.currentBlock
|
|
77
|
-
* @type {Block}
|
|
78
|
-
* @deprecated Use Blockly.Tooltip.getCurrentBlock() /
|
|
79
|
-
* .setCurrentBlock() instead. (September 2021)
|
|
80
|
-
* @suppress {checkTypes}
|
|
81
|
-
*/
|
|
82
|
-
currentBlock: {
|
|
83
|
-
get: function() {
|
|
84
|
-
deprecation.warn(
|
|
85
|
-
'Blockly.ContextMenu.currentBlock', 'September 2021',
|
|
86
|
-
'September 2022', 'Blockly.Tooltip.getCurrentBlock()');
|
|
87
|
-
return getCurrentBlock();
|
|
88
|
-
},
|
|
89
|
-
set: function(block) {
|
|
90
|
-
deprecation.warn(
|
|
91
|
-
'Blockly.ContextMenu.currentBlock', 'September 2021',
|
|
92
|
-
'September 2022', 'Blockly.Tooltip.setCurrentBlock(block)');
|
|
93
|
-
setCurrentBlock(block);
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
});
|
|
65
|
+
}
|
|
97
66
|
|
|
98
67
|
/**
|
|
99
68
|
* Menu object.
|
|
100
|
-
* @type {Menu}
|
|
101
69
|
*/
|
|
102
|
-
let menu_ = null;
|
|
70
|
+
let menu_: Menu|null = null;
|
|
103
71
|
|
|
104
72
|
/**
|
|
105
73
|
* Construct the menu based on the list of options and show the menu.
|
|
106
|
-
* @param
|
|
107
|
-
* @param
|
|
108
|
-
* @param
|
|
74
|
+
* @param e Mouse event.
|
|
75
|
+
* @param options Array of menu options.
|
|
76
|
+
* @param rtl True if RTL, false if LTR.
|
|
109
77
|
* @alias Blockly.ContextMenu.show
|
|
110
78
|
*/
|
|
111
|
-
|
|
112
|
-
|
|
79
|
+
export function show(
|
|
80
|
+
e: Event, options: (ContextMenuOption|LegacyContextMenuOption)[],
|
|
81
|
+
rtl: boolean) {
|
|
82
|
+
WidgetDiv.show(dummyOwner, rtl, dispose);
|
|
113
83
|
if (!options.length) {
|
|
114
84
|
hide();
|
|
115
85
|
return;
|
|
@@ -124,22 +94,22 @@ const show = function(e, options, rtl) {
|
|
|
124
94
|
menu.focus();
|
|
125
95
|
}, 1);
|
|
126
96
|
currentBlock = null; // May be set by Blockly.Block.
|
|
127
|
-
}
|
|
128
|
-
exports.show = show;
|
|
97
|
+
}
|
|
129
98
|
|
|
130
99
|
/**
|
|
131
100
|
* Create the context menu object and populate it with the given options.
|
|
132
|
-
* @param
|
|
133
|
-
* @param
|
|
134
|
-
* @return
|
|
135
|
-
* @private
|
|
101
|
+
* @param options Array of menu options.
|
|
102
|
+
* @param rtl True if RTL, false if LTR.
|
|
103
|
+
* @return The menu that will be shown on right click.
|
|
136
104
|
*/
|
|
137
|
-
|
|
105
|
+
function populate_(
|
|
106
|
+
options: (ContextMenuOption|LegacyContextMenuOption)[],
|
|
107
|
+
rtl: boolean): Menu {
|
|
138
108
|
/* Here's what one option object looks like:
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
109
|
+
{text: 'Make It So',
|
|
110
|
+
enabled: true,
|
|
111
|
+
callback: Blockly.MakeItSo}
|
|
112
|
+
*/
|
|
143
113
|
const menu = new Menu();
|
|
144
114
|
menu.setRole(aria.Role.MENU);
|
|
145
115
|
for (let i = 0; i < options.length; i++) {
|
|
@@ -150,35 +120,38 @@ const populate_ = function(options, rtl) {
|
|
|
150
120
|
menu.addChild(menuItem);
|
|
151
121
|
menuItem.setEnabled(option.enabled);
|
|
152
122
|
if (option.enabled) {
|
|
153
|
-
const actionHandler = function(
|
|
154
|
-
// TODO: Create a type for option that can be used in an @this tag.
|
|
155
|
-
/* eslint-disable-next-line no-invalid-this */
|
|
156
|
-
const option = this;
|
|
123
|
+
const actionHandler = function() {
|
|
157
124
|
hide();
|
|
158
|
-
option
|
|
125
|
+
// If .scope does not exist on the option, then the callback will not
|
|
126
|
+
// be expecting a scope parameter, so there should be no problems. Just
|
|
127
|
+
// assume it is a ContextMenuOption and we'll pass undefined if it's
|
|
128
|
+
// not.
|
|
129
|
+
option.callback((option as ContextMenuOption).scope);
|
|
159
130
|
};
|
|
160
|
-
menuItem.onAction(actionHandler,
|
|
131
|
+
menuItem.onAction(actionHandler, {});
|
|
161
132
|
}
|
|
162
133
|
}
|
|
163
134
|
return menu;
|
|
164
|
-
}
|
|
135
|
+
}
|
|
165
136
|
|
|
166
137
|
/**
|
|
167
138
|
* Add the menu to the page and position it correctly.
|
|
168
|
-
* @param
|
|
169
|
-
* @param
|
|
139
|
+
* @param menu The menu to add and position.
|
|
140
|
+
* @param e Mouse event for the right click that is making the context
|
|
170
141
|
* menu appear.
|
|
171
|
-
* @param
|
|
172
|
-
* @private
|
|
142
|
+
* @param rtl True if RTL, false if LTR.
|
|
173
143
|
*/
|
|
174
|
-
|
|
144
|
+
function position_(menu: Menu, e: Event, rtl: boolean) {
|
|
175
145
|
// Record windowSize and scrollOffset before adding menu.
|
|
176
146
|
const viewportBBox = svgMath.getViewportBBox();
|
|
147
|
+
const mouseEvent = e as MouseEvent;
|
|
177
148
|
// This one is just a point, but we'll pretend that it's a rect so we can use
|
|
178
149
|
// some helper functions.
|
|
179
150
|
const anchorBBox = new Rect(
|
|
180
|
-
|
|
181
|
-
|
|
151
|
+
mouseEvent.clientY + viewportBBox.top,
|
|
152
|
+
mouseEvent.clientY + viewportBBox.top,
|
|
153
|
+
mouseEvent.clientX + viewportBBox.left,
|
|
154
|
+
mouseEvent.clientX + viewportBBox.left);
|
|
182
155
|
|
|
183
156
|
createWidget_(menu);
|
|
184
157
|
const menuSize = menu.getSize();
|
|
@@ -195,77 +168,70 @@ const position_ = function(menu, e, rtl) {
|
|
|
195
168
|
// correctly. Otherwise it will cause a page scroll to get the misplaced menu
|
|
196
169
|
// in view. See issue #1329.
|
|
197
170
|
menu.focus();
|
|
198
|
-
}
|
|
171
|
+
}
|
|
199
172
|
|
|
200
173
|
/**
|
|
201
174
|
* Create and render the menu widget inside Blockly's widget div.
|
|
202
|
-
* @param
|
|
203
|
-
* @private
|
|
175
|
+
* @param menu The menu to add to the widget div.
|
|
204
176
|
*/
|
|
205
|
-
|
|
177
|
+
function createWidget_(menu: Menu) {
|
|
206
178
|
const div = WidgetDiv.getDiv();
|
|
207
179
|
if (!div) {
|
|
208
180
|
throw Error('Attempting to create a context menu when widget div is null');
|
|
209
181
|
}
|
|
210
182
|
menu.render(div);
|
|
211
183
|
const menuDom = menu.getElement();
|
|
212
|
-
dom.addClass(
|
|
213
|
-
/** @type {!Element} */ (menuDom), 'blocklyContextMenu');
|
|
184
|
+
dom.addClass((menuDom as Element), 'blocklyContextMenu');
|
|
214
185
|
// Prevent system context menu when right-clicking a Blockly context menu.
|
|
215
186
|
browserEvents.conditionalBind(
|
|
216
|
-
|
|
217
|
-
haltPropagation);
|
|
187
|
+
(menuDom as EventTarget), 'contextmenu', null, haltPropagation);
|
|
218
188
|
// Focus only after the initial render to avoid issue #1329.
|
|
219
189
|
menu.focus();
|
|
220
|
-
}
|
|
221
|
-
|
|
190
|
+
}
|
|
222
191
|
/**
|
|
223
192
|
* Halts the propagation of the event without doing anything else.
|
|
224
|
-
* @param
|
|
193
|
+
* @param e An event.
|
|
225
194
|
*/
|
|
226
|
-
|
|
195
|
+
function haltPropagation(e: Event) {
|
|
227
196
|
// This event has been handled. No need to bubble up to the document.
|
|
228
197
|
e.preventDefault();
|
|
229
198
|
e.stopPropagation();
|
|
230
|
-
}
|
|
199
|
+
}
|
|
231
200
|
|
|
232
201
|
/**
|
|
233
202
|
* Hide the context menu.
|
|
234
203
|
* @alias Blockly.ContextMenu.hide
|
|
235
204
|
*/
|
|
236
|
-
|
|
237
|
-
WidgetDiv.hideIfOwner(
|
|
205
|
+
export function hide() {
|
|
206
|
+
WidgetDiv.hideIfOwner(dummyOwner);
|
|
238
207
|
currentBlock = null;
|
|
239
|
-
}
|
|
240
|
-
exports.hide = hide;
|
|
208
|
+
}
|
|
241
209
|
|
|
242
210
|
/**
|
|
243
211
|
* Dispose of the menu.
|
|
244
212
|
* @alias Blockly.ContextMenu.dispose
|
|
245
213
|
*/
|
|
246
|
-
|
|
214
|
+
export function dispose() {
|
|
247
215
|
if (menu_) {
|
|
248
216
|
menu_.dispose();
|
|
249
217
|
menu_ = null;
|
|
250
218
|
}
|
|
251
|
-
}
|
|
252
|
-
exports.dispose = dispose;
|
|
219
|
+
}
|
|
253
220
|
|
|
254
221
|
/**
|
|
255
222
|
* Create a callback function that creates and configures a block,
|
|
256
223
|
* then places the new block next to the original.
|
|
257
|
-
* @param
|
|
258
|
-
* @param
|
|
259
|
-
* @return
|
|
224
|
+
* @param block Original block.
|
|
225
|
+
* @param xml XML representation of new block.
|
|
226
|
+
* @return Function that creates a block.
|
|
260
227
|
* @alias Blockly.ContextMenu.callbackFactory
|
|
261
228
|
*/
|
|
262
|
-
|
|
263
|
-
return
|
|
229
|
+
export function callbackFactory(block: Block, xml: Element): Function {
|
|
230
|
+
return () => {
|
|
264
231
|
eventUtils.disable();
|
|
265
232
|
let newBlock;
|
|
266
233
|
try {
|
|
267
|
-
newBlock =
|
|
268
|
-
/** @type {!BlockSvg} */ (Xml.domToBlock(xml, block.workspace));
|
|
234
|
+
newBlock = Xml.domToBlock(xml, block.workspace!) as BlockSvg;
|
|
269
235
|
// Move the new block next to the old block.
|
|
270
236
|
const xy = block.getRelativeToSurfaceXY();
|
|
271
237
|
if (block.RTL) {
|
|
@@ -279,24 +245,25 @@ const callbackFactory = function(block, xml) {
|
|
|
279
245
|
eventUtils.enable();
|
|
280
246
|
}
|
|
281
247
|
if (eventUtils.isEnabled() && !newBlock.isShadow()) {
|
|
282
|
-
eventUtils.fire(new (eventUtils.get(eventUtils.BLOCK_CREATE))(newBlock));
|
|
248
|
+
eventUtils.fire(new (eventUtils.get(eventUtils.BLOCK_CREATE))!(newBlock));
|
|
283
249
|
}
|
|
284
250
|
newBlock.select();
|
|
285
251
|
};
|
|
286
|
-
}
|
|
287
|
-
exports.callbackFactory = callbackFactory;
|
|
252
|
+
}
|
|
288
253
|
|
|
289
254
|
// Helper functions for creating context menu options.
|
|
290
255
|
|
|
291
256
|
/**
|
|
292
257
|
* Make a context menu option for deleting the current workspace comment.
|
|
293
|
-
* @param
|
|
258
|
+
* @param comment The workspace comment where the
|
|
294
259
|
* right-click originated.
|
|
295
|
-
* @return
|
|
260
|
+
* @return A menu option,
|
|
261
|
+
* containing text, enabled, and a callback.
|
|
296
262
|
* @alias Blockly.ContextMenu.commentDeleteOption
|
|
297
|
-
* @
|
|
263
|
+
* @internal
|
|
298
264
|
*/
|
|
299
|
-
|
|
265
|
+
export function commentDeleteOption(comment: WorkspaceCommentSvg):
|
|
266
|
+
LegacyContextMenuOption {
|
|
300
267
|
const deleteOption = {
|
|
301
268
|
text: Msg['REMOVE_COMMENT'],
|
|
302
269
|
enabled: true,
|
|
@@ -307,18 +274,19 @@ const commentDeleteOption = function(comment) {
|
|
|
307
274
|
},
|
|
308
275
|
};
|
|
309
276
|
return deleteOption;
|
|
310
|
-
}
|
|
311
|
-
exports.commentDeleteOption = commentDeleteOption;
|
|
277
|
+
}
|
|
312
278
|
|
|
313
279
|
/**
|
|
314
280
|
* Make a context menu option for duplicating the current workspace comment.
|
|
315
|
-
* @param
|
|
281
|
+
* @param comment The workspace comment where the
|
|
316
282
|
* right-click originated.
|
|
317
|
-
* @return
|
|
283
|
+
* @return A menu option,
|
|
284
|
+
* containing text, enabled, and a callback.
|
|
318
285
|
* @alias Blockly.ContextMenu.commentDuplicateOption
|
|
319
|
-
* @
|
|
286
|
+
* @internal
|
|
320
287
|
*/
|
|
321
|
-
|
|
288
|
+
export function commentDuplicateOption(comment: WorkspaceCommentSvg):
|
|
289
|
+
LegacyContextMenuOption {
|
|
322
290
|
const duplicateOption = {
|
|
323
291
|
text: Msg['DUPLICATE_COMMENT'],
|
|
324
292
|
enabled: true,
|
|
@@ -327,28 +295,24 @@ const commentDuplicateOption = function(comment) {
|
|
|
327
295
|
},
|
|
328
296
|
};
|
|
329
297
|
return duplicateOption;
|
|
330
|
-
}
|
|
331
|
-
exports.commentDuplicateOption = commentDuplicateOption;
|
|
298
|
+
}
|
|
332
299
|
|
|
333
300
|
/**
|
|
334
301
|
* Make a context menu option for adding a comment on the workspace.
|
|
335
|
-
* @param
|
|
302
|
+
* @param ws The workspace where the right-click
|
|
336
303
|
* originated.
|
|
337
|
-
* @param
|
|
338
|
-
* @return
|
|
339
|
-
* @package
|
|
304
|
+
* @param e The right-click mouse event.
|
|
305
|
+
* @return A menu option, containing text, enabled, and a callback.
|
|
340
306
|
* @suppress {strictModuleDepCheck,checkTypes} Suppress checks while workspace
|
|
341
307
|
* comments are not bundled in.
|
|
342
308
|
* @alias Blockly.ContextMenu.workspaceCommentOption
|
|
309
|
+
* @internal
|
|
343
310
|
*/
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
if (!WorkspaceCommentSvg) {
|
|
347
|
-
throw Error('Missing require for Blockly.WorkspaceCommentSvg');
|
|
348
|
-
}
|
|
311
|
+
export function workspaceCommentOption(
|
|
312
|
+
ws: WorkspaceSvg, e: Event): ContextMenuOption {
|
|
349
313
|
// Helper function to create and position a comment correctly based on the
|
|
350
314
|
// location of the mouse event.
|
|
351
|
-
|
|
315
|
+
function addWsComment() {
|
|
352
316
|
const comment = new WorkspaceCommentSvg(
|
|
353
317
|
ws, Msg['WORKSPACE_COMMENT_DEFAULT_TEXT'],
|
|
354
318
|
WorkspaceCommentSvg.DEFAULT_SIZE, WorkspaceCommentSvg.DEFAULT_SIZE);
|
|
@@ -360,8 +324,10 @@ const workspaceCommentOption = function(ws, e) {
|
|
|
360
324
|
const boundingRect = injectionDiv.getBoundingClientRect();
|
|
361
325
|
|
|
362
326
|
// The client coordinates offset by the injection div's upper left corner.
|
|
327
|
+
const mouseEvent = e as MouseEvent;
|
|
363
328
|
const clientOffsetPixels = new Coordinate(
|
|
364
|
-
|
|
329
|
+
mouseEvent.clientX - boundingRect.left,
|
|
330
|
+
mouseEvent.clientY - boundingRect.top);
|
|
365
331
|
|
|
366
332
|
// The offset in pixels between the main workspace's origin and the upper
|
|
367
333
|
// left corner of the injection div.
|
|
@@ -382,17 +348,16 @@ const workspaceCommentOption = function(ws, e) {
|
|
|
382
348
|
comment.render();
|
|
383
349
|
comment.select();
|
|
384
350
|
}
|
|
385
|
-
}
|
|
351
|
+
}
|
|
386
352
|
|
|
387
353
|
const wsCommentOption = {
|
|
388
354
|
// Foreign objects don't work in IE. Don't let the user create comments
|
|
389
355
|
// that they won't be able to edit.
|
|
390
356
|
enabled: !userAgent.IE,
|
|
391
|
-
};
|
|
357
|
+
} as ContextMenuOption;
|
|
392
358
|
wsCommentOption.text = Msg['ADD_COMMENT'];
|
|
393
359
|
wsCommentOption.callback = function() {
|
|
394
360
|
addWsComment();
|
|
395
361
|
};
|
|
396
362
|
return wsCommentOption;
|
|
397
|
-
}
|
|
398
|
-
exports.workspaceCommentOption = workspaceCommentOption;
|
|
363
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Option to undo previous action.
|
|
8
|
+
* @alias Blockly.ContextMenuItems.registerUndo
|
|
9
|
+
*/
|
|
10
|
+
export declare function registerUndo(): void;
|
|
11
|
+
/**
|
|
12
|
+
* Option to redo previous action.
|
|
13
|
+
* @alias Blockly.ContextMenuItems.registerRedo
|
|
14
|
+
*/
|
|
15
|
+
export declare function registerRedo(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Option to clean up blocks.
|
|
18
|
+
* @alias Blockly.ContextMenuItems.registerCleanup
|
|
19
|
+
*/
|
|
20
|
+
export declare function registerCleanup(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Option to collapse all blocks.
|
|
23
|
+
* @alias Blockly.ContextMenuItems.registerCollapse
|
|
24
|
+
*/
|
|
25
|
+
export declare function registerCollapse(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Option to expand all blocks.
|
|
28
|
+
* @alias Blockly.ContextMenuItems.registerExpand
|
|
29
|
+
*/
|
|
30
|
+
export declare function registerExpand(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Option to delete all blocks.
|
|
33
|
+
* @alias Blockly.ContextMenuItems.registerDeleteAll
|
|
34
|
+
*/
|
|
35
|
+
export declare function registerDeleteAll(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Option to duplicate a block.
|
|
38
|
+
* @alias Blockly.ContextMenuItems.registerDuplicate
|
|
39
|
+
*/
|
|
40
|
+
export declare function registerDuplicate(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Option to add or remove block-level comment.
|
|
43
|
+
* @alias Blockly.ContextMenuItems.registerComment
|
|
44
|
+
*/
|
|
45
|
+
export declare function registerComment(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Option to inline variables.
|
|
48
|
+
* @alias Blockly.ContextMenuItems.registerInline
|
|
49
|
+
*/
|
|
50
|
+
export declare function registerInline(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Option to collapse or expand a block.
|
|
53
|
+
* @alias Blockly.ContextMenuItems.registerCollapseExpandBlock
|
|
54
|
+
*/
|
|
55
|
+
export declare function registerCollapseExpandBlock(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Option to disable or enable a block.
|
|
58
|
+
* @alias Blockly.ContextMenuItems.registerDisable
|
|
59
|
+
*/
|
|
60
|
+
export declare function registerDisable(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Option to delete a block.
|
|
63
|
+
* @alias Blockly.ContextMenuItems.registerDelete
|
|
64
|
+
*/
|
|
65
|
+
export declare function registerDelete(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Option to open help for a block.
|
|
68
|
+
* @alias Blockly.ContextMenuItems.registerHelp
|
|
69
|
+
*/
|
|
70
|
+
export declare function registerHelp(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Registers all default context menu items. This should be called once per
|
|
73
|
+
* instance of ContextMenuRegistry.
|
|
74
|
+
* @alias Blockly.ContextMenuItems.registerDefaultOptions
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
export declare function registerDefaultOptions(): void;
|