blockly 9.0.0-beta.0 → 9.0.0-beta.1
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 +401 -405
- package/blockly_compressed.js +398 -402
- package/blockly_compressed.js.map +1 -1
- package/blocks.d.ts +0 -5
- package/blocks_compressed.js +3 -3
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +1 -0
- package/closure/goog/goog.d.ts +1 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/block.d.ts +145 -53
- package/core/block_animations.d.ts +5 -0
- package/core/block_drag_surface.d.ts +18 -5
- package/core/block_dragger.d.ts +20 -5
- package/core/block_svg.d.ts +89 -21
- package/core/blockly.d.ts +29 -8
- package/core/blockly_options.d.ts +2 -0
- package/core/blocks.d.ts +2 -0
- package/core/browser_events.d.ts +16 -7
- package/core/bubble.d.ts +42 -12
- package/core/bubble_dragger.d.ts +9 -2
- package/core/bump_objects.d.ts +6 -2
- package/core/clipboard.d.ts +6 -2
- package/core/comment.d.ts +13 -3
- package/core/common.d.ts +35 -9
- package/core/component_manager.d.ts +16 -6
- package/core/config.d.ts +1 -0
- package/core/connection.d.ts +48 -18
- package/core/connection_checker.d.ts +16 -7
- package/core/connection_db.d.ts +17 -6
- package/core/connection_type.d.ts +2 -0
- package/core/constants.d.ts +3 -0
- package/core/contextmenu.d.ts +15 -5
- package/core/contextmenu_items.d.ts +15 -0
- package/core/contextmenu_registry.d.ts +12 -7
- package/core/css.d.ts +3 -0
- package/core/delete_area.d.ts +5 -1
- package/core/dialog.d.ts +14 -7
- package/core/drag_target.d.ts +10 -2
- package/core/dropdowndiv.d.ts +42 -10
- package/core/events/events.d.ts +1 -0
- package/core/events/events_abstract.d.ts +10 -3
- package/core/events/events_block_base.d.ts +5 -1
- package/core/events/events_block_change.d.ts +10 -3
- package/core/events/events_block_create.d.ts +6 -1
- package/core/events/events_block_delete.d.ts +6 -1
- package/core/events/events_block_drag.d.ts +5 -1
- package/core/events/events_block_move.d.ts +10 -3
- package/core/events/events_bubble_open.d.ts +6 -2
- package/core/events/events_click.d.ts +5 -1
- package/core/events/events_comment_base.d.ts +6 -1
- package/core/events/events_comment_change.d.ts +8 -2
- package/core/events/events_comment_create.d.ts +6 -1
- package/core/events/events_comment_delete.d.ts +6 -1
- package/core/events/events_comment_move.d.ts +9 -2
- package/core/events/events_marker_move.d.ts +5 -1
- package/core/events/events_selected.d.ts +5 -1
- package/core/events/events_theme_change.d.ts +5 -1
- package/core/events/events_toolbox_item_select.d.ts +5 -1
- package/core/events/events_trashcan_open.d.ts +5 -1
- package/core/events/events_ui.d.ts +5 -1
- package/core/events/events_ui_base.d.ts +2 -0
- package/core/events/events_var_base.d.ts +5 -1
- package/core/events/events_var_create.d.ts +6 -1
- package/core/events/events_var_delete.d.ts +6 -1
- package/core/events/events_var_rename.d.ts +6 -1
- package/core/events/events_viewport.d.ts +5 -1
- package/core/events/utils.d.ts +50 -7
- package/core/events/workspace_events.d.ts +5 -1
- package/core/extensions.d.ts +14 -4
- package/core/field.d.ts +93 -34
- package/core/field_angle.d.ts +14 -3
- package/core/field_checkbox.d.ts +20 -7
- package/core/field_colour.d.ts +22 -6
- package/core/field_dropdown.d.ts +28 -8
- package/core/field_image.d.ts +15 -4
- package/core/field_label.d.ts +8 -2
- package/core/field_label_serializable.d.ts +4 -1
- package/core/field_multilineinput.d.ts +21 -6
- package/core/field_number.d.ts +22 -6
- package/core/field_registry.d.ts +8 -2
- package/core/field_textinput.d.ts +28 -8
- package/core/field_variable.d.ts +36 -13
- package/core/flyout_base.d.ts +70 -24
- package/core/flyout_button.d.ts +12 -5
- package/core/flyout_horizontal.d.ts +14 -6
- package/core/flyout_metrics_manager.d.ts +6 -3
- package/core/flyout_vertical.d.ts +14 -6
- package/core/generator.d.ts +39 -20
- package/core/gesture.d.ts +48 -13
- package/core/grid.d.ts +19 -15
- package/core/icon.d.ts +12 -3
- package/core/inject.d.ts +3 -1
- package/core/input.d.ts +25 -10
- package/core/input_types.d.ts +2 -0
- package/core/insertion_marker_manager.d.ts +27 -9
- package/core/interfaces/i_ast_node_location.d.ts +2 -0
- package/core/interfaces/i_ast_node_location_svg.d.ts +4 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +4 -1
- package/core/interfaces/i_autohideable.d.ts +3 -0
- package/core/interfaces/i_block_dragger.d.ts +7 -1
- package/core/interfaces/i_bounded_element.d.ts +5 -1
- package/core/interfaces/i_bubble.d.ts +11 -2
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +6 -2
- package/core/interfaces/i_component.d.ts +2 -0
- package/core/interfaces/i_connection_checker.d.ts +14 -6
- package/core/interfaces/i_contextmenu.d.ts +2 -0
- package/core/interfaces/i_copyable.d.ts +3 -1
- package/core/interfaces/i_deletable.d.ts +4 -1
- package/core/interfaces/i_delete_area.d.ts +4 -1
- package/core/interfaces/i_drag_target.d.ts +10 -2
- package/core/interfaces/i_draggable.d.ts +2 -0
- package/core/interfaces/i_flyout.d.ts +27 -11
- package/core/interfaces/i_keyboard_accessible.d.ts +4 -1
- package/core/interfaces/i_metrics_manager.d.ts +24 -12
- package/core/interfaces/i_movable.d.ts +4 -1
- package/core/interfaces/i_positionable.d.ts +5 -1
- package/core/interfaces/i_registrable.d.ts +2 -0
- package/core/interfaces/i_registrable_field.d.ts +2 -0
- package/core/interfaces/i_selectable.d.ts +2 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +10 -3
- package/core/interfaces/i_serializer.d.ts +6 -1
- package/core/interfaces/i_styleable.d.ts +4 -0
- package/core/interfaces/i_toolbox.d.ts +17 -6
- package/core/interfaces/i_toolbox_item.d.ts +17 -7
- package/core/internal_constants.d.ts +6 -0
- package/core/keyboard_nav/ast_node.d.ts +55 -28
- package/core/keyboard_nav/basic_cursor.d.ts +20 -9
- package/core/keyboard_nav/cursor.d.ts +11 -5
- package/core/keyboard_nav/marker.d.ts +9 -2
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +4 -1
- package/core/main.d.ts +1 -0
- package/core/marker_manager.d.ts +13 -2
- package/core/menu.d.ts +23 -5
- package/core/menuitem.d.ts +22 -7
- package/core/metrics_manager.d.ts +30 -15
- package/core/msg.d.ts +1 -0
- package/core/mutator.d.ts +19 -7
- package/core/names.d.ts +20 -8
- package/core/options.d.ts +12 -6
- package/core/positionable_helpers.d.ts +11 -3
- package/core/procedures.d.ts +27 -10
- package/core/registry.d.ts +19 -8
- package/core/rendered_connection.d.ts +28 -7
- package/core/renderers/common/block_rendering.d.ts +9 -2
- package/core/renderers/common/constants.d.ts +49 -17
- package/core/renderers/common/debug.d.ts +5 -1
- package/core/renderers/common/debugger.d.ts +12 -1
- package/core/renderers/common/drawer.d.ts +12 -0
- package/core/renderers/common/i_path_object.d.ts +15 -0
- package/core/renderers/common/info.d.ts +25 -8
- package/core/renderers/common/marker_svg.d.ts +35 -6
- package/core/renderers/common/path_object.d.ts +20 -0
- package/core/renderers/common/renderer.d.ts +33 -12
- package/core/renderers/geras/constants.d.ts +2 -0
- package/core/renderers/geras/drawer.d.ts +2 -0
- package/core/renderers/geras/geras.d.ts +3 -2
- package/core/renderers/geras/highlight_constants.d.ts +9 -6
- package/core/renderers/geras/highlighter.d.ts +12 -1
- package/core/renderers/geras/info.d.ts +4 -1
- package/core/renderers/geras/measurables/inline_input.d.ts +2 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +2 -0
- package/core/renderers/geras/path_object.d.ts +4 -0
- package/core/renderers/geras/renderer.d.ts +16 -6
- package/core/renderers/measurables/base.d.ts +2 -0
- package/core/renderers/measurables/bottom_row.d.ts +9 -3
- package/core/renderers/measurables/connection.d.ts +2 -0
- package/core/renderers/measurables/external_value_input.d.ts +2 -1
- package/core/renderers/measurables/field.d.ts +2 -1
- package/core/renderers/measurables/hat.d.ts +2 -1
- package/core/renderers/measurables/icon.d.ts +3 -1
- package/core/renderers/measurables/in_row_spacer.d.ts +2 -1
- package/core/renderers/measurables/inline_input.d.ts +2 -1
- package/core/renderers/measurables/input_connection.d.ts +2 -0
- package/core/renderers/measurables/input_row.d.ts +4 -1
- package/core/renderers/measurables/jagged_edge.d.ts +2 -1
- package/core/renderers/measurables/next_connection.d.ts +2 -1
- package/core/renderers/measurables/output_connection.d.ts +2 -1
- package/core/renderers/measurables/previous_connection.d.ts +2 -1
- package/core/renderers/measurables/round_corner.d.ts +2 -1
- package/core/renderers/measurables/row.d.ts +27 -5
- package/core/renderers/measurables/spacer_row.d.ts +2 -1
- package/core/renderers/measurables/square_corner.d.ts +2 -1
- package/core/renderers/measurables/statement_input.d.ts +2 -1
- package/core/renderers/measurables/top_row.d.ts +7 -3
- package/core/renderers/measurables/types.d.ts +54 -25
- package/core/renderers/minimalist/constants.d.ts +2 -0
- package/core/renderers/minimalist/drawer.d.ts +2 -0
- package/core/renderers/minimalist/info.d.ts +4 -1
- package/core/renderers/minimalist/minimalist.d.ts +2 -1
- package/core/renderers/minimalist/renderer.d.ts +8 -3
- package/core/renderers/thrasos/info.d.ts +4 -1
- package/core/renderers/thrasos/renderer.d.ts +4 -1
- package/core/renderers/thrasos/thrasos.d.ts +2 -1
- package/core/renderers/zelos/constants.d.ts +11 -3
- package/core/renderers/zelos/drawer.d.ts +3 -0
- package/core/renderers/zelos/info.d.ts +10 -5
- package/core/renderers/zelos/marker_svg.d.ts +5 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +2 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +2 -0
- package/core/renderers/zelos/measurables/row_elements.d.ts +2 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +2 -0
- package/core/renderers/zelos/path_object.d.ts +8 -1
- package/core/renderers/zelos/renderer.d.ts +14 -6
- package/core/renderers/zelos/zelos.d.ts +3 -2
- package/core/scrollbar.d.ts +41 -9
- package/core/scrollbar_pair.d.ts +20 -6
- package/core/serialization/blocks.d.ts +10 -4
- package/core/serialization/exceptions.d.ts +5 -0
- package/core/serialization/priorities.d.ts +3 -0
- package/core/serialization/registry.d.ts +3 -0
- package/core/serialization/variables.d.ts +2 -0
- package/core/serialization/workspaces.d.ts +4 -1
- package/core/shortcut_items.d.ts +10 -0
- package/core/shortcut_registry.d.ts +25 -9
- package/core/sprites.d.ts +2 -4
- package/core/theme/classic.d.ts +2 -0
- package/core/theme/themes.d.ts +1 -0
- package/core/theme/zelos.d.ts +2 -0
- package/core/theme.d.ts +14 -3
- package/core/theme_manager.d.ts +10 -1
- package/core/toolbox/category.d.ts +42 -15
- package/core/toolbox/collapsible_category.d.ts +10 -3
- package/core/toolbox/separator.d.ts +4 -1
- package/core/toolbox/toolbox.d.ts +70 -22
- package/core/toolbox/toolbox_item.d.ts +17 -7
- package/core/tooltip.d.ts +22 -1
- package/core/touch.d.ts +18 -6
- package/core/touch_gesture.d.ts +16 -2
- package/core/trashcan.d.ts +27 -6
- package/core/utils/aria.d.ts +4 -0
- package/core/utils/array.d.ts +4 -2
- package/core/utils/colour.d.ts +24 -13
- package/core/utils/coordinate.d.ts +18 -8
- package/core/utils/deprecation.d.ts +6 -4
- package/core/utils/dom.d.ts +32 -12
- package/core/utils/idgenerator.d.ts +13 -3
- package/core/utils/keycodes.d.ts +1 -0
- package/core/utils/math.d.ts +7 -3
- package/core/utils/metrics.d.ts +1 -0
- package/core/utils/object.d.ts +7 -2
- package/core/utils/parsing.d.ts +9 -4
- package/core/utils/rect.d.ts +5 -3
- package/core/utils/sentinel.d.ts +2 -0
- package/core/utils/size.d.ts +4 -2
- package/core/utils/string.d.ts +13 -6
- package/core/utils/style.d.ts +14 -33
- package/core/utils/svg.d.ts +5 -2
- package/core/utils/svg_math.d.ts +15 -7
- package/core/utils/svg_paths.d.ts +20 -10
- package/core/utils/toolbox.d.ts +26 -5
- package/core/utils/useragent.d.ts +1 -12
- package/core/utils/xml.d.ts +13 -5
- package/core/utils.d.ts +43 -21
- package/core/variable_map.d.ts +26 -9
- package/core/variable_model.d.ts +5 -2
- package/core/variables.d.ts +33 -18
- package/core/variables_dynamic.d.ts +25 -5
- package/core/warning.d.ts +8 -3
- package/core/widgetdiv.d.ts +15 -6
- package/core/workspace.d.ts +80 -30
- package/core/workspace_audio.d.ts +6 -0
- package/core/workspace_comment.d.ts +33 -11
- package/core/workspace_comment_svg.d.ts +52 -9
- package/core/workspace_drag_surface_svg.d.ts +20 -14
- package/core/workspace_dragger.d.ts +6 -0
- package/core/workspace_svg.d.ts +174 -62
- package/core/xml.d.ts +26 -11
- package/core/zoom_controls.d.ts +16 -6
- package/core.d.ts +0 -5
- package/dart.d.ts +0 -5
- package/dart_compressed.js.map +1 -1
- package/index.d.ts +2 -6
- package/javascript.d.ts +0 -5
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -5
- package/lua_compressed.js.map +1 -1
- package/package.json +6 -3
- package/php.d.ts +0 -5
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -5
- package/python_compressed.js.map +1 -1
- package/blocks/blocks.js +0 -48
- package/blocks/colour.js +0 -121
- package/blocks/lists.js +0 -996
- package/blocks/logic.js +0 -665
- package/blocks/loops.js +0 -375
- package/blocks/math.js +0 -594
- package/blocks/procedures.js +0 -1196
- package/blocks/text.js +0 -1000
- package/blocks/variables.js +0 -176
- package/blocks/variables_dynamic.js +0 -192
- package/core/any_aliases.ts +0 -1
- package/core/block.ts +0 -2102
- package/core/block_animations.ts +0 -202
- package/core/block_drag_surface.ts +0 -237
- package/core/block_dragger.ts +0 -447
- package/core/block_svg.ts +0 -1758
- package/core/blockly.js +0 -890
- package/core/blockly.ts +0 -749
- package/core/blockly_options.ts +0 -81
- package/core/blocks.ts +0 -29
- package/core/browser_events.ts +0 -289
- package/core/bubble.ts +0 -892
- package/core/bubble_dragger.ts +0 -229
- package/core/bump_objects.ts +0 -182
- package/core/clipboard.ts +0 -91
- package/core/comment.ts +0 -398
- package/core/common.ts +0 -288
- package/core/component_manager.ts +0 -211
- package/core/config.ts +0 -80
- package/core/connection.ts +0 -692
- package/core/connection_checker.ts +0 -301
- package/core/connection_db.ts +0 -289
- package/core/connection_type.ts +0 -32
- package/core/constants.ts +0 -29
- package/core/contextmenu.ts +0 -363
- package/core/contextmenu_items.ts +0 -576
- package/core/contextmenu_registry.ts +0 -179
- package/core/css.ts +0 -560
- package/core/delete_area.ts +0 -82
- package/core/dialog.ts +0 -127
- package/core/drag_target.ts +0 -94
- package/core/dropdowndiv.ts +0 -683
- package/core/events/events.ts +0 -123
- package/core/events/events_abstract.ts +0 -112
- package/core/events/events_block_base.ts +0 -65
- package/core/events/events_block_change.ts +0 -176
- package/core/events/events_block_create.ts +0 -114
- package/core/events/events_block_delete.ts +0 -126
- package/core/events/events_block_drag.ts +0 -82
- package/core/events/events_block_move.ts +0 -206
- package/core/events/events_bubble_open.ts +0 -82
- package/core/events/events_click.ts +0 -84
- package/core/events/events_comment_base.ts +0 -107
- package/core/events/events_comment_change.ts +0 -108
- package/core/events/events_comment_create.ts +0 -82
- package/core/events/events_comment_delete.ts +0 -77
- package/core/events/events_comment_move.ts +0 -154
- package/core/events/events_marker_move.ts +0 -99
- package/core/events/events_selected.ts +0 -78
- package/core/events/events_theme_change.ts +0 -67
- package/core/events/events_toolbox_item_select.ts +0 -79
- package/core/events/events_trashcan_open.ts +0 -68
- package/core/events/events_ui.ts +0 -89
- package/core/events/events_ui_base.ts +0 -54
- package/core/events/events_var_base.ts +0 -65
- package/core/events/events_var_create.ts +0 -88
- package/core/events/events_var_delete.ts +0 -88
- package/core/events/events_var_rename.ts +0 -89
- package/core/events/events_viewport.ts +0 -100
- package/core/events/utils.ts +0 -529
- package/core/events/workspace_events.ts +0 -86
- package/core/extensions.ts +0 -504
- package/core/field.ts +0 -1206
- package/core/field_angle.ts +0 -563
- package/core/field_checkbox.ts +0 -243
- package/core/field_colour.ts +0 -632
- package/core/field_dropdown.ts +0 -773
- package/core/field_image.ts +0 -282
- package/core/field_label.ts +0 -152
- package/core/field_label_serializable.ts +0 -76
- package/core/field_multilineinput.ts +0 -466
- package/core/field_number.ts +0 -327
- package/core/field_registry.ts +0 -87
- package/core/field_textinput.ts +0 -591
- package/core/field_variable.ts +0 -545
- package/core/flyout_base.ts +0 -1165
- package/core/flyout_button.ts +0 -292
- package/core/flyout_horizontal.ts +0 -381
- package/core/flyout_metrics_manager.ts +0 -94
- package/core/flyout_vertical.ts +0 -384
- package/core/generator.ts +0 -539
- package/core/gesture.ts +0 -946
- package/core/grid.ts +0 -192
- package/core/icon.ts +0 -189
- package/core/inject.ts +0 -390
- package/core/input.ts +0 -309
- package/core/input_types.ts +0 -32
- package/core/insertion_marker_manager.ts +0 -788
- package/core/interfaces/i_ast_node_location.ts +0 -23
- package/core/interfaces/i_ast_node_location_svg.ts +0 -37
- package/core/interfaces/i_ast_node_location_with_block.ts +0 -38
- package/core/interfaces/i_autohideable.ts +0 -34
- package/core/interfaces/i_block_dragger.ts +0 -67
- package/core/interfaces/i_bounded_element.ts +0 -42
- package/core/interfaces/i_bubble.ts +0 -88
- package/core/interfaces/i_collapsible_toolbox_item.ts +0 -47
- package/core/interfaces/i_component.ts +0 -32
- package/core/interfaces/i_connection_checker.ts +0 -102
- package/core/interfaces/i_contextmenu.ts +0 -26
- package/core/interfaces/i_copyable.ts +0 -40
- package/core/interfaces/i_deletable.ts +0 -29
- package/core/interfaces/i_delete_area.ts +0 -46
- package/core/interfaces/i_drag_target.ts +0 -84
- package/core/interfaces/i_draggable.ts +0 -25
- package/core/interfaces/i_flyout.ts +0 -186
- package/core/interfaces/i_keyboard_accessible.ts +0 -35
- package/core/interfaces/i_metrics_manager.ts +0 -151
- package/core/interfaces/i_movable.ts +0 -29
- package/core/interfaces/i_positionable.ts +0 -50
- package/core/interfaces/i_registrable.ts +0 -25
- package/core/interfaces/i_registrable_field.ts +0 -31
- package/core/interfaces/i_selectable.ts +0 -34
- package/core/interfaces/i_selectable_toolbox_item.ts +0 -64
- package/core/interfaces/i_serializer.ts +0 -65
- package/core/interfaces/i_styleable.ts +0 -35
- package/core/interfaces/i_toolbox.ts +0 -127
- package/core/interfaces/i_toolbox_item.ts +0 -84
- package/core/internal_constants.ts +0 -67
- package/core/keyboard_nav/ast_node.ts +0 -717
- package/core/keyboard_nav/basic_cursor.ts +0 -214
- package/core/keyboard_nav/cursor.ts +0 -134
- package/core/keyboard_nav/marker.ts +0 -115
- package/core/keyboard_nav/tab_navigate_cursor.ts +0 -48
- package/core/main.js +0 -303
- package/core/marker_manager.ts +0 -181
- package/core/menu.ts +0 -449
- package/core/menuitem.ts +0 -240
- package/core/metrics_manager.ts +0 -456
- package/core/msg.ts +0 -20
- package/core/mutator.ts +0 -560
- package/core/names.ts +0 -267
- package/core/options.ts +0 -365
- package/core/positionable_helpers.ts +0 -181
- package/core/procedures.ts +0 -443
- package/core/registry.ts +0 -339
- package/core/rendered_connection.ts +0 -568
- package/core/renderers/common/block_rendering.ts +0 -164
- package/core/renderers/common/constants.ts +0 -1124
- package/core/renderers/common/debug.ts +0 -61
- package/core/renderers/common/debugger.ts +0 -433
- package/core/renderers/common/drawer.ts +0 -450
- package/core/renderers/common/i_path_object.ts +0 -161
- package/core/renderers/common/info.ts +0 -718
- package/core/renderers/common/marker_svg.ts +0 -680
- package/core/renderers/common/path_object.ts +0 -272
- package/core/renderers/common/renderer.ts +0 -271
- package/core/renderers/geras/constants.ts +0 -61
- package/core/renderers/geras/drawer.ts +0 -176
- package/core/renderers/geras/geras.ts +0 -37
- package/core/renderers/geras/highlight_constants.ts +0 -337
- package/core/renderers/geras/highlighter.ts +0 -306
- package/core/renderers/geras/info.ts +0 -450
- package/core/renderers/geras/measurables/inline_input.ts +0 -51
- package/core/renderers/geras/measurables/statement_input.ts +0 -50
- package/core/renderers/geras/path_object.ts +0 -138
- package/core/renderers/geras/renderer.ts +0 -126
- package/core/renderers/measurables/base.ts +0 -53
- package/core/renderers/measurables/bottom_row.ts +0 -120
- package/core/renderers/measurables/connection.ts +0 -52
- package/core/renderers/measurables/external_value_input.ts +0 -65
- package/core/renderers/measurables/field.ts +0 -63
- package/core/renderers/measurables/hat.ts +0 -48
- package/core/renderers/measurables/icon.ts +0 -54
- package/core/renderers/measurables/in_row_spacer.ts +0 -44
- package/core/renderers/measurables/inline_input.ts +0 -76
- package/core/renderers/measurables/input_connection.ts +0 -66
- package/core/renderers/measurables/input_row.ts +0 -82
- package/core/renderers/measurables/jagged_edge.ts +0 -43
- package/core/renderers/measurables/next_connection.ts +0 -47
- package/core/renderers/measurables/output_connection.ts +0 -56
- package/core/renderers/measurables/previous_connection.ts +0 -47
- package/core/renderers/measurables/round_corner.ts +0 -49
- package/core/renderers/measurables/row.ts +0 -225
- package/core/renderers/measurables/spacer_row.ts +0 -55
- package/core/renderers/measurables/square_corner.ts +0 -47
- package/core/renderers/measurables/statement_input.ts +0 -55
- package/core/renderers/measurables/top_row.ts +0 -122
- package/core/renderers/measurables/types.ts +0 -332
- package/core/renderers/minimalist/constants.ts +0 -32
- package/core/renderers/minimalist/drawer.ts +0 -38
- package/core/renderers/minimalist/info.ts +0 -52
- package/core/renderers/minimalist/minimalist.ts +0 -22
- package/core/renderers/minimalist/renderer.ts +0 -71
- package/core/renderers/thrasos/info.ts +0 -338
- package/core/renderers/thrasos/renderer.ts +0 -48
- package/core/renderers/thrasos/thrasos.ts +0 -20
- package/core/renderers/zelos/constants.ts +0 -858
- package/core/renderers/zelos/drawer.ts +0 -228
- package/core/renderers/zelos/info.ts +0 -593
- package/core/renderers/zelos/marker_svg.ts +0 -151
- package/core/renderers/zelos/measurables/bottom_row.ts +0 -53
- package/core/renderers/zelos/measurables/inputs.ts +0 -56
- package/core/renderers/zelos/measurables/row_elements.ts +0 -45
- package/core/renderers/zelos/measurables/top_row.ts +0 -58
- package/core/renderers/zelos/path_object.ts +0 -215
- package/core/renderers/zelos/renderer.ts +0 -142
- package/core/renderers/zelos/zelos.ts +0 -39
- package/core/scrollbar.ts +0 -870
- package/core/scrollbar_pair.ts +0 -321
- package/core/serialization/blocks.ts +0 -706
- package/core/serialization/exceptions.ts +0 -98
- package/core/serialization/priorities.ts +0 -32
- package/core/serialization/registry.ts +0 -43
- package/core/serialization/variables.ts +0 -96
- package/core/serialization/workspaces.ts +0 -106
- package/core/shortcut_items.ts +0 -266
- package/core/shortcut_registry.ts +0 -355
- package/core/sprites.ts +0 -29
- package/core/theme/classic.ts +0 -54
- package/core/theme/themes.ts +0 -22
- package/core/theme/zelos.ts +0 -91
- package/core/theme.ts +0 -221
- package/core/theme_manager.ts +0 -186
- package/core/toolbox/category.ts +0 -679
- package/core/toolbox/collapsible_category.ts +0 -273
- package/core/toolbox/separator.ts +0 -105
- package/core/toolbox/toolbox.ts +0 -1044
- package/core/toolbox/toolbox_item.ts +0 -147
- package/core/tooltip.ts +0 -463
- package/core/touch.ts +0 -306
- package/core/touch_gesture.ts +0 -295
- package/core/trashcan.ts +0 -671
- package/core/utils/aria.ts +0 -160
- package/core/utils/array.ts +0 -32
- package/core/utils/colour.ts +0 -276
- package/core/utils/coordinate.ts +0 -124
- package/core/utils/deprecation.ts +0 -41
- package/core/utils/dom.ts +0 -408
- package/core/utils/idgenerator.ts +0 -80
- package/core/utils/keycodes.ts +0 -169
- package/core/utils/math.ts +0 -61
- package/core/utils/metrics.ts +0 -97
- package/core/utils/object.ts +0 -95
- package/core/utils/parsing.ts +0 -261
- package/core/utils/rect.ts +0 -62
- package/core/utils/sentinel.ts +0 -23
- package/core/utils/size.ts +0 -51
- package/core/utils/string.ts +0 -308
- package/core/utils/style.ts +0 -306
- package/core/utils/svg.ts +0 -88
- package/core/utils/svg_math.ts +0 -269
- package/core/utils/svg_paths.ts +0 -140
- package/core/utils/toolbox.ts +0 -433
- package/core/utils/useragent.ts +0 -135
- package/core/utils/xml.ts +0 -97
- package/core/utils.ts +0 -428
- package/core/variable_map.ts +0 -392
- package/core/variable_model.ts +0 -82
- package/core/variables.ts +0 -596
- package/core/variables_dynamic.ts +0 -133
- package/core/warning.ts +0 -161
- package/core/widgetdiv.ts +0 -257
- package/core/workspace.ts +0 -801
- package/core/workspace_audio.ts +0 -156
- package/core/workspace_comment.ts +0 -398
- package/core/workspace_comment_svg.ts +0 -1127
- package/core/workspace_drag_surface_svg.ts +0 -187
- package/core/workspace_dragger.ts +0 -104
- package/core/workspace_svg.ts +0 -2655
- package/core/xml.ts +0 -1023
- package/core/zoom_controls.ts +0 -441
- package/generators/dart/all.js +0 -27
- package/generators/dart/colour.js +0 -105
- package/generators/dart/lists.js +0 -431
- package/generators/dart/logic.js +0 -123
- package/generators/dart/loops.js +0 -161
- package/generators/dart/math.js +0 -446
- package/generators/dart/procedures.js +0 -105
- package/generators/dart/text.js +0 -338
- package/generators/dart/variables.js +0 -32
- package/generators/dart/variables_dynamic.js +0 -21
- package/generators/dart.js +0 -303
- package/generators/javascript/all.js +0 -27
- package/generators/javascript/colour.js +0 -85
- package/generators/javascript/lists.js +0 -405
- package/generators/javascript/logic.js +0 -127
- package/generators/javascript/loops.js +0 -180
- package/generators/javascript/math.js +0 -401
- package/generators/javascript/procedures.js +0 -110
- package/generators/javascript/text.js +0 -371
- package/generators/javascript/variables.js +0 -32
- package/generators/javascript/variables_dynamic.js +0 -21
- package/generators/javascript.js +0 -322
- package/generators/lua/all.js +0 -27
- package/generators/lua/colour.js +0 -71
- package/generators/lua/lists.js +0 -348
- package/generators/lua/logic.js +0 -112
- package/generators/lua/loops.js +0 -168
- package/generators/lua/math.js +0 -406
- package/generators/lua/procedures.js +0 -106
- package/generators/lua/text.js +0 -327
- package/generators/lua/variables.js +0 -31
- package/generators/lua/variables_dynamic.js +0 -21
- package/generators/lua.js +0 -206
- package/generators/php/all.js +0 -27
- package/generators/php/colour.js +0 -81
- package/generators/php/lists.js +0 -481
- package/generators/php/logic.js +0 -119
- package/generators/php/loops.js +0 -161
- package/generators/php/math.js +0 -349
- package/generators/php/procedures.js +0 -125
- package/generators/php/text.js +0 -255
- package/generators/php/variables.js +0 -32
- package/generators/php/variables_dynamic.js +0 -21
- package/generators/php.js +0 -303
- package/generators/python/all.js +0 -27
- package/generators/python/colour.js +0 -67
- package/generators/python/lists.js +0 -346
- package/generators/python/logic.js +0 -120
- package/generators/python/loops.js +0 -206
- package/generators/python/math.js +0 -373
- package/generators/python/procedures.js +0 -129
- package/generators/python/text.js +0 -291
- package/generators/python/variables.js +0 -32
- package/generators/python/variables_dynamic.js +0 -21
- package/generators/python.js +0 -333
package/core/events/events.ts
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2016 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Events fired as a result of actions in Blockly's editor.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Events fired as a result of actions in Blockly's editor.
|
|
13
|
-
* @namespace Blockly.Events
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.Events');
|
|
17
|
-
|
|
18
|
-
import * as deprecation from '../utils/deprecation.js';
|
|
19
|
-
|
|
20
|
-
import {Abstract as AbstractEvent} from './events_abstract.js';
|
|
21
|
-
import {BlockBase} from './events_block_base.js';
|
|
22
|
-
import {BlockChange} from './events_block_change.js';
|
|
23
|
-
import {BlockCreate} from './events_block_create.js';
|
|
24
|
-
import {BlockDelete} from './events_block_delete.js';
|
|
25
|
-
import {BlockDrag} from './events_block_drag.js';
|
|
26
|
-
import {BlockMove} from './events_block_move.js';
|
|
27
|
-
import {BubbleOpen} from './events_bubble_open.js';
|
|
28
|
-
import {Click} from './events_click.js';
|
|
29
|
-
import {CommentBase} from './events_comment_base.js';
|
|
30
|
-
import {CommentChange} from './events_comment_change.js';
|
|
31
|
-
import {CommentCreate} from './events_comment_create.js';
|
|
32
|
-
import {CommentDelete} from './events_comment_delete.js';
|
|
33
|
-
import {CommentMove} from './events_comment_move.js';
|
|
34
|
-
import {MarkerMove} from './events_marker_move.js';
|
|
35
|
-
import {Selected} from './events_selected.js';
|
|
36
|
-
import {ThemeChange} from './events_theme_change.js';
|
|
37
|
-
import {ToolboxItemSelect} from './events_toolbox_item_select.js';
|
|
38
|
-
import {TrashcanOpen} from './events_trashcan_open.js';
|
|
39
|
-
import {Ui} from './events_ui.js';
|
|
40
|
-
import {UiBase} from './events_ui_base.js';
|
|
41
|
-
import {VarBase} from './events_var_base.js';
|
|
42
|
-
import {VarCreate} from './events_var_create.js';
|
|
43
|
-
import {VarDelete} from './events_var_delete.js';
|
|
44
|
-
import {VarRename} from './events_var_rename.js';
|
|
45
|
-
import {ViewportChange} from './events_viewport.js';
|
|
46
|
-
import * as eventUtils from './utils.js';
|
|
47
|
-
import {FinishedLoading} from './workspace_events.js';
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// Events.
|
|
51
|
-
export const Abstract = AbstractEvent;
|
|
52
|
-
export {BubbleOpen};
|
|
53
|
-
export {BlockBase};
|
|
54
|
-
export {BlockChange};
|
|
55
|
-
export {BlockCreate};
|
|
56
|
-
export {BlockDelete};
|
|
57
|
-
export {BlockDrag};
|
|
58
|
-
export {BlockMove};
|
|
59
|
-
export {Click};
|
|
60
|
-
export {CommentBase};
|
|
61
|
-
export {CommentChange};
|
|
62
|
-
export {CommentCreate};
|
|
63
|
-
export {CommentDelete};
|
|
64
|
-
export {CommentMove};
|
|
65
|
-
export {FinishedLoading};
|
|
66
|
-
export {MarkerMove};
|
|
67
|
-
export {Selected};
|
|
68
|
-
export {ThemeChange};
|
|
69
|
-
export {ToolboxItemSelect};
|
|
70
|
-
export {TrashcanOpen};
|
|
71
|
-
export {Ui};
|
|
72
|
-
export {UiBase};
|
|
73
|
-
export {VarBase};
|
|
74
|
-
export {VarCreate};
|
|
75
|
-
export {VarDelete};
|
|
76
|
-
export {VarRename};
|
|
77
|
-
export {ViewportChange};
|
|
78
|
-
|
|
79
|
-
// Event types.
|
|
80
|
-
export const BLOCK_CHANGE = eventUtils.BLOCK_CHANGE;
|
|
81
|
-
export const BLOCK_CREATE = eventUtils.BLOCK_CREATE;
|
|
82
|
-
export const BLOCK_DELETE = eventUtils.BLOCK_DELETE;
|
|
83
|
-
export const BLOCK_DRAG = eventUtils.BLOCK_DRAG;
|
|
84
|
-
export const BLOCK_MOVE = eventUtils.BLOCK_MOVE;
|
|
85
|
-
export const BUBBLE_OPEN = eventUtils.BUBBLE_OPEN;
|
|
86
|
-
export type BumpEvent = eventUtils.BumpEvent;
|
|
87
|
-
export const BUMP_EVENTS = eventUtils.BUMP_EVENTS;
|
|
88
|
-
export const CHANGE = eventUtils.CHANGE;
|
|
89
|
-
export const CLICK = eventUtils.CLICK;
|
|
90
|
-
export const COMMENT_CHANGE = eventUtils.COMMENT_CHANGE;
|
|
91
|
-
export const COMMENT_CREATE = eventUtils.COMMENT_CREATE;
|
|
92
|
-
export const COMMENT_DELETE = eventUtils.COMMENT_DELETE;
|
|
93
|
-
export const COMMENT_MOVE = eventUtils.COMMENT_MOVE;
|
|
94
|
-
export const CREATE = eventUtils.CREATE;
|
|
95
|
-
export const DELETE = eventUtils.DELETE;
|
|
96
|
-
export const FINISHED_LOADING = eventUtils.FINISHED_LOADING;
|
|
97
|
-
export const MARKER_MOVE = eventUtils.MARKER_MOVE;
|
|
98
|
-
export const MOVE = eventUtils.MOVE;
|
|
99
|
-
export const SELECTED = eventUtils.SELECTED;
|
|
100
|
-
export const THEME_CHANGE = eventUtils.THEME_CHANGE;
|
|
101
|
-
export const TOOLBOX_ITEM_SELECT = eventUtils.TOOLBOX_ITEM_SELECT;
|
|
102
|
-
export const TRASHCAN_OPEN = eventUtils.TRASHCAN_OPEN;
|
|
103
|
-
export const UI = eventUtils.UI;
|
|
104
|
-
export const VAR_CREATE = eventUtils.VAR_CREATE;
|
|
105
|
-
export const VAR_DELETE = eventUtils.VAR_DELETE;
|
|
106
|
-
export const VAR_RENAME = eventUtils.VAR_RENAME;
|
|
107
|
-
export const VIEWPORT_CHANGE = eventUtils.VIEWPORT_CHANGE;
|
|
108
|
-
|
|
109
|
-
// Event utils.
|
|
110
|
-
export const clearPendingUndo = eventUtils.clearPendingUndo;
|
|
111
|
-
export const disable = eventUtils.disable;
|
|
112
|
-
export const enable = eventUtils.enable;
|
|
113
|
-
export const filter = eventUtils.filter;
|
|
114
|
-
export const fire = eventUtils.fire;
|
|
115
|
-
export const fromJson = eventUtils.fromJson;
|
|
116
|
-
export const getDescendantIds = eventUtils.getDescendantIds;
|
|
117
|
-
export const get = eventUtils.get;
|
|
118
|
-
export const getGroup = eventUtils.getGroup;
|
|
119
|
-
export const getRecordUndo = eventUtils.getRecordUndo;
|
|
120
|
-
export const isEnabled = eventUtils.isEnabled;
|
|
121
|
-
export const setGroup = eventUtils.setGroup;
|
|
122
|
-
export const setRecordUndo = eventUtils.setRecordUndo;
|
|
123
|
-
export const disableOrphans = eventUtils.disableOrphans;
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2018 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Abstract class for events fired as a result of actions in
|
|
9
|
-
* Blockly's editor.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Abstract class for events fired as a result of actions in
|
|
14
|
-
* Blockly's editor.
|
|
15
|
-
* @class
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.Events.Abstract');
|
|
19
|
-
|
|
20
|
-
import * as common from '../common.js';
|
|
21
|
-
import type {Workspace} from '../workspace.js';
|
|
22
|
-
|
|
23
|
-
import * as eventUtils from './utils.js';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Abstract class for an event.
|
|
28
|
-
* @alias Blockly.Events.Abstract
|
|
29
|
-
*/
|
|
30
|
-
export abstract class Abstract {
|
|
31
|
-
/** Whether or not the event is blank (to be populated by fromJson). */
|
|
32
|
-
isBlank: boolean|null = null;
|
|
33
|
-
|
|
34
|
-
/** The workspace identifier for this event. */
|
|
35
|
-
workspaceId?: string = undefined;
|
|
36
|
-
group: string;
|
|
37
|
-
recordUndo: boolean;
|
|
38
|
-
|
|
39
|
-
/** Whether or not the event is a UI event. */
|
|
40
|
-
isUiEvent = false;
|
|
41
|
-
|
|
42
|
-
/** Type of this event. */
|
|
43
|
-
type?: string = undefined;
|
|
44
|
-
|
|
45
|
-
/** @alias Blockly.Events.Abstract */
|
|
46
|
-
constructor() {
|
|
47
|
-
/**
|
|
48
|
-
* The event group id for the group this event belongs to. Groups define
|
|
49
|
-
* events that should be treated as an single action from the user's
|
|
50
|
-
* perspective, and should be undone together.
|
|
51
|
-
*/
|
|
52
|
-
this.group = eventUtils.getGroup();
|
|
53
|
-
|
|
54
|
-
/** Sets whether the event should be added to the undo stack. */
|
|
55
|
-
this.recordUndo = eventUtils.getRecordUndo();
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Encode the event as JSON.
|
|
60
|
-
* @return JSON representation.
|
|
61
|
-
*/
|
|
62
|
-
toJson(): AnyDuringMigration {
|
|
63
|
-
const json = {'type': this.type};
|
|
64
|
-
if (this.group) {
|
|
65
|
-
(json as AnyDuringMigration)['group'] = this.group;
|
|
66
|
-
}
|
|
67
|
-
return json;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Decode the JSON event.
|
|
72
|
-
* @param json JSON representation.
|
|
73
|
-
*/
|
|
74
|
-
fromJson(json: AnyDuringMigration) {
|
|
75
|
-
this.isBlank = false;
|
|
76
|
-
this.group = json['group'];
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Does this event record any change of state?
|
|
81
|
-
* @return True if null, false if something changed.
|
|
82
|
-
*/
|
|
83
|
-
isNull(): boolean {
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Run an event.
|
|
89
|
-
* @param _forward True if run forward, false if run backward (undo).
|
|
90
|
-
*/
|
|
91
|
-
run(_forward: boolean) {}
|
|
92
|
-
// Defined by subclasses.
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Get workspace the event belongs to.
|
|
96
|
-
* @return The workspace the event belongs to.
|
|
97
|
-
* @throws {Error} if workspace is null.
|
|
98
|
-
* @internal
|
|
99
|
-
*/
|
|
100
|
-
getEventWorkspace_(): Workspace {
|
|
101
|
-
let workspace;
|
|
102
|
-
if (this.workspaceId) {
|
|
103
|
-
workspace = common.getWorkspaceById(this.workspaceId);
|
|
104
|
-
}
|
|
105
|
-
if (!workspace) {
|
|
106
|
-
throw Error(
|
|
107
|
-
'Workspace is null. Event must have been generated from real' +
|
|
108
|
-
' Blockly events.');
|
|
109
|
-
}
|
|
110
|
-
return workspace;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2018 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Base class for all types of block events.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Base class for all types of block events.
|
|
13
|
-
* @class
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.Events.BlockBase');
|
|
17
|
-
|
|
18
|
-
import type {Block} from '../block.js';
|
|
19
|
-
|
|
20
|
-
import {Abstract as AbstractEvent} from './events_abstract.js';
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Abstract class for a block event.
|
|
25
|
-
* @alias Blockly.Events.BlockBase
|
|
26
|
-
*/
|
|
27
|
-
export class BlockBase extends AbstractEvent {
|
|
28
|
-
override isBlank: AnyDuringMigration;
|
|
29
|
-
blockId: string;
|
|
30
|
-
override workspaceId: string;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* @param opt_block The block this event corresponds to.
|
|
34
|
-
* Undefined for a blank event.
|
|
35
|
-
*/
|
|
36
|
-
constructor(opt_block?: Block) {
|
|
37
|
-
super();
|
|
38
|
-
this.isBlank = typeof opt_block === 'undefined';
|
|
39
|
-
|
|
40
|
-
/** The block ID for the block this event pertains to */
|
|
41
|
-
this.blockId = this.isBlank ? '' : opt_block!.id;
|
|
42
|
-
|
|
43
|
-
/** The workspace identifier for this event. */
|
|
44
|
-
this.workspaceId = this.isBlank ? '' : opt_block!.workspace.id;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Encode the event as JSON.
|
|
49
|
-
* @return JSON representation.
|
|
50
|
-
*/
|
|
51
|
-
override toJson(): AnyDuringMigration {
|
|
52
|
-
const json = super.toJson();
|
|
53
|
-
json['blockId'] = this.blockId;
|
|
54
|
-
return json;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Decode the JSON event.
|
|
59
|
-
* @param json JSON representation.
|
|
60
|
-
*/
|
|
61
|
-
override fromJson(json: AnyDuringMigration) {
|
|
62
|
-
super.fromJson(json);
|
|
63
|
-
this.blockId = json['blockId'];
|
|
64
|
-
}
|
|
65
|
-
}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2018 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Class for a block change event.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Class for a block change event.
|
|
13
|
-
* @class
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.Events.BlockChange');
|
|
17
|
-
|
|
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';
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Class for a block change event.
|
|
29
|
-
* @alias Blockly.Events.BlockChange
|
|
30
|
-
*/
|
|
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
|
-
|
|
40
|
-
/**
|
|
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.
|
|
46
|
-
*/
|
|
47
|
-
constructor(
|
|
48
|
-
opt_block?: Block, opt_element?: string, opt_name?: string|null,
|
|
49
|
-
opt_oldValue?: AnyDuringMigration, opt_newValue?: AnyDuringMigration) {
|
|
50
|
-
super(opt_block);
|
|
51
|
-
|
|
52
|
-
/** Type of this event. */
|
|
53
|
-
this.type = eventUtils.BLOCK_CHANGE;
|
|
54
|
-
|
|
55
|
-
if (!opt_block) {
|
|
56
|
-
return; // Blank event to be populated by fromJson.
|
|
57
|
-
}
|
|
58
|
-
this.element = typeof opt_element === 'undefined' ? '' : opt_element;
|
|
59
|
-
this.name = typeof opt_name === 'undefined' ? '' : opt_name;
|
|
60
|
-
this.oldValue = typeof opt_oldValue === 'undefined' ? '' : opt_oldValue;
|
|
61
|
-
this.newValue = typeof opt_newValue === 'undefined' ? '' : opt_newValue;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Encode the event as JSON.
|
|
66
|
-
* @return JSON representation.
|
|
67
|
-
*/
|
|
68
|
-
override toJson(): AnyDuringMigration {
|
|
69
|
-
const json = super.toJson();
|
|
70
|
-
json['element'] = this.element;
|
|
71
|
-
if (this.name) {
|
|
72
|
-
json['name'] = this.name;
|
|
73
|
-
}
|
|
74
|
-
json['oldValue'] = this.oldValue;
|
|
75
|
-
json['newValue'] = this.newValue;
|
|
76
|
-
return json;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Decode the JSON event.
|
|
81
|
-
* @param json JSON representation.
|
|
82
|
-
*/
|
|
83
|
-
override fromJson(json: AnyDuringMigration) {
|
|
84
|
-
super.fromJson(json);
|
|
85
|
-
this.element = json['element'];
|
|
86
|
-
this.name = json['name'];
|
|
87
|
-
this.oldValue = json['oldValue'];
|
|
88
|
-
this.newValue = json['newValue'];
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Does this event record any change of state?
|
|
93
|
-
* @return False if something changed.
|
|
94
|
-
*/
|
|
95
|
-
override isNull(): boolean {
|
|
96
|
-
return this.oldValue === this.newValue;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Run a change event.
|
|
101
|
-
* @param forward True if run forward, false if run backward (undo).
|
|
102
|
-
*/
|
|
103
|
-
override run(forward: boolean) {
|
|
104
|
-
const workspace = this.getEventWorkspace_();
|
|
105
|
-
const block = workspace.getBlockById(this.blockId);
|
|
106
|
-
if (!block) {
|
|
107
|
-
console.warn('Can\'t change non-existent block: ' + this.blockId);
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
// Assume the block is rendered so that then we can check.
|
|
111
|
-
const blockSvg = block as BlockSvg;
|
|
112
|
-
if (blockSvg.mutator) {
|
|
113
|
-
// Close the mutator (if open) since we don't want to update it.
|
|
114
|
-
blockSvg.mutator.setVisible(false);
|
|
115
|
-
}
|
|
116
|
-
const value = forward ? this.newValue : this.oldValue;
|
|
117
|
-
switch (this.element) {
|
|
118
|
-
case 'field': {
|
|
119
|
-
const field = block.getField(this.name!);
|
|
120
|
-
if (field) {
|
|
121
|
-
field.setValue(value);
|
|
122
|
-
} else {
|
|
123
|
-
console.warn('Can\'t set non-existent field: ' + this.name);
|
|
124
|
-
}
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
case 'comment':
|
|
128
|
-
block.setCommentText(value as string || null);
|
|
129
|
-
break;
|
|
130
|
-
case 'collapsed':
|
|
131
|
-
block.setCollapsed(!!value);
|
|
132
|
-
break;
|
|
133
|
-
case 'disabled':
|
|
134
|
-
block.setEnabled(!value);
|
|
135
|
-
break;
|
|
136
|
-
case 'inline':
|
|
137
|
-
block.setInputsInline(!!value);
|
|
138
|
-
break;
|
|
139
|
-
case 'mutation': {
|
|
140
|
-
const oldState = BlockChange.getExtraBlockState_(block as BlockSvg);
|
|
141
|
-
if (block.loadExtraState) {
|
|
142
|
-
block.loadExtraState(JSON.parse(value as string || '{}'));
|
|
143
|
-
} else if (block.domToMutation) {
|
|
144
|
-
block.domToMutation(Xml.textToDom(value as string || '<mutation/>'));
|
|
145
|
-
}
|
|
146
|
-
eventUtils.fire(
|
|
147
|
-
new BlockChange(block, 'mutation', null, oldState, value));
|
|
148
|
-
break;
|
|
149
|
-
}
|
|
150
|
-
default:
|
|
151
|
-
console.warn('Unknown change type: ' + this.element);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// TODO (#5397): Encapsulate this in the BlocklyMutationChange event when
|
|
156
|
-
// refactoring change events.
|
|
157
|
-
/**
|
|
158
|
-
* Returns the extra state of the given block (either as XML or a JSO,
|
|
159
|
-
* depending on the block's definition).
|
|
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
|
|
163
|
-
*/
|
|
164
|
-
static getExtraBlockState_(block: BlockSvg): string {
|
|
165
|
-
if (block.saveExtraState) {
|
|
166
|
-
const state = block.saveExtraState();
|
|
167
|
-
return state ? JSON.stringify(state) : '';
|
|
168
|
-
} else if (block.mutationToDom) {
|
|
169
|
-
const state = block.mutationToDom();
|
|
170
|
-
return state ? Xml.domToText(state) : '';
|
|
171
|
-
}
|
|
172
|
-
return '';
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
registry.register(registry.Type.EVENT, eventUtils.CHANGE, BlockChange);
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2018 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Class for a block creation event.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Class for a block creation event.
|
|
13
|
-
* @class
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.Events.BlockCreate');
|
|
17
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Class for a block creation event.
|
|
29
|
-
* @alias Blockly.Events.BlockCreate
|
|
30
|
-
*/
|
|
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) {
|
|
41
|
-
super(opt_block);
|
|
42
|
-
|
|
43
|
-
/** Type of this event. */
|
|
44
|
-
this.type = eventUtils.BLOCK_CREATE;
|
|
45
|
-
|
|
46
|
-
if (!opt_block) {
|
|
47
|
-
return; // Blank event to be populated by fromJson.
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (opt_block.isShadow()) {
|
|
51
|
-
// Moving shadow blocks is handled via disconnection.
|
|
52
|
-
this.recordUndo = false;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
this.xml = Xml.blockToDomWithXY(opt_block);
|
|
56
|
-
this.ids = eventUtils.getDescendantIds(opt_block);
|
|
57
|
-
|
|
58
|
-
/** JSON representation of the block that was just created. */
|
|
59
|
-
this.json = blocks.save(opt_block, {addCoordinates: true}) as blocks.State;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Encode the event as JSON.
|
|
64
|
-
* @return JSON representation.
|
|
65
|
-
*/
|
|
66
|
-
override toJson(): AnyDuringMigration {
|
|
67
|
-
const json = super.toJson();
|
|
68
|
-
json['xml'] = Xml.domToText(this.xml);
|
|
69
|
-
json['ids'] = this.ids;
|
|
70
|
-
json['json'] = this.json;
|
|
71
|
-
if (!this.recordUndo) {
|
|
72
|
-
json['recordUndo'] = this.recordUndo;
|
|
73
|
-
}
|
|
74
|
-
return json;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Decode the JSON event.
|
|
79
|
-
* @param json JSON representation.
|
|
80
|
-
*/
|
|
81
|
-
override fromJson(json: AnyDuringMigration) {
|
|
82
|
-
super.fromJson(json);
|
|
83
|
-
this.xml = Xml.textToDom(json['xml']);
|
|
84
|
-
this.ids = json['ids'];
|
|
85
|
-
this.json = json['json'] as blocks.State;
|
|
86
|
-
if (json['recordUndo'] !== undefined) {
|
|
87
|
-
this.recordUndo = json['recordUndo'];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Run a creation event.
|
|
93
|
-
* @param forward True if run forward, false if run backward (undo).
|
|
94
|
-
*/
|
|
95
|
-
override run(forward: boolean) {
|
|
96
|
-
const workspace = this.getEventWorkspace_();
|
|
97
|
-
if (forward) {
|
|
98
|
-
blocks.append(this.json, workspace);
|
|
99
|
-
} else {
|
|
100
|
-
for (let i = 0; i < this.ids.length; i++) {
|
|
101
|
-
const id = this.ids[i];
|
|
102
|
-
const block = workspace.getBlockById(id);
|
|
103
|
-
if (block) {
|
|
104
|
-
block.dispose(false);
|
|
105
|
-
} else if (id === this.blockId) {
|
|
106
|
-
// Only complain about root-level block.
|
|
107
|
-
console.warn('Can\'t uncreate non-existent block: ' + id);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
registry.register(registry.Type.EVENT, eventUtils.CREATE, BlockCreate);
|