blockly 8.0.4 → 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 +420 -420
- package/msg/ace.js +420 -420
- package/msg/af.js +420 -420
- package/msg/am.js +420 -420
- package/msg/ar.js +420 -420
- package/msg/ast.js +420 -420
- package/msg/az.js +420 -420
- package/msg/ba.js +420 -420
- package/msg/bcc.js +420 -420
- package/msg/be-tarask.js +420 -420
- package/msg/be.js +420 -420
- package/msg/bg.js +420 -420
- package/msg/bn.js +420 -420
- package/msg/br.js +420 -420
- package/msg/bs.js +420 -420
- package/msg/ca.js +420 -420
- package/msg/cdo.js +420 -420
- package/msg/cs.js +420 -420
- package/msg/da.js +420 -420
- package/msg/de.js +420 -420
- package/msg/diq.js +420 -420
- package/msg/dty.js +420 -420
- package/msg/ee.js +420 -420
- package/msg/el.js +420 -420
- package/msg/en-gb.js +420 -420
- package/msg/en.js +420 -420
- package/msg/eo.js +420 -420
- package/msg/es.js +420 -420
- package/msg/et.js +420 -420
- package/msg/eu.js +420 -420
- package/msg/fa.js +420 -420
- package/msg/fi.js +420 -420
- package/msg/fo.js +420 -420
- package/msg/fr.js +420 -420
- package/msg/frr.js +420 -420
- package/msg/gl.js +420 -420
- package/msg/gn.js +420 -420
- package/msg/gor.js +420 -420
- package/msg/ha.js +420 -420
- package/msg/hak.js +420 -420
- package/msg/he.js +420 -420
- package/msg/hi.js +420 -420
- package/msg/hr.js +420 -420
- package/msg/hrx.js +420 -420
- package/msg/hu.js +420 -420
- package/msg/hy.js +420 -420
- package/msg/ia.js +420 -420
- package/msg/id.js +420 -420
- package/msg/ig.js +420 -420
- package/msg/inh.js +420 -420
- package/msg/is.js +420 -420
- package/msg/it.js +420 -420
- package/msg/ja.js +420 -420
- package/msg/ka.js +420 -420
- package/msg/kab.js +420 -420
- package/msg/kbd-cyrl.js +420 -420
- package/msg/km.js +420 -420
- package/msg/kn.js +420 -420
- package/msg/ko.js +420 -420
- package/msg/ksh.js +420 -420
- package/msg/ku-latn.js +420 -420
- package/msg/ky.js +420 -420
- package/msg/la.js +420 -420
- package/msg/lb.js +420 -420
- package/msg/lki.js +420 -420
- package/msg/lo.js +420 -420
- package/msg/lrc.js +420 -420
- package/msg/lt.js +420 -420
- package/msg/lv.js +420 -420
- package/msg/mg.js +420 -420
- package/msg/mk.js +420 -420
- package/msg/ml.js +420 -420
- package/msg/mnw.js +420 -420
- package/msg/ms.js +420 -420
- package/msg/my.js +420 -420
- package/msg/mzn.js +420 -420
- package/msg/nb.js +420 -420
- package/msg/ne.js +420 -420
- package/msg/nl.js +420 -420
- package/msg/oc.js +420 -420
- package/msg/olo.js +420 -420
- package/msg/pa.js +420 -420
- package/msg/pl.js +420 -420
- package/msg/pms.js +420 -420
- package/msg/ps.js +420 -420
- package/msg/pt-br.js +420 -420
- package/msg/pt.js +420 -420
- package/msg/ro.js +420 -420
- package/msg/ru.js +420 -420
- package/msg/sc.js +420 -420
- package/msg/sco.js +420 -420
- package/msg/sd.js +420 -420
- package/msg/shn.js +420 -420
- package/msg/si.js +420 -420
- package/msg/sk.js +420 -420
- package/msg/skr-arab.js +420 -420
- package/msg/sl.js +420 -420
- package/msg/smn.js +420 -420
- package/msg/sq.js +420 -420
- package/msg/sr-latn.js +420 -420
- package/msg/sr.js +420 -420
- package/msg/sv.js +420 -420
- package/msg/sw.js +420 -420
- package/msg/ta.js +420 -420
- package/msg/tcy.js +420 -420
- package/msg/te.js +420 -420
- package/msg/th.js +420 -420
- package/msg/ti.js +420 -420
- package/msg/tl.js +420 -420
- package/msg/tlh.js +420 -420
- package/msg/tr.js +420 -420
- package/msg/ug-arab.js +420 -420
- package/msg/uk.js +420 -420
- package/msg/ur.js +420 -420
- package/msg/uz.js +420 -420
- package/msg/vi.js +420 -420
- package/msg/xmf.js +420 -420
- package/msg/yo.js +420 -420
- package/msg/yue.js +420 -420
- package/msg/zgh.js +420 -420
- package/msg/zh-hans.js +420 -420
- package/msg/zh-hant.js +420 -420
- 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
package/core/{menu.js → menu.ts}
RENAMED
|
@@ -7,126 +7,88 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Blockly menu similar to Closure's goog.ui.Menu
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Blockly menu similar to Closure's goog.ui.Menu
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.Menu');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
27
|
-
const {Size} = goog.requireType('Blockly.utils.Size');
|
|
18
|
+
import * as browserEvents from './browser_events.js';
|
|
19
|
+
import type {MenuItem} from './menuitem.js';
|
|
20
|
+
import * as aria from './utils/aria.js';
|
|
21
|
+
import {Coordinate} from './utils/coordinate.js';
|
|
22
|
+
import * as dom from './utils/dom.js';
|
|
23
|
+
import {KeyCodes} from './utils/keycodes.js';
|
|
24
|
+
import type {Size} from './utils/size.js';
|
|
25
|
+
import * as style from './utils/style.js';
|
|
28
26
|
|
|
29
27
|
|
|
30
28
|
/**
|
|
31
29
|
* A basic menu class.
|
|
32
30
|
* @alias Blockly.Menu
|
|
33
31
|
*/
|
|
34
|
-
|
|
32
|
+
export class Menu {
|
|
35
33
|
/**
|
|
36
|
-
*
|
|
34
|
+
* Array of menu items.
|
|
35
|
+
* (Nulls are never in the array, but typing the array as nullable prevents
|
|
36
|
+
* the compiler from objecting to .indexOf(null))
|
|
37
37
|
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Array of menu items.
|
|
41
|
-
* (Nulls are never in the array, but typing the array as nullable prevents
|
|
42
|
-
* the compiler from objecting to .indexOf(null))
|
|
43
|
-
* @type {!Array<MenuItem>}
|
|
44
|
-
* @private
|
|
45
|
-
*/
|
|
46
|
-
this.menuItems_ = [];
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Coordinates of the mousedown event that caused this menu to open. Used to
|
|
50
|
-
* prevent the consequent mouseup event due to a simple click from
|
|
51
|
-
* activating a menu item immediately.
|
|
52
|
-
* @type {?Coordinate}
|
|
53
|
-
* @package
|
|
54
|
-
*/
|
|
55
|
-
this.openingCoords = null;
|
|
38
|
+
private readonly menuItems_: MenuItem[] = [];
|
|
56
39
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
this.highlightedItem_ = null;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Mouse over event data.
|
|
67
|
-
* @type {?browserEvents.Data}
|
|
68
|
-
* @private
|
|
69
|
-
*/
|
|
70
|
-
this.mouseOverHandler_ = null;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Click event data.
|
|
74
|
-
* @type {?browserEvents.Data}
|
|
75
|
-
* @private
|
|
76
|
-
*/
|
|
77
|
-
this.clickHandler_ = null;
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Mouse enter event data.
|
|
81
|
-
* @type {?browserEvents.Data}
|
|
82
|
-
* @private
|
|
83
|
-
*/
|
|
84
|
-
this.mouseEnterHandler_ = null;
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Mouse leave event data.
|
|
88
|
-
* @type {?browserEvents.Data}
|
|
89
|
-
* @private
|
|
90
|
-
*/
|
|
91
|
-
this.mouseLeaveHandler_ = null;
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Key down event data.
|
|
95
|
-
* @type {?browserEvents.Data}
|
|
96
|
-
* @private
|
|
97
|
-
*/
|
|
98
|
-
this.onKeyDownHandler_ = null;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* The menu's root DOM element.
|
|
102
|
-
* @type {?HTMLDivElement}
|
|
103
|
-
* @private
|
|
104
|
-
*/
|
|
105
|
-
this.element_ = null;
|
|
40
|
+
/**
|
|
41
|
+
* Coordinates of the mousedown event that caused this menu to open. Used to
|
|
42
|
+
* prevent the consequent mouseup event due to a simple click from
|
|
43
|
+
* activating a menu item immediately.
|
|
44
|
+
*/
|
|
45
|
+
openingCoords: Coordinate|null = null;
|
|
106
46
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
47
|
+
/**
|
|
48
|
+
* This is the element that we will listen to the real focus events on.
|
|
49
|
+
* A value of null means no menu item is highlighted.
|
|
50
|
+
*/
|
|
51
|
+
private highlightedItem_: MenuItem|null = null;
|
|
52
|
+
|
|
53
|
+
/** Mouse over event data. */
|
|
54
|
+
private mouseOverHandler_: browserEvents.Data|null = null;
|
|
55
|
+
|
|
56
|
+
/** Click event data. */
|
|
57
|
+
private clickHandler_: browserEvents.Data|null = null;
|
|
58
|
+
|
|
59
|
+
/** Mouse enter event data. */
|
|
60
|
+
private mouseEnterHandler_: browserEvents.Data|null = null;
|
|
61
|
+
|
|
62
|
+
/** Mouse leave event data. */
|
|
63
|
+
private mouseLeaveHandler_: browserEvents.Data|null = null;
|
|
64
|
+
|
|
65
|
+
/** Key down event data. */
|
|
66
|
+
private onKeyDownHandler_: browserEvents.Data|null = null;
|
|
67
|
+
|
|
68
|
+
/** The menu's root DOM element. */
|
|
69
|
+
private element_: HTMLDivElement|null = null;
|
|
70
|
+
|
|
71
|
+
/** ARIA name for this menu. */
|
|
72
|
+
private roleName_: aria.Role|null = null;
|
|
73
|
+
|
|
74
|
+
/** Constructs a new Menu instance. */
|
|
75
|
+
constructor() {}
|
|
114
76
|
|
|
115
77
|
/**
|
|
116
78
|
* Add a new menu item to the bottom of this menu.
|
|
117
|
-
* @param
|
|
79
|
+
* @param menuItem Menu item to append.
|
|
80
|
+
* @internal
|
|
118
81
|
*/
|
|
119
|
-
addChild(menuItem) {
|
|
82
|
+
addChild(menuItem: MenuItem) {
|
|
120
83
|
this.menuItems_.push(menuItem);
|
|
121
84
|
}
|
|
122
85
|
|
|
123
86
|
/**
|
|
124
87
|
* Creates the menu DOM.
|
|
125
|
-
* @param
|
|
88
|
+
* @param container Element upon which to append this menu.
|
|
126
89
|
*/
|
|
127
|
-
render(container) {
|
|
128
|
-
const element =
|
|
129
|
-
/** @type {!HTMLDivElement} */ (document.createElement('div'));
|
|
90
|
+
render(container: Element) {
|
|
91
|
+
const element = (document.createElement('div'));
|
|
130
92
|
// goog-menu is deprecated, use blocklyMenu. May 2020.
|
|
131
93
|
element.className = 'blocklyMenu goog-menu blocklyNonSelectable';
|
|
132
94
|
element.tabIndex = 0;
|
|
@@ -136,7 +98,7 @@ const Menu = class {
|
|
|
136
98
|
this.element_ = element;
|
|
137
99
|
|
|
138
100
|
// Add menu items.
|
|
139
|
-
for (let i = 0, menuItem;
|
|
101
|
+
for (let i = 0, menuItem; menuItem = this.menuItems_[i]; i++) {
|
|
140
102
|
element.appendChild(menuItem.createDom());
|
|
141
103
|
}
|
|
142
104
|
|
|
@@ -157,49 +119,48 @@ const Menu = class {
|
|
|
157
119
|
|
|
158
120
|
/**
|
|
159
121
|
* Gets the menu's element.
|
|
160
|
-
* @return
|
|
161
|
-
* @
|
|
122
|
+
* @return The DOM element.
|
|
123
|
+
* @internal
|
|
162
124
|
*/
|
|
163
|
-
getElement() {
|
|
125
|
+
getElement(): Element|null {
|
|
164
126
|
return this.element_;
|
|
165
127
|
}
|
|
166
128
|
|
|
167
129
|
/**
|
|
168
130
|
* Focus the menu element.
|
|
169
|
-
* @
|
|
131
|
+
* @internal
|
|
170
132
|
*/
|
|
171
133
|
focus() {
|
|
172
134
|
const el = this.getElement();
|
|
173
135
|
if (el) {
|
|
174
|
-
|
|
136
|
+
// AnyDuringMigration because: Property 'focus' does not exist on type
|
|
137
|
+
// 'Element'.
|
|
138
|
+
(el as AnyDuringMigration).focus({preventScroll: true});
|
|
175
139
|
dom.addClass(el, 'blocklyFocused');
|
|
176
140
|
}
|
|
177
141
|
}
|
|
178
142
|
|
|
179
|
-
/**
|
|
180
|
-
|
|
181
|
-
* @private
|
|
182
|
-
*/
|
|
183
|
-
blur_() {
|
|
143
|
+
/** Blur the menu element. */
|
|
144
|
+
private blur_() {
|
|
184
145
|
const el = this.getElement();
|
|
185
146
|
if (el) {
|
|
186
|
-
|
|
147
|
+
// AnyDuringMigration because: Property 'blur' does not exist on type
|
|
148
|
+
// 'Element'.
|
|
149
|
+
(el as AnyDuringMigration).blur();
|
|
187
150
|
dom.removeClass(el, 'blocklyFocused');
|
|
188
151
|
}
|
|
189
152
|
}
|
|
190
153
|
|
|
191
154
|
/**
|
|
192
155
|
* Set the menu accessibility role.
|
|
193
|
-
* @param
|
|
194
|
-
* @
|
|
156
|
+
* @param roleName role name.
|
|
157
|
+
* @internal
|
|
195
158
|
*/
|
|
196
|
-
setRole(roleName) {
|
|
159
|
+
setRole(roleName: aria.Role) {
|
|
197
160
|
this.roleName_ = roleName;
|
|
198
161
|
}
|
|
199
162
|
|
|
200
|
-
/**
|
|
201
|
-
* Dispose of this menu.
|
|
202
|
-
*/
|
|
163
|
+
/** Dispose of this menu. */
|
|
203
164
|
dispose() {
|
|
204
165
|
// Remove event handlers.
|
|
205
166
|
if (this.mouseOverHandler_) {
|
|
@@ -224,7 +185,7 @@ const Menu = class {
|
|
|
224
185
|
}
|
|
225
186
|
|
|
226
187
|
// Remove menu items.
|
|
227
|
-
for (let i = 0, menuItem;
|
|
188
|
+
for (let i = 0, menuItem; menuItem = this.menuItems_[i]; i++) {
|
|
228
189
|
menuItem.dispose();
|
|
229
190
|
}
|
|
230
191
|
this.element_ = null;
|
|
@@ -235,11 +196,10 @@ const Menu = class {
|
|
|
235
196
|
/**
|
|
236
197
|
* Returns the child menu item that owns the given DOM element,
|
|
237
198
|
* or null if no such menu item is found.
|
|
238
|
-
* @param
|
|
239
|
-
* @return
|
|
240
|
-
* @private
|
|
199
|
+
* @param elem DOM element whose owner is to be returned.
|
|
200
|
+
* @return Menu item for which the DOM element belongs to.
|
|
241
201
|
*/
|
|
242
|
-
getMenuItem_(elem) {
|
|
202
|
+
private getMenuItem_(elem: Element): MenuItem|null {
|
|
243
203
|
const menuElem = this.getElement();
|
|
244
204
|
// Node might be the menu border (resulting in no associated menu item), or
|
|
245
205
|
// a menu item's div, or some element within the menu item.
|
|
@@ -248,13 +208,15 @@ const Menu = class {
|
|
|
248
208
|
while (elem && elem !== menuElem) {
|
|
249
209
|
if (dom.hasClass(elem, 'blocklyMenuItem')) {
|
|
250
210
|
// Having found a menu item's div, locate that menu item in this menu.
|
|
251
|
-
for (let i = 0, menuItem;
|
|
211
|
+
for (let i = 0, menuItem; menuItem = this.menuItems_[i]; i++) {
|
|
252
212
|
if (menuItem.getElement() === elem) {
|
|
253
213
|
return menuItem;
|
|
254
214
|
}
|
|
255
215
|
}
|
|
256
216
|
}
|
|
257
|
-
|
|
217
|
+
// AnyDuringMigration because: Type 'HTMLElement | null' is not
|
|
218
|
+
// assignable to type 'Element'.
|
|
219
|
+
elem = elem.parentElement as AnyDuringMigration;
|
|
258
220
|
}
|
|
259
221
|
return null;
|
|
260
222
|
}
|
|
@@ -263,10 +225,10 @@ const Menu = class {
|
|
|
263
225
|
|
|
264
226
|
/**
|
|
265
227
|
* Highlights the given menu item, or clears highlighting if null.
|
|
266
|
-
* @param
|
|
267
|
-
* @
|
|
228
|
+
* @param item Item to highlight, or null.
|
|
229
|
+
* @internal
|
|
268
230
|
*/
|
|
269
|
-
setHighlighted(item) {
|
|
231
|
+
setHighlighted(item: MenuItem|null) {
|
|
270
232
|
const currentHighlighted = this.highlightedItem_;
|
|
271
233
|
if (currentHighlighted) {
|
|
272
234
|
currentHighlighted.setHighlighted(false);
|
|
@@ -277,9 +239,8 @@ const Menu = class {
|
|
|
277
239
|
this.highlightedItem_ = item;
|
|
278
240
|
// Bring the highlighted item into view. This has no effect if the menu is
|
|
279
241
|
// not scrollable.
|
|
280
|
-
const el =
|
|
281
|
-
style.scrollIntoContainerView(
|
|
282
|
-
/** @type {!Element} */ (item.getElement()), el);
|
|
242
|
+
const el = this.getElement() as Element;
|
|
243
|
+
style.scrollIntoContainerView(item.getElement() as Element, el);
|
|
283
244
|
|
|
284
245
|
aria.setState(el, aria.State.ACTIVEDESCENDANT, item.getId());
|
|
285
246
|
}
|
|
@@ -288,50 +249,49 @@ const Menu = class {
|
|
|
288
249
|
/**
|
|
289
250
|
* Highlights the next highlightable item (or the first if nothing is
|
|
290
251
|
* currently highlighted).
|
|
291
|
-
* @
|
|
252
|
+
* @internal
|
|
292
253
|
*/
|
|
293
254
|
highlightNext() {
|
|
294
|
-
|
|
255
|
+
// AnyDuringMigration because: Argument of type 'MenuItem | null' is not
|
|
256
|
+
// assignable to parameter of type 'MenuItem'.
|
|
257
|
+
const index =
|
|
258
|
+
this.menuItems_.indexOf(this.highlightedItem_ as AnyDuringMigration);
|
|
295
259
|
this.highlightHelper_(index, 1);
|
|
296
260
|
}
|
|
297
261
|
|
|
298
262
|
/**
|
|
299
263
|
* Highlights the previous highlightable item (or the last if nothing is
|
|
300
264
|
* currently highlighted).
|
|
301
|
-
* @
|
|
265
|
+
* @internal
|
|
302
266
|
*/
|
|
303
267
|
highlightPrevious() {
|
|
304
|
-
|
|
268
|
+
// AnyDuringMigration because: Argument of type 'MenuItem | null' is not
|
|
269
|
+
// assignable to parameter of type 'MenuItem'.
|
|
270
|
+
const index =
|
|
271
|
+
this.menuItems_.indexOf(this.highlightedItem_ as AnyDuringMigration);
|
|
305
272
|
this.highlightHelper_(index < 0 ? this.menuItems_.length : index, -1);
|
|
306
273
|
}
|
|
307
274
|
|
|
308
|
-
/**
|
|
309
|
-
|
|
310
|
-
* @private
|
|
311
|
-
*/
|
|
312
|
-
highlightFirst_() {
|
|
275
|
+
/** Highlights the first highlightable item. */
|
|
276
|
+
private highlightFirst_() {
|
|
313
277
|
this.highlightHelper_(-1, 1);
|
|
314
278
|
}
|
|
315
279
|
|
|
316
|
-
/**
|
|
317
|
-
|
|
318
|
-
* @private
|
|
319
|
-
*/
|
|
320
|
-
highlightLast_() {
|
|
280
|
+
/** Highlights the last highlightable item. */
|
|
281
|
+
private highlightLast_() {
|
|
321
282
|
this.highlightHelper_(this.menuItems_.length, -1);
|
|
322
283
|
}
|
|
323
284
|
|
|
324
285
|
/**
|
|
325
286
|
* Helper function that manages the details of moving the highlight among
|
|
326
287
|
* child menuitems in response to keyboard events.
|
|
327
|
-
* @param
|
|
328
|
-
* @param
|
|
329
|
-
* @private
|
|
288
|
+
* @param startIndex Start index.
|
|
289
|
+
* @param delta Step direction: 1 to go down, -1 to go up.
|
|
330
290
|
*/
|
|
331
|
-
highlightHelper_(startIndex, delta) {
|
|
291
|
+
private highlightHelper_(startIndex: number, delta: number) {
|
|
332
292
|
let index = startIndex + delta;
|
|
333
293
|
let menuItem;
|
|
334
|
-
while (
|
|
294
|
+
while (menuItem = this.menuItems_[index]) {
|
|
335
295
|
if (menuItem.isEnabled()) {
|
|
336
296
|
this.setHighlighted(menuItem);
|
|
337
297
|
break;
|
|
@@ -344,11 +304,10 @@ const Menu = class {
|
|
|
344
304
|
|
|
345
305
|
/**
|
|
346
306
|
* Handles mouseover events. Highlight menuitems as the user hovers over them.
|
|
347
|
-
* @param
|
|
348
|
-
* @private
|
|
307
|
+
* @param e Mouse event to handle.
|
|
349
308
|
*/
|
|
350
|
-
handleMouseOver_(e) {
|
|
351
|
-
const menuItem = this.getMenuItem_(
|
|
309
|
+
private handleMouseOver_(e: Event) {
|
|
310
|
+
const menuItem = this.getMenuItem_(e.target as Element);
|
|
352
311
|
|
|
353
312
|
if (menuItem) {
|
|
354
313
|
if (menuItem.isEnabled()) {
|
|
@@ -363,15 +322,20 @@ const Menu = class {
|
|
|
363
322
|
|
|
364
323
|
/**
|
|
365
324
|
* Handles click events. Pass the event onto the child menuitem to handle.
|
|
366
|
-
* @param
|
|
367
|
-
* @private
|
|
325
|
+
* @param e Click event to handle.
|
|
368
326
|
*/
|
|
369
|
-
handleClick_(e) {
|
|
327
|
+
private handleClick_(e: Event) {
|
|
370
328
|
const oldCoords = this.openingCoords;
|
|
371
329
|
// Clear out the saved opening coords immediately so they're not used twice.
|
|
372
330
|
this.openingCoords = null;
|
|
373
|
-
|
|
374
|
-
|
|
331
|
+
// AnyDuringMigration because: Property 'clientX' does not exist on type
|
|
332
|
+
// 'Event'.
|
|
333
|
+
if (oldCoords && typeof (e as AnyDuringMigration).clientX === 'number') {
|
|
334
|
+
// AnyDuringMigration because: Property 'clientY' does not exist on type
|
|
335
|
+
// 'Event'. AnyDuringMigration because: Property 'clientX' does not exist
|
|
336
|
+
// on type 'Event'.
|
|
337
|
+
const newCoords = new Coordinate(
|
|
338
|
+
(e as AnyDuringMigration).clientX, (e as AnyDuringMigration).clientY);
|
|
375
339
|
if (Coordinate.distance(oldCoords, newCoords) < 1) {
|
|
376
340
|
// This menu was opened by a mousedown and we're handling the consequent
|
|
377
341
|
// click event. The coords haven't changed, meaning this was the same
|
|
@@ -382,7 +346,7 @@ const Menu = class {
|
|
|
382
346
|
}
|
|
383
347
|
}
|
|
384
348
|
|
|
385
|
-
const menuItem = this.getMenuItem_(
|
|
349
|
+
const menuItem = this.getMenuItem_(e.target as Element);
|
|
386
350
|
if (menuItem) {
|
|
387
351
|
menuItem.performAction();
|
|
388
352
|
}
|
|
@@ -390,19 +354,17 @@ const Menu = class {
|
|
|
390
354
|
|
|
391
355
|
/**
|
|
392
356
|
* Handles mouse enter events. Focus the element.
|
|
393
|
-
* @param
|
|
394
|
-
* @private
|
|
357
|
+
* @param _e Mouse event to handle.
|
|
395
358
|
*/
|
|
396
|
-
handleMouseEnter_(_e) {
|
|
359
|
+
private handleMouseEnter_(_e: Event) {
|
|
397
360
|
this.focus();
|
|
398
361
|
}
|
|
399
362
|
|
|
400
363
|
/**
|
|
401
364
|
* Handles mouse leave events. Blur and clear highlight.
|
|
402
|
-
* @param
|
|
403
|
-
* @private
|
|
365
|
+
* @param _e Mouse event to handle.
|
|
404
366
|
*/
|
|
405
|
-
handleMouseLeave_(_e) {
|
|
367
|
+
private handleMouseLeave_(_e: Event) {
|
|
406
368
|
if (this.getElement()) {
|
|
407
369
|
this.blur_();
|
|
408
370
|
this.setHighlighted(null);
|
|
@@ -415,21 +377,29 @@ const Menu = class {
|
|
|
415
377
|
* Attempts to handle a keyboard event, if the menu item is enabled, by
|
|
416
378
|
* calling
|
|
417
379
|
* {@link handleKeyEventInternal_}.
|
|
418
|
-
* @param
|
|
419
|
-
* @private
|
|
380
|
+
* @param e Key event to handle.
|
|
420
381
|
*/
|
|
421
|
-
handleKeyEvent_(e) {
|
|
382
|
+
private handleKeyEvent_(e: Event) {
|
|
422
383
|
if (!this.menuItems_.length) {
|
|
423
384
|
// Empty menu.
|
|
424
385
|
return;
|
|
425
386
|
}
|
|
426
|
-
|
|
387
|
+
// AnyDuringMigration because: Property 'altKey' does not exist on type
|
|
388
|
+
// 'Event'. AnyDuringMigration because: Property 'metaKey' does not exist
|
|
389
|
+
// on type 'Event'. AnyDuringMigration because: Property 'ctrlKey' does not
|
|
390
|
+
// exist on type 'Event'. AnyDuringMigration because: Property 'shiftKey'
|
|
391
|
+
// does not exist on type 'Event'.
|
|
392
|
+
if ((e as AnyDuringMigration).shiftKey ||
|
|
393
|
+
(e as AnyDuringMigration).ctrlKey ||
|
|
394
|
+
(e as AnyDuringMigration).metaKey || (e as AnyDuringMigration).altKey) {
|
|
427
395
|
// Do not handle the key event if any modifier key is pressed.
|
|
428
396
|
return;
|
|
429
397
|
}
|
|
430
398
|
|
|
431
399
|
const highlighted = this.highlightedItem_;
|
|
432
|
-
|
|
400
|
+
// AnyDuringMigration because: Property 'keyCode' does not exist on type
|
|
401
|
+
// 'Event'.
|
|
402
|
+
switch ((e as AnyDuringMigration).keyCode) {
|
|
433
403
|
case KeyCodes.ENTER:
|
|
434
404
|
case KeyCodes.SPACE:
|
|
435
405
|
if (highlighted) {
|
|
@@ -466,17 +436,14 @@ const Menu = class {
|
|
|
466
436
|
|
|
467
437
|
/**
|
|
468
438
|
* Get the size of a rendered menu.
|
|
469
|
-
* @return
|
|
470
|
-
* @
|
|
439
|
+
* @return Object with width and height properties.
|
|
440
|
+
* @internal
|
|
471
441
|
*/
|
|
472
|
-
getSize() {
|
|
442
|
+
getSize(): Size {
|
|
473
443
|
const menuDom = this.getElement();
|
|
474
|
-
const menuSize = style.getSize(
|
|
475
|
-
(menuDom));
|
|
444
|
+
const menuSize = style.getSize(menuDom as Element);
|
|
476
445
|
// Recalculate height for the total content, not only box height.
|
|
477
|
-
menuSize.height = menuDom
|
|
446
|
+
menuSize.height = menuDom!.scrollHeight;
|
|
478
447
|
return menuSize;
|
|
479
448
|
}
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
exports.Menu = Menu;
|
|
449
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import * as aria from './utils/aria.js';
|
|
7
|
+
/**
|
|
8
|
+
* Class representing an item in a menu.
|
|
9
|
+
* @alias Blockly.MenuItem
|
|
10
|
+
*/
|
|
11
|
+
export declare class MenuItem {
|
|
12
|
+
private readonly content;
|
|
13
|
+
private readonly opt_value?;
|
|
14
|
+
/** Is the menu item clickable, as opposed to greyed-out. */
|
|
15
|
+
private enabled_;
|
|
16
|
+
/** The DOM element for the menu item. */
|
|
17
|
+
private element_;
|
|
18
|
+
/** Whether the menu item is rendered right-to-left. */
|
|
19
|
+
private rightToLeft_;
|
|
20
|
+
/** ARIA name for this menu. */
|
|
21
|
+
private roleName_;
|
|
22
|
+
/** Is this menu item checkable. */
|
|
23
|
+
private checkable_;
|
|
24
|
+
/** Is this menu item currently checked. */
|
|
25
|
+
private checked_;
|
|
26
|
+
/** Is this menu item currently highlighted. */
|
|
27
|
+
private highlight_;
|
|
28
|
+
/** Bound function to call when this menu item is clicked. */
|
|
29
|
+
private actionHandler_;
|
|
30
|
+
/**
|
|
31
|
+
* @param content Text caption to display as the content of the item, or a
|
|
32
|
+
* HTML element to display.
|
|
33
|
+
* @param opt_value Data/model associated with the menu item.
|
|
34
|
+
*/
|
|
35
|
+
constructor(content: string | HTMLElement, opt_value?: string | undefined);
|
|
36
|
+
/**
|
|
37
|
+
* Creates the menuitem's DOM.
|
|
38
|
+
* @return Completed DOM.
|
|
39
|
+
*/
|
|
40
|
+
createDom(): Element;
|
|
41
|
+
/** Dispose of this menu item. */
|
|
42
|
+
dispose(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Gets the menu item's element.
|
|
45
|
+
* @return The DOM element.
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
getElement(): Element | null;
|
|
49
|
+
/**
|
|
50
|
+
* Gets the unique ID for this menu item.
|
|
51
|
+
* @return Unique component ID.
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
getId(): string;
|
|
55
|
+
/**
|
|
56
|
+
* Gets the value associated with the menu item.
|
|
57
|
+
* @return value Value associated with the menu item.
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
getValue(): any;
|
|
61
|
+
/**
|
|
62
|
+
* Set menu item's rendering direction.
|
|
63
|
+
* @param rtl True if RTL, false if LTR.
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
setRightToLeft(rtl: boolean): void;
|
|
67
|
+
/**
|
|
68
|
+
* Set the menu item's accessibility role.
|
|
69
|
+
* @param roleName Role name.
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
setRole(roleName: aria.Role): void;
|
|
73
|
+
/**
|
|
74
|
+
* Sets the menu item to be checkable or not. Set to true for menu items
|
|
75
|
+
* that represent checkable options.
|
|
76
|
+
* @param checkable Whether the menu item is checkable.
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
setCheckable(checkable: boolean): void;
|
|
80
|
+
/**
|
|
81
|
+
* Checks or unchecks the component.
|
|
82
|
+
* @param checked Whether to check or uncheck the component.
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
setChecked(checked: boolean): void;
|
|
86
|
+
/**
|
|
87
|
+
* Highlights or unhighlights the component.
|
|
88
|
+
* @param highlight Whether to highlight or unhighlight the component.
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
setHighlighted(highlight: boolean): void;
|
|
92
|
+
/**
|
|
93
|
+
* Returns true if the menu item is enabled, false otherwise.
|
|
94
|
+
* @return Whether the menu item is enabled.
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
97
|
+
isEnabled(): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Enables or disables the menu item.
|
|
100
|
+
* @param enabled Whether to enable or disable the menu item.
|
|
101
|
+
* @internal
|
|
102
|
+
*/
|
|
103
|
+
setEnabled(enabled: boolean): void;
|
|
104
|
+
/**
|
|
105
|
+
* Performs the appropriate action when the menu item is activated
|
|
106
|
+
* by the user.
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
performAction(): void;
|
|
110
|
+
/**
|
|
111
|
+
* Set the handler that's called when the menu item is activated by the user.
|
|
112
|
+
* `obj` will be used as the 'this' object in the function when called.
|
|
113
|
+
* @param fn The handler.
|
|
114
|
+
* @param obj Used as the 'this' object in fn when called.
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
onAction(fn: (p1: MenuItem) => any, obj: any): void;
|
|
118
|
+
}
|