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
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Contains custom errors thrown by the serialization system.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Contains custom errors thrown by the serialization system.
|
|
13
|
-
* @namespace Blockly.serialization.exceptions
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.serialization.exceptions');
|
|
17
|
-
|
|
18
|
-
import type {Block} from '../block.js';
|
|
19
|
-
import type {State} from './blocks.js';
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
/** @alias Blockly.serialization.exceptions.DeserializationError */
|
|
23
|
-
export class DeserializationError extends Error {}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Represents an error where the serialized state is expected to provide a
|
|
27
|
-
* block type, but it is not provided.
|
|
28
|
-
* @alias Blockly.serialization.exceptions.MissingBlockType
|
|
29
|
-
*/
|
|
30
|
-
export class MissingBlockType extends DeserializationError {
|
|
31
|
-
/**
|
|
32
|
-
* @param state The state object which is missing the block type.
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
constructor(public state: State) {
|
|
36
|
-
super(`Expected to find a 'type' property, defining the block type`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Represents an error where deserialization encountered a block that did
|
|
42
|
-
* not have a connection that was defined in the serialized state.
|
|
43
|
-
* @alias Blockly.serialization.exceptions.MissingConnection
|
|
44
|
-
*/
|
|
45
|
-
export class MissingConnection extends DeserializationError {
|
|
46
|
-
/**
|
|
47
|
-
* @param connection The name of the connection that is missing. E.g.
|
|
48
|
-
* 'IF0', or 'next'.
|
|
49
|
-
* @param block The block missing the connection.
|
|
50
|
-
* @param state The state object containing the bad connection.
|
|
51
|
-
* @internal
|
|
52
|
-
*/
|
|
53
|
-
constructor(connection: string, public block: Block, public state: State) {
|
|
54
|
-
super(`The block ${block.toDevString()} is missing a(n) ${connection}
|
|
55
|
-
connection`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Represents an error where deserialization tried to connect two connections
|
|
61
|
-
* that were not compatible.
|
|
62
|
-
* @alias Blockly.serialization.exceptions.BadConnectionCheck
|
|
63
|
-
*/
|
|
64
|
-
export class BadConnectionCheck extends DeserializationError {
|
|
65
|
-
/**
|
|
66
|
-
* @param reason The reason the connections were not compatible.
|
|
67
|
-
* @param childConnection The name of the incompatible child connection. E.g.
|
|
68
|
-
* 'output' or 'previous'.
|
|
69
|
-
* @param childBlock The child block that could not connect to its parent.
|
|
70
|
-
* @param childState The state object representing the child block.
|
|
71
|
-
* @internal
|
|
72
|
-
*/
|
|
73
|
-
constructor(
|
|
74
|
-
reason: string, childConnection: string, public childBlock: Block,
|
|
75
|
-
public childState: State) {
|
|
76
|
-
super(`The block ${childBlock.toDevString()} could not connect its
|
|
77
|
-
${childConnection} to its parent, because: ${reason}`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Represents an error where deserialization encountered a real block as it
|
|
83
|
-
* was deserializing children of a shadow.
|
|
84
|
-
* This is an error because it is an invariant of Blockly that shadow blocks
|
|
85
|
-
* do not have real children.
|
|
86
|
-
* @alias Blockly.serialization.exceptions.RealChildOfShadow
|
|
87
|
-
*/
|
|
88
|
-
export class RealChildOfShadow extends DeserializationError {
|
|
89
|
-
/**
|
|
90
|
-
* @param state The state object representing the real block.
|
|
91
|
-
* @internal
|
|
92
|
-
*/
|
|
93
|
-
constructor(public state: State) {
|
|
94
|
-
super(`Encountered a real block which is defined as a child of a shadow
|
|
95
|
-
block. It is an invariant of Blockly that shadow blocks only have shadow
|
|
96
|
-
children`);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview The top level namespace for priorities of plugin serializers.
|
|
9
|
-
* Includes constants for the priorities of different plugin
|
|
10
|
-
* serializers. Higher priorities are deserialized first.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* The top level namespace for priorities of plugin serializers.
|
|
15
|
-
* Includes constants for the priorities of different plugin serializers. Higher
|
|
16
|
-
* priorities are deserialized first.
|
|
17
|
-
* @namespace Blockly.serialization.priorities
|
|
18
|
-
*/
|
|
19
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
20
|
-
goog.declareModuleId('Blockly.serialization.priorities');
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* The priority for deserializing variables.
|
|
25
|
-
* @alias Blockly.serialization.priorities.VARIABLES
|
|
26
|
-
*/
|
|
27
|
-
export const VARIABLES = 100;
|
|
28
|
-
/**
|
|
29
|
-
* The priority for deserializing blocks.
|
|
30
|
-
* @alias Blockly.serialization.priorities.BLOCKS
|
|
31
|
-
*/
|
|
32
|
-
export const BLOCKS = 50;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Contains functions registering serializers (eg blocks,
|
|
9
|
-
* variables, plugins, etc).
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Contains functions registering serializers (eg blocks, variables, plugins,
|
|
14
|
-
* etc).
|
|
15
|
-
* @namespace Blockly.serialization.registry
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.serialization.registry');
|
|
19
|
-
|
|
20
|
-
// eslint-disable-next-line no-unused-vars
|
|
21
|
-
import type {ISerializer} from '../interfaces/i_serializer.js';
|
|
22
|
-
import * as registry from '../registry.js';
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Registers the given serializer so that it can be used for serialization and
|
|
27
|
-
* deserialization.
|
|
28
|
-
* @param name The name of the serializer to register.
|
|
29
|
-
* @param serializer The serializer to register.
|
|
30
|
-
* @alias Blockly.serialization.registry.register
|
|
31
|
-
*/
|
|
32
|
-
export function register(name: string, serializer: ISerializer) {
|
|
33
|
-
registry.register(registry.Type.SERIALIZER, name, serializer);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Unregisters the serializer associated with the given name.
|
|
38
|
-
* @param name The name of the serializer to unregister.
|
|
39
|
-
* @alias Blockly.serialization.registry.unregister
|
|
40
|
-
*/
|
|
41
|
-
export function unregister(name: string) {
|
|
42
|
-
registry.unregister(registry.Type.SERIALIZER, name);
|
|
43
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Handles serializing variables to plain JavaScript objects, only
|
|
9
|
-
* containing state.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Handles serializing variables to plain JavaScript objects, only containing
|
|
14
|
-
* state.
|
|
15
|
-
* @namespace Blockly.serialization.variables
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.serialization.variables');
|
|
19
|
-
|
|
20
|
-
import type {ISerializer} from '../interfaces/i_serializer.js';
|
|
21
|
-
import type {Workspace} from '../workspace.js';
|
|
22
|
-
|
|
23
|
-
import * as priorities from './priorities.js';
|
|
24
|
-
import * as serializationRegistry from './registry.js';
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Represents the state of a given variable.
|
|
29
|
-
* @alias Blockly.serialization.variables.State
|
|
30
|
-
*/
|
|
31
|
-
export interface State {
|
|
32
|
-
name: string;
|
|
33
|
-
id: string;
|
|
34
|
-
type: string|undefined;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Serializer for saving and loading variable state.
|
|
39
|
-
* @alias Blockly.serialization.variables.VariableSerializer
|
|
40
|
-
*/
|
|
41
|
-
class VariableSerializer implements ISerializer {
|
|
42
|
-
priority: number;
|
|
43
|
-
|
|
44
|
-
/* eslint-disable-next-line require-jsdoc */
|
|
45
|
-
constructor() {
|
|
46
|
-
/** The priority for deserializing variables. */
|
|
47
|
-
this.priority = priorities.VARIABLES;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Serializes the variables of the given workspace.
|
|
52
|
-
* @param workspace The workspace to save the variables of.
|
|
53
|
-
* @return The state of the workspace's variables, or null if there are no
|
|
54
|
-
* variables.
|
|
55
|
-
*/
|
|
56
|
-
save(workspace: Workspace): State[]|null {
|
|
57
|
-
const variableStates = [];
|
|
58
|
-
for (const variable of workspace.getAllVariables()) {
|
|
59
|
-
const state = {
|
|
60
|
-
'name': variable.name,
|
|
61
|
-
'id': variable.getId(),
|
|
62
|
-
};
|
|
63
|
-
if (variable.type) {
|
|
64
|
-
(state as AnyDuringMigration)['type'] = variable.type;
|
|
65
|
-
}
|
|
66
|
-
variableStates.push(state);
|
|
67
|
-
}
|
|
68
|
-
// AnyDuringMigration because: Type '{ name: string; id: string; }[] |
|
|
69
|
-
// null' is not assignable to type 'State[] | null'.
|
|
70
|
-
return (variableStates.length ? variableStates : null) as
|
|
71
|
-
AnyDuringMigration;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Deserializes the variable defined by the given state into the given
|
|
76
|
-
* workspace.
|
|
77
|
-
* @param state The state of the variables to deserialize.
|
|
78
|
-
* @param workspace The workspace to deserialize into.
|
|
79
|
-
*/
|
|
80
|
-
load(state: State[], workspace: Workspace) {
|
|
81
|
-
for (const varState of state) {
|
|
82
|
-
workspace.createVariable(
|
|
83
|
-
varState['name'], varState['type'], varState['id']);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Disposes of any variables that exist on the workspace.
|
|
89
|
-
* @param workspace The workspace to clear the variables of.
|
|
90
|
-
*/
|
|
91
|
-
clear(workspace: Workspace) {
|
|
92
|
-
workspace.getVariableMap().clear();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
serializationRegistry.register('variables', new VariableSerializer());
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Contains top-level functions for serializing workspaces to
|
|
9
|
-
* plain JavaScript objects.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Contains top-level functions for serializing workspaces to plain JavaScript
|
|
14
|
-
* objects.
|
|
15
|
-
* @namespace Blockly.serialization.workspaces
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.serialization.workspaces');
|
|
19
|
-
|
|
20
|
-
import * as eventUtils from '../events/utils.js';
|
|
21
|
-
import type {ISerializer} from '../interfaces/i_serializer.js';
|
|
22
|
-
import * as registry from '../registry.js';
|
|
23
|
-
import * as dom from '../utils/dom.js';
|
|
24
|
-
// eslint-disable-next-line no-unused-vars
|
|
25
|
-
import type {Workspace} from '../workspace.js';
|
|
26
|
-
import {WorkspaceSvg} from '../workspace_svg.js';
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Returns the state of the workspace as a plain JavaScript object.
|
|
31
|
-
* @param workspace The workspace to serialize.
|
|
32
|
-
* @return The serialized state of the workspace.
|
|
33
|
-
* @alias Blockly.serialization.workspaces.save
|
|
34
|
-
*/
|
|
35
|
-
export function save(workspace: Workspace):
|
|
36
|
-
{[key: string]: AnyDuringMigration} {
|
|
37
|
-
const state = Object.create(null);
|
|
38
|
-
const serializerMap = registry.getAllItems(registry.Type.SERIALIZER, true);
|
|
39
|
-
for (const key in serializerMap) {
|
|
40
|
-
const save = (serializerMap[key] as ISerializer)?.save(workspace);
|
|
41
|
-
if (save) {
|
|
42
|
-
state[key] = save;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return state;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Loads the variable represented by the given state into the given workspace.
|
|
50
|
-
* @param state The state of the workspace to deserialize into the workspace.
|
|
51
|
-
* @param workspace The workspace to add the new state to.
|
|
52
|
-
* @param param1 recordUndo: If true, events triggered by this function will be
|
|
53
|
-
* undo-able by the user. False by default.
|
|
54
|
-
* @alias Blockly.serialization.workspaces.load
|
|
55
|
-
*/
|
|
56
|
-
export function load(
|
|
57
|
-
state: {[key: string]: AnyDuringMigration}, workspace: Workspace,
|
|
58
|
-
{recordUndo = false}: {recordUndo?: boolean} = {}) {
|
|
59
|
-
const serializerMap = registry.getAllItems(registry.Type.SERIALIZER, true);
|
|
60
|
-
if (!serializerMap) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const deserializers = Object.entries(serializerMap)
|
|
65
|
-
.sort(
|
|
66
|
-
(a, b) => (b[1] as ISerializer)!.priority -
|
|
67
|
-
(a[1] as ISerializer)!.priority);
|
|
68
|
-
|
|
69
|
-
const prevRecordUndo = eventUtils.getRecordUndo();
|
|
70
|
-
eventUtils.setRecordUndo(recordUndo);
|
|
71
|
-
const existingGroup = eventUtils.getGroup();
|
|
72
|
-
if (!existingGroup) {
|
|
73
|
-
eventUtils.setGroup(true);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
dom.startTextWidthCache();
|
|
77
|
-
if (workspace instanceof WorkspaceSvg) {
|
|
78
|
-
workspace.setResizesEnabled(false);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// We want to trigger clearing in reverse priority order so plugins don't end
|
|
82
|
-
// up missing dependencies.
|
|
83
|
-
for (const [, deserializer] of deserializers.reverse()) {
|
|
84
|
-
(deserializer as ISerializer)?.clear(workspace);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// reverse() is destructive, so we have to re-reverse to correct the order.
|
|
88
|
-
for (let [name, deserializer] of deserializers.reverse()) {
|
|
89
|
-
name = name;
|
|
90
|
-
const pluginState = state[name];
|
|
91
|
-
if (pluginState) {
|
|
92
|
-
(deserializer as ISerializer)?.load(state[name], workspace);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (workspace instanceof WorkspaceSvg) {
|
|
97
|
-
workspace.setResizesEnabled(true);
|
|
98
|
-
}
|
|
99
|
-
dom.stopTextWidthCache();
|
|
100
|
-
|
|
101
|
-
eventUtils.fire(new (eventUtils.get(eventUtils.FINISHED_LOADING))!
|
|
102
|
-
(workspace));
|
|
103
|
-
|
|
104
|
-
eventUtils.setGroup(existingGroup);
|
|
105
|
-
eventUtils.setRecordUndo(prevRecordUndo);
|
|
106
|
-
}
|
package/core/shortcut_items.ts
DELETED
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2020 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Registers default keyboard shortcuts.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Registers default keyboard shortcuts.
|
|
13
|
-
* @namespace Blockly.ShortcutItems
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.ShortcutItems');
|
|
17
|
-
|
|
18
|
-
import {BlockSvg} from './block_svg.js';
|
|
19
|
-
import * as clipboard from './clipboard.js';
|
|
20
|
-
import * as common from './common.js';
|
|
21
|
-
import {Gesture} from './gesture.js';
|
|
22
|
-
import type {ICopyable} from './interfaces/i_copyable.js';
|
|
23
|
-
import {KeyboardShortcut, ShortcutRegistry} from './shortcut_registry.js';
|
|
24
|
-
import {KeyCodes} from './utils/keycodes.js';
|
|
25
|
-
import type {WorkspaceSvg} from './workspace_svg.js';
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Object holding the names of the default shortcut items.
|
|
30
|
-
* @alias Blockly.ShortcutItems.names
|
|
31
|
-
*/
|
|
32
|
-
export enum names {
|
|
33
|
-
ESCAPE = 'escape',
|
|
34
|
-
DELETE = 'delete',
|
|
35
|
-
COPY = 'copy',
|
|
36
|
-
CUT = 'cut',
|
|
37
|
-
PASTE = 'paste',
|
|
38
|
-
UNDO = 'undo',
|
|
39
|
-
REDO = 'redo'
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Keyboard shortcut to hide chaff on escape.
|
|
44
|
-
* @alias Blockly.ShortcutItems.registerEscape
|
|
45
|
-
*/
|
|
46
|
-
export function registerEscape() {
|
|
47
|
-
const escapeAction: KeyboardShortcut = {
|
|
48
|
-
name: names.ESCAPE,
|
|
49
|
-
preconditionFn(workspace) {
|
|
50
|
-
return !workspace.options.readOnly;
|
|
51
|
-
},
|
|
52
|
-
callback(workspace) {
|
|
53
|
-
// AnyDuringMigration because: Property 'hideChaff' does not exist on
|
|
54
|
-
// type 'Workspace'.
|
|
55
|
-
(workspace as AnyDuringMigration).hideChaff();
|
|
56
|
-
return true;
|
|
57
|
-
},
|
|
58
|
-
keyCodes: [KeyCodes.ESC],
|
|
59
|
-
};
|
|
60
|
-
ShortcutRegistry.registry.register(escapeAction);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Keyboard shortcut to delete a block on delete or backspace
|
|
65
|
-
* @alias Blockly.ShortcutItems.registerDelete
|
|
66
|
-
*/
|
|
67
|
-
export function registerDelete() {
|
|
68
|
-
const deleteShortcut: KeyboardShortcut = {
|
|
69
|
-
name: names.DELETE,
|
|
70
|
-
preconditionFn(workspace) {
|
|
71
|
-
const selected = common.getSelected();
|
|
72
|
-
return !workspace.options.readOnly && selected != null &&
|
|
73
|
-
selected.isDeletable();
|
|
74
|
-
},
|
|
75
|
-
callback(workspace, e) {
|
|
76
|
-
// Delete or backspace.
|
|
77
|
-
// Stop the browser from going back to the previous page.
|
|
78
|
-
// Do this first to prevent an error in the delete code from resulting in
|
|
79
|
-
// data loss.
|
|
80
|
-
e.preventDefault();
|
|
81
|
-
// Don't delete while dragging. Jeez.
|
|
82
|
-
if (Gesture.inProgress()) {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
(common.getSelected() as BlockSvg).checkAndDelete();
|
|
86
|
-
return true;
|
|
87
|
-
},
|
|
88
|
-
keyCodes: [KeyCodes.DELETE, KeyCodes.BACKSPACE],
|
|
89
|
-
};
|
|
90
|
-
ShortcutRegistry.registry.register(deleteShortcut);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Keyboard shortcut to copy a block on ctrl+c, cmd+c, or alt+c.
|
|
95
|
-
* @alias Blockly.ShortcutItems.registerCopy
|
|
96
|
-
*/
|
|
97
|
-
export function registerCopy() {
|
|
98
|
-
const ctrlC = ShortcutRegistry.registry.createSerializedKey(
|
|
99
|
-
KeyCodes.C, [KeyCodes.CTRL]);
|
|
100
|
-
const altC =
|
|
101
|
-
ShortcutRegistry.registry.createSerializedKey(KeyCodes.C, [KeyCodes.ALT]);
|
|
102
|
-
const metaC = ShortcutRegistry.registry.createSerializedKey(
|
|
103
|
-
KeyCodes.C, [KeyCodes.META]);
|
|
104
|
-
|
|
105
|
-
const copyShortcut: KeyboardShortcut = {
|
|
106
|
-
name: names.COPY,
|
|
107
|
-
preconditionFn(workspace) {
|
|
108
|
-
const selected = common.getSelected();
|
|
109
|
-
return !workspace.options.readOnly && !Gesture.inProgress() &&
|
|
110
|
-
selected != null && selected.isDeletable() && selected.isMovable();
|
|
111
|
-
},
|
|
112
|
-
callback(workspace, e) {
|
|
113
|
-
// Prevent the default copy behavior, which may beep or otherwise indicate
|
|
114
|
-
// an error due to the lack of a selection.
|
|
115
|
-
e.preventDefault();
|
|
116
|
-
// AnyDuringMigration because: Property 'hideChaff' does not exist on
|
|
117
|
-
// type 'Workspace'.
|
|
118
|
-
(workspace as AnyDuringMigration).hideChaff();
|
|
119
|
-
clipboard.copy(common.getSelected() as ICopyable);
|
|
120
|
-
return true;
|
|
121
|
-
},
|
|
122
|
-
keyCodes: [ctrlC, altC, metaC],
|
|
123
|
-
};
|
|
124
|
-
ShortcutRegistry.registry.register(copyShortcut);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Keyboard shortcut to copy and delete a block on ctrl+x, cmd+x, or alt+x.
|
|
129
|
-
* @alias Blockly.ShortcutItems.registerCut
|
|
130
|
-
*/
|
|
131
|
-
export function registerCut() {
|
|
132
|
-
const ctrlX = ShortcutRegistry.registry.createSerializedKey(
|
|
133
|
-
KeyCodes.X, [KeyCodes.CTRL]);
|
|
134
|
-
const altX =
|
|
135
|
-
ShortcutRegistry.registry.createSerializedKey(KeyCodes.X, [KeyCodes.ALT]);
|
|
136
|
-
const metaX = ShortcutRegistry.registry.createSerializedKey(
|
|
137
|
-
KeyCodes.X, [KeyCodes.META]);
|
|
138
|
-
|
|
139
|
-
const cutShortcut: KeyboardShortcut = {
|
|
140
|
-
name: names.CUT,
|
|
141
|
-
preconditionFn(workspace) {
|
|
142
|
-
const selected = common.getSelected();
|
|
143
|
-
return !workspace.options.readOnly && !Gesture.inProgress() &&
|
|
144
|
-
selected != null && selected instanceof BlockSvg &&
|
|
145
|
-
selected.isDeletable() && selected.isMovable() &&
|
|
146
|
-
!selected.workspace!.isFlyout;
|
|
147
|
-
},
|
|
148
|
-
callback() {
|
|
149
|
-
const selected = common.getSelected();
|
|
150
|
-
if (!selected) {
|
|
151
|
-
// Shouldn't happen but appeases the type system
|
|
152
|
-
return false;
|
|
153
|
-
}
|
|
154
|
-
clipboard.copy(selected);
|
|
155
|
-
(selected as BlockSvg).checkAndDelete();
|
|
156
|
-
return true;
|
|
157
|
-
},
|
|
158
|
-
keyCodes: [ctrlX, altX, metaX],
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
ShortcutRegistry.registry.register(cutShortcut);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Keyboard shortcut to paste a block on ctrl+v, cmd+v, or alt+v.
|
|
166
|
-
* @alias Blockly.ShortcutItems.registerPaste
|
|
167
|
-
*/
|
|
168
|
-
export function registerPaste() {
|
|
169
|
-
const ctrlV = ShortcutRegistry.registry.createSerializedKey(
|
|
170
|
-
KeyCodes.V, [KeyCodes.CTRL]);
|
|
171
|
-
const altV =
|
|
172
|
-
ShortcutRegistry.registry.createSerializedKey(KeyCodes.V, [KeyCodes.ALT]);
|
|
173
|
-
const metaV = ShortcutRegistry.registry.createSerializedKey(
|
|
174
|
-
KeyCodes.V, [KeyCodes.META]);
|
|
175
|
-
|
|
176
|
-
const pasteShortcut: KeyboardShortcut = {
|
|
177
|
-
name: names.PASTE,
|
|
178
|
-
preconditionFn(workspace) {
|
|
179
|
-
return !workspace.options.readOnly && !Gesture.inProgress();
|
|
180
|
-
},
|
|
181
|
-
callback() {
|
|
182
|
-
return !!(clipboard.paste());
|
|
183
|
-
},
|
|
184
|
-
keyCodes: [ctrlV, altV, metaV],
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
ShortcutRegistry.registry.register(pasteShortcut);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Keyboard shortcut to undo the previous action on ctrl+z, cmd+z, or alt+z.
|
|
192
|
-
* @alias Blockly.ShortcutItems.registerUndo
|
|
193
|
-
*/
|
|
194
|
-
export function registerUndo() {
|
|
195
|
-
const ctrlZ = ShortcutRegistry.registry.createSerializedKey(
|
|
196
|
-
KeyCodes.Z, [KeyCodes.CTRL]);
|
|
197
|
-
const altZ =
|
|
198
|
-
ShortcutRegistry.registry.createSerializedKey(KeyCodes.Z, [KeyCodes.ALT]);
|
|
199
|
-
const metaZ = ShortcutRegistry.registry.createSerializedKey(
|
|
200
|
-
KeyCodes.Z, [KeyCodes.META]);
|
|
201
|
-
|
|
202
|
-
const undoShortcut: KeyboardShortcut = {
|
|
203
|
-
name: names.UNDO,
|
|
204
|
-
preconditionFn(workspace) {
|
|
205
|
-
return !workspace.options.readOnly && !Gesture.inProgress();
|
|
206
|
-
},
|
|
207
|
-
callback(workspace) {
|
|
208
|
-
// 'z' for undo 'Z' is for redo.
|
|
209
|
-
(workspace as WorkspaceSvg).hideChaff();
|
|
210
|
-
workspace.undo(false);
|
|
211
|
-
return true;
|
|
212
|
-
},
|
|
213
|
-
keyCodes: [ctrlZ, altZ, metaZ],
|
|
214
|
-
};
|
|
215
|
-
ShortcutRegistry.registry.register(undoShortcut);
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* Keyboard shortcut to redo the previous action on ctrl+shift+z, cmd+shift+z,
|
|
220
|
-
* or alt+shift+z.
|
|
221
|
-
* @alias Blockly.ShortcutItems.registerRedo
|
|
222
|
-
*/
|
|
223
|
-
export function registerRedo() {
|
|
224
|
-
const ctrlShiftZ = ShortcutRegistry.registry.createSerializedKey(
|
|
225
|
-
KeyCodes.Z, [KeyCodes.SHIFT, KeyCodes.CTRL]);
|
|
226
|
-
const altShiftZ = ShortcutRegistry.registry.createSerializedKey(
|
|
227
|
-
KeyCodes.Z, [KeyCodes.SHIFT, KeyCodes.ALT]);
|
|
228
|
-
const metaShiftZ = ShortcutRegistry.registry.createSerializedKey(
|
|
229
|
-
KeyCodes.Z, [KeyCodes.SHIFT, KeyCodes.META]);
|
|
230
|
-
// Ctrl-y is redo in Windows. Command-y is never valid on Macs.
|
|
231
|
-
const ctrlY = ShortcutRegistry.registry.createSerializedKey(
|
|
232
|
-
KeyCodes.Y, [KeyCodes.CTRL]);
|
|
233
|
-
|
|
234
|
-
const redoShortcut: KeyboardShortcut = {
|
|
235
|
-
name: names.REDO,
|
|
236
|
-
preconditionFn(workspace) {
|
|
237
|
-
return !Gesture.inProgress() && !workspace.options.readOnly;
|
|
238
|
-
},
|
|
239
|
-
callback(workspace) {
|
|
240
|
-
// 'z' for undo 'Z' is for redo.
|
|
241
|
-
(workspace as WorkspaceSvg).hideChaff();
|
|
242
|
-
workspace.undo(true);
|
|
243
|
-
return true;
|
|
244
|
-
},
|
|
245
|
-
keyCodes: [ctrlShiftZ, altShiftZ, metaShiftZ, ctrlY],
|
|
246
|
-
};
|
|
247
|
-
ShortcutRegistry.registry.register(redoShortcut);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
/**
|
|
251
|
-
* Registers all default keyboard shortcut item. This should be called once per
|
|
252
|
-
* instance of KeyboardShortcutRegistry.
|
|
253
|
-
* @alias Blockly.ShortcutItems.registerDefaultShortcuts
|
|
254
|
-
* @internal
|
|
255
|
-
*/
|
|
256
|
-
export function registerDefaultShortcuts() {
|
|
257
|
-
registerEscape();
|
|
258
|
-
registerDelete();
|
|
259
|
-
registerCopy();
|
|
260
|
-
registerCut();
|
|
261
|
-
registerPaste();
|
|
262
|
-
registerUndo();
|
|
263
|
-
registerRedo();
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
registerDefaultShortcuts();
|