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,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2017 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Utility functions for handling typed variables.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Utility functions for handling typed variables.
|
|
13
|
-
*
|
|
14
|
-
* @namespace Blockly.VariablesDynamic
|
|
15
|
-
*/
|
|
16
|
-
import * as goog from '../closure/goog/goog.js';
|
|
17
|
-
goog.declareModuleId('Blockly.VariablesDynamic');
|
|
18
|
-
|
|
19
|
-
import {Blocks} from './blocks.js';
|
|
20
|
-
import {Msg} from './msg.js';
|
|
21
|
-
import * as xml from './utils/xml.js';
|
|
22
|
-
import {VariableModel} from './variable_model.js';
|
|
23
|
-
import * as Variables from './variables.js';
|
|
24
|
-
import type {Workspace} from './workspace.js';
|
|
25
|
-
import type {WorkspaceSvg} from './workspace_svg.js';
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* String for use in the "custom" attribute of a category in toolbox XML.
|
|
30
|
-
* This string indicates that the category should be dynamically populated with
|
|
31
|
-
* variable blocks.
|
|
32
|
-
* See also Blockly.Variables.CATEGORY_NAME and
|
|
33
|
-
* Blockly.Procedures.CATEGORY_NAME.
|
|
34
|
-
* @alias Blockly.VariablesDynamic.CATEGORY_NAME
|
|
35
|
-
*/
|
|
36
|
-
export const CATEGORY_NAME = 'VARIABLE_DYNAMIC';
|
|
37
|
-
|
|
38
|
-
function stringButtonClickHandler(button: AnyDuringMigration) {
|
|
39
|
-
Variables.createVariableButtonHandler(
|
|
40
|
-
button.getTargetWorkspace(), undefined, 'String');
|
|
41
|
-
}
|
|
42
|
-
export const onCreateVariableButtonClick_String = stringButtonClickHandler;
|
|
43
|
-
function numberButtonClickHandler(button: AnyDuringMigration) {
|
|
44
|
-
Variables.createVariableButtonHandler(
|
|
45
|
-
button.getTargetWorkspace(), undefined, 'Number');
|
|
46
|
-
}
|
|
47
|
-
export const onCreateVariableButtonClick_Number = numberButtonClickHandler;
|
|
48
|
-
|
|
49
|
-
function colourButtonClickHandler(button: AnyDuringMigration) {
|
|
50
|
-
Variables.createVariableButtonHandler(
|
|
51
|
-
button.getTargetWorkspace(), undefined, 'Colour');
|
|
52
|
-
}
|
|
53
|
-
export const onCreateVariableButtonClick_Colour = colourButtonClickHandler;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Construct the elements (blocks and button) required by the flyout for the
|
|
57
|
-
* variable category.
|
|
58
|
-
* @param workspace The workspace containing variables.
|
|
59
|
-
* @return Array of XML elements.
|
|
60
|
-
* @alias Blockly.VariablesDynamic.flyoutCategory
|
|
61
|
-
*/
|
|
62
|
-
export function flyoutCategory(workspace: WorkspaceSvg): Element[] {
|
|
63
|
-
let xmlList = new Array<Element>();
|
|
64
|
-
let button = document.createElement('button');
|
|
65
|
-
button.setAttribute('text', Msg['NEW_STRING_VARIABLE']);
|
|
66
|
-
button.setAttribute('callbackKey', 'CREATE_VARIABLE_STRING');
|
|
67
|
-
xmlList.push(button);
|
|
68
|
-
button = document.createElement('button');
|
|
69
|
-
button.setAttribute('text', Msg['NEW_NUMBER_VARIABLE']);
|
|
70
|
-
button.setAttribute('callbackKey', 'CREATE_VARIABLE_NUMBER');
|
|
71
|
-
xmlList.push(button);
|
|
72
|
-
button = document.createElement('button');
|
|
73
|
-
button.setAttribute('text', Msg['NEW_COLOUR_VARIABLE']);
|
|
74
|
-
button.setAttribute('callbackKey', 'CREATE_VARIABLE_COLOUR');
|
|
75
|
-
xmlList.push(button);
|
|
76
|
-
|
|
77
|
-
workspace.registerButtonCallback(
|
|
78
|
-
'CREATE_VARIABLE_STRING', stringButtonClickHandler);
|
|
79
|
-
workspace.registerButtonCallback(
|
|
80
|
-
'CREATE_VARIABLE_NUMBER', numberButtonClickHandler);
|
|
81
|
-
workspace.registerButtonCallback(
|
|
82
|
-
'CREATE_VARIABLE_COLOUR', colourButtonClickHandler);
|
|
83
|
-
|
|
84
|
-
// AnyDuringMigration because: Argument of type 'WorkspaceSvg' is not
|
|
85
|
-
// assignable to parameter of type 'Workspace'.
|
|
86
|
-
const blockList = flyoutCategoryBlocks(workspace as AnyDuringMigration);
|
|
87
|
-
xmlList = xmlList.concat(blockList);
|
|
88
|
-
return xmlList;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Construct the blocks required by the flyout for the variable category.
|
|
93
|
-
* @param workspace The workspace containing variables.
|
|
94
|
-
* @return Array of XML block elements.
|
|
95
|
-
* @alias Blockly.VariablesDynamic.flyoutCategoryBlocks
|
|
96
|
-
*/
|
|
97
|
-
export function flyoutCategoryBlocks(workspace: Workspace): Element[] {
|
|
98
|
-
const variableModelList = workspace.getAllVariables();
|
|
99
|
-
|
|
100
|
-
const xmlList = [];
|
|
101
|
-
if (variableModelList.length > 0) {
|
|
102
|
-
if (Blocks['variables_set_dynamic']) {
|
|
103
|
-
const firstVariable = variableModelList[variableModelList.length - 1];
|
|
104
|
-
const block = xml.createElement('block');
|
|
105
|
-
block.setAttribute('type', 'variables_set_dynamic');
|
|
106
|
-
// AnyDuringMigration because: Argument of type 'number' is not
|
|
107
|
-
// assignable to parameter of type 'string'.
|
|
108
|
-
block.setAttribute('gap', 24 as AnyDuringMigration);
|
|
109
|
-
// AnyDuringMigration because: Argument of type 'Element | null' is not
|
|
110
|
-
// assignable to parameter of type 'Node'.
|
|
111
|
-
block.appendChild(
|
|
112
|
-
Variables.generateVariableFieldDom(firstVariable) as
|
|
113
|
-
AnyDuringMigration);
|
|
114
|
-
xmlList.push(block);
|
|
115
|
-
}
|
|
116
|
-
if (Blocks['variables_get_dynamic']) {
|
|
117
|
-
variableModelList.sort(VariableModel.compareByName);
|
|
118
|
-
for (let i = 0, variable; variable = variableModelList[i]; i++) {
|
|
119
|
-
const block = xml.createElement('block');
|
|
120
|
-
block.setAttribute('type', 'variables_get_dynamic');
|
|
121
|
-
// AnyDuringMigration because: Argument of type 'number' is not
|
|
122
|
-
// assignable to parameter of type 'string'.
|
|
123
|
-
block.setAttribute('gap', 8 as AnyDuringMigration);
|
|
124
|
-
// AnyDuringMigration because: Argument of type 'Element | null' is not
|
|
125
|
-
// assignable to parameter of type 'Node'.
|
|
126
|
-
block.appendChild(
|
|
127
|
-
Variables.generateVariableFieldDom(variable) as AnyDuringMigration);
|
|
128
|
-
xmlList.push(block);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
return xmlList;
|
|
133
|
-
}
|
package/core/warning.ts
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2012 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview Object representing a warning.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Object representing a warning.
|
|
13
|
-
* @class
|
|
14
|
-
*/
|
|
15
|
-
import * as goog from '../closure/goog/goog.js';
|
|
16
|
-
goog.declareModuleId('Blockly.Warning');
|
|
17
|
-
|
|
18
|
-
// Unused import preserved for side-effects. Remove if unneeded.
|
|
19
|
-
import './events/events_bubble_open.js';
|
|
20
|
-
|
|
21
|
-
import type {BlockSvg} from './block_svg.js';
|
|
22
|
-
import {Bubble} from './bubble.js';
|
|
23
|
-
import * as eventUtils from './events/utils.js';
|
|
24
|
-
import {Icon} from './icon.js';
|
|
25
|
-
import type {Coordinate} from './utils/coordinate.js';
|
|
26
|
-
import * as dom from './utils/dom.js';
|
|
27
|
-
import {Svg} from './utils/svg.js';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Class for a warning.
|
|
32
|
-
* @alias Blockly.Warning
|
|
33
|
-
*/
|
|
34
|
-
export class Warning extends Icon {
|
|
35
|
-
text_: AnyDuringMigration;
|
|
36
|
-
|
|
37
|
-
/** The top-level node of the warning text, or null if not created. */
|
|
38
|
-
private paragraphElement_: SVGTextElement|null = null;
|
|
39
|
-
|
|
40
|
-
/** Does this icon get hidden when the block is collapsed? */
|
|
41
|
-
override collapseHidden = false;
|
|
42
|
-
override bubble_: AnyDuringMigration;
|
|
43
|
-
|
|
44
|
-
/** @param block The block associated with this warning. */
|
|
45
|
-
constructor(block: BlockSvg) {
|
|
46
|
-
super(block);
|
|
47
|
-
this.createIcon();
|
|
48
|
-
// The text_ object can contain multiple warnings.
|
|
49
|
-
this.text_ = Object.create(null);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Draw the warning icon.
|
|
54
|
-
* @param group The icon group.
|
|
55
|
-
*/
|
|
56
|
-
protected override drawIcon_(group: Element) {
|
|
57
|
-
// Triangle with rounded corners.
|
|
58
|
-
dom.createSvgElement(
|
|
59
|
-
Svg.PATH, {
|
|
60
|
-
'class': 'blocklyIconShape',
|
|
61
|
-
'd': 'M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z',
|
|
62
|
-
},
|
|
63
|
-
group);
|
|
64
|
-
// Can't use a real '!' text character since different browsers and
|
|
65
|
-
// operating systems render it differently. Body of exclamation point.
|
|
66
|
-
dom.createSvgElement(
|
|
67
|
-
Svg.PATH, {
|
|
68
|
-
'class': 'blocklyIconSymbol',
|
|
69
|
-
'd': 'm7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z',
|
|
70
|
-
},
|
|
71
|
-
group);
|
|
72
|
-
// Dot of exclamation point.
|
|
73
|
-
dom.createSvgElement(
|
|
74
|
-
Svg.RECT, {
|
|
75
|
-
'class': 'blocklyIconSymbol',
|
|
76
|
-
'x': '7',
|
|
77
|
-
'y': '11',
|
|
78
|
-
'height': '2',
|
|
79
|
-
'width': '2',
|
|
80
|
-
},
|
|
81
|
-
group);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Show or hide the warning bubble.
|
|
86
|
-
* @param visible True if the bubble should be visible.
|
|
87
|
-
*/
|
|
88
|
-
override setVisible(visible: boolean) {
|
|
89
|
-
if (visible === this.isVisible()) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
// AnyDuringMigration because: Property 'block_' does not exist on type
|
|
93
|
-
// 'Warning'.
|
|
94
|
-
eventUtils.fire(new (eventUtils.get(eventUtils.BUBBLE_OPEN))!
|
|
95
|
-
((this as AnyDuringMigration).block_, visible, 'warning'));
|
|
96
|
-
if (visible) {
|
|
97
|
-
this.createBubble_();
|
|
98
|
-
} else {
|
|
99
|
-
this.disposeBubble_();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/** Show the bubble. */
|
|
104
|
-
private createBubble_() {
|
|
105
|
-
this.paragraphElement_ = Bubble.textToDom(this.getText());
|
|
106
|
-
// AnyDuringMigration because: Property 'block_' does not exist on type
|
|
107
|
-
// 'Warning'.
|
|
108
|
-
this.bubble_ = Bubble.createNonEditableBubble(
|
|
109
|
-
this.paragraphElement_, (this as AnyDuringMigration).block_ as BlockSvg,
|
|
110
|
-
this.iconXY_ as Coordinate);
|
|
111
|
-
this.applyColour();
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/** Dispose of the bubble and references to it. */
|
|
115
|
-
private disposeBubble_() {
|
|
116
|
-
this.bubble_.dispose();
|
|
117
|
-
this.bubble_ = null;
|
|
118
|
-
this.paragraphElement_ = null;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Set this warning's text.
|
|
123
|
-
* @param text Warning text (or '' to delete). This supports linebreaks.
|
|
124
|
-
* @param id An ID for this text entry to be able to maintain multiple
|
|
125
|
-
* warnings.
|
|
126
|
-
*/
|
|
127
|
-
setText(text: string, id: string) {
|
|
128
|
-
if (this.text_[id] === text) {
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
if (text) {
|
|
132
|
-
this.text_[id] = text;
|
|
133
|
-
} else {
|
|
134
|
-
delete this.text_[id];
|
|
135
|
-
}
|
|
136
|
-
if (this.isVisible()) {
|
|
137
|
-
this.setVisible(false);
|
|
138
|
-
this.setVisible(true);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Get this warning's texts.
|
|
144
|
-
* @return All texts concatenated into one string.
|
|
145
|
-
*/
|
|
146
|
-
getText(): string {
|
|
147
|
-
const allWarnings = [];
|
|
148
|
-
for (const id in this.text_) {
|
|
149
|
-
allWarnings.push(this.text_[id]);
|
|
150
|
-
}
|
|
151
|
-
return allWarnings.join('\n');
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/** Dispose of this warning. */
|
|
155
|
-
override dispose() {
|
|
156
|
-
// AnyDuringMigration because: Property 'block_' does not exist on type
|
|
157
|
-
// 'Warning'.
|
|
158
|
-
(this as AnyDuringMigration).block_.warning = null;
|
|
159
|
-
super.dispose();
|
|
160
|
-
}
|
|
161
|
-
}
|
package/core/widgetdiv.ts
DELETED
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2013 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @fileoverview A div that floats on top of Blockly. This singleton contains
|
|
9
|
-
* temporary HTML UI widgets that the user is currently interacting with.
|
|
10
|
-
* E.g. text input areas, colour pickers, context menus.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* A div that floats on top of Blockly. This singleton contains
|
|
15
|
-
* temporary HTML UI widgets that the user is currently interacting with.
|
|
16
|
-
* E.g. text input areas, colour pickers, context menus.
|
|
17
|
-
* @namespace Blockly.WidgetDiv
|
|
18
|
-
*/
|
|
19
|
-
import * as goog from '../closure/goog/goog.js';
|
|
20
|
-
goog.declareModuleId('Blockly.WidgetDiv');
|
|
21
|
-
|
|
22
|
-
import * as common from './common.js';
|
|
23
|
-
import * as dom from './utils/dom.js';
|
|
24
|
-
import type {Rect} from './utils/rect.js';
|
|
25
|
-
import type {Size} from './utils/size.js';
|
|
26
|
-
import type {WorkspaceSvg} from './workspace_svg.js';
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
/** The object currently using this container. */
|
|
30
|
-
let owner: AnyDuringMigration = null;
|
|
31
|
-
|
|
32
|
-
/** Optional cleanup function set by whichever object uses the widget. */
|
|
33
|
-
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
34
|
-
// 'Function'.
|
|
35
|
-
let dispose: Function = null as AnyDuringMigration;
|
|
36
|
-
|
|
37
|
-
/** A class name representing the current owner's workspace renderer. */
|
|
38
|
-
let rendererClassName = '';
|
|
39
|
-
|
|
40
|
-
/** A class name representing the current owner's workspace theme. */
|
|
41
|
-
let themeClassName = '';
|
|
42
|
-
|
|
43
|
-
/** The HTML container for popup overlays (e.g. editor widgets). */
|
|
44
|
-
let containerDiv: HTMLDivElement|null;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Returns the HTML container for editor widgets.
|
|
48
|
-
* @return The editor widget container.
|
|
49
|
-
* @alias Blockly.WidgetDiv.getDiv
|
|
50
|
-
*/
|
|
51
|
-
export function getDiv(): HTMLDivElement|null {
|
|
52
|
-
return containerDiv;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Allows unit tests to reset the div.
|
|
57
|
-
* @param newDiv The new value for the DIV field.
|
|
58
|
-
* @alias Blockly.WidgetDiv.testOnly_setDiv
|
|
59
|
-
* @ignore
|
|
60
|
-
*/
|
|
61
|
-
export function testOnly_setDiv(newDiv: HTMLDivElement|null) {
|
|
62
|
-
containerDiv = newDiv;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Create the widget div and inject it onto the page.
|
|
67
|
-
* @alias Blockly.WidgetDiv.createDom
|
|
68
|
-
*/
|
|
69
|
-
export function createDom() {
|
|
70
|
-
if (containerDiv) {
|
|
71
|
-
return; // Already created.
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
containerDiv = document.createElement('div') as HTMLDivElement;
|
|
75
|
-
containerDiv.className = 'blocklyWidgetDiv';
|
|
76
|
-
const container = common.getParentContainer() || document.body;
|
|
77
|
-
container.appendChild(containerDiv);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Initialize and display the widget div. Close the old one if needed.
|
|
82
|
-
* @param newOwner The object that will be using this container.
|
|
83
|
-
* @param rtl Right-to-left (true) or left-to-right (false).
|
|
84
|
-
* @param newDispose Optional cleanup function to be run when the widget is
|
|
85
|
-
* closed.
|
|
86
|
-
* @alias Blockly.WidgetDiv.show
|
|
87
|
-
*/
|
|
88
|
-
export function show(
|
|
89
|
-
newOwner: AnyDuringMigration, rtl: boolean, newDispose: Function) {
|
|
90
|
-
hide();
|
|
91
|
-
owner = newOwner;
|
|
92
|
-
dispose = newDispose;
|
|
93
|
-
const div = containerDiv;
|
|
94
|
-
div!.style.direction = rtl ? 'rtl' : 'ltr';
|
|
95
|
-
div!.style.display = 'block';
|
|
96
|
-
const mainWorkspace = common.getMainWorkspace() as WorkspaceSvg;
|
|
97
|
-
rendererClassName = mainWorkspace.getRenderer().getClassName();
|
|
98
|
-
themeClassName = mainWorkspace.getTheme().getClassName();
|
|
99
|
-
// AnyDuringMigration because: Argument of type 'HTMLDivElement | null' is
|
|
100
|
-
// not assignable to parameter of type 'Element'.
|
|
101
|
-
dom.addClass(div as AnyDuringMigration, rendererClassName);
|
|
102
|
-
// AnyDuringMigration because: Argument of type 'HTMLDivElement | null' is
|
|
103
|
-
// not assignable to parameter of type 'Element'.
|
|
104
|
-
dom.addClass(div as AnyDuringMigration, themeClassName);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Destroy the widget and hide the div.
|
|
109
|
-
* @alias Blockly.WidgetDiv.hide
|
|
110
|
-
*/
|
|
111
|
-
export function hide() {
|
|
112
|
-
if (!isVisible()) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
owner = null;
|
|
116
|
-
|
|
117
|
-
const div = containerDiv;
|
|
118
|
-
div!.style.display = 'none';
|
|
119
|
-
div!.style.left = '';
|
|
120
|
-
div!.style.top = '';
|
|
121
|
-
dispose && dispose();
|
|
122
|
-
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
123
|
-
// 'Function'.
|
|
124
|
-
dispose = null as AnyDuringMigration;
|
|
125
|
-
div!.textContent = '';
|
|
126
|
-
|
|
127
|
-
if (rendererClassName) {
|
|
128
|
-
// AnyDuringMigration because: Argument of type 'HTMLDivElement | null' is
|
|
129
|
-
// not assignable to parameter of type 'Element'.
|
|
130
|
-
dom.removeClass(div as AnyDuringMigration, rendererClassName);
|
|
131
|
-
rendererClassName = '';
|
|
132
|
-
}
|
|
133
|
-
if (themeClassName) {
|
|
134
|
-
// AnyDuringMigration because: Argument of type 'HTMLDivElement | null' is
|
|
135
|
-
// not assignable to parameter of type 'Element'.
|
|
136
|
-
dom.removeClass(div as AnyDuringMigration, themeClassName);
|
|
137
|
-
themeClassName = '';
|
|
138
|
-
}
|
|
139
|
-
(common.getMainWorkspace() as WorkspaceSvg).markFocused();
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Is the container visible?
|
|
144
|
-
* @return True if visible.
|
|
145
|
-
* @alias Blockly.WidgetDiv.isVisible
|
|
146
|
-
*/
|
|
147
|
-
export function isVisible(): boolean {
|
|
148
|
-
return !!owner;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Destroy the widget and hide the div if it is being used by the specified
|
|
153
|
-
* object.
|
|
154
|
-
* @param oldOwner The object that was using this container.
|
|
155
|
-
* @alias Blockly.WidgetDiv.hideIfOwner
|
|
156
|
-
*/
|
|
157
|
-
export function hideIfOwner(oldOwner: AnyDuringMigration) {
|
|
158
|
-
if (owner === oldOwner) {
|
|
159
|
-
hide();
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Set the widget div's position and height. This function does nothing clever:
|
|
164
|
-
* it will not ensure that your widget div ends up in the visible window.
|
|
165
|
-
* @param x Horizontal location (window coordinates, not body).
|
|
166
|
-
* @param y Vertical location (window coordinates, not body).
|
|
167
|
-
* @param height The height of the widget div (pixels).
|
|
168
|
-
*/
|
|
169
|
-
function positionInternal(x: number, y: number, height: number) {
|
|
170
|
-
containerDiv!.style.left = x + 'px';
|
|
171
|
-
containerDiv!.style.top = y + 'px';
|
|
172
|
-
containerDiv!.style.height = height + 'px';
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Position the widget div based on an anchor rectangle.
|
|
177
|
-
* The widget should be placed adjacent to but not overlapping the anchor
|
|
178
|
-
* rectangle. The preferred position is directly below and aligned to the left
|
|
179
|
-
* (LTR) or right (RTL) side of the anchor.
|
|
180
|
-
* @param viewportBBox The bounding rectangle of the current viewport, in window
|
|
181
|
-
* coordinates.
|
|
182
|
-
* @param anchorBBox The bounding rectangle of the anchor, in window
|
|
183
|
-
* coordinates.
|
|
184
|
-
* @param widgetSize The size of the widget that is inside the widget div, in
|
|
185
|
-
* window coordinates.
|
|
186
|
-
* @param rtl Whether the workspace is in RTL mode. This determines horizontal
|
|
187
|
-
* alignment.
|
|
188
|
-
* @alias Blockly.WidgetDiv.positionWithAnchor
|
|
189
|
-
* @internal
|
|
190
|
-
*/
|
|
191
|
-
export function positionWithAnchor(
|
|
192
|
-
viewportBBox: Rect, anchorBBox: Rect, widgetSize: Size, rtl: boolean) {
|
|
193
|
-
const y = calculateY(viewportBBox, anchorBBox, widgetSize);
|
|
194
|
-
const x = calculateX(viewportBBox, anchorBBox, widgetSize, rtl);
|
|
195
|
-
|
|
196
|
-
if (y < 0) {
|
|
197
|
-
positionInternal(x, 0, widgetSize.height + y);
|
|
198
|
-
} else {
|
|
199
|
-
positionInternal(x, y, widgetSize.height);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Calculate an x position (in window coordinates) such that the widget will not
|
|
205
|
-
* be offscreen on the right or left.
|
|
206
|
-
* @param viewportBBox The bounding rectangle of the current viewport, in window
|
|
207
|
-
* coordinates.
|
|
208
|
-
* @param anchorBBox The bounding rectangle of the anchor, in window
|
|
209
|
-
* coordinates.
|
|
210
|
-
* @param widgetSize The dimensions of the widget inside the widget div.
|
|
211
|
-
* @param rtl Whether the Blockly workspace is in RTL mode.
|
|
212
|
-
* @return A valid x-coordinate for the top left corner of the widget div, in
|
|
213
|
-
* window coordinates.
|
|
214
|
-
*/
|
|
215
|
-
function calculateX(
|
|
216
|
-
viewportBBox: Rect, anchorBBox: Rect, widgetSize: Size,
|
|
217
|
-
rtl: boolean): number {
|
|
218
|
-
if (rtl) {
|
|
219
|
-
// Try to align the right side of the field and the right side of widget.
|
|
220
|
-
const widgetLeft = anchorBBox.right - widgetSize.width;
|
|
221
|
-
// Don't go offscreen left.
|
|
222
|
-
const x = Math.max(widgetLeft, viewportBBox.left);
|
|
223
|
-
// But really don't go offscreen right:
|
|
224
|
-
return Math.min(x, viewportBBox.right - widgetSize.width);
|
|
225
|
-
} else {
|
|
226
|
-
// Try to align the left side of the field and the left side of widget.
|
|
227
|
-
// Don't go offscreen right.
|
|
228
|
-
const x = Math.min(anchorBBox.left, viewportBBox.right - widgetSize.width);
|
|
229
|
-
// But left is more important, because that's where the text is.
|
|
230
|
-
return Math.max(x, viewportBBox.left);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* Calculate a y position (in window coordinates) such that the widget will not
|
|
236
|
-
* be offscreen on the top or bottom.
|
|
237
|
-
* @param viewportBBox The bounding rectangle of the current viewport, in window
|
|
238
|
-
* coordinates.
|
|
239
|
-
* @param anchorBBox The bounding rectangle of the anchor, in window
|
|
240
|
-
* coordinates.
|
|
241
|
-
* @param widgetSize The dimensions of the widget inside the widget div.
|
|
242
|
-
* @return A valid y-coordinate for the top left corner of the widget div, in
|
|
243
|
-
* window coordinates.
|
|
244
|
-
*/
|
|
245
|
-
function calculateY(
|
|
246
|
-
viewportBBox: Rect, anchorBBox: Rect, widgetSize: Size): number {
|
|
247
|
-
// Flip the widget vertically if off the bottom.
|
|
248
|
-
// The widget could go off the top of the window, but it would also go off
|
|
249
|
-
// the bottom. The window is just too small.
|
|
250
|
-
if (anchorBBox.bottom + widgetSize.height >= viewportBBox.bottom) {
|
|
251
|
-
// The bottom of the widget is at the top of the field.
|
|
252
|
-
return anchorBBox.top - widgetSize.height;
|
|
253
|
-
} else {
|
|
254
|
-
// The top of the widget is at the bottom of the field.
|
|
255
|
-
return anchorBBox.bottom;
|
|
256
|
-
}
|
|
257
|
-
}
|