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
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
* while dragging blocks.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
'use strict';
|
|
17
|
-
|
|
18
16
|
/**
|
|
19
17
|
* A class that manages a surface for dragging blocks. When a
|
|
20
18
|
* block drag is started, we move the block (and children) to a separate DOM
|
|
@@ -24,12 +22,14 @@
|
|
|
24
22
|
* while dragging blocks.
|
|
25
23
|
* @class
|
|
26
24
|
*/
|
|
27
|
-
goog
|
|
25
|
+
import * as goog from '../closure/goog/goog.js';
|
|
26
|
+
goog.declareModuleId('Blockly.BlockDragSurfaceSvg');
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
import {Coordinate} from './utils/coordinate.js';
|
|
29
|
+
import * as deprecation from './utils/deprecation.js';
|
|
30
|
+
import * as dom from './utils/dom.js';
|
|
31
|
+
import {Svg} from './utils/svg.js';
|
|
32
|
+
import * as svgMath from './utils/svg_math.js';
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
/**
|
|
@@ -37,70 +37,40 @@ const {Svg} = goog.require('Blockly.utils.Svg');
|
|
|
37
37
|
* SVG that contains only the currently moving block, or nothing.
|
|
38
38
|
* @alias Blockly.BlockDragSurfaceSvg
|
|
39
39
|
*/
|
|
40
|
-
|
|
40
|
+
export class BlockDragSurfaceSvg {
|
|
41
|
+
/** The SVG drag surface. Set once by BlockDragSurfaceSvg.createDom. */
|
|
42
|
+
private svg_: SVGElement;
|
|
43
|
+
|
|
41
44
|
/**
|
|
42
|
-
*
|
|
45
|
+
* This is where blocks live while they are being dragged if the drag
|
|
46
|
+
* surface is enabled.
|
|
43
47
|
*/
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* The SVG drag surface. Set once by BlockDragSurfaceSvg.createDom.
|
|
47
|
-
* @type {?SVGElement}
|
|
48
|
-
* @private
|
|
49
|
-
*/
|
|
50
|
-
this.SVG_ = null;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* This is where blocks live while they are being dragged if the drag
|
|
54
|
-
* surface is enabled.
|
|
55
|
-
* @type {?SVGElement}
|
|
56
|
-
* @private
|
|
57
|
-
*/
|
|
58
|
-
this.dragGroup_ = null;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Containing HTML element; parent of the workspace and the drag surface.
|
|
62
|
-
* @type {!Element}
|
|
63
|
-
* @private
|
|
64
|
-
*/
|
|
65
|
-
this.container_ = container;
|
|
48
|
+
private dragGroup_: SVGElement;
|
|
66
49
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
*/
|
|
73
|
-
this.scale_ = 1;
|
|
50
|
+
/**
|
|
51
|
+
* Cached value for the scale of the drag surface.
|
|
52
|
+
* Used to set/get the correct translation during and after a drag.
|
|
53
|
+
*/
|
|
54
|
+
private scale_ = 1;
|
|
74
55
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.surfaceXY_ = null;
|
|
56
|
+
/**
|
|
57
|
+
* Cached value for the translation of the drag surface.
|
|
58
|
+
* This translation is in pixel units, because the scale is applied to the
|
|
59
|
+
* drag group rather than the top-level SVG.
|
|
60
|
+
*/
|
|
61
|
+
private surfaceXY_: Coordinate = new Coordinate(0, 0);
|
|
62
|
+
private readonly childSurfaceXY_: Coordinate;
|
|
83
63
|
|
|
64
|
+
/** @param container Containing element. */
|
|
65
|
+
constructor(private readonly container: Element) {
|
|
84
66
|
/**
|
|
85
67
|
* Cached value for the translation of the child drag surface in pixel
|
|
86
68
|
* units. Since the child drag surface tracks the translation of the
|
|
87
69
|
* workspace this is ultimately the translation of the workspace.
|
|
88
|
-
* @type {!Coordinate}
|
|
89
|
-
* @private
|
|
90
70
|
*/
|
|
91
71
|
this.childSurfaceXY_ = new Coordinate(0, 0);
|
|
92
72
|
|
|
93
|
-
this.
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Create the drag surface and inject it into the container.
|
|
98
|
-
*/
|
|
99
|
-
createDom() {
|
|
100
|
-
if (this.SVG_) {
|
|
101
|
-
return; // Already created.
|
|
102
|
-
}
|
|
103
|
-
this.SVG_ = dom.createSvgElement(
|
|
73
|
+
this.svg_ = dom.createSvgElement(
|
|
104
74
|
Svg.SVG, {
|
|
105
75
|
'xmlns': dom.SVG_NS,
|
|
106
76
|
'xmlns:html': dom.HTML_NS,
|
|
@@ -108,46 +78,49 @@ const BlockDragSurfaceSvg = class {
|
|
|
108
78
|
'version': '1.1',
|
|
109
79
|
'class': 'blocklyBlockDragSurface',
|
|
110
80
|
},
|
|
111
|
-
this.
|
|
112
|
-
this.dragGroup_ = dom.createSvgElement(Svg.G, {}, this.
|
|
81
|
+
this.container);
|
|
82
|
+
this.dragGroup_ = dom.createSvgElement(Svg.G, {}, this.svg_ as SVGElement);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Create the drag surface and inject it into the container. */
|
|
86
|
+
createDom() {
|
|
87
|
+
// No alternative provided, because now the dom is just automatically
|
|
88
|
+
// created in the constructor now.
|
|
89
|
+
deprecation.warn('BlockDragSurfaceSvg createDom', 'June 2022', 'June 2023');
|
|
113
90
|
}
|
|
114
91
|
|
|
115
92
|
/**
|
|
116
93
|
* Set the SVG blocks on the drag surface's group and show the surface.
|
|
117
94
|
* Only one block group should be on the drag surface at a time.
|
|
118
|
-
* @param
|
|
119
|
-
* surface.
|
|
95
|
+
* @param blocks Block or group of blocks to place on the drag surface.
|
|
120
96
|
*/
|
|
121
|
-
setBlocksAndShow(blocks) {
|
|
97
|
+
setBlocksAndShow(blocks: SVGElement) {
|
|
122
98
|
if (this.dragGroup_.childNodes.length) {
|
|
123
99
|
throw Error('Already dragging a block.');
|
|
124
100
|
}
|
|
125
101
|
// appendChild removes the blocks from the previous parent
|
|
126
102
|
this.dragGroup_.appendChild(blocks);
|
|
127
|
-
this.
|
|
103
|
+
this.svg_.style.display = 'block';
|
|
128
104
|
this.surfaceXY_ = new Coordinate(0, 0);
|
|
129
105
|
}
|
|
130
106
|
|
|
131
107
|
/**
|
|
132
108
|
* Translate and scale the entire drag surface group to the given position, to
|
|
133
109
|
* keep in sync with the workspace.
|
|
134
|
-
* @param
|
|
135
|
-
* @param
|
|
136
|
-
* @param
|
|
110
|
+
* @param x X translation in pixel coordinates.
|
|
111
|
+
* @param y Y translation in pixel coordinates.
|
|
112
|
+
* @param scale Scale of the group.
|
|
137
113
|
*/
|
|
138
|
-
translateAndScaleGroup(x, y, scale) {
|
|
114
|
+
translateAndScaleGroup(x: number, y: number, scale: number) {
|
|
139
115
|
this.scale_ = scale;
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
this.
|
|
146
|
-
this.childSurfaceXY_.y = parseInt(fixedY, 10);
|
|
147
|
-
|
|
148
|
-
this.dragGroup_.setAttribute(
|
|
116
|
+
// Make sure the svg exists on a pixel boundary so that it is not fuzzy.
|
|
117
|
+
const roundX = Math.round(x);
|
|
118
|
+
const roundY = Math.round(y);
|
|
119
|
+
this.childSurfaceXY_.x = roundX;
|
|
120
|
+
this.childSurfaceXY_.y = roundY;
|
|
121
|
+
this.dragGroup_!.setAttribute(
|
|
149
122
|
'transform',
|
|
150
|
-
'translate(' +
|
|
123
|
+
'translate(' + roundX + ',' + roundY + ') scale(' + scale + ')');
|
|
151
124
|
}
|
|
152
125
|
|
|
153
126
|
/**
|
|
@@ -155,23 +128,21 @@ const BlockDragSurfaceSvg = class {
|
|
|
155
128
|
* @private
|
|
156
129
|
*/
|
|
157
130
|
translateSurfaceInternal_() {
|
|
158
|
-
let x = this.surfaceXY_
|
|
159
|
-
let y = this.surfaceXY_
|
|
160
|
-
//
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
this.
|
|
165
|
-
|
|
166
|
-
dom.setCssTransform(this.SVG_, 'translate3d(' + x + 'px, ' + y + 'px, 0)');
|
|
131
|
+
let x = this.surfaceXY_!.x;
|
|
132
|
+
let y = this.surfaceXY_!.y;
|
|
133
|
+
// Make sure the svg exists on a pixel boundary so that it is not fuzzy.
|
|
134
|
+
x = Math.round(x);
|
|
135
|
+
y = Math.round(y);
|
|
136
|
+
this.svg_.style.display = 'block';
|
|
137
|
+
dom.setCssTransform(this.svg_, 'translate3d(' + x + 'px, ' + y + 'px, 0)');
|
|
167
138
|
}
|
|
168
139
|
|
|
169
140
|
/**
|
|
170
141
|
* Translates the entire surface by a relative offset.
|
|
171
|
-
* @param
|
|
172
|
-
* @param
|
|
142
|
+
* @param deltaX Horizontal offset in pixel units.
|
|
143
|
+
* @param deltaY Vertical offset in pixel units.
|
|
173
144
|
*/
|
|
174
|
-
translateBy(deltaX, deltaY) {
|
|
145
|
+
translateBy(deltaX: number, deltaY: number) {
|
|
175
146
|
const x = this.surfaceXY_.x + deltaX;
|
|
176
147
|
const y = this.surfaceXY_.y + deltaY;
|
|
177
148
|
this.surfaceXY_ = new Coordinate(x, y);
|
|
@@ -183,10 +154,10 @@ const BlockDragSurfaceSvg = class {
|
|
|
183
154
|
* We translate the drag surface instead of the blocks inside the surface
|
|
184
155
|
* so that the browser avoids repainting the SVG.
|
|
185
156
|
* Because of this, the drag coordinates must be adjusted by scale.
|
|
186
|
-
* @param
|
|
187
|
-
* @param
|
|
157
|
+
* @param x X translation for the entire surface.
|
|
158
|
+
* @param y Y translation for the entire surface.
|
|
188
159
|
*/
|
|
189
|
-
translateSurface(x, y) {
|
|
160
|
+
translateSurface(x: number, y: number) {
|
|
190
161
|
this.surfaceXY_ = new Coordinate(x * this.scale_, y * this.scale_);
|
|
191
162
|
this.translateSurfaceInternal_();
|
|
192
163
|
}
|
|
@@ -194,47 +165,46 @@ const BlockDragSurfaceSvg = class {
|
|
|
194
165
|
/**
|
|
195
166
|
* Reports the surface translation in scaled workspace coordinates.
|
|
196
167
|
* Use this when finishing a drag to return blocks to the correct position.
|
|
197
|
-
* @return
|
|
168
|
+
* @return Current translation of the surface.
|
|
198
169
|
*/
|
|
199
|
-
getSurfaceTranslation() {
|
|
200
|
-
const xy = svgMath.getRelativeXY(
|
|
170
|
+
getSurfaceTranslation(): Coordinate {
|
|
171
|
+
const xy = svgMath.getRelativeXY(this.svg_ as SVGElement);
|
|
201
172
|
return new Coordinate(xy.x / this.scale_, xy.y / this.scale_);
|
|
202
173
|
}
|
|
203
174
|
|
|
204
175
|
/**
|
|
205
176
|
* Provide a reference to the drag group (primarily for
|
|
206
177
|
* BlockSvg.getRelativeToSurfaceXY).
|
|
207
|
-
* @return
|
|
178
|
+
* @return Drag surface group element.
|
|
208
179
|
*/
|
|
209
|
-
getGroup() {
|
|
180
|
+
getGroup(): SVGElement|null {
|
|
210
181
|
return this.dragGroup_;
|
|
211
182
|
}
|
|
212
183
|
|
|
213
184
|
/**
|
|
214
185
|
* Returns the SVG drag surface.
|
|
215
|
-
* @returns
|
|
186
|
+
* @returns The SVG drag surface.
|
|
216
187
|
*/
|
|
217
|
-
getSvgRoot() {
|
|
218
|
-
return this.
|
|
188
|
+
getSvgRoot(): SVGElement|null {
|
|
189
|
+
return this.svg_;
|
|
219
190
|
}
|
|
220
191
|
|
|
221
192
|
/**
|
|
222
193
|
* Get the current blocks on the drag surface, if any (primarily
|
|
223
194
|
* for BlockSvg.getRelativeToSurfaceXY).
|
|
224
|
-
* @return
|
|
225
|
-
* exist.
|
|
195
|
+
* @return Drag surface block DOM element, or null if no blocks exist.
|
|
226
196
|
*/
|
|
227
|
-
getCurrentBlock() {
|
|
228
|
-
return
|
|
197
|
+
getCurrentBlock(): Element|null {
|
|
198
|
+
return this.dragGroup_.firstChild as Element;
|
|
229
199
|
}
|
|
230
200
|
|
|
231
201
|
/**
|
|
232
202
|
* Gets the translation of the child block surface
|
|
233
203
|
* This surface is in charge of keeping track of how much the workspace has
|
|
234
204
|
* moved.
|
|
235
|
-
* @return
|
|
205
|
+
* @return The amount the workspace has been moved.
|
|
236
206
|
*/
|
|
237
|
-
getWsTranslation() {
|
|
207
|
+
getWsTranslation(): Coordinate {
|
|
238
208
|
// Returning a copy so the coordinate can not be changed outside this class.
|
|
239
209
|
return this.childSurfaceXY_.clone();
|
|
240
210
|
}
|
|
@@ -244,11 +214,11 @@ const BlockDragSurfaceSvg = class {
|
|
|
244
214
|
* element.
|
|
245
215
|
* If the block is being deleted it doesn't need to go back to the original
|
|
246
216
|
* surface, since it would be removed immediately during dispose.
|
|
247
|
-
* @param
|
|
248
|
-
*
|
|
249
|
-
*
|
|
217
|
+
* @param opt_newSurface Surface the dragging blocks should be moved to, or
|
|
218
|
+
* null if the blocks should be removed from this surface without being
|
|
219
|
+
* moved to a different surface.
|
|
250
220
|
*/
|
|
251
|
-
clearAndHide(opt_newSurface) {
|
|
221
|
+
clearAndHide(opt_newSurface?: Element) {
|
|
252
222
|
const currentBlockElement = this.getCurrentBlock();
|
|
253
223
|
if (currentBlockElement) {
|
|
254
224
|
if (opt_newSurface) {
|
|
@@ -258,12 +228,10 @@ const BlockDragSurfaceSvg = class {
|
|
|
258
228
|
this.dragGroup_.removeChild(currentBlockElement);
|
|
259
229
|
}
|
|
260
230
|
}
|
|
261
|
-
this.
|
|
231
|
+
this.svg_.style.display = 'none';
|
|
262
232
|
if (this.dragGroup_.childNodes.length) {
|
|
263
233
|
throw Error('Drag group was not cleared.');
|
|
264
234
|
}
|
|
265
|
-
this.surfaceXY_ =
|
|
235
|
+
this.surfaceXY_ = new Coordinate(0, 0);
|
|
266
236
|
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
exports.BlockDragSurfaceSvg = BlockDragSurfaceSvg;
|
|
237
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2017 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import './events/events_block_drag.js';
|
|
7
|
+
import type { BlockSvg } from './block_svg.js';
|
|
8
|
+
import type { Icon } from './icon.js';
|
|
9
|
+
import { InsertionMarkerManager } from './insertion_marker_manager.js';
|
|
10
|
+
import type { IBlockDragger } from './interfaces/i_block_dragger.js';
|
|
11
|
+
import { Coordinate } from './utils/coordinate.js';
|
|
12
|
+
import type { WorkspaceSvg } from './workspace_svg.js';
|
|
13
|
+
/**
|
|
14
|
+
* Class for a block dragger. It moves blocks around the workspace when they
|
|
15
|
+
* are being dragged by a mouse or touch.
|
|
16
|
+
* @alias Blockly.BlockDragger
|
|
17
|
+
*/
|
|
18
|
+
export declare class BlockDragger implements IBlockDragger {
|
|
19
|
+
/** The top block in the stack that is being dragged. */
|
|
20
|
+
protected draggingBlock_: BlockSvg;
|
|
21
|
+
protected draggedConnectionManager_: InsertionMarkerManager;
|
|
22
|
+
/** The workspace on which the block is being dragged. */
|
|
23
|
+
protected workspace_: WorkspaceSvg;
|
|
24
|
+
/** Which drag area the mouse pointer is over, if any. */
|
|
25
|
+
private dragTarget_;
|
|
26
|
+
/** Whether the block would be deleted if dropped immediately. */
|
|
27
|
+
protected wouldDeleteBlock_: boolean;
|
|
28
|
+
protected startXY_: Coordinate;
|
|
29
|
+
protected dragIconData_: IconPositionData[];
|
|
30
|
+
/**
|
|
31
|
+
* @param block The block to drag.
|
|
32
|
+
* @param workspace The workspace to drag on.
|
|
33
|
+
*/
|
|
34
|
+
constructor(block: BlockSvg, workspace: WorkspaceSvg);
|
|
35
|
+
/**
|
|
36
|
+
* Sever all links from this object.
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
dispose(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Start dragging a block. This includes moving it to the drag surface.
|
|
42
|
+
* @param currentDragDeltaXY How far the pointer has moved from the position
|
|
43
|
+
* at mouse down, in pixel units.
|
|
44
|
+
* @param healStack Whether or not to heal the stack after disconnecting.
|
|
45
|
+
*/
|
|
46
|
+
startDrag(currentDragDeltaXY: Coordinate, healStack: boolean): void;
|
|
47
|
+
/**
|
|
48
|
+
* Whether or not we should disconnect the block when a drag is started.
|
|
49
|
+
* @param healStack Whether or not to heal the stack after disconnecting.
|
|
50
|
+
* @return True to disconnect the block, false otherwise.
|
|
51
|
+
*/
|
|
52
|
+
protected shouldDisconnect_(healStack: boolean): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Disconnects the block and moves it to a new location.
|
|
55
|
+
* @param healStack Whether or not to heal the stack after disconnecting.
|
|
56
|
+
* @param currentDragDeltaXY How far the pointer has moved from the position
|
|
57
|
+
* at mouse down, in pixel units.
|
|
58
|
+
*/
|
|
59
|
+
protected disconnectBlock_(healStack: boolean, currentDragDeltaXY: Coordinate): void;
|
|
60
|
+
/** Fire a UI event at the start of a block drag. */
|
|
61
|
+
protected fireDragStartEvent_(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Execute a step of block dragging, based on the given event. Update the
|
|
64
|
+
* display accordingly.
|
|
65
|
+
* @param e The most recent move event.
|
|
66
|
+
* @param currentDragDeltaXY How far the pointer has moved from the position
|
|
67
|
+
* at the start of the drag, in pixel units.
|
|
68
|
+
*/
|
|
69
|
+
drag(e: Event, currentDragDeltaXY: Coordinate): void;
|
|
70
|
+
/**
|
|
71
|
+
* Finish a block drag and put the block back on the workspace.
|
|
72
|
+
* @param e The mouseup/touchend event.
|
|
73
|
+
* @param currentDragDeltaXY How far the pointer has moved from the position
|
|
74
|
+
* at the start of the drag, in pixel units.
|
|
75
|
+
*/
|
|
76
|
+
endDrag(e: Event, currentDragDeltaXY: Coordinate): void;
|
|
77
|
+
/**
|
|
78
|
+
* Calculates the drag delta and new location values after a block is dragged.
|
|
79
|
+
* @param currentDragDeltaXY How far the pointer has moved from the start of
|
|
80
|
+
* the drag, in pixel units.
|
|
81
|
+
* @return New location after drag. delta is in workspace units. newLocation
|
|
82
|
+
* is the new coordinate where the block should end up.
|
|
83
|
+
*/
|
|
84
|
+
protected getNewLocationAfterDrag_(currentDragDeltaXY: Coordinate): {
|
|
85
|
+
delta: Coordinate;
|
|
86
|
+
newLocation: Coordinate;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* May delete the dragging block, if allowed. If `this.wouldDeleteBlock_` is
|
|
90
|
+
* not true, the block will not be deleted. This should be called at the end
|
|
91
|
+
* of a block drag.
|
|
92
|
+
* @return True if the block was deleted.
|
|
93
|
+
*/
|
|
94
|
+
protected maybeDeleteBlock_(): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Updates the necessary information to place a block at a certain location.
|
|
97
|
+
* @param delta The change in location from where the block started the drag
|
|
98
|
+
* to where it ended the drag.
|
|
99
|
+
*/
|
|
100
|
+
protected updateBlockAfterMove_(delta: Coordinate): void;
|
|
101
|
+
/** Fire a UI event at the end of a block drag. */
|
|
102
|
+
protected fireDragEndEvent_(): void;
|
|
103
|
+
/**
|
|
104
|
+
* Adds or removes the style of the cursor for the toolbox.
|
|
105
|
+
* This is what changes the cursor to display an x when a deletable block is
|
|
106
|
+
* held over the toolbox.
|
|
107
|
+
* @param isEnd True if we are at the end of a drag, false otherwise.
|
|
108
|
+
*/
|
|
109
|
+
protected updateToolboxStyle_(isEnd: boolean): void;
|
|
110
|
+
/** Fire a move event at the end of a block drag. */
|
|
111
|
+
protected fireMoveEvent_(): void;
|
|
112
|
+
/**
|
|
113
|
+
* Update the cursor (and possibly the trash can lid) to reflect whether the
|
|
114
|
+
* dragging block would be deleted if released immediately.
|
|
115
|
+
*/
|
|
116
|
+
protected updateCursorDuringBlockDrag_(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Convert a coordinate object from pixels to workspace units, including a
|
|
119
|
+
* correction for mutator workspaces.
|
|
120
|
+
* This function does not consider differing origins. It simply scales the
|
|
121
|
+
* input's x and y values.
|
|
122
|
+
* @param pixelCoord A coordinate with x and y values in CSS pixel units.
|
|
123
|
+
* @return The input coordinate divided by the workspace scale.
|
|
124
|
+
*/
|
|
125
|
+
protected pixelsToWorkspaceUnits_(pixelCoord: Coordinate): Coordinate;
|
|
126
|
+
/**
|
|
127
|
+
* Move all of the icons connected to this drag.
|
|
128
|
+
* @param dxy How far to move the icons from their original positions, in
|
|
129
|
+
* workspace units.
|
|
130
|
+
*/
|
|
131
|
+
protected dragIcons_(dxy: Coordinate): void;
|
|
132
|
+
/**
|
|
133
|
+
* Get a list of the insertion markers that currently exist. Drags have 0, 1,
|
|
134
|
+
* or 2 insertion markers.
|
|
135
|
+
* @return A possibly empty list of insertion marker blocks.
|
|
136
|
+
*/
|
|
137
|
+
getInsertionMarkers(): BlockSvg[];
|
|
138
|
+
}
|
|
139
|
+
/** Data about the position of a given icon. */
|
|
140
|
+
export interface IconPositionData {
|
|
141
|
+
location: Coordinate;
|
|
142
|
+
icon: Icon;
|
|
143
|
+
}
|