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,355 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2020 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview The namespace used to keep track of keyboard shortcuts and the
|
|
9
|
-
* key codes used to execute those shortcuts.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* The namespace used to keep track of keyboard shortcuts and the
|
|
14
|
-
* key codes used to execute those shortcuts.
|
|
15
|
-
* @class
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.ShortcutRegistry');
|
|
19
|
-
|
|
20
|
-
import {KeyCodes} from './utils/keycodes.js';
|
|
21
|
-
import * as object from './utils/object.js';
|
|
22
|
-
import type {Workspace} from './workspace.js';
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Class for the registry of keyboard shortcuts. This is intended to be a
|
|
27
|
-
* singleton. You should not create a new instance, and only access this class
|
|
28
|
-
* from ShortcutRegistry.registry.
|
|
29
|
-
* @alias Blockly.ShortcutRegistry
|
|
30
|
-
*/
|
|
31
|
-
export class ShortcutRegistry {
|
|
32
|
-
static readonly registry = new ShortcutRegistry();
|
|
33
|
-
|
|
34
|
-
/** Registry of all keyboard shortcuts, keyed by name of shortcut. */
|
|
35
|
-
private shortcuts = new Map<string, KeyboardShortcut>();
|
|
36
|
-
|
|
37
|
-
/** Map of key codes to an array of shortcut names. */
|
|
38
|
-
private keyMap = new Map<string, string[]>();
|
|
39
|
-
|
|
40
|
-
/** Resets the existing ShortcutRegistry singleton. */
|
|
41
|
-
private constructor() {
|
|
42
|
-
this.reset();
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/** Clear and recreate the registry and keyMap. */
|
|
46
|
-
reset() {
|
|
47
|
-
this.shortcuts.clear();
|
|
48
|
-
this.keyMap.clear();
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Registers a keyboard shortcut.
|
|
53
|
-
* @param shortcut The shortcut for this key code.
|
|
54
|
-
* @param opt_allowOverrides True to prevent a warning when overriding an
|
|
55
|
-
* already registered item.
|
|
56
|
-
* @throws {Error} if a shortcut with the same name already exists.
|
|
57
|
-
*/
|
|
58
|
-
register(shortcut: KeyboardShortcut, opt_allowOverrides?: boolean) {
|
|
59
|
-
const registeredShortcut = this.shortcuts.get(shortcut.name);
|
|
60
|
-
if (registeredShortcut && !opt_allowOverrides) {
|
|
61
|
-
throw new Error(
|
|
62
|
-
'Shortcut with name "' + shortcut.name + '" already exists.');
|
|
63
|
-
}
|
|
64
|
-
this.shortcuts.set(shortcut.name, shortcut);
|
|
65
|
-
|
|
66
|
-
const keyCodes = shortcut.keyCodes;
|
|
67
|
-
if (keyCodes && keyCodes.length > 0) {
|
|
68
|
-
for (let i = 0; i < keyCodes.length; i++) {
|
|
69
|
-
this.addKeyMapping(
|
|
70
|
-
keyCodes[i], shortcut.name, !!shortcut.allowCollision);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Unregisters a keyboard shortcut registered with the given key code. This
|
|
77
|
-
* will also remove any key mappings that reference this shortcut.
|
|
78
|
-
* @param shortcutName The name of the shortcut to unregister.
|
|
79
|
-
* @return True if an item was unregistered, false otherwise.
|
|
80
|
-
*/
|
|
81
|
-
unregister(shortcutName: string): boolean {
|
|
82
|
-
const shortcut = this.shortcuts.get(shortcutName);
|
|
83
|
-
|
|
84
|
-
if (!shortcut) {
|
|
85
|
-
console.warn(
|
|
86
|
-
'Keyboard shortcut with name "' + shortcutName + '" not found.');
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
this.removeAllKeyMappings(shortcutName);
|
|
91
|
-
|
|
92
|
-
this.shortcuts.delete(shortcutName);
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Adds a mapping between a keycode and a keyboard shortcut.
|
|
98
|
-
* @param keyCode The key code for the keyboard shortcut. If registering a key
|
|
99
|
-
* code with a modifier (ex: ctrl+c) use
|
|
100
|
-
* ShortcutRegistry.registry.createSerializedKey;
|
|
101
|
-
* @param shortcutName The name of the shortcut to execute when the given
|
|
102
|
-
* keycode is pressed.
|
|
103
|
-
* @param opt_allowCollision True to prevent an error when adding a shortcut
|
|
104
|
-
* to a key that is already mapped to a shortcut.
|
|
105
|
-
* @throws {Error} if the given key code is already mapped to a shortcut.
|
|
106
|
-
*/
|
|
107
|
-
addKeyMapping(
|
|
108
|
-
keyCode: string|number|KeyCodes, shortcutName: string,
|
|
109
|
-
opt_allowCollision?: boolean) {
|
|
110
|
-
keyCode = String(keyCode);
|
|
111
|
-
const shortcutNames = this.keyMap.get(keyCode);
|
|
112
|
-
if (shortcutNames && !opt_allowCollision) {
|
|
113
|
-
throw new Error(
|
|
114
|
-
'Shortcut with name "' + shortcutName + '" collides with shortcuts ' +
|
|
115
|
-
shortcutNames.toString());
|
|
116
|
-
} else if (shortcutNames && opt_allowCollision) {
|
|
117
|
-
shortcutNames.unshift(shortcutName);
|
|
118
|
-
} else {
|
|
119
|
-
this.keyMap.set(keyCode, [shortcutName]);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Removes a mapping between a keycode and a keyboard shortcut.
|
|
125
|
-
* @param keyCode The key code for the keyboard shortcut. If registering a key
|
|
126
|
-
* code with a modifier (ex: ctrl+c) use
|
|
127
|
-
* ShortcutRegistry.registry.createSerializedKey;
|
|
128
|
-
* @param shortcutName The name of the shortcut to execute when the given
|
|
129
|
-
* keycode is pressed.
|
|
130
|
-
* @param opt_quiet True to not console warn when there is no shortcut to
|
|
131
|
-
* remove.
|
|
132
|
-
* @return True if a key mapping was removed, false otherwise.
|
|
133
|
-
*/
|
|
134
|
-
removeKeyMapping(keyCode: string, shortcutName: string, opt_quiet?: boolean):
|
|
135
|
-
boolean {
|
|
136
|
-
const shortcutNames = this.keyMap.get(keyCode);
|
|
137
|
-
|
|
138
|
-
if (!shortcutNames) {
|
|
139
|
-
if (!opt_quiet) {
|
|
140
|
-
console.warn(
|
|
141
|
-
'No keyboard shortcut with name "' + shortcutName +
|
|
142
|
-
'" registered with key code "' + keyCode + '"');
|
|
143
|
-
}
|
|
144
|
-
return false;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
const shortcutIdx = shortcutNames.indexOf(shortcutName);
|
|
148
|
-
if (shortcutIdx > -1) {
|
|
149
|
-
shortcutNames.splice(shortcutIdx, 1);
|
|
150
|
-
if (shortcutNames.length === 0) {
|
|
151
|
-
this.keyMap.delete(keyCode);
|
|
152
|
-
}
|
|
153
|
-
return true;
|
|
154
|
-
}
|
|
155
|
-
if (!opt_quiet) {
|
|
156
|
-
console.warn(
|
|
157
|
-
'No keyboard shortcut with name "' + shortcutName +
|
|
158
|
-
'" registered with key code "' + keyCode + '"');
|
|
159
|
-
}
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Removes all the key mappings for a shortcut with the given name.
|
|
165
|
-
* Useful when changing the default key mappings and the key codes registered
|
|
166
|
-
* to the shortcut are unknown.
|
|
167
|
-
* @param shortcutName The name of the shortcut to remove from the key map.
|
|
168
|
-
*/
|
|
169
|
-
removeAllKeyMappings(shortcutName: string) {
|
|
170
|
-
for (const keyCode of this.keyMap.keys()) {
|
|
171
|
-
this.removeKeyMapping(keyCode, shortcutName, true);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Sets the key map. Setting the key map will override any default key
|
|
177
|
-
* mappings.
|
|
178
|
-
* @param newKeyMap The object with key code to shortcut names.
|
|
179
|
-
*/
|
|
180
|
-
setKeyMap(newKeyMap: {[key: string]: string[]}) {
|
|
181
|
-
this.keyMap.clear();
|
|
182
|
-
for (const key in newKeyMap) {
|
|
183
|
-
this.keyMap.set(key, newKeyMap[key]);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Gets the current key map.
|
|
189
|
-
* @return The object holding key codes to ShortcutRegistry.KeyboardShortcut.
|
|
190
|
-
*/
|
|
191
|
-
getKeyMap(): {[key: string]: string[]} {
|
|
192
|
-
const legacyKeyMap: {[key: string]: string[]} = Object.create(null);
|
|
193
|
-
for (const [key, value] of this.keyMap) {
|
|
194
|
-
legacyKeyMap[key] = value;
|
|
195
|
-
}
|
|
196
|
-
return legacyKeyMap;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Gets the registry of keyboard shortcuts.
|
|
201
|
-
* @return The registry of keyboard shortcuts.
|
|
202
|
-
*/
|
|
203
|
-
getRegistry(): {[key: string]: KeyboardShortcut} {
|
|
204
|
-
const legacyRegistry: {[key: string]: KeyboardShortcut} =
|
|
205
|
-
Object.create(null);
|
|
206
|
-
for (const [key, value] of this.shortcuts) {
|
|
207
|
-
legacyRegistry[key] = value;
|
|
208
|
-
}
|
|
209
|
-
return object.deepMerge(Object.create(null), legacyRegistry);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Handles key down events.
|
|
214
|
-
* @param workspace The main workspace where the event was captured.
|
|
215
|
-
* @param e The key down event.
|
|
216
|
-
* @return True if the event was handled, false otherwise.
|
|
217
|
-
*/
|
|
218
|
-
onKeyDown(workspace: Workspace, e: KeyboardEvent): boolean {
|
|
219
|
-
const key = this.serializeKeyEvent_(e);
|
|
220
|
-
const shortcutNames = this.getShortcutNamesByKeyCode(key);
|
|
221
|
-
if (!shortcutNames) {
|
|
222
|
-
return false;
|
|
223
|
-
}
|
|
224
|
-
for (let i = 0, shortcutName; shortcutName = shortcutNames[i]; i++) {
|
|
225
|
-
const shortcut = this.shortcuts.get(shortcutName);
|
|
226
|
-
if (!shortcut?.preconditionFn || shortcut?.preconditionFn(workspace)) {
|
|
227
|
-
// If the key has been handled, stop processing shortcuts.
|
|
228
|
-
if (shortcut?.callback && shortcut?.callback(workspace, e, shortcut)) {
|
|
229
|
-
return true;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
return false;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* Gets the shortcuts registered to the given key code.
|
|
238
|
-
* @param keyCode The serialized key code.
|
|
239
|
-
* @return The list of shortcuts to call when the given keyCode is used.
|
|
240
|
-
* Undefined if no shortcuts exist.
|
|
241
|
-
*/
|
|
242
|
-
getShortcutNamesByKeyCode(keyCode: string): string[]|undefined {
|
|
243
|
-
return this.keyMap.get(keyCode) || [];
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* Gets the serialized key codes that the shortcut with the given name is
|
|
248
|
-
* registered under.
|
|
249
|
-
* @param shortcutName The name of the shortcut.
|
|
250
|
-
* @return An array with all the key codes the shortcut is registered under.
|
|
251
|
-
*/
|
|
252
|
-
getKeyCodesByShortcutName(shortcutName: string): string[] {
|
|
253
|
-
const keys = [];
|
|
254
|
-
for (const [keyCode, shortcuts] of this.keyMap) {
|
|
255
|
-
const shortcutIdx = shortcuts.indexOf(shortcutName);
|
|
256
|
-
if (shortcutIdx > -1) {
|
|
257
|
-
keys.push(keyCode);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
return keys;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* Serializes a key event.
|
|
265
|
-
* @param e A key down event.
|
|
266
|
-
* @return The serialized key code for the given event.
|
|
267
|
-
*/
|
|
268
|
-
private serializeKeyEvent_(e: KeyboardEvent): string {
|
|
269
|
-
let serializedKey = '';
|
|
270
|
-
for (const modifier in ShortcutRegistry.modifierKeys) {
|
|
271
|
-
if (e.getModifierState(modifier)) {
|
|
272
|
-
if (serializedKey !== '') {
|
|
273
|
-
serializedKey += '+';
|
|
274
|
-
}
|
|
275
|
-
serializedKey += modifier;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
if (serializedKey !== '' && e.keyCode) {
|
|
279
|
-
serializedKey = serializedKey + '+' + e.keyCode;
|
|
280
|
-
} else if (e.keyCode) {
|
|
281
|
-
serializedKey = e.keyCode.toString();
|
|
282
|
-
}
|
|
283
|
-
return serializedKey;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* Checks whether any of the given modifiers are not valid.
|
|
288
|
-
* @param modifiers List of modifiers to be used with the key.
|
|
289
|
-
* @throws {Error} if the modifier is not in the valid modifiers list.
|
|
290
|
-
*/
|
|
291
|
-
private checkModifiers_(modifiers: KeyCodes[]) {
|
|
292
|
-
const validModifiers = object.values(ShortcutRegistry.modifierKeys);
|
|
293
|
-
for (let i = 0, modifier; modifier = modifiers[i]; i++) {
|
|
294
|
-
if (validModifiers.indexOf(modifier) < 0) {
|
|
295
|
-
throw new Error(modifier + ' is not a valid modifier key.');
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
/**
|
|
301
|
-
* Creates the serialized key code that will be used in the key map.
|
|
302
|
-
* @param keyCode Number code representing the key.
|
|
303
|
-
* @param modifiers List of modifier key codes to be used with the key. All
|
|
304
|
-
* valid modifiers can be found in the ShortcutRegistry.modifierKeys.
|
|
305
|
-
* @return The serialized key code for the given modifiers and key.
|
|
306
|
-
*/
|
|
307
|
-
createSerializedKey(keyCode: number, modifiers: KeyCodes[]|null): string {
|
|
308
|
-
let serializedKey = '';
|
|
309
|
-
|
|
310
|
-
if (modifiers) {
|
|
311
|
-
this.checkModifiers_(modifiers);
|
|
312
|
-
for (const modifier in ShortcutRegistry.modifierKeys) {
|
|
313
|
-
const modifierKeyCode =
|
|
314
|
-
(ShortcutRegistry.modifierKeys as AnyDuringMigration)[modifier];
|
|
315
|
-
if (modifiers.indexOf(modifierKeyCode) > -1) {
|
|
316
|
-
if (serializedKey !== '') {
|
|
317
|
-
serializedKey += '+';
|
|
318
|
-
}
|
|
319
|
-
serializedKey += modifier;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
if (serializedKey !== '' && keyCode) {
|
|
325
|
-
serializedKey = serializedKey + '+' + keyCode;
|
|
326
|
-
} else if (keyCode) {
|
|
327
|
-
serializedKey = keyCode.toString();
|
|
328
|
-
}
|
|
329
|
-
return serializedKey;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
export namespace ShortcutRegistry {
|
|
334
|
-
export interface KeyboardShortcut {
|
|
335
|
-
callback?: ((p1: Workspace, p2: Event, p3: KeyboardShortcut) => boolean);
|
|
336
|
-
name: string;
|
|
337
|
-
preconditionFn?: ((p1: Workspace) => boolean);
|
|
338
|
-
metadata?: object;
|
|
339
|
-
keyCodes?: (number|string)[];
|
|
340
|
-
allowCollision?: boolean;
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
/** Supported modifiers. */
|
|
344
|
-
export enum modifierKeys {
|
|
345
|
-
Shift = KeyCodes.SHIFT,
|
|
346
|
-
Control = KeyCodes.CTRL,
|
|
347
|
-
Alt = KeyCodes.ALT,
|
|
348
|
-
Meta = KeyCodes.META,
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
export type KeyboardShortcut = ShortcutRegistry.KeyboardShortcut;
|
|
353
|
-
// No need to export ShorcutRegistry.modifierKeys from the module at this time
|
|
354
|
-
// because (1) it wasn't automatically converted by the automatic migration
|
|
355
|
-
// script, (2) the name doesn't follow the styleguide.
|
package/core/sprites.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Holds constants that have to do with the sprites that create
|
|
9
|
-
* the trashcan and zoom controls.
|
|
10
|
-
*/
|
|
11
|
-
import * as goog from '../closure/goog/goog.js';
|
|
12
|
-
goog.declareModuleId('Blockly.sprite');
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Holds constants that have to do with the sprites that create the trashcan
|
|
17
|
-
* and zoom controls.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Contains the path to a single png tat holds the images for the trashcan
|
|
22
|
-
* as well as the zoom controls.
|
|
23
|
-
* @alias Blockly.sprite.SPRITE
|
|
24
|
-
*/
|
|
25
|
-
export const SPRITE = {
|
|
26
|
-
width: 96,
|
|
27
|
-
height: 124,
|
|
28
|
-
url: 'sprites.png',
|
|
29
|
-
};
|
package/core/theme/classic.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2018 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Classic theme.
|
|
9
|
-
* Contains multi-coloured border to create shadow effect.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Classic theme.
|
|
14
|
-
* Contains multi-coloured border to create shadow effect.
|
|
15
|
-
* @namespace Blockly.Themes.Classic
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.Themes.Classic');
|
|
19
|
-
|
|
20
|
-
import {Theme} from '../theme.js';
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const defaultBlockStyles = {
|
|
24
|
-
'colour_blocks': {'colourPrimary': '20'},
|
|
25
|
-
'list_blocks': {'colourPrimary': '260'},
|
|
26
|
-
'logic_blocks': {'colourPrimary': '210'},
|
|
27
|
-
'loop_blocks': {'colourPrimary': '120'},
|
|
28
|
-
'math_blocks': {'colourPrimary': '230'},
|
|
29
|
-
'procedure_blocks': {'colourPrimary': '290'},
|
|
30
|
-
'text_blocks': {'colourPrimary': '160'},
|
|
31
|
-
'variable_blocks': {'colourPrimary': '330'},
|
|
32
|
-
'variable_dynamic_blocks': {'colourPrimary': '310'},
|
|
33
|
-
'hat_blocks': {'colourPrimary': '330', 'hat': 'cap'},
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const categoryStyles = {
|
|
37
|
-
'colour_category': {'colour': '20'},
|
|
38
|
-
'list_category': {'colour': '260'},
|
|
39
|
-
'logic_category': {'colour': '210'},
|
|
40
|
-
'loop_category': {'colour': '120'},
|
|
41
|
-
'math_category': {'colour': '230'},
|
|
42
|
-
'procedure_category': {'colour': '290'},
|
|
43
|
-
'text_category': {'colour': '160'},
|
|
44
|
-
'variable_category': {'colour': '330'},
|
|
45
|
-
'variable_dynamic_category': {'colour': '310'},
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Classic theme.
|
|
50
|
-
* Contains multi-coloured border to create shadow effect.
|
|
51
|
-
* @alias Blockly.Themes.Classic
|
|
52
|
-
*/
|
|
53
|
-
export const Classic = new Theme(
|
|
54
|
-
'classic', defaultBlockStyles as AnyDuringMigration, categoryStyles);
|
package/core/theme/themes.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Namespace for themes.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Namespace for themes.
|
|
13
|
-
* @namespace Blockly.Themes
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.Themes');
|
|
17
|
-
|
|
18
|
-
import {Classic} from './classic.js';
|
|
19
|
-
import {Zelos} from './zelos.js';
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
export {Classic, Zelos};
|
package/core/theme/zelos.ts
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2018 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Zelos theme.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Zelos theme.
|
|
13
|
-
* @namespace Blockly.Themes.Zelos
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.Themes.Zelos');
|
|
17
|
-
|
|
18
|
-
import {Theme} from '../theme.js';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const defaultBlockStyles = {
|
|
22
|
-
'colour_blocks': {
|
|
23
|
-
'colourPrimary': '#CF63CF',
|
|
24
|
-
'colourSecondary': '#C94FC9',
|
|
25
|
-
'colourTertiary': '#BD42BD',
|
|
26
|
-
},
|
|
27
|
-
'list_blocks': {
|
|
28
|
-
'colourPrimary': '#9966FF',
|
|
29
|
-
'colourSecondary': '#855CD6',
|
|
30
|
-
'colourTertiary': '#774DCB',
|
|
31
|
-
},
|
|
32
|
-
'logic_blocks': {
|
|
33
|
-
'colourPrimary': '#4C97FF',
|
|
34
|
-
'colourSecondary': '#4280D7',
|
|
35
|
-
'colourTertiary': '#3373CC',
|
|
36
|
-
},
|
|
37
|
-
'loop_blocks': {
|
|
38
|
-
'colourPrimary': '#0fBD8C',
|
|
39
|
-
'colourSecondary': '#0DA57A',
|
|
40
|
-
'colourTertiary': '#0B8E69',
|
|
41
|
-
},
|
|
42
|
-
'math_blocks': {
|
|
43
|
-
'colourPrimary': '#59C059',
|
|
44
|
-
'colourSecondary': '#46B946',
|
|
45
|
-
'colourTertiary': '#389438',
|
|
46
|
-
},
|
|
47
|
-
'procedure_blocks': {
|
|
48
|
-
'colourPrimary': '#FF6680',
|
|
49
|
-
'colourSecondary': '#FF4D6A',
|
|
50
|
-
'colourTertiary': '#FF3355',
|
|
51
|
-
},
|
|
52
|
-
'text_blocks': {
|
|
53
|
-
'colourPrimary': '#FFBF00',
|
|
54
|
-
'colourSecondary': '#E6AC00',
|
|
55
|
-
'colourTertiary': '#CC9900',
|
|
56
|
-
},
|
|
57
|
-
'variable_blocks': {
|
|
58
|
-
'colourPrimary': '#FF8C1A',
|
|
59
|
-
'colourSecondary': '#FF8000',
|
|
60
|
-
'colourTertiary': '#DB6E00',
|
|
61
|
-
},
|
|
62
|
-
'variable_dynamic_blocks': {
|
|
63
|
-
'colourPrimary': '#FF8C1A',
|
|
64
|
-
'colourSecondary': '#FF8000',
|
|
65
|
-
'colourTertiary': '#DB6E00',
|
|
66
|
-
},
|
|
67
|
-
'hat_blocks': {
|
|
68
|
-
'colourPrimary': '#4C97FF',
|
|
69
|
-
'colourSecondary': '#4280D7',
|
|
70
|
-
'colourTertiary': '#3373CC',
|
|
71
|
-
'hat': 'cap',
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
const categoryStyles = {
|
|
76
|
-
'colour_category': {'colour': '#CF63CF'},
|
|
77
|
-
'list_category': {'colour': '#9966FF'},
|
|
78
|
-
'logic_category': {'colour': '#4C97FF'},
|
|
79
|
-
'loop_category': {'colour': '#0fBD8C'},
|
|
80
|
-
'math_category': {'colour': '#59C059'},
|
|
81
|
-
'procedure_category': {'colour': '#FF6680'},
|
|
82
|
-
'text_category': {'colour': '#FFBF00'},
|
|
83
|
-
'variable_category': {'colour': '#FF8C1A'},
|
|
84
|
-
'variable_dynamic_category': {'colour': '#FF8C1A'},
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Zelos theme.
|
|
89
|
-
* @alias Blockly.Themes.Zelos
|
|
90
|
-
*/
|
|
91
|
-
export const Zelos = new Theme('zelos', defaultBlockStyles, categoryStyles);
|