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
|
@@ -7,58 +7,45 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Calculates and reports workspace metrics.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Calculates and reports workspace metrics.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const {Metrics} = goog.requireType('Blockly.utils.Metrics');
|
|
28
|
-
const {Size} = goog.require('Blockly.utils.Size');
|
|
29
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
30
|
-
const {WorkspaceSvg} = goog.requireType('Blockly.WorkspaceSvg');
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.MetricsManager');
|
|
17
|
+
|
|
18
|
+
import type {IFlyout} from './interfaces/i_flyout.js';
|
|
19
|
+
import type {IMetricsManager} from './interfaces/i_metrics_manager.js';
|
|
20
|
+
import type {IToolbox} from './interfaces/i_toolbox.js';
|
|
21
|
+
import * as registry from './registry.js';
|
|
22
|
+
import type {Metrics} from './utils/metrics.js';
|
|
23
|
+
import {Size} from './utils/size.js';
|
|
24
|
+
import * as toolboxUtils from './utils/toolbox.js';
|
|
25
|
+
import type {WorkspaceSvg} from './workspace_svg.js';
|
|
31
26
|
|
|
32
27
|
|
|
33
28
|
/**
|
|
34
29
|
* The manager for all workspace metrics calculations.
|
|
35
|
-
* @implements {IMetricsManager}
|
|
36
30
|
* @alias Blockly.MetricsManager
|
|
37
31
|
*/
|
|
38
|
-
class MetricsManager {
|
|
39
|
-
/**
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
constructor(workspace) {
|
|
44
|
-
/**
|
|
45
|
-
* The workspace to calculate metrics for.
|
|
46
|
-
* @type {!WorkspaceSvg}
|
|
47
|
-
* @protected
|
|
48
|
-
*/
|
|
32
|
+
export class MetricsManager implements IMetricsManager {
|
|
33
|
+
/** The workspace to calculate metrics for. */
|
|
34
|
+
protected readonly workspace_: WorkspaceSvg;
|
|
35
|
+
|
|
36
|
+
/** @param workspace The workspace to calculate metrics for. */
|
|
37
|
+
constructor(workspace: WorkspaceSvg) {
|
|
49
38
|
this.workspace_ = workspace;
|
|
50
39
|
}
|
|
51
40
|
|
|
52
41
|
/**
|
|
53
42
|
* Gets the dimensions of the given workspace component, in pixel coordinates.
|
|
54
|
-
* @param
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* attributes, which will both be zero if elem did not exist.
|
|
59
|
-
* @protected
|
|
43
|
+
* @param elem The element to get the dimensions of, or null. It should be a
|
|
44
|
+
* toolbox or flyout, and should implement getWidth() and getHeight().
|
|
45
|
+
* @return An object containing width and height attributes, which will both
|
|
46
|
+
* be zero if elem did not exist.
|
|
60
47
|
*/
|
|
61
|
-
getDimensionsPx_(elem) {
|
|
48
|
+
protected getDimensionsPx_(elem: IToolbox|null|IFlyout): Size {
|
|
62
49
|
let width = 0;
|
|
63
50
|
let height = 0;
|
|
64
51
|
if (elem) {
|
|
@@ -72,13 +59,10 @@ class MetricsManager {
|
|
|
72
59
|
* Gets the width and the height of the flyout on the workspace in pixel
|
|
73
60
|
* coordinates. Returns 0 for the width and height if the workspace has a
|
|
74
61
|
* category toolbox instead of a simple toolbox.
|
|
75
|
-
* @param
|
|
76
|
-
*
|
|
77
|
-
* @return {!MetricsManager.ToolboxMetrics} The width and height of the
|
|
78
|
-
* flyout.
|
|
79
|
-
* @public
|
|
62
|
+
* @param opt_own Whether to only return the workspace's own flyout.
|
|
63
|
+
* @return The width and height of the flyout.
|
|
80
64
|
*/
|
|
81
|
-
getFlyoutMetrics(opt_own) {
|
|
65
|
+
getFlyoutMetrics(opt_own?: boolean): ToolboxMetrics {
|
|
82
66
|
const flyoutDimensions =
|
|
83
67
|
this.getDimensionsPx_(this.workspace_.getFlyout(opt_own));
|
|
84
68
|
return {
|
|
@@ -94,11 +78,9 @@ class MetricsManager {
|
|
|
94
78
|
* a simple toolbox instead of a category toolbox. To get the width and height
|
|
95
79
|
* of a
|
|
96
80
|
* simple toolbox @see {@link getFlyoutMetrics}.
|
|
97
|
-
* @return
|
|
98
|
-
* height and position of the toolbox.
|
|
99
|
-
* @public
|
|
81
|
+
* @return The object with the width, height and position of the toolbox.
|
|
100
82
|
*/
|
|
101
|
-
getToolboxMetrics() {
|
|
83
|
+
getToolboxMetrics(): ToolboxMetrics {
|
|
102
84
|
const toolboxDimensions =
|
|
103
85
|
this.getDimensionsPx_(this.workspace_.getToolbox());
|
|
104
86
|
|
|
@@ -112,11 +94,9 @@ class MetricsManager {
|
|
|
112
94
|
/**
|
|
113
95
|
* Gets the width and height of the workspace's parent SVG element in pixel
|
|
114
96
|
* coordinates. This area includes the toolbox and the visible workspace area.
|
|
115
|
-
* @return
|
|
116
|
-
* SVG element.
|
|
117
|
-
* @public
|
|
97
|
+
* @return The width and height of the workspace's parent SVG element.
|
|
118
98
|
*/
|
|
119
|
-
getSvgMetrics() {
|
|
99
|
+
getSvgMetrics(): Size {
|
|
120
100
|
return this.workspace_.getCachedParentSvgSize();
|
|
121
101
|
}
|
|
122
102
|
|
|
@@ -124,11 +104,9 @@ class MetricsManager {
|
|
|
124
104
|
* Gets the absolute left and absolute top in pixel coordinates.
|
|
125
105
|
* This is where the visible workspace starts in relation to the SVG
|
|
126
106
|
* container.
|
|
127
|
-
* @return
|
|
128
|
-
* the workspace.
|
|
129
|
-
* @public
|
|
107
|
+
* @return The absolute metrics for the workspace.
|
|
130
108
|
*/
|
|
131
|
-
getAbsoluteMetrics() {
|
|
109
|
+
getAbsoluteMetrics(): AbsoluteMetrics {
|
|
132
110
|
let absoluteLeft = 0;
|
|
133
111
|
const toolboxMetrics = this.getToolboxMetrics();
|
|
134
112
|
const flyoutMetrics = this.getFlyoutMetrics(true);
|
|
@@ -160,14 +138,12 @@ class MetricsManager {
|
|
|
160
138
|
/**
|
|
161
139
|
* Gets the metrics for the visible workspace in either pixel or workspace
|
|
162
140
|
* coordinates. The visible workspace does not include the toolbox or flyout.
|
|
163
|
-
* @param
|
|
164
|
-
*
|
|
165
|
-
* @return
|
|
166
|
-
*
|
|
167
|
-
* coordinates.
|
|
168
|
-
* @public
|
|
141
|
+
* @param opt_getWorkspaceCoordinates True to get the view metrics in
|
|
142
|
+
* workspace coordinates, false to get them in pixel coordinates.
|
|
143
|
+
* @return The width, height, top and left of the viewport in either workspace
|
|
144
|
+
* coordinates or pixel coordinates.
|
|
169
145
|
*/
|
|
170
|
-
getViewMetrics(opt_getWorkspaceCoordinates) {
|
|
146
|
+
getViewMetrics(opt_getWorkspaceCoordinates?: boolean): ContainerRegion {
|
|
171
147
|
const scale = opt_getWorkspaceCoordinates ? this.workspace_.scale : 1;
|
|
172
148
|
const svgMetrics = this.getSvgMetrics();
|
|
173
149
|
const toolboxMetrics = this.getToolboxMetrics();
|
|
@@ -207,16 +183,12 @@ class MetricsManager {
|
|
|
207
183
|
* Gets content metrics in either pixel or workspace coordinates.
|
|
208
184
|
* The content area is a rectangle around all the top bounded elements on the
|
|
209
185
|
* workspace (workspace comments and blocks).
|
|
210
|
-
* @param
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
* @return {!MetricsManager.ContainerRegion} The
|
|
214
|
-
* metrics for the content container.
|
|
215
|
-
* @public
|
|
186
|
+
* @param opt_getWorkspaceCoordinates True to get the content metrics in
|
|
187
|
+
* workspace coordinates, false to get them in pixel coordinates.
|
|
188
|
+
* @return The metrics for the content container.
|
|
216
189
|
*/
|
|
217
|
-
getContentMetrics(opt_getWorkspaceCoordinates) {
|
|
190
|
+
getContentMetrics(opt_getWorkspaceCoordinates?: boolean): ContainerRegion {
|
|
218
191
|
const scale = opt_getWorkspaceCoordinates ? 1 : this.workspace_.scale;
|
|
219
|
-
|
|
220
192
|
// Block bounding box is in workspace coordinates.
|
|
221
193
|
const blockBox = this.workspace_.getBlocksBoundingBox();
|
|
222
194
|
|
|
@@ -230,10 +202,10 @@ class MetricsManager {
|
|
|
230
202
|
|
|
231
203
|
/**
|
|
232
204
|
* Returns whether the scroll area has fixed edges.
|
|
233
|
-
* @return
|
|
234
|
-
* @
|
|
205
|
+
* @return Whether the scroll area has fixed edges.
|
|
206
|
+
* @internal
|
|
235
207
|
*/
|
|
236
|
-
hasFixedEdges() {
|
|
208
|
+
hasFixedEdges(): boolean {
|
|
237
209
|
// This exists for optimization of bump logic.
|
|
238
210
|
return !this.workspace_.isMovableHorizontally() ||
|
|
239
211
|
!this.workspace_.isMovableVertically();
|
|
@@ -241,14 +213,13 @@ class MetricsManager {
|
|
|
241
213
|
|
|
242
214
|
/**
|
|
243
215
|
* Computes the fixed edges of the scroll area.
|
|
244
|
-
* @param
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
* @return
|
|
248
|
-
* area.
|
|
249
|
-
* @protected
|
|
216
|
+
* @param opt_viewMetrics The view metrics if they have been previously
|
|
217
|
+
* computed. Passing in null may cause the view metrics to be computed
|
|
218
|
+
* again, if it is needed.
|
|
219
|
+
* @return The fixed edges of the scroll area.
|
|
250
220
|
*/
|
|
251
|
-
getComputedFixedEdges_(opt_viewMetrics)
|
|
221
|
+
protected getComputedFixedEdges_(opt_viewMetrics?: ContainerRegion):
|
|
222
|
+
FixedEdges {
|
|
252
223
|
if (!this.hasFixedEdges()) {
|
|
253
224
|
// Return early if there are no edges.
|
|
254
225
|
return {};
|
|
@@ -259,7 +230,7 @@ class MetricsManager {
|
|
|
259
230
|
|
|
260
231
|
const viewMetrics = opt_viewMetrics || this.getViewMetrics(false);
|
|
261
232
|
|
|
262
|
-
const edges = {};
|
|
233
|
+
const edges = {} as FixedEdges;
|
|
263
234
|
if (!vScrollEnabled) {
|
|
264
235
|
edges.top = viewMetrics.top;
|
|
265
236
|
edges.bottom = viewMetrics.top + viewMetrics.height;
|
|
@@ -273,15 +244,13 @@ class MetricsManager {
|
|
|
273
244
|
|
|
274
245
|
/**
|
|
275
246
|
* Returns the content area with added padding.
|
|
276
|
-
* @param
|
|
277
|
-
*
|
|
278
|
-
* @
|
|
279
|
-
* metrics.
|
|
280
|
-
* @return {{top: number, bottom: number, left: number, right: number}} The
|
|
281
|
-
* padded content area.
|
|
282
|
-
* @protected
|
|
247
|
+
* @param viewMetrics The view metrics.
|
|
248
|
+
* @param contentMetrics The content metrics.
|
|
249
|
+
* @return The padded content area.
|
|
283
250
|
*/
|
|
284
|
-
getPaddedContent_(
|
|
251
|
+
protected getPaddedContent_(
|
|
252
|
+
viewMetrics: ContainerRegion, contentMetrics: ContainerRegion):
|
|
253
|
+
{top: number, bottom: number, left: number, right: number} {
|
|
285
254
|
const contentBottom = contentMetrics.top + contentMetrics.height;
|
|
286
255
|
const contentRight = contentMetrics.left + contentMetrics.width;
|
|
287
256
|
|
|
@@ -301,25 +270,24 @@ class MetricsManager {
|
|
|
301
270
|
const right =
|
|
302
271
|
Math.max(contentRight + halfWidth, contentMetrics.left + viewWidth);
|
|
303
272
|
|
|
304
|
-
return {top
|
|
273
|
+
return {top, bottom, left, right};
|
|
305
274
|
}
|
|
306
275
|
|
|
307
276
|
/**
|
|
308
277
|
* Returns the metrics for the scroll area of the workspace.
|
|
309
|
-
* @param
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
315
|
-
*
|
|
316
|
-
*
|
|
317
|
-
*
|
|
318
|
-
* @return {!MetricsManager.ContainerRegion} The metrics for the scroll
|
|
319
|
-
* container.
|
|
278
|
+
* @param opt_getWorkspaceCoordinates True to get the scroll metrics in
|
|
279
|
+
* workspace coordinates, false to get them in pixel coordinates.
|
|
280
|
+
* @param opt_viewMetrics The view metrics if they have been previously
|
|
281
|
+
* computed. Passing in null may cause the view metrics to be computed
|
|
282
|
+
* again, if it is needed.
|
|
283
|
+
* @param opt_contentMetrics The content metrics if they have been previously
|
|
284
|
+
* computed. Passing in null may cause the content metrics to be computed
|
|
285
|
+
* again, if it is needed.
|
|
286
|
+
* @return The metrics for the scroll container.
|
|
320
287
|
*/
|
|
321
288
|
getScrollMetrics(
|
|
322
|
-
opt_getWorkspaceCoordinates, opt_viewMetrics,
|
|
289
|
+
opt_getWorkspaceCoordinates?: boolean, opt_viewMetrics?: ContainerRegion,
|
|
290
|
+
opt_contentMetrics?: ContainerRegion): ContainerRegion {
|
|
323
291
|
const scale = opt_getWorkspaceCoordinates ? this.workspace_.scale : 1;
|
|
324
292
|
const viewMetrics = opt_viewMetrics || this.getViewMetrics(false);
|
|
325
293
|
const contentMetrics = opt_contentMetrics || this.getContentMetrics();
|
|
@@ -348,9 +316,9 @@ class MetricsManager {
|
|
|
348
316
|
|
|
349
317
|
/**
|
|
350
318
|
* Returns common metrics used by UI elements.
|
|
351
|
-
* @return
|
|
319
|
+
* @return The UI metrics.
|
|
352
320
|
*/
|
|
353
|
-
getUiMetrics() {
|
|
321
|
+
getUiMetrics(): UiMetrics {
|
|
354
322
|
return {
|
|
355
323
|
viewMetrics: this.getViewMetrics(),
|
|
356
324
|
absoluteMetrics: this.getAbsoluteMetrics(),
|
|
@@ -390,11 +358,9 @@ class MetricsManager {
|
|
|
390
358
|
* .flyoutHeight: Height of the flyout if it is always open. Otherwise zero.
|
|
391
359
|
* .toolboxPosition: Top, bottom, left or right. Use TOOLBOX_AT constants to
|
|
392
360
|
* compare.
|
|
393
|
-
* @return
|
|
394
|
-
* level workspace.
|
|
395
|
-
* @public
|
|
361
|
+
* @return Contains size and position metrics of a top level workspace.
|
|
396
362
|
*/
|
|
397
|
-
getMetrics() {
|
|
363
|
+
getMetrics(): Metrics {
|
|
398
364
|
const toolboxMetrics = this.getToolboxMetrics();
|
|
399
365
|
const flyoutMetrics = this.getFlyoutMetrics(true);
|
|
400
366
|
const svgMetrics = this.getSvgMetrics();
|
|
@@ -436,60 +402,55 @@ class MetricsManager {
|
|
|
436
402
|
}
|
|
437
403
|
}
|
|
438
404
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
405
|
+
export namespace MetricsManager {
|
|
406
|
+
/**
|
|
407
|
+
* Describes the width, height and location of the toolbox on the main
|
|
408
|
+
* workspace.
|
|
409
|
+
*/
|
|
410
|
+
export interface ToolboxMetrics {
|
|
411
|
+
width: number;
|
|
412
|
+
height: number;
|
|
413
|
+
position: toolboxUtils.Position;
|
|
414
|
+
}
|
|
449
415
|
|
|
450
|
-
/**
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
* }}
|
|
456
|
-
*/
|
|
457
|
-
MetricsManager.AbsoluteMetrics;
|
|
416
|
+
/** Describes where the viewport starts in relation to the workspace SVG. */
|
|
417
|
+
export interface AbsoluteMetrics {
|
|
418
|
+
left: number;
|
|
419
|
+
top: number;
|
|
420
|
+
}
|
|
458
421
|
|
|
459
|
-
/**
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
MetricsManager.ContainerRegion;
|
|
422
|
+
/**
|
|
423
|
+
* All the measurements needed to describe the size and location of a
|
|
424
|
+
* container.
|
|
425
|
+
*/
|
|
426
|
+
export interface ContainerRegion {
|
|
427
|
+
height: number;
|
|
428
|
+
width: number;
|
|
429
|
+
top: number;
|
|
430
|
+
left: number;
|
|
431
|
+
}
|
|
470
432
|
|
|
471
|
-
/**
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
* }}
|
|
479
|
-
*/
|
|
480
|
-
MetricsManager.FixedEdges;
|
|
433
|
+
/** Describes fixed edges of the workspace. */
|
|
434
|
+
export interface FixedEdges {
|
|
435
|
+
top?: number;
|
|
436
|
+
bottom?: number;
|
|
437
|
+
left?: number;
|
|
438
|
+
right?: number;
|
|
439
|
+
}
|
|
481
440
|
|
|
482
|
-
/**
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
MetricsManager.
|
|
441
|
+
/** Common metrics used for UI elements. */
|
|
442
|
+
export interface UiMetrics {
|
|
443
|
+
viewMetrics: ContainerRegion;
|
|
444
|
+
absoluteMetrics: AbsoluteMetrics;
|
|
445
|
+
toolboxMetrics: ToolboxMetrics;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
export type ToolboxMetrics = MetricsManager.ToolboxMetrics;
|
|
450
|
+
export type AbsoluteMetrics = MetricsManager.AbsoluteMetrics;
|
|
451
|
+
export type ContainerRegion = MetricsManager.ContainerRegion;
|
|
452
|
+
export type FixedEdges = MetricsManager.FixedEdges;
|
|
453
|
+
export type UiMetrics = MetricsManager.UiMetrics;
|
|
491
454
|
|
|
492
455
|
registry.register(
|
|
493
456
|
registry.Type.METRICS_MANAGER, registry.DEFAULT, MetricsManager);
|
|
494
|
-
|
|
495
|
-
exports.MetricsManager = MetricsManager;
|
package/core/msg.d.ts
ADDED
package/core/{msg.js → msg.ts}
RENAMED
|
@@ -7,18 +7,14 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Empty name space for the Message singleton.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Empty name space for the Message singleton.
|
|
14
13
|
* @namespace Blockly.Msg
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Msg');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
* @type {!Object<string>}
|
|
22
|
-
*/
|
|
23
|
-
const Msg = Object.create(null);
|
|
24
|
-
exports.Msg = Msg;
|
|
19
|
+
/** A dictionary of localised messages. */
|
|
20
|
+
export const Msg: {[key: string]: string} = Object.create(null);
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2012 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import './events/events_bubble_open.js';
|
|
7
|
+
import type { Block } from './block.js';
|
|
8
|
+
import type { BlockSvg } from './block_svg.js';
|
|
9
|
+
import type { Connection } from './connection.js';
|
|
10
|
+
import type { Abstract } from './events/events_abstract.js';
|
|
11
|
+
import { Icon } from './icon.js';
|
|
12
|
+
import { Options } from './options.js';
|
|
13
|
+
import type { WorkspaceSvg } from './workspace_svg.js';
|
|
14
|
+
/**
|
|
15
|
+
* Class for a mutator dialog.
|
|
16
|
+
* @alias Blockly.Mutator
|
|
17
|
+
*/
|
|
18
|
+
export declare class Mutator extends Icon {
|
|
19
|
+
quarkNames_: any;
|
|
20
|
+
/** Workspace in the mutator's bubble. */
|
|
21
|
+
private workspace_;
|
|
22
|
+
/** Width of workspace. */
|
|
23
|
+
private workspaceWidth_;
|
|
24
|
+
/** Height of workspace. */
|
|
25
|
+
private workspaceHeight_;
|
|
26
|
+
/**
|
|
27
|
+
* The SVG element that is the parent of the mutator workspace, or null if
|
|
28
|
+
* not created.
|
|
29
|
+
*/
|
|
30
|
+
private svgDialog_;
|
|
31
|
+
/**
|
|
32
|
+
* The root block of the mutator workspace, created by decomposing the
|
|
33
|
+
* source block.
|
|
34
|
+
*/
|
|
35
|
+
private rootBlock_;
|
|
36
|
+
/**
|
|
37
|
+
* Function registered on the main workspace to update the mutator contents
|
|
38
|
+
* when the main workspace changes.
|
|
39
|
+
*/
|
|
40
|
+
private sourceListener_;
|
|
41
|
+
/**
|
|
42
|
+
* The PID associated with the updateWorkpace_ timeout, or 0 if no timeout
|
|
43
|
+
* is currently running.
|
|
44
|
+
*/
|
|
45
|
+
private updateWorkspacePid_;
|
|
46
|
+
/** @param quarkNames List of names of sub-blocks for flyout. */
|
|
47
|
+
constructor(block: BlockSvg, quarkNames: string[]);
|
|
48
|
+
/**
|
|
49
|
+
* Set the block this mutator is associated with.
|
|
50
|
+
* @param block The block associated with this mutator.
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
setBlock(block: BlockSvg): void;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the workspace inside this mutator icon's bubble.
|
|
56
|
+
* @return The workspace inside this mutator icon's bubble or null if the
|
|
57
|
+
* mutator isn't open.
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
getWorkspace(): WorkspaceSvg | null;
|
|
61
|
+
/**
|
|
62
|
+
* Draw the mutator icon.
|
|
63
|
+
* @param group The icon group.
|
|
64
|
+
*/
|
|
65
|
+
protected drawIcon_(group: Element): void;
|
|
66
|
+
/**
|
|
67
|
+
* Clicking on the icon toggles if the mutator bubble is visible.
|
|
68
|
+
* Disable if block is uneditable.
|
|
69
|
+
* @param e Mouse click event.
|
|
70
|
+
*/
|
|
71
|
+
protected iconClick_(e: MouseEvent): void;
|
|
72
|
+
/**
|
|
73
|
+
* Create the editor for the mutator's bubble.
|
|
74
|
+
* @return The top-level node of the editor.
|
|
75
|
+
*/
|
|
76
|
+
private createEditor_;
|
|
77
|
+
/**
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
80
|
+
newWorkspaceSvg(options: Options): WorkspaceSvg;
|
|
81
|
+
/** Add or remove the UI indicating if this icon may be clicked or not. */
|
|
82
|
+
updateEditable(): void;
|
|
83
|
+
/** Resize the bubble to match the size of the workspace. */
|
|
84
|
+
private resizeBubble_;
|
|
85
|
+
/** A method handler for when the bubble is moved. */
|
|
86
|
+
private onBubbleMove_;
|
|
87
|
+
/**
|
|
88
|
+
* Show or hide the mutator bubble.
|
|
89
|
+
* @param visible True if the bubble should be visible.
|
|
90
|
+
*/
|
|
91
|
+
setVisible(visible: boolean): void;
|
|
92
|
+
/**
|
|
93
|
+
* Fired whenever a change is made to the mutator's workspace.
|
|
94
|
+
* @param e Custom data for event.
|
|
95
|
+
*/
|
|
96
|
+
private workspaceChanged_;
|
|
97
|
+
/**
|
|
98
|
+
* Returns whether the given event in the mutator workspace should be ignored
|
|
99
|
+
* when deciding whether to update the workspace and compose the block or not.
|
|
100
|
+
* @param e The event.
|
|
101
|
+
* @return Whether to ignore the event or not.
|
|
102
|
+
*/
|
|
103
|
+
shouldIgnoreMutatorEvent_(e: Abstract): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Updates the source block when the mutator's blocks are changed.
|
|
106
|
+
* Bump down any block that's too high.
|
|
107
|
+
*/
|
|
108
|
+
private updateWorkspace_;
|
|
109
|
+
/** Dispose of this mutator. */
|
|
110
|
+
dispose(): void;
|
|
111
|
+
/** Update the styles on all blocks in the mutator. */
|
|
112
|
+
updateBlockStyle(): void;
|
|
113
|
+
/**
|
|
114
|
+
* Reconnect an block to a mutated input.
|
|
115
|
+
* @param connectionChild Connection on child block.
|
|
116
|
+
* @param block Parent block.
|
|
117
|
+
* @param inputName Name of input on parent block.
|
|
118
|
+
* @return True iff a reconnection was made, false otherwise.
|
|
119
|
+
*/
|
|
120
|
+
static reconnect(connectionChild: Connection, block: Block, inputName: string): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Get the parent workspace of a workspace that is inside a mutator, taking
|
|
123
|
+
* into account whether it is a flyout.
|
|
124
|
+
* @param workspace The workspace that is inside a mutator.
|
|
125
|
+
* @return The mutator's parent workspace or null.
|
|
126
|
+
*/
|
|
127
|
+
static findParentWs(workspace: WorkspaceSvg): WorkspaceSvg | null;
|
|
128
|
+
}
|