blockly 9.0.0-beta.0 → 9.0.0-beta.2
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 +830 -810
- package/blockly_compressed.js +821 -801
- package/blockly_compressed.js.map +1 -1
- package/blocks.d.ts +0 -5
- package/blocks_compressed.js +9 -9
- 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 +156 -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 +92 -24
- package/core/blockly.d.ts +31 -10
- 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 +51 -24
- package/core/events/events_abstract.d.ts +18 -7
- package/core/events/events_block_base.d.ts +13 -7
- package/core/events/events_block_change.d.ts +24 -11
- package/core/events/events_block_create.d.ts +18 -7
- package/core/events/events_block_delete.d.ts +20 -8
- package/core/events/events_block_drag.d.ts +14 -4
- package/core/events/events_block_move.d.ts +25 -12
- package/core/events/events_bubble_open.d.ts +21 -6
- package/core/events/events_click.d.ts +20 -6
- package/core/events/events_comment_base.d.ts +13 -6
- package/core/events/events_comment_change.d.ts +17 -7
- package/core/events/events_comment_create.d.ts +13 -5
- package/core/events/events_comment_delete.d.ts +4 -11
- package/core/events/events_comment_move.d.ts +19 -8
- package/core/events/events_marker_move.d.ts +16 -5
- package/core/events/events_selected.d.ts +14 -5
- package/core/events/events_theme_change.d.ts +11 -3
- package/core/events/events_toolbox_item_select.d.ts +14 -5
- package/core/events/events_trashcan_open.d.ts +11 -3
- 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 +13 -7
- package/core/events/events_var_create.d.ts +15 -6
- package/core/events/events_var_delete.d.ts +15 -6
- package/core/events/events_var_rename.d.ts +15 -6
- package/core/events/events_viewport.d.ts +14 -3
- package/core/events/utils.d.ts +50 -7
- package/core/events/workspace_events.d.ts +11 -6
- package/core/extensions.d.ts +14 -4
- package/core/field.d.ts +93 -36
- 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 +56 -22
- package/core/grid.d.ts +20 -16
- package/core/icon.d.ts +18 -5
- 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 +3 -1
- 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 +25 -6
- package/core/menuitem.d.ts +22 -7
- package/core/metrics_manager.d.ts +30 -15
- package/core/msg.d.ts +15 -0
- package/core/mutator.d.ts +20 -8
- 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 +29 -7
- package/core/renderers/common/block_rendering.d.ts +9 -2
- package/core/renderers/common/constants.d.ts +57 -18
- 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 +16 -3
- package/core/renderers/common/i_path_object.d.ts +37 -16
- package/core/renderers/common/info.d.ts +28 -11
- package/core/renderers/common/marker_svg.d.ts +42 -11
- package/core/renderers/common/path_object.d.ts +23 -3
- package/core/renderers/common/renderer.d.ts +33 -12
- package/core/renderers/geras/constants.d.ts +6 -2
- package/core/renderers/geras/drawer.d.ts +4 -1
- 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 -1
- 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 +4 -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 +30 -8
- 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 -4
- 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 +5 -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 +5 -4
- 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 +31 -44
- 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 -1
- 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 +9 -2
- 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 +41 -30
- package/core/theme_manager.d.ts +10 -1
- package/core/toolbox/category.d.ts +60 -32
- package/core/toolbox/collapsible_category.d.ts +10 -3
- package/core/toolbox/separator.d.ts +4 -1
- package/core/toolbox/toolbox.d.ts +71 -23
- 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 +19 -4
- 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 +19 -9
- package/core/utils/deprecation.d.ts +6 -4
- package/core/utils/dom.d.ts +37 -18
- package/core/utils/idgenerator.d.ts +14 -4
- 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 +17 -7
- package/core-browser.js +0 -6
- package/core.d.ts +0 -5
- package/core.js +0 -6
- package/dart.d.ts +1 -7
- package/dart_compressed.js.map +1 -1
- package/index.d.ts +2 -6
- package/javascript.d.ts +1 -7
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +1 -7
- package/lua_compressed.js.map +1 -1
- package/msg/ab.d.ts +8 -0
- package/msg/ace.d.ts +8 -0
- package/msg/af.d.ts +8 -0
- package/msg/am.d.ts +8 -0
- package/msg/ar.d.ts +8 -0
- package/msg/ast.d.ts +8 -0
- package/msg/az.d.ts +8 -0
- package/msg/ba.d.ts +8 -0
- package/msg/bcc.d.ts +8 -0
- package/msg/be-tarask.d.ts +8 -0
- package/msg/be.d.ts +8 -0
- package/msg/bg.d.ts +8 -0
- package/msg/bn.d.ts +8 -0
- package/msg/br.d.ts +8 -0
- package/msg/bs.d.ts +8 -0
- package/msg/ca.d.ts +8 -0
- package/msg/cdo.d.ts +8 -0
- package/msg/constants.d.ts +16 -0
- package/msg/cs.d.ts +8 -0
- package/msg/da.d.ts +8 -0
- package/msg/de.d.ts +8 -0
- package/msg/diq.d.ts +8 -0
- package/msg/dty.d.ts +8 -0
- package/msg/ee.d.ts +8 -0
- package/msg/el.d.ts +8 -0
- package/msg/en-gb.d.ts +8 -0
- package/msg/en.d.ts +8 -0
- package/msg/eo.d.ts +8 -0
- package/msg/es.d.ts +8 -0
- package/msg/et.d.ts +8 -0
- package/msg/eu.d.ts +8 -0
- package/msg/fa.d.ts +8 -0
- package/msg/fi.d.ts +8 -0
- package/msg/fo.d.ts +8 -0
- package/msg/fr.d.ts +8 -0
- package/msg/frr.d.ts +8 -0
- package/msg/gl.d.ts +8 -0
- package/msg/gn.d.ts +8 -0
- package/msg/gor.d.ts +8 -0
- package/msg/ha.d.ts +8 -0
- package/msg/hak.d.ts +8 -0
- package/msg/he.d.ts +8 -0
- package/msg/hi.d.ts +8 -0
- package/msg/hr.d.ts +8 -0
- package/msg/hrx.d.ts +8 -0
- package/msg/hu.d.ts +8 -0
- package/msg/hy.d.ts +8 -0
- package/msg/ia.d.ts +8 -0
- package/msg/id.d.ts +8 -0
- package/msg/ig.d.ts +8 -0
- package/msg/inh.d.ts +8 -0
- package/msg/is.d.ts +8 -0
- package/msg/it.d.ts +8 -0
- package/msg/ja.d.ts +8 -0
- package/msg/ka.d.ts +8 -0
- package/msg/kab.d.ts +8 -0
- package/msg/kbd-cyrl.d.ts +8 -0
- package/msg/km.d.ts +8 -0
- package/msg/kn.d.ts +8 -0
- package/msg/ko.d.ts +8 -0
- package/msg/ksh.d.ts +8 -0
- package/msg/ku-latn.d.ts +8 -0
- package/msg/ky.d.ts +8 -0
- package/msg/la.d.ts +8 -0
- package/msg/lb.d.ts +8 -0
- package/msg/lki.d.ts +8 -0
- package/msg/lo.d.ts +8 -0
- package/msg/lrc.d.ts +8 -0
- package/msg/lt.d.ts +8 -0
- package/msg/lv.d.ts +8 -0
- package/msg/mg.d.ts +8 -0
- package/msg/mk.d.ts +8 -0
- package/msg/ml.d.ts +8 -0
- package/msg/mnw.d.ts +8 -0
- package/msg/ms.d.ts +8 -0
- package/msg/msg.d.ts +429 -432
- package/msg/my.d.ts +8 -0
- package/msg/mzn.d.ts +8 -0
- package/msg/nb.d.ts +8 -0
- package/msg/ne.d.ts +8 -0
- package/msg/nl.d.ts +8 -0
- package/msg/oc.d.ts +8 -0
- package/msg/olo.d.ts +8 -0
- package/msg/pa.d.ts +8 -0
- package/msg/pl.d.ts +8 -0
- package/msg/pms.d.ts +8 -0
- package/msg/ps.d.ts +8 -0
- package/msg/pt-br.d.ts +8 -0
- package/msg/pt.d.ts +8 -0
- package/msg/qqq.d.ts +16 -0
- package/msg/ro.d.ts +8 -0
- package/msg/ru.d.ts +8 -0
- package/msg/sc.d.ts +8 -0
- package/msg/sco.d.ts +8 -0
- package/msg/sd.d.ts +8 -0
- package/msg/shn.d.ts +8 -0
- package/msg/si.d.ts +8 -0
- package/msg/sk.d.ts +8 -0
- package/msg/skr-arab.d.ts +8 -0
- package/msg/sl.d.ts +8 -0
- package/msg/smn.d.ts +8 -0
- package/msg/sq.d.ts +8 -0
- package/msg/sr-latn.d.ts +8 -0
- package/msg/sr.d.ts +8 -0
- package/msg/sv.d.ts +8 -0
- package/msg/sw.d.ts +8 -0
- package/msg/synonyms.d.ts +16 -0
- package/msg/ta.d.ts +8 -0
- package/msg/tcy.d.ts +8 -0
- package/msg/te.d.ts +8 -0
- package/msg/th.d.ts +8 -0
- package/msg/ti.d.ts +8 -0
- package/msg/tl.d.ts +8 -0
- package/msg/tlh.d.ts +8 -0
- package/msg/tr.d.ts +8 -0
- package/msg/ug-arab.d.ts +8 -0
- package/msg/uk.d.ts +8 -0
- package/msg/ur.d.ts +8 -0
- package/msg/uz.d.ts +8 -0
- package/msg/vi.d.ts +8 -0
- package/msg/xmf.d.ts +8 -0
- package/msg/yo.d.ts +8 -0
- package/msg/yue.d.ts +8 -0
- package/msg/zgh.d.ts +8 -0
- package/msg/zh-hans.d.ts +8 -0
- package/msg/zh-hant.d.ts +8 -0
- package/package.json +6 -3
- package/php.d.ts +1 -7
- package/php_compressed.js.map +1 -1
- package/python.d.ts +1 -7
- 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/metrics_manager.ts
DELETED
|
@@ -1,456 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2021 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Calculates and reports workspace metrics.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Calculates and reports workspace metrics.
|
|
13
|
-
* @class
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.MetricsManager');
|
|
17
|
-
|
|
18
|
-
import type {IFlyout} from './interfaces/i_flyout.js';
|
|
19
|
-
import type {IMetricsManager} from './interfaces/i_metrics_manager.js';
|
|
20
|
-
import type {IToolbox} from './interfaces/i_toolbox.js';
|
|
21
|
-
import * as registry from './registry.js';
|
|
22
|
-
import type {Metrics} from './utils/metrics.js';
|
|
23
|
-
import {Size} from './utils/size.js';
|
|
24
|
-
import * as toolboxUtils from './utils/toolbox.js';
|
|
25
|
-
import type {WorkspaceSvg} from './workspace_svg.js';
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* The manager for all workspace metrics calculations.
|
|
30
|
-
* @alias Blockly.MetricsManager
|
|
31
|
-
*/
|
|
32
|
-
export class MetricsManager implements IMetricsManager {
|
|
33
|
-
/** The workspace to calculate metrics for. */
|
|
34
|
-
protected readonly workspace_: WorkspaceSvg;
|
|
35
|
-
|
|
36
|
-
/** @param workspace The workspace to calculate metrics for. */
|
|
37
|
-
constructor(workspace: WorkspaceSvg) {
|
|
38
|
-
this.workspace_ = workspace;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Gets the dimensions of the given workspace component, in pixel coordinates.
|
|
43
|
-
* @param elem The element to get the dimensions of, or null. It should be a
|
|
44
|
-
* toolbox or flyout, and should implement getWidth() and getHeight().
|
|
45
|
-
* @return An object containing width and height attributes, which will both
|
|
46
|
-
* be zero if elem did not exist.
|
|
47
|
-
*/
|
|
48
|
-
protected getDimensionsPx_(elem: IToolbox|null|IFlyout): Size {
|
|
49
|
-
let width = 0;
|
|
50
|
-
let height = 0;
|
|
51
|
-
if (elem) {
|
|
52
|
-
width = elem.getWidth();
|
|
53
|
-
height = elem.getHeight();
|
|
54
|
-
}
|
|
55
|
-
return new Size(width, height);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Gets the width and the height of the flyout on the workspace in pixel
|
|
60
|
-
* coordinates. Returns 0 for the width and height if the workspace has a
|
|
61
|
-
* category toolbox instead of a simple toolbox.
|
|
62
|
-
* @param opt_own Whether to only return the workspace's own flyout.
|
|
63
|
-
* @return The width and height of the flyout.
|
|
64
|
-
*/
|
|
65
|
-
getFlyoutMetrics(opt_own?: boolean): ToolboxMetrics {
|
|
66
|
-
const flyoutDimensions =
|
|
67
|
-
this.getDimensionsPx_(this.workspace_.getFlyout(opt_own));
|
|
68
|
-
return {
|
|
69
|
-
width: flyoutDimensions.width,
|
|
70
|
-
height: flyoutDimensions.height,
|
|
71
|
-
position: this.workspace_.toolboxPosition,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Gets the width, height and position of the toolbox on the workspace in
|
|
77
|
-
* pixel coordinates. Returns 0 for the width and height if the workspace has
|
|
78
|
-
* a simple toolbox instead of a category toolbox. To get the width and height
|
|
79
|
-
* of a
|
|
80
|
-
* simple toolbox @see {@link getFlyoutMetrics}.
|
|
81
|
-
* @return The object with the width, height and position of the toolbox.
|
|
82
|
-
*/
|
|
83
|
-
getToolboxMetrics(): ToolboxMetrics {
|
|
84
|
-
const toolboxDimensions =
|
|
85
|
-
this.getDimensionsPx_(this.workspace_.getToolbox());
|
|
86
|
-
|
|
87
|
-
return {
|
|
88
|
-
width: toolboxDimensions.width,
|
|
89
|
-
height: toolboxDimensions.height,
|
|
90
|
-
position: this.workspace_.toolboxPosition,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Gets the width and height of the workspace's parent SVG element in pixel
|
|
96
|
-
* coordinates. This area includes the toolbox and the visible workspace area.
|
|
97
|
-
* @return The width and height of the workspace's parent SVG element.
|
|
98
|
-
*/
|
|
99
|
-
getSvgMetrics(): Size {
|
|
100
|
-
return this.workspace_.getCachedParentSvgSize();
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Gets the absolute left and absolute top in pixel coordinates.
|
|
105
|
-
* This is where the visible workspace starts in relation to the SVG
|
|
106
|
-
* container.
|
|
107
|
-
* @return The absolute metrics for the workspace.
|
|
108
|
-
*/
|
|
109
|
-
getAbsoluteMetrics(): AbsoluteMetrics {
|
|
110
|
-
let absoluteLeft = 0;
|
|
111
|
-
const toolboxMetrics = this.getToolboxMetrics();
|
|
112
|
-
const flyoutMetrics = this.getFlyoutMetrics(true);
|
|
113
|
-
const doesToolboxExist = !!this.workspace_.getToolbox();
|
|
114
|
-
const doesFlyoutExist = !!this.workspace_.getFlyout(true);
|
|
115
|
-
const toolboxPosition =
|
|
116
|
-
doesToolboxExist ? toolboxMetrics.position : flyoutMetrics.position;
|
|
117
|
-
|
|
118
|
-
const atLeft = toolboxPosition === toolboxUtils.Position.LEFT;
|
|
119
|
-
const atTop = toolboxPosition === toolboxUtils.Position.TOP;
|
|
120
|
-
if (doesToolboxExist && atLeft) {
|
|
121
|
-
absoluteLeft = toolboxMetrics.width;
|
|
122
|
-
} else if (doesFlyoutExist && atLeft) {
|
|
123
|
-
absoluteLeft = flyoutMetrics.width;
|
|
124
|
-
}
|
|
125
|
-
let absoluteTop = 0;
|
|
126
|
-
if (doesToolboxExist && atTop) {
|
|
127
|
-
absoluteTop = toolboxMetrics.height;
|
|
128
|
-
} else if (doesFlyoutExist && atTop) {
|
|
129
|
-
absoluteTop = flyoutMetrics.height;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return {
|
|
133
|
-
top: absoluteTop,
|
|
134
|
-
left: absoluteLeft,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Gets the metrics for the visible workspace in either pixel or workspace
|
|
140
|
-
* coordinates. The visible workspace does not include the toolbox or flyout.
|
|
141
|
-
* @param opt_getWorkspaceCoordinates True to get the view metrics in
|
|
142
|
-
* workspace coordinates, false to get them in pixel coordinates.
|
|
143
|
-
* @return The width, height, top and left of the viewport in either workspace
|
|
144
|
-
* coordinates or pixel coordinates.
|
|
145
|
-
*/
|
|
146
|
-
getViewMetrics(opt_getWorkspaceCoordinates?: boolean): ContainerRegion {
|
|
147
|
-
const scale = opt_getWorkspaceCoordinates ? this.workspace_.scale : 1;
|
|
148
|
-
const svgMetrics = this.getSvgMetrics();
|
|
149
|
-
const toolboxMetrics = this.getToolboxMetrics();
|
|
150
|
-
const flyoutMetrics = this.getFlyoutMetrics(true);
|
|
151
|
-
const doesToolboxExist = !!this.workspace_.getToolbox();
|
|
152
|
-
const toolboxPosition =
|
|
153
|
-
doesToolboxExist ? toolboxMetrics.position : flyoutMetrics.position;
|
|
154
|
-
|
|
155
|
-
if (this.workspace_.getToolbox()) {
|
|
156
|
-
if (toolboxPosition === toolboxUtils.Position.TOP ||
|
|
157
|
-
toolboxPosition === toolboxUtils.Position.BOTTOM) {
|
|
158
|
-
svgMetrics.height -= toolboxMetrics.height;
|
|
159
|
-
} else if (
|
|
160
|
-
toolboxPosition === toolboxUtils.Position.LEFT ||
|
|
161
|
-
toolboxPosition === toolboxUtils.Position.RIGHT) {
|
|
162
|
-
svgMetrics.width -= toolboxMetrics.width;
|
|
163
|
-
}
|
|
164
|
-
} else if (this.workspace_.getFlyout(true)) {
|
|
165
|
-
if (toolboxPosition === toolboxUtils.Position.TOP ||
|
|
166
|
-
toolboxPosition === toolboxUtils.Position.BOTTOM) {
|
|
167
|
-
svgMetrics.height -= flyoutMetrics.height;
|
|
168
|
-
} else if (
|
|
169
|
-
toolboxPosition === toolboxUtils.Position.LEFT ||
|
|
170
|
-
toolboxPosition === toolboxUtils.Position.RIGHT) {
|
|
171
|
-
svgMetrics.width -= flyoutMetrics.width;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return {
|
|
175
|
-
height: svgMetrics.height / scale,
|
|
176
|
-
width: svgMetrics.width / scale,
|
|
177
|
-
top: -this.workspace_.scrollY / scale,
|
|
178
|
-
left: -this.workspace_.scrollX / scale,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Gets content metrics in either pixel or workspace coordinates.
|
|
184
|
-
* The content area is a rectangle around all the top bounded elements on the
|
|
185
|
-
* workspace (workspace comments and blocks).
|
|
186
|
-
* @param opt_getWorkspaceCoordinates True to get the content metrics in
|
|
187
|
-
* workspace coordinates, false to get them in pixel coordinates.
|
|
188
|
-
* @return The metrics for the content container.
|
|
189
|
-
*/
|
|
190
|
-
getContentMetrics(opt_getWorkspaceCoordinates?: boolean): ContainerRegion {
|
|
191
|
-
const scale = opt_getWorkspaceCoordinates ? 1 : this.workspace_.scale;
|
|
192
|
-
// Block bounding box is in workspace coordinates.
|
|
193
|
-
const blockBox = this.workspace_.getBlocksBoundingBox();
|
|
194
|
-
|
|
195
|
-
return {
|
|
196
|
-
height: (blockBox.bottom - blockBox.top) * scale,
|
|
197
|
-
width: (blockBox.right - blockBox.left) * scale,
|
|
198
|
-
top: blockBox.top * scale,
|
|
199
|
-
left: blockBox.left * scale,
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Returns whether the scroll area has fixed edges.
|
|
205
|
-
* @return Whether the scroll area has fixed edges.
|
|
206
|
-
* @internal
|
|
207
|
-
*/
|
|
208
|
-
hasFixedEdges(): boolean {
|
|
209
|
-
// This exists for optimization of bump logic.
|
|
210
|
-
return !this.workspace_.isMovableHorizontally() ||
|
|
211
|
-
!this.workspace_.isMovableVertically();
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Computes the fixed edges of the scroll area.
|
|
216
|
-
* @param opt_viewMetrics The view metrics if they have been previously
|
|
217
|
-
* computed. Passing in null may cause the view metrics to be computed
|
|
218
|
-
* again, if it is needed.
|
|
219
|
-
* @return The fixed edges of the scroll area.
|
|
220
|
-
*/
|
|
221
|
-
protected getComputedFixedEdges_(opt_viewMetrics?: ContainerRegion):
|
|
222
|
-
FixedEdges {
|
|
223
|
-
if (!this.hasFixedEdges()) {
|
|
224
|
-
// Return early if there are no edges.
|
|
225
|
-
return {};
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
const hScrollEnabled = this.workspace_.isMovableHorizontally();
|
|
229
|
-
const vScrollEnabled = this.workspace_.isMovableVertically();
|
|
230
|
-
|
|
231
|
-
const viewMetrics = opt_viewMetrics || this.getViewMetrics(false);
|
|
232
|
-
|
|
233
|
-
const edges = {} as FixedEdges;
|
|
234
|
-
if (!vScrollEnabled) {
|
|
235
|
-
edges.top = viewMetrics.top;
|
|
236
|
-
edges.bottom = viewMetrics.top + viewMetrics.height;
|
|
237
|
-
}
|
|
238
|
-
if (!hScrollEnabled) {
|
|
239
|
-
edges.left = viewMetrics.left;
|
|
240
|
-
edges.right = viewMetrics.left + viewMetrics.width;
|
|
241
|
-
}
|
|
242
|
-
return edges;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Returns the content area with added padding.
|
|
247
|
-
* @param viewMetrics The view metrics.
|
|
248
|
-
* @param contentMetrics The content metrics.
|
|
249
|
-
* @return The padded content area.
|
|
250
|
-
*/
|
|
251
|
-
protected getPaddedContent_(
|
|
252
|
-
viewMetrics: ContainerRegion, contentMetrics: ContainerRegion):
|
|
253
|
-
{top: number, bottom: number, left: number, right: number} {
|
|
254
|
-
const contentBottom = contentMetrics.top + contentMetrics.height;
|
|
255
|
-
const contentRight = contentMetrics.left + contentMetrics.width;
|
|
256
|
-
|
|
257
|
-
const viewWidth = viewMetrics.width;
|
|
258
|
-
const viewHeight = viewMetrics.height;
|
|
259
|
-
const halfWidth = viewWidth / 2;
|
|
260
|
-
const halfHeight = viewHeight / 2;
|
|
261
|
-
|
|
262
|
-
// Add a padding around the content that is at least half a screen wide.
|
|
263
|
-
// Ensure padding is wide enough that blocks can scroll over entire screen.
|
|
264
|
-
const top =
|
|
265
|
-
Math.min(contentMetrics.top - halfHeight, contentBottom - viewHeight);
|
|
266
|
-
const left =
|
|
267
|
-
Math.min(contentMetrics.left - halfWidth, contentRight - viewWidth);
|
|
268
|
-
const bottom =
|
|
269
|
-
Math.max(contentBottom + halfHeight, contentMetrics.top + viewHeight);
|
|
270
|
-
const right =
|
|
271
|
-
Math.max(contentRight + halfWidth, contentMetrics.left + viewWidth);
|
|
272
|
-
|
|
273
|
-
return {top, bottom, left, right};
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
/**
|
|
277
|
-
* Returns the metrics for the scroll area of the workspace.
|
|
278
|
-
* @param opt_getWorkspaceCoordinates True to get the scroll metrics in
|
|
279
|
-
* workspace coordinates, false to get them in pixel coordinates.
|
|
280
|
-
* @param opt_viewMetrics The view metrics if they have been previously
|
|
281
|
-
* computed. Passing in null may cause the view metrics to be computed
|
|
282
|
-
* again, if it is needed.
|
|
283
|
-
* @param opt_contentMetrics The content metrics if they have been previously
|
|
284
|
-
* computed. Passing in null may cause the content metrics to be computed
|
|
285
|
-
* again, if it is needed.
|
|
286
|
-
* @return The metrics for the scroll container.
|
|
287
|
-
*/
|
|
288
|
-
getScrollMetrics(
|
|
289
|
-
opt_getWorkspaceCoordinates?: boolean, opt_viewMetrics?: ContainerRegion,
|
|
290
|
-
opt_contentMetrics?: ContainerRegion): ContainerRegion {
|
|
291
|
-
const scale = opt_getWorkspaceCoordinates ? this.workspace_.scale : 1;
|
|
292
|
-
const viewMetrics = opt_viewMetrics || this.getViewMetrics(false);
|
|
293
|
-
const contentMetrics = opt_contentMetrics || this.getContentMetrics();
|
|
294
|
-
const fixedEdges = this.getComputedFixedEdges_(viewMetrics);
|
|
295
|
-
|
|
296
|
-
// Add padding around content.
|
|
297
|
-
const paddedContent = this.getPaddedContent_(viewMetrics, contentMetrics);
|
|
298
|
-
|
|
299
|
-
// Use combination of fixed bounds and padded content to make scroll area.
|
|
300
|
-
const top =
|
|
301
|
-
fixedEdges.top !== undefined ? fixedEdges.top : paddedContent.top;
|
|
302
|
-
const left =
|
|
303
|
-
fixedEdges.left !== undefined ? fixedEdges.left : paddedContent.left;
|
|
304
|
-
const bottom = fixedEdges.bottom !== undefined ? fixedEdges.bottom :
|
|
305
|
-
paddedContent.bottom;
|
|
306
|
-
const right =
|
|
307
|
-
fixedEdges.right !== undefined ? fixedEdges.right : paddedContent.right;
|
|
308
|
-
|
|
309
|
-
return {
|
|
310
|
-
top: top / scale,
|
|
311
|
-
left: left / scale,
|
|
312
|
-
width: (right - left) / scale,
|
|
313
|
-
height: (bottom - top) / scale,
|
|
314
|
-
};
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* Returns common metrics used by UI elements.
|
|
319
|
-
* @return The UI metrics.
|
|
320
|
-
*/
|
|
321
|
-
getUiMetrics(): UiMetrics {
|
|
322
|
-
return {
|
|
323
|
-
viewMetrics: this.getViewMetrics(),
|
|
324
|
-
absoluteMetrics: this.getAbsoluteMetrics(),
|
|
325
|
-
toolboxMetrics: this.getToolboxMetrics(),
|
|
326
|
-
};
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* Returns an object with all the metrics required to size scrollbars for a
|
|
331
|
-
* top level workspace. The following properties are computed:
|
|
332
|
-
* Coordinate system: pixel coordinates, -left, -up, +right, +down
|
|
333
|
-
* .viewHeight: Height of the visible portion of the workspace.
|
|
334
|
-
* .viewWidth: Width of the visible portion of the workspace.
|
|
335
|
-
* .contentHeight: Height of the content.
|
|
336
|
-
* .contentWidth: Width of the content.
|
|
337
|
-
* .scrollHeight: Height of the scroll area.
|
|
338
|
-
* .scrollWidth: Width of the scroll area.
|
|
339
|
-
* .svgHeight: Height of the Blockly div (the view + the toolbox,
|
|
340
|
-
* simple or otherwise),
|
|
341
|
-
* .svgWidth: Width of the Blockly div (the view + the toolbox,
|
|
342
|
-
* simple or otherwise),
|
|
343
|
-
* .viewTop: Top-edge of the visible portion of the workspace, relative to
|
|
344
|
-
* the workspace origin.
|
|
345
|
-
* .viewLeft: Left-edge of the visible portion of the workspace, relative to
|
|
346
|
-
* the workspace origin.
|
|
347
|
-
* .contentTop: Top-edge of the content, relative to the workspace origin.
|
|
348
|
-
* .contentLeft: Left-edge of the content relative to the workspace origin.
|
|
349
|
-
* .scrollTop: Top-edge of the scroll area, relative to the workspace origin.
|
|
350
|
-
* .scrollLeft: Left-edge of the scroll area relative to the workspace origin.
|
|
351
|
-
* .absoluteTop: Top-edge of the visible portion of the workspace, relative
|
|
352
|
-
* to the blocklyDiv.
|
|
353
|
-
* .absoluteLeft: Left-edge of the visible portion of the workspace, relative
|
|
354
|
-
* to the blocklyDiv.
|
|
355
|
-
* .toolboxWidth: Width of the toolbox, if it exists. Otherwise zero.
|
|
356
|
-
* .toolboxHeight: Height of the toolbox, if it exists. Otherwise zero.
|
|
357
|
-
* .flyoutWidth: Width of the flyout if it is always open. Otherwise zero.
|
|
358
|
-
* .flyoutHeight: Height of the flyout if it is always open. Otherwise zero.
|
|
359
|
-
* .toolboxPosition: Top, bottom, left or right. Use TOOLBOX_AT constants to
|
|
360
|
-
* compare.
|
|
361
|
-
* @return Contains size and position metrics of a top level workspace.
|
|
362
|
-
*/
|
|
363
|
-
getMetrics(): Metrics {
|
|
364
|
-
const toolboxMetrics = this.getToolboxMetrics();
|
|
365
|
-
const flyoutMetrics = this.getFlyoutMetrics(true);
|
|
366
|
-
const svgMetrics = this.getSvgMetrics();
|
|
367
|
-
const absoluteMetrics = this.getAbsoluteMetrics();
|
|
368
|
-
const viewMetrics = this.getViewMetrics();
|
|
369
|
-
const contentMetrics = this.getContentMetrics();
|
|
370
|
-
const scrollMetrics =
|
|
371
|
-
this.getScrollMetrics(false, viewMetrics, contentMetrics);
|
|
372
|
-
|
|
373
|
-
return {
|
|
374
|
-
contentHeight: contentMetrics.height,
|
|
375
|
-
contentWidth: contentMetrics.width,
|
|
376
|
-
contentTop: contentMetrics.top,
|
|
377
|
-
contentLeft: contentMetrics.left,
|
|
378
|
-
|
|
379
|
-
scrollHeight: scrollMetrics.height,
|
|
380
|
-
scrollWidth: scrollMetrics.width,
|
|
381
|
-
scrollTop: scrollMetrics.top,
|
|
382
|
-
scrollLeft: scrollMetrics.left,
|
|
383
|
-
|
|
384
|
-
viewHeight: viewMetrics.height,
|
|
385
|
-
viewWidth: viewMetrics.width,
|
|
386
|
-
viewTop: viewMetrics.top,
|
|
387
|
-
viewLeft: viewMetrics.left,
|
|
388
|
-
|
|
389
|
-
absoluteTop: absoluteMetrics.top,
|
|
390
|
-
absoluteLeft: absoluteMetrics.left,
|
|
391
|
-
|
|
392
|
-
svgHeight: svgMetrics.height,
|
|
393
|
-
svgWidth: svgMetrics.width,
|
|
394
|
-
|
|
395
|
-
toolboxWidth: toolboxMetrics.width,
|
|
396
|
-
toolboxHeight: toolboxMetrics.height,
|
|
397
|
-
toolboxPosition: toolboxMetrics.position,
|
|
398
|
-
|
|
399
|
-
flyoutWidth: flyoutMetrics.width,
|
|
400
|
-
flyoutHeight: flyoutMetrics.height,
|
|
401
|
-
};
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
export namespace MetricsManager {
|
|
406
|
-
/**
|
|
407
|
-
* Describes the width, height and location of the toolbox on the main
|
|
408
|
-
* workspace.
|
|
409
|
-
*/
|
|
410
|
-
export interface ToolboxMetrics {
|
|
411
|
-
width: number;
|
|
412
|
-
height: number;
|
|
413
|
-
position: toolboxUtils.Position;
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
/** Describes where the viewport starts in relation to the workspace SVG. */
|
|
417
|
-
export interface AbsoluteMetrics {
|
|
418
|
-
left: number;
|
|
419
|
-
top: number;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
/**
|
|
423
|
-
* All the measurements needed to describe the size and location of a
|
|
424
|
-
* container.
|
|
425
|
-
*/
|
|
426
|
-
export interface ContainerRegion {
|
|
427
|
-
height: number;
|
|
428
|
-
width: number;
|
|
429
|
-
top: number;
|
|
430
|
-
left: number;
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
/** Describes fixed edges of the workspace. */
|
|
434
|
-
export interface FixedEdges {
|
|
435
|
-
top?: number;
|
|
436
|
-
bottom?: number;
|
|
437
|
-
left?: number;
|
|
438
|
-
right?: number;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
/** Common metrics used for UI elements. */
|
|
442
|
-
export interface UiMetrics {
|
|
443
|
-
viewMetrics: ContainerRegion;
|
|
444
|
-
absoluteMetrics: AbsoluteMetrics;
|
|
445
|
-
toolboxMetrics: ToolboxMetrics;
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
export type ToolboxMetrics = MetricsManager.ToolboxMetrics;
|
|
450
|
-
export type AbsoluteMetrics = MetricsManager.AbsoluteMetrics;
|
|
451
|
-
export type ContainerRegion = MetricsManager.ContainerRegion;
|
|
452
|
-
export type FixedEdges = MetricsManager.FixedEdges;
|
|
453
|
-
export type UiMetrics = MetricsManager.UiMetrics;
|
|
454
|
-
|
|
455
|
-
registry.register(
|
|
456
|
-
registry.Type.METRICS_MANAGER, registry.DEFAULT, MetricsManager);
|
package/core/msg.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2013 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Empty name space for the Message singleton.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Empty name space for the Message singleton.
|
|
13
|
-
* @namespace Blockly.Msg
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.Msg');
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/** A dictionary of localised messages. */
|
|
20
|
-
export const Msg: {[key: string]: string} = Object.create(null);
|