blockly 8.0.4-beta.0 → 8.0.5-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2421 -2688
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -719
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/input.ts +309 -0
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +229 -228
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +421 -421
- package/msg/ace.js +421 -421
- package/msg/af.js +421 -421
- package/msg/am.js +421 -421
- package/msg/ar.js +421 -421
- package/msg/ast.js +421 -421
- package/msg/az.js +421 -421
- package/msg/ba.js +421 -421
- package/msg/bcc.js +421 -421
- package/msg/be-tarask.js +421 -421
- package/msg/be.js +421 -421
- package/msg/bg.js +421 -421
- package/msg/bn.js +421 -421
- package/msg/br.js +421 -421
- package/msg/bs.js +421 -421
- package/msg/ca.js +421 -421
- package/msg/cdo.js +421 -421
- package/msg/cs.js +421 -421
- package/msg/da.js +421 -421
- package/msg/de.js +421 -421
- package/msg/diq.js +421 -421
- package/msg/dty.js +421 -421
- package/msg/ee.js +421 -421
- package/msg/el.js +421 -421
- package/msg/en-gb.js +421 -421
- package/msg/en.js +421 -421
- package/msg/eo.js +421 -421
- package/msg/es.js +421 -421
- package/msg/et.js +421 -421
- package/msg/eu.js +421 -421
- package/msg/fa.js +421 -421
- package/msg/fi.js +421 -421
- package/msg/fo.js +421 -421
- package/msg/fr.js +421 -421
- package/msg/frr.js +421 -421
- package/msg/gl.js +421 -421
- package/msg/gn.js +421 -421
- package/msg/gor.js +421 -421
- package/msg/ha.js +421 -421
- package/msg/hak.js +421 -421
- package/msg/he.js +421 -421
- package/msg/hi.js +421 -421
- package/msg/hr.js +421 -421
- package/msg/hrx.js +421 -421
- package/msg/hu.js +421 -421
- package/msg/hy.js +421 -421
- package/msg/ia.js +421 -421
- package/msg/id.js +421 -421
- package/msg/ig.js +421 -421
- package/msg/inh.js +421 -421
- package/msg/is.js +421 -421
- package/msg/it.js +421 -421
- package/msg/ja.js +421 -421
- package/msg/ka.js +421 -421
- package/msg/kab.js +421 -421
- package/msg/kbd-cyrl.js +421 -421
- package/msg/km.js +421 -421
- package/msg/kn.js +421 -421
- package/msg/ko.js +421 -421
- package/msg/ksh.js +421 -421
- package/msg/ku-latn.js +421 -421
- package/msg/ky.js +421 -421
- package/msg/la.js +421 -421
- package/msg/lb.js +421 -421
- package/msg/lki.js +421 -421
- package/msg/lo.js +421 -421
- package/msg/lrc.js +421 -421
- package/msg/lt.js +421 -421
- package/msg/lv.js +421 -421
- package/msg/mg.js +421 -421
- package/msg/mk.js +421 -421
- package/msg/ml.js +421 -421
- package/msg/mnw.js +421 -421
- package/msg/ms.js +421 -421
- package/msg/my.js +421 -421
- package/msg/mzn.js +421 -421
- package/msg/nb.js +421 -421
- package/msg/ne.js +421 -421
- package/msg/nl.js +421 -421
- package/msg/oc.js +421 -421
- package/msg/olo.js +421 -421
- package/msg/pa.js +421 -421
- package/msg/pl.js +421 -421
- package/msg/pms.js +421 -421
- package/msg/ps.js +421 -421
- package/msg/pt-br.js +421 -421
- package/msg/pt.js +421 -421
- package/msg/ro.js +421 -421
- package/msg/ru.js +421 -421
- package/msg/sc.js +421 -421
- package/msg/sco.js +421 -421
- package/msg/sd.js +421 -421
- package/msg/shn.js +421 -421
- package/msg/si.js +421 -421
- package/msg/sk.js +421 -421
- package/msg/skr-arab.js +421 -421
- package/msg/sl.js +421 -421
- package/msg/smn.js +421 -421
- package/msg/sq.js +421 -421
- package/msg/sr-latn.js +421 -421
- package/msg/sr.js +421 -421
- package/msg/sv.js +421 -421
- package/msg/sw.js +421 -421
- package/msg/ta.js +421 -421
- package/msg/tcy.js +421 -421
- package/msg/te.js +421 -421
- package/msg/th.js +421 -421
- package/msg/ti.js +421 -421
- package/msg/tl.js +421 -421
- package/msg/tlh.js +421 -421
- package/msg/tr.js +421 -421
- package/msg/ug-arab.js +421 -421
- package/msg/uk.js +421 -421
- package/msg/ur.js +421 -421
- package/msg/uz.js +421 -421
- package/msg/vi.js +421 -421
- package/msg/xmf.js +421 -421
- package/msg/yo.js +421 -421
- package/msg/yue.js +421 -421
- package/msg/zgh.js +421 -421
- package/msg/zh-hans.js +421 -421
- package/msg/zh-hant.js +421 -421
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/input.js +0 -335
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -293
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -7,75 +7,72 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Registers default keyboard shortcuts.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Registers default keyboard shortcuts.
|
|
14
13
|
* @namespace Blockly.ShortcutItems
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.ShortcutItems');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const {ShortcutRegistry} = goog.require('Blockly.ShortcutRegistry');
|
|
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';
|
|
27
26
|
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
29
|
* Object holding the names of the default shortcut items.
|
|
31
|
-
* @enum {string}
|
|
32
30
|
* @alias Blockly.ShortcutItems.names
|
|
33
31
|
*/
|
|
34
|
-
|
|
35
|
-
ESCAPE
|
|
36
|
-
DELETE
|
|
37
|
-
COPY
|
|
38
|
-
CUT
|
|
39
|
-
PASTE
|
|
40
|
-
UNDO
|
|
41
|
-
REDO
|
|
42
|
-
}
|
|
43
|
-
exports.names = names;
|
|
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
|
+
}
|
|
44
41
|
|
|
45
42
|
/**
|
|
46
43
|
* Keyboard shortcut to hide chaff on escape.
|
|
47
44
|
* @alias Blockly.ShortcutItems.registerEscape
|
|
48
45
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const escapeAction = {
|
|
46
|
+
export function registerEscape() {
|
|
47
|
+
const escapeAction: KeyboardShortcut = {
|
|
52
48
|
name: names.ESCAPE,
|
|
53
|
-
preconditionFn
|
|
49
|
+
preconditionFn(workspace) {
|
|
54
50
|
return !workspace.options.readOnly;
|
|
55
51
|
},
|
|
56
|
-
callback
|
|
57
|
-
|
|
52
|
+
callback(workspace) {
|
|
53
|
+
// AnyDuringMigration because: Property 'hideChaff' does not exist on
|
|
54
|
+
// type 'Workspace'.
|
|
55
|
+
(workspace as AnyDuringMigration).hideChaff();
|
|
58
56
|
return true;
|
|
59
57
|
},
|
|
58
|
+
keyCodes: [KeyCodes.ESC],
|
|
60
59
|
};
|
|
61
60
|
ShortcutRegistry.registry.register(escapeAction);
|
|
62
|
-
|
|
63
|
-
};
|
|
64
|
-
exports.registerEscape = registerEscape;
|
|
61
|
+
}
|
|
65
62
|
|
|
66
63
|
/**
|
|
67
64
|
* Keyboard shortcut to delete a block on delete or backspace
|
|
68
65
|
* @alias Blockly.ShortcutItems.registerDelete
|
|
69
66
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const deleteShortcut = {
|
|
67
|
+
export function registerDelete() {
|
|
68
|
+
const deleteShortcut: KeyboardShortcut = {
|
|
73
69
|
name: names.DELETE,
|
|
74
|
-
preconditionFn
|
|
70
|
+
preconditionFn(workspace) {
|
|
75
71
|
const selected = common.getSelected();
|
|
76
|
-
return !workspace.options.readOnly && selected &&
|
|
72
|
+
return !workspace.options.readOnly && selected != null &&
|
|
73
|
+
selected.isDeletable();
|
|
77
74
|
},
|
|
78
|
-
callback
|
|
75
|
+
callback(workspace, e) {
|
|
79
76
|
// Delete or backspace.
|
|
80
77
|
// Stop the browser from going back to the previous page.
|
|
81
78
|
// Do this first to prevent an error in the delete code from resulting in
|
|
@@ -85,210 +82,178 @@ const registerDelete = function() {
|
|
|
85
82
|
if (Gesture.inProgress()) {
|
|
86
83
|
return false;
|
|
87
84
|
}
|
|
88
|
-
(
|
|
85
|
+
(common.getSelected() as BlockSvg).checkAndDelete();
|
|
89
86
|
return true;
|
|
90
87
|
},
|
|
88
|
+
keyCodes: [KeyCodes.DELETE, KeyCodes.BACKSPACE],
|
|
91
89
|
};
|
|
92
90
|
ShortcutRegistry.registry.register(deleteShortcut);
|
|
93
|
-
|
|
94
|
-
ShortcutRegistry.registry.addKeyMapping(
|
|
95
|
-
KeyCodes.BACKSPACE, deleteShortcut.name);
|
|
96
|
-
};
|
|
97
|
-
exports.registerDelete = registerDelete;
|
|
91
|
+
}
|
|
98
92
|
|
|
99
93
|
/**
|
|
100
94
|
* Keyboard shortcut to copy a block on ctrl+c, cmd+c, or alt+c.
|
|
101
95
|
* @alias Blockly.ShortcutItems.registerCopy
|
|
102
96
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
106
|
name: names.COPY,
|
|
107
|
-
preconditionFn
|
|
107
|
+
preconditionFn(workspace) {
|
|
108
108
|
const selected = common.getSelected();
|
|
109
|
-
return !workspace.options.readOnly && !Gesture.inProgress() &&
|
|
110
|
-
selected.isDeletable() && selected.isMovable();
|
|
109
|
+
return !workspace.options.readOnly && !Gesture.inProgress() &&
|
|
110
|
+
selected != null && selected.isDeletable() && selected.isMovable();
|
|
111
111
|
},
|
|
112
|
-
callback
|
|
112
|
+
callback(workspace, e) {
|
|
113
113
|
// Prevent the default copy behavior, which may beep or otherwise indicate
|
|
114
114
|
// an error due to the lack of a selection.
|
|
115
115
|
e.preventDefault();
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
// AnyDuringMigration because: Property 'hideChaff' does not exist on
|
|
117
|
+
// type 'Workspace'.
|
|
118
|
+
(workspace as AnyDuringMigration).hideChaff();
|
|
119
|
+
clipboard.copy(common.getSelected() as ICopyable);
|
|
118
120
|
return true;
|
|
119
121
|
},
|
|
122
|
+
keyCodes: [ctrlC, altC, metaC],
|
|
120
123
|
};
|
|
121
124
|
ShortcutRegistry.registry.register(copyShortcut);
|
|
122
|
-
|
|
123
|
-
const ctrlC = ShortcutRegistry.registry.createSerializedKey(
|
|
124
|
-
KeyCodes.C, [KeyCodes.CTRL]);
|
|
125
|
-
ShortcutRegistry.registry.addKeyMapping(ctrlC, copyShortcut.name);
|
|
126
|
-
|
|
127
|
-
const altC =
|
|
128
|
-
ShortcutRegistry.registry.createSerializedKey(KeyCodes.C, [KeyCodes.ALT]);
|
|
129
|
-
ShortcutRegistry.registry.addKeyMapping(altC, copyShortcut.name);
|
|
130
|
-
|
|
131
|
-
const metaC = ShortcutRegistry.registry.createSerializedKey(
|
|
132
|
-
KeyCodes.C, [KeyCodes.META]);
|
|
133
|
-
ShortcutRegistry.registry.addKeyMapping(metaC, copyShortcut.name);
|
|
134
|
-
};
|
|
135
|
-
exports.registerCopy = registerCopy;
|
|
125
|
+
}
|
|
136
126
|
|
|
137
127
|
/**
|
|
138
128
|
* Keyboard shortcut to copy and delete a block on ctrl+x, cmd+x, or alt+x.
|
|
139
129
|
* @alias Blockly.ShortcutItems.registerCut
|
|
140
130
|
*/
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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 = {
|
|
144
140
|
name: names.CUT,
|
|
145
|
-
preconditionFn
|
|
141
|
+
preconditionFn(workspace) {
|
|
146
142
|
const selected = common.getSelected();
|
|
147
|
-
return !workspace.options.readOnly && !Gesture.inProgress() &&
|
|
143
|
+
return !workspace.options.readOnly && !Gesture.inProgress() &&
|
|
144
|
+
selected != null && selected instanceof BlockSvg &&
|
|
148
145
|
selected.isDeletable() && selected.isMovable() &&
|
|
149
|
-
!selected.workspace
|
|
146
|
+
!selected.workspace!.isFlyout;
|
|
150
147
|
},
|
|
151
|
-
callback
|
|
148
|
+
callback() {
|
|
152
149
|
const selected = common.getSelected();
|
|
153
150
|
if (!selected) {
|
|
154
151
|
// Shouldn't happen but appeases the type system
|
|
155
152
|
return false;
|
|
156
153
|
}
|
|
157
154
|
clipboard.copy(selected);
|
|
158
|
-
(
|
|
155
|
+
(selected as BlockSvg).checkAndDelete();
|
|
159
156
|
return true;
|
|
160
157
|
},
|
|
158
|
+
keyCodes: [ctrlX, altX, metaX],
|
|
161
159
|
};
|
|
162
160
|
|
|
163
161
|
ShortcutRegistry.registry.register(cutShortcut);
|
|
164
|
-
|
|
165
|
-
const ctrlX = ShortcutRegistry.registry.createSerializedKey(
|
|
166
|
-
KeyCodes.X, [KeyCodes.CTRL]);
|
|
167
|
-
ShortcutRegistry.registry.addKeyMapping(ctrlX, cutShortcut.name);
|
|
168
|
-
|
|
169
|
-
const altX =
|
|
170
|
-
ShortcutRegistry.registry.createSerializedKey(KeyCodes.X, [KeyCodes.ALT]);
|
|
171
|
-
ShortcutRegistry.registry.addKeyMapping(altX, cutShortcut.name);
|
|
172
|
-
|
|
173
|
-
const metaX = ShortcutRegistry.registry.createSerializedKey(
|
|
174
|
-
KeyCodes.X, [KeyCodes.META]);
|
|
175
|
-
ShortcutRegistry.registry.addKeyMapping(metaX, cutShortcut.name);
|
|
176
|
-
};
|
|
177
|
-
exports.registerCut = registerCut;
|
|
162
|
+
}
|
|
178
163
|
|
|
179
164
|
/**
|
|
180
165
|
* Keyboard shortcut to paste a block on ctrl+v, cmd+v, or alt+v.
|
|
181
166
|
* @alias Blockly.ShortcutItems.registerPaste
|
|
182
167
|
*/
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
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 = {
|
|
186
177
|
name: names.PASTE,
|
|
187
|
-
preconditionFn
|
|
178
|
+
preconditionFn(workspace) {
|
|
188
179
|
return !workspace.options.readOnly && !Gesture.inProgress();
|
|
189
180
|
},
|
|
190
|
-
callback
|
|
191
|
-
return clipboard.paste();
|
|
181
|
+
callback() {
|
|
182
|
+
return !!(clipboard.paste());
|
|
192
183
|
},
|
|
184
|
+
keyCodes: [ctrlV, altV, metaV],
|
|
193
185
|
};
|
|
194
186
|
|
|
195
187
|
ShortcutRegistry.registry.register(pasteShortcut);
|
|
196
|
-
|
|
197
|
-
const ctrlV = ShortcutRegistry.registry.createSerializedKey(
|
|
198
|
-
KeyCodes.V, [KeyCodes.CTRL]);
|
|
199
|
-
ShortcutRegistry.registry.addKeyMapping(ctrlV, pasteShortcut.name);
|
|
200
|
-
|
|
201
|
-
const altV =
|
|
202
|
-
ShortcutRegistry.registry.createSerializedKey(KeyCodes.V, [KeyCodes.ALT]);
|
|
203
|
-
ShortcutRegistry.registry.addKeyMapping(altV, pasteShortcut.name);
|
|
204
|
-
|
|
205
|
-
const metaV = ShortcutRegistry.registry.createSerializedKey(
|
|
206
|
-
KeyCodes.V, [KeyCodes.META]);
|
|
207
|
-
ShortcutRegistry.registry.addKeyMapping(metaV, pasteShortcut.name);
|
|
208
|
-
};
|
|
209
|
-
exports.registerPaste = registerPaste;
|
|
188
|
+
}
|
|
210
189
|
|
|
211
190
|
/**
|
|
212
191
|
* Keyboard shortcut to undo the previous action on ctrl+z, cmd+z, or alt+z.
|
|
213
192
|
* @alias Blockly.ShortcutItems.registerUndo
|
|
214
193
|
*/
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
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 = {
|
|
218
203
|
name: names.UNDO,
|
|
219
|
-
preconditionFn
|
|
204
|
+
preconditionFn(workspace) {
|
|
220
205
|
return !workspace.options.readOnly && !Gesture.inProgress();
|
|
221
206
|
},
|
|
222
|
-
callback
|
|
207
|
+
callback(workspace) {
|
|
223
208
|
// 'z' for undo 'Z' is for redo.
|
|
224
|
-
workspace.hideChaff();
|
|
209
|
+
(workspace as WorkspaceSvg).hideChaff();
|
|
225
210
|
workspace.undo(false);
|
|
226
211
|
return true;
|
|
227
212
|
},
|
|
213
|
+
keyCodes: [ctrlZ, altZ, metaZ],
|
|
228
214
|
};
|
|
229
215
|
ShortcutRegistry.registry.register(undoShortcut);
|
|
230
|
-
|
|
231
|
-
const ctrlZ = ShortcutRegistry.registry.createSerializedKey(
|
|
232
|
-
KeyCodes.Z, [KeyCodes.CTRL]);
|
|
233
|
-
ShortcutRegistry.registry.addKeyMapping(ctrlZ, undoShortcut.name);
|
|
234
|
-
|
|
235
|
-
const altZ =
|
|
236
|
-
ShortcutRegistry.registry.createSerializedKey(KeyCodes.Z, [KeyCodes.ALT]);
|
|
237
|
-
ShortcutRegistry.registry.addKeyMapping(altZ, undoShortcut.name);
|
|
238
|
-
|
|
239
|
-
const metaZ = ShortcutRegistry.registry.createSerializedKey(
|
|
240
|
-
KeyCodes.Z, [KeyCodes.META]);
|
|
241
|
-
ShortcutRegistry.registry.addKeyMapping(metaZ, undoShortcut.name);
|
|
242
|
-
};
|
|
243
|
-
exports.registerUndo = registerUndo;
|
|
216
|
+
}
|
|
244
217
|
|
|
245
218
|
/**
|
|
246
219
|
* Keyboard shortcut to redo the previous action on ctrl+shift+z, cmd+shift+z,
|
|
247
220
|
* or alt+shift+z.
|
|
248
221
|
* @alias Blockly.ShortcutItems.registerRedo
|
|
249
222
|
*/
|
|
250
|
-
|
|
251
|
-
/** @type {!ShortcutRegistry.KeyboardShortcut} */
|
|
252
|
-
const redoShortcut = {
|
|
253
|
-
name: names.REDO,
|
|
254
|
-
preconditionFn: function(workspace) {
|
|
255
|
-
return !Gesture.inProgress() && !workspace.options.readOnly;
|
|
256
|
-
},
|
|
257
|
-
callback: function(workspace) {
|
|
258
|
-
// 'z' for undo 'Z' is for redo.
|
|
259
|
-
workspace.hideChaff();
|
|
260
|
-
workspace.undo(true);
|
|
261
|
-
return true;
|
|
262
|
-
},
|
|
263
|
-
};
|
|
264
|
-
ShortcutRegistry.registry.register(redoShortcut);
|
|
265
|
-
|
|
223
|
+
export function registerRedo() {
|
|
266
224
|
const ctrlShiftZ = ShortcutRegistry.registry.createSerializedKey(
|
|
267
225
|
KeyCodes.Z, [KeyCodes.SHIFT, KeyCodes.CTRL]);
|
|
268
|
-
ShortcutRegistry.registry.addKeyMapping(ctrlShiftZ, redoShortcut.name);
|
|
269
|
-
|
|
270
226
|
const altShiftZ = ShortcutRegistry.registry.createSerializedKey(
|
|
271
227
|
KeyCodes.Z, [KeyCodes.SHIFT, KeyCodes.ALT]);
|
|
272
|
-
ShortcutRegistry.registry.addKeyMapping(altShiftZ, redoShortcut.name);
|
|
273
|
-
|
|
274
228
|
const metaShiftZ = ShortcutRegistry.registry.createSerializedKey(
|
|
275
229
|
KeyCodes.Z, [KeyCodes.SHIFT, KeyCodes.META]);
|
|
276
|
-
ShortcutRegistry.registry.addKeyMapping(metaShiftZ, redoShortcut.name);
|
|
277
|
-
|
|
278
230
|
// Ctrl-y is redo in Windows. Command-y is never valid on Macs.
|
|
279
231
|
const ctrlY = ShortcutRegistry.registry.createSerializedKey(
|
|
280
232
|
KeyCodes.Y, [KeyCodes.CTRL]);
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
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
|
+
}
|
|
284
249
|
|
|
285
250
|
/**
|
|
286
251
|
* Registers all default keyboard shortcut item. This should be called once per
|
|
287
252
|
* instance of KeyboardShortcutRegistry.
|
|
288
253
|
* @alias Blockly.ShortcutItems.registerDefaultShortcuts
|
|
289
|
-
* @
|
|
254
|
+
* @internal
|
|
290
255
|
*/
|
|
291
|
-
|
|
256
|
+
export function registerDefaultShortcuts() {
|
|
292
257
|
registerEscape();
|
|
293
258
|
registerDelete();
|
|
294
259
|
registerCopy();
|
|
@@ -296,7 +261,6 @@ const registerDefaultShortcuts = function() {
|
|
|
296
261
|
registerPaste();
|
|
297
262
|
registerUndo();
|
|
298
263
|
registerRedo();
|
|
299
|
-
}
|
|
300
|
-
exports.registerDefaultShortcuts = registerDefaultShortcuts;
|
|
264
|
+
}
|
|
301
265
|
|
|
302
266
|
registerDefaultShortcuts();
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2020 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { KeyCodes } from './utils/keycodes.js';
|
|
7
|
+
import type { Workspace } from './workspace.js';
|
|
8
|
+
/**
|
|
9
|
+
* Class for the registry of keyboard shortcuts. This is intended to be a
|
|
10
|
+
* singleton. You should not create a new instance, and only access this class
|
|
11
|
+
* from ShortcutRegistry.registry.
|
|
12
|
+
* @alias Blockly.ShortcutRegistry
|
|
13
|
+
*/
|
|
14
|
+
export declare class ShortcutRegistry {
|
|
15
|
+
static readonly registry: ShortcutRegistry;
|
|
16
|
+
/** Registry of all keyboard shortcuts, keyed by name of shortcut. */
|
|
17
|
+
private shortcuts;
|
|
18
|
+
/** Map of key codes to an array of shortcut names. */
|
|
19
|
+
private keyMap;
|
|
20
|
+
/** Resets the existing ShortcutRegistry singleton. */
|
|
21
|
+
private constructor();
|
|
22
|
+
/** Clear and recreate the registry and keyMap. */
|
|
23
|
+
reset(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Registers a keyboard shortcut.
|
|
26
|
+
* @param shortcut The shortcut for this key code.
|
|
27
|
+
* @param opt_allowOverrides True to prevent a warning when overriding an
|
|
28
|
+
* already registered item.
|
|
29
|
+
* @throws {Error} if a shortcut with the same name already exists.
|
|
30
|
+
*/
|
|
31
|
+
register(shortcut: KeyboardShortcut, opt_allowOverrides?: boolean): void;
|
|
32
|
+
/**
|
|
33
|
+
* Unregisters a keyboard shortcut registered with the given key code. This
|
|
34
|
+
* will also remove any key mappings that reference this shortcut.
|
|
35
|
+
* @param shortcutName The name of the shortcut to unregister.
|
|
36
|
+
* @return True if an item was unregistered, false otherwise.
|
|
37
|
+
*/
|
|
38
|
+
unregister(shortcutName: string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Adds a mapping between a keycode and a keyboard shortcut.
|
|
41
|
+
* @param keyCode The key code for the keyboard shortcut. If registering a key
|
|
42
|
+
* code with a modifier (ex: ctrl+c) use
|
|
43
|
+
* ShortcutRegistry.registry.createSerializedKey;
|
|
44
|
+
* @param shortcutName The name of the shortcut to execute when the given
|
|
45
|
+
* keycode is pressed.
|
|
46
|
+
* @param opt_allowCollision True to prevent an error when adding a shortcut
|
|
47
|
+
* to a key that is already mapped to a shortcut.
|
|
48
|
+
* @throws {Error} if the given key code is already mapped to a shortcut.
|
|
49
|
+
*/
|
|
50
|
+
addKeyMapping(keyCode: string | number | KeyCodes, shortcutName: string, opt_allowCollision?: boolean): void;
|
|
51
|
+
/**
|
|
52
|
+
* Removes a mapping between a keycode and a keyboard shortcut.
|
|
53
|
+
* @param keyCode The key code for the keyboard shortcut. If registering a key
|
|
54
|
+
* code with a modifier (ex: ctrl+c) use
|
|
55
|
+
* ShortcutRegistry.registry.createSerializedKey;
|
|
56
|
+
* @param shortcutName The name of the shortcut to execute when the given
|
|
57
|
+
* keycode is pressed.
|
|
58
|
+
* @param opt_quiet True to not console warn when there is no shortcut to
|
|
59
|
+
* remove.
|
|
60
|
+
* @return True if a key mapping was removed, false otherwise.
|
|
61
|
+
*/
|
|
62
|
+
removeKeyMapping(keyCode: string, shortcutName: string, opt_quiet?: boolean): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Removes all the key mappings for a shortcut with the given name.
|
|
65
|
+
* Useful when changing the default key mappings and the key codes registered
|
|
66
|
+
* to the shortcut are unknown.
|
|
67
|
+
* @param shortcutName The name of the shortcut to remove from the key map.
|
|
68
|
+
*/
|
|
69
|
+
removeAllKeyMappings(shortcutName: string): void;
|
|
70
|
+
/**
|
|
71
|
+
* Sets the key map. Setting the key map will override any default key
|
|
72
|
+
* mappings.
|
|
73
|
+
* @param newKeyMap The object with key code to shortcut names.
|
|
74
|
+
*/
|
|
75
|
+
setKeyMap(newKeyMap: {
|
|
76
|
+
[key: string]: string[];
|
|
77
|
+
}): void;
|
|
78
|
+
/**
|
|
79
|
+
* Gets the current key map.
|
|
80
|
+
* @return The object holding key codes to ShortcutRegistry.KeyboardShortcut.
|
|
81
|
+
*/
|
|
82
|
+
getKeyMap(): {
|
|
83
|
+
[key: string]: string[];
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Gets the registry of keyboard shortcuts.
|
|
87
|
+
* @return The registry of keyboard shortcuts.
|
|
88
|
+
*/
|
|
89
|
+
getRegistry(): {
|
|
90
|
+
[key: string]: KeyboardShortcut;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Handles key down events.
|
|
94
|
+
* @param workspace The main workspace where the event was captured.
|
|
95
|
+
* @param e The key down event.
|
|
96
|
+
* @return True if the event was handled, false otherwise.
|
|
97
|
+
*/
|
|
98
|
+
onKeyDown(workspace: Workspace, e: KeyboardEvent): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Gets the shortcuts registered to the given key code.
|
|
101
|
+
* @param keyCode The serialized key code.
|
|
102
|
+
* @return The list of shortcuts to call when the given keyCode is used.
|
|
103
|
+
* Undefined if no shortcuts exist.
|
|
104
|
+
*/
|
|
105
|
+
getShortcutNamesByKeyCode(keyCode: string): string[] | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* Gets the serialized key codes that the shortcut with the given name is
|
|
108
|
+
* registered under.
|
|
109
|
+
* @param shortcutName The name of the shortcut.
|
|
110
|
+
* @return An array with all the key codes the shortcut is registered under.
|
|
111
|
+
*/
|
|
112
|
+
getKeyCodesByShortcutName(shortcutName: string): string[];
|
|
113
|
+
/**
|
|
114
|
+
* Serializes a key event.
|
|
115
|
+
* @param e A key down event.
|
|
116
|
+
* @return The serialized key code for the given event.
|
|
117
|
+
*/
|
|
118
|
+
private serializeKeyEvent_;
|
|
119
|
+
/**
|
|
120
|
+
* Checks whether any of the given modifiers are not valid.
|
|
121
|
+
* @param modifiers List of modifiers to be used with the key.
|
|
122
|
+
* @throws {Error} if the modifier is not in the valid modifiers list.
|
|
123
|
+
*/
|
|
124
|
+
private checkModifiers_;
|
|
125
|
+
/**
|
|
126
|
+
* Creates the serialized key code that will be used in the key map.
|
|
127
|
+
* @param keyCode Number code representing the key.
|
|
128
|
+
* @param modifiers List of modifier key codes to be used with the key. All
|
|
129
|
+
* valid modifiers can be found in the ShortcutRegistry.modifierKeys.
|
|
130
|
+
* @return The serialized key code for the given modifiers and key.
|
|
131
|
+
*/
|
|
132
|
+
createSerializedKey(keyCode: number, modifiers: KeyCodes[] | null): string;
|
|
133
|
+
}
|
|
134
|
+
export declare namespace ShortcutRegistry {
|
|
135
|
+
interface KeyboardShortcut {
|
|
136
|
+
callback?: ((p1: Workspace, p2: Event, p3: KeyboardShortcut) => boolean);
|
|
137
|
+
name: string;
|
|
138
|
+
preconditionFn?: ((p1: Workspace) => boolean);
|
|
139
|
+
metadata?: object;
|
|
140
|
+
keyCodes?: (number | string)[];
|
|
141
|
+
allowCollision?: boolean;
|
|
142
|
+
}
|
|
143
|
+
/** Supported modifiers. */
|
|
144
|
+
enum modifierKeys {
|
|
145
|
+
Shift = 16,
|
|
146
|
+
Control = 17,
|
|
147
|
+
Alt = 18,
|
|
148
|
+
Meta = 91
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
export declare type KeyboardShortcut = ShortcutRegistry.KeyboardShortcut;
|