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
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2016 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FieldTextInputConfig, FieldTextInput } from './field_textinput.js';
|
|
7
|
+
import type { Sentinel } from './utils/sentinel.js';
|
|
8
|
+
/**
|
|
9
|
+
* Class for an editable number field.
|
|
10
|
+
* @alias Blockly.FieldNumber
|
|
11
|
+
*/
|
|
12
|
+
export declare class FieldNumber extends FieldTextInput {
|
|
13
|
+
/** The minimum value this number field can contain. */
|
|
14
|
+
protected min_: number;
|
|
15
|
+
/** The maximum value this number field can contain. */
|
|
16
|
+
protected max_: number;
|
|
17
|
+
/** The multiple to which this fields value is rounded. */
|
|
18
|
+
protected precision_: number;
|
|
19
|
+
/**
|
|
20
|
+
* The number of decimal places to allow, or null to allow any number of
|
|
21
|
+
* decimal digits.
|
|
22
|
+
*/
|
|
23
|
+
private decimalPlaces_;
|
|
24
|
+
/**
|
|
25
|
+
* Serializable fields are saved by the serializer, non-serializable fields
|
|
26
|
+
* are not. Editable fields should also be serializable.
|
|
27
|
+
*/
|
|
28
|
+
SERIALIZABLE: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* @param opt_value The initial value of the field. Should cast to a number.
|
|
31
|
+
* Defaults to 0. Also accepts Field.SKIP_SETUP if you wish to skip setup
|
|
32
|
+
* (only used by subclasses that want to handle configuration and setting
|
|
33
|
+
* the field value after their own constructors have run).
|
|
34
|
+
* @param opt_min Minimum value. Will only be used if opt_config is not
|
|
35
|
+
* provided.
|
|
36
|
+
* @param opt_max Maximum value. Will only be used if opt_config is not
|
|
37
|
+
* provided.
|
|
38
|
+
* @param opt_precision Precision for value. Will only be used if opt_config
|
|
39
|
+
* is not provided.
|
|
40
|
+
* @param opt_validator A function that is called to validate changes to the
|
|
41
|
+
* field's value. Takes in a number & returns a validated number, or null
|
|
42
|
+
* to abort the change.
|
|
43
|
+
* @param opt_config A map of options used to configure the field.
|
|
44
|
+
* See the [field creation documentation]{@link
|
|
45
|
+
* https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/number#creation}
|
|
46
|
+
* for a list of properties this parameter supports.
|
|
47
|
+
*/
|
|
48
|
+
constructor(opt_value?: string | number | Sentinel, opt_min?: string | number | null, opt_max?: string | number | null, opt_precision?: string | number | null, opt_validator?: Function | null, opt_config?: FieldNumberConfig);
|
|
49
|
+
/**
|
|
50
|
+
* Configure the field based on the given map of options.
|
|
51
|
+
* @param config A map of options to configure the field based on.
|
|
52
|
+
*/
|
|
53
|
+
protected configure_(config: FieldNumberConfig): void;
|
|
54
|
+
/**
|
|
55
|
+
* Set the maximum, minimum and precision constraints on this field.
|
|
56
|
+
* Any of these properties may be undefined or NaN to be disabled.
|
|
57
|
+
* Setting precision (usually a power of 10) enforces a minimum step between
|
|
58
|
+
* values. That is, the user's value will rounded to the closest multiple of
|
|
59
|
+
* precision. The least significant digit place is inferred from the
|
|
60
|
+
* precision. Integers values can be enforces by choosing an integer
|
|
61
|
+
* precision.
|
|
62
|
+
* @param min Minimum value.
|
|
63
|
+
* @param max Maximum value.
|
|
64
|
+
* @param precision Precision for value.
|
|
65
|
+
*/
|
|
66
|
+
setConstraints(min: number | string | undefined | null, max: number | string | undefined | null, precision: number | string | undefined | null): void;
|
|
67
|
+
/**
|
|
68
|
+
* Sets the minimum value this field can contain. Updates the value to
|
|
69
|
+
* reflect.
|
|
70
|
+
* @param min Minimum value.
|
|
71
|
+
*/
|
|
72
|
+
setMin(min: number | string | undefined | null): void;
|
|
73
|
+
/**
|
|
74
|
+
* Sets the minimum value this field can contain. Called internally to avoid
|
|
75
|
+
* value updates.
|
|
76
|
+
* @param min Minimum value.
|
|
77
|
+
*/
|
|
78
|
+
private setMinInternal_;
|
|
79
|
+
/**
|
|
80
|
+
* Returns the current minimum value this field can contain. Default is
|
|
81
|
+
* -Infinity.
|
|
82
|
+
* @return The current minimum value this field can contain.
|
|
83
|
+
*/
|
|
84
|
+
getMin(): number;
|
|
85
|
+
/**
|
|
86
|
+
* Sets the maximum value this field can contain. Updates the value to
|
|
87
|
+
* reflect.
|
|
88
|
+
* @param max Maximum value.
|
|
89
|
+
*/
|
|
90
|
+
setMax(max: number | string | undefined | null): void;
|
|
91
|
+
/**
|
|
92
|
+
* Sets the maximum value this field can contain. Called internally to avoid
|
|
93
|
+
* value updates.
|
|
94
|
+
* @param max Maximum value.
|
|
95
|
+
*/
|
|
96
|
+
private setMaxInternal_;
|
|
97
|
+
/**
|
|
98
|
+
* Returns the current maximum value this field can contain. Default is
|
|
99
|
+
* Infinity.
|
|
100
|
+
* @return The current maximum value this field can contain.
|
|
101
|
+
*/
|
|
102
|
+
getMax(): number;
|
|
103
|
+
/**
|
|
104
|
+
* Sets the precision of this field's value, i.e. the number to which the
|
|
105
|
+
* value is rounded. Updates the field to reflect.
|
|
106
|
+
* @param precision The number to which the field's value is rounded.
|
|
107
|
+
*/
|
|
108
|
+
setPrecision(precision: number | string | undefined | null): void;
|
|
109
|
+
/**
|
|
110
|
+
* Sets the precision of this field's value. Called internally to avoid
|
|
111
|
+
* value updates.
|
|
112
|
+
* @param precision The number to which the field's value is rounded.
|
|
113
|
+
*/
|
|
114
|
+
private setPrecisionInternal_;
|
|
115
|
+
/**
|
|
116
|
+
* Returns the current precision of this field. The precision being the
|
|
117
|
+
* number to which the field's value is rounded. A precision of 0 means that
|
|
118
|
+
* the value is not rounded.
|
|
119
|
+
* @return The number to which this field's value is rounded.
|
|
120
|
+
*/
|
|
121
|
+
getPrecision(): number;
|
|
122
|
+
/**
|
|
123
|
+
* Ensure that the input value is a valid number (must fulfill the
|
|
124
|
+
* constraints placed on the field).
|
|
125
|
+
* @param opt_newValue The input value.
|
|
126
|
+
* @return A valid number, or null if invalid.
|
|
127
|
+
*/
|
|
128
|
+
protected doClassValidation_(opt_newValue?: any): number | null;
|
|
129
|
+
/**
|
|
130
|
+
* Create the number input editor widget.
|
|
131
|
+
* @return The newly created number input editor.
|
|
132
|
+
*/
|
|
133
|
+
protected widgetCreate_(): HTMLElement;
|
|
134
|
+
/**
|
|
135
|
+
* Construct a FieldNumber from a JSON arg object.
|
|
136
|
+
* @param options A JSON object with options (value, min, max, and precision).
|
|
137
|
+
* @return The new field instance.
|
|
138
|
+
* @nocollapse
|
|
139
|
+
* @internal
|
|
140
|
+
*/
|
|
141
|
+
static fromJson(options: FieldNumberFromJsonConfig): FieldNumber;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Config options for the number field.
|
|
145
|
+
*/
|
|
146
|
+
export interface FieldNumberConfig extends FieldTextInputConfig {
|
|
147
|
+
min?: number;
|
|
148
|
+
max?: number;
|
|
149
|
+
precision?: number;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* fromJson config options for the number field.
|
|
153
|
+
*/
|
|
154
|
+
export interface FieldNumberFromJsonConfig extends FieldNumberConfig {
|
|
155
|
+
value?: number;
|
|
156
|
+
}
|
|
@@ -7,110 +7,96 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* @fileoverview Number input field
|
|
9
9
|
*/
|
|
10
|
-
'use strict';
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Number input field
|
|
14
13
|
* @class
|
|
15
14
|
*/
|
|
16
|
-
goog
|
|
15
|
+
import * as goog from '../closure/goog/goog.js';
|
|
16
|
+
goog.declareModuleId('Blockly.FieldNumber');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const {Sentinel} = goog.requireType('Blockly.utils.Sentinel');
|
|
18
|
+
import {Field} from './field.js';
|
|
19
|
+
import * as fieldRegistry from './field_registry.js';
|
|
20
|
+
import {FieldTextInputConfig, FieldTextInput} from './field_textinput.js';
|
|
21
|
+
import * as aria from './utils/aria.js';
|
|
22
|
+
import type {Sentinel} from './utils/sentinel.js';
|
|
24
23
|
|
|
25
24
|
|
|
26
25
|
/**
|
|
27
26
|
* Class for an editable number field.
|
|
28
|
-
* @extends {FieldTextInput}
|
|
29
27
|
* @alias Blockly.FieldNumber
|
|
30
28
|
*/
|
|
31
|
-
class FieldNumber extends FieldTextInput {
|
|
29
|
+
export class FieldNumber extends FieldTextInput {
|
|
30
|
+
/** The minimum value this number field can contain. */
|
|
31
|
+
protected min_: number = -Infinity;
|
|
32
|
+
|
|
33
|
+
/** The maximum value this number field can contain. */
|
|
34
|
+
protected max_: number = Infinity;
|
|
35
|
+
|
|
36
|
+
/** The multiple to which this fields value is rounded. */
|
|
37
|
+
protected precision_ = 0;
|
|
38
|
+
|
|
32
39
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
40
|
+
* The number of decimal places to allow, or null to allow any number of
|
|
41
|
+
* decimal digits.
|
|
42
|
+
*/
|
|
43
|
+
private decimalPlaces_: number|null = null;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Serializable fields are saved by the serializer, non-serializable fields
|
|
47
|
+
* are not. Editable fields should also be serializable.
|
|
48
|
+
*/
|
|
49
|
+
override SERIALIZABLE = true;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @param opt_value The initial value of the field. Should cast to a number.
|
|
53
|
+
* Defaults to 0. Also accepts Field.SKIP_SETUP if you wish to skip setup
|
|
54
|
+
* (only used by subclasses that want to handle configuration and setting
|
|
55
|
+
* the field value after their own constructors have run).
|
|
56
|
+
* @param opt_min Minimum value. Will only be used if opt_config is not
|
|
57
|
+
* provided.
|
|
58
|
+
* @param opt_max Maximum value. Will only be used if opt_config is not
|
|
59
|
+
* provided.
|
|
60
|
+
* @param opt_precision Precision for value. Will only be used if opt_config
|
|
61
|
+
* is not provided.
|
|
62
|
+
* @param opt_validator A function that is called to validate changes to the
|
|
63
|
+
* field's value. Takes in a number & returns a validated number, or null
|
|
64
|
+
* to abort the change.
|
|
65
|
+
* @param opt_config A map of options used to configure the field.
|
|
48
66
|
* See the [field creation documentation]{@link
|
|
49
|
-
*
|
|
50
|
-
*
|
|
67
|
+
* https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/number#creation}
|
|
68
|
+
* for a list of properties this parameter supports.
|
|
51
69
|
*/
|
|
52
70
|
constructor(
|
|
53
|
-
opt_value, opt_min
|
|
71
|
+
opt_value?: string|number|Sentinel, opt_min?: string|number|null,
|
|
72
|
+
opt_max?: string|number|null, opt_precision?: string|number|null,
|
|
73
|
+
opt_validator?: Function|null, opt_config?: FieldNumberConfig) {
|
|
54
74
|
// Pass SENTINEL so that we can define properties before value validation.
|
|
55
75
|
super(Field.SKIP_SETUP);
|
|
56
76
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
* @protected
|
|
61
|
-
*/
|
|
62
|
-
this.min_ = -Infinity;
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* The maximum value this number field can contain.
|
|
66
|
-
* @type {number}
|
|
67
|
-
* @protected
|
|
68
|
-
*/
|
|
69
|
-
this.max_ = Infinity;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* The multiple to which this fields value is rounded.
|
|
73
|
-
* @type {number}
|
|
74
|
-
* @protected
|
|
75
|
-
*/
|
|
76
|
-
this.precision_ = 0;
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* The number of decimal places to allow, or null to allow any number of
|
|
80
|
-
* decimal digits.
|
|
81
|
-
* @type {?number}
|
|
82
|
-
* @private
|
|
83
|
-
*/
|
|
84
|
-
this.decimalPlaces_ = null;
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Serializable fields are saved by the serializer, non-serializable fields
|
|
88
|
-
* are not. Editable fields should also be serializable.
|
|
89
|
-
* @type {boolean}
|
|
90
|
-
*/
|
|
91
|
-
this.SERIALIZABLE = true;
|
|
92
|
-
|
|
93
|
-
if (opt_value === Field.SKIP_SETUP) return;
|
|
77
|
+
if (opt_value === Field.SKIP_SETUP) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
94
80
|
if (opt_config) {
|
|
95
81
|
this.configure_(opt_config);
|
|
96
82
|
} else {
|
|
97
83
|
this.setConstraints(opt_min, opt_max, opt_precision);
|
|
98
84
|
}
|
|
99
85
|
this.setValue(opt_value);
|
|
100
|
-
if (opt_validator)
|
|
86
|
+
if (opt_validator) {
|
|
87
|
+
this.setValidator(opt_validator);
|
|
88
|
+
}
|
|
101
89
|
}
|
|
102
90
|
|
|
103
91
|
/**
|
|
104
92
|
* Configure the field based on the given map of options.
|
|
105
|
-
* @param
|
|
106
|
-
* @protected
|
|
107
|
-
* @override
|
|
93
|
+
* @param config A map of options to configure the field based on.
|
|
108
94
|
*/
|
|
109
|
-
configure_(config) {
|
|
95
|
+
protected override configure_(config: FieldNumberConfig) {
|
|
110
96
|
super.configure_(config);
|
|
111
|
-
this.setMinInternal_(config
|
|
112
|
-
this.setMaxInternal_(config
|
|
113
|
-
this.setPrecisionInternal_(config
|
|
97
|
+
this.setMinInternal_(config.min);
|
|
98
|
+
this.setMaxInternal_(config.max);
|
|
99
|
+
this.setPrecisionInternal_(config.precision);
|
|
114
100
|
}
|
|
115
101
|
|
|
116
102
|
/**
|
|
@@ -121,11 +107,13 @@ class FieldNumber extends FieldTextInput {
|
|
|
121
107
|
* precision. The least significant digit place is inferred from the
|
|
122
108
|
* precision. Integers values can be enforces by choosing an integer
|
|
123
109
|
* precision.
|
|
124
|
-
* @param
|
|
125
|
-
* @param
|
|
126
|
-
* @param
|
|
110
|
+
* @param min Minimum value.
|
|
111
|
+
* @param max Maximum value.
|
|
112
|
+
* @param precision Precision for value.
|
|
127
113
|
*/
|
|
128
|
-
setConstraints(
|
|
114
|
+
setConstraints(
|
|
115
|
+
min: number|string|undefined|null, max: number|string|undefined|null,
|
|
116
|
+
precision: number|string|undefined|null) {
|
|
129
117
|
this.setMinInternal_(min);
|
|
130
118
|
this.setMaxInternal_(max);
|
|
131
119
|
this.setPrecisionInternal_(precision);
|
|
@@ -135,9 +123,9 @@ class FieldNumber extends FieldTextInput {
|
|
|
135
123
|
/**
|
|
136
124
|
* Sets the minimum value this field can contain. Updates the value to
|
|
137
125
|
* reflect.
|
|
138
|
-
* @param
|
|
126
|
+
* @param min Minimum value.
|
|
139
127
|
*/
|
|
140
|
-
setMin(min) {
|
|
128
|
+
setMin(min: number|string|undefined|null) {
|
|
141
129
|
this.setMinInternal_(min);
|
|
142
130
|
this.setValue(this.getValue());
|
|
143
131
|
}
|
|
@@ -145,10 +133,9 @@ class FieldNumber extends FieldTextInput {
|
|
|
145
133
|
/**
|
|
146
134
|
* Sets the minimum value this field can contain. Called internally to avoid
|
|
147
135
|
* value updates.
|
|
148
|
-
* @param
|
|
149
|
-
* @private
|
|
136
|
+
* @param min Minimum value.
|
|
150
137
|
*/
|
|
151
|
-
setMinInternal_(min) {
|
|
138
|
+
private setMinInternal_(min: number|string|undefined|null) {
|
|
152
139
|
if (min == null) {
|
|
153
140
|
this.min_ = -Infinity;
|
|
154
141
|
} else {
|
|
@@ -162,18 +149,18 @@ class FieldNumber extends FieldTextInput {
|
|
|
162
149
|
/**
|
|
163
150
|
* Returns the current minimum value this field can contain. Default is
|
|
164
151
|
* -Infinity.
|
|
165
|
-
* @return
|
|
152
|
+
* @return The current minimum value this field can contain.
|
|
166
153
|
*/
|
|
167
|
-
getMin() {
|
|
154
|
+
getMin(): number {
|
|
168
155
|
return this.min_;
|
|
169
156
|
}
|
|
170
157
|
|
|
171
158
|
/**
|
|
172
159
|
* Sets the maximum value this field can contain. Updates the value to
|
|
173
160
|
* reflect.
|
|
174
|
-
* @param
|
|
161
|
+
* @param max Maximum value.
|
|
175
162
|
*/
|
|
176
|
-
setMax(max) {
|
|
163
|
+
setMax(max: number|string|undefined|null) {
|
|
177
164
|
this.setMaxInternal_(max);
|
|
178
165
|
this.setValue(this.getValue());
|
|
179
166
|
}
|
|
@@ -181,10 +168,9 @@ class FieldNumber extends FieldTextInput {
|
|
|
181
168
|
/**
|
|
182
169
|
* Sets the maximum value this field can contain. Called internally to avoid
|
|
183
170
|
* value updates.
|
|
184
|
-
* @param
|
|
185
|
-
* @private
|
|
171
|
+
* @param max Maximum value.
|
|
186
172
|
*/
|
|
187
|
-
setMaxInternal_(max) {
|
|
173
|
+
private setMaxInternal_(max: number|string|undefined|null) {
|
|
188
174
|
if (max == null) {
|
|
189
175
|
this.max_ = Infinity;
|
|
190
176
|
} else {
|
|
@@ -198,19 +184,18 @@ class FieldNumber extends FieldTextInput {
|
|
|
198
184
|
/**
|
|
199
185
|
* Returns the current maximum value this field can contain. Default is
|
|
200
186
|
* Infinity.
|
|
201
|
-
* @return
|
|
187
|
+
* @return The current maximum value this field can contain.
|
|
202
188
|
*/
|
|
203
|
-
getMax() {
|
|
189
|
+
getMax(): number {
|
|
204
190
|
return this.max_;
|
|
205
191
|
}
|
|
206
192
|
|
|
207
193
|
/**
|
|
208
194
|
* Sets the precision of this field's value, i.e. the number to which the
|
|
209
195
|
* value is rounded. Updates the field to reflect.
|
|
210
|
-
* @param
|
|
211
|
-
* field's value is rounded.
|
|
196
|
+
* @param precision The number to which the field's value is rounded.
|
|
212
197
|
*/
|
|
213
|
-
setPrecision(precision) {
|
|
198
|
+
setPrecision(precision: number|string|undefined|null) {
|
|
214
199
|
this.setPrecisionInternal_(precision);
|
|
215
200
|
this.setValue(this.getValue());
|
|
216
201
|
}
|
|
@@ -218,11 +203,9 @@ class FieldNumber extends FieldTextInput {
|
|
|
218
203
|
/**
|
|
219
204
|
* Sets the precision of this field's value. Called internally to avoid
|
|
220
205
|
* value updates.
|
|
221
|
-
* @param
|
|
222
|
-
* field's value is rounded.
|
|
223
|
-
* @private
|
|
206
|
+
* @param precision The number to which the field's value is rounded.
|
|
224
207
|
*/
|
|
225
|
-
setPrecisionInternal_(precision) {
|
|
208
|
+
private setPrecisionInternal_(precision: number|string|undefined|null) {
|
|
226
209
|
this.precision_ = Number(precision) || 0;
|
|
227
210
|
let precisionString = String(this.precision_);
|
|
228
211
|
if (precisionString.indexOf('e') !== -1) {
|
|
@@ -245,21 +228,20 @@ class FieldNumber extends FieldTextInput {
|
|
|
245
228
|
* Returns the current precision of this field. The precision being the
|
|
246
229
|
* number to which the field's value is rounded. A precision of 0 means that
|
|
247
230
|
* the value is not rounded.
|
|
248
|
-
* @return
|
|
231
|
+
* @return The number to which this field's value is rounded.
|
|
249
232
|
*/
|
|
250
|
-
getPrecision() {
|
|
233
|
+
getPrecision(): number {
|
|
251
234
|
return this.precision_;
|
|
252
235
|
}
|
|
253
236
|
|
|
254
237
|
/**
|
|
255
238
|
* Ensure that the input value is a valid number (must fulfill the
|
|
256
239
|
* constraints placed on the field).
|
|
257
|
-
* @param
|
|
258
|
-
* @return
|
|
259
|
-
* @protected
|
|
260
|
-
* @override
|
|
240
|
+
* @param opt_newValue The input value.
|
|
241
|
+
* @return A valid number, or null if invalid.
|
|
261
242
|
*/
|
|
262
|
-
doClassValidation_(opt_newValue)
|
|
243
|
+
protected override doClassValidation_(opt_newValue?: AnyDuringMigration):
|
|
244
|
+
number|null {
|
|
263
245
|
if (opt_newValue === null) {
|
|
264
246
|
return null;
|
|
265
247
|
}
|
|
@@ -294,11 +276,9 @@ class FieldNumber extends FieldTextInput {
|
|
|
294
276
|
|
|
295
277
|
/**
|
|
296
278
|
* Create the number input editor widget.
|
|
297
|
-
* @return
|
|
298
|
-
* @protected
|
|
299
|
-
* @override
|
|
279
|
+
* @return The newly created number input editor.
|
|
300
280
|
*/
|
|
301
|
-
widgetCreate_() {
|
|
281
|
+
protected override widgetCreate_(): HTMLElement {
|
|
302
282
|
const htmlInput = super.widgetCreate_();
|
|
303
283
|
|
|
304
284
|
// Set the accessibility state
|
|
@@ -313,28 +293,35 @@ class FieldNumber extends FieldTextInput {
|
|
|
313
293
|
|
|
314
294
|
/**
|
|
315
295
|
* Construct a FieldNumber from a JSON arg object.
|
|
316
|
-
* @param
|
|
317
|
-
*
|
|
318
|
-
* @return {!FieldNumber} The new field instance.
|
|
319
|
-
* @package
|
|
296
|
+
* @param options A JSON object with options (value, min, max, and precision).
|
|
297
|
+
* @return The new field instance.
|
|
320
298
|
* @nocollapse
|
|
321
|
-
* @
|
|
299
|
+
* @internal
|
|
322
300
|
*/
|
|
323
|
-
static fromJson(options) {
|
|
301
|
+
static override fromJson(options: FieldNumberFromJsonConfig): FieldNumber {
|
|
324
302
|
// `this` might be a subclass of FieldNumber if that class doesn't override
|
|
325
303
|
// the static fromJson method.
|
|
326
304
|
return new this(
|
|
327
|
-
options
|
|
305
|
+
options.value, undefined, undefined, undefined, undefined, options);
|
|
328
306
|
}
|
|
329
307
|
}
|
|
330
308
|
|
|
309
|
+
fieldRegistry.register('field_number', FieldNumber);
|
|
310
|
+
|
|
311
|
+
(FieldNumber.prototype as AnyDuringMigration).DEFAULT_VALUE = 0;
|
|
312
|
+
|
|
331
313
|
/**
|
|
332
|
-
*
|
|
333
|
-
* @type {*}
|
|
334
|
-
* @protected
|
|
314
|
+
* Config options for the number field.
|
|
335
315
|
*/
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
316
|
+
export interface FieldNumberConfig extends FieldTextInputConfig {
|
|
317
|
+
min?: number;
|
|
318
|
+
max?: number;
|
|
319
|
+
precision?: number;
|
|
320
|
+
}
|
|
339
321
|
|
|
340
|
-
|
|
322
|
+
/**
|
|
323
|
+
* fromJson config options for the number field.
|
|
324
|
+
*/
|
|
325
|
+
export interface FieldNumberFromJsonConfig extends FieldNumberConfig {
|
|
326
|
+
value?: number;
|
|
327
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Field } from './field.js';
|
|
7
|
+
import type { IRegistrableField } from './interfaces/i_registrable_field.js';
|
|
8
|
+
/**
|
|
9
|
+
* Registers a field type.
|
|
10
|
+
* fieldRegistry.fromJson uses this registry to
|
|
11
|
+
* find the appropriate field type.
|
|
12
|
+
* @param type The field type name as used in the JSON definition.
|
|
13
|
+
* @param fieldClass The field class containing a fromJson function that can
|
|
14
|
+
* construct an instance of the field.
|
|
15
|
+
* @throws {Error} if the type name is empty, the field is already registered,
|
|
16
|
+
* or the fieldClass is not an object containing a fromJson function.
|
|
17
|
+
* @alias Blockly.fieldRegistry.register
|
|
18
|
+
*/
|
|
19
|
+
export declare function register(type: string, fieldClass: IRegistrableField): void;
|
|
20
|
+
/**
|
|
21
|
+
* Unregisters the field registered with the given type.
|
|
22
|
+
* @param type The field type name as used in the JSON definition.
|
|
23
|
+
* @alias Blockly.fieldRegistry.unregister
|
|
24
|
+
*/
|
|
25
|
+
export declare function unregister(type: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Construct a Field from a JSON arg object.
|
|
28
|
+
* Finds the appropriate registered field by the type name as registered using
|
|
29
|
+
* fieldRegistry.register.
|
|
30
|
+
* @param options A JSON object with a type and options specific to the field
|
|
31
|
+
* type.
|
|
32
|
+
* @return The new field instance or null if a field wasn't found with the given
|
|
33
|
+
* type name
|
|
34
|
+
* @alias Blockly.fieldRegistry.fromJson
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export declare function fromJson(options: any): Field | null;
|
|
38
|
+
/**
|
|
39
|
+
* Private version of fromJson for stubbing in tests.
|
|
40
|
+
*/
|
|
41
|
+
declare function fromJsonInternal(options: any): Field | null;
|
|
42
|
+
export declare const TEST_ONLY: {
|
|
43
|
+
fromJsonInternal: typeof fromJsonInternal;
|
|
44
|
+
};
|
|
45
|
+
export {};
|