blockly 8.0.4 → 8.0.5-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blockly.min.js +2421 -2688
- package/blockly_compressed.js +1499 -1994
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +3 -2
- package/blocks/colour.js +3 -1
- package/blocks/lists.js +94 -22
- package/blocks/logic.js +14 -6
- package/blocks/loops.js +5 -3
- package/blocks/math.js +3 -1
- package/blocks/procedures.js +3 -1
- package/blocks/text.js +14 -6
- package/blocks/variables.js +3 -1
- package/blocks/variables_dynamic.js +3 -1
- package/blocks.d.ts +0 -2
- package/blocks_compressed.js +189 -171
- package/blocks_compressed.js.map +1 -1
- package/closure/goog/base.d.ts +1 -0
- package/closure/goog/base_minimal.d.ts +18 -0
- package/closure/goog/goog.d.ts +25 -0
- package/core/any_aliases.d.ts +1 -0
- package/core/any_aliases.ts +1 -0
- package/core/block.d.ts +779 -0
- package/core/{block.js → block.ts} +610 -719
- package/core/block_animations.d.ts +33 -0
- package/core/{block_animations.js → block_animations.ts} +75 -79
- package/core/block_drag_surface.d.ts +111 -0
- package/core/{block_drag_surface.js → block_drag_surface.ts} +85 -117
- package/core/block_dragger.d.ts +143 -0
- package/core/{block_dragger.js → block_dragger.ts} +139 -176
- package/core/block_svg.d.ts +588 -0
- package/core/{block_svg.js → block_svg.ts} +494 -630
- package/core/blockly.d.ts +562 -0
- package/core/blockly.js +1 -1
- package/core/blockly.ts +749 -0
- package/core/blockly_options.d.ts +69 -0
- package/core/blockly_options.ts +81 -0
- package/core/blocks.d.ts +17 -0
- package/core/{blocks.js → blocks.ts} +4 -8
- package/core/browser_events.d.ts +85 -0
- package/core/{browser_events.js → browser_events.ts} +98 -93
- package/core/bubble.d.ts +279 -0
- package/core/{bubble.js → bubble.ts} +277 -370
- package/core/bubble_dragger.d.ts +73 -0
- package/core/bubble_dragger.ts +229 -0
- package/core/bump_objects.d.ts +34 -0
- package/core/{bump_objects.js → bump_objects.ts} +54 -52
- package/core/clipboard.d.ts +42 -0
- package/core/clipboard.ts +91 -0
- package/core/comment.d.ts +113 -0
- package/core/{comment.js → comment.ts} +135 -185
- package/core/common.d.ts +129 -0
- package/core/{common.js → common.ts} +105 -82
- package/core/component_manager.d.ts +91 -0
- package/core/component_manager.ts +211 -0
- package/core/config.d.ts +23 -0
- package/core/{config.js → config.ts} +12 -19
- package/core/connection.d.ts +232 -0
- package/core/{connection.js → connection.ts} +187 -237
- package/core/connection_checker.d.ts +78 -0
- package/core/{connection_checker.js → connection_checker.ts} +66 -77
- package/core/connection_db.d.ts +91 -0
- package/core/{connection_db.js → connection_db.ts} +62 -87
- package/core/connection_type.d.ts +15 -0
- package/core/{connection_type.js → connection_type.ts} +8 -12
- package/core/constants.d.ts +15 -0
- package/core/{constants.js → constants.ts} +4 -8
- package/core/contextmenu.d.ts +80 -0
- package/core/{contextmenu.js → contextmenu.ts} +118 -153
- package/core/contextmenu_items.d.ts +77 -0
- package/core/contextmenu_items.ts +576 -0
- package/core/contextmenu_registry.d.ts +105 -0
- package/core/contextmenu_registry.ts +179 -0
- package/core/css.d.ts +24 -0
- package/core/{css.js → css.ts} +16 -24
- package/core/delete_area.d.ts +47 -0
- package/core/delete_area.ts +82 -0
- package/core/dialog.d.ts +61 -0
- package/core/dialog.ts +127 -0
- package/core/drag_target.d.ts +63 -0
- package/core/drag_target.ts +94 -0
- package/core/dropdowndiv.d.ts +155 -0
- package/core/{dropdowndiv.js → dropdowndiv.ts} +262 -333
- package/core/events/events.d.ts +102 -0
- package/core/events/events.ts +123 -0
- package/core/events/events_abstract.d.ts +51 -0
- package/core/events/events_abstract.ts +112 -0
- package/core/events/events_block_base.d.ts +31 -0
- package/core/events/events_block_base.ts +65 -0
- package/core/events/events_block_change.d.ts +55 -0
- package/core/events/{events_block_change.js → events_block_change.ts} +45 -48
- package/core/events/events_block_create.d.ts +35 -0
- package/core/events/{events_block_create.js → events_block_create.ts} +30 -35
- package/core/events/events_block_delete.d.ts +36 -0
- package/core/events/{events_block_delete.js → events_block_delete.ts} +34 -39
- package/core/events/events_block_drag.d.ts +36 -0
- package/core/events/events_block_drag.ts +82 -0
- package/core/events/events_block_move.d.ts +51 -0
- package/core/events/{events_block_move.js → events_block_move.ts} +54 -50
- package/core/events/events_bubble_open.d.ts +35 -0
- package/core/events/events_bubble_open.ts +82 -0
- package/core/events/events_click.d.ts +36 -0
- package/core/events/{events_click.js → events_click.ts} +27 -30
- package/core/events/events_comment_base.d.ts +39 -0
- package/core/events/events_comment_base.ts +107 -0
- package/core/events/events_comment_change.d.ts +43 -0
- package/core/events/{events_comment_change.js → events_comment_change.ts} +31 -28
- package/core/events/events_comment_create.d.ts +35 -0
- package/core/events/{events_comment_create.js → events_comment_create.ts} +24 -26
- package/core/events/events_comment_delete.d.ts +35 -0
- package/core/events/{events_comment_delete.js → events_comment_delete.ts} +20 -24
- package/core/events/events_comment_move.d.ts +55 -0
- package/core/events/{events_comment_move.js → events_comment_move.ts} +39 -42
- package/core/events/events_marker_move.d.ts +40 -0
- package/core/events/events_marker_move.ts +99 -0
- package/core/events/events_selected.d.ts +34 -0
- package/core/events/events_selected.ts +78 -0
- package/core/events/events_theme_change.d.ts +30 -0
- package/core/events/{events_theme_change.js → events_theme_change.ts} +19 -24
- package/core/events/events_toolbox_item_select.d.ts +34 -0
- package/core/events/events_toolbox_item_select.ts +79 -0
- package/core/events/events_trashcan_open.d.ts +31 -0
- package/core/events/events_trashcan_open.ts +68 -0
- package/core/events/events_ui.d.ts +37 -0
- package/core/events/{events_ui.js → events_ui.ts} +27 -26
- package/core/events/events_ui_base.d.ts +26 -0
- package/core/events/{events_ui_base.js → events_ui_base.ts} +17 -26
- package/core/events/events_var_base.d.ts +31 -0
- package/core/events/events_var_base.ts +65 -0
- package/core/events/events_var_create.d.ts +35 -0
- package/core/events/{events_var_create.js → events_var_create.ts} +24 -25
- package/core/events/events_var_delete.d.ts +35 -0
- package/core/events/{events_var_delete.js → events_var_delete.ts} +24 -25
- package/core/events/events_var_rename.d.ts +36 -0
- package/core/events/{events_var_rename.js → events_var_rename.ts} +25 -26
- package/core/events/events_viewport.d.ts +39 -0
- package/core/events/events_viewport.ts +100 -0
- package/core/events/utils.d.ts +272 -0
- package/core/events/{utils.js → utils.ts} +148 -219
- package/core/events/workspace_events.d.ts +36 -0
- package/core/events/workspace_events.ts +86 -0
- package/core/extensions.d.ts +107 -0
- package/core/{extensions.js → extensions.ts} +153 -172
- package/core/field.d.ts +534 -0
- package/core/{field.js → field.ts} +413 -489
- package/core/field_angle.d.ts +176 -0
- package/core/field_angle.ts +563 -0
- package/core/field_checkbox.d.ts +124 -0
- package/core/field_checkbox.ts +243 -0
- package/core/field_colour.d.ts +200 -0
- package/core/field_colour.ts +632 -0
- package/core/field_dropdown.d.ts +222 -0
- package/core/{field_dropdown.js → field_dropdown.ts} +277 -299
- package/core/field_image.d.ts +134 -0
- package/core/field_image.ts +282 -0
- package/core/field_label.d.ts +71 -0
- package/core/field_label.ts +152 -0
- package/core/field_label_serializable.d.ts +42 -0
- package/core/field_label_serializable.ts +76 -0
- package/core/field_multilineinput.d.ts +146 -0
- package/core/{field_multilineinput.js → field_multilineinput.ts} +166 -163
- package/core/field_number.d.ts +156 -0
- package/core/{field_number.js → field_number.ts} +110 -123
- package/core/field_registry.d.ts +45 -0
- package/core/{field_registry.js → field_registry.ts} +37 -30
- package/core/field_textinput.d.ts +219 -0
- package/core/field_textinput.ts +591 -0
- package/core/field_variable.d.ts +217 -0
- package/core/{field_variable.js → field_variable.ts} +174 -187
- package/core/flyout_base.d.ts +459 -0
- package/core/{flyout_base.js → flyout_base.ts} +429 -518
- package/core/flyout_button.d.ts +81 -0
- package/core/flyout_button.ts +292 -0
- package/core/flyout_horizontal.d.ts +82 -0
- package/core/{flyout_horizontal.js → flyout_horizontal.ts} +97 -107
- package/core/flyout_metrics_manager.d.ts +40 -0
- package/core/{flyout_metrics_manager.js → flyout_metrics_manager.ts} +22 -34
- package/core/flyout_vertical.d.ts +83 -0
- package/core/{flyout_vertical.js → flyout_vertical.ts} +106 -117
- package/core/generator.d.ts +205 -0
- package/core/{generator.js → generator.ts} +168 -193
- package/core/gesture.d.ts +357 -0
- package/core/{gesture.js → gesture.ts} +289 -369
- package/core/grid.d.ts +83 -0
- package/core/grid.ts +192 -0
- package/core/icon.d.ts +78 -0
- package/core/icon.ts +189 -0
- package/core/inject.d.ts +15 -0
- package/core/{inject.js → inject.ts} +101 -100
- package/core/input.d.ts +128 -0
- package/core/input.ts +309 -0
- package/core/input_types.d.ts +14 -0
- package/core/{input_types.js → input_types.ts} +8 -12
- package/core/insertion_marker_manager.d.ts +212 -0
- package/core/{insertion_marker_manager.js → insertion_marker_manager.ts} +234 -236
- package/core/interfaces/i_ast_node_location.d.ts +11 -0
- package/core/interfaces/{i_ast_node_location.js → i_ast_node_location.ts} +4 -7
- package/core/interfaces/i_ast_node_location_svg.d.ts +22 -0
- package/core/interfaces/i_ast_node_location_svg.ts +37 -0
- package/core/interfaces/i_ast_node_location_with_block.d.ts +18 -0
- package/core/interfaces/i_ast_node_location_with_block.ts +38 -0
- package/core/interfaces/i_autohideable.d.ts +18 -0
- package/core/interfaces/i_autohideable.ts +34 -0
- package/core/interfaces/i_block_dragger.d.ts +43 -0
- package/core/interfaces/i_block_dragger.ts +67 -0
- package/core/interfaces/i_bounded_element.d.ts +24 -0
- package/core/interfaces/i_bounded_element.ts +42 -0
- package/core/interfaces/i_bubble.d.ts +59 -0
- package/core/interfaces/i_bubble.ts +88 -0
- package/core/interfaces/i_collapsible_toolbox_item.d.ts +26 -0
- package/core/interfaces/i_collapsible_toolbox_item.ts +47 -0
- package/core/interfaces/i_component.d.ts +17 -0
- package/core/interfaces/{i_component.js → i_component.ts} +9 -14
- package/core/interfaces/i_connection_checker.d.ts +69 -0
- package/core/interfaces/i_connection_checker.ts +102 -0
- package/core/interfaces/i_contextmenu.d.ts +13 -0
- package/core/interfaces/i_contextmenu.ts +26 -0
- package/core/interfaces/i_copyable.d.ts +24 -0
- package/core/interfaces/i_copyable.ts +40 -0
- package/core/interfaces/i_deletable.d.ts +16 -0
- package/core/interfaces/{i_deletable.js → i_deletable.ts} +9 -13
- package/core/interfaces/i_delete_area.d.ts +25 -0
- package/core/interfaces/i_delete_area.ts +46 -0
- package/core/interfaces/i_drag_target.d.ts +53 -0
- package/core/interfaces/i_drag_target.ts +84 -0
- package/core/interfaces/i_draggable.d.ts +12 -0
- package/core/interfaces/{i_draggable.js → i_draggable.ts} +4 -10
- package/core/interfaces/i_flyout.d.ts +134 -0
- package/core/interfaces/i_flyout.ts +186 -0
- package/core/interfaces/i_keyboard_accessible.d.ts +18 -0
- package/core/interfaces/i_keyboard_accessible.ts +35 -0
- package/core/interfaces/i_metrics_manager.d.ts +117 -0
- package/core/interfaces/i_metrics_manager.ts +151 -0
- package/core/interfaces/i_movable.d.ts +16 -0
- package/core/interfaces/{i_movable.js → i_movable.ts} +9 -13
- package/core/interfaces/i_positionable.d.ts +27 -0
- package/core/interfaces/i_positionable.ts +50 -0
- package/core/interfaces/i_registrable.d.ts +11 -0
- package/core/interfaces/{i_registrable.js → i_registrable.ts} +3 -7
- package/core/interfaces/i_registrable_field.d.ts +17 -0
- package/core/interfaces/{i_registrable_field.js → i_registrable_field.ts} +8 -16
- package/core/interfaces/i_selectable.d.ts +18 -0
- package/core/interfaces/i_selectable.ts +34 -0
- package/core/interfaces/i_selectable_toolbox_item.d.ts +42 -0
- package/core/interfaces/i_selectable_toolbox_item.ts +64 -0
- package/core/interfaces/i_serializer.d.ts +42 -0
- package/core/interfaces/i_serializer.ts +65 -0
- package/core/interfaces/i_styleable.d.ts +21 -0
- package/core/interfaces/i_styleable.ts +35 -0
- package/core/interfaces/i_toolbox.d.ts +85 -0
- package/core/interfaces/i_toolbox.ts +127 -0
- package/core/interfaces/i_toolbox_item.d.ts +62 -0
- package/core/interfaces/i_toolbox_item.ts +84 -0
- package/core/internal_constants.d.ts +40 -0
- package/core/{internal_constants.js → internal_constants.ts} +13 -18
- package/core/keyboard_nav/ast_node.d.ts +239 -0
- package/core/keyboard_nav/{ast_node.js → ast_node.ts} +207 -231
- package/core/keyboard_nav/basic_cursor.d.ts +88 -0
- package/core/keyboard_nav/{basic_cursor.js → basic_cursor.ts} +55 -66
- package/core/keyboard_nav/cursor.d.ts +41 -0
- package/core/keyboard_nav/{cursor.js → cursor.ts} +25 -35
- package/core/keyboard_nav/marker.d.ts +58 -0
- package/core/keyboard_nav/{marker.js → marker.ts} +36 -55
- package/core/keyboard_nav/tab_navigate_cursor.d.ts +19 -0
- package/core/keyboard_nav/{tab_navigate_cursor.js → tab_navigate_cursor.ts} +11 -15
- package/core/main.d.ts +11 -0
- package/core/main.js +303 -0
- package/core/marker_manager.d.ts +85 -0
- package/core/marker_manager.ts +181 -0
- package/core/menu.d.ts +149 -0
- package/core/{menu.js → menu.ts} +141 -174
- package/core/menuitem.d.ts +118 -0
- package/core/menuitem.ts +240 -0
- package/core/metrics_manager.d.ts +201 -0
- package/core/{metrics_manager.js → metrics_manager.ts} +117 -156
- package/core/msg.d.ts +9 -0
- package/core/{msg.js → msg.ts} +4 -8
- package/core/mutator.d.ts +128 -0
- package/core/{mutator.js → mutator.ts} +196 -211
- package/core/names.d.ts +124 -0
- package/core/names.ts +267 -0
- package/core/options.d.ts +137 -0
- package/core/{options.js → options.ts} +147 -173
- package/core/positionable_helpers.d.ts +88 -0
- package/core/{positionable_helpers.js → positionable_helpers.ts} +63 -70
- package/core/procedures.d.ts +108 -0
- package/core/{procedures.js → procedures.ts} +143 -152
- package/core/registry.d.ts +137 -0
- package/core/registry.ts +339 -0
- package/core/rendered_connection.d.ts +191 -0
- package/core/{rendered_connection.js → rendered_connection.ts} +164 -184
- package/core/renderers/common/block_rendering.d.ts +114 -0
- package/core/renderers/common/block_rendering.ts +164 -0
- package/core/renderers/common/constants.d.ts +458 -0
- package/core/renderers/common/constants.ts +1124 -0
- package/core/renderers/common/debug.d.ts +28 -0
- package/core/renderers/common/{debug.js → debug.ts} +14 -20
- package/core/renderers/common/debugger.d.ts +120 -0
- package/core/renderers/common/{debugger.js → debugger.ts} +100 -124
- package/core/renderers/common/drawer.d.ts +132 -0
- package/core/renderers/common/{drawer.js → drawer.ts} +112 -137
- package/core/renderers/common/i_path_object.d.ts +117 -0
- package/core/renderers/common/i_path_object.ts +161 -0
- package/core/renderers/common/info.d.ts +194 -0
- package/core/renderers/common/{info.js → info.ts} +165 -222
- package/core/renderers/common/marker_svg.d.ts +220 -0
- package/core/renderers/common/marker_svg.ts +680 -0
- package/core/renderers/common/path_object.d.ts +146 -0
- package/core/renderers/common/path_object.ts +272 -0
- package/core/renderers/common/renderer.d.ts +157 -0
- package/core/renderers/common/renderer.ts +271 -0
- package/core/renderers/geras/constants.d.ts +23 -0
- package/core/renderers/geras/constants.ts +61 -0
- package/core/renderers/geras/drawer.d.ts +43 -0
- package/core/renderers/geras/{drawer.js → drawer.ts} +40 -84
- package/core/renderers/geras/geras.d.ts +11 -0
- package/core/renderers/geras/geras.ts +37 -0
- package/core/renderers/geras/highlight_constants.d.ts +108 -0
- package/core/renderers/geras/{highlight_constants.js → highlight_constants.ts} +107 -69
- package/core/renderers/geras/highlighter.d.ts +98 -0
- package/core/renderers/geras/{highlighter.js → highlighter.ts} +81 -86
- package/core/renderers/geras/info.d.ts +45 -0
- package/core/renderers/geras/{info.js → info.ts} +61 -99
- package/core/renderers/geras/measurables/inline_input.d.ts +23 -0
- package/core/renderers/geras/measurables/inline_input.ts +51 -0
- package/core/renderers/geras/measurables/statement_input.d.ts +23 -0
- package/core/renderers/geras/measurables/statement_input.ts +50 -0
- package/core/renderers/geras/path_object.d.ts +47 -0
- package/core/renderers/geras/{path_object.js → path_object.ts} +46 -74
- package/core/renderers/geras/renderer.d.ts +69 -0
- package/core/renderers/geras/renderer.ts +126 -0
- package/core/renderers/measurables/base.d.ts +27 -0
- package/core/renderers/measurables/base.ts +53 -0
- package/core/renderers/measurables/bottom_row.d.ts +61 -0
- package/core/renderers/measurables/bottom_row.ts +120 -0
- package/core/renderers/measurables/connection.d.ts +25 -0
- package/core/renderers/measurables/connection.ts +52 -0
- package/core/renderers/measurables/external_value_input.d.ts +27 -0
- package/core/renderers/measurables/external_value_input.ts +65 -0
- package/core/renderers/measurables/field.d.ts +30 -0
- package/core/renderers/measurables/field.ts +63 -0
- package/core/renderers/measurables/hat.d.ts +21 -0
- package/core/renderers/measurables/{hat.js → hat.ts} +12 -14
- package/core/renderers/measurables/icon.d.ts +26 -0
- package/core/renderers/measurables/{icon.js → icon.ts} +14 -18
- package/core/renderers/measurables/in_row_spacer.d.ts +21 -0
- package/core/renderers/measurables/in_row_spacer.ts +44 -0
- package/core/renderers/measurables/inline_input.d.ts +24 -0
- package/core/renderers/measurables/{inline_input.js → inline_input.ts} +22 -26
- package/core/renderers/measurables/input_connection.d.ts +29 -0
- package/core/renderers/measurables/input_connection.ts +66 -0
- package/core/renderers/measurables/input_row.d.ts +30 -0
- package/core/renderers/measurables/{input_row.js → input_row.ts} +24 -31
- package/core/renderers/measurables/jagged_edge.d.ts +20 -0
- package/core/renderers/measurables/{jagged_edge.js → jagged_edge.ts} +10 -13
- package/core/renderers/measurables/next_connection.d.ts +23 -0
- package/core/renderers/measurables/next_connection.ts +47 -0
- package/core/renderers/measurables/output_connection.d.ts +26 -0
- package/core/renderers/measurables/output_connection.ts +56 -0
- package/core/renderers/measurables/previous_connection.d.ts +23 -0
- package/core/renderers/measurables/previous_connection.ts +47 -0
- package/core/renderers/measurables/round_corner.d.ts +21 -0
- package/core/renderers/measurables/round_corner.ts +49 -0
- package/core/renderers/measurables/row.d.ts +141 -0
- package/core/renderers/measurables/row.ts +225 -0
- package/core/renderers/measurables/spacer_row.d.ts +29 -0
- package/core/renderers/measurables/spacer_row.ts +55 -0
- package/core/renderers/measurables/square_corner.d.ts +21 -0
- package/core/renderers/measurables/square_corner.ts +47 -0
- package/core/renderers/measurables/statement_input.d.ts +22 -0
- package/core/renderers/measurables/{statement_input.js → statement_input.ts} +14 -18
- package/core/renderers/measurables/top_row.d.ts +56 -0
- package/core/renderers/measurables/top_row.ts +122 -0
- package/core/renderers/measurables/types.d.ts +235 -0
- package/core/renderers/measurables/types.ts +332 -0
- package/core/renderers/minimalist/constants.d.ts +14 -0
- package/core/renderers/minimalist/{constants.js → constants.ts} +5 -10
- package/core/renderers/minimalist/drawer.d.ts +21 -0
- package/core/renderers/minimalist/drawer.ts +38 -0
- package/core/renderers/minimalist/info.d.ts +30 -0
- package/core/renderers/minimalist/info.ts +52 -0
- package/core/renderers/minimalist/minimalist.d.ts +6 -0
- package/core/renderers/minimalist/minimalist.ts +22 -0
- package/core/renderers/minimalist/renderer.d.ts +41 -0
- package/core/renderers/minimalist/renderer.ts +71 -0
- package/core/renderers/thrasos/info.d.ts +40 -0
- package/core/renderers/thrasos/{info.js → info.ts} +66 -67
- package/core/renderers/thrasos/renderer.d.ts +25 -0
- package/core/renderers/thrasos/renderer.ts +48 -0
- package/core/renderers/thrasos/thrasos.d.ts +4 -0
- package/core/renderers/thrasos/thrasos.ts +20 -0
- package/core/renderers/zelos/constants.d.ts +186 -0
- package/core/renderers/zelos/{constants.js → constants.ts} +294 -441
- package/core/renderers/zelos/drawer.d.ts +47 -0
- package/core/renderers/zelos/{drawer.js → drawer.ts} +73 -95
- package/core/renderers/zelos/info.d.ts +88 -0
- package/core/renderers/zelos/{info.js → info.ts} +111 -142
- package/core/renderers/zelos/marker_svg.d.ts +46 -0
- package/core/renderers/zelos/marker_svg.ts +151 -0
- package/core/renderers/zelos/measurables/bottom_row.d.ts +27 -0
- package/core/renderers/zelos/measurables/bottom_row.ts +53 -0
- package/core/renderers/zelos/measurables/inputs.d.ts +23 -0
- package/core/renderers/zelos/measurables/{inputs.js → inputs.ts} +14 -15
- package/core/renderers/zelos/measurables/row_elements.d.ts +21 -0
- package/core/renderers/zelos/measurables/row_elements.ts +45 -0
- package/core/renderers/zelos/measurables/top_row.d.ts +29 -0
- package/core/renderers/zelos/measurables/{top_row.js → top_row.ts} +14 -27
- package/core/renderers/zelos/path_object.d.ts +77 -0
- package/core/renderers/zelos/path_object.ts +215 -0
- package/core/renderers/zelos/renderer.d.ts +74 -0
- package/core/renderers/zelos/renderer.ts +142 -0
- package/core/renderers/zelos/zelos.d.ts +12 -0
- package/core/renderers/zelos/zelos.ts +39 -0
- package/core/scrollbar.d.ts +277 -0
- package/core/{scrollbar.js → scrollbar.ts} +307 -328
- package/core/scrollbar_pair.d.ts +105 -0
- package/core/{scrollbar_pair.js → scrollbar_pair.ts} +71 -79
- package/core/serialization/blocks.d.ts +98 -0
- package/core/serialization/{blocks.js → blocks.ts} +229 -228
- package/core/serialization/exceptions.d.ts +73 -0
- package/core/serialization/exceptions.ts +98 -0
- package/core/serialization/priorities.d.ts +15 -0
- package/core/serialization/{priorities.js → priorities.ts} +4 -10
- package/core/serialization/registry.d.ts +20 -0
- package/core/serialization/{registry.js → registry.ts} +11 -13
- package/core/serialization/variables.d.ts +14 -0
- package/core/serialization/{variables.js → variables.ts} +30 -32
- package/core/serialization/workspaces.d.ts +28 -0
- package/core/serialization/{workspaces.js → workspaces.ts} +30 -27
- package/core/shortcut_items.d.ts +61 -0
- package/core/{shortcut_items.js → shortcut_items.ts} +121 -157
- package/core/shortcut_registry.d.ts +151 -0
- package/core/shortcut_registry.ts +355 -0
- package/core/sprites.d.ts +19 -0
- package/core/{sprites.js → sprites.ts} +4 -6
- package/core/theme/classic.d.ts +12 -0
- package/core/theme/{classic.js → classic.ts} +5 -7
- package/core/theme/themes.d.ts +8 -0
- package/core/theme/themes.ts +22 -0
- package/core/theme/zelos.d.ts +11 -0
- package/core/theme/{zelos.js → zelos.ts} +4 -7
- package/core/theme.d.ts +142 -0
- package/core/theme.ts +221 -0
- package/core/theme_manager.d.ts +81 -0
- package/core/theme_manager.ts +186 -0
- package/core/toolbox/category.d.ts +239 -0
- package/core/toolbox/category.ts +679 -0
- package/core/toolbox/collapsible_category.d.ts +91 -0
- package/core/toolbox/collapsible_category.ts +273 -0
- package/core/toolbox/separator.d.ts +39 -0
- package/core/toolbox/separator.ts +105 -0
- package/core/toolbox/toolbox.d.ts +352 -0
- package/core/toolbox/{toolbox.js → toolbox.ts} +316 -432
- package/core/toolbox/toolbox_item.d.ts +85 -0
- package/core/toolbox/toolbox_item.ts +147 -0
- package/core/tooltip.d.ts +126 -0
- package/core/{tooltip.js → tooltip.ts} +136 -214
- package/core/touch.d.ts +121 -0
- package/core/touch.ts +306 -0
- package/core/touch_gesture.d.ts +115 -0
- package/core/{touch_gesture.js → touch_gesture.ts} +87 -125
- package/core/trashcan.d.ts +195 -0
- package/core/{trashcan.js → trashcan.ts} +226 -312
- package/core/utils/aria.d.ts +67 -0
- package/core/utils/{aria.js → aria.ts} +47 -61
- package/core/utils/array.d.ts +14 -0
- package/core/utils/{array.js → array.ts} +10 -12
- package/core/utils/colour.d.ts +103 -0
- package/core/utils/{colour.js → colour.ts} +60 -72
- package/core/utils/coordinate.d.ts +72 -0
- package/core/utils/coordinate.ts +124 -0
- package/core/utils/deprecation.d.ts +17 -0
- package/core/utils/{deprecation.js → deprecation.ts} +11 -11
- package/core/utils/dom.d.ts +165 -0
- package/core/utils/{dom.js → dom.ts} +125 -147
- package/core/utils/idgenerator.d.ts +25 -0
- package/core/utils/{idgenerator.js → idgenerator.ts} +15 -18
- package/core/utils/keycodes.d.ts +137 -0
- package/core/utils/keycodes.ts +169 -0
- package/core/utils/math.d.ts +30 -0
- package/core/utils/{math.js → math.ts} +17 -19
- package/core/utils/metrics.d.ts +64 -0
- package/core/utils/metrics.ts +97 -0
- package/core/utils/object.d.ts +35 -0
- package/core/utils/{object.js → object.ts} +30 -26
- package/core/utils/parsing.d.ts +50 -0
- package/core/utils/{parsing.js → parsing.ts} +50 -50
- package/core/utils/rect.d.ts +38 -0
- package/core/utils/{rect.js → rect.ts} +18 -31
- package/core/utils/sentinel.d.ts +11 -0
- package/core/utils/{sentinel.js → sentinel.ts} +3 -5
- package/core/utils/size.d.ts +27 -0
- package/core/utils/{size.js → size.ts} +12 -26
- package/core/utils/string.d.ts +55 -0
- package/core/utils/{string.js → string.ts} +64 -61
- package/core/utils/style.d.ts +127 -0
- package/core/utils/{style.js → style.ts} +102 -92
- package/core/utils/svg.d.ts +68 -0
- package/core/utils/svg.ts +88 -0
- package/core/utils/svg_math.d.ts +70 -0
- package/core/utils/{svg_math.js → svg_math.ts} +72 -71
- package/core/utils/svg_paths.d.ts +101 -0
- package/core/utils/{svg_paths.js → svg_paths.ts} +56 -65
- package/core/utils/toolbox.d.ts +193 -0
- package/core/utils/toolbox.ts +433 -0
- package/core/utils/useragent.d.ts +33 -0
- package/core/utils/useragent.ts +135 -0
- package/core/utils/xml.d.ts +52 -0
- package/core/utils/{xml.js → xml.ts} +26 -36
- package/core/utils.d.ts +217 -0
- package/core/utils.ts +428 -0
- package/core/variable_map.d.ts +141 -0
- package/core/{variable_map.js → variable_map.ts} +131 -149
- package/core/variable_model.d.ts +40 -0
- package/core/variable_model.ts +82 -0
- package/core/variables.d.ts +181 -0
- package/core/{variables.js → variables.ts} +206 -188
- package/core/variables_dynamic.d.ts +38 -0
- package/core/{variables_dynamic.js → variables_dynamic.ts} +47 -43
- package/core/warning.d.ts +50 -0
- package/core/{warning.js → warning.ts} +52 -66
- package/core/widgetdiv.d.ts +69 -0
- package/core/widgetdiv.ts +257 -0
- package/core/workspace.d.ts +386 -0
- package/core/workspace.ts +801 -0
- package/core/workspace_audio.d.ts +47 -0
- package/core/{workspace_audio.js → workspace_audio.ts} +47 -60
- package/core/workspace_comment.d.ts +170 -0
- package/core/workspace_comment.ts +398 -0
- package/core/workspace_comment_svg.d.ts +329 -0
- package/core/{workspace_comment_svg.js → workspace_comment_svg.ts} +347 -444
- package/core/workspace_drag_surface_svg.d.ts +68 -0
- package/core/{workspace_drag_surface_svg.js → workspace_drag_surface_svg.ts} +75 -82
- package/core/workspace_dragger.d.ts +48 -0
- package/core/workspace_dragger.ts +104 -0
- package/core/workspace_svg.d.ts +920 -0
- package/core/{workspace_svg.js → workspace_svg.ts} +855 -935
- package/core/xml.d.ts +117 -0
- package/core/{xml.js → xml.ts} +306 -326
- package/core/zoom_controls.d.ts +130 -0
- package/core/{zoom_controls.js → zoom_controls.ts} +185 -251
- package/core.d.ts +1 -3
- package/core.js +1 -2
- package/dart.d.ts +0 -3
- package/dart_compressed.js +387 -99
- package/dart_compressed.js.map +1 -1
- package/generators/dart/all.js +2 -0
- package/generators/dart/colour.js +1 -1
- package/generators/dart/lists.js +1 -1
- package/generators/dart/logic.js +1 -1
- package/generators/dart/loops.js +1 -1
- package/generators/dart/math.js +1 -1
- package/generators/dart/procedures.js +1 -1
- package/generators/dart/text.js +1 -1
- package/generators/dart/variables.js +1 -1
- package/generators/dart/variables_dynamic.js +1 -1
- package/generators/dart.js +1 -2
- package/generators/javascript/all.js +2 -0
- package/generators/javascript/colour.js +1 -1
- package/generators/javascript/lists.js +1 -1
- package/generators/javascript/logic.js +1 -1
- package/generators/javascript/loops.js +1 -1
- package/generators/javascript/math.js +4 -4
- package/generators/javascript/procedures.js +1 -1
- package/generators/javascript/text.js +2 -2
- package/generators/javascript/variables.js +1 -1
- package/generators/javascript/variables_dynamic.js +1 -1
- package/generators/javascript.js +1 -3
- package/generators/lua/all.js +2 -0
- package/generators/lua/colour.js +1 -1
- package/generators/lua/lists.js +1 -1
- package/generators/lua/logic.js +1 -1
- package/generators/lua/loops.js +1 -1
- package/generators/lua/math.js +1 -1
- package/generators/lua/procedures.js +1 -1
- package/generators/lua/text.js +1 -1
- package/generators/lua/variables.js +1 -1
- package/generators/lua/variables_dynamic.js +1 -1
- package/generators/lua.js +1 -2
- package/generators/php/all.js +2 -0
- package/generators/php/colour.js +1 -1
- package/generators/php/lists.js +1 -2
- package/generators/php/logic.js +1 -1
- package/generators/php/loops.js +1 -1
- package/generators/php/math.js +1 -1
- package/generators/php/procedures.js +1 -1
- package/generators/php/text.js +1 -1
- package/generators/php/variables.js +1 -1
- package/generators/php/variables_dynamic.js +1 -1
- package/generators/php.js +1 -2
- package/generators/python/all.js +2 -0
- package/generators/python/colour.js +3 -3
- package/generators/python/lists.js +1 -1
- package/generators/python/logic.js +1 -1
- package/generators/python/loops.js +4 -7
- package/generators/python/math.js +1 -1
- package/generators/python/procedures.js +1 -1
- package/generators/python/text.js +1 -1
- package/generators/python/variables.js +1 -1
- package/generators/python/variables_dynamic.js +1 -1
- package/generators/python.js +1 -2
- package/index.d.ts +2 -8
- package/javascript.d.ts +0 -3
- package/javascript_compressed.js +314 -104
- package/javascript_compressed.js.map +1 -1
- package/lua.d.ts +0 -3
- package/lua_compressed.js +399 -81
- package/lua_compressed.js.map +1 -1
- package/msg/ab.js +420 -420
- package/msg/ace.js +420 -420
- package/msg/af.js +420 -420
- package/msg/am.js +420 -420
- package/msg/ar.js +420 -420
- package/msg/ast.js +420 -420
- package/msg/az.js +420 -420
- package/msg/ba.js +420 -420
- package/msg/bcc.js +420 -420
- package/msg/be-tarask.js +420 -420
- package/msg/be.js +420 -420
- package/msg/bg.js +420 -420
- package/msg/bn.js +420 -420
- package/msg/br.js +420 -420
- package/msg/bs.js +420 -420
- package/msg/ca.js +420 -420
- package/msg/cdo.js +420 -420
- package/msg/cs.js +420 -420
- package/msg/da.js +420 -420
- package/msg/de.js +420 -420
- package/msg/diq.js +420 -420
- package/msg/dty.js +420 -420
- package/msg/ee.js +420 -420
- package/msg/el.js +420 -420
- package/msg/en-gb.js +420 -420
- package/msg/en.js +420 -420
- package/msg/eo.js +420 -420
- package/msg/es.js +420 -420
- package/msg/et.js +420 -420
- package/msg/eu.js +420 -420
- package/msg/fa.js +420 -420
- package/msg/fi.js +420 -420
- package/msg/fo.js +420 -420
- package/msg/fr.js +420 -420
- package/msg/frr.js +420 -420
- package/msg/gl.js +420 -420
- package/msg/gn.js +420 -420
- package/msg/gor.js +420 -420
- package/msg/ha.js +420 -420
- package/msg/hak.js +420 -420
- package/msg/he.js +420 -420
- package/msg/hi.js +420 -420
- package/msg/hr.js +420 -420
- package/msg/hrx.js +420 -420
- package/msg/hu.js +420 -420
- package/msg/hy.js +420 -420
- package/msg/ia.js +420 -420
- package/msg/id.js +420 -420
- package/msg/ig.js +420 -420
- package/msg/inh.js +420 -420
- package/msg/is.js +420 -420
- package/msg/it.js +420 -420
- package/msg/ja.js +420 -420
- package/msg/ka.js +420 -420
- package/msg/kab.js +420 -420
- package/msg/kbd-cyrl.js +420 -420
- package/msg/km.js +420 -420
- package/msg/kn.js +420 -420
- package/msg/ko.js +420 -420
- package/msg/ksh.js +420 -420
- package/msg/ku-latn.js +420 -420
- package/msg/ky.js +420 -420
- package/msg/la.js +420 -420
- package/msg/lb.js +420 -420
- package/msg/lki.js +420 -420
- package/msg/lo.js +420 -420
- package/msg/lrc.js +420 -420
- package/msg/lt.js +420 -420
- package/msg/lv.js +420 -420
- package/msg/mg.js +420 -420
- package/msg/mk.js +420 -420
- package/msg/ml.js +420 -420
- package/msg/mnw.js +420 -420
- package/msg/ms.js +420 -420
- package/msg/my.js +420 -420
- package/msg/mzn.js +420 -420
- package/msg/nb.js +420 -420
- package/msg/ne.js +420 -420
- package/msg/nl.js +420 -420
- package/msg/oc.js +420 -420
- package/msg/olo.js +420 -420
- package/msg/pa.js +420 -420
- package/msg/pl.js +420 -420
- package/msg/pms.js +420 -420
- package/msg/ps.js +420 -420
- package/msg/pt-br.js +420 -420
- package/msg/pt.js +420 -420
- package/msg/ro.js +420 -420
- package/msg/ru.js +420 -420
- package/msg/sc.js +420 -420
- package/msg/sco.js +420 -420
- package/msg/sd.js +420 -420
- package/msg/shn.js +420 -420
- package/msg/si.js +420 -420
- package/msg/sk.js +420 -420
- package/msg/skr-arab.js +420 -420
- package/msg/sl.js +420 -420
- package/msg/smn.js +420 -420
- package/msg/sq.js +420 -420
- package/msg/sr-latn.js +420 -420
- package/msg/sr.js +420 -420
- package/msg/sv.js +420 -420
- package/msg/sw.js +420 -420
- package/msg/ta.js +420 -420
- package/msg/tcy.js +420 -420
- package/msg/te.js +420 -420
- package/msg/th.js +420 -420
- package/msg/ti.js +420 -420
- package/msg/tl.js +420 -420
- package/msg/tlh.js +420 -420
- package/msg/tr.js +420 -420
- package/msg/ug-arab.js +420 -420
- package/msg/uk.js +420 -420
- package/msg/ur.js +420 -420
- package/msg/uz.js +420 -420
- package/msg/vi.js +420 -420
- package/msg/xmf.js +420 -420
- package/msg/yo.js +420 -420
- package/msg/yue.js +420 -420
- package/msg/zgh.js +420 -420
- package/msg/zh-hans.js +420 -420
- package/msg/zh-hant.js +420 -420
- package/package.json +5 -5
- package/php.d.ts +0 -3
- package/php_compressed.js +322 -93
- package/php_compressed.js.map +1 -1
- package/python.d.ts +0 -3
- package/python_compressed.js +237 -90
- package/python_compressed.js.map +1 -1
- package/blockly.d.ts +0 -26127
- package/core/blockly_options.js +0 -28
- package/core/bubble_dragger.js +0 -298
- package/core/clipboard.js +0 -80
- package/core/component_manager.js +0 -263
- package/core/contextmenu_items.js +0 -651
- package/core/contextmenu_registry.js +0 -178
- package/core/delete_area.js +0 -87
- package/core/dialog.js +0 -107
- package/core/drag_target.js +0 -98
- package/core/events/events.js +0 -147
- package/core/events/events_abstract.js +0 -133
- package/core/events/events_block_base.js +0 -70
- package/core/events/events_block_drag.js +0 -89
- package/core/events/events_bubble_open.js +0 -90
- package/core/events/events_comment_base.js +0 -121
- package/core/events/events_marker_move.js +0 -110
- package/core/events/events_selected.js +0 -83
- package/core/events/events_toolbox_item_select.js +0 -84
- package/core/events/events_trashcan_open.js +0 -73
- package/core/events/events_var_base.js +0 -70
- package/core/events/events_viewport.js +0 -107
- package/core/events/workspace_events.js +0 -93
- package/core/field_angle.js +0 -591
- package/core/field_checkbox.js +0 -255
- package/core/field_colour.js +0 -717
- package/core/field_image.js +0 -304
- package/core/field_label.js +0 -149
- package/core/field_label_serializable.js +0 -80
- package/core/field_textinput.js +0 -619
- package/core/flyout_button.js +0 -356
- package/core/grid.js +0 -226
- package/core/icon.js +0 -225
- package/core/input.js +0 -335
- package/core/interfaces/i_ast_node_location_svg.js +0 -45
- package/core/interfaces/i_ast_node_location_with_block.js +0 -41
- package/core/interfaces/i_autohideable.js +0 -40
- package/core/interfaces/i_block_dragger.js +0 -66
- package/core/interfaces/i_bounded_element.js +0 -45
- package/core/interfaces/i_bubble.js +0 -95
- package/core/interfaces/i_collapsible_toolbox_item.js +0 -53
- package/core/interfaces/i_connection_checker.js +0 -104
- package/core/interfaces/i_contextmenu.js +0 -32
- package/core/interfaces/i_copyable.js +0 -49
- package/core/interfaces/i_delete_area.js +0 -50
- package/core/interfaces/i_drag_target.js +0 -88
- package/core/interfaces/i_flyout.js +0 -201
- package/core/interfaces/i_keyboard_accessible.js +0 -38
- package/core/interfaces/i_metrics_manager.js +0 -154
- package/core/interfaces/i_positionable.js +0 -51
- package/core/interfaces/i_selectable.js +0 -51
- package/core/interfaces/i_selectable_toolbox_item.js +0 -73
- package/core/interfaces/i_serializer.js +0 -77
- package/core/interfaces/i_styleable.js +0 -39
- package/core/interfaces/i_toolbox.js +0 -142
- package/core/interfaces/i_toolbox_item.js +0 -85
- package/core/marker_manager.js +0 -213
- package/core/menuitem.js +0 -292
- package/core/names.js +0 -293
- package/core/registry.js +0 -384
- package/core/renderers/common/block_rendering.js +0 -170
- package/core/renderers/common/constants.js +0 -1250
- package/core/renderers/common/i_path_object.js +0 -162
- package/core/renderers/common/marker_svg.js +0 -721
- package/core/renderers/common/path_object.js +0 -283
- package/core/renderers/common/renderer.js +0 -305
- package/core/renderers/geras/constants.js +0 -73
- package/core/renderers/geras/geras.js +0 -36
- package/core/renderers/geras/measurables/inline_input.js +0 -58
- package/core/renderers/geras/measurables/statement_input.js +0 -57
- package/core/renderers/geras/renderer.js +0 -149
- package/core/renderers/measurables/base.js +0 -64
- package/core/renderers/measurables/bottom_row.js +0 -138
- package/core/renderers/measurables/connection.js +0 -56
- package/core/renderers/measurables/external_value_input.js +0 -70
- package/core/renderers/measurables/field.js +0 -71
- package/core/renderers/measurables/in_row_spacer.js +0 -47
- package/core/renderers/measurables/input_connection.js +0 -75
- package/core/renderers/measurables/next_connection.js +0 -50
- package/core/renderers/measurables/output_connection.js +0 -61
- package/core/renderers/measurables/previous_connection.js +0 -50
- package/core/renderers/measurables/round_corner.js +0 -52
- package/core/renderers/measurables/row.js +0 -247
- package/core/renderers/measurables/spacer_row.js +0 -69
- package/core/renderers/measurables/square_corner.js +0 -50
- package/core/renderers/measurables/top_row.js +0 -143
- package/core/renderers/measurables/types.js +0 -353
- package/core/renderers/minimalist/drawer.js +0 -42
- package/core/renderers/minimalist/info.js +0 -54
- package/core/renderers/minimalist/minimalist.js +0 -26
- package/core/renderers/minimalist/renderer.js +0 -80
- package/core/renderers/thrasos/renderer.js +0 -53
- package/core/renderers/thrasos/thrasos.js +0 -22
- package/core/renderers/zelos/marker_svg.js +0 -179
- package/core/renderers/zelos/measurables/bottom_row.js +0 -66
- package/core/renderers/zelos/measurables/row_elements.js +0 -46
- package/core/renderers/zelos/path_object.js +0 -247
- package/core/renderers/zelos/renderer.js +0 -147
- package/core/renderers/zelos/zelos.js +0 -38
- package/core/serialization/exceptions.js +0 -144
- package/core/shortcut_registry.js +0 -366
- package/core/theme/themes.js +0 -23
- package/core/theme.js +0 -228
- package/core/theme_manager.js +0 -211
- package/core/toolbox/category.js +0 -751
- package/core/toolbox/collapsible_category.js +0 -311
- package/core/toolbox/separator.js +0 -133
- package/core/toolbox/toolbox_item.js +0 -173
- package/core/touch.js +0 -285
- package/core/utils/coordinate.js +0 -138
- package/core/utils/global.js +0 -41
- package/core/utils/keycodes.js +0 -172
- package/core/utils/metrics.js +0 -154
- package/core/utils/svg.js +0 -186
- package/core/utils/toolbox.js +0 -459
- package/core/utils/useragent.js +0 -197
- package/core/utils.js +0 -383
- package/core/variable_model.js +0 -96
- package/core/widgetdiv.js +0 -290
- package/core/workspace.js +0 -836
- package/core/workspace_comment.js +0 -400
- package/core/workspace_dragger.js +0 -115
|
@@ -7,123 +7,120 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Text Area field.
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Text Area field.
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.FieldMultilineInput');
|
|
17
|
+
|
|
18
|
+
import * as Css from './css.js';
|
|
19
|
+
import {Field} from './field.js';
|
|
20
|
+
import * as fieldRegistry from './field_registry.js';
|
|
21
|
+
import {FieldTextInputConfig, FieldTextInput} from './field_textinput.js';
|
|
22
|
+
import * as aria from './utils/aria.js';
|
|
23
|
+
import * as dom from './utils/dom.js';
|
|
24
|
+
import {KeyCodes} from './utils/keycodes.js';
|
|
25
|
+
import * as parsing from './utils/parsing.js';
|
|
26
|
+
import type {Sentinel} from './utils/sentinel.js';
|
|
27
|
+
import {Svg} from './utils/svg.js';
|
|
28
|
+
import * as userAgent from './utils/useragent.js';
|
|
29
|
+
import * as WidgetDiv from './widgetdiv.js';
|
|
31
30
|
|
|
32
31
|
|
|
33
32
|
/**
|
|
34
33
|
* Class for an editable text area field.
|
|
35
|
-
* @extends {FieldTextInput}
|
|
36
34
|
* @alias Blockly.FieldMultilineInput
|
|
37
35
|
*/
|
|
38
|
-
class FieldMultilineInput extends FieldTextInput {
|
|
36
|
+
export class FieldMultilineInput extends FieldTextInput {
|
|
39
37
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
|
|
38
|
+
* The SVG group element that will contain a text element for each text row
|
|
39
|
+
* when initialized.
|
|
40
|
+
*/
|
|
41
|
+
// AnyDuringMigration because: Type 'null' is not assignable to type
|
|
42
|
+
// 'SVGGElement'.
|
|
43
|
+
textGroup_: SVGGElement = null as AnyDuringMigration;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Defines the maximum number of lines of field.
|
|
47
|
+
* If exceeded, scrolling functionality is enabled.
|
|
48
|
+
*/
|
|
49
|
+
protected maxLines_: number = Infinity;
|
|
50
|
+
|
|
51
|
+
/** Whether Y overflow is currently occurring. */
|
|
52
|
+
protected isOverflowedY_ = false;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @param opt_value The initial content of the field. Should cast to a string.
|
|
56
|
+
* Defaults to an empty string if null or undefined. Also accepts
|
|
57
|
+
* Field.SKIP_SETUP if you wish to skip setup (only used by subclasses
|
|
58
|
+
* that want to handle configuration and setting the field value after
|
|
59
|
+
* their own constructors have run).
|
|
60
|
+
* @param opt_validator An optional function that is called to validate any
|
|
61
|
+
* constraints on what the user entered. Takes the new text as an
|
|
62
|
+
* argument and returns either the accepted text, a replacement text, or
|
|
63
|
+
* null to abort the change.
|
|
64
|
+
* @param opt_config A map of options used to configure the field.
|
|
51
65
|
* See the [field creation documentation]{@link
|
|
52
|
-
*
|
|
53
|
-
*
|
|
66
|
+
* https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/multiline-text-input#creation}
|
|
67
|
+
* for a list of properties this parameter supports.
|
|
54
68
|
*/
|
|
55
|
-
constructor(
|
|
69
|
+
constructor(
|
|
70
|
+
opt_value?: string|Sentinel, opt_validator?: Function,
|
|
71
|
+
opt_config?: FieldMultilineInputConfig) {
|
|
56
72
|
super(Field.SKIP_SETUP);
|
|
57
73
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Defines the maximum number of lines of field.
|
|
67
|
-
* If exceeded, scrolling functionality is enabled.
|
|
68
|
-
* @type {number}
|
|
69
|
-
* @protected
|
|
70
|
-
*/
|
|
71
|
-
this.maxLines_ = Infinity;
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Whether Y overflow is currently occurring.
|
|
75
|
-
* @type {boolean}
|
|
76
|
-
* @protected
|
|
77
|
-
*/
|
|
78
|
-
this.isOverflowedY_ = false;
|
|
79
|
-
|
|
80
|
-
if (opt_value === Field.SKIP_SETUP) return;
|
|
81
|
-
if (opt_config) this.configure_(opt_config);
|
|
74
|
+
if (opt_value === Field.SKIP_SETUP) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (opt_config) {
|
|
78
|
+
this.configure_(opt_config);
|
|
79
|
+
}
|
|
82
80
|
this.setValue(opt_value);
|
|
83
|
-
if (opt_validator)
|
|
81
|
+
if (opt_validator) {
|
|
82
|
+
this.setValidator(opt_validator);
|
|
83
|
+
}
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
* @override
|
|
88
|
-
*/
|
|
89
|
-
configure_(config) {
|
|
86
|
+
protected override configure_(config: FieldMultilineInputConfig) {
|
|
90
87
|
super.configure_(config);
|
|
91
|
-
config.maxLines
|
|
88
|
+
if (config.maxLines) this.setMaxLines(config.maxLines);
|
|
92
89
|
}
|
|
93
90
|
|
|
94
91
|
/**
|
|
95
92
|
* Serializes this field's value to XML. Should only be called by Blockly.Xml.
|
|
96
|
-
* @param
|
|
97
|
-
*
|
|
98
|
-
* @return
|
|
99
|
-
* @
|
|
93
|
+
* @param fieldElement The element to populate with info about the field's
|
|
94
|
+
* state.
|
|
95
|
+
* @return The element containing info about the field's state.
|
|
96
|
+
* @internal
|
|
100
97
|
*/
|
|
101
|
-
toXml(fieldElement) {
|
|
98
|
+
override toXml(fieldElement: Element): Element {
|
|
102
99
|
// Replace '\n' characters with HTML-escaped equivalent '
'. This is
|
|
103
100
|
// needed so the plain-text representation of the XML produced by
|
|
104
101
|
// `Blockly.Xml.domToText` will appear on a single line (this is a
|
|
105
102
|
// limitation of the plain-text format).
|
|
106
|
-
fieldElement.textContent =
|
|
103
|
+
fieldElement.textContent =
|
|
104
|
+
(this.getValue() as string).replace(/\n/g, ' ');
|
|
107
105
|
return fieldElement;
|
|
108
106
|
}
|
|
109
107
|
|
|
110
108
|
/**
|
|
111
109
|
* Sets the field's value based on the given XML element. Should only be
|
|
112
110
|
* called by Blockly.Xml.
|
|
113
|
-
* @param
|
|
114
|
-
*
|
|
115
|
-
* @package
|
|
111
|
+
* @param fieldElement The element containing info about the field's state.
|
|
112
|
+
* @internal
|
|
116
113
|
*/
|
|
117
|
-
fromXml(fieldElement) {
|
|
118
|
-
this.setValue(fieldElement.textContent
|
|
114
|
+
override fromXml(fieldElement: Element) {
|
|
115
|
+
this.setValue(fieldElement.textContent!.replace(/ /g, '\n'));
|
|
119
116
|
}
|
|
120
117
|
|
|
121
118
|
/**
|
|
122
119
|
* Saves this field's value.
|
|
123
|
-
* @return
|
|
124
|
-
* @
|
|
120
|
+
* @return The state of this field.
|
|
121
|
+
* @internal
|
|
125
122
|
*/
|
|
126
|
-
saveState() {
|
|
123
|
+
override saveState(): AnyDuringMigration {
|
|
127
124
|
const legacyState = this.saveLegacyState(FieldMultilineInput);
|
|
128
125
|
if (legacyState !== null) {
|
|
129
126
|
return legacyState;
|
|
@@ -133,12 +130,10 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
133
130
|
|
|
134
131
|
/**
|
|
135
132
|
* Sets the field's value based on the given state.
|
|
136
|
-
* @param
|
|
137
|
-
*
|
|
138
|
-
* @override
|
|
139
|
-
* @package
|
|
133
|
+
* @param state The state of the variable to assign to this variable field.
|
|
134
|
+
* @internal
|
|
140
135
|
*/
|
|
141
|
-
loadState(state) {
|
|
136
|
+
override loadState(state: AnyDuringMigration) {
|
|
142
137
|
if (this.loadLegacyState(Field, state)) {
|
|
143
138
|
return;
|
|
144
139
|
}
|
|
@@ -147,9 +142,9 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
147
142
|
|
|
148
143
|
/**
|
|
149
144
|
* Create the block UI for this field.
|
|
150
|
-
* @
|
|
145
|
+
* @internal
|
|
151
146
|
*/
|
|
152
|
-
initView() {
|
|
147
|
+
override initView() {
|
|
153
148
|
this.createBorderRect_();
|
|
154
149
|
this.textGroup_ = dom.createSvgElement(
|
|
155
150
|
Svg.G, {
|
|
@@ -161,11 +156,9 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
161
156
|
/**
|
|
162
157
|
* Get the text from this field as displayed on screen. May differ from
|
|
163
158
|
* getText due to ellipsis, and other formatting.
|
|
164
|
-
* @return
|
|
165
|
-
* @protected
|
|
166
|
-
* @override
|
|
159
|
+
* @return Currently displayed text.
|
|
167
160
|
*/
|
|
168
|
-
getDisplayText_() {
|
|
161
|
+
protected override getDisplayText_(): string {
|
|
169
162
|
let textLines = this.getText();
|
|
170
163
|
if (!textLines) {
|
|
171
164
|
// Prevent the field from disappearing if empty.
|
|
@@ -204,23 +197,19 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
204
197
|
* field, and updates the text of the field if it is not currently being
|
|
205
198
|
* edited (i.e. handled by the htmlInput_). Is being redefined here to update
|
|
206
199
|
* overflow state of the field.
|
|
207
|
-
* @param
|
|
208
|
-
*
|
|
209
|
-
* @protected
|
|
200
|
+
* @param newValue The value to be saved. The default validator guarantees
|
|
201
|
+
* that this is a string.
|
|
210
202
|
*/
|
|
211
|
-
doValueUpdate_(newValue) {
|
|
203
|
+
protected override doValueUpdate_(newValue: AnyDuringMigration) {
|
|
212
204
|
super.doValueUpdate_(newValue);
|
|
213
205
|
this.isOverflowedY_ = this.value_.split('\n').length > this.maxLines_;
|
|
214
206
|
}
|
|
215
207
|
|
|
216
|
-
/**
|
|
217
|
-
|
|
218
|
-
* @protected
|
|
219
|
-
*/
|
|
220
|
-
render_() {
|
|
208
|
+
/** Updates the text of the textElement. */
|
|
209
|
+
protected override render_() {
|
|
221
210
|
// Remove all text group children.
|
|
222
211
|
let currentChild;
|
|
223
|
-
while (
|
|
212
|
+
while (currentChild = this.textGroup_.firstChild) {
|
|
224
213
|
this.textGroup_.removeChild(currentChild);
|
|
225
214
|
}
|
|
226
215
|
|
|
@@ -228,14 +217,14 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
228
217
|
const lines = this.getDisplayText_().split('\n');
|
|
229
218
|
let y = 0;
|
|
230
219
|
for (let i = 0; i < lines.length; i++) {
|
|
231
|
-
const lineHeight = this.getConstants()
|
|
232
|
-
this.getConstants()
|
|
220
|
+
const lineHeight = this.getConstants()!.FIELD_TEXT_HEIGHT +
|
|
221
|
+
this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING;
|
|
233
222
|
const span = dom.createSvgElement(
|
|
234
223
|
Svg.TEXT, {
|
|
235
224
|
'class': 'blocklyText blocklyMultilineText',
|
|
236
|
-
'x': this.getConstants()
|
|
237
|
-
'y': y + this.getConstants()
|
|
238
|
-
'dy': this.getConstants()
|
|
225
|
+
'x': this.getConstants()!.FIELD_BORDER_RECT_X_PADDING,
|
|
226
|
+
'y': y + this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING,
|
|
227
|
+
'dy': this.getConstants()!.FIELD_TEXT_BASELINE,
|
|
239
228
|
},
|
|
240
229
|
this.textGroup_);
|
|
241
230
|
span.appendChild(document.createTextNode(lines[i]));
|
|
@@ -243,7 +232,7 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
243
232
|
}
|
|
244
233
|
|
|
245
234
|
if (this.isBeingEdited_) {
|
|
246
|
-
const htmlInput =
|
|
235
|
+
const htmlInput = this.htmlInput_ as HTMLElement;
|
|
247
236
|
if (this.isOverflowedY_) {
|
|
248
237
|
dom.addClass(htmlInput, 'blocklyHtmlTextAreaInputOverflowedY');
|
|
249
238
|
} else {
|
|
@@ -262,7 +251,7 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
262
251
|
} else {
|
|
263
252
|
this.resizeEditor_();
|
|
264
253
|
}
|
|
265
|
-
const htmlInput =
|
|
254
|
+
const htmlInput = this.htmlInput_ as HTMLElement;
|
|
266
255
|
if (!this.isTextValid_) {
|
|
267
256
|
dom.addClass(htmlInput, 'blocklyInvalidInput');
|
|
268
257
|
aria.setState(htmlInput, aria.State.INVALID, true);
|
|
@@ -273,22 +262,19 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
273
262
|
}
|
|
274
263
|
}
|
|
275
264
|
|
|
276
|
-
/**
|
|
277
|
-
|
|
278
|
-
* @protected
|
|
279
|
-
*/
|
|
280
|
-
updateSize_() {
|
|
265
|
+
/** Updates the size of the field based on the text. */
|
|
266
|
+
protected override updateSize_() {
|
|
281
267
|
const nodes = this.textGroup_.childNodes;
|
|
282
268
|
let totalWidth = 0;
|
|
283
269
|
let totalHeight = 0;
|
|
284
270
|
for (let i = 0; i < nodes.length; i++) {
|
|
285
|
-
const tspan =
|
|
271
|
+
const tspan = nodes[i] as SVGTextElement;
|
|
286
272
|
const textWidth = dom.getTextWidth(tspan);
|
|
287
273
|
if (textWidth > totalWidth) {
|
|
288
274
|
totalWidth = textWidth;
|
|
289
275
|
}
|
|
290
|
-
totalHeight += this.getConstants()
|
|
291
|
-
(i > 0 ? this.getConstants()
|
|
276
|
+
totalHeight += this.getConstants()!.FIELD_TEXT_HEIGHT +
|
|
277
|
+
(i > 0 ? this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING : 0);
|
|
292
278
|
}
|
|
293
279
|
if (this.isBeingEdited_) {
|
|
294
280
|
// The default width is based on the longest line in the display text,
|
|
@@ -299,9 +285,9 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
299
285
|
const actualEditorLines = this.value_.split('\n');
|
|
300
286
|
const dummyTextElement = dom.createSvgElement(
|
|
301
287
|
Svg.TEXT, {'class': 'blocklyText blocklyMultilineText'});
|
|
302
|
-
const fontSize = this.getConstants()
|
|
303
|
-
const fontWeight = this.getConstants()
|
|
304
|
-
const fontFamily = this.getConstants()
|
|
288
|
+
const fontSize = this.getConstants()!.FIELD_TEXT_FONTSIZE;
|
|
289
|
+
const fontWeight = this.getConstants()!.FIELD_TEXT_FONTWEIGHT;
|
|
290
|
+
const fontFamily = this.getConstants()!.FIELD_TEXT_FONTFAMILY;
|
|
305
291
|
|
|
306
292
|
for (let i = 0; i < actualEditorLines.length; i++) {
|
|
307
293
|
if (actualEditorLines[i].length > this.maxDisplayLength) {
|
|
@@ -317,14 +303,19 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
317
303
|
}
|
|
318
304
|
|
|
319
305
|
const scrollbarWidth =
|
|
320
|
-
this.htmlInput_
|
|
306
|
+
this.htmlInput_!.offsetWidth - this.htmlInput_!.clientWidth;
|
|
321
307
|
totalWidth += scrollbarWidth;
|
|
322
308
|
}
|
|
323
309
|
if (this.borderRect_) {
|
|
324
|
-
totalHeight += this.getConstants()
|
|
325
|
-
totalWidth += this.getConstants()
|
|
326
|
-
|
|
327
|
-
|
|
310
|
+
totalHeight += this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING * 2;
|
|
311
|
+
totalWidth += this.getConstants()!.FIELD_BORDER_RECT_X_PADDING * 2;
|
|
312
|
+
// AnyDuringMigration because: Argument of type 'number' is not
|
|
313
|
+
// assignable to parameter of type 'string'.
|
|
314
|
+
this.borderRect_.setAttribute('width', totalWidth as AnyDuringMigration);
|
|
315
|
+
// AnyDuringMigration because: Argument of type 'number' is not
|
|
316
|
+
// assignable to parameter of type 'string'.
|
|
317
|
+
this.borderRect_.setAttribute(
|
|
318
|
+
'height', totalHeight as AnyDuringMigration);
|
|
328
319
|
}
|
|
329
320
|
this.size_.width = totalWidth;
|
|
330
321
|
this.size_.height = totalHeight;
|
|
@@ -336,49 +327,49 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
336
327
|
* Show the inline free-text editor on top of the text.
|
|
337
328
|
* Overrides the default behaviour to force rerender in order to
|
|
338
329
|
* correct block size, based on editor text.
|
|
339
|
-
* @param
|
|
340
|
-
*
|
|
341
|
-
* @param
|
|
342
|
-
*
|
|
343
|
-
* @override
|
|
330
|
+
* @param _opt_e Optional mouse event that triggered the field to open, or
|
|
331
|
+
* undefined if triggered programmatically.
|
|
332
|
+
* @param opt_quietInput True if editor should be created without focus.
|
|
333
|
+
* Defaults to false.
|
|
344
334
|
*/
|
|
345
|
-
showEditor_(_opt_e, opt_quietInput) {
|
|
335
|
+
override showEditor_(_opt_e?: Event, opt_quietInput?: boolean) {
|
|
346
336
|
super.showEditor_(_opt_e, opt_quietInput);
|
|
347
337
|
this.forceRerender();
|
|
348
338
|
}
|
|
349
339
|
|
|
350
340
|
/**
|
|
351
341
|
* Create the text input editor widget.
|
|
352
|
-
* @return
|
|
353
|
-
* @protected
|
|
342
|
+
* @return The newly created text input editor.
|
|
354
343
|
*/
|
|
355
|
-
widgetCreate_() {
|
|
344
|
+
protected override widgetCreate_(): HTMLTextAreaElement {
|
|
356
345
|
const div = WidgetDiv.getDiv();
|
|
357
|
-
const scale = this.workspace_
|
|
346
|
+
const scale = this.workspace_!.getScale();
|
|
358
347
|
|
|
359
|
-
const htmlInput =
|
|
360
|
-
/** @type {HTMLTextAreaElement} */ (document.createElement('textarea'));
|
|
348
|
+
const htmlInput = (document.createElement('textarea'));
|
|
361
349
|
htmlInput.className = 'blocklyHtmlInput blocklyHtmlTextAreaInput';
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
350
|
+
// AnyDuringMigration because: Argument of type 'boolean' is not assignable
|
|
351
|
+
// to parameter of type 'string'.
|
|
352
|
+
htmlInput.setAttribute(
|
|
353
|
+
'spellcheck', this.spellcheck_ as AnyDuringMigration);
|
|
354
|
+
const fontSize = this.getConstants()!.FIELD_TEXT_FONTSIZE * scale + 'pt';
|
|
355
|
+
div!.style.fontSize = fontSize;
|
|
365
356
|
htmlInput.style.fontSize = fontSize;
|
|
366
|
-
const borderRadius =
|
|
357
|
+
const borderRadius = FieldTextInput.BORDERRADIUS * scale + 'px';
|
|
367
358
|
htmlInput.style.borderRadius = borderRadius;
|
|
368
|
-
const paddingX = this.getConstants()
|
|
359
|
+
const paddingX = this.getConstants()!.FIELD_BORDER_RECT_X_PADDING * scale;
|
|
369
360
|
const paddingY =
|
|
370
|
-
this.getConstants()
|
|
361
|
+
this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING * scale / 2;
|
|
371
362
|
htmlInput.style.padding = paddingY + 'px ' + paddingX + 'px ' + paddingY +
|
|
372
363
|
'px ' + paddingX + 'px';
|
|
373
|
-
const lineHeight = this.getConstants()
|
|
374
|
-
this.getConstants()
|
|
375
|
-
htmlInput.style.lineHeight =
|
|
364
|
+
const lineHeight = this.getConstants()!.FIELD_TEXT_HEIGHT +
|
|
365
|
+
this.getConstants()!.FIELD_BORDER_RECT_Y_PADDING;
|
|
366
|
+
htmlInput.style.lineHeight = lineHeight * scale + 'px';
|
|
376
367
|
|
|
377
|
-
div
|
|
368
|
+
div!.appendChild(htmlInput);
|
|
378
369
|
|
|
379
370
|
htmlInput.value = htmlInput.defaultValue = this.getEditorText_(this.value_);
|
|
380
|
-
htmlInput.
|
|
381
|
-
htmlInput.
|
|
371
|
+
htmlInput.setAttribute('data-untyped-default-value', this.value_);
|
|
372
|
+
htmlInput.setAttribute('data-old-value', '');
|
|
382
373
|
if (userAgent.GECKO) {
|
|
383
374
|
// In FF, ensure the browser reflows before resizing to avoid issue #2777.
|
|
384
375
|
setTimeout(this.resizeEditor_.bind(this), 0);
|
|
@@ -393,10 +384,10 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
393
384
|
|
|
394
385
|
/**
|
|
395
386
|
* Sets the maxLines config for this field.
|
|
396
|
-
* @param
|
|
397
|
-
*
|
|
387
|
+
* @param maxLines Defines the maximum number of lines allowed, before
|
|
388
|
+
* scrolling functionality is enabled.
|
|
398
389
|
*/
|
|
399
|
-
setMaxLines(maxLines) {
|
|
390
|
+
setMaxLines(maxLines: number) {
|
|
400
391
|
if (typeof maxLines === 'number' && maxLines > 0 &&
|
|
401
392
|
maxLines !== this.maxLines_) {
|
|
402
393
|
this.maxLines_ = maxLines;
|
|
@@ -406,20 +397,21 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
406
397
|
|
|
407
398
|
/**
|
|
408
399
|
* Returns the maxLines config of this field.
|
|
409
|
-
* @return
|
|
400
|
+
* @return The maxLines config value.
|
|
410
401
|
*/
|
|
411
|
-
getMaxLines() {
|
|
402
|
+
getMaxLines(): number {
|
|
412
403
|
return this.maxLines_;
|
|
413
404
|
}
|
|
414
405
|
|
|
415
406
|
/**
|
|
416
407
|
* Handle key down to the editor. Override the text input definition of this
|
|
417
408
|
* so as to not close the editor when enter is typed in.
|
|
418
|
-
* @param
|
|
419
|
-
* @protected
|
|
409
|
+
* @param e Keyboard event.
|
|
420
410
|
*/
|
|
421
|
-
onHtmlInputKeyDown_(e) {
|
|
422
|
-
|
|
411
|
+
protected override onHtmlInputKeyDown_(e: Event) {
|
|
412
|
+
// AnyDuringMigration because: Property 'keyCode' does not exist on type
|
|
413
|
+
// 'Event'.
|
|
414
|
+
if ((e as AnyDuringMigration).keyCode !== KeyCodes.ENTER) {
|
|
423
415
|
super.onHtmlInputKeyDown_(e);
|
|
424
416
|
}
|
|
425
417
|
}
|
|
@@ -427,23 +419,21 @@ class FieldMultilineInput extends FieldTextInput {
|
|
|
427
419
|
/**
|
|
428
420
|
* Construct a FieldMultilineInput from a JSON arg object,
|
|
429
421
|
* dereferencing any string table references.
|
|
430
|
-
* @param
|
|
431
|
-
* @return
|
|
432
|
-
* @package
|
|
422
|
+
* @param options A JSON object with options (text, and spellcheck).
|
|
423
|
+
* @return The new field instance.
|
|
433
424
|
* @nocollapse
|
|
434
|
-
* @
|
|
425
|
+
* @internal
|
|
435
426
|
*/
|
|
436
|
-
static fromJson(options)
|
|
437
|
-
|
|
427
|
+
static override fromJson(options: FieldMultilineInputFromJsonConfig):
|
|
428
|
+
FieldMultilineInput {
|
|
429
|
+
const text = parsing.replaceMessageReferences(options.text);
|
|
438
430
|
// `this` might be a subclass of FieldMultilineInput if that class doesn't
|
|
439
431
|
// override the static fromJson method.
|
|
440
432
|
return new this(text, undefined, options);
|
|
441
433
|
}
|
|
442
434
|
}
|
|
443
435
|
|
|
444
|
-
/**
|
|
445
|
-
* CSS for multiline field. See css.js for use.
|
|
446
|
-
*/
|
|
436
|
+
/** CSS for multiline field. See css.js for use. */
|
|
447
437
|
Css.register(`
|
|
448
438
|
.blocklyHtmlTextAreaInput {
|
|
449
439
|
font-family: monospace;
|
|
@@ -460,4 +450,17 @@ Css.register(`
|
|
|
460
450
|
|
|
461
451
|
fieldRegistry.register('field_multilinetext', FieldMultilineInput);
|
|
462
452
|
|
|
463
|
-
|
|
453
|
+
/**
|
|
454
|
+
* Config options for the multiline input field.
|
|
455
|
+
*/
|
|
456
|
+
export interface FieldMultilineInputConfig extends FieldTextInputConfig {
|
|
457
|
+
maxLines?: number;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* fromJson config options for the multiline input field.
|
|
462
|
+
*/
|
|
463
|
+
export interface FieldMultilineInputFromJsonConfig extends
|
|
464
|
+
FieldMultilineInputConfig {
|
|
465
|
+
text?: string;
|
|
466
|
+
}
|