blockly 8.0.4-beta.0 → 8.0.5-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2421 -2688
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -719
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/input.ts +309 -0
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +229 -228
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +421 -421
- package/msg/ace.js +421 -421
- package/msg/af.js +421 -421
- package/msg/am.js +421 -421
- package/msg/ar.js +421 -421
- package/msg/ast.js +421 -421
- package/msg/az.js +421 -421
- package/msg/ba.js +421 -421
- package/msg/bcc.js +421 -421
- package/msg/be-tarask.js +421 -421
- package/msg/be.js +421 -421
- package/msg/bg.js +421 -421
- package/msg/bn.js +421 -421
- package/msg/br.js +421 -421
- package/msg/bs.js +421 -421
- package/msg/ca.js +421 -421
- package/msg/cdo.js +421 -421
- package/msg/cs.js +421 -421
- package/msg/da.js +421 -421
- package/msg/de.js +421 -421
- package/msg/diq.js +421 -421
- package/msg/dty.js +421 -421
- package/msg/ee.js +421 -421
- package/msg/el.js +421 -421
- package/msg/en-gb.js +421 -421
- package/msg/en.js +421 -421
- package/msg/eo.js +421 -421
- package/msg/es.js +421 -421
- package/msg/et.js +421 -421
- package/msg/eu.js +421 -421
- package/msg/fa.js +421 -421
- package/msg/fi.js +421 -421
- package/msg/fo.js +421 -421
- package/msg/fr.js +421 -421
- package/msg/frr.js +421 -421
- package/msg/gl.js +421 -421
- package/msg/gn.js +421 -421
- package/msg/gor.js +421 -421
- package/msg/ha.js +421 -421
- package/msg/hak.js +421 -421
- package/msg/he.js +421 -421
- package/msg/hi.js +421 -421
- package/msg/hr.js +421 -421
- package/msg/hrx.js +421 -421
- package/msg/hu.js +421 -421
- package/msg/hy.js +421 -421
- package/msg/ia.js +421 -421
- package/msg/id.js +421 -421
- package/msg/ig.js +421 -421
- package/msg/inh.js +421 -421
- package/msg/is.js +421 -421
- package/msg/it.js +421 -421
- package/msg/ja.js +421 -421
- package/msg/ka.js +421 -421
- package/msg/kab.js +421 -421
- package/msg/kbd-cyrl.js +421 -421
- package/msg/km.js +421 -421
- package/msg/kn.js +421 -421
- package/msg/ko.js +421 -421
- package/msg/ksh.js +421 -421
- package/msg/ku-latn.js +421 -421
- package/msg/ky.js +421 -421
- package/msg/la.js +421 -421
- package/msg/lb.js +421 -421
- package/msg/lki.js +421 -421
- package/msg/lo.js +421 -421
- package/msg/lrc.js +421 -421
- package/msg/lt.js +421 -421
- package/msg/lv.js +421 -421
- package/msg/mg.js +421 -421
- package/msg/mk.js +421 -421
- package/msg/ml.js +421 -421
- package/msg/mnw.js +421 -421
- package/msg/ms.js +421 -421
- package/msg/my.js +421 -421
- package/msg/mzn.js +421 -421
- package/msg/nb.js +421 -421
- package/msg/ne.js +421 -421
- package/msg/nl.js +421 -421
- package/msg/oc.js +421 -421
- package/msg/olo.js +421 -421
- package/msg/pa.js +421 -421
- package/msg/pl.js +421 -421
- package/msg/pms.js +421 -421
- package/msg/ps.js +421 -421
- package/msg/pt-br.js +421 -421
- package/msg/pt.js +421 -421
- package/msg/ro.js +421 -421
- package/msg/ru.js +421 -421
- package/msg/sc.js +421 -421
- package/msg/sco.js +421 -421
- package/msg/sd.js +421 -421
- package/msg/shn.js +421 -421
- package/msg/si.js +421 -421
- package/msg/sk.js +421 -421
- package/msg/skr-arab.js +421 -421
- package/msg/sl.js +421 -421
- package/msg/smn.js +421 -421
- package/msg/sq.js +421 -421
- package/msg/sr-latn.js +421 -421
- package/msg/sr.js +421 -421
- package/msg/sv.js +421 -421
- package/msg/sw.js +421 -421
- package/msg/ta.js +421 -421
- package/msg/tcy.js +421 -421
- package/msg/te.js +421 -421
- package/msg/th.js +421 -421
- package/msg/ti.js +421 -421
- package/msg/tl.js +421 -421
- package/msg/tlh.js +421 -421
- package/msg/tr.js +421 -421
- package/msg/ug-arab.js +421 -421
- package/msg/uk.js +421 -421
- package/msg/ur.js +421 -421
- package/msg/uz.js +421 -421
- package/msg/vi.js +421 -421
- package/msg/xmf.js +421 -421
- package/msg/yo.js +421 -421
- package/msg/yue.js +421 -421
- package/msg/zgh.js +421 -421
- package/msg/zh-hans.js +421 -421
- package/msg/zh-hant.js +421 -421
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/input.js +0 -335
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -293
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -7,45 +7,49 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Class for a block change event.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Class for a block change event.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BlockChange');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const {Block} = goog.requireType('Blockly.Block');
|
|
18
|
+
import type {Block} from '../block.js';
|
|
19
|
+
import type {BlockSvg} from '../block_svg.js';
|
|
20
|
+
import * as registry from '../registry.js';
|
|
21
|
+
import * as Xml from '../xml.js';
|
|
22
|
+
|
|
23
|
+
import {BlockBase} from './events_block_base.js';
|
|
24
|
+
import * as eventUtils from './utils.js';
|
|
26
25
|
|
|
27
26
|
|
|
28
27
|
/**
|
|
29
28
|
* Class for a block change event.
|
|
30
|
-
* @extends {BlockBase}
|
|
31
29
|
* @alias Blockly.Events.BlockChange
|
|
32
30
|
*/
|
|
33
|
-
class BlockChange extends BlockBase {
|
|
31
|
+
export class BlockChange extends BlockBase {
|
|
32
|
+
override type: string;
|
|
33
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
34
|
+
element!: string;
|
|
35
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
36
|
+
name!: string|null;
|
|
37
|
+
oldValue: AnyDuringMigration;
|
|
38
|
+
newValue: AnyDuringMigration;
|
|
39
|
+
|
|
34
40
|
/**
|
|
35
|
-
* @param
|
|
36
|
-
*
|
|
37
|
-
* @param
|
|
38
|
-
* @param
|
|
39
|
-
* @param
|
|
40
|
-
* @param {*=} opt_newValue New value of element.
|
|
41
|
+
* @param opt_block The changed block. Undefined for a blank event.
|
|
42
|
+
* @param opt_element One of 'field', 'comment', 'disabled', etc.
|
|
43
|
+
* @param opt_name Name of input or field affected, or null.
|
|
44
|
+
* @param opt_oldValue Previous value of element.
|
|
45
|
+
* @param opt_newValue New value of element.
|
|
41
46
|
*/
|
|
42
|
-
constructor(
|
|
47
|
+
constructor(
|
|
48
|
+
opt_block?: Block, opt_element?: string, opt_name?: string|null,
|
|
49
|
+
opt_oldValue?: AnyDuringMigration, opt_newValue?: AnyDuringMigration) {
|
|
43
50
|
super(opt_block);
|
|
44
51
|
|
|
45
|
-
/**
|
|
46
|
-
* Type of this event.
|
|
47
|
-
* @type {string}
|
|
48
|
-
*/
|
|
52
|
+
/** Type of this event. */
|
|
49
53
|
this.type = eventUtils.BLOCK_CHANGE;
|
|
50
54
|
|
|
51
55
|
if (!opt_block) {
|
|
@@ -59,9 +63,9 @@ class BlockChange extends BlockBase {
|
|
|
59
63
|
|
|
60
64
|
/**
|
|
61
65
|
* Encode the event as JSON.
|
|
62
|
-
* @return
|
|
66
|
+
* @return JSON representation.
|
|
63
67
|
*/
|
|
64
|
-
toJson() {
|
|
68
|
+
override toJson(): AnyDuringMigration {
|
|
65
69
|
const json = super.toJson();
|
|
66
70
|
json['element'] = this.element;
|
|
67
71
|
if (this.name) {
|
|
@@ -74,9 +78,9 @@ class BlockChange extends BlockBase {
|
|
|
74
78
|
|
|
75
79
|
/**
|
|
76
80
|
* Decode the JSON event.
|
|
77
|
-
* @param
|
|
81
|
+
* @param json JSON representation.
|
|
78
82
|
*/
|
|
79
|
-
fromJson(json) {
|
|
83
|
+
override fromJson(json: AnyDuringMigration) {
|
|
80
84
|
super.fromJson(json);
|
|
81
85
|
this.element = json['element'];
|
|
82
86
|
this.name = json['name'];
|
|
@@ -86,26 +90,25 @@ class BlockChange extends BlockBase {
|
|
|
86
90
|
|
|
87
91
|
/**
|
|
88
92
|
* Does this event record any change of state?
|
|
89
|
-
* @return
|
|
93
|
+
* @return False if something changed.
|
|
90
94
|
*/
|
|
91
|
-
isNull() {
|
|
95
|
+
override isNull(): boolean {
|
|
92
96
|
return this.oldValue === this.newValue;
|
|
93
97
|
}
|
|
94
98
|
|
|
95
99
|
/**
|
|
96
100
|
* Run a change event.
|
|
97
|
-
* @param
|
|
101
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
98
102
|
*/
|
|
99
|
-
run(forward) {
|
|
103
|
+
override run(forward: boolean) {
|
|
100
104
|
const workspace = this.getEventWorkspace_();
|
|
101
105
|
const block = workspace.getBlockById(this.blockId);
|
|
102
106
|
if (!block) {
|
|
103
107
|
console.warn('Can\'t change non-existent block: ' + this.blockId);
|
|
104
108
|
return;
|
|
105
109
|
}
|
|
106
|
-
|
|
107
110
|
// Assume the block is rendered so that then we can check.
|
|
108
|
-
const blockSvg =
|
|
111
|
+
const blockSvg = block as BlockSvg;
|
|
109
112
|
if (blockSvg.mutator) {
|
|
110
113
|
// Close the mutator (if open) since we don't want to update it.
|
|
111
114
|
blockSvg.mutator.setVisible(false);
|
|
@@ -113,7 +116,7 @@ class BlockChange extends BlockBase {
|
|
|
113
116
|
const value = forward ? this.newValue : this.oldValue;
|
|
114
117
|
switch (this.element) {
|
|
115
118
|
case 'field': {
|
|
116
|
-
const field = block.getField(this.name);
|
|
119
|
+
const field = block.getField(this.name!);
|
|
117
120
|
if (field) {
|
|
118
121
|
field.setValue(value);
|
|
119
122
|
} else {
|
|
@@ -122,7 +125,7 @@ class BlockChange extends BlockBase {
|
|
|
122
125
|
break;
|
|
123
126
|
}
|
|
124
127
|
case 'comment':
|
|
125
|
-
block.setCommentText(
|
|
128
|
+
block.setCommentText(value as string || null);
|
|
126
129
|
break;
|
|
127
130
|
case 'collapsed':
|
|
128
131
|
block.setCollapsed(!!value);
|
|
@@ -134,14 +137,11 @@ class BlockChange extends BlockBase {
|
|
|
134
137
|
block.setInputsInline(!!value);
|
|
135
138
|
break;
|
|
136
139
|
case 'mutation': {
|
|
137
|
-
const oldState = BlockChange.getExtraBlockState_(
|
|
138
|
-
/** @type {!BlockSvg} */ (block));
|
|
140
|
+
const oldState = BlockChange.getExtraBlockState_(block as BlockSvg);
|
|
139
141
|
if (block.loadExtraState) {
|
|
140
|
-
block.loadExtraState(
|
|
141
|
-
JSON.parse(/** @type {string} */ (value) || '{}'));
|
|
142
|
+
block.loadExtraState(JSON.parse(value as string || '{}'));
|
|
142
143
|
} else if (block.domToMutation) {
|
|
143
|
-
block.domToMutation(
|
|
144
|
-
Xml.textToDom(/** @type {string} */ (value) || '<mutation/>'));
|
|
144
|
+
block.domToMutation(Xml.textToDom(value as string || '<mutation/>'));
|
|
145
145
|
}
|
|
146
146
|
eventUtils.fire(
|
|
147
147
|
new BlockChange(block, 'mutation', null, oldState, value));
|
|
@@ -157,12 +157,11 @@ class BlockChange extends BlockBase {
|
|
|
157
157
|
/**
|
|
158
158
|
* Returns the extra state of the given block (either as XML or a JSO,
|
|
159
159
|
* depending on the block's definition).
|
|
160
|
-
* @param
|
|
161
|
-
* @return
|
|
162
|
-
*
|
|
163
|
-
* @package
|
|
160
|
+
* @param block The block to get the extra state of.
|
|
161
|
+
* @return A stringified version of the extra state of the given block.
|
|
162
|
+
* @internal
|
|
164
163
|
*/
|
|
165
|
-
static getExtraBlockState_(block) {
|
|
164
|
+
static getExtraBlockState_(block: BlockSvg): string {
|
|
166
165
|
if (block.saveExtraState) {
|
|
167
166
|
const state = block.saveExtraState();
|
|
168
167
|
return state ? JSON.stringify(state) : '';
|
|
@@ -175,5 +174,3 @@ class BlockChange extends BlockBase {
|
|
|
175
174
|
}
|
|
176
175
|
|
|
177
176
|
registry.register(registry.Type.EVENT, eventUtils.CHANGE, BlockChange);
|
|
178
|
-
|
|
179
|
-
exports.BlockChange = BlockChange;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../block.js';
|
|
7
|
+
import * as blocks from '../serialization/blocks.js';
|
|
8
|
+
import { BlockBase } from './events_block_base.js';
|
|
9
|
+
/**
|
|
10
|
+
* Class for a block creation event.
|
|
11
|
+
* @alias Blockly.Events.BlockCreate
|
|
12
|
+
*/
|
|
13
|
+
export declare class BlockCreate extends BlockBase {
|
|
14
|
+
type: string;
|
|
15
|
+
xml: any;
|
|
16
|
+
ids: string[];
|
|
17
|
+
json: blocks.State;
|
|
18
|
+
/** @param opt_block The created block. Undefined for a blank event. */
|
|
19
|
+
constructor(opt_block?: Block);
|
|
20
|
+
/**
|
|
21
|
+
* Encode the event as JSON.
|
|
22
|
+
* @return JSON representation.
|
|
23
|
+
*/
|
|
24
|
+
toJson(): any;
|
|
25
|
+
/**
|
|
26
|
+
* Decode the JSON event.
|
|
27
|
+
* @param json JSON representation.
|
|
28
|
+
*/
|
|
29
|
+
fromJson(json: any): void;
|
|
30
|
+
/**
|
|
31
|
+
* Run a creation event.
|
|
32
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
33
|
+
*/
|
|
34
|
+
run(forward: boolean): void;
|
|
35
|
+
}
|
|
@@ -7,45 +7,46 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Class for a block creation event.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Class for a block creation event.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BlockCreate');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
import type {Block} from '../block.js';
|
|
19
|
+
import * as registry from '../registry.js';
|
|
20
|
+
import * as blocks from '../serialization/blocks.js';
|
|
21
|
+
import * as Xml from '../xml.js';
|
|
22
|
+
|
|
23
|
+
import {BlockBase} from './events_block_base.js';
|
|
24
|
+
import * as eventUtils from './utils.js';
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Class for a block creation event.
|
|
29
|
-
* @extends {BlockBase}
|
|
30
29
|
* @alias Blockly.Events.BlockCreate
|
|
31
30
|
*/
|
|
32
|
-
class BlockCreate extends BlockBase {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
export class BlockCreate extends BlockBase {
|
|
32
|
+
override type: string;
|
|
33
|
+
xml: AnyDuringMigration;
|
|
34
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
35
|
+
ids!: string[];
|
|
36
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
37
|
+
json!: blocks.State;
|
|
38
|
+
|
|
39
|
+
/** @param opt_block The created block. Undefined for a blank event. */
|
|
40
|
+
constructor(opt_block?: Block) {
|
|
38
41
|
super(opt_block);
|
|
39
42
|
|
|
40
|
-
/**
|
|
41
|
-
* Type of this event.
|
|
42
|
-
* @type {string}
|
|
43
|
-
*/
|
|
43
|
+
/** Type of this event. */
|
|
44
44
|
this.type = eventUtils.BLOCK_CREATE;
|
|
45
45
|
|
|
46
46
|
if (!opt_block) {
|
|
47
47
|
return; // Blank event to be populated by fromJson.
|
|
48
48
|
}
|
|
49
|
+
|
|
49
50
|
if (opt_block.isShadow()) {
|
|
50
51
|
// Moving shadow blocks is handled via disconnection.
|
|
51
52
|
this.recordUndo = false;
|
|
@@ -54,19 +55,15 @@ class BlockCreate extends BlockBase {
|
|
|
54
55
|
this.xml = Xml.blockToDomWithXY(opt_block);
|
|
55
56
|
this.ids = eventUtils.getDescendantIds(opt_block);
|
|
56
57
|
|
|
57
|
-
/**
|
|
58
|
-
|
|
59
|
-
* @type {!blocks.State}
|
|
60
|
-
*/
|
|
61
|
-
this.json = /** @type {!blocks.State} */ (
|
|
62
|
-
blocks.save(opt_block, {addCoordinates: true}));
|
|
58
|
+
/** JSON representation of the block that was just created. */
|
|
59
|
+
this.json = blocks.save(opt_block, {addCoordinates: true}) as blocks.State;
|
|
63
60
|
}
|
|
64
61
|
|
|
65
62
|
/**
|
|
66
63
|
* Encode the event as JSON.
|
|
67
|
-
* @return
|
|
64
|
+
* @return JSON representation.
|
|
68
65
|
*/
|
|
69
|
-
toJson() {
|
|
66
|
+
override toJson(): AnyDuringMigration {
|
|
70
67
|
const json = super.toJson();
|
|
71
68
|
json['xml'] = Xml.domToText(this.xml);
|
|
72
69
|
json['ids'] = this.ids;
|
|
@@ -79,13 +76,13 @@ class BlockCreate extends BlockBase {
|
|
|
79
76
|
|
|
80
77
|
/**
|
|
81
78
|
* Decode the JSON event.
|
|
82
|
-
* @param
|
|
79
|
+
* @param json JSON representation.
|
|
83
80
|
*/
|
|
84
|
-
fromJson(json) {
|
|
81
|
+
override fromJson(json: AnyDuringMigration) {
|
|
85
82
|
super.fromJson(json);
|
|
86
83
|
this.xml = Xml.textToDom(json['xml']);
|
|
87
84
|
this.ids = json['ids'];
|
|
88
|
-
this.json =
|
|
85
|
+
this.json = json['json'] as blocks.State;
|
|
89
86
|
if (json['recordUndo'] !== undefined) {
|
|
90
87
|
this.recordUndo = json['recordUndo'];
|
|
91
88
|
}
|
|
@@ -93,9 +90,9 @@ class BlockCreate extends BlockBase {
|
|
|
93
90
|
|
|
94
91
|
/**
|
|
95
92
|
* Run a creation event.
|
|
96
|
-
* @param
|
|
93
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
97
94
|
*/
|
|
98
|
-
run(forward) {
|
|
95
|
+
override run(forward: boolean) {
|
|
99
96
|
const workspace = this.getEventWorkspace_();
|
|
100
97
|
if (forward) {
|
|
101
98
|
blocks.append(this.json, workspace);
|
|
@@ -115,5 +112,3 @@ class BlockCreate extends BlockBase {
|
|
|
115
112
|
}
|
|
116
113
|
|
|
117
114
|
registry.register(registry.Type.EVENT, eventUtils.CREATE, BlockCreate);
|
|
118
|
-
|
|
119
|
-
exports.BlockCreate = BlockCreate;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../block.js';
|
|
7
|
+
import * as blocks from '../serialization/blocks.js';
|
|
8
|
+
import { BlockBase } from './events_block_base.js';
|
|
9
|
+
/**
|
|
10
|
+
* Class for a block deletion event.
|
|
11
|
+
* @alias Blockly.Events.BlockDelete
|
|
12
|
+
*/
|
|
13
|
+
export declare class BlockDelete extends BlockBase {
|
|
14
|
+
type: string;
|
|
15
|
+
oldXml: any;
|
|
16
|
+
ids: string[];
|
|
17
|
+
wasShadow: boolean;
|
|
18
|
+
oldJson: blocks.State;
|
|
19
|
+
/** @param opt_block The deleted block. Undefined for a blank event. */
|
|
20
|
+
constructor(opt_block?: Block);
|
|
21
|
+
/**
|
|
22
|
+
* Encode the event as JSON.
|
|
23
|
+
* @return JSON representation.
|
|
24
|
+
*/
|
|
25
|
+
toJson(): any;
|
|
26
|
+
/**
|
|
27
|
+
* Decode the JSON event.
|
|
28
|
+
* @param json JSON representation.
|
|
29
|
+
*/
|
|
30
|
+
fromJson(json: any): void;
|
|
31
|
+
/**
|
|
32
|
+
* Run a deletion event.
|
|
33
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
34
|
+
*/
|
|
35
|
+
run(forward: boolean): void;
|
|
36
|
+
}
|
|
@@ -7,45 +7,48 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Class for a block delete event.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Class for a block delete event.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BlockDelete');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
import type {Block} from '../block.js';
|
|
19
|
+
import * as registry from '../registry.js';
|
|
20
|
+
import * as blocks from '../serialization/blocks.js';
|
|
21
|
+
import * as Xml from '../xml.js';
|
|
22
|
+
|
|
23
|
+
import {BlockBase} from './events_block_base.js';
|
|
24
|
+
import * as eventUtils from './utils.js';
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Class for a block deletion event.
|
|
29
|
-
* @extends {BlockBase}
|
|
30
29
|
* @alias Blockly.Events.BlockDelete
|
|
31
30
|
*/
|
|
32
|
-
class BlockDelete extends BlockBase {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
export class BlockDelete extends BlockBase {
|
|
32
|
+
override type: string;
|
|
33
|
+
oldXml: AnyDuringMigration;
|
|
34
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
35
|
+
ids!: string[];
|
|
36
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
37
|
+
wasShadow!: boolean;
|
|
38
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
39
|
+
oldJson!: blocks.State;
|
|
40
|
+
|
|
41
|
+
/** @param opt_block The deleted block. Undefined for a blank event. */
|
|
42
|
+
constructor(opt_block?: Block) {
|
|
38
43
|
super(opt_block);
|
|
39
44
|
|
|
40
|
-
/**
|
|
41
|
-
* Type of this event.
|
|
42
|
-
* @type {string}
|
|
43
|
-
*/
|
|
45
|
+
/** Type of this event. */
|
|
44
46
|
this.type = eventUtils.BLOCK_DELETE;
|
|
45
47
|
|
|
46
48
|
if (!opt_block) {
|
|
47
49
|
return; // Blank event to be populated by fromJson.
|
|
48
50
|
}
|
|
51
|
+
|
|
49
52
|
if (opt_block.getParent()) {
|
|
50
53
|
throw Error('Connected blocks cannot be deleted.');
|
|
51
54
|
}
|
|
@@ -57,25 +60,19 @@ class BlockDelete extends BlockBase {
|
|
|
57
60
|
this.oldXml = Xml.blockToDomWithXY(opt_block);
|
|
58
61
|
this.ids = eventUtils.getDescendantIds(opt_block);
|
|
59
62
|
|
|
60
|
-
/**
|
|
61
|
-
* Was the block that was just deleted a shadow?
|
|
62
|
-
* @type {boolean}
|
|
63
|
-
*/
|
|
63
|
+
/** Was the block that was just deleted a shadow? */
|
|
64
64
|
this.wasShadow = opt_block.isShadow();
|
|
65
65
|
|
|
66
|
-
/**
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
*/
|
|
70
|
-
this.oldJson = /** @type {!blocks.State} */ (
|
|
71
|
-
blocks.save(opt_block, {addCoordinates: true}));
|
|
66
|
+
/** JSON representation of the block that was just deleted. */
|
|
67
|
+
this.oldJson =
|
|
68
|
+
blocks.save(opt_block, {addCoordinates: true}) as blocks.State;
|
|
72
69
|
}
|
|
73
70
|
|
|
74
71
|
/**
|
|
75
72
|
* Encode the event as JSON.
|
|
76
|
-
* @return
|
|
73
|
+
* @return JSON representation.
|
|
77
74
|
*/
|
|
78
|
-
toJson() {
|
|
75
|
+
override toJson(): AnyDuringMigration {
|
|
79
76
|
const json = super.toJson();
|
|
80
77
|
json['oldXml'] = Xml.domToText(this.oldXml);
|
|
81
78
|
json['ids'] = this.ids;
|
|
@@ -89,15 +86,15 @@ class BlockDelete extends BlockBase {
|
|
|
89
86
|
|
|
90
87
|
/**
|
|
91
88
|
* Decode the JSON event.
|
|
92
|
-
* @param
|
|
89
|
+
* @param json JSON representation.
|
|
93
90
|
*/
|
|
94
|
-
fromJson(json) {
|
|
91
|
+
override fromJson(json: AnyDuringMigration) {
|
|
95
92
|
super.fromJson(json);
|
|
96
93
|
this.oldXml = Xml.textToDom(json['oldXml']);
|
|
97
94
|
this.ids = json['ids'];
|
|
98
95
|
this.wasShadow =
|
|
99
96
|
json['wasShadow'] || this.oldXml.tagName.toLowerCase() === 'shadow';
|
|
100
|
-
this.oldJson =
|
|
97
|
+
this.oldJson = json['oldJson'] as blocks.State;
|
|
101
98
|
if (json['recordUndo'] !== undefined) {
|
|
102
99
|
this.recordUndo = json['recordUndo'];
|
|
103
100
|
}
|
|
@@ -105,9 +102,9 @@ class BlockDelete extends BlockBase {
|
|
|
105
102
|
|
|
106
103
|
/**
|
|
107
104
|
* Run a deletion event.
|
|
108
|
-
* @param
|
|
105
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
109
106
|
*/
|
|
110
|
-
run(forward) {
|
|
107
|
+
override run(forward: boolean) {
|
|
111
108
|
const workspace = this.getEventWorkspace_();
|
|
112
109
|
if (forward) {
|
|
113
110
|
for (let i = 0; i < this.ids.length; i++) {
|
|
@@ -127,5 +124,3 @@ class BlockDelete extends BlockBase {
|
|
|
127
124
|
}
|
|
128
125
|
|
|
129
126
|
registry.register(registry.Type.EVENT, eventUtils.DELETE, BlockDelete);
|
|
130
|
-
|
|
131
|
-
exports.BlockDelete = BlockDelete;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Block } from '../block.js';
|
|
7
|
+
import { UiBase } from './events_ui_base.js';
|
|
8
|
+
/**
|
|
9
|
+
* Class for a block drag event.
|
|
10
|
+
* @alias Blockly.Events.BlockDrag
|
|
11
|
+
*/
|
|
12
|
+
export declare class BlockDrag extends UiBase {
|
|
13
|
+
blockId: any;
|
|
14
|
+
isStart?: boolean;
|
|
15
|
+
blocks?: Block[];
|
|
16
|
+
type: string;
|
|
17
|
+
/**
|
|
18
|
+
* @param opt_block The top block in the stack that is being dragged.
|
|
19
|
+
* Undefined for a blank event.
|
|
20
|
+
* @param opt_isStart Whether this is the start of a block drag.
|
|
21
|
+
* Undefined for a blank event.
|
|
22
|
+
* @param opt_blocks The blocks affected by this drag. Undefined for a blank
|
|
23
|
+
* event.
|
|
24
|
+
*/
|
|
25
|
+
constructor(opt_block?: Block, opt_isStart?: boolean, opt_blocks?: Block[]);
|
|
26
|
+
/**
|
|
27
|
+
* Encode the event as JSON.
|
|
28
|
+
* @return JSON representation.
|
|
29
|
+
*/
|
|
30
|
+
toJson(): any;
|
|
31
|
+
/**
|
|
32
|
+
* Decode the JSON event.
|
|
33
|
+
* @param json JSON representation.
|
|
34
|
+
*/
|
|
35
|
+
fromJson(json: any): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Events fired as a block drag.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Events fired as a block drag.
|
|
13
|
+
* @class
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BlockDrag');
|
|
17
|
+
|
|
18
|
+
import type {Block} from '../block.js';
|
|
19
|
+
import * as registry from '../registry.js';
|
|
20
|
+
|
|
21
|
+
import {UiBase} from './events_ui_base.js';
|
|
22
|
+
import * as eventUtils from './utils.js';
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Class for a block drag event.
|
|
27
|
+
* @alias Blockly.Events.BlockDrag
|
|
28
|
+
*/
|
|
29
|
+
export class BlockDrag extends UiBase {
|
|
30
|
+
blockId: AnyDuringMigration;
|
|
31
|
+
isStart?: boolean;
|
|
32
|
+
blocks?: Block[];
|
|
33
|
+
override type: string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param opt_block The top block in the stack that is being dragged.
|
|
37
|
+
* Undefined for a blank event.
|
|
38
|
+
* @param opt_isStart Whether this is the start of a block drag.
|
|
39
|
+
* Undefined for a blank event.
|
|
40
|
+
* @param opt_blocks The blocks affected by this drag. Undefined for a blank
|
|
41
|
+
* event.
|
|
42
|
+
*/
|
|
43
|
+
constructor(opt_block?: Block, opt_isStart?: boolean, opt_blocks?: Block[]) {
|
|
44
|
+
const workspaceId = opt_block ? opt_block.workspace.id : undefined;
|
|
45
|
+
super(workspaceId);
|
|
46
|
+
this.blockId = opt_block ? opt_block.id : null;
|
|
47
|
+
|
|
48
|
+
/** Whether this is the start of a block drag. */
|
|
49
|
+
this.isStart = opt_isStart;
|
|
50
|
+
|
|
51
|
+
/** The blocks affected by this drag event. */
|
|
52
|
+
this.blocks = opt_blocks;
|
|
53
|
+
|
|
54
|
+
/** Type of this event. */
|
|
55
|
+
this.type = eventUtils.BLOCK_DRAG;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Encode the event as JSON.
|
|
60
|
+
* @return JSON representation.
|
|
61
|
+
*/
|
|
62
|
+
override toJson(): AnyDuringMigration {
|
|
63
|
+
const json = super.toJson();
|
|
64
|
+
json['isStart'] = this.isStart;
|
|
65
|
+
json['blockId'] = this.blockId;
|
|
66
|
+
json['blocks'] = this.blocks;
|
|
67
|
+
return json;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Decode the JSON event.
|
|
72
|
+
* @param json JSON representation.
|
|
73
|
+
*/
|
|
74
|
+
override fromJson(json: AnyDuringMigration) {
|
|
75
|
+
super.fromJson(json);
|
|
76
|
+
this.isStart = json['isStart'];
|
|
77
|
+
this.blockId = json['blockId'];
|
|
78
|
+
this.blocks = json['blocks'];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
registry.register(registry.Type.EVENT, eventUtils.BLOCK_DRAG, BlockDrag);
|