@odoo/o-spreadsheet 17.0.84 → 17.0.96
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/dist/o-spreadsheet.cjs.js +46071 -53455
- package/dist/o-spreadsheet.esm.js +45886 -53454
- package/dist/o-spreadsheet.iife.js +50220 -57787
- package/dist/o-spreadsheet.iife.min.js +534 -505
- package/dist/o_spreadsheet.xml +3 -3
- package/dist/types/actions/action.d.ts +73 -0
- package/dist/types/actions/data_actions.d.ts +9 -0
- package/dist/types/actions/edit_actions.d.ts +21 -0
- package/dist/types/actions/format_actions.d.ts +45 -0
- package/dist/types/actions/insert_actions.d.ts +28 -0
- package/dist/types/actions/menu_items_actions.d.ts +32 -0
- package/dist/types/actions/sheet_actions.d.ts +10 -0
- package/dist/types/actions/view_actions.d.ts +28 -0
- package/dist/types/collaborative/local_transport_service.d.ts +8 -0
- package/dist/types/collaborative/ot/ot.d.ts +22 -0
- package/dist/types/collaborative/ot/ot_helpers.d.ts +3 -0
- package/dist/types/collaborative/ot/ot_specific.d.ts +1 -0
- package/dist/types/collaborative/revisions.d.ts +22 -0
- package/dist/types/collaborative/session.d.ts +100 -0
- package/dist/types/components/action_button/action_button.d.ts +23 -0
- package/dist/types/components/animation/ripple.d.ts +53 -0
- package/dist/types/components/autofill/autofill.d.ts +25 -0
- package/dist/types/components/border_editor/border_editor.d.ts +41 -0
- package/dist/types/components/border_editor/border_editor_widget.d.ts +31 -0
- package/dist/types/components/bottom_bar/bottom_bar.d.ts +56 -0
- package/dist/types/components/bottom_bar_sheet/bottom_bar_sheet.d.ts +44 -0
- package/dist/types/components/bottom_bar_statistic/bottom_bar_statistic.d.ts +21 -0
- package/dist/types/components/collaborative_client_tag/collaborative_client_tag.d.ts +14 -0
- package/dist/types/components/color_picker/color_picker.d.ts +41 -0
- package/dist/types/components/color_picker/color_picker_widget.d.ts +27 -0
- package/dist/types/components/composer/autocomplete_dropdown/autocomplete_dropdown.d.ts +15 -0
- package/dist/types/components/composer/composer/composer.d.ts +135 -0
- package/dist/types/components/composer/content_editable_helper.d.ts +60 -0
- package/dist/types/components/composer/formula_assistant/formula_assistant.d.ts +20 -0
- package/dist/types/components/composer/grid_composer/grid_composer.d.ts +39 -0
- package/dist/types/components/composer/top_bar_composer/top_bar_composer.d.ts +18 -0
- package/dist/types/components/dashboard/dashboard.d.ts +50 -0
- package/dist/types/components/data_validation_overlay/data_validation_overlay.d.ts +15 -0
- package/dist/types/components/data_validation_overlay/dv_checkbox/dv_checkbox.d.ts +12 -0
- package/dist/types/components/data_validation_overlay/dv_list_icon/dv_list_icon.d.ts +10 -0
- package/dist/types/components/error_tooltip/error_tooltip.d.ts +18 -0
- package/dist/types/components/figures/chart/chartJs/chartjs.d.ts +18 -0
- package/dist/types/components/figures/chart/scorecard/chart_scorecard.d.ts +14 -0
- package/dist/types/components/figures/figure/figure.d.ts +41 -0
- package/dist/types/components/figures/figure_chart/figure_chart.d.ts +14 -0
- package/dist/types/components/figures/figure_container/figure_container.d.ts +117 -0
- package/dist/types/components/figures/figure_image/figure_image.d.ts +13 -0
- package/dist/types/components/filters/filter_icon/filter_icon.d.ts +12 -0
- package/dist/types/components/filters/filter_icons_overlay/filter_icons_overlay.d.ts +22 -0
- package/dist/types/components/filters/filter_menu/filter_menu.d.ts +43 -0
- package/dist/types/components/filters/filter_menu_item/filter_menu_value_item.d.ts +17 -0
- package/dist/types/components/font_size_editor/font_size_editor.d.ts +29 -0
- package/dist/types/components/grid/grid.d.ts +99 -0
- package/dist/types/components/grid_add_rows_footer/grid_add_rows_footer.d.ts +27 -0
- package/dist/types/components/grid_cell_icon/grid_cell_icon.d.ts +16 -0
- package/dist/types/components/grid_overlay/grid_overlay.d.ts +45 -0
- package/dist/types/components/grid_popover/grid_popover.d.ts +20 -0
- package/dist/types/components/header_group/header_group.d.ts +41 -0
- package/dist/types/components/header_group/header_group_container.d.ts +29 -0
- package/dist/types/components/headers_overlay/headers_overlay.d.ts +117 -0
- package/dist/types/components/helpers/css.d.ts +40 -0
- package/dist/types/components/helpers/dom_helpers.d.ts +34 -0
- package/dist/types/components/helpers/drag_and_drop.d.ts +20 -0
- package/dist/types/components/helpers/drag_and_drop_hook.d.ts +24 -0
- package/dist/types/components/helpers/draw_grid_hook.d.ts +3 -0
- package/dist/types/components/helpers/figure_container_helper.d.ts +14 -0
- package/dist/types/components/helpers/figure_drag_helper.d.ts +6 -0
- package/dist/types/components/helpers/figure_snap_helper.d.ts +25 -0
- package/dist/types/components/helpers/html_content_helpers.d.ts +2 -0
- package/dist/types/components/helpers/index.d.ts +1 -0
- package/dist/types/components/helpers/listener_hook.d.ts +10 -0
- package/dist/types/components/helpers/position_hook.d.ts +25 -0
- package/dist/types/components/helpers/selection_helpers.d.ts +2 -0
- package/dist/types/components/helpers/time_hooks.d.ts +9 -0
- package/dist/types/components/helpers/wheel_hook.d.ts +1 -0
- package/dist/types/components/highlight/border/border.d.ts +15 -0
- package/dist/types/components/highlight/corner/corner.d.ts +18 -0
- package/dist/types/components/highlight/highlight/highlight.d.ts +22 -0
- package/dist/types/components/icon_picker/icon_picker.d.ts +65 -0
- package/dist/types/components/icons/icons.d.ts +56 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/link/index.d.ts +2 -0
- package/dist/types/components/link/link_display/link_display.d.ts +21 -0
- package/dist/types/components/link/link_editor/link_editor.d.ts +39 -0
- package/dist/types/components/menu/menu.d.ts +58 -0
- package/dist/types/components/paint_format_button/paint_format_button.d.ts +12 -0
- package/dist/types/components/popover/popover.d.ts +40 -0
- package/dist/types/components/scrollbar/index.d.ts +2 -0
- package/dist/types/components/scrollbar/scrollbar.d.ts +25 -0
- package/dist/types/components/scrollbar/scrollbar_horizontal.d.ts +26 -0
- package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +26 -0
- package/dist/types/components/scrollbar.d.ts +9 -0
- package/dist/types/components/selection_input/selection_input.d.ts +54 -0
- package/dist/types/components/side_panel/chart/bar_chart/bar_chart_config_panel.d.ts +6 -0
- package/dist/types/components/side_panel/chart/bar_chart/bar_chart_design_panel.d.ts +4 -0
- package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_config_panel.d.ts +26 -0
- package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_design_panel.d.ts +34 -0
- package/dist/types/components/side_panel/chart/index.d.ts +17 -0
- package/dist/types/components/side_panel/chart/line_bar_pie_panel/config_panel.d.ts +45 -0
- package/dist/types/components/side_panel/chart/line_bar_pie_panel/design_panel.d.ts +26 -0
- package/dist/types/components/side_panel/chart/line_chart/line_chart_config_panel.d.ts +9 -0
- package/dist/types/components/side_panel/chart/line_chart/line_chart_design_panel.d.ts +4 -0
- package/dist/types/components/side_panel/chart/main_chart_panel/main_chart_panel.d.ts +20 -0
- package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_config_panel.d.ts +32 -0
- package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_design_panel.d.ts +26 -0
- package/dist/types/components/side_panel/conditional_formatting/cf_editor/cf_editor.d.ts +137 -0
- package/dist/types/components/side_panel/conditional_formatting/cf_preview_list/cf_preview_list.d.ts +58 -0
- package/dist/types/components/side_panel/conditional_formatting/conditional_formatting.d.ts +23 -0
- package/dist/types/components/side_panel/custom_currency/custom_currency.d.ts +27 -0
- package/dist/types/components/side_panel/data_validation/data_validation_panel.d.ts +25 -0
- package/dist/types/components/side_panel/data_validation/data_validation_panel_helper.d.ts +14 -0
- package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_criterion_form.d.ts +11 -0
- package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_date_criterion/dv_date_criterion.d.ts +16 -0
- package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_double_input_criterion/dv_double_input_criterion.d.ts +10 -0
- package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_input/dv_input.d.ts +30 -0
- package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_single_input_criterion/dv_single_input_criterion.d.ts +9 -0
- package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_value_in_list_criterion/dv_value_in_list_criterion.d.ts +23 -0
- package/dist/types/components/side_panel/data_validation/dv_criterion_form/dv_value_in_range_criterion/dv_value_in_range_criterion.d.ts +12 -0
- package/dist/types/components/side_panel/data_validation/dv_editor/dv_editor.d.ts +34 -0
- package/dist/types/components/side_panel/data_validation/dv_preview/dv_preview.d.ts +13 -0
- package/dist/types/components/side_panel/find_and_replace/find_and_replace.d.ts +27 -0
- package/dist/types/components/side_panel/more_formats/more_formats.d.ts +10 -0
- package/dist/types/components/side_panel/remove_duplicates/remove_duplicates.d.ts +32 -0
- package/dist/types/components/side_panel/select_menu/select_menu.d.ts +29 -0
- package/dist/types/components/side_panel/settings/settings_panel.d.ts +18 -0
- package/dist/types/components/side_panel/side_panel/side_panel.d.ts +18 -0
- package/dist/types/components/side_panel/split_to_columns_panel/split_to_columns_panel.d.ts +35 -0
- package/dist/types/components/spreadsheet/spreadsheet.d.ts +64 -0
- package/dist/types/components/top_bar/top_bar.d.ts +65 -0
- package/dist/types/components/translations_terms.d.ts +104 -0
- package/dist/types/components/validation_messages/validation_messages.d.ts +11 -0
- package/dist/types/constants.d.ts +137 -0
- package/dist/types/formulas/code_builder.d.ts +28 -0
- package/dist/types/formulas/compiler.d.ts +7 -0
- package/dist/types/formulas/composer_tokenizer.d.ts +31 -0
- package/dist/types/formulas/helpers.d.ts +2 -0
- package/dist/types/formulas/index.d.ts +16 -0
- package/dist/types/formulas/parser.d.ts +72 -0
- package/dist/types/formulas/range_tokenizer.d.ts +8 -0
- package/dist/types/formulas/tokenizer.d.ts +25 -0
- package/dist/types/functions/arguments.d.ts +10 -0
- package/dist/types/functions/helper_assert.d.ts +6 -0
- package/dist/types/functions/helper_financial.d.ts +49 -0
- package/dist/types/functions/helper_matrices.d.ts +23 -0
- package/dist/types/functions/helper_statistical.d.ts +3 -0
- package/dist/types/functions/helpers.d.ts +101 -0
- package/dist/types/functions/index.d.ts +10 -0
- package/dist/types/functions/module_array.d.ts +141 -0
- package/dist/types/functions/module_custom.d.ts +8 -0
- package/dist/types/functions/module_database.d.ts +85 -0
- package/dist/types/functions/module_date.d.ts +231 -0
- package/dist/types/functions/module_engineering.d.ts +8 -0
- package/dist/types/functions/module_filter.d.ts +17 -0
- package/dist/types/functions/module_financial.d.ts +358 -0
- package/dist/types/functions/module_info.d.ts +64 -0
- package/dist/types/functions/module_logical.d.ts +59 -0
- package/dist/types/functions/module_lookup.d.ts +72 -0
- package/dist/types/functions/module_math.d.ts +424 -0
- package/dist/types/functions/module_operators.d.ts +98 -0
- package/dist/types/functions/module_statistical.d.ts +296 -0
- package/dist/types/functions/module_text.d.ts +147 -0
- package/dist/types/functions/module_web.d.ts +8 -0
- package/dist/types/helpers/cells/cell_evaluation.d.ts +6 -0
- package/dist/types/helpers/cells/index.d.ts +2 -0
- package/dist/types/helpers/chart_date.d.ts +8 -0
- package/dist/types/helpers/clipboard/clipboard_abstract_cell_state.d.ts +26 -0
- package/dist/types/helpers/clipboard/clipboard_cells_state.d.ts +70 -0
- package/dist/types/helpers/clipboard/clipboard_figure_state.d.ts +41 -0
- package/dist/types/helpers/clipboard/clipboard_os_state.d.ts +12 -0
- package/dist/types/helpers/clipboard/navigator_clipboard_wrapper.d.ts +13 -0
- package/dist/types/helpers/color.d.ts +68 -0
- package/dist/types/helpers/coordinates.d.ts +40 -0
- package/dist/types/helpers/data_validation_helpers.d.ts +5 -0
- package/dist/types/helpers/dates.d.ts +90 -0
- package/dist/types/helpers/edge_scrolling.d.ts +9 -0
- package/dist/types/helpers/event_bus.d.ts +45 -0
- package/dist/types/helpers/figures/charts/abstract_chart.d.ts +56 -0
- package/dist/types/helpers/figures/charts/bar_chart.d.ts +29 -0
- package/dist/types/helpers/figures/charts/chart_common.d.ts +62 -0
- package/dist/types/helpers/figures/charts/chart_factory.d.ts +40 -0
- package/dist/types/helpers/figures/charts/chart_js_gauge_controller.d.ts +1 -0
- package/dist/types/helpers/figures/charts/chart_ui_common.d.ts +41 -0
- package/dist/types/helpers/figures/charts/gauge_chart.d.ts +23 -0
- package/dist/types/helpers/figures/charts/index.d.ts +10 -0
- package/dist/types/helpers/figures/charts/line_chart.d.ts +32 -0
- package/dist/types/helpers/figures/charts/pie_chart.d.ts +27 -0
- package/dist/types/helpers/figures/charts/scorecard_chart.d.ts +30 -0
- package/dist/types/helpers/figures/charts/scorecard_chart_config_builder.d.ts +35 -0
- package/dist/types/helpers/figures/figure/figure.d.ts +6 -0
- package/dist/types/helpers/figures/images/image_provider.d.ts +10 -0
- package/dist/types/helpers/filters.d.ts +19 -0
- package/dist/types/helpers/focus_manager.d.ts +5 -0
- package/dist/types/helpers/format.d.ts +32 -0
- package/dist/types/helpers/index.d.ts +15 -0
- package/dist/types/helpers/internal_viewport.d.ts +83 -0
- package/dist/types/helpers/inverse_commands.d.ts +2 -0
- package/dist/types/helpers/links.d.ts +23 -0
- package/dist/types/helpers/locale.d.ts +58 -0
- package/dist/types/helpers/misc.d.ts +178 -0
- package/dist/types/helpers/numbers.d.ts +25 -0
- package/dist/types/helpers/range.d.ts +59 -0
- package/dist/types/helpers/recompute_zones.d.ts +136 -0
- package/dist/types/helpers/rectangle.d.ts +7 -0
- package/dist/types/helpers/reference_type.d.ts +9 -0
- package/dist/types/helpers/references.d.ts +23 -0
- package/dist/types/helpers/search.d.ts +19 -0
- package/dist/types/helpers/sheet.d.ts +7 -0
- package/dist/types/helpers/sort.d.ts +16 -0
- package/dist/types/helpers/state_manager_helpers.d.ts +6 -0
- package/dist/types/helpers/text_helper.d.ts +28 -0
- package/dist/types/helpers/ui/cut_interactive.d.ts +2 -0
- package/dist/types/helpers/ui/filter_interactive.d.ts +7 -0
- package/dist/types/helpers/ui/freeze_interactive.d.ts +2 -0
- package/dist/types/helpers/ui/merge_interactive.d.ts +6 -0
- package/dist/types/helpers/ui/paste_interactive.d.ts +10 -0
- package/dist/types/helpers/ui/sheet_interactive.d.ts +2 -0
- package/dist/types/helpers/ui/split_to_columns_interactive.d.ts +6 -0
- package/dist/types/helpers/ui/stop_edition_interactive.d.ts +2 -0
- package/dist/types/helpers/ui/toggle_group_interactive.d.ts +6 -0
- package/dist/types/helpers/uuid.d.ts +20 -0
- package/dist/types/helpers/zones.d.ts +173 -0
- package/dist/types/history/branch.d.ts +62 -0
- package/dist/types/history/factory.d.ts +9 -0
- package/dist/types/history/operation.d.ts +17 -0
- package/dist/types/history/operation_sequence.d.ts +31 -0
- package/dist/types/history/repeat_commands/repeat_commands_generic.d.ts +6 -0
- package/dist/types/history/repeat_commands/repeat_commands_specific.d.ts +13 -0
- package/dist/types/history/repeat_commands/repeat_revision.d.ts +5 -0
- package/dist/types/history/selective_history.d.ts +81 -0
- package/dist/types/history/tree.d.ts +175 -0
- package/dist/types/index.d.ts +189 -0
- package/dist/types/migrations/data.d.ts +30 -0
- package/dist/types/migrations/legacy_tools.d.ts +15 -0
- package/dist/types/model.d.ts +192 -0
- package/dist/types/plugins/base_plugin.d.ts +63 -0
- package/dist/types/plugins/core/borders.d.ts +127 -0
- package/dist/types/plugins/core/cell.d.ts +103 -0
- package/dist/types/plugins/core/chart.d.ts +41 -0
- package/dist/types/plugins/core/conditional_format.d.ts +52 -0
- package/dist/types/plugins/core/data_validation.d.ts +31 -0
- package/dist/types/plugins/core/figures.d.ts +34 -0
- package/dist/types/plugins/core/filters.d.ts +43 -0
- package/dist/types/plugins/core/header_grouping.d.ts +82 -0
- package/dist/types/plugins/core/header_size.d.ts +23 -0
- package/dist/types/plugins/core/header_visibility.d.ts +20 -0
- package/dist/types/plugins/core/image.d.ts +32 -0
- package/dist/types/plugins/core/index.d.ts +13 -0
- package/dist/types/plugins/core/merge.d.ts +83 -0
- package/dist/types/plugins/core/range.d.ts +59 -0
- package/dist/types/plugins/core/settings.d.ts +12 -0
- package/dist/types/plugins/core/sheet.d.ts +151 -0
- package/dist/types/plugins/core_plugin.d.ts +49 -0
- package/dist/types/plugins/index.d.ts +7 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/compilation_parameters.d.ts +10 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/evaluation_plugin.d.ts +43 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/evaluator.d.ts +90 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/formula_dependency_graph.d.ts +23 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/index.d.ts +1 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/r_tree.d.ts +108 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/spreading_relation.d.ts +60 -0
- package/dist/types/plugins/ui_core_views/custom_colors.d.ts +24 -0
- package/dist/types/plugins/ui_core_views/evaluation_chart.d.ts +24 -0
- package/dist/types/plugins/ui_core_views/evaluation_conditional_format.d.ts +37 -0
- package/dist/types/plugins/ui_core_views/evaluation_data_validation.d.ts +38 -0
- package/dist/types/plugins/ui_core_views/header_sizes_ui.d.ts +32 -0
- package/dist/types/plugins/ui_core_views/index.d.ts +5 -0
- package/dist/types/plugins/ui_feature/autofill.d.ts +60 -0
- package/dist/types/plugins/ui_feature/automatic_sum.d.ts +101 -0
- package/dist/types/plugins/ui_feature/cell_popovers.d.ts +16 -0
- package/dist/types/plugins/ui_feature/collaborative.d.ts +25 -0
- package/dist/types/plugins/ui_feature/data_cleanup.d.ts +16 -0
- package/dist/types/plugins/ui_feature/find_and_replace.d.ts +76 -0
- package/dist/types/plugins/ui_feature/format.d.ts +23 -0
- package/dist/types/plugins/ui_feature/header_visibility_ui.d.ts +21 -0
- package/dist/types/plugins/ui_feature/highlight.d.ts +12 -0
- package/dist/types/plugins/ui_feature/index.d.ts +15 -0
- package/dist/types/plugins/ui_feature/local_history.d.ts +36 -0
- package/dist/types/plugins/ui_feature/renderer.d.ts +45 -0
- package/dist/types/plugins/ui_feature/selection_input.d.ts +67 -0
- package/dist/types/plugins/ui_feature/selection_inputs_manager.d.ts +33 -0
- package/dist/types/plugins/ui_feature/sort.d.ts +75 -0
- package/dist/types/plugins/ui_feature/split_to_columns.d.ts +21 -0
- package/dist/types/plugins/ui_feature/ui_options.d.ts +8 -0
- package/dist/types/plugins/ui_feature/ui_sheet.d.ts +30 -0
- package/dist/types/plugins/ui_plugin.d.ts +36 -0
- package/dist/types/plugins/ui_stateful/clipboard.d.ts +43 -0
- package/dist/types/plugins/ui_stateful/edition.d.ts +117 -0
- package/dist/types/plugins/ui_stateful/filter_evaluation.d.ts +26 -0
- package/dist/types/plugins/ui_stateful/header_positions.d.ts +28 -0
- package/dist/types/plugins/ui_stateful/index.d.ts +5 -0
- package/dist/types/plugins/ui_stateful/selection.d.ts +78 -0
- package/dist/types/plugins/ui_stateful/sheetview.d.ts +164 -0
- package/dist/types/registries/autofill_modifiers.d.ts +7 -0
- package/dist/types/registries/autofill_rules.d.ts +15 -0
- package/dist/types/registries/cell_clickable_registry.d.ts +8 -0
- package/dist/types/registries/cell_popovers_registry.d.ts +3 -0
- package/dist/types/registries/chart_types.d.ts +28 -0
- package/dist/types/registries/currencies_registry.d.ts +7 -0
- package/dist/types/registries/data_validation_registry.d.ts +32 -0
- package/dist/types/registries/figure_registry.d.ts +18 -0
- package/dist/types/registries/index.d.ts +11 -0
- package/dist/types/registries/inverse_command_registry.d.ts +5 -0
- package/dist/types/registries/menu_items_registry.d.ts +19 -0
- package/dist/types/registries/menus/cell_menu_registry.d.ts +2 -0
- package/dist/types/registries/menus/col_menu_registry.d.ts +2 -0
- package/dist/types/registries/menus/header_group_registry.d.ts +7 -0
- package/dist/types/registries/menus/index.d.ts +7 -0
- package/dist/types/registries/menus/link_menu_registry.d.ts +2 -0
- package/dist/types/registries/menus/number_format_menu_registry.d.ts +4 -0
- package/dist/types/registries/menus/row_menu_registry.d.ts +2 -0
- package/dist/types/registries/menus/sheet_menu_registry.d.ts +4 -0
- package/dist/types/registries/menus/topbar_menu_registry.d.ts +2 -0
- package/dist/types/registries/ot_registry.d.ts +21 -0
- package/dist/types/registries/registry.d.ts +44 -0
- package/dist/types/registries/repeat_commands_registry.d.ts +20 -0
- package/dist/types/registries/side_panel_registry.d.ts +8 -0
- package/dist/types/registries/topbar_component_registry.d.ts +18 -0
- package/dist/types/selection_stream/event_stream.d.ts +64 -0
- package/dist/types/selection_stream/selection_stream_processor.d.ts +167 -0
- package/dist/types/state_observer.d.ts +15 -0
- package/dist/types/translation.d.ts +21 -0
- package/dist/types/types/autofill.d.ts +62 -0
- package/dist/types/types/cell_popovers.d.ts +44 -0
- package/dist/types/types/cells.d.ts +64 -0
- package/dist/types/types/chart/bar_chart.d.ts +19 -0
- package/dist/types/types/chart/chart.d.ts +48 -0
- package/dist/types/types/chart/common_chart.d.ts +2 -0
- package/dist/types/types/chart/gauge_chart.d.ts +73 -0
- package/dist/types/types/chart/index.d.ts +7 -0
- package/dist/types/types/chart/line_chart.d.ts +21 -0
- package/dist/types/types/chart/pie_chart.d.ts +17 -0
- package/dist/types/types/chart/scorecard_chart.d.ts +26 -0
- package/dist/types/types/clipboard.d.ts +31 -0
- package/dist/types/types/collaborative/revisions.d.ts +7 -0
- package/dist/types/types/collaborative/session.d.ts +46 -0
- package/dist/types/types/collaborative/transport_service.d.ts +91 -0
- package/dist/types/types/commands.d.ts +873 -0
- package/dist/types/types/conditional_formatting.d.ts +103 -0
- package/dist/types/types/currency.d.ts +7 -0
- package/dist/types/types/data_validation.d.ts +121 -0
- package/dist/types/types/env.d.ts +33 -0
- package/dist/types/types/errors.d.ts +33 -0
- package/dist/types/types/event_stream/index.d.ts +1 -0
- package/dist/types/types/event_stream/selection_events.d.ts +11 -0
- package/dist/types/types/figure.d.ts +14 -0
- package/dist/types/types/files.d.ts +27 -0
- package/dist/types/types/format.d.ts +8 -0
- package/dist/types/types/functions.d.ts +49 -0
- package/dist/types/types/getters.d.ts +101 -0
- package/dist/types/types/history.d.ts +43 -0
- package/dist/types/types/image.d.ts +12 -0
- package/dist/types/types/index.d.ts +30 -0
- package/dist/types/types/locale.d.ts +13 -0
- package/dist/types/types/misc.d.ts +276 -0
- package/dist/types/types/range.d.ts +21 -0
- package/dist/types/types/rendering.d.ts +86 -0
- package/dist/types/types/validator.d.ts +16 -0
- package/dist/types/types/workbook_data.d.ts +112 -0
- package/dist/types/types/xlsx.d.ts +441 -0
- package/dist/types/xlsx/constants.d.ts +74 -0
- package/dist/types/xlsx/conversion/cf_conversion.d.ts +4 -0
- package/dist/types/xlsx/conversion/color_conversion.d.ts +24 -0
- package/dist/types/xlsx/conversion/conversion_maps.d.ts +167 -0
- package/dist/types/xlsx/conversion/figure_conversion.d.ts +3 -0
- package/dist/types/xlsx/conversion/format_conversion.d.ts +8 -0
- package/dist/types/xlsx/conversion/formula_conversion.d.ts +9 -0
- package/dist/types/xlsx/conversion/index.d.ts +7 -0
- package/dist/types/xlsx/conversion/sheet_conversion.d.ts +4 -0
- package/dist/types/xlsx/conversion/style_conversion.d.ts +19 -0
- package/dist/types/xlsx/conversion/table_conversion.d.ts +14 -0
- package/dist/types/xlsx/extraction/base_extractor.d.ts +142 -0
- package/dist/types/xlsx/extraction/cf_extractor.d.ts +14 -0
- package/dist/types/xlsx/extraction/chart_extractor.d.ts +11 -0
- package/dist/types/xlsx/extraction/external_book_extractor.d.ts +6 -0
- package/dist/types/xlsx/extraction/figure_extractor.d.ts +8 -0
- package/dist/types/xlsx/extraction/index.d.ts +3 -0
- package/dist/types/xlsx/extraction/misc_extractor.d.ts +18 -0
- package/dist/types/xlsx/extraction/pivot_extractor.d.ts +8 -0
- package/dist/types/xlsx/extraction/sheet_extractor.d.ts +23 -0
- package/dist/types/xlsx/extraction/style_extractor.d.ts +19 -0
- package/dist/types/xlsx/extraction/table_extractor.d.ts +10 -0
- package/dist/types/xlsx/functions/cells.d.ts +11 -0
- package/dist/types/xlsx/functions/charts.d.ts +3 -0
- package/dist/types/xlsx/functions/conditional_formatting.d.ts +3 -0
- package/dist/types/xlsx/functions/drawings.d.ts +5 -0
- package/dist/types/xlsx/functions/styles.d.ts +10 -0
- package/dist/types/xlsx/functions/table.d.ts +2 -0
- package/dist/types/xlsx/functions/worksheet.d.ts +9 -0
- package/dist/types/xlsx/helpers/colors.d.ts +8 -0
- package/dist/types/xlsx/helpers/content_helpers.d.ts +48 -0
- package/dist/types/xlsx/helpers/misc.d.ts +29 -0
- package/dist/types/xlsx/helpers/xlsx_helper.d.ts +10 -0
- package/dist/types/xlsx/helpers/xlsx_parser_error_manager.d.ts +34 -0
- package/dist/types/xlsx/helpers/xml_helpers.d.ts +36 -0
- package/dist/types/xlsx/xlsx_reader.d.ts +13 -0
- package/dist/types/xlsx/xlsx_writer.d.ts +8 -0
- package/package.json +42 -25
- package/dist/o-spreadsheet.d.ts +0 -8046
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Border, CellPosition, Command, CommandResult, ExcelWorkbookData, UID } from "../../types";
|
|
2
|
+
import { LocalCommand } from "../../types/commands";
|
|
3
|
+
import { UIPlugin } from "../ui_plugin";
|
|
4
|
+
export declare class FilterEvaluationPlugin extends UIPlugin {
|
|
5
|
+
static getters: readonly ["getCellBorderWithFilterBorder", "getFilterValues", "isRowFiltered", "isFilterActive"];
|
|
6
|
+
private filterValues;
|
|
7
|
+
hiddenRows: Record<UID, Set<number> | undefined>;
|
|
8
|
+
isEvaluationDirty: boolean;
|
|
9
|
+
allowDispatch(cmd: LocalCommand): CommandResult;
|
|
10
|
+
handle(cmd: Command): void;
|
|
11
|
+
finalize(): void;
|
|
12
|
+
isRowFiltered(sheetId: UID, row: number): boolean;
|
|
13
|
+
getCellBorderWithFilterBorder(position: CellPosition): Border | null;
|
|
14
|
+
getFilterValues(position: CellPosition): string[];
|
|
15
|
+
isFilterActive(position: CellPosition): boolean;
|
|
16
|
+
private intersectZoneWithViewport;
|
|
17
|
+
private updateFilter;
|
|
18
|
+
private updateHiddenRows;
|
|
19
|
+
private getCellValueAsString;
|
|
20
|
+
exportForExcel(data: ExcelWorkbookData): void;
|
|
21
|
+
/**
|
|
22
|
+
* Get an unique column name for the column at colIndex. If the column name is already in the array of used column names,
|
|
23
|
+
* concatenate a number to the name until we find a new unique name (eg. "ColName" => "ColName1" => "ColName2" ...)
|
|
24
|
+
*/
|
|
25
|
+
private getUniqueColNameForExcel;
|
|
26
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Command, UID } from "../../types";
|
|
2
|
+
import { Dimension, HeaderDimensions, HeaderIndex, Pixel } from "../../types/misc";
|
|
3
|
+
import { UIPlugin } from "../ui_plugin";
|
|
4
|
+
export declare class HeaderPositionsUIPlugin extends UIPlugin {
|
|
5
|
+
static getters: readonly ["getColDimensions", "getRowDimensions", "getColRowOffset"];
|
|
6
|
+
private headerPositions;
|
|
7
|
+
private isDirty;
|
|
8
|
+
handle(cmd: Command): void;
|
|
9
|
+
finalize(): void;
|
|
10
|
+
/**
|
|
11
|
+
* Returns the size, start and end coordinates of a column on an unfolded sheet
|
|
12
|
+
*/
|
|
13
|
+
getColDimensions(sheetId: UID, col: HeaderIndex): HeaderDimensions;
|
|
14
|
+
/**
|
|
15
|
+
* Returns the size, start and end coordinates of a row an unfolded sheet
|
|
16
|
+
*/
|
|
17
|
+
getRowDimensions(sheetId: UID, row: HeaderIndex): HeaderDimensions;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the offset of a header (determined by the dimension) at the given index
|
|
20
|
+
* based on the referenceIndex given. If start === 0, this method will return
|
|
21
|
+
* the start attribute of the header.
|
|
22
|
+
*
|
|
23
|
+
* i.e. The size from A to B is the distance between A.start and B.end
|
|
24
|
+
*/
|
|
25
|
+
getColRowOffset(dimension: Dimension, referenceIndex: HeaderIndex, index: HeaderIndex, sheetId?: UID): Pixel;
|
|
26
|
+
private computeHeaderPositionsOfSheet;
|
|
27
|
+
private computePositions;
|
|
28
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { CellPosition, Command, CommandResult, Dimension, EvaluatedCell, GridRenderingContext, LAYERS, LocalCommand, Selection, Sheet, Style, UID, Zone } from "../../types/index";
|
|
2
|
+
import { UIPlugin, UIPluginConfig } from "../ui_plugin";
|
|
3
|
+
/**
|
|
4
|
+
* SelectionPlugin
|
|
5
|
+
*/
|
|
6
|
+
export declare class GridSelectionPlugin extends UIPlugin {
|
|
7
|
+
static layers: LAYERS[];
|
|
8
|
+
static getters: readonly ["getActiveSheet", "getActiveSheetId", "getActiveCell", "getActiveCols", "getActiveRows", "getCurrentStyle", "getSelectedZones", "getSelectedZone", "getSelectedCells", "getStatisticFnResults", "getAggregate", "getSelectedFigureId", "getSelection", "getActivePosition", "getSheetPosition", "isSelected", "isSingleColSelected", "getElementsFromSelection", "tryGetActiveSheetId", "isGridSelectionActive"];
|
|
9
|
+
private gridSelection;
|
|
10
|
+
private selectedFigureId;
|
|
11
|
+
private sheetsData;
|
|
12
|
+
private moveClient;
|
|
13
|
+
activeSheet: Sheet;
|
|
14
|
+
constructor(config: UIPluginConfig);
|
|
15
|
+
allowDispatch(cmd: LocalCommand): CommandResult;
|
|
16
|
+
private handleEvent;
|
|
17
|
+
handle(cmd: Command): void;
|
|
18
|
+
finalize(): void;
|
|
19
|
+
isGridSelectionActive(): boolean;
|
|
20
|
+
getActiveSheet(): Readonly<Sheet>;
|
|
21
|
+
getActiveSheetId(): UID;
|
|
22
|
+
tryGetActiveSheetId(): UID | undefined;
|
|
23
|
+
getActiveCell(): EvaluatedCell;
|
|
24
|
+
getActiveCols(): Set<number>;
|
|
25
|
+
getActiveRows(): Set<number>;
|
|
26
|
+
getCurrentStyle(): Style;
|
|
27
|
+
getSelectedZones(): Zone[];
|
|
28
|
+
getSelectedZone(): Zone;
|
|
29
|
+
getSelection(): Selection;
|
|
30
|
+
getSelectedCells(): EvaluatedCell[];
|
|
31
|
+
getSelectedFigureId(): UID | null;
|
|
32
|
+
getActivePosition(): CellPosition;
|
|
33
|
+
getSheetPosition(sheetId: UID): CellPosition;
|
|
34
|
+
getStatisticFnResults(): {
|
|
35
|
+
[name: string]: number | undefined;
|
|
36
|
+
};
|
|
37
|
+
getAggregate(): string | null;
|
|
38
|
+
isSelected(zone: Zone): boolean;
|
|
39
|
+
isSingleColSelected(): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Returns a sorted array of indexes of all columns (respectively rows depending
|
|
42
|
+
* on the dimension parameter) intersected by the currently selected zones.
|
|
43
|
+
*
|
|
44
|
+
* example:
|
|
45
|
+
* assume selectedZones: [{left:0, right: 2, top :2, bottom: 4}, {left:5, right: 6, top :3, bottom: 5}]
|
|
46
|
+
*
|
|
47
|
+
* if dimension === "COL" => [0,1,2,5,6]
|
|
48
|
+
* if dimension === "ROW" => [2,3,4,5]
|
|
49
|
+
*/
|
|
50
|
+
getElementsFromSelection(dimension: Dimension): number[];
|
|
51
|
+
private activateSheet;
|
|
52
|
+
/**
|
|
53
|
+
* Ensure selections are not outside sheet boundaries.
|
|
54
|
+
* They are clipped to fit inside the sheet if needed.
|
|
55
|
+
*/
|
|
56
|
+
private setSelectionMixin;
|
|
57
|
+
/**
|
|
58
|
+
* Change the anchor of the selection active cell to an absolute col and row index.
|
|
59
|
+
*
|
|
60
|
+
* This is a non trivial task. We need to stop the editing process and update
|
|
61
|
+
* properly the current selection. Also, this method can optionally create a new
|
|
62
|
+
* range in the selection.
|
|
63
|
+
*/
|
|
64
|
+
private selectCell;
|
|
65
|
+
private setActiveSheet;
|
|
66
|
+
private activateNextSheet;
|
|
67
|
+
private onColumnsRemoved;
|
|
68
|
+
private onRowsRemoved;
|
|
69
|
+
private onAddElements;
|
|
70
|
+
private onMoveElements;
|
|
71
|
+
private isMoveElementAllowed;
|
|
72
|
+
private fallbackToVisibleSheet;
|
|
73
|
+
/**
|
|
74
|
+
* Clip the selection if it spans outside the sheet
|
|
75
|
+
*/
|
|
76
|
+
private clipSelection;
|
|
77
|
+
drawGrid(renderingContext: GridRenderingContext): void;
|
|
78
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { InternalViewport } from "../../helpers/internal_viewport";
|
|
2
|
+
import { CellPosition, Command, CommandResult, DOMCoordinates, DOMDimension, Dimension, EdgeScrollInfo, Figure, HeaderIndex, LocalCommand, Pixel, Rect, SheetDOMScrollInfo, SheetScrollInfo, UID, Viewport, Zone } from "../../types/index";
|
|
3
|
+
import { PixelPosition } from "../../types/misc";
|
|
4
|
+
import { UIPlugin } from "../ui_plugin";
|
|
5
|
+
/**
|
|
6
|
+
* EdgeScrollCases Schema
|
|
7
|
+
*
|
|
8
|
+
* The dots/double dots represent a freeze (= a split of viewports)
|
|
9
|
+
* In this example, we froze vertically between columns D and E
|
|
10
|
+
* and horizontally between rows 4 and 5.
|
|
11
|
+
*
|
|
12
|
+
* One can see that we scrolled horizontally from column E to G and
|
|
13
|
+
* vertically from row 5 to 7.
|
|
14
|
+
*
|
|
15
|
+
* A B C D G H I J K L M N O P Q R S T
|
|
16
|
+
* _______________________________________________________
|
|
17
|
+
* 1 | : |
|
|
18
|
+
* 2 | : |
|
|
19
|
+
* 3 | : B ↑ 6 |
|
|
20
|
+
* 4 | : | | | |
|
|
21
|
+
* ····················+···+·················+············|
|
|
22
|
+
* 7 | : | | | |
|
|
23
|
+
* 8 | : ↓ 2 | |
|
|
24
|
+
* 9 | : | |
|
|
25
|
+
* 10 | A --+--→ | |
|
|
26
|
+
* 11 | : | |
|
|
27
|
+
* 12 | : | |
|
|
28
|
+
* 13 | ←--+-- 1 | |
|
|
29
|
+
* 14 | : | 3 --+--→
|
|
30
|
+
* 15 | : | |
|
|
31
|
+
* 16 | : | |
|
|
32
|
+
* 17 | 5 --+-------------------------------------------+--→
|
|
33
|
+
* 18 | : | |
|
|
34
|
+
* 19 | : 4 | |
|
|
35
|
+
* 20 | : | | |
|
|
36
|
+
* ______________________________+___________| ____________
|
|
37
|
+
* | |
|
|
38
|
+
* ↓ ↓
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* Viewport plugin.
|
|
42
|
+
*
|
|
43
|
+
* This plugin manages all things related to all viewport states.
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
46
|
+
export declare class SheetViewPlugin extends UIPlugin {
|
|
47
|
+
static getters: readonly ["getColIndex", "getRowIndex", "getActiveMainViewport", "getSheetViewDimension", "getSheetViewDimensionWithHeaders", "getMainViewportRect", "isVisibleInViewport", "getEdgeScrollCol", "getEdgeScrollRow", "getVisibleFigures", "getVisibleRect", "getVisibleRectWithoutHeaders", "getVisibleCellPositions", "getColRowOffsetInViewport", "getMainViewportCoordinates", "getActiveSheetScrollInfo", "getActiveSheetDOMScrollInfo", "getSheetViewVisibleCols", "getSheetViewVisibleRows", "getFrozenSheetViewRatio", "isPositionVisible", "getAllActiveViewportsZonesAndRect", "getRect"];
|
|
48
|
+
private viewports;
|
|
49
|
+
/**
|
|
50
|
+
* The viewport dimensions are usually set by one of the components
|
|
51
|
+
* (i.e. when grid component is mounted) to properly reflect its state in the DOM.
|
|
52
|
+
* In the absence of a component (standalone model), is it mandatory to set reasonable default values
|
|
53
|
+
* to ensure the correct operation of this plugin.
|
|
54
|
+
*/
|
|
55
|
+
private sheetViewWidth;
|
|
56
|
+
private sheetViewHeight;
|
|
57
|
+
private gridOffsetX;
|
|
58
|
+
private gridOffsetY;
|
|
59
|
+
private sheetsWithDirtyViewports;
|
|
60
|
+
private shouldAdjustViewports;
|
|
61
|
+
allowDispatch(cmd: LocalCommand): CommandResult | CommandResult[];
|
|
62
|
+
private handleEvent;
|
|
63
|
+
handle(cmd: Command): void;
|
|
64
|
+
finalize(): void;
|
|
65
|
+
private setViewports;
|
|
66
|
+
/**
|
|
67
|
+
* Return the index of a column given an offset x, based on the viewport left
|
|
68
|
+
* visible cell.
|
|
69
|
+
* It returns -1 if no column is found.
|
|
70
|
+
*/
|
|
71
|
+
getColIndex(x: Pixel): HeaderIndex;
|
|
72
|
+
/**
|
|
73
|
+
* Return the index of a row given an offset y, based on the viewport top
|
|
74
|
+
* visible cell.
|
|
75
|
+
* It returns -1 if no row is found.
|
|
76
|
+
*/
|
|
77
|
+
getRowIndex(y: Pixel): HeaderIndex;
|
|
78
|
+
getSheetViewDimensionWithHeaders(): DOMDimension;
|
|
79
|
+
getSheetViewDimension(): DOMDimension;
|
|
80
|
+
/** type as pane, not viewport but basically pane extends viewport */
|
|
81
|
+
getActiveMainViewport(): Viewport;
|
|
82
|
+
/**
|
|
83
|
+
* Return the scroll info of the active sheet, ie. the offset between the viewport left/top side and
|
|
84
|
+
* the grid left/top side, snapped to the columns/rows.
|
|
85
|
+
*/
|
|
86
|
+
getActiveSheetScrollInfo(): SheetScrollInfo;
|
|
87
|
+
/**
|
|
88
|
+
* Return the DOM scroll info of the active sheet, ie. the offset between the viewport left/top side and
|
|
89
|
+
* the grid left/top side, corresponding to the scroll of the scrollbars and not snapped to the grid.
|
|
90
|
+
*/
|
|
91
|
+
getActiveSheetDOMScrollInfo(): SheetDOMScrollInfo;
|
|
92
|
+
getSheetViewVisibleCols(): HeaderIndex[];
|
|
93
|
+
getSheetViewVisibleRows(): HeaderIndex[];
|
|
94
|
+
/**
|
|
95
|
+
* Get the positions of all the cells that are visible in the viewport, taking merges into account.
|
|
96
|
+
*/
|
|
97
|
+
getVisibleCellPositions(): CellPosition[];
|
|
98
|
+
/**
|
|
99
|
+
* Return the main viewport maximum size relative to the client size.
|
|
100
|
+
*/
|
|
101
|
+
getMainViewportRect(): Rect;
|
|
102
|
+
private getMaximumSheetOffset;
|
|
103
|
+
getColRowOffsetInViewport(dimension: Dimension, referenceHeaderIndex: HeaderIndex, targetHeaderIndex: HeaderIndex): Pixel;
|
|
104
|
+
/**
|
|
105
|
+
* Check if a given position is visible in the viewport.
|
|
106
|
+
*/
|
|
107
|
+
isVisibleInViewport({ sheetId, col, row }: CellPosition): boolean;
|
|
108
|
+
getEdgeScrollCol(x: number, previousX: number, startingX: number): EdgeScrollInfo;
|
|
109
|
+
getEdgeScrollRow(y: number, previousY: number, startingY: number): EdgeScrollInfo;
|
|
110
|
+
/**
|
|
111
|
+
* Computes the coordinates and size to draw the zone on the canvas
|
|
112
|
+
*/
|
|
113
|
+
getVisibleRect(zone: Zone): Rect;
|
|
114
|
+
/**
|
|
115
|
+
* Computes the coordinates and size to draw the zone without taking the grid offset into account
|
|
116
|
+
*/
|
|
117
|
+
getVisibleRectWithoutHeaders(zone: Zone): Rect;
|
|
118
|
+
/**
|
|
119
|
+
* Computes the actual size and position (:Rect) of the zone on the canvas
|
|
120
|
+
* regardless of the viewport dimensions.
|
|
121
|
+
*/
|
|
122
|
+
getRect(zone: Zone): Rect;
|
|
123
|
+
/**
|
|
124
|
+
* Returns the position of the MainViewport relatively to the start of the grid (without headers)
|
|
125
|
+
* It corresponds to the summed dimensions of the visible cols/rows (in x/y respectively)
|
|
126
|
+
* situated before the pane divisions.
|
|
127
|
+
*/
|
|
128
|
+
getMainViewportCoordinates(): DOMCoordinates;
|
|
129
|
+
getAllActiveViewportsZonesAndRect(): {
|
|
130
|
+
zone: Zone;
|
|
131
|
+
rect: Rect;
|
|
132
|
+
}[];
|
|
133
|
+
private ensureMainViewportExist;
|
|
134
|
+
private getSubViewports;
|
|
135
|
+
private checkPositiveDimension;
|
|
136
|
+
private checkValuesAreDifferent;
|
|
137
|
+
private checkScrollingDirection;
|
|
138
|
+
private getMainViewport;
|
|
139
|
+
private getMainInternalViewport;
|
|
140
|
+
/** gets rid of deprecated sheetIds */
|
|
141
|
+
private cleanViewports;
|
|
142
|
+
private resizeSheetView;
|
|
143
|
+
private recomputeViewports;
|
|
144
|
+
private setSheetViewOffset;
|
|
145
|
+
private getViewportOffset;
|
|
146
|
+
private resetViewports;
|
|
147
|
+
/**
|
|
148
|
+
* Adjust the viewport such that the anchor position is visible
|
|
149
|
+
*/
|
|
150
|
+
private refreshViewport;
|
|
151
|
+
/**
|
|
152
|
+
* Shift the viewport vertically and move the selection anchor
|
|
153
|
+
* such that it remains at the same place relative to the
|
|
154
|
+
* viewport top.
|
|
155
|
+
*/
|
|
156
|
+
private shiftVertically;
|
|
157
|
+
getVisibleFigures(): Figure[];
|
|
158
|
+
isPositionVisible(position: PixelPosition): boolean;
|
|
159
|
+
getFrozenSheetViewRatio(sheetId: UID): {
|
|
160
|
+
xRatio: number;
|
|
161
|
+
yRatio: number;
|
|
162
|
+
};
|
|
163
|
+
mapViewportsToRect(sheetId: UID, rectCallBack: (viewport: InternalViewport) => Rect | undefined): Rect;
|
|
164
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AutofillModifierImplementation } from "../types/index";
|
|
2
|
+
import { Registry } from "./registry";
|
|
3
|
+
/**
|
|
4
|
+
* An AutofillModifierImplementation is used to describe how to handle a
|
|
5
|
+
* AutofillModifier.
|
|
6
|
+
*/
|
|
7
|
+
export declare const autofillModifiersRegistry: Registry<AutofillModifierImplementation>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AutofillModifier, Cell, DIRECTION } from "../types/index";
|
|
2
|
+
import { Registry } from "./registry";
|
|
3
|
+
/**
|
|
4
|
+
* An AutofillRule is used to generate what to do when we need to autofill
|
|
5
|
+
* a cell. (In a AutofillGenerator, see plugins/autofill.ts)
|
|
6
|
+
*
|
|
7
|
+
* When we generate the rules to autofill, we take the first matching rule
|
|
8
|
+
* (ordered by sequence), and we generate the AutofillModifier with generateRule
|
|
9
|
+
*/
|
|
10
|
+
export interface AutofillRule {
|
|
11
|
+
condition: (cell: Cell, cells: (Cell | undefined)[]) => boolean;
|
|
12
|
+
generateRule: (cell: Cell, cells: (Cell | undefined)[], direction: DIRECTION) => AutofillModifier;
|
|
13
|
+
sequence: number;
|
|
14
|
+
}
|
|
15
|
+
export declare const autofillRulesRegistry: Registry<AutofillRule>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CellPosition, SpreadsheetChildEnv } from "../types";
|
|
2
|
+
import { Registry } from "./registry";
|
|
3
|
+
export interface CellClickableItem {
|
|
4
|
+
condition: (position: CellPosition, env: SpreadsheetChildEnv) => boolean;
|
|
5
|
+
execute: (position: CellPosition, env: SpreadsheetChildEnv) => void;
|
|
6
|
+
sequence: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const clickableCellRegistry: Registry<CellClickableItem>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component } from "@odoo/owl";
|
|
2
|
+
import { AbstractChart } from "../helpers/figures/charts/abstract_chart";
|
|
3
|
+
import { AddColumnsRowsCommand, CommandResult, CoreGetters, Getters, RemoveColumnsRowsCommand, UID } from "../types";
|
|
4
|
+
import { ChartCreationContext, ChartDefinition, ChartRuntime, ChartType } from "../types/chart/chart";
|
|
5
|
+
import { Validator } from "../types/validator";
|
|
6
|
+
import { Registry } from "./registry";
|
|
7
|
+
/**
|
|
8
|
+
* Instantiate a chart object based on a definition
|
|
9
|
+
*/
|
|
10
|
+
export interface ChartBuilder {
|
|
11
|
+
/**
|
|
12
|
+
* Check if this factory should be used
|
|
13
|
+
*/
|
|
14
|
+
match: (type: ChartType) => boolean;
|
|
15
|
+
createChart: (definition: ChartDefinition, sheetId: UID, getters: CoreGetters) => AbstractChart;
|
|
16
|
+
getChartRuntime: (chart: AbstractChart, getters: Getters) => ChartRuntime;
|
|
17
|
+
validateChartDefinition(validator: Validator, definition: ChartDefinition): CommandResult | CommandResult[];
|
|
18
|
+
transformDefinition(definition: ChartDefinition, executed: AddColumnsRowsCommand | RemoveColumnsRowsCommand): ChartDefinition;
|
|
19
|
+
getChartDefinitionFromContextCreation(context: ChartCreationContext): ChartDefinition;
|
|
20
|
+
name: string;
|
|
21
|
+
sequence: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* This registry is intended to map a cell content (raw string) to
|
|
25
|
+
* an instance of a cell.
|
|
26
|
+
*/
|
|
27
|
+
export declare const chartRegistry: Registry<ChartBuilder>;
|
|
28
|
+
export declare const chartComponentRegistry: Registry<new (...args: any) => Component>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Currency } from "../types";
|
|
2
|
+
import { Registry } from "./registry";
|
|
3
|
+
/**
|
|
4
|
+
* Registry intended to support usual currencies. It is mainly used to create
|
|
5
|
+
* currency formats that can be selected or modified when customizing formats.
|
|
6
|
+
*/
|
|
7
|
+
export declare const currenciesRegistry: Registry<Currency>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CellValue, DataValidationCriterion, DataValidationCriterionType, Getters, UID } from "../types";
|
|
2
|
+
import { Registry } from "./registry";
|
|
3
|
+
export type DataValidationCriterionEvaluator = {
|
|
4
|
+
type: DataValidationCriterionType;
|
|
5
|
+
/**
|
|
6
|
+
* Checks if a value is valid for the given criterion.
|
|
7
|
+
*
|
|
8
|
+
* The value and the criterion values should be in canonical form (non-localized), and formulas should
|
|
9
|
+
* be evaluated.
|
|
10
|
+
*/
|
|
11
|
+
isValueValid: (value: CellValue, criterion: DataValidationCriterion, getters: Getters, sheetId: UID) => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the error string to display when the value is not valid.
|
|
14
|
+
*
|
|
15
|
+
* The criterion values should be in canonical form (non-localized), and formulas should be evaluated.
|
|
16
|
+
*/
|
|
17
|
+
getErrorString: (criterion: DataValidationCriterion, getters: Getters, sheetId: UID) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Checks if a criterion value is valid.
|
|
20
|
+
*
|
|
21
|
+
* The value should be in canonical form (non-localized).
|
|
22
|
+
*/
|
|
23
|
+
isCriterionValueValid: (value: string) => boolean;
|
|
24
|
+
/** Return the number of values that the criterion must contains. Return undefined if the criterion can have any number of values */
|
|
25
|
+
numberOfValues: (criterion: DataValidationCriterion) => number | undefined;
|
|
26
|
+
name: string;
|
|
27
|
+
getPreview: (criterion: DataValidationCriterion, getters: Getters) => string;
|
|
28
|
+
/** Error string when a criterion value is invalid */
|
|
29
|
+
criterionValueErrorString: string;
|
|
30
|
+
allowedValues?: "onlyLiterals" | "onlyFormulas";
|
|
31
|
+
};
|
|
32
|
+
export declare const dataValidationEvaluatorRegistry: Registry<DataValidationCriterionEvaluator>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Action } from "../actions/action";
|
|
2
|
+
import { SpreadsheetChildEnv, UID } from "../types";
|
|
3
|
+
import { Registry } from "./registry";
|
|
4
|
+
/**
|
|
5
|
+
* This registry is intended to map a type of figure (tag) to a class of
|
|
6
|
+
* component, that will be used in the UI to represent the figure.
|
|
7
|
+
*
|
|
8
|
+
* The most important type of figure will be the Chart
|
|
9
|
+
*/
|
|
10
|
+
export interface FigureContent {
|
|
11
|
+
Component: any;
|
|
12
|
+
menuBuilder: (figureId: UID, onFigureDeleted: () => void, env: SpreadsheetChildEnv) => Action[];
|
|
13
|
+
SidePanelComponent?: string;
|
|
14
|
+
keepRatio?: boolean;
|
|
15
|
+
minFigSize?: number;
|
|
16
|
+
borderWidth?: number;
|
|
17
|
+
}
|
|
18
|
+
export declare const figureRegistry: Registry<FigureContent>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./autofill_modifiers";
|
|
2
|
+
export * from "./autofill_rules";
|
|
3
|
+
export * from "./cell_popovers_registry";
|
|
4
|
+
export * from "./chart_types";
|
|
5
|
+
export * from "./currencies_registry";
|
|
6
|
+
export * from "./figure_registry";
|
|
7
|
+
export * from "./inverse_command_registry";
|
|
8
|
+
export * from "./menus/index";
|
|
9
|
+
export * from "./ot_registry";
|
|
10
|
+
export * from "./side_panel_registry";
|
|
11
|
+
export * from "./topbar_component_registry";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Action, ActionBuilder, ActionSpec } from "../actions/action";
|
|
2
|
+
import { Registry } from "./registry";
|
|
3
|
+
/**
|
|
4
|
+
* The class Registry is extended in order to add the function addChild
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
export declare class MenuItemRegistry extends Registry<ActionSpec> {
|
|
8
|
+
/**
|
|
9
|
+
* @override
|
|
10
|
+
*/
|
|
11
|
+
add(key: string, value: ActionSpec): MenuItemRegistry;
|
|
12
|
+
/**
|
|
13
|
+
* Add a subitem to an existing item
|
|
14
|
+
* @param path Path of items to add this subitem
|
|
15
|
+
* @param value Subitem to add
|
|
16
|
+
*/
|
|
17
|
+
addChild(key: string, path: string[], value: ActionSpec | ActionBuilder): MenuItemRegistry;
|
|
18
|
+
getMenuItems(): Action[];
|
|
19
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Action } from "../../actions/action";
|
|
2
|
+
import { Dimension, UID } from "../../types";
|
|
3
|
+
import { MenuItemRegistry } from "../menu_items_registry";
|
|
4
|
+
export declare function createHeaderGroupContainerContextMenu(sheetId: UID, dimension: Dimension): Action[];
|
|
5
|
+
export declare function getHeaderGroupContextMenu(sheetId: UID, dimension: Dimension, start: number, end: number): Action[];
|
|
6
|
+
export declare const groupHeadersMenuRegistry: MenuItemRegistry;
|
|
7
|
+
export declare const unGroupHeadersMenuRegistry: MenuItemRegistry;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./cell_menu_registry";
|
|
2
|
+
export * from "./col_menu_registry";
|
|
3
|
+
export * from "./link_menu_registry";
|
|
4
|
+
export * from "./number_format_menu_registry";
|
|
5
|
+
export * from "./row_menu_registry";
|
|
6
|
+
export * from "./sheet_menu_registry";
|
|
7
|
+
export * from "./topbar_menu_registry";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CoreCommand, CoreCommandTypes } from "../types";
|
|
2
|
+
import { Registry } from "./registry";
|
|
3
|
+
export type TransformationFunction<U extends CoreCommandTypes, V extends CoreCommandTypes> = (toTransform: Extract<CoreCommand, {
|
|
4
|
+
type: U;
|
|
5
|
+
}>, executed: Extract<CoreCommand, {
|
|
6
|
+
type: V;
|
|
7
|
+
}>) => CoreCommand | undefined;
|
|
8
|
+
export declare class OTRegistry extends Registry<Map<CoreCommandTypes, TransformationFunction<CoreCommandTypes, CoreCommandTypes>>> {
|
|
9
|
+
/**
|
|
10
|
+
* Add a transformation function to the registry. When the executed command
|
|
11
|
+
* happened, all the commands in toTransforms should be transformed using the
|
|
12
|
+
* transformation function given
|
|
13
|
+
*/
|
|
14
|
+
addTransformation<U extends CoreCommandTypes, V extends CoreCommandTypes>(executed: U, toTransforms: V[], fn: TransformationFunction<CoreCommandTypes, CoreCommandTypes>): this;
|
|
15
|
+
/**
|
|
16
|
+
* Get the transformation function to transform the command toTransform, after
|
|
17
|
+
* that the executed command happened.
|
|
18
|
+
*/
|
|
19
|
+
getTransformation<U extends CoreCommandTypes, V extends CoreCommandTypes>(toTransform: U, executed: V): TransformationFunction<CoreCommandTypes, CoreCommandTypes> | undefined;
|
|
20
|
+
}
|
|
21
|
+
export declare const otRegistry: OTRegistry;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry
|
|
3
|
+
*
|
|
4
|
+
* The Registry class is basically just a mapping from a string key to an object.
|
|
5
|
+
* It is really not much more than an object. It is however useful for the
|
|
6
|
+
* following reasons:
|
|
7
|
+
*
|
|
8
|
+
* 1. it let us react and execute code when someone add something to the registry
|
|
9
|
+
* (for example, the FunctionRegistry subclass this for this purpose)
|
|
10
|
+
* 2. it throws an error when the get operation fails
|
|
11
|
+
* 3. it provides a chained API to add items to the registry.
|
|
12
|
+
*/
|
|
13
|
+
export declare class Registry<T> {
|
|
14
|
+
content: {
|
|
15
|
+
[key: string]: T;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Add an item to the registry
|
|
19
|
+
*
|
|
20
|
+
* Note that this also returns the registry, so another add method call can
|
|
21
|
+
* be chained
|
|
22
|
+
*/
|
|
23
|
+
add(key: string, value: T): Registry<T>;
|
|
24
|
+
/**
|
|
25
|
+
* Get an item from the registry
|
|
26
|
+
*/
|
|
27
|
+
get(key: string): T;
|
|
28
|
+
/**
|
|
29
|
+
* Check if the key is already in the registry
|
|
30
|
+
*/
|
|
31
|
+
contains(key: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Get a list of all elements in the registry
|
|
34
|
+
*/
|
|
35
|
+
getAll(): T[];
|
|
36
|
+
/**
|
|
37
|
+
* Get a list of all keys in the registry
|
|
38
|
+
*/
|
|
39
|
+
getKeys(): string[];
|
|
40
|
+
/**
|
|
41
|
+
* Remove an item from the registry
|
|
42
|
+
*/
|
|
43
|
+
remove(key: string): void;
|
|
44
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CoreCommand, Getters } from "../types";
|
|
2
|
+
import { Command, LocalCommand } from "./../types/commands";
|
|
3
|
+
import { Registry } from "./registry";
|
|
4
|
+
type RepeatTransform = (getters: Getters, cmd: CoreCommand) => CoreCommand | undefined;
|
|
5
|
+
type LocalRepeatTransform = (getters: Getters, cmd: LocalCommand, childCommands: readonly CoreCommand[]) => CoreCommand[] | LocalCommand | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Registry containing all the command that can be repeated on redo, and function to transform them
|
|
8
|
+
* to the current state of the model.
|
|
9
|
+
*
|
|
10
|
+
* If the transform function is undefined, the command will be transformed using generic transformations.
|
|
11
|
+
* (change the sheetId, the row, the col, the target, the ranges, to the current active sheet & selection)
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export declare const repeatCommandTransformRegistry: Registry<RepeatTransform>;
|
|
15
|
+
export declare const repeatLocalCommandTransformRegistry: Registry<LocalRepeatTransform>;
|
|
16
|
+
export declare function genericRepeat<T extends Command>(getters: Getters, command: T): T;
|
|
17
|
+
export declare function repeatCoreCommand(getters: Getters, command: CoreCommand | undefined): CoreCommand | undefined;
|
|
18
|
+
export declare function repeatLocalCommand(getters: Getters, command: LocalCommand, childCommands: readonly CoreCommand[]): CoreCommand[] | LocalCommand | undefined;
|
|
19
|
+
export declare function repeatLocalCommandChildren<T extends LocalCommand>(getters: Getters, cmd: T, childCommands: readonly CoreCommand[]): CoreCommand[] | undefined;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SpreadsheetChildEnv } from "../types";
|
|
2
|
+
import { Registry } from "./registry";
|
|
3
|
+
export interface SidePanelContent {
|
|
4
|
+
title: string | ((env: SpreadsheetChildEnv) => string);
|
|
5
|
+
Body: any;
|
|
6
|
+
Footer?: any;
|
|
7
|
+
}
|
|
8
|
+
export declare const sidePanelRegistry: Registry<SidePanelContent>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { UuidGenerator } from "../helpers";
|
|
2
|
+
import { UID } from "../types";
|
|
3
|
+
import { SpreadsheetChildEnv } from "../types/env";
|
|
4
|
+
import { Registry } from "./registry";
|
|
5
|
+
export interface TopbarComponent {
|
|
6
|
+
id: UID;
|
|
7
|
+
component: any;
|
|
8
|
+
isVisible?: (env: SpreadsheetChildEnv) => boolean;
|
|
9
|
+
}
|
|
10
|
+
declare class TopBarComponentRegistry extends Registry<TopbarComponent> {
|
|
11
|
+
mapping: {
|
|
12
|
+
[key: string]: Function;
|
|
13
|
+
};
|
|
14
|
+
uuidGenerator: UuidGenerator;
|
|
15
|
+
add(name: string, value: Omit<TopbarComponent, "id">): Registry<TopbarComponent>;
|
|
16
|
+
}
|
|
17
|
+
export declare const topbarComponentRegistry: TopBarComponentRegistry;
|
|
18
|
+
export {};
|