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
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2019 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview The class representing a basic cursor.
|
|
9
|
-
* Used to demo switching between different cursors.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* The class representing a basic cursor.
|
|
14
|
-
* Used to demo switching between different cursors.
|
|
15
|
-
* @class
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.BasicCursor');
|
|
19
|
-
|
|
20
|
-
import * as registry from '../registry.js';
|
|
21
|
-
|
|
22
|
-
import {ASTNode} from './ast_node.js';
|
|
23
|
-
import {Cursor} from './cursor.js';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Class for a basic cursor.
|
|
28
|
-
* This will allow the user to get to all nodes in the AST by hitting next or
|
|
29
|
-
* previous.
|
|
30
|
-
* @alias Blockly.BasicCursor
|
|
31
|
-
*/
|
|
32
|
-
export class BasicCursor extends Cursor {
|
|
33
|
-
/** Name used for registering a basic cursor. */
|
|
34
|
-
static readonly registrationName = 'basicCursor';
|
|
35
|
-
|
|
36
|
-
/** @alias Blockly.BasicCursor */
|
|
37
|
-
constructor() {
|
|
38
|
-
super();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Find the next node in the pre order traversal.
|
|
43
|
-
* @return The next node, or null if the current node is not set or there is
|
|
44
|
-
* no next value.
|
|
45
|
-
*/
|
|
46
|
-
override next(): ASTNode|null {
|
|
47
|
-
const curNode = this.getCurNode();
|
|
48
|
-
if (!curNode) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
const newNode = this.getNextNode_(curNode, this.validNode_);
|
|
52
|
-
|
|
53
|
-
if (newNode) {
|
|
54
|
-
this.setCurNode(newNode);
|
|
55
|
-
}
|
|
56
|
-
return newNode;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* For a basic cursor we only have the ability to go next and previous, so
|
|
61
|
-
* in will also allow the user to get to the next node in the pre order
|
|
62
|
-
* traversal.
|
|
63
|
-
* @return The next node, or null if the current node is not set or there is
|
|
64
|
-
* no next value.
|
|
65
|
-
*/
|
|
66
|
-
override in(): ASTNode|null {
|
|
67
|
-
return this.next();
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Find the previous node in the pre order traversal.
|
|
72
|
-
* @return The previous node, or null if the current node is not set or there
|
|
73
|
-
* is no previous value.
|
|
74
|
-
*/
|
|
75
|
-
override prev(): ASTNode|null {
|
|
76
|
-
const curNode = this.getCurNode();
|
|
77
|
-
if (!curNode) {
|
|
78
|
-
return null;
|
|
79
|
-
}
|
|
80
|
-
const newNode = this.getPreviousNode_(curNode, this.validNode_);
|
|
81
|
-
|
|
82
|
-
if (newNode) {
|
|
83
|
-
this.setCurNode(newNode);
|
|
84
|
-
}
|
|
85
|
-
return newNode;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* For a basic cursor we only have the ability to go next and previous, so
|
|
90
|
-
* out will allow the user to get to the previous node in the pre order
|
|
91
|
-
* traversal.
|
|
92
|
-
* @return The previous node, or null if the current node is not set or there
|
|
93
|
-
* is no previous value.
|
|
94
|
-
*/
|
|
95
|
-
override out(): ASTNode|null {
|
|
96
|
-
return this.prev();
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Uses pre order traversal to navigate the Blockly AST. This will allow
|
|
101
|
-
* a user to easily navigate the entire Blockly AST without having to go in
|
|
102
|
-
* and out levels on the tree.
|
|
103
|
-
* @param node The current position in the AST.
|
|
104
|
-
* @param isValid A function true/false depending on whether the given node
|
|
105
|
-
* should be traversed.
|
|
106
|
-
* @return The next node in the traversal.
|
|
107
|
-
*/
|
|
108
|
-
protected getNextNode_(
|
|
109
|
-
node: ASTNode|null, isValid: (p1: ASTNode|null) => boolean): ASTNode
|
|
110
|
-
|null {
|
|
111
|
-
if (!node) {
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
const newNode = node.in() || node.next();
|
|
115
|
-
if (isValid(newNode)) {
|
|
116
|
-
return newNode;
|
|
117
|
-
} else if (newNode) {
|
|
118
|
-
return this.getNextNode_(newNode, isValid);
|
|
119
|
-
}
|
|
120
|
-
const siblingOrParent = this.findSiblingOrParent_(node.out());
|
|
121
|
-
// AnyDuringMigration because: Argument of type 'ASTNode | null' is not
|
|
122
|
-
// assignable to parameter of type 'ASTNode'.
|
|
123
|
-
if (isValid(siblingOrParent as AnyDuringMigration)) {
|
|
124
|
-
return siblingOrParent;
|
|
125
|
-
} else if (siblingOrParent) {
|
|
126
|
-
return this.getNextNode_(siblingOrParent, isValid);
|
|
127
|
-
}
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Reverses the pre order traversal in order to find the previous node. This
|
|
133
|
-
* will allow a user to easily navigate the entire Blockly AST without having
|
|
134
|
-
* to go in and out levels on the tree.
|
|
135
|
-
* @param node The current position in the AST.
|
|
136
|
-
* @param isValid A function true/false depending on whether the given node
|
|
137
|
-
* should be traversed.
|
|
138
|
-
* @return The previous node in the traversal or null if no previous node
|
|
139
|
-
* exists.
|
|
140
|
-
*/
|
|
141
|
-
protected getPreviousNode_(
|
|
142
|
-
node: ASTNode|null, isValid: (p1: ASTNode|null) => boolean): ASTNode
|
|
143
|
-
|null {
|
|
144
|
-
if (!node) {
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
let newNode: ASTNode|null = node.prev();
|
|
148
|
-
|
|
149
|
-
if (newNode) {
|
|
150
|
-
newNode = this.getRightMostChild_(newNode);
|
|
151
|
-
} else {
|
|
152
|
-
newNode = node.out();
|
|
153
|
-
}
|
|
154
|
-
if (isValid(newNode)) {
|
|
155
|
-
return newNode;
|
|
156
|
-
} else if (newNode) {
|
|
157
|
-
return this.getPreviousNode_(newNode, isValid);
|
|
158
|
-
}
|
|
159
|
-
return null;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Decides what nodes to traverse and which ones to skip. Currently, it
|
|
164
|
-
* skips output, stack and workspace nodes.
|
|
165
|
-
* @param node The AST node to check whether it is valid.
|
|
166
|
-
* @return True if the node should be visited, false otherwise.
|
|
167
|
-
*/
|
|
168
|
-
protected validNode_(node: ASTNode|null): boolean {
|
|
169
|
-
let isValid = false;
|
|
170
|
-
const type = node && node.getType();
|
|
171
|
-
if (type === ASTNode.types.OUTPUT || type === ASTNode.types.INPUT ||
|
|
172
|
-
type === ASTNode.types.FIELD || type === ASTNode.types.NEXT ||
|
|
173
|
-
type === ASTNode.types.PREVIOUS || type === ASTNode.types.WORKSPACE) {
|
|
174
|
-
isValid = true;
|
|
175
|
-
}
|
|
176
|
-
return isValid;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* From the given node find either the next valid sibling or parent.
|
|
181
|
-
* @param node The current position in the AST.
|
|
182
|
-
* @return The parent AST node or null if there are no valid parents.
|
|
183
|
-
*/
|
|
184
|
-
private findSiblingOrParent_(node: ASTNode|null): ASTNode|null {
|
|
185
|
-
if (!node) {
|
|
186
|
-
return null;
|
|
187
|
-
}
|
|
188
|
-
const nextNode = node.next();
|
|
189
|
-
if (nextNode) {
|
|
190
|
-
return nextNode;
|
|
191
|
-
}
|
|
192
|
-
return this.findSiblingOrParent_(node.out());
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Get the right most child of a node.
|
|
197
|
-
* @param node The node to find the right most child of.
|
|
198
|
-
* @return The right most child of the given node, or the node if no child
|
|
199
|
-
* exists.
|
|
200
|
-
*/
|
|
201
|
-
private getRightMostChild_(node: ASTNode|null): ASTNode|null {
|
|
202
|
-
if (!node!.in()) {
|
|
203
|
-
return node;
|
|
204
|
-
}
|
|
205
|
-
let newNode = node!.in();
|
|
206
|
-
while (newNode && newNode.next()) {
|
|
207
|
-
newNode = newNode.next();
|
|
208
|
-
}
|
|
209
|
-
return this.getRightMostChild_(newNode);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
registry.register(
|
|
214
|
-
registry.Type.CURSOR, BasicCursor.registrationName, BasicCursor);
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2019 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview The class representing a cursor.
|
|
9
|
-
* Used primarily for keyboard navigation.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* The class representing a cursor.
|
|
14
|
-
* Used primarily for keyboard navigation.
|
|
15
|
-
* @class
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.Cursor');
|
|
19
|
-
|
|
20
|
-
import * as registry from '../registry.js';
|
|
21
|
-
|
|
22
|
-
import {ASTNode} from './ast_node.js';
|
|
23
|
-
import {Marker} from './marker.js';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Class for a cursor.
|
|
28
|
-
* A cursor controls how a user navigates the Blockly AST.
|
|
29
|
-
* @alias Blockly.Cursor
|
|
30
|
-
*/
|
|
31
|
-
export class Cursor extends Marker {
|
|
32
|
-
override type = 'cursor';
|
|
33
|
-
|
|
34
|
-
/** @alias Blockly.Cursor */
|
|
35
|
-
constructor() {
|
|
36
|
-
super();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Find the next connection, field, or block.
|
|
41
|
-
* @return The next element, or null if the current node is not set or there
|
|
42
|
-
* is no next value.
|
|
43
|
-
*/
|
|
44
|
-
next(): ASTNode|null {
|
|
45
|
-
const curNode = this.getCurNode();
|
|
46
|
-
if (!curNode) {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
let newNode = curNode.next();
|
|
51
|
-
while (newNode && newNode.next() &&
|
|
52
|
-
(newNode.getType() === ASTNode.types.NEXT ||
|
|
53
|
-
newNode.getType() === ASTNode.types.BLOCK)) {
|
|
54
|
-
newNode = newNode.next();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (newNode) {
|
|
58
|
-
this.setCurNode(newNode);
|
|
59
|
-
}
|
|
60
|
-
return newNode;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Find the in connection or field.
|
|
65
|
-
* @return The in element, or null if the current node is not set or there is
|
|
66
|
-
* no in value.
|
|
67
|
-
*/
|
|
68
|
-
in(): ASTNode|null {
|
|
69
|
-
let curNode: ASTNode|null = this.getCurNode();
|
|
70
|
-
if (!curNode) {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
// If we are on a previous or output connection, go to the block level
|
|
74
|
-
// before performing next operation.
|
|
75
|
-
if (curNode.getType() === ASTNode.types.PREVIOUS ||
|
|
76
|
-
curNode.getType() === ASTNode.types.OUTPUT) {
|
|
77
|
-
curNode = curNode.next();
|
|
78
|
-
}
|
|
79
|
-
const newNode = curNode?.in() ?? null;
|
|
80
|
-
|
|
81
|
-
if (newNode) {
|
|
82
|
-
this.setCurNode(newNode);
|
|
83
|
-
}
|
|
84
|
-
return newNode;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Find the previous connection, field, or block.
|
|
89
|
-
* @return The previous element, or null if the current node is not set or
|
|
90
|
-
* there is no previous value.
|
|
91
|
-
*/
|
|
92
|
-
prev(): ASTNode|null {
|
|
93
|
-
const curNode = this.getCurNode();
|
|
94
|
-
if (!curNode) {
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
let newNode = curNode.prev();
|
|
98
|
-
|
|
99
|
-
while (newNode && newNode.prev() &&
|
|
100
|
-
(newNode.getType() === ASTNode.types.NEXT ||
|
|
101
|
-
newNode.getType() === ASTNode.types.BLOCK)) {
|
|
102
|
-
newNode = newNode.prev();
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (newNode) {
|
|
106
|
-
this.setCurNode(newNode);
|
|
107
|
-
}
|
|
108
|
-
return newNode;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Find the out connection, field, or block.
|
|
113
|
-
* @return The out element, or null if the current node is not set or there is
|
|
114
|
-
* no out value.
|
|
115
|
-
*/
|
|
116
|
-
out(): ASTNode|null {
|
|
117
|
-
const curNode = this.getCurNode();
|
|
118
|
-
if (!curNode) {
|
|
119
|
-
return null;
|
|
120
|
-
}
|
|
121
|
-
let newNode = curNode.out();
|
|
122
|
-
|
|
123
|
-
if (newNode && newNode.getType() === ASTNode.types.BLOCK) {
|
|
124
|
-
newNode = newNode.prev() || newNode;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
if (newNode) {
|
|
128
|
-
this.setCurNode(newNode);
|
|
129
|
-
}
|
|
130
|
-
return newNode;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
registry.register(registry.Type.CURSOR, registry.DEFAULT, Cursor);
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2019 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview The class representing a marker.
|
|
9
|
-
* Used primarily for keyboard navigation to show a marked location.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* The class representing a marker.
|
|
14
|
-
* Used primarily for keyboard navigation to show a marked location.
|
|
15
|
-
* @class
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.Marker');
|
|
19
|
-
|
|
20
|
-
/* eslint-disable-next-line no-unused-vars */
|
|
21
|
-
import type {MarkerSvg} from '../renderers/common/marker_svg.js';
|
|
22
|
-
|
|
23
|
-
import type {ASTNode} from './ast_node.js';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Class for a marker.
|
|
28
|
-
* This is used in keyboard navigation to save a location in the Blockly AST.
|
|
29
|
-
* @alias Blockly.Marker
|
|
30
|
-
*/
|
|
31
|
-
export class Marker {
|
|
32
|
-
/** The colour of the marker. */
|
|
33
|
-
colour: string|null = null;
|
|
34
|
-
|
|
35
|
-
/** The current location of the marker. */
|
|
36
|
-
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
37
|
-
// 'ASTNode'.
|
|
38
|
-
private curNode_: ASTNode = null as AnyDuringMigration;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* The object in charge of drawing the visual representation of the current
|
|
42
|
-
* node.
|
|
43
|
-
*/
|
|
44
|
-
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
45
|
-
// 'MarkerSvg'.
|
|
46
|
-
private drawer_: MarkerSvg = null as AnyDuringMigration;
|
|
47
|
-
|
|
48
|
-
/** The type of the marker. */
|
|
49
|
-
type = 'marker';
|
|
50
|
-
|
|
51
|
-
/** Constructs a new Marker instance. */
|
|
52
|
-
constructor() {}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Sets the object in charge of drawing the marker.
|
|
56
|
-
* @param drawer The object in charge of drawing the marker.
|
|
57
|
-
*/
|
|
58
|
-
setDrawer(drawer: MarkerSvg) {
|
|
59
|
-
this.drawer_ = drawer;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Get the current drawer for the marker.
|
|
64
|
-
* @return The object in charge of drawing the marker.
|
|
65
|
-
*/
|
|
66
|
-
getDrawer(): MarkerSvg {
|
|
67
|
-
return this.drawer_;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Gets the current location of the marker.
|
|
72
|
-
* @return The current field, connection, or block the marker is on.
|
|
73
|
-
*/
|
|
74
|
-
getCurNode(): ASTNode {
|
|
75
|
-
return this.curNode_;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Set the location of the marker and call the update method.
|
|
80
|
-
* Setting isStack to true will only work if the newLocation is the top most
|
|
81
|
-
* output or previous connection on a stack.
|
|
82
|
-
* @param newNode The new location of the marker.
|
|
83
|
-
*/
|
|
84
|
-
setCurNode(newNode: ASTNode) {
|
|
85
|
-
const oldNode = this.curNode_;
|
|
86
|
-
this.curNode_ = newNode;
|
|
87
|
-
if (this.drawer_) {
|
|
88
|
-
this.drawer_.draw(oldNode, this.curNode_);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Redraw the current marker.
|
|
94
|
-
* @internal
|
|
95
|
-
*/
|
|
96
|
-
draw() {
|
|
97
|
-
if (this.drawer_) {
|
|
98
|
-
this.drawer_.draw(this.curNode_, this.curNode_);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/** Hide the marker SVG. */
|
|
103
|
-
hide() {
|
|
104
|
-
if (this.drawer_) {
|
|
105
|
-
this.drawer_.hide();
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/** Dispose of this marker. */
|
|
110
|
-
dispose() {
|
|
111
|
-
if (this.getDrawer()) {
|
|
112
|
-
this.getDrawer().dispose();
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2019 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview The class representing a cursor that is used to navigate
|
|
9
|
-
* between tab navigable fields.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* The class representing a cursor that is used to navigate
|
|
14
|
-
* between tab navigable fields.
|
|
15
|
-
* @class
|
|
16
|
-
*/
|
|
17
|
-
import * as goog from '../../closure/goog/goog.js';
|
|
18
|
-
goog.declareModuleId('Blockly.TabNavigateCursor');
|
|
19
|
-
|
|
20
|
-
import type {Field} from '../field.js';
|
|
21
|
-
|
|
22
|
-
import {ASTNode} from './ast_node.js';
|
|
23
|
-
import {BasicCursor} from './basic_cursor.js';
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* A cursor for navigating between tab navigable fields.
|
|
28
|
-
* @alias Blockly.TabNavigateCursor
|
|
29
|
-
*/
|
|
30
|
-
export class TabNavigateCursor extends BasicCursor {
|
|
31
|
-
/**
|
|
32
|
-
* Skip all nodes except for tab navigable fields.
|
|
33
|
-
* @param node The AST node to check whether it is valid.
|
|
34
|
-
* @return True if the node should be visited, false otherwise.
|
|
35
|
-
*/
|
|
36
|
-
override validNode_(node: ASTNode|null): boolean {
|
|
37
|
-
let isValid = false;
|
|
38
|
-
const type = node && node.getType();
|
|
39
|
-
if (node) {
|
|
40
|
-
const location = node.getLocation() as Field;
|
|
41
|
-
if (type === ASTNode.types.FIELD && location &&
|
|
42
|
-
location.isTabNavigable() && location.isClickable()) {
|
|
43
|
-
isValid = true;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return isValid;
|
|
47
|
-
}
|
|
48
|
-
}
|