blockly 9.0.0-beta.0 → 9.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +401 -405
- package/blockly_compressed.js +398 -402
- package/blockly_compressed.js.map +1 -1
- package/blocks.d.ts +0 -5
- package/blocks_compressed.js +3 -3
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +1 -0
- package/closure/goog/goog.d.ts +1 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/block.d.ts +145 -53
- package/core/block_animations.d.ts +5 -0
- package/core/block_drag_surface.d.ts +18 -5
- package/core/block_dragger.d.ts +20 -5
- package/core/block_svg.d.ts +89 -21
- package/core/blockly.d.ts +29 -8
- package/core/blockly_options.d.ts +2 -0
- package/core/blocks.d.ts +2 -0
- package/core/browser_events.d.ts +16 -7
- package/core/bubble.d.ts +42 -12
- package/core/bubble_dragger.d.ts +9 -2
- package/core/bump_objects.d.ts +6 -2
- package/core/clipboard.d.ts +6 -2
- package/core/comment.d.ts +13 -3
- package/core/common.d.ts +35 -9
- package/core/component_manager.d.ts +16 -6
- package/core/config.d.ts +1 -0
- package/core/connection.d.ts +48 -18
- package/core/connection_checker.d.ts +16 -7
- package/core/connection_db.d.ts +17 -6
- package/core/connection_type.d.ts +2 -0
- package/core/constants.d.ts +3 -0
- package/core/contextmenu.d.ts +15 -5
- package/core/contextmenu_items.d.ts +15 -0
- package/core/contextmenu_registry.d.ts +12 -7
- package/core/css.d.ts +3 -0
- package/core/delete_area.d.ts +5 -1
- package/core/dialog.d.ts +14 -7
- package/core/drag_target.d.ts +10 -2
- package/core/dropdowndiv.d.ts +42 -10
- package/core/events/events.d.ts +1 -0
- package/core/events/events_abstract.d.ts +10 -3
- package/core/events/events_block_base.d.ts +5 -1
- package/core/events/events_block_change.d.ts +10 -3
- package/core/events/events_block_create.d.ts +6 -1
- package/core/events/events_block_delete.d.ts +6 -1
- package/core/events/events_block_drag.d.ts +5 -1
- package/core/events/events_block_move.d.ts +10 -3
- package/core/events/events_bubble_open.d.ts +6 -2
- package/core/events/events_click.d.ts +5 -1
- package/core/events/events_comment_base.d.ts +6 -1
- package/core/events/events_comment_change.d.ts +8 -2
- package/core/events/events_comment_create.d.ts +6 -1
- package/core/events/events_comment_delete.d.ts +6 -1
- package/core/events/events_comment_move.d.ts +9 -2
- package/core/events/events_marker_move.d.ts +5 -1
- package/core/events/events_selected.d.ts +5 -1
- package/core/events/events_theme_change.d.ts +5 -1
- package/core/events/events_toolbox_item_select.d.ts +5 -1
- package/core/events/events_trashcan_open.d.ts +5 -1
- package/core/events/events_ui.d.ts +5 -1
- package/core/events/events_ui_base.d.ts +2 -0
- package/core/events/events_var_base.d.ts +5 -1
- package/core/events/events_var_create.d.ts +6 -1
- package/core/events/events_var_delete.d.ts +6 -1
- package/core/events/events_var_rename.d.ts +6 -1
- package/core/events/events_viewport.d.ts +5 -1
- package/core/events/utils.d.ts +50 -7
- package/core/events/workspace_events.d.ts +5 -1
- package/core/extensions.d.ts +14 -4
- package/core/field.d.ts +93 -34
- package/core/field_angle.d.ts +14 -3
- package/core/field_checkbox.d.ts +20 -7
- package/core/field_colour.d.ts +22 -6
- package/core/field_dropdown.d.ts +28 -8
- package/core/field_image.d.ts +15 -4
- package/core/field_label.d.ts +8 -2
- package/core/field_label_serializable.d.ts +4 -1
- package/core/field_multilineinput.d.ts +21 -6
- package/core/field_number.d.ts +22 -6
- package/core/field_registry.d.ts +8 -2
- package/core/field_textinput.d.ts +28 -8
- package/core/field_variable.d.ts +36 -13
- package/core/flyout_base.d.ts +70 -24
- package/core/flyout_button.d.ts +12 -5
- package/core/flyout_horizontal.d.ts +14 -6
- package/core/flyout_metrics_manager.d.ts +6 -3
- package/core/flyout_vertical.d.ts +14 -6
- package/core/generator.d.ts +39 -20
- package/core/gesture.d.ts +48 -13
- package/core/grid.d.ts +19 -15
- package/core/icon.d.ts +12 -3
- package/core/inject.d.ts +3 -1
- package/core/input.d.ts +25 -10
- package/core/input_types.d.ts +2 -0
- package/core/insertion_marker_manager.d.ts +27 -9
- package/core/interfaces/i_ast_node_location.d.ts +2 -0
- package/core/interfaces/i_ast_node_location_svg.d.ts +4 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +4 -1
- package/core/interfaces/i_autohideable.d.ts +3 -0
- package/core/interfaces/i_block_dragger.d.ts +7 -1
- package/core/interfaces/i_bounded_element.d.ts +5 -1
- package/core/interfaces/i_bubble.d.ts +11 -2
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +6 -2
- package/core/interfaces/i_component.d.ts +2 -0
- package/core/interfaces/i_connection_checker.d.ts +14 -6
- package/core/interfaces/i_contextmenu.d.ts +2 -0
- package/core/interfaces/i_copyable.d.ts +3 -1
- package/core/interfaces/i_deletable.d.ts +4 -1
- package/core/interfaces/i_delete_area.d.ts +4 -1
- package/core/interfaces/i_drag_target.d.ts +10 -2
- package/core/interfaces/i_draggable.d.ts +2 -0
- package/core/interfaces/i_flyout.d.ts +27 -11
- package/core/interfaces/i_keyboard_accessible.d.ts +4 -1
- package/core/interfaces/i_metrics_manager.d.ts +24 -12
- package/core/interfaces/i_movable.d.ts +4 -1
- package/core/interfaces/i_positionable.d.ts +5 -1
- package/core/interfaces/i_registrable.d.ts +2 -0
- package/core/interfaces/i_registrable_field.d.ts +2 -0
- package/core/interfaces/i_selectable.d.ts +2 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +10 -3
- package/core/interfaces/i_serializer.d.ts +6 -1
- package/core/interfaces/i_styleable.d.ts +4 -0
- package/core/interfaces/i_toolbox.d.ts +17 -6
- package/core/interfaces/i_toolbox_item.d.ts +17 -7
- package/core/internal_constants.d.ts +6 -0
- package/core/keyboard_nav/ast_node.d.ts +55 -28
- package/core/keyboard_nav/basic_cursor.d.ts +20 -9
- package/core/keyboard_nav/cursor.d.ts +11 -5
- package/core/keyboard_nav/marker.d.ts +9 -2
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +4 -1
- package/core/main.d.ts +1 -0
- package/core/marker_manager.d.ts +13 -2
- package/core/menu.d.ts +23 -5
- package/core/menuitem.d.ts +22 -7
- package/core/metrics_manager.d.ts +30 -15
- package/core/msg.d.ts +1 -0
- package/core/mutator.d.ts +19 -7
- package/core/names.d.ts +20 -8
- package/core/options.d.ts +12 -6
- package/core/positionable_helpers.d.ts +11 -3
- package/core/procedures.d.ts +27 -10
- package/core/registry.d.ts +19 -8
- package/core/rendered_connection.d.ts +28 -7
- package/core/renderers/common/block_rendering.d.ts +9 -2
- package/core/renderers/common/constants.d.ts +49 -17
- package/core/renderers/common/debug.d.ts +5 -1
- package/core/renderers/common/debugger.d.ts +12 -1
- package/core/renderers/common/drawer.d.ts +12 -0
- package/core/renderers/common/i_path_object.d.ts +15 -0
- package/core/renderers/common/info.d.ts +25 -8
- package/core/renderers/common/marker_svg.d.ts +35 -6
- package/core/renderers/common/path_object.d.ts +20 -0
- package/core/renderers/common/renderer.d.ts +33 -12
- package/core/renderers/geras/constants.d.ts +2 -0
- package/core/renderers/geras/drawer.d.ts +2 -0
- package/core/renderers/geras/geras.d.ts +3 -2
- package/core/renderers/geras/highlight_constants.d.ts +9 -6
- package/core/renderers/geras/highlighter.d.ts +12 -1
- package/core/renderers/geras/info.d.ts +4 -1
- package/core/renderers/geras/measurables/inline_input.d.ts +2 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +2 -0
- package/core/renderers/geras/path_object.d.ts +4 -0
- package/core/renderers/geras/renderer.d.ts +16 -6
- package/core/renderers/measurables/base.d.ts +2 -0
- package/core/renderers/measurables/bottom_row.d.ts +9 -3
- package/core/renderers/measurables/connection.d.ts +2 -0
- package/core/renderers/measurables/external_value_input.d.ts +2 -1
- package/core/renderers/measurables/field.d.ts +2 -1
- package/core/renderers/measurables/hat.d.ts +2 -1
- package/core/renderers/measurables/icon.d.ts +3 -1
- package/core/renderers/measurables/in_row_spacer.d.ts +2 -1
- package/core/renderers/measurables/inline_input.d.ts +2 -1
- package/core/renderers/measurables/input_connection.d.ts +2 -0
- package/core/renderers/measurables/input_row.d.ts +4 -1
- package/core/renderers/measurables/jagged_edge.d.ts +2 -1
- package/core/renderers/measurables/next_connection.d.ts +2 -1
- package/core/renderers/measurables/output_connection.d.ts +2 -1
- package/core/renderers/measurables/previous_connection.d.ts +2 -1
- package/core/renderers/measurables/round_corner.d.ts +2 -1
- package/core/renderers/measurables/row.d.ts +27 -5
- package/core/renderers/measurables/spacer_row.d.ts +2 -1
- package/core/renderers/measurables/square_corner.d.ts +2 -1
- package/core/renderers/measurables/statement_input.d.ts +2 -1
- package/core/renderers/measurables/top_row.d.ts +7 -3
- package/core/renderers/measurables/types.d.ts +54 -25
- package/core/renderers/minimalist/constants.d.ts +2 -0
- package/core/renderers/minimalist/drawer.d.ts +2 -0
- package/core/renderers/minimalist/info.d.ts +4 -1
- package/core/renderers/minimalist/minimalist.d.ts +2 -1
- package/core/renderers/minimalist/renderer.d.ts +8 -3
- package/core/renderers/thrasos/info.d.ts +4 -1
- package/core/renderers/thrasos/renderer.d.ts +4 -1
- package/core/renderers/thrasos/thrasos.d.ts +2 -1
- package/core/renderers/zelos/constants.d.ts +11 -3
- package/core/renderers/zelos/drawer.d.ts +3 -0
- package/core/renderers/zelos/info.d.ts +10 -5
- package/core/renderers/zelos/marker_svg.d.ts +5 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +2 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +2 -0
- package/core/renderers/zelos/measurables/row_elements.d.ts +2 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +2 -0
- package/core/renderers/zelos/path_object.d.ts +8 -1
- package/core/renderers/zelos/renderer.d.ts +14 -6
- package/core/renderers/zelos/zelos.d.ts +3 -2
- package/core/scrollbar.d.ts +41 -9
- package/core/scrollbar_pair.d.ts +20 -6
- package/core/serialization/blocks.d.ts +10 -4
- package/core/serialization/exceptions.d.ts +5 -0
- package/core/serialization/priorities.d.ts +3 -0
- package/core/serialization/registry.d.ts +3 -0
- package/core/serialization/variables.d.ts +2 -0
- package/core/serialization/workspaces.d.ts +4 -1
- package/core/shortcut_items.d.ts +10 -0
- package/core/shortcut_registry.d.ts +25 -9
- package/core/sprites.d.ts +2 -4
- package/core/theme/classic.d.ts +2 -0
- package/core/theme/themes.d.ts +1 -0
- package/core/theme/zelos.d.ts +2 -0
- package/core/theme.d.ts +14 -3
- package/core/theme_manager.d.ts +10 -1
- package/core/toolbox/category.d.ts +42 -15
- package/core/toolbox/collapsible_category.d.ts +10 -3
- package/core/toolbox/separator.d.ts +4 -1
- package/core/toolbox/toolbox.d.ts +70 -22
- package/core/toolbox/toolbox_item.d.ts +17 -7
- package/core/tooltip.d.ts +22 -1
- package/core/touch.d.ts +18 -6
- package/core/touch_gesture.d.ts +16 -2
- package/core/trashcan.d.ts +27 -6
- package/core/utils/aria.d.ts +4 -0
- package/core/utils/array.d.ts +4 -2
- package/core/utils/colour.d.ts +24 -13
- package/core/utils/coordinate.d.ts +18 -8
- package/core/utils/deprecation.d.ts +6 -4
- package/core/utils/dom.d.ts +32 -12
- package/core/utils/idgenerator.d.ts +13 -3
- package/core/utils/keycodes.d.ts +1 -0
- package/core/utils/math.d.ts +7 -3
- package/core/utils/metrics.d.ts +1 -0
- package/core/utils/object.d.ts +7 -2
- package/core/utils/parsing.d.ts +9 -4
- package/core/utils/rect.d.ts +5 -3
- package/core/utils/sentinel.d.ts +2 -0
- package/core/utils/size.d.ts +4 -2
- package/core/utils/string.d.ts +13 -6
- package/core/utils/style.d.ts +14 -33
- package/core/utils/svg.d.ts +5 -2
- package/core/utils/svg_math.d.ts +15 -7
- package/core/utils/svg_paths.d.ts +20 -10
- package/core/utils/toolbox.d.ts +26 -5
- package/core/utils/useragent.d.ts +1 -12
- package/core/utils/xml.d.ts +13 -5
- package/core/utils.d.ts +43 -21
- package/core/variable_map.d.ts +26 -9
- package/core/variable_model.d.ts +5 -2
- package/core/variables.d.ts +33 -18
- package/core/variables_dynamic.d.ts +25 -5
- package/core/warning.d.ts +8 -3
- package/core/widgetdiv.d.ts +15 -6
- package/core/workspace.d.ts +80 -30
- package/core/workspace_audio.d.ts +6 -0
- package/core/workspace_comment.d.ts +33 -11
- package/core/workspace_comment_svg.d.ts +52 -9
- package/core/workspace_drag_surface_svg.d.ts +20 -14
- package/core/workspace_dragger.d.ts +6 -0
- package/core/workspace_svg.d.ts +174 -62
- package/core/xml.d.ts +26 -11
- package/core/zoom_controls.d.ts +16 -6
- package/core.d.ts +0 -5
- package/dart.d.ts +0 -5
- package/dart_compressed.js.map +1 -1
- package/index.d.ts +2 -6
- package/javascript.d.ts +0 -5
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -5
- package/lua_compressed.js.map +1 -1
- package/package.json +6 -3
- package/php.d.ts +0 -5
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -5
- package/python_compressed.js.map +1 -1
- package/blocks/blocks.js +0 -48
- package/blocks/colour.js +0 -121
- package/blocks/lists.js +0 -996
- package/blocks/logic.js +0 -665
- package/blocks/loops.js +0 -375
- package/blocks/math.js +0 -594
- package/blocks/procedures.js +0 -1196
- package/blocks/text.js +0 -1000
- package/blocks/variables.js +0 -176
- package/blocks/variables_dynamic.js +0 -192
- package/core/any_aliases.ts +0 -1
- package/core/block.ts +0 -2102
- package/core/block_animations.ts +0 -202
- package/core/block_drag_surface.ts +0 -237
- package/core/block_dragger.ts +0 -447
- package/core/block_svg.ts +0 -1758
- package/core/blockly.js +0 -890
- package/core/blockly.ts +0 -749
- package/core/blockly_options.ts +0 -81
- package/core/blocks.ts +0 -29
- package/core/browser_events.ts +0 -289
- package/core/bubble.ts +0 -892
- package/core/bubble_dragger.ts +0 -229
- package/core/bump_objects.ts +0 -182
- package/core/clipboard.ts +0 -91
- package/core/comment.ts +0 -398
- package/core/common.ts +0 -288
- package/core/component_manager.ts +0 -211
- package/core/config.ts +0 -80
- package/core/connection.ts +0 -692
- package/core/connection_checker.ts +0 -301
- package/core/connection_db.ts +0 -289
- package/core/connection_type.ts +0 -32
- package/core/constants.ts +0 -29
- package/core/contextmenu.ts +0 -363
- package/core/contextmenu_items.ts +0 -576
- package/core/contextmenu_registry.ts +0 -179
- package/core/css.ts +0 -560
- package/core/delete_area.ts +0 -82
- package/core/dialog.ts +0 -127
- package/core/drag_target.ts +0 -94
- package/core/dropdowndiv.ts +0 -683
- package/core/events/events.ts +0 -123
- package/core/events/events_abstract.ts +0 -112
- package/core/events/events_block_base.ts +0 -65
- package/core/events/events_block_change.ts +0 -176
- package/core/events/events_block_create.ts +0 -114
- package/core/events/events_block_delete.ts +0 -126
- package/core/events/events_block_drag.ts +0 -82
- package/core/events/events_block_move.ts +0 -206
- package/core/events/events_bubble_open.ts +0 -82
- package/core/events/events_click.ts +0 -84
- package/core/events/events_comment_base.ts +0 -107
- package/core/events/events_comment_change.ts +0 -108
- package/core/events/events_comment_create.ts +0 -82
- package/core/events/events_comment_delete.ts +0 -77
- package/core/events/events_comment_move.ts +0 -154
- package/core/events/events_marker_move.ts +0 -99
- package/core/events/events_selected.ts +0 -78
- package/core/events/events_theme_change.ts +0 -67
- package/core/events/events_toolbox_item_select.ts +0 -79
- package/core/events/events_trashcan_open.ts +0 -68
- package/core/events/events_ui.ts +0 -89
- package/core/events/events_ui_base.ts +0 -54
- package/core/events/events_var_base.ts +0 -65
- package/core/events/events_var_create.ts +0 -88
- package/core/events/events_var_delete.ts +0 -88
- package/core/events/events_var_rename.ts +0 -89
- package/core/events/events_viewport.ts +0 -100
- package/core/events/utils.ts +0 -529
- package/core/events/workspace_events.ts +0 -86
- package/core/extensions.ts +0 -504
- package/core/field.ts +0 -1206
- package/core/field_angle.ts +0 -563
- package/core/field_checkbox.ts +0 -243
- package/core/field_colour.ts +0 -632
- package/core/field_dropdown.ts +0 -773
- package/core/field_image.ts +0 -282
- package/core/field_label.ts +0 -152
- package/core/field_label_serializable.ts +0 -76
- package/core/field_multilineinput.ts +0 -466
- package/core/field_number.ts +0 -327
- package/core/field_registry.ts +0 -87
- package/core/field_textinput.ts +0 -591
- package/core/field_variable.ts +0 -545
- package/core/flyout_base.ts +0 -1165
- package/core/flyout_button.ts +0 -292
- package/core/flyout_horizontal.ts +0 -381
- package/core/flyout_metrics_manager.ts +0 -94
- package/core/flyout_vertical.ts +0 -384
- package/core/generator.ts +0 -539
- package/core/gesture.ts +0 -946
- package/core/grid.ts +0 -192
- package/core/icon.ts +0 -189
- package/core/inject.ts +0 -390
- package/core/input.ts +0 -309
- package/core/input_types.ts +0 -32
- package/core/insertion_marker_manager.ts +0 -788
- package/core/interfaces/i_ast_node_location.ts +0 -23
- package/core/interfaces/i_ast_node_location_svg.ts +0 -37
- package/core/interfaces/i_ast_node_location_with_block.ts +0 -38
- package/core/interfaces/i_autohideable.ts +0 -34
- package/core/interfaces/i_block_dragger.ts +0 -67
- package/core/interfaces/i_bounded_element.ts +0 -42
- package/core/interfaces/i_bubble.ts +0 -88
- package/core/interfaces/i_collapsible_toolbox_item.ts +0 -47
- package/core/interfaces/i_component.ts +0 -32
- package/core/interfaces/i_connection_checker.ts +0 -102
- package/core/interfaces/i_contextmenu.ts +0 -26
- package/core/interfaces/i_copyable.ts +0 -40
- package/core/interfaces/i_deletable.ts +0 -29
- package/core/interfaces/i_delete_area.ts +0 -46
- package/core/interfaces/i_drag_target.ts +0 -84
- package/core/interfaces/i_draggable.ts +0 -25
- package/core/interfaces/i_flyout.ts +0 -186
- package/core/interfaces/i_keyboard_accessible.ts +0 -35
- package/core/interfaces/i_metrics_manager.ts +0 -151
- package/core/interfaces/i_movable.ts +0 -29
- package/core/interfaces/i_positionable.ts +0 -50
- package/core/interfaces/i_registrable.ts +0 -25
- package/core/interfaces/i_registrable_field.ts +0 -31
- package/core/interfaces/i_selectable.ts +0 -34
- package/core/interfaces/i_selectable_toolbox_item.ts +0 -64
- package/core/interfaces/i_serializer.ts +0 -65
- package/core/interfaces/i_styleable.ts +0 -35
- package/core/interfaces/i_toolbox.ts +0 -127
- package/core/interfaces/i_toolbox_item.ts +0 -84
- package/core/internal_constants.ts +0 -67
- package/core/keyboard_nav/ast_node.ts +0 -717
- package/core/keyboard_nav/basic_cursor.ts +0 -214
- package/core/keyboard_nav/cursor.ts +0 -134
- package/core/keyboard_nav/marker.ts +0 -115
- package/core/keyboard_nav/tab_navigate_cursor.ts +0 -48
- package/core/main.js +0 -303
- package/core/marker_manager.ts +0 -181
- package/core/menu.ts +0 -449
- package/core/menuitem.ts +0 -240
- package/core/metrics_manager.ts +0 -456
- package/core/msg.ts +0 -20
- package/core/mutator.ts +0 -560
- package/core/names.ts +0 -267
- package/core/options.ts +0 -365
- package/core/positionable_helpers.ts +0 -181
- package/core/procedures.ts +0 -443
- package/core/registry.ts +0 -339
- package/core/rendered_connection.ts +0 -568
- package/core/renderers/common/block_rendering.ts +0 -164
- package/core/renderers/common/constants.ts +0 -1124
- package/core/renderers/common/debug.ts +0 -61
- package/core/renderers/common/debugger.ts +0 -433
- package/core/renderers/common/drawer.ts +0 -450
- package/core/renderers/common/i_path_object.ts +0 -161
- package/core/renderers/common/info.ts +0 -718
- package/core/renderers/common/marker_svg.ts +0 -680
- package/core/renderers/common/path_object.ts +0 -272
- package/core/renderers/common/renderer.ts +0 -271
- package/core/renderers/geras/constants.ts +0 -61
- package/core/renderers/geras/drawer.ts +0 -176
- package/core/renderers/geras/geras.ts +0 -37
- package/core/renderers/geras/highlight_constants.ts +0 -337
- package/core/renderers/geras/highlighter.ts +0 -306
- package/core/renderers/geras/info.ts +0 -450
- package/core/renderers/geras/measurables/inline_input.ts +0 -51
- package/core/renderers/geras/measurables/statement_input.ts +0 -50
- package/core/renderers/geras/path_object.ts +0 -138
- package/core/renderers/geras/renderer.ts +0 -126
- package/core/renderers/measurables/base.ts +0 -53
- package/core/renderers/measurables/bottom_row.ts +0 -120
- package/core/renderers/measurables/connection.ts +0 -52
- package/core/renderers/measurables/external_value_input.ts +0 -65
- package/core/renderers/measurables/field.ts +0 -63
- package/core/renderers/measurables/hat.ts +0 -48
- package/core/renderers/measurables/icon.ts +0 -54
- package/core/renderers/measurables/in_row_spacer.ts +0 -44
- package/core/renderers/measurables/inline_input.ts +0 -76
- package/core/renderers/measurables/input_connection.ts +0 -66
- package/core/renderers/measurables/input_row.ts +0 -82
- package/core/renderers/measurables/jagged_edge.ts +0 -43
- package/core/renderers/measurables/next_connection.ts +0 -47
- package/core/renderers/measurables/output_connection.ts +0 -56
- package/core/renderers/measurables/previous_connection.ts +0 -47
- package/core/renderers/measurables/round_corner.ts +0 -49
- package/core/renderers/measurables/row.ts +0 -225
- package/core/renderers/measurables/spacer_row.ts +0 -55
- package/core/renderers/measurables/square_corner.ts +0 -47
- package/core/renderers/measurables/statement_input.ts +0 -55
- package/core/renderers/measurables/top_row.ts +0 -122
- package/core/renderers/measurables/types.ts +0 -332
- package/core/renderers/minimalist/constants.ts +0 -32
- package/core/renderers/minimalist/drawer.ts +0 -38
- package/core/renderers/minimalist/info.ts +0 -52
- package/core/renderers/minimalist/minimalist.ts +0 -22
- package/core/renderers/minimalist/renderer.ts +0 -71
- package/core/renderers/thrasos/info.ts +0 -338
- package/core/renderers/thrasos/renderer.ts +0 -48
- package/core/renderers/thrasos/thrasos.ts +0 -20
- package/core/renderers/zelos/constants.ts +0 -858
- package/core/renderers/zelos/drawer.ts +0 -228
- package/core/renderers/zelos/info.ts +0 -593
- package/core/renderers/zelos/marker_svg.ts +0 -151
- package/core/renderers/zelos/measurables/bottom_row.ts +0 -53
- package/core/renderers/zelos/measurables/inputs.ts +0 -56
- package/core/renderers/zelos/measurables/row_elements.ts +0 -45
- package/core/renderers/zelos/measurables/top_row.ts +0 -58
- package/core/renderers/zelos/path_object.ts +0 -215
- package/core/renderers/zelos/renderer.ts +0 -142
- package/core/renderers/zelos/zelos.ts +0 -39
- package/core/scrollbar.ts +0 -870
- package/core/scrollbar_pair.ts +0 -321
- package/core/serialization/blocks.ts +0 -706
- package/core/serialization/exceptions.ts +0 -98
- package/core/serialization/priorities.ts +0 -32
- package/core/serialization/registry.ts +0 -43
- package/core/serialization/variables.ts +0 -96
- package/core/serialization/workspaces.ts +0 -106
- package/core/shortcut_items.ts +0 -266
- package/core/shortcut_registry.ts +0 -355
- package/core/sprites.ts +0 -29
- package/core/theme/classic.ts +0 -54
- package/core/theme/themes.ts +0 -22
- package/core/theme/zelos.ts +0 -91
- package/core/theme.ts +0 -221
- package/core/theme_manager.ts +0 -186
- package/core/toolbox/category.ts +0 -679
- package/core/toolbox/collapsible_category.ts +0 -273
- package/core/toolbox/separator.ts +0 -105
- package/core/toolbox/toolbox.ts +0 -1044
- package/core/toolbox/toolbox_item.ts +0 -147
- package/core/tooltip.ts +0 -463
- package/core/touch.ts +0 -306
- package/core/touch_gesture.ts +0 -295
- package/core/trashcan.ts +0 -671
- package/core/utils/aria.ts +0 -160
- package/core/utils/array.ts +0 -32
- package/core/utils/colour.ts +0 -276
- package/core/utils/coordinate.ts +0 -124
- package/core/utils/deprecation.ts +0 -41
- package/core/utils/dom.ts +0 -408
- package/core/utils/idgenerator.ts +0 -80
- package/core/utils/keycodes.ts +0 -169
- package/core/utils/math.ts +0 -61
- package/core/utils/metrics.ts +0 -97
- package/core/utils/object.ts +0 -95
- package/core/utils/parsing.ts +0 -261
- package/core/utils/rect.ts +0 -62
- package/core/utils/sentinel.ts +0 -23
- package/core/utils/size.ts +0 -51
- package/core/utils/string.ts +0 -308
- package/core/utils/style.ts +0 -306
- package/core/utils/svg.ts +0 -88
- package/core/utils/svg_math.ts +0 -269
- package/core/utils/svg_paths.ts +0 -140
- package/core/utils/toolbox.ts +0 -433
- package/core/utils/useragent.ts +0 -135
- package/core/utils/xml.ts +0 -97
- package/core/utils.ts +0 -428
- package/core/variable_map.ts +0 -392
- package/core/variable_model.ts +0 -82
- package/core/variables.ts +0 -596
- package/core/variables_dynamic.ts +0 -133
- package/core/warning.ts +0 -161
- package/core/widgetdiv.ts +0 -257
- package/core/workspace.ts +0 -801
- package/core/workspace_audio.ts +0 -156
- package/core/workspace_comment.ts +0 -398
- package/core/workspace_comment_svg.ts +0 -1127
- package/core/workspace_drag_surface_svg.ts +0 -187
- package/core/workspace_dragger.ts +0 -104
- package/core/workspace_svg.ts +0 -2655
- package/core/xml.ts +0 -1023
- package/core/zoom_controls.ts +0 -441
- package/generators/dart/all.js +0 -27
- package/generators/dart/colour.js +0 -105
- package/generators/dart/lists.js +0 -431
- package/generators/dart/logic.js +0 -123
- package/generators/dart/loops.js +0 -161
- package/generators/dart/math.js +0 -446
- package/generators/dart/procedures.js +0 -105
- package/generators/dart/text.js +0 -338
- package/generators/dart/variables.js +0 -32
- package/generators/dart/variables_dynamic.js +0 -21
- package/generators/dart.js +0 -303
- package/generators/javascript/all.js +0 -27
- package/generators/javascript/colour.js +0 -85
- package/generators/javascript/lists.js +0 -405
- package/generators/javascript/logic.js +0 -127
- package/generators/javascript/loops.js +0 -180
- package/generators/javascript/math.js +0 -401
- package/generators/javascript/procedures.js +0 -110
- package/generators/javascript/text.js +0 -371
- package/generators/javascript/variables.js +0 -32
- package/generators/javascript/variables_dynamic.js +0 -21
- package/generators/javascript.js +0 -322
- package/generators/lua/all.js +0 -27
- package/generators/lua/colour.js +0 -71
- package/generators/lua/lists.js +0 -348
- package/generators/lua/logic.js +0 -112
- package/generators/lua/loops.js +0 -168
- package/generators/lua/math.js +0 -406
- package/generators/lua/procedures.js +0 -106
- package/generators/lua/text.js +0 -327
- package/generators/lua/variables.js +0 -31
- package/generators/lua/variables_dynamic.js +0 -21
- package/generators/lua.js +0 -206
- package/generators/php/all.js +0 -27
- package/generators/php/colour.js +0 -81
- package/generators/php/lists.js +0 -481
- package/generators/php/logic.js +0 -119
- package/generators/php/loops.js +0 -161
- package/generators/php/math.js +0 -349
- package/generators/php/procedures.js +0 -125
- package/generators/php/text.js +0 -255
- package/generators/php/variables.js +0 -32
- package/generators/php/variables_dynamic.js +0 -21
- package/generators/php.js +0 -303
- package/generators/python/all.js +0 -27
- package/generators/python/colour.js +0 -67
- package/generators/python/lists.js +0 -346
- package/generators/python/logic.js +0 -120
- package/generators/python/loops.js +0 -206
- package/generators/python/math.js +0 -373
- package/generators/python/procedures.js +0 -129
- package/generators/python/text.js +0 -291
- package/generators/python/variables.js +0 -32
- package/generators/python/variables_dynamic.js +0 -21
- package/generators/python.js +0 -333
package/core/grid.ts
DELETED
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2017 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Object for configuring and updating a workspace grid in
|
|
9
|
-
* Blockly.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Object for configuring and updating a workspace grid in
|
|
14
|
-
* Blockly.
|
|
15
|
-
* @class
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.Grid');
|
|
19
|
-
|
|
20
|
-
import * as dom from './utils/dom.js';
|
|
21
|
-
import {Svg} from './utils/svg.js';
|
|
22
|
-
import * as userAgent from './utils/useragent.js';
|
|
23
|
-
import {GridOptions} from './blockly_options.js';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Class for a workspace's grid.
|
|
28
|
-
* @alias Blockly.Grid
|
|
29
|
-
*/
|
|
30
|
-
export class Grid {
|
|
31
|
-
/**
|
|
32
|
-
* The scale of the grid, used to set stroke width on grid lines.
|
|
33
|
-
* This should always be the same as the workspace scale.
|
|
34
|
-
*/
|
|
35
|
-
private scale_ = 1;
|
|
36
|
-
private readonly spacing_: number;
|
|
37
|
-
private readonly length_: number;
|
|
38
|
-
private readonly line1_: SVGElement;
|
|
39
|
-
private readonly line2_: SVGElement;
|
|
40
|
-
private readonly snapToGrid_: boolean;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* @param pattern The grid's SVG pattern, created during injection.
|
|
44
|
-
* @param options A dictionary of normalized options for the grid.
|
|
45
|
-
* See grid documentation:
|
|
46
|
-
* https://developers.google.com/blockly/guides/configure/web/grid
|
|
47
|
-
*/
|
|
48
|
-
constructor(private pattern: SVGElement, options: GridOptions) {
|
|
49
|
-
/** The spacing of the grid lines (in px). */
|
|
50
|
-
this.spacing_ = options['spacing'] ?? 0;
|
|
51
|
-
|
|
52
|
-
/** How long the grid lines should be (in px). */
|
|
53
|
-
this.length_ = options['length'] ?? 1;
|
|
54
|
-
|
|
55
|
-
/** The horizontal grid line, if it exists. */
|
|
56
|
-
this.line1_ = pattern.firstChild as SVGElement;
|
|
57
|
-
|
|
58
|
-
/** The vertical grid line, if it exists. */
|
|
59
|
-
this.line2_ = this.line1_ && this.line1_.nextSibling as SVGElement;
|
|
60
|
-
|
|
61
|
-
/** Whether blocks should snap to the grid. */
|
|
62
|
-
this.snapToGrid_ = options['snap'] ?? false;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Whether blocks should snap to the grid, based on the initial configuration.
|
|
67
|
-
* @return True if blocks should snap, false otherwise.
|
|
68
|
-
* @internal
|
|
69
|
-
*/
|
|
70
|
-
shouldSnap(): boolean {
|
|
71
|
-
return this.snapToGrid_;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Get the spacing of the grid points (in px).
|
|
76
|
-
* @return The spacing of the grid points.
|
|
77
|
-
* @internal
|
|
78
|
-
*/
|
|
79
|
-
getSpacing(): number {
|
|
80
|
-
return this.spacing_;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Get the ID of the pattern element, which should be randomized to avoid
|
|
85
|
-
* conflicts with other Blockly instances on the page.
|
|
86
|
-
* @return The pattern ID.
|
|
87
|
-
* @internal
|
|
88
|
-
*/
|
|
89
|
-
getPatternId(): string {
|
|
90
|
-
return this.pattern.id;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Update the grid with a new scale.
|
|
95
|
-
* @param scale The new workspace scale.
|
|
96
|
-
* @internal
|
|
97
|
-
*/
|
|
98
|
-
update(scale: number) {
|
|
99
|
-
this.scale_ = scale;
|
|
100
|
-
// MSIE freaks if it sees a 0x0 pattern, so set empty patterns to 100x100.
|
|
101
|
-
const safeSpacing = this.spacing_ * scale || 100;
|
|
102
|
-
|
|
103
|
-
this.pattern.setAttribute('width', safeSpacing.toString());
|
|
104
|
-
this.pattern.setAttribute('height', safeSpacing.toString());
|
|
105
|
-
|
|
106
|
-
let half = Math.floor(this.spacing_ / 2) + 0.5;
|
|
107
|
-
let start = half - this.length_ / 2;
|
|
108
|
-
let end = half + this.length_ / 2;
|
|
109
|
-
|
|
110
|
-
half *= scale;
|
|
111
|
-
start *= scale;
|
|
112
|
-
end *= scale;
|
|
113
|
-
|
|
114
|
-
this.setLineAttributes_(this.line1_, scale, start, end, half, half);
|
|
115
|
-
this.setLineAttributes_(this.line2_, scale, half, half, start, end);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Set the attributes on one of the lines in the grid. Use this to update the
|
|
120
|
-
* length and stroke width of the grid lines.
|
|
121
|
-
* @param line Which line to update.
|
|
122
|
-
* @param width The new stroke size (in px).
|
|
123
|
-
* @param x1 The new x start position of the line (in px).
|
|
124
|
-
* @param x2 The new x end position of the line (in px).
|
|
125
|
-
* @param y1 The new y start position of the line (in px).
|
|
126
|
-
* @param y2 The new y end position of the line (in px).
|
|
127
|
-
*/
|
|
128
|
-
private setLineAttributes_(
|
|
129
|
-
line: SVGElement, width: number, x1: number, x2: number, y1: number,
|
|
130
|
-
y2: number) {
|
|
131
|
-
if (line) {
|
|
132
|
-
line.setAttribute('stroke-width', width.toString());
|
|
133
|
-
line.setAttribute('x1', x1.toString());
|
|
134
|
-
line.setAttribute('y1', y1.toString());
|
|
135
|
-
line.setAttribute('x2', x2.toString());
|
|
136
|
-
line.setAttribute('y2', y2.toString());
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Move the grid to a new x and y position, and make sure that change is
|
|
142
|
-
* visible.
|
|
143
|
-
* @param x The new x position of the grid (in px).
|
|
144
|
-
* @param y The new y position of the grid (in px).
|
|
145
|
-
* @internal
|
|
146
|
-
*/
|
|
147
|
-
moveTo(x: number, y: number) {
|
|
148
|
-
this.pattern.setAttribute('x', x.toString());
|
|
149
|
-
this.pattern.setAttribute('y', y.toString());
|
|
150
|
-
|
|
151
|
-
if (userAgent.IE || userAgent.EDGE) {
|
|
152
|
-
// IE/Edge doesn't notice that the x/y offsets have changed.
|
|
153
|
-
// Force an update.
|
|
154
|
-
this.update(this.scale_);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Create the DOM for the grid described by options.
|
|
160
|
-
* @param rnd A random ID to append to the pattern's ID.
|
|
161
|
-
* @param gridOptions The object containing grid configuration.
|
|
162
|
-
* @param defs The root SVG element for this workspace's defs.
|
|
163
|
-
* @return The SVG element for the grid pattern.
|
|
164
|
-
* @internal
|
|
165
|
-
*/
|
|
166
|
-
static createDom(rnd: string, gridOptions: GridOptions, defs: SVGElement):
|
|
167
|
-
SVGElement {
|
|
168
|
-
/*
|
|
169
|
-
<pattern id="blocklyGridPattern837493" patternUnits="userSpaceOnUse">
|
|
170
|
-
<rect stroke="#888" />
|
|
171
|
-
<rect stroke="#888" />
|
|
172
|
-
</pattern>
|
|
173
|
-
*/
|
|
174
|
-
const gridPattern = dom.createSvgElement(
|
|
175
|
-
Svg.PATTERN,
|
|
176
|
-
{'id': 'blocklyGridPattern' + rnd, 'patternUnits': 'userSpaceOnUse'},
|
|
177
|
-
defs);
|
|
178
|
-
// x1, y1, x1, x2 properties will be set later in update.
|
|
179
|
-
if ((gridOptions['length'] ?? 1) > 0 && (gridOptions['spacing'] ?? 0) > 0) {
|
|
180
|
-
dom.createSvgElement(
|
|
181
|
-
Svg.LINE, {'stroke': gridOptions['colour']}, gridPattern);
|
|
182
|
-
if (gridOptions['length'] ?? 1 > 1) {
|
|
183
|
-
dom.createSvgElement(
|
|
184
|
-
Svg.LINE, {'stroke': gridOptions['colour']}, gridPattern);
|
|
185
|
-
}
|
|
186
|
-
} else {
|
|
187
|
-
// Edge 16 doesn't handle empty patterns
|
|
188
|
-
dom.createSvgElement(Svg.LINE, {}, gridPattern);
|
|
189
|
-
}
|
|
190
|
-
return gridPattern;
|
|
191
|
-
}
|
|
192
|
-
}
|
package/core/icon.ts
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2013 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Object representing an icon on a block.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Object representing an icon on a block.
|
|
13
|
-
* @class
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.Icon');
|
|
17
|
-
|
|
18
|
-
import type {BlockSvg} from './block_svg.js';
|
|
19
|
-
import * as browserEvents from './browser_events.js';
|
|
20
|
-
import type {Bubble} from './bubble.js';
|
|
21
|
-
import {Coordinate} from './utils/coordinate.js';
|
|
22
|
-
import * as dom from './utils/dom.js';
|
|
23
|
-
import {Size} from './utils/size.js';
|
|
24
|
-
import {Svg} from './utils/svg.js';
|
|
25
|
-
import * as svgMath from './utils/svg_math.js';
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Class for an icon.
|
|
30
|
-
* @alias Blockly.Icon
|
|
31
|
-
*/
|
|
32
|
-
export abstract class Icon {
|
|
33
|
-
protected block_: BlockSvg;
|
|
34
|
-
/** The icon SVG group. */
|
|
35
|
-
iconGroup_: SVGGElement|null = null;
|
|
36
|
-
|
|
37
|
-
/** Whether this icon gets hidden when the block is collapsed. */
|
|
38
|
-
collapseHidden = true;
|
|
39
|
-
|
|
40
|
-
/** Height and width of icons. */
|
|
41
|
-
readonly SIZE = 17;
|
|
42
|
-
|
|
43
|
-
/** Bubble UI (if visible). */
|
|
44
|
-
protected bubble_: Bubble|null = null;
|
|
45
|
-
|
|
46
|
-
/** Absolute coordinate of icon's center. */
|
|
47
|
-
protected iconXY_: Coordinate|null = null;
|
|
48
|
-
|
|
49
|
-
/** @param block The block associated with this icon. */
|
|
50
|
-
constructor(block: BlockSvg) {
|
|
51
|
-
this.block_ = block;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/** Create the icon on the block. */
|
|
55
|
-
createIcon() {
|
|
56
|
-
if (this.iconGroup_) {
|
|
57
|
-
// Icon already exists.
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
/* Here's the markup that will be generated:
|
|
61
|
-
<g class="blocklyIconGroup">
|
|
62
|
-
...
|
|
63
|
-
</g>
|
|
64
|
-
*/
|
|
65
|
-
this.iconGroup_ =
|
|
66
|
-
dom.createSvgElement(Svg.G, {'class': 'blocklyIconGroup'});
|
|
67
|
-
if (this.block_.isInFlyout) {
|
|
68
|
-
dom.addClass(this.iconGroup_ as Element, 'blocklyIconGroupReadonly');
|
|
69
|
-
}
|
|
70
|
-
// AnyDuringMigration because: Argument of type 'SVGGElement | null' is not
|
|
71
|
-
// assignable to parameter of type 'Element'.
|
|
72
|
-
this.drawIcon_(this.iconGroup_ as AnyDuringMigration);
|
|
73
|
-
|
|
74
|
-
// AnyDuringMigration because: Argument of type 'SVGGElement | null' is not
|
|
75
|
-
// assignable to parameter of type 'Node'.
|
|
76
|
-
this.block_.getSvgRoot().appendChild(this.iconGroup_ as AnyDuringMigration);
|
|
77
|
-
// AnyDuringMigration because: Argument of type 'SVGGElement | null' is not
|
|
78
|
-
// assignable to parameter of type 'EventTarget'.
|
|
79
|
-
browserEvents.conditionalBind(
|
|
80
|
-
this.iconGroup_ as AnyDuringMigration, 'mouseup', this,
|
|
81
|
-
this.iconClick_);
|
|
82
|
-
this.updateEditable();
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/** Dispose of this icon. */
|
|
86
|
-
dispose() {
|
|
87
|
-
// Dispose of and unlink the icon.
|
|
88
|
-
dom.removeNode(this.iconGroup_);
|
|
89
|
-
this.iconGroup_ = null;
|
|
90
|
-
// Dispose of and unlink the bubble.
|
|
91
|
-
this.setVisible(false);
|
|
92
|
-
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
93
|
-
// 'BlockSvg'.
|
|
94
|
-
this.block_ = null as AnyDuringMigration;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/** Add or remove the UI indicating if this icon may be clicked or not. */
|
|
98
|
-
updateEditable() {}
|
|
99
|
-
// No-op on the base class.
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Is the associated bubble visible?
|
|
103
|
-
* @return True if the bubble is visible.
|
|
104
|
-
*/
|
|
105
|
-
isVisible(): boolean {
|
|
106
|
-
return !!this.bubble_;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Clicking on the icon toggles if the bubble is visible.
|
|
111
|
-
* @param e Mouse click event.
|
|
112
|
-
*/
|
|
113
|
-
protected iconClick_(e: MouseEvent) {
|
|
114
|
-
if (this.block_.workspace.isDragging()) {
|
|
115
|
-
// Drag operation is concluding. Don't open the editor.
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (!this.block_.isInFlyout && !browserEvents.isRightButton(e)) {
|
|
119
|
-
this.setVisible(!this.isVisible());
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/** Change the colour of the associated bubble to match its block. */
|
|
124
|
-
applyColour() {
|
|
125
|
-
if (this.isVisible()) {
|
|
126
|
-
this.bubble_!.setColour(this.block_.style.colourPrimary);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Notification that the icon has moved. Update the arrow accordingly.
|
|
132
|
-
* @param xy Absolute location in workspace coordinates.
|
|
133
|
-
*/
|
|
134
|
-
setIconLocation(xy: Coordinate) {
|
|
135
|
-
this.iconXY_ = xy;
|
|
136
|
-
if (this.isVisible()) {
|
|
137
|
-
this.bubble_!.setAnchorLocation(xy);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Notification that the icon has moved, but we don't really know where.
|
|
143
|
-
* Recompute the icon's location from scratch.
|
|
144
|
-
*/
|
|
145
|
-
computeIconLocation() {
|
|
146
|
-
// Find coordinates for the centre of the icon and update the arrow.
|
|
147
|
-
const blockXY = this.block_.getRelativeToSurfaceXY();
|
|
148
|
-
const iconXY = svgMath.getRelativeXY(this.iconGroup_ as SVGElement);
|
|
149
|
-
const newXY = new Coordinate(
|
|
150
|
-
blockXY.x + iconXY.x + this.SIZE / 2,
|
|
151
|
-
blockXY.y + iconXY.y + this.SIZE / 2);
|
|
152
|
-
if (!Coordinate.equals(this.getIconLocation(), newXY)) {
|
|
153
|
-
this.setIconLocation(newXY);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Returns the center of the block's icon relative to the surface.
|
|
159
|
-
* @return Object with x and y properties in workspace coordinates.
|
|
160
|
-
*/
|
|
161
|
-
getIconLocation(): Coordinate|null {
|
|
162
|
-
return this.iconXY_;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* Get the size of the icon as used for rendering.
|
|
167
|
-
* This differs from the actual size of the icon, because it bulges slightly
|
|
168
|
-
* out of its row rather than increasing the height of its row.
|
|
169
|
-
* @return Height and width.
|
|
170
|
-
*/
|
|
171
|
-
getCorrectedSize(): Size {
|
|
172
|
-
// TODO (#2562): Remove getCorrectedSize.
|
|
173
|
-
return new Size(this.SIZE, this.SIZE - 2);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Draw the icon.
|
|
178
|
-
* @param _group The icon group.
|
|
179
|
-
*/
|
|
180
|
-
protected drawIcon_(_group: Element) {}
|
|
181
|
-
// No-op on base class.
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Show or hide the icon.
|
|
185
|
-
* @param _visible True if the icon should be visible.
|
|
186
|
-
*/
|
|
187
|
-
setVisible(_visible: boolean) {}
|
|
188
|
-
}
|
|
189
|
-
// No-op on base class
|