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
|
@@ -0,0 +1,51 @@
|
|
|
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 { Coordinate } from '../utils/coordinate.js';
|
|
8
|
+
import { BlockBase } from './events_block_base.js';
|
|
9
|
+
/**
|
|
10
|
+
* Class for a block move event. Created before the move.
|
|
11
|
+
* @alias Blockly.Events.BlockMove
|
|
12
|
+
*/
|
|
13
|
+
export declare class BlockMove extends BlockBase {
|
|
14
|
+
type: string;
|
|
15
|
+
oldParentId: string;
|
|
16
|
+
oldInputName: string;
|
|
17
|
+
oldCoordinate: Coordinate | null;
|
|
18
|
+
newParentId: string | null;
|
|
19
|
+
newInputName: string | null;
|
|
20
|
+
newCoordinate: Coordinate | null;
|
|
21
|
+
/** @param opt_block The moved block. Undefined for a blank event. */
|
|
22
|
+
constructor(opt_block?: Block);
|
|
23
|
+
/**
|
|
24
|
+
* Encode the event as JSON.
|
|
25
|
+
* @return JSON representation.
|
|
26
|
+
*/
|
|
27
|
+
toJson(): any;
|
|
28
|
+
/**
|
|
29
|
+
* Decode the JSON event.
|
|
30
|
+
* @param json JSON representation.
|
|
31
|
+
*/
|
|
32
|
+
fromJson(json: any): void;
|
|
33
|
+
/** Record the block's new location. Called after the move. */
|
|
34
|
+
recordNew(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Returns the parentId and input if the block is connected,
|
|
37
|
+
* or the XY location if disconnected.
|
|
38
|
+
* @return Collection of location info.
|
|
39
|
+
*/
|
|
40
|
+
private currentLocation_;
|
|
41
|
+
/**
|
|
42
|
+
* Does this event record any change of state?
|
|
43
|
+
* @return False if something changed.
|
|
44
|
+
*/
|
|
45
|
+
isNull(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Run a move event.
|
|
48
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
49
|
+
*/
|
|
50
|
+
run(forward: boolean): void;
|
|
51
|
+
}
|
|
@@ -7,45 +7,57 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Class for a block move event.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Class for a block move event.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BlockMove');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const {Block} = goog.requireType('Blockly.Block');
|
|
23
|
-
const {ConnectionType} = goog.require('Blockly.ConnectionType');
|
|
24
|
-
const {Coordinate} = goog.require('Blockly.utils.Coordinate');
|
|
18
|
+
import type {Block} from '../block.js';
|
|
19
|
+
import {ConnectionType} from '../connection_type.js';
|
|
20
|
+
import * as registry from '../registry.js';
|
|
21
|
+
import {Coordinate} from '../utils/coordinate.js';
|
|
25
22
|
|
|
23
|
+
import {BlockBase} from './events_block_base.js';
|
|
24
|
+
import * as eventUtils from './utils.js';
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
interface BlockLocation {
|
|
28
|
+
parentId: string;
|
|
29
|
+
inputName: string;
|
|
30
|
+
coordinate: Coordinate|null;
|
|
31
|
+
} // eslint-disable-line no-unused-vars
|
|
26
32
|
|
|
27
33
|
/**
|
|
28
34
|
* Class for a block move event. Created before the move.
|
|
29
|
-
* @extends {BlockBase}
|
|
30
35
|
* @alias Blockly.Events.BlockMove
|
|
31
36
|
*/
|
|
32
|
-
class BlockMove extends BlockBase {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
export class BlockMove extends BlockBase {
|
|
38
|
+
override type: string;
|
|
39
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
40
|
+
oldParentId!: string;
|
|
41
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
42
|
+
oldInputName!: string;
|
|
43
|
+
// TODO(b/109816955): remove '!', see go/strict-prop-init-fix.
|
|
44
|
+
oldCoordinate!: Coordinate|null;
|
|
45
|
+
|
|
46
|
+
newParentId: string|null = null;
|
|
47
|
+
newInputName: string|null = null;
|
|
48
|
+
newCoordinate: Coordinate|null = null;
|
|
49
|
+
|
|
50
|
+
/** @param opt_block The moved block. Undefined for a blank event. */
|
|
51
|
+
constructor(opt_block?: Block) {
|
|
38
52
|
super(opt_block);
|
|
39
53
|
|
|
40
|
-
/**
|
|
41
|
-
* Type of this event.
|
|
42
|
-
* @type {string}
|
|
43
|
-
*/
|
|
54
|
+
/** Type of this event. */
|
|
44
55
|
this.type = eventUtils.BLOCK_MOVE;
|
|
45
56
|
|
|
46
57
|
if (!opt_block) {
|
|
47
|
-
return;
|
|
58
|
+
return;
|
|
48
59
|
}
|
|
60
|
+
// Blank event to be populated by fromJson.
|
|
49
61
|
if (opt_block.isShadow()) {
|
|
50
62
|
// Moving shadow blocks is handled via disconnection.
|
|
51
63
|
this.recordUndo = false;
|
|
@@ -55,17 +67,13 @@ class BlockMove extends BlockBase {
|
|
|
55
67
|
this.oldParentId = location.parentId;
|
|
56
68
|
this.oldInputName = location.inputName;
|
|
57
69
|
this.oldCoordinate = location.coordinate;
|
|
58
|
-
|
|
59
|
-
this.newParentId = null;
|
|
60
|
-
this.newInputName = null;
|
|
61
|
-
this.newCoordinate = null;
|
|
62
70
|
}
|
|
63
71
|
|
|
64
72
|
/**
|
|
65
73
|
* Encode the event as JSON.
|
|
66
|
-
* @return
|
|
74
|
+
* @return JSON representation.
|
|
67
75
|
*/
|
|
68
|
-
toJson() {
|
|
76
|
+
override toJson(): AnyDuringMigration {
|
|
69
77
|
const json = super.toJson();
|
|
70
78
|
if (this.newParentId) {
|
|
71
79
|
json['newParentId'] = this.newParentId;
|
|
@@ -85,9 +93,9 @@ class BlockMove extends BlockBase {
|
|
|
85
93
|
|
|
86
94
|
/**
|
|
87
95
|
* Decode the JSON event.
|
|
88
|
-
* @param
|
|
96
|
+
* @param json JSON representation.
|
|
89
97
|
*/
|
|
90
|
-
fromJson(json) {
|
|
98
|
+
override fromJson(json: AnyDuringMigration) {
|
|
91
99
|
super.fromJson(json);
|
|
92
100
|
this.newParentId = json['newParentId'];
|
|
93
101
|
this.newInputName = json['newInputName'];
|
|
@@ -100,9 +108,7 @@ class BlockMove extends BlockBase {
|
|
|
100
108
|
}
|
|
101
109
|
}
|
|
102
110
|
|
|
103
|
-
/**
|
|
104
|
-
* Record the block's new location. Called after the move.
|
|
105
|
-
*/
|
|
111
|
+
/** Record the block's new location. Called after the move. */
|
|
106
112
|
recordNew() {
|
|
107
113
|
const location = this.currentLocation_();
|
|
108
114
|
this.newParentId = location.parentId;
|
|
@@ -113,31 +119,32 @@ class BlockMove extends BlockBase {
|
|
|
113
119
|
/**
|
|
114
120
|
* Returns the parentId and input if the block is connected,
|
|
115
121
|
* or the XY location if disconnected.
|
|
116
|
-
* @return
|
|
117
|
-
* @private
|
|
122
|
+
* @return Collection of location info.
|
|
118
123
|
*/
|
|
119
|
-
currentLocation_() {
|
|
124
|
+
private currentLocation_(): BlockLocation {
|
|
120
125
|
const workspace = this.getEventWorkspace_();
|
|
121
126
|
const block = workspace.getBlockById(this.blockId);
|
|
122
|
-
const location = {};
|
|
123
|
-
const parent = block
|
|
127
|
+
const location = {} as BlockLocation;
|
|
128
|
+
const parent = block!.getParent();
|
|
124
129
|
if (parent) {
|
|
125
130
|
location.parentId = parent.id;
|
|
126
|
-
|
|
131
|
+
// AnyDuringMigration because: Argument of type 'Block | null' is not
|
|
132
|
+
// assignable to parameter of type 'Block'.
|
|
133
|
+
const input = parent.getInputWithBlock(block as AnyDuringMigration);
|
|
127
134
|
if (input) {
|
|
128
135
|
location.inputName = input.name;
|
|
129
136
|
}
|
|
130
137
|
} else {
|
|
131
|
-
location.coordinate = block
|
|
138
|
+
location.coordinate = block!.getRelativeToSurfaceXY();
|
|
132
139
|
}
|
|
133
140
|
return location;
|
|
134
141
|
}
|
|
135
142
|
|
|
136
143
|
/**
|
|
137
144
|
* Does this event record any change of state?
|
|
138
|
-
* @return
|
|
145
|
+
* @return False if something changed.
|
|
139
146
|
*/
|
|
140
|
-
isNull() {
|
|
147
|
+
override isNull(): boolean {
|
|
141
148
|
return this.oldParentId === this.newParentId &&
|
|
142
149
|
this.oldInputName === this.newInputName &&
|
|
143
150
|
Coordinate.equals(this.oldCoordinate, this.newCoordinate);
|
|
@@ -145,9 +152,9 @@ class BlockMove extends BlockBase {
|
|
|
145
152
|
|
|
146
153
|
/**
|
|
147
154
|
* Run a move event.
|
|
148
|
-
* @param
|
|
155
|
+
* @param forward True if run forward, false if run backward (undo).
|
|
149
156
|
*/
|
|
150
|
-
run(forward) {
|
|
157
|
+
override run(forward: boolean) {
|
|
151
158
|
const workspace = this.getEventWorkspace_();
|
|
152
159
|
const block = workspace.getBlockById(this.blockId);
|
|
153
160
|
if (!block) {
|
|
@@ -157,7 +164,7 @@ class BlockMove extends BlockBase {
|
|
|
157
164
|
const parentId = forward ? this.newParentId : this.oldParentId;
|
|
158
165
|
const inputName = forward ? this.newInputName : this.oldInputName;
|
|
159
166
|
const coordinate = forward ? this.newCoordinate : this.oldCoordinate;
|
|
160
|
-
let parentBlock;
|
|
167
|
+
let parentBlock: Block|null;
|
|
161
168
|
if (parentId) {
|
|
162
169
|
parentBlock = workspace.getBlockById(parentId);
|
|
163
170
|
if (!parentBlock) {
|
|
@@ -174,19 +181,18 @@ class BlockMove extends BlockBase {
|
|
|
174
181
|
} else {
|
|
175
182
|
let blockConnection = block.outputConnection;
|
|
176
183
|
if (!blockConnection ||
|
|
177
|
-
|
|
178
|
-
block.previousConnection.isConnected())) {
|
|
184
|
+
block.previousConnection && block.previousConnection.isConnected()) {
|
|
179
185
|
blockConnection = block.previousConnection;
|
|
180
186
|
}
|
|
181
187
|
let parentConnection;
|
|
182
188
|
const connectionType = blockConnection.type;
|
|
183
189
|
if (inputName) {
|
|
184
|
-
const input = parentBlock
|
|
190
|
+
const input = parentBlock!.getInput(inputName);
|
|
185
191
|
if (input) {
|
|
186
192
|
parentConnection = input.connection;
|
|
187
193
|
}
|
|
188
194
|
} else if (connectionType === ConnectionType.PREVIOUS_STATEMENT) {
|
|
189
|
-
parentConnection = parentBlock
|
|
195
|
+
parentConnection = parentBlock!.nextConnection;
|
|
190
196
|
}
|
|
191
197
|
if (parentConnection) {
|
|
192
198
|
blockConnection.connect(parentConnection);
|
|
@@ -198,5 +204,3 @@ class BlockMove extends BlockBase {
|
|
|
198
204
|
}
|
|
199
205
|
|
|
200
206
|
registry.register(registry.Type.EVENT, eventUtils.MOVE, BlockMove);
|
|
201
|
-
|
|
202
|
-
exports.BlockMove = BlockMove;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { BlockSvg } from '../block_svg.js';
|
|
7
|
+
import { UiBase } from './events_ui_base.js';
|
|
8
|
+
/**
|
|
9
|
+
* Class for a bubble open event.
|
|
10
|
+
* @alias Blockly.Events.BubbleOpen
|
|
11
|
+
*/
|
|
12
|
+
export declare class BubbleOpen extends UiBase {
|
|
13
|
+
blockId: string | null;
|
|
14
|
+
isOpen?: boolean;
|
|
15
|
+
bubbleType?: string;
|
|
16
|
+
type: string;
|
|
17
|
+
/**
|
|
18
|
+
* @param opt_block The associated block. Undefined for a blank event.
|
|
19
|
+
* @param opt_isOpen Whether the bubble is opening (false if closing).
|
|
20
|
+
* Undefined for a blank event.
|
|
21
|
+
* @param opt_bubbleType The type of bubble. One of 'mutator', 'comment' or
|
|
22
|
+
* 'warning'. Undefined for a blank event.
|
|
23
|
+
*/
|
|
24
|
+
constructor(opt_block: BlockSvg, opt_isOpen?: boolean, opt_bubbleType?: string);
|
|
25
|
+
/**
|
|
26
|
+
* Encode the event as JSON.
|
|
27
|
+
* @return JSON representation.
|
|
28
|
+
*/
|
|
29
|
+
toJson(): any;
|
|
30
|
+
/**
|
|
31
|
+
* Decode the JSON event.
|
|
32
|
+
* @param json JSON representation.
|
|
33
|
+
*/
|
|
34
|
+
fromJson(json: any): void;
|
|
35
|
+
}
|
|
@@ -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 result of bubble open.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Events fired as a result of bubble open.
|
|
13
|
+
* @class
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.BubbleOpen');
|
|
17
|
+
|
|
18
|
+
import type {BlockSvg} from '../block_svg.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 bubble open event.
|
|
27
|
+
* @alias Blockly.Events.BubbleOpen
|
|
28
|
+
*/
|
|
29
|
+
export class BubbleOpen extends UiBase {
|
|
30
|
+
blockId: string|null;
|
|
31
|
+
isOpen?: boolean;
|
|
32
|
+
bubbleType?: string;
|
|
33
|
+
override type: string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param opt_block The associated block. Undefined for a blank event.
|
|
37
|
+
* @param opt_isOpen Whether the bubble is opening (false if closing).
|
|
38
|
+
* Undefined for a blank event.
|
|
39
|
+
* @param opt_bubbleType The type of bubble. One of 'mutator', 'comment' or
|
|
40
|
+
* 'warning'. Undefined for a blank event.
|
|
41
|
+
*/
|
|
42
|
+
constructor(
|
|
43
|
+
opt_block: BlockSvg, opt_isOpen?: boolean, opt_bubbleType?: string) {
|
|
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 the bubble is opening (false if closing). */
|
|
49
|
+
this.isOpen = opt_isOpen;
|
|
50
|
+
|
|
51
|
+
/** The type of bubble. One of 'mutator', 'comment', or 'warning'. */
|
|
52
|
+
this.bubbleType = opt_bubbleType;
|
|
53
|
+
|
|
54
|
+
/** Type of this event. */
|
|
55
|
+
this.type = eventUtils.BUBBLE_OPEN;
|
|
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['isOpen'] = this.isOpen;
|
|
65
|
+
json['bubbleType'] = this.bubbleType;
|
|
66
|
+
json['blockId'] = this.blockId;
|
|
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.isOpen = json['isOpen'];
|
|
77
|
+
this.bubbleType = json['bubbleType'];
|
|
78
|
+
this.blockId = json['blockId'];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
registry.register(registry.Type.EVENT, eventUtils.BUBBLE_OPEN, BubbleOpen);
|
|
@@ -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 click event.
|
|
10
|
+
* @alias Blockly.Events.Click
|
|
11
|
+
*/
|
|
12
|
+
export declare class Click extends UiBase {
|
|
13
|
+
blockId: any;
|
|
14
|
+
targetType?: string;
|
|
15
|
+
type: string;
|
|
16
|
+
/**
|
|
17
|
+
* @param opt_block The affected block. Null for click events that do not have
|
|
18
|
+
* an associated block (i.e. workspace click). Undefined for a blank
|
|
19
|
+
* event.
|
|
20
|
+
* @param opt_workspaceId The workspace identifier for this event.
|
|
21
|
+
* Not used if block is passed. Undefined for a blank event.
|
|
22
|
+
* @param opt_targetType The type of element targeted by this click event.
|
|
23
|
+
* Undefined for a blank event.
|
|
24
|
+
*/
|
|
25
|
+
constructor(opt_block?: Block | null, opt_workspaceId?: string | null, opt_targetType?: string);
|
|
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
|
+
}
|
|
@@ -7,37 +7,42 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Events fired as a result of UI click in Blockly's editor.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Events fired as a result of UI click in Blockly's editor.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.Click');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
23
|
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Class for a click event.
|
|
27
|
-
* @extends {UiBase}
|
|
28
27
|
* @alias Blockly.Events.Click
|
|
29
28
|
*/
|
|
30
|
-
class Click extends UiBase {
|
|
29
|
+
export class Click extends UiBase {
|
|
30
|
+
blockId: AnyDuringMigration;
|
|
31
|
+
targetType?: string;
|
|
32
|
+
override type: string;
|
|
33
|
+
|
|
31
34
|
/**
|
|
32
|
-
* @param
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* @param
|
|
35
|
+
* @param opt_block The affected block. Null for click events that do not have
|
|
36
|
+
* an associated block (i.e. workspace click). Undefined for a blank
|
|
37
|
+
* event.
|
|
38
|
+
* @param opt_workspaceId The workspace identifier for this event.
|
|
36
39
|
* Not used if block is passed. Undefined for a blank event.
|
|
37
|
-
* @param
|
|
38
|
-
*
|
|
40
|
+
* @param opt_targetType The type of element targeted by this click event.
|
|
41
|
+
* Undefined for a blank event.
|
|
39
42
|
*/
|
|
40
|
-
constructor(
|
|
43
|
+
constructor(
|
|
44
|
+
opt_block?: Block|null, opt_workspaceId?: string|null,
|
|
45
|
+
opt_targetType?: string) {
|
|
41
46
|
let workspaceId = opt_block ? opt_block.workspace.id : opt_workspaceId;
|
|
42
47
|
if (workspaceId === null) {
|
|
43
48
|
workspaceId = undefined;
|
|
@@ -45,24 +50,18 @@ class Click extends UiBase {
|
|
|
45
50
|
super(workspaceId);
|
|
46
51
|
this.blockId = opt_block ? opt_block.id : null;
|
|
47
52
|
|
|
48
|
-
/**
|
|
49
|
-
* The type of element targeted by this click event.
|
|
50
|
-
* @type {string|undefined}
|
|
51
|
-
*/
|
|
53
|
+
/** The type of element targeted by this click event. */
|
|
52
54
|
this.targetType = opt_targetType;
|
|
53
55
|
|
|
54
|
-
/**
|
|
55
|
-
* Type of this event.
|
|
56
|
-
* @type {string}
|
|
57
|
-
*/
|
|
56
|
+
/** Type of this event. */
|
|
58
57
|
this.type = eventUtils.CLICK;
|
|
59
58
|
}
|
|
60
59
|
|
|
61
60
|
/**
|
|
62
61
|
* Encode the event as JSON.
|
|
63
|
-
* @return
|
|
62
|
+
* @return JSON representation.
|
|
64
63
|
*/
|
|
65
|
-
toJson() {
|
|
64
|
+
override toJson(): AnyDuringMigration {
|
|
66
65
|
const json = super.toJson();
|
|
67
66
|
json['targetType'] = this.targetType;
|
|
68
67
|
if (this.blockId) {
|
|
@@ -73,9 +72,9 @@ class Click extends UiBase {
|
|
|
73
72
|
|
|
74
73
|
/**
|
|
75
74
|
* Decode the JSON event.
|
|
76
|
-
* @param
|
|
75
|
+
* @param json JSON representation.
|
|
77
76
|
*/
|
|
78
|
-
fromJson(json) {
|
|
77
|
+
override fromJson(json: AnyDuringMigration) {
|
|
79
78
|
super.fromJson(json);
|
|
80
79
|
this.targetType = json['targetType'];
|
|
81
80
|
this.blockId = json['blockId'];
|
|
@@ -83,5 +82,3 @@ class Click extends UiBase {
|
|
|
83
82
|
}
|
|
84
83
|
|
|
85
84
|
registry.register(registry.Type.EVENT, eventUtils.CLICK, Click);
|
|
86
|
-
|
|
87
|
-
exports.Click = Click;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { WorkspaceComment } from '../workspace_comment.js';
|
|
7
|
+
import { Abstract as AbstractEvent } from './events_abstract.js';
|
|
8
|
+
import type { CommentCreate } from './events_comment_create.js';
|
|
9
|
+
import type { CommentDelete } from './events_comment_delete.js';
|
|
10
|
+
/**
|
|
11
|
+
* Abstract class for a comment event.
|
|
12
|
+
* @alias Blockly.Events.CommentBase
|
|
13
|
+
*/
|
|
14
|
+
export declare class CommentBase extends AbstractEvent {
|
|
15
|
+
isBlank: boolean;
|
|
16
|
+
commentId: string;
|
|
17
|
+
workspaceId: string;
|
|
18
|
+
/**
|
|
19
|
+
* @param opt_comment The comment this event corresponds to. Undefined for a
|
|
20
|
+
* blank event.
|
|
21
|
+
*/
|
|
22
|
+
constructor(opt_comment?: WorkspaceComment);
|
|
23
|
+
/**
|
|
24
|
+
* Encode the event as JSON.
|
|
25
|
+
* @return JSON representation.
|
|
26
|
+
*/
|
|
27
|
+
toJson(): any;
|
|
28
|
+
/**
|
|
29
|
+
* Decode the JSON event.
|
|
30
|
+
* @param json JSON representation.
|
|
31
|
+
*/
|
|
32
|
+
fromJson(json: any): void;
|
|
33
|
+
/**
|
|
34
|
+
* Helper function for Comment[Create|Delete]
|
|
35
|
+
* @param event The event to run.
|
|
36
|
+
* @param create if True then Create, if False then Delete
|
|
37
|
+
*/
|
|
38
|
+
static CommentCreateDeleteHelper(event: CommentCreate | CommentDelete, create: boolean): void;
|
|
39
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2018 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview Base class for comment events.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Base class for comment events.
|
|
13
|
+
* @class
|
|
14
|
+
*/
|
|
15
|
+
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Events.CommentBase');
|
|
17
|
+
|
|
18
|
+
import * as utilsXml from '../utils/xml.js';
|
|
19
|
+
import type {WorkspaceComment} from '../workspace_comment.js';
|
|
20
|
+
import * as Xml from '../xml.js';
|
|
21
|
+
|
|
22
|
+
import {Abstract as AbstractEvent} from './events_abstract.js';
|
|
23
|
+
import type {CommentCreate} from './events_comment_create.js';
|
|
24
|
+
import type {CommentDelete} from './events_comment_delete.js';
|
|
25
|
+
import * as eventUtils from './utils.js';
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Abstract class for a comment event.
|
|
30
|
+
* @alias Blockly.Events.CommentBase
|
|
31
|
+
*/
|
|
32
|
+
export class CommentBase extends AbstractEvent {
|
|
33
|
+
override isBlank: boolean;
|
|
34
|
+
commentId: string;
|
|
35
|
+
override workspaceId: string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @param opt_comment The comment this event corresponds to. Undefined for a
|
|
39
|
+
* blank event.
|
|
40
|
+
*/
|
|
41
|
+
constructor(opt_comment?: WorkspaceComment) {
|
|
42
|
+
super();
|
|
43
|
+
/** Whether or not an event is blank. */
|
|
44
|
+
this.isBlank = typeof opt_comment === 'undefined';
|
|
45
|
+
|
|
46
|
+
/** The ID of the comment this event pertains to. */
|
|
47
|
+
this.commentId = this.isBlank ? '' : opt_comment!.id;
|
|
48
|
+
|
|
49
|
+
/** The workspace identifier for this event. */
|
|
50
|
+
this.workspaceId = this.isBlank ? '' : opt_comment!.workspace.id;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The event group id for the group this event belongs to. Groups define
|
|
54
|
+
* events that should be treated as an single action from the user's
|
|
55
|
+
* perspective, and should be undone together.
|
|
56
|
+
*/
|
|
57
|
+
this.group = eventUtils.getGroup();
|
|
58
|
+
|
|
59
|
+
/** Sets whether the event should be added to the undo stack. */
|
|
60
|
+
this.recordUndo = eventUtils.getRecordUndo();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Encode the event as JSON.
|
|
65
|
+
* @return JSON representation.
|
|
66
|
+
*/
|
|
67
|
+
override toJson(): AnyDuringMigration {
|
|
68
|
+
const json = super.toJson();
|
|
69
|
+
if (this.commentId) {
|
|
70
|
+
json['commentId'] = this.commentId;
|
|
71
|
+
}
|
|
72
|
+
return json;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Decode the JSON event.
|
|
77
|
+
* @param json JSON representation.
|
|
78
|
+
*/
|
|
79
|
+
override fromJson(json: AnyDuringMigration) {
|
|
80
|
+
super.fromJson(json);
|
|
81
|
+
this.commentId = json['commentId'];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Helper function for Comment[Create|Delete]
|
|
86
|
+
* @param event The event to run.
|
|
87
|
+
* @param create if True then Create, if False then Delete
|
|
88
|
+
*/
|
|
89
|
+
static CommentCreateDeleteHelper(
|
|
90
|
+
event: CommentCreate|CommentDelete, create: boolean) {
|
|
91
|
+
const workspace = event.getEventWorkspace_();
|
|
92
|
+
if (create) {
|
|
93
|
+
const xmlElement = utilsXml.createElement('xml');
|
|
94
|
+
xmlElement.appendChild(event.xml);
|
|
95
|
+
Xml.domToWorkspace(xmlElement, workspace);
|
|
96
|
+
} else {
|
|
97
|
+
const comment = workspace.getCommentById(event.commentId);
|
|
98
|
+
if (comment) {
|
|
99
|
+
comment.dispose();
|
|
100
|
+
} else {
|
|
101
|
+
// Only complain about root-level block.
|
|
102
|
+
console.warn(
|
|
103
|
+
'Can\'t uncreate non-existent comment: ' + event.commentId);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|