@odoo/o-spreadsheet 18.0.55 → 18.0.68
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 +60099 -68434
- package/dist/o-spreadsheet.esm.js +59914 -68433
- package/dist/o-spreadsheet.iife.js +65385 -73903
- package/dist/o-spreadsheet.iife.min.js +764 -727
- package/dist/o_spreadsheet.xml +9 -6
- package/dist/types/actions/action.d.ts +84 -0
- package/dist/types/actions/data_actions.d.ts +12 -0
- package/dist/types/actions/edit_actions.d.ts +23 -0
- package/dist/types/actions/format_actions.d.ts +63 -0
- package/dist/types/actions/insert_actions.d.ts +32 -0
- package/dist/types/actions/menu_items_actions.d.ts +55 -0
- package/dist/types/actions/sheet_actions.d.ts +13 -0
- package/dist/types/actions/view_actions.d.ts +26 -0
- package/dist/types/clipboard_handlers/abstract_cell_clipboard_handler.d.ts +7 -0
- package/dist/types/clipboard_handlers/abstract_clipboard_handler.d.ts +12 -0
- package/dist/types/clipboard_handlers/abstract_figure_clipboard_handler.d.ts +5 -0
- package/dist/types/clipboard_handlers/borders_clipboard.d.ts +17 -0
- package/dist/types/clipboard_handlers/cell_clipboard.d.ts +29 -0
- package/dist/types/clipboard_handlers/chart_clipboard.d.ts +15 -0
- package/dist/types/clipboard_handlers/conditional_format_clipboard.d.ts +25 -0
- package/dist/types/clipboard_handlers/data_validation_clipboard.d.ts +25 -0
- package/dist/types/clipboard_handlers/image_clipboard.d.ts +16 -0
- package/dist/types/clipboard_handlers/index.d.ts +7 -0
- package/dist/types/clipboard_handlers/merge_clipboard.d.ts +16 -0
- package/dist/types/clipboard_handlers/references_clipboard.d.ts +11 -0
- package/dist/types/clipboard_handlers/sheet_clipboard.d.ts +11 -0
- package/dist/types/clipboard_handlers/tables_clipboard.d.ts +33 -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 +101 -0
- package/dist/types/components/action_button/action_button.d.ts +42 -0
- package/dist/types/components/animation/ripple.d.ts +118 -0
- package/dist/types/components/autofill/autofill.d.ts +29 -0
- package/dist/types/components/border_editor/border_editor.d.ts +67 -0
- package/dist/types/components/border_editor/border_editor_widget.d.ts +47 -0
- package/dist/types/components/bottom_bar/bottom_bar.d.ts +59 -0
- package/dist/types/components/bottom_bar/bottom_bar_sheet/bottom_bar_sheet.d.ts +62 -0
- package/dist/types/components/bottom_bar/bottom_bar_statistic/aggregate_statistics_store.d.ts +15 -0
- package/dist/types/components/bottom_bar/bottom_bar_statistic/bottom_bar_statistic.d.ts +25 -0
- package/dist/types/components/collaborative_client_tag/collaborative_client_tag.d.ts +21 -0
- package/dist/types/components/color_picker/color_picker.d.ts +57 -0
- package/dist/types/components/color_picker/color_picker_widget.d.ts +52 -0
- package/dist/types/components/composer/autocomplete_dropdown/autocomplete_dropdown.d.ts +23 -0
- package/dist/types/components/composer/autocomplete_dropdown/autocomplete_dropdown_store.d.ts +12 -0
- package/dist/types/components/composer/composer/abstract_composer_store.d.ts +113 -0
- package/dist/types/components/composer/composer/cell_composer_store.d.ts +18 -0
- package/dist/types/components/composer/composer/composer.d.ts +172 -0
- package/dist/types/components/composer/composer_focus_store.d.ts +28 -0
- package/dist/types/components/composer/content_editable_helper.d.ts +60 -0
- package/dist/types/components/composer/formula_assistant/formula_assistant.d.ts +18 -0
- package/dist/types/components/composer/grid_composer/grid_composer.d.ts +47 -0
- package/dist/types/components/composer/standalone_composer/standalone_composer.d.ts +60 -0
- package/dist/types/components/composer/standalone_composer/standalone_composer_store.d.ts +22 -0
- package/dist/types/components/composer/top_bar_composer/top_bar_composer.d.ts +19 -0
- package/dist/types/components/dashboard/clickable_cell_store.d.ts +15 -0
- package/dist/types/components/dashboard/dashboard.d.ts +49 -0
- package/dist/types/components/data_validation_overlay/data_validation_overlay.d.ts +16 -0
- package/dist/types/components/data_validation_overlay/dv_checkbox/dv_checkbox.d.ts +19 -0
- package/dist/types/components/data_validation_overlay/dv_list_icon/dv_list_icon.d.ts +13 -0
- package/dist/types/components/error_tooltip/error_tooltip.d.ts +25 -0
- package/dist/types/components/figures/chart/chartJs/chartjs.d.ts +23 -0
- package/dist/types/components/figures/chart/chartJs/chartjs_show_values_plugin.d.ts +16 -0
- package/dist/types/components/figures/chart/chartJs/chartjs_waterfall_plugin.d.ts +12 -0
- package/dist/types/components/figures/chart/gauge/gauge_chart_component.d.ts +13 -0
- package/dist/types/components/figures/chart/scorecard/chart_scorecard.d.ts +18 -0
- package/dist/types/components/figures/figure/figure.d.ts +54 -0
- package/dist/types/components/figures/figure_chart/figure_chart.d.ts +16 -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 +15 -0
- package/dist/types/components/filters/filter_icon/filter_icon.d.ts +19 -0
- package/dist/types/components/filters/filter_icons_overlay/filter_icons_overlay.d.ts +13 -0
- package/dist/types/components/filters/filter_menu/filter_menu.d.ts +46 -0
- package/dist/types/components/filters/filter_menu_item/filter_menu_value_item.d.ts +28 -0
- package/dist/types/components/focus_store.d.ts +6 -0
- package/dist/types/components/font_size_editor/font_size_editor.d.ts +34 -0
- package/dist/types/components/grid/grid.d.ts +105 -0
- package/dist/types/components/grid/hovered_cell_store.d.ts +10 -0
- package/dist/types/components/grid_add_rows_footer/grid_add_rows_footer.d.ts +29 -0
- package/dist/types/components/grid_cell_icon/grid_cell_icon.d.ts +26 -0
- package/dist/types/components/grid_overlay/grid_overlay.d.ts +68 -0
- package/dist/types/components/grid_popover/grid_popover.d.ts +28 -0
- package/dist/types/components/header_group/header_group.d.ts +46 -0
- package/dist/types/components/header_group/header_group_container.d.ts +33 -0
- package/dist/types/components/headers_overlay/headers_overlay.d.ts +131 -0
- package/dist/types/components/helpers/autofocus_hook.d.ts +3 -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/highlight_hook.d.ts +4 -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 +13 -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 +17 -0
- package/dist/types/components/helpers/touch_scroll_hook.d.ts +3 -0
- package/dist/types/components/helpers/wheel_hook.d.ts +1 -0
- package/dist/types/components/highlight/border/border.d.ts +21 -0
- package/dist/types/components/highlight/corner/corner.d.ts +25 -0
- package/dist/types/components/highlight/highlight/highlight.d.ts +26 -0
- package/dist/types/components/icon_picker/icon_picker.d.ts +68 -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 +28 -0
- package/dist/types/components/link/link_editor/link_editor.d.ts +46 -0
- package/dist/types/components/menu/menu.d.ts +99 -0
- package/dist/types/components/paint_format_button/paint_format_button.d.ts +20 -0
- package/dist/types/components/paint_format_button/paint_format_store.d.ts +27 -0
- package/dist/types/components/pivot_html_renderer/pivot_html_renderer.d.ts +87 -0
- package/dist/types/components/popover/cell_popover_store.d.ts +22 -0
- package/dist/types/components/popover/index.d.ts +3 -0
- package/dist/types/components/popover/popover.d.ts +80 -0
- package/dist/types/components/popover/popover_builders.d.ts +1 -0
- package/dist/types/components/scrollbar/index.d.ts +2 -0
- package/dist/types/components/scrollbar/scrollbar.d.ts +39 -0
- package/dist/types/components/scrollbar/scrollbar_horizontal.d.ts +32 -0
- package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +32 -0
- package/dist/types/components/scrollbar.d.ts +9 -0
- package/dist/types/components/selection_input/selection_input.d.ts +81 -0
- package/dist/types/components/selection_input/selection_input_store.d.ts +96 -0
- package/dist/types/components/side_panel/chart/bar_chart/bar_chart_config_panel.d.ts +7 -0
- package/dist/types/components/side_panel/chart/building_blocks/axis_design/axis_design_editor.d.ts +46 -0
- package/dist/types/components/side_panel/chart/building_blocks/data_series/data_series.d.ts +30 -0
- package/dist/types/components/side_panel/chart/building_blocks/error_section/error_section.d.ts +21 -0
- package/dist/types/components/side_panel/chart/building_blocks/general_design/general_design_editor.d.ts +41 -0
- package/dist/types/components/side_panel/chart/building_blocks/generic_side_panel/config_panel.d.ts +87 -0
- package/dist/types/components/side_panel/chart/building_blocks/label_range/label_range.d.ts +42 -0
- package/dist/types/components/side_panel/chart/building_blocks/title/title.d.ts +76 -0
- package/dist/types/components/side_panel/chart/chart_type_picker/chart_type_picker.d.ts +49 -0
- package/dist/types/components/side_panel/chart/chart_with_axis/design_panel.d.ts +63 -0
- package/dist/types/components/side_panel/chart/combo_chart/combo_chart_config_panel.d.ts +4 -0
- package/dist/types/components/side_panel/chart/combo_chart/combo_chart_design_panel.d.ts +19 -0
- package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_config_panel.d.ts +32 -0
- package/dist/types/components/side_panel/chart/gauge_chart_panel/gauge_chart_design_panel.d.ts +48 -0
- package/dist/types/components/side_panel/chart/index.d.ts +15 -0
- package/dist/types/components/side_panel/chart/line_chart/line_chart_config_panel.d.ts +16 -0
- package/dist/types/components/side_panel/chart/main_chart_panel/main_chart_panel.d.ts +31 -0
- package/dist/types/components/side_panel/chart/main_chart_panel/main_chart_panel_store.d.ts +10 -0
- package/dist/types/components/side_panel/chart/pie_chart/pie_chart_design_panel.d.ts +31 -0
- package/dist/types/components/side_panel/chart/scatter_chart/scatter_chart_config_panel.d.ts +12 -0
- package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_config_panel.d.ts +40 -0
- package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_design_panel.d.ts +41 -0
- package/dist/types/components/side_panel/chart/waterfall_chart/waterfall_chart_design_panel.d.ts +53 -0
- package/dist/types/components/side_panel/components/badge_selection/badge_selection.d.ts +20 -0
- package/dist/types/components/side_panel/components/checkbox/checkbox.d.ts +47 -0
- package/dist/types/components/side_panel/components/cog_wheel_menu/cog_wheel_menu.d.ts +22 -0
- package/dist/types/components/side_panel/components/collapsible/side_panel_collapsible.d.ts +16 -0
- package/dist/types/components/side_panel/components/radio_selection/radio_selection.d.ts +32 -0
- package/dist/types/components/side_panel/components/round_color_picker/round_color_picker.d.ts +45 -0
- package/dist/types/components/side_panel/components/section/section.d.ts +16 -0
- package/dist/types/components/side_panel/conditional_formatting/cf_editor/cf_editor.d.ts +167 -0
- package/dist/types/components/side_panel/conditional_formatting/cf_preview/cf_preview.d.ts +57 -0
- package/dist/types/components/side_panel/conditional_formatting/cf_preview_list/cf_preview_list.d.ts +64 -0
- package/dist/types/components/side_panel/conditional_formatting/conditional_formatting.d.ts +30 -0
- package/dist/types/components/side_panel/custom_currency/custom_currency.d.ts +43 -0
- package/dist/types/components/side_panel/data_validation/data_validation_panel.d.ts +28 -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 +15 -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 +54 -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 +48 -0
- package/dist/types/components/side_panel/data_validation/dv_preview/dv_preview.d.ts +20 -0
- package/dist/types/components/side_panel/find_and_replace/find_and_replace.d.ts +46 -0
- package/dist/types/components/side_panel/find_and_replace/find_and_replace_store.d.ts +72 -0
- package/dist/types/components/side_panel/more_formats/more_formats.d.ts +13 -0
- package/dist/types/components/side_panel/pivot/editable_name/editable_name.d.ts +21 -0
- package/dist/types/components/side_panel/pivot/pivot_defer_update/pivot_defer_update.d.ts +28 -0
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/add_dimension_button/add_dimension_button.d.ts +46 -0
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension/pivot_dimension.d.ts +35 -0
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension_granularity/pivot_dimension_granularity.d.ts +34 -0
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_dimension_order/pivot_dimension_order.d.ts +15 -0
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_layout_configurator.d.ts +73 -0
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_measure/pivot_measure.d.ts +37 -0
- package/dist/types/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel.d.ts +68 -0
- package/dist/types/components/side_panel/pivot/pivot_measure_display_panel/pivot_measure_display_panel_store.d.ts +34 -0
- package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_side_panel.d.ts +21 -0
- package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.d.ts +35 -0
- package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_spreadsheet_side_panel/pivot_spreadsheet_side_panel.d.ts +49 -0
- package/dist/types/components/side_panel/pivot/pivot_title_section/pivot_title_section.d.ts +29 -0
- package/dist/types/components/side_panel/remove_duplicates/remove_duplicates.d.ts +39 -0
- package/dist/types/components/side_panel/select_menu/select_menu.d.ts +37 -0
- package/dist/types/components/side_panel/settings/settings_panel.d.ts +28 -0
- package/dist/types/components/side_panel/side_panel/side_panel.d.ts +15 -0
- package/dist/types/components/side_panel/side_panel/side_panel_store.d.ts +32 -0
- package/dist/types/components/side_panel/split_to_columns_panel/split_to_columns_panel.d.ts +42 -0
- package/dist/types/components/side_panel/table_panel/table_panel.d.ts +52 -0
- package/dist/types/components/side_panel/table_style_editor_panel/table_style_editor_panel.d.ts +50 -0
- package/dist/types/components/spreadsheet/spreadsheet.d.ts +63 -0
- package/dist/types/components/tables/table_dropdown_button/table_dropdown_button.d.ts +25 -0
- package/dist/types/components/tables/table_resizer/table_resizer.d.ts +20 -0
- package/dist/types/components/tables/table_style_picker/table_style_picker.d.ts +28 -0
- package/dist/types/components/tables/table_style_preview/table_canvas_helpers.d.ts +2 -0
- package/dist/types/components/tables/table_style_preview/table_style_preview.d.ts +45 -0
- package/dist/types/components/tables/table_styles_popover/table_styles_popover.d.ts +53 -0
- package/dist/types/components/text_input/text_input.d.ts +35 -0
- package/dist/types/components/top_bar/top_bar.d.ts +70 -0
- package/dist/types/components/translations_terms.d.ts +191 -0
- package/dist/types/components/validation_messages/validation_messages.d.ts +21 -0
- package/dist/types/constants.d.ts +179 -0
- package/dist/types/formulas/code_builder.d.ts +24 -0
- package/dist/types/formulas/compiler.d.ts +26 -0
- package/dist/types/formulas/composer_tokenizer.d.ts +48 -0
- package/dist/types/formulas/helpers.d.ts +7 -0
- package/dist/types/formulas/index.d.ts +14 -0
- package/dist/types/formulas/parser.d.ts +76 -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 +51 -0
- package/dist/types/functions/helper_logical.d.ts +9 -0
- package/dist/types/functions/helper_lookup.d.ts +9 -0
- package/dist/types/functions/helper_math.d.ts +3 -0
- package/dist/types/functions/helper_matrices.d.ts +24 -0
- package/dist/types/functions/helper_parser.d.ts +95 -0
- package/dist/types/functions/helper_statistical.d.ts +19 -0
- package/dist/types/functions/helpers.d.ts +146 -0
- package/dist/types/functions/index.d.ts +18 -0
- package/dist/types/functions/module_array.d.ts +122 -0
- package/dist/types/functions/module_custom.d.ts +6 -0
- package/dist/types/functions/module_database.d.ts +73 -0
- package/dist/types/functions/module_date.d.ts +185 -0
- package/dist/types/functions/module_engineering.d.ts +7 -0
- package/dist/types/functions/module_filter.d.ts +16 -0
- package/dist/types/functions/module_financial.d.ts +295 -0
- package/dist/types/functions/module_info.d.ts +63 -0
- package/dist/types/functions/module_logical.d.ts +31 -0
- package/dist/types/functions/module_lookup.d.ts +108 -0
- package/dist/types/functions/module_math.d.ts +354 -0
- package/dist/types/functions/module_operators.d.ts +77 -0
- package/dist/types/functions/module_parser.d.ts +7 -0
- package/dist/types/functions/module_statistical.d.ts +244 -0
- package/dist/types/functions/module_text.d.ts +132 -0
- package/dist/types/functions/module_web.d.ts +7 -0
- package/dist/types/helpers/cells/cell_evaluation.d.ts +4 -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_helpers.d.ts +32 -0
- package/dist/types/helpers/clipboard/navigator_clipboard_wrapper.d.ts +13 -0
- package/dist/types/helpers/color.d.ts +80 -0
- package/dist/types/helpers/coordinates.d.ts +38 -0
- package/dist/types/helpers/data_normalization.d.ts +14 -0
- package/dist/types/helpers/data_validation_helpers.d.ts +6 -0
- package/dist/types/helpers/dates.d.ts +92 -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 +32 -0
- package/dist/types/helpers/figures/charts/chart_common.d.ts +122 -0
- package/dist/types/helpers/figures/charts/chart_common_line_scatter.d.ts +16 -0
- package/dist/types/helpers/figures/charts/chart_factory.d.ts +35 -0
- package/dist/types/helpers/figures/charts/chart_ui_common.d.ts +51 -0
- package/dist/types/helpers/figures/charts/combo_chart.d.ts +29 -0
- package/dist/types/helpers/figures/charts/gauge_chart.d.ts +23 -0
- package/dist/types/helpers/figures/charts/gauge_chart_rendering.d.ts +48 -0
- package/dist/types/helpers/figures/charts/index.d.ts +10 -0
- package/dist/types/helpers/figures/charts/line_chart.d.ts +33 -0
- package/dist/types/helpers/figures/charts/pie_chart.d.ts +29 -0
- package/dist/types/helpers/figures/charts/pyramid_chart.d.ts +32 -0
- package/dist/types/helpers/figures/charts/scatter_chart.d.ts +31 -0
- package/dist/types/helpers/figures/charts/scorecard_chart.d.ts +32 -0
- package/dist/types/helpers/figures/charts/scorecard_chart_config_builder.d.ts +44 -0
- package/dist/types/helpers/figures/charts/waterfall_chart.d.ts +37 -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/format/format.d.ts +45 -0
- package/dist/types/helpers/format/format_parser.d.ts +38 -0
- package/dist/types/helpers/format/format_tokenizer.d.ts +39 -0
- package/dist/types/helpers/index.d.ts +17 -0
- package/dist/types/helpers/internal_viewport.d.ts +82 -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 +211 -0
- package/dist/types/helpers/numbers.d.ts +25 -0
- package/dist/types/helpers/pivot/pivot_composer_helpers.d.ts +61 -0
- package/dist/types/helpers/pivot/pivot_domain_helpers.d.ts +68 -0
- package/dist/types/helpers/pivot/pivot_helpers.d.ts +55 -0
- package/dist/types/helpers/pivot/pivot_highlight.d.ts +2 -0
- package/dist/types/helpers/pivot/pivot_menu_items.d.ts +3 -0
- package/dist/types/helpers/pivot/pivot_positional_formula_registry.d.ts +7 -0
- package/dist/types/helpers/pivot/pivot_presence_tracker.d.ts +9 -0
- package/dist/types/helpers/pivot/pivot_presentation.d.ts +91 -0
- package/dist/types/helpers/pivot/pivot_registry.d.ts +28 -0
- package/dist/types/helpers/pivot/pivot_runtime_definition.d.ts +14 -0
- package/dist/types/helpers/pivot/pivot_side_panel_registry.d.ts +6 -0
- package/dist/types/helpers/pivot/pivot_time_adapter.d.ts +5 -0
- package/dist/types/helpers/pivot/spreadsheet_pivot/data_entry_spreadsheet_pivot.d.ts +20 -0
- package/dist/types/helpers/pivot/spreadsheet_pivot/date_spreadsheet_pivot.d.ts +7 -0
- package/dist/types/helpers/pivot/spreadsheet_pivot/runtime_definition_spreadsheet_pivot.d.ts +7 -0
- package/dist/types/helpers/pivot/spreadsheet_pivot/spreadsheet_pivot.d.ts +96 -0
- package/dist/types/helpers/pivot/table_spreadsheet_pivot.d.ts +80 -0
- package/dist/types/helpers/range.d.ts +59 -0
- package/dist/types/helpers/recompute_zones.d.ts +130 -0
- package/dist/types/helpers/rectangle.d.ts +7 -0
- package/dist/types/helpers/reference_type.d.ts +29 -0
- package/dist/types/helpers/references.d.ts +25 -0
- package/dist/types/helpers/rendering.d.ts +2 -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/table_helpers.d.ts +9 -0
- package/dist/types/helpers/table_presets.d.ts +23 -0
- package/dist/types/helpers/text_helper.d.ts +35 -0
- package/dist/types/helpers/ui/cut_interactive.d.ts +2 -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/table_interactive.d.ts +7 -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 +150 -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 +7 -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 +80 -0
- package/dist/types/history/tree.d.ts +175 -0
- package/dist/types/index.d.ts +364 -0
- package/dist/types/migrations/data.d.ts +30 -0
- package/dist/types/migrations/legacy_tools.d.ts +15 -0
- package/dist/types/migrations/locale.d.ts +94 -0
- package/dist/types/migrations/migration_steps.d.ts +6 -0
- package/dist/types/model.d.ts +193 -0
- package/dist/types/plugins/base_plugin.d.ts +64 -0
- package/dist/types/plugins/core/borders.d.ts +127 -0
- package/dist/types/plugins/core/cell.d.ts +115 -0
- package/dist/types/plugins/core/chart.d.ts +41 -0
- package/dist/types/plugins/core/conditional_format.d.ts +53 -0
- package/dist/types/plugins/core/data_validation.d.ts +33 -0
- package/dist/types/plugins/core/figures.d.ts +34 -0
- package/dist/types/plugins/core/header_grouping.d.ts +83 -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 +82 -0
- package/dist/types/plugins/core/pivot.d.ts +66 -0
- package/dist/types/plugins/core/range.d.ts +75 -0
- package/dist/types/plugins/core/settings.d.ts +12 -0
- package/dist/types/plugins/core/sheet.d.ts +148 -0
- package/dist/types/plugins/core/spreadsheet_pivot.d.ts +6 -0
- package/dist/types/plugins/core/table_style.d.ts +22 -0
- package/dist/types/plugins/core/tables.d.ts +56 -0
- package/dist/types/plugins/core_plugin.d.ts +50 -0
- package/dist/types/plugins/index.d.ts +7 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/binary_grid.d.ts +36 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/compilation_parameters.d.ts +14 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/evaluation_plugin.d.ts +58 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/evaluator.d.ts +59 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/formula_dependency_graph.d.ts +24 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/index.d.ts +1 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/position_map.d.ts +11 -0
- package/dist/types/plugins/ui_core_views/cell_evaluation/position_set.d.ts +28 -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 +63 -0
- package/dist/types/plugins/ui_core_views/custom_colors.d.ts +28 -0
- package/dist/types/plugins/ui_core_views/dynamic_tables.d.ts +32 -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 +41 -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_core_views/pivot_ui.d.ts +49 -0
- package/dist/types/plugins/ui_feature/autofill.d.ts +61 -0
- package/dist/types/plugins/ui_feature/automatic_sum.d.ts +101 -0
- package/dist/types/plugins/ui_feature/cell_computed_style.d.ts +13 -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/datavalidation_insertion.d.ts +5 -0
- package/dist/types/plugins/ui_feature/format.d.ts +25 -0
- package/dist/types/plugins/ui_feature/header_visibility_ui.d.ts +21 -0
- package/dist/types/plugins/ui_feature/index.d.ts +10 -0
- package/dist/types/plugins/ui_feature/insert_pivot.d.ts +14 -0
- package/dist/types/plugins/ui_feature/local_history.d.ts +36 -0
- package/dist/types/plugins/ui_feature/pivot_presence_plugin.d.ts +10 -0
- package/dist/types/plugins/ui_feature/sort.d.ts +29 -0
- package/dist/types/plugins/ui_feature/split_to_columns.d.ts +21 -0
- package/dist/types/plugins/ui_feature/table_autofill.d.ts +6 -0
- package/dist/types/plugins/ui_feature/table_computed_style.d.ts +26 -0
- package/dist/types/plugins/ui_feature/table_resize_ui.d.ts +6 -0
- package/dist/types/plugins/ui_feature/ui_options.d.ts +8 -0
- package/dist/types/plugins/ui_feature/ui_sheet.d.ts +48 -0
- package/dist/types/plugins/ui_plugin.d.ts +38 -0
- package/dist/types/plugins/ui_stateful/clipboard.d.ts +58 -0
- package/dist/types/plugins/ui_stateful/filter_evaluation.d.ts +25 -0
- package/dist/types/plugins/ui_stateful/header_positions.d.ts +28 -0
- package/dist/types/plugins/ui_stateful/index.d.ts +4 -0
- package/dist/types/plugins/ui_stateful/selection.d.ts +74 -0
- package/dist/types/plugins/ui_stateful/sheetview.d.ts +175 -0
- package/dist/types/registries/auto_completes/auto_complete_registry.d.ts +56 -0
- package/dist/types/registries/auto_completes/data_validation_auto_complete.d.ts +1 -0
- package/dist/types/registries/auto_completes/function_auto_complete.d.ts +1 -0
- package/dist/types/registries/auto_completes/index.d.ts +5 -0
- package/dist/types/registries/auto_completes/pivot_auto_complete.d.ts +1 -0
- package/dist/types/registries/auto_completes/pivot_dimension_auto_complete.d.ts +4 -0
- package/dist/types/registries/auto_completes/sheet_name_auto_complete.d.ts +1 -0
- package/dist/types/registries/autofill_modifiers.d.ts +7 -0
- package/dist/types/registries/autofill_rules.d.ts +20 -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 +52 -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/evaluation_registry.d.ts +9 -0
- package/dist/types/registries/figure_registry.d.ts +18 -0
- package/dist/types/registries/icons_on_cell_registry.d.ts +9 -0
- package/dist/types/registries/index.d.ts +12 -0
- package/dist/types/registries/inverse_command_registry.d.ts +5 -0
- package/dist/types/registries/menu_items_registry.d.ts +21 -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 +7 -0
- package/dist/types/registries/menus/row_menu_registry.d.ts +2 -0
- package/dist/types/registries/menus/sheet_menu_registry.d.ts +5 -0
- package/dist/types/registries/menus/table_style_menu_registry.d.ts +3 -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 +19 -0
- package/dist/types/registries/side_panel_registry.d.ts +14 -0
- package/dist/types/registries/side_panel_registry_entries.d.ts +1 -0
- package/dist/types/registries/topbar_component_registry.d.ts +20 -0
- package/dist/types/selection_stream/event_stream.d.ts +65 -0
- package/dist/types/selection_stream/selection_stream_processor.d.ts +154 -0
- package/dist/types/state_observer.d.ts +17 -0
- package/dist/types/store_engine/dependency_container.d.ts +25 -0
- package/dist/types/store_engine/index.d.ts +3 -0
- package/dist/types/store_engine/store.d.ts +72 -0
- package/dist/types/store_engine/store_hooks.d.ts +18 -0
- package/dist/types/stores/DOM_focus_store.d.ts +6 -0
- package/dist/types/stores/array_formula_highlight.d.ts +14 -0
- package/dist/types/stores/grid_renderer_store.d.ts +36 -0
- package/dist/types/stores/highlight_store.d.ts +16 -0
- package/dist/types/stores/index.d.ts +2 -0
- package/dist/types/stores/model_store.d.ts +2 -0
- package/dist/types/stores/notification_store.d.ts +13 -0
- package/dist/types/stores/renderer_store.d.ts +12 -0
- package/dist/types/stores/spreadsheet_store.d.ts +13 -0
- package/dist/types/translation.d.ts +21 -0
- package/dist/types/types/autofill.d.ts +71 -0
- package/dist/types/types/cell_popovers.d.ts +50 -0
- package/dist/types/types/cells.d.ts +64 -0
- package/dist/types/types/chart/bar_chart.d.ts +12 -0
- package/dist/types/types/chart/chart.d.ts +114 -0
- package/dist/types/types/chart/combo_chart.d.ts +15 -0
- package/dist/types/types/chart/common_bar_combo.d.ts +14 -0
- package/dist/types/types/chart/common_chart.d.ts +2 -0
- package/dist/types/types/chart/gauge_chart.d.ts +83 -0
- package/dist/types/types/chart/index.d.ts +7 -0
- package/dist/types/types/chart/line_chart.d.ts +24 -0
- package/dist/types/types/chart/pie_chart.d.ts +21 -0
- package/dist/types/types/chart/pyramid_chart.d.ts +10 -0
- package/dist/types/types/chart/scatter_chart.d.ts +5 -0
- package/dist/types/types/chart/scorecard_chart.d.ts +33 -0
- package/dist/types/types/chart/waterfall_chart.d.ts +27 -0
- package/dist/types/types/clipboard.d.ts +45 -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 +833 -0
- package/dist/types/types/conditional_formatting.d.ts +113 -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 +29 -0
- package/dist/types/types/errors.d.ts +36 -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 +18 -0
- package/dist/types/types/files.d.ts +27 -0
- package/dist/types/types/find_and_replace.d.ts +8 -0
- package/dist/types/types/format.d.ts +8 -0
- package/dist/types/types/functions.d.ts +50 -0
- package/dist/types/types/getters.d.ts +102 -0
- package/dist/types/types/history.d.ts +43 -0
- package/dist/types/types/image.d.ts +16 -0
- package/dist/types/types/index.d.ts +39 -0
- package/dist/types/types/locale.d.ts +14 -0
- package/dist/types/types/misc.d.ts +312 -0
- package/dist/types/types/pivot.d.ts +136 -0
- package/dist/types/types/pivot_runtime.d.ts +31 -0
- package/dist/types/types/range.d.ts +21 -0
- package/dist/types/types/rendering.d.ts +95 -0
- package/dist/types/types/table.d.ts +65 -0
- package/dist/types/types/validator.d.ts +16 -0
- package/dist/types/types/workbook_data.d.ts +147 -0
- package/dist/types/types/xlsx.d.ts +502 -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 +31 -0
- package/dist/types/xlsx/conversion/conversion_maps.d.ts +186 -0
- package/dist/types/xlsx/conversion/data_validation_conversion.d.ts +4 -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 +8 -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 +14 -0
- package/dist/types/xlsx/extraction/data_validation_extractor.d.ts +9 -0
- package/dist/types/xlsx/extraction/external_book_extractor.d.ts +6 -0
- package/dist/types/xlsx/extraction/figure_extractor.d.ts +10 -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 +10 -0
- package/dist/types/xlsx/extraction/sheet_extractor.d.ts +26 -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/data_validation.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 +10 -0
- package/dist/types/xlsx/helpers/colors.d.ts +8 -0
- package/dist/types/xlsx/helpers/content_helpers.d.ts +58 -0
- package/dist/types/xlsx/helpers/misc.d.ts +34 -0
- package/dist/types/xlsx/helpers/xlsx_helper.d.ts +10 -0
- package/dist/types/xlsx/helpers/xlsx_parser_error_manager.d.ts +38 -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 +19 -0
- package/package.json +45 -25
- package/dist/o-spreadsheet.d.ts +0 -12439
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Command } from "../../types";
|
|
2
|
+
import { CellPosition, Dimension, HeaderIndex, Immutable, Pixel, UID } from "../../types/misc";
|
|
3
|
+
import { UIPlugin } from "../ui_plugin";
|
|
4
|
+
interface HeaderSizeState {
|
|
5
|
+
tallestCellInRow: Immutable<Record<UID, Array<CellWithSize | undefined>>>;
|
|
6
|
+
}
|
|
7
|
+
interface CellWithSize {
|
|
8
|
+
cell: CellPosition;
|
|
9
|
+
size: Pixel;
|
|
10
|
+
}
|
|
11
|
+
export declare class HeaderSizeUIPlugin extends UIPlugin<HeaderSizeState> implements HeaderSizeState {
|
|
12
|
+
static getters: readonly ["getRowSize", "getHeaderSize"];
|
|
13
|
+
readonly tallestCellInRow: Immutable<Record<UID, Array<CellWithSize | undefined>>>;
|
|
14
|
+
private ctx;
|
|
15
|
+
beforeHandle(cmd: Command): void;
|
|
16
|
+
handle(cmd: Command): void;
|
|
17
|
+
getRowSize(sheetId: UID, row: HeaderIndex): Pixel;
|
|
18
|
+
getHeaderSize(sheetId: UID, dimension: Dimension, index: HeaderIndex): Pixel;
|
|
19
|
+
private updateRowSizeForCellChange;
|
|
20
|
+
private initializeSheet;
|
|
21
|
+
/**
|
|
22
|
+
* Return the height the cell should have in the sheet, which is either DEFAULT_CELL_HEIGHT if the cell is in a multi-row
|
|
23
|
+
* merge, or the height of the cell computed based on its style/content.
|
|
24
|
+
*/
|
|
25
|
+
private getCellHeight;
|
|
26
|
+
private isInMultiRowMerge;
|
|
27
|
+
/**
|
|
28
|
+
* Get the tallest cell of a row and its size.
|
|
29
|
+
*/
|
|
30
|
+
private getRowTallestCell;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Token } from "../../formulas";
|
|
2
|
+
import { CellPosition, Command, PivotCoreMeasure, PivotTableCell, UID } from "../../types";
|
|
3
|
+
import { Pivot } from "../../types/pivot_runtime";
|
|
4
|
+
import { UIPlugin, UIPluginConfig } from "../ui_plugin";
|
|
5
|
+
export declare const UNDO_REDO_PIVOT_COMMANDS: string[];
|
|
6
|
+
export declare class PivotUIPlugin extends UIPlugin {
|
|
7
|
+
static getters: readonly ["getPivot", "getFirstPivotFunction", "getPivotIdFromPosition", "getPivotCellFromPosition", "generateNewCalculatedMeasureName", "isPivotUnused", "isSpillPivotFormula"];
|
|
8
|
+
private pivots;
|
|
9
|
+
private unusedPivots?;
|
|
10
|
+
private custom;
|
|
11
|
+
constructor(config: UIPluginConfig);
|
|
12
|
+
beforeHandle(cmd: Command): void;
|
|
13
|
+
handle(cmd: Command): void;
|
|
14
|
+
/**
|
|
15
|
+
* Get the id of the pivot at the given position. Returns undefined if there
|
|
16
|
+
* is no pivot at this position
|
|
17
|
+
*/
|
|
18
|
+
getPivotIdFromPosition(position: CellPosition): "" | UID | undefined;
|
|
19
|
+
isSpillPivotFormula(position: CellPosition): boolean;
|
|
20
|
+
getFirstPivotFunction(sheetId: UID, tokens: Token[]): {
|
|
21
|
+
functionName: string;
|
|
22
|
+
args: (import("../..").CellValue | import("../..").Matrix<import("../..").CellValue> | undefined)[];
|
|
23
|
+
} | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the domain args of a pivot formula from a position.
|
|
26
|
+
* For all those formulas:
|
|
27
|
+
*
|
|
28
|
+
* =PIVOT.VALUE(1,"expected_revenue","stage_id",2,"city","Brussels")
|
|
29
|
+
* =PIVOT.HEADER(1,"stage_id",2,"city","Brussels")
|
|
30
|
+
* =PIVOT.HEADER(1,"stage_id",2,"city","Brussels","measure","expected_revenue")
|
|
31
|
+
*
|
|
32
|
+
* the result is the same: ["stage_id", 2, "city", "Brussels"]
|
|
33
|
+
*
|
|
34
|
+
* If the cell is the result of PIVOT, the result is the domain of the cell
|
|
35
|
+
* as if it was the individual pivot formula
|
|
36
|
+
*/
|
|
37
|
+
getPivotCellFromPosition(position: CellPosition): PivotTableCell;
|
|
38
|
+
generateNewCalculatedMeasureName(measures: PivotCoreMeasure[]): string;
|
|
39
|
+
getPivot(pivotId: UID): Pivot<import("../..").PivotRuntimeDefinition>;
|
|
40
|
+
isPivotUnused(pivotId: UID): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Refresh the cache of a pivot
|
|
43
|
+
*/
|
|
44
|
+
private refreshPivot;
|
|
45
|
+
setupPivot(pivotId: UID, { recreate }?: {
|
|
46
|
+
recreate: boolean;
|
|
47
|
+
}): void;
|
|
48
|
+
_getUnusedPivots(): UID[];
|
|
49
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Command, CommandResult, GridRenderingContext, LocalCommand, Tooltip } from "../../types/index";
|
|
2
|
+
import { UIPlugin } from "../ui_plugin";
|
|
3
|
+
/**
|
|
4
|
+
* Autofill Plugin
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
export declare class AutofillPlugin extends UIPlugin {
|
|
8
|
+
static layers: readonly ["Autofill"];
|
|
9
|
+
static getters: readonly ["getAutofillTooltip"];
|
|
10
|
+
private autofillZone;
|
|
11
|
+
private steps;
|
|
12
|
+
private lastCellSelected;
|
|
13
|
+
private direction;
|
|
14
|
+
private tooltip;
|
|
15
|
+
allowDispatch(cmd: LocalCommand): CommandResult;
|
|
16
|
+
handle(cmd: Command): void;
|
|
17
|
+
getAutofillTooltip(): Tooltip | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Autofill the autofillZone from the current selection
|
|
20
|
+
* @param apply Flag set to true to apply the autofill in the model. It's
|
|
21
|
+
* useful to set it to false when we need to fill the tooltip
|
|
22
|
+
*/
|
|
23
|
+
private autofill;
|
|
24
|
+
private collectBordersData;
|
|
25
|
+
private collectConditionalFormatsData;
|
|
26
|
+
private collectDataValidationsData;
|
|
27
|
+
private autofillCell;
|
|
28
|
+
private autofillBorders;
|
|
29
|
+
private autofillConditionalFormats;
|
|
30
|
+
private autofillDataValidations;
|
|
31
|
+
/**
|
|
32
|
+
* Select a cell which becomes the last cell of the autofillZone
|
|
33
|
+
*/
|
|
34
|
+
private select;
|
|
35
|
+
/**
|
|
36
|
+
* Computes the autofillZone to autofill when the user double click on the
|
|
37
|
+
* autofiller
|
|
38
|
+
*/
|
|
39
|
+
private autofillAuto;
|
|
40
|
+
private getAutofillAutoLastRow;
|
|
41
|
+
/**
|
|
42
|
+
* Generate the next cell
|
|
43
|
+
*/
|
|
44
|
+
private computeNewCell;
|
|
45
|
+
/**
|
|
46
|
+
* Get the rule associated to the current cell
|
|
47
|
+
*/
|
|
48
|
+
private getRule;
|
|
49
|
+
/**
|
|
50
|
+
* Create the generator to be able to autofill the next cells.
|
|
51
|
+
*/
|
|
52
|
+
private createGenerator;
|
|
53
|
+
private saveZone;
|
|
54
|
+
/**
|
|
55
|
+
* Compute the direction of the autofill from the last selected zone and
|
|
56
|
+
* a given cell (col, row)
|
|
57
|
+
*/
|
|
58
|
+
private getDirection;
|
|
59
|
+
private autofillMerge;
|
|
60
|
+
drawLayer(renderingContext: GridRenderingContext): void;
|
|
61
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Command, Position, UID, Zone } from "../../types";
|
|
2
|
+
import { UIPlugin } from "../ui_plugin";
|
|
3
|
+
interface AutomaticSum {
|
|
4
|
+
position: Position;
|
|
5
|
+
zone: Zone;
|
|
6
|
+
}
|
|
7
|
+
export declare class AutomaticSumPlugin extends UIPlugin {
|
|
8
|
+
static getters: readonly ["getAutomaticSums"];
|
|
9
|
+
handle(cmd: Command): void;
|
|
10
|
+
getAutomaticSums(sheetId: UID, zone: Zone, anchor: Position): AutomaticSum[];
|
|
11
|
+
private sumData;
|
|
12
|
+
private sumAdjacentData;
|
|
13
|
+
/**
|
|
14
|
+
* Find a zone to automatically sum a column or row of numbers.
|
|
15
|
+
*
|
|
16
|
+
* We first decide which direction will be summed (column or row).
|
|
17
|
+
* Here is the strategy:
|
|
18
|
+
* 1. If the left cell is a number and the top cell is not: choose horizontal
|
|
19
|
+
* 2. Try to find a valid vertical zone. If it's valid: choose vertical
|
|
20
|
+
* 3. Try to find a valid horizontal zone. If it's valid: choose horizontal
|
|
21
|
+
* 4. Otherwise, no zone is returned
|
|
22
|
+
*
|
|
23
|
+
* Now, how to find a valid zone?
|
|
24
|
+
* The zone starts directly above or on the left of the starting point
|
|
25
|
+
* (depending on the direction).
|
|
26
|
+
* The zone ends where the first continuous sequence of numbers ends.
|
|
27
|
+
* Empty or text cells can be part of the zone while no number has been found.
|
|
28
|
+
* Other kind of cells (boolean, dates, etc.) are not valid in the zone and the
|
|
29
|
+
* search stops immediately if one is found.
|
|
30
|
+
*
|
|
31
|
+
* ------- -------
|
|
32
|
+
* | 1 | | 1 |
|
|
33
|
+
* ------- -------
|
|
34
|
+
* | | | |
|
|
35
|
+
* ------- <= end of the sequence, stop here -------
|
|
36
|
+
* | 2 | | 2 |
|
|
37
|
+
* ------- -------
|
|
38
|
+
* | 3 | <= start of the number sequence | 3 |
|
|
39
|
+
* ------- -------
|
|
40
|
+
* | | <= ignored | FALSE | <= invalid, no zone is found
|
|
41
|
+
* ------- -------
|
|
42
|
+
* | A | <= ignored | A | <= ignored
|
|
43
|
+
* ------- -------
|
|
44
|
+
*/
|
|
45
|
+
private findAdjacentData;
|
|
46
|
+
/**
|
|
47
|
+
* Return the zone to sum if a valid one is found.
|
|
48
|
+
* @see getAutomaticSumZone
|
|
49
|
+
*/
|
|
50
|
+
private findSuitableZoneToSum;
|
|
51
|
+
private findVerticalZone;
|
|
52
|
+
private findHorizontalZone;
|
|
53
|
+
/**
|
|
54
|
+
* Reduces a column or row zone to a valid zone for the automatic sum.
|
|
55
|
+
* @see getAutomaticSumZone
|
|
56
|
+
* @param sheet
|
|
57
|
+
* @param zone one dimensional zone (a single row or a single column). The zone is
|
|
58
|
+
* assumed to start at the beginning of the column (top=0) or the row (left=0)
|
|
59
|
+
* @param end end index of the zone (`bottom` or `right` depending on the dimension)
|
|
60
|
+
* @returns the starting position of the valid zone or Infinity if the zone is not valid.
|
|
61
|
+
*/
|
|
62
|
+
private reduceZoneStart;
|
|
63
|
+
private shouldFindData;
|
|
64
|
+
private isNumber;
|
|
65
|
+
private isZoneValid;
|
|
66
|
+
private lastColIsEmpty;
|
|
67
|
+
private lastRowIsEmpty;
|
|
68
|
+
/**
|
|
69
|
+
* Decides which dimensions (columns or rows) should be summed
|
|
70
|
+
* based on its shape and what's inside the zone.
|
|
71
|
+
*/
|
|
72
|
+
private dimensionsToSum;
|
|
73
|
+
/**
|
|
74
|
+
* Sum each column and/or row in the zone in the appropriate cells,
|
|
75
|
+
* depending on the available space.
|
|
76
|
+
*/
|
|
77
|
+
private sumDimensions;
|
|
78
|
+
/**
|
|
79
|
+
* Sum the total of the zone in the bottom right cell, assuming
|
|
80
|
+
* the last row contains summed columns.
|
|
81
|
+
*/
|
|
82
|
+
private sumTotal;
|
|
83
|
+
private sumColumns;
|
|
84
|
+
private sumRows;
|
|
85
|
+
private dispatchCellUpdates;
|
|
86
|
+
/**
|
|
87
|
+
* Find the first row where all cells below the zone are empty.
|
|
88
|
+
*/
|
|
89
|
+
private nextEmptyRow;
|
|
90
|
+
/**
|
|
91
|
+
* Find the first column where all cells right of the zone are empty.
|
|
92
|
+
*/
|
|
93
|
+
private nextEmptyCol;
|
|
94
|
+
/**
|
|
95
|
+
* Transpose the given dimensions.
|
|
96
|
+
* COL becomes ROW
|
|
97
|
+
* ROW becomes COL
|
|
98
|
+
*/
|
|
99
|
+
private transpose;
|
|
100
|
+
}
|
|
101
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from "../../types";
|
|
2
|
+
import { Border, CellPosition, Style } from "../../types/misc";
|
|
3
|
+
import { UIPlugin } from "../ui_plugin";
|
|
4
|
+
export declare class CellComputedStylePlugin extends UIPlugin {
|
|
5
|
+
static getters: readonly ["getCellComputedBorder", "getCellComputedStyle"];
|
|
6
|
+
private styles;
|
|
7
|
+
private borders;
|
|
8
|
+
handle(cmd: Command): void;
|
|
9
|
+
getCellComputedBorder(position: CellPosition): Border | null;
|
|
10
|
+
getCellComputedStyle(position: CellPosition): Style;
|
|
11
|
+
private computeCellBorder;
|
|
12
|
+
private computeCellStyle;
|
|
13
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Client, Color, GridRenderingContext } from "../../types";
|
|
2
|
+
import { UIPlugin, UIPluginConfig } from "../ui_plugin";
|
|
3
|
+
interface ClientToDisplay extends Required<Client> {
|
|
4
|
+
color: Color;
|
|
5
|
+
}
|
|
6
|
+
export declare class CollaborativePlugin extends UIPlugin {
|
|
7
|
+
static getters: readonly ["getClientsToDisplay", "getClient", "getConnectedClients", "isFullySynchronized"];
|
|
8
|
+
static layers: readonly ["Selection"];
|
|
9
|
+
private availableColors;
|
|
10
|
+
private colors;
|
|
11
|
+
private session;
|
|
12
|
+
constructor(config: UIPluginConfig);
|
|
13
|
+
private isPositionValid;
|
|
14
|
+
private chooseNewColor;
|
|
15
|
+
getClient(): Client;
|
|
16
|
+
getConnectedClients(): Set<Client>;
|
|
17
|
+
isFullySynchronized(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Get the list of others connected clients which are present in the same sheet
|
|
20
|
+
* and with a valid position
|
|
21
|
+
*/
|
|
22
|
+
getClientsToDisplay(): ClientToDisplay[];
|
|
23
|
+
drawLayer(renderingContext: GridRenderingContext): void;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command, CommandResult } from "../../types/index";
|
|
2
|
+
import { UIPlugin } from "../ui_plugin";
|
|
3
|
+
export declare class DataCleanupPlugin extends UIPlugin {
|
|
4
|
+
allowDispatch(cmd: Command): CommandResult | CommandResult[];
|
|
5
|
+
handle(cmd: Command): void;
|
|
6
|
+
private removeDuplicates;
|
|
7
|
+
private getUniqueRowsIndexes;
|
|
8
|
+
private notifyRowsRemovedAndRemaining;
|
|
9
|
+
private checkSingleRangeSelected;
|
|
10
|
+
private checkNoMergeInZone;
|
|
11
|
+
private checkRangeContainsValues;
|
|
12
|
+
private checkNoColumnProvided;
|
|
13
|
+
private checkColumnsIncludedInZone;
|
|
14
|
+
private checkColumnsAreUnique;
|
|
15
|
+
private trimWhitespace;
|
|
16
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Command } from "../../types/index";
|
|
2
|
+
import { UIPlugin } from "../ui_plugin";
|
|
3
|
+
export declare class FormatPlugin extends UIPlugin {
|
|
4
|
+
handle(cmd: Command): void;
|
|
5
|
+
private setContextualFormat;
|
|
6
|
+
private isSpilledPivotValueFormula;
|
|
7
|
+
/**
|
|
8
|
+
* This function allows to adjust the quantity of decimal places after a decimal
|
|
9
|
+
* point on cells containing number value. It does this by changing the cells
|
|
10
|
+
* format. Values aren't modified.
|
|
11
|
+
*
|
|
12
|
+
* The change of the decimal quantity is done one by one, the sign of the step
|
|
13
|
+
* variable indicates whether we are increasing or decreasing.
|
|
14
|
+
*
|
|
15
|
+
* If several cells are in the zone, each cell's format will be individually
|
|
16
|
+
* evaluated and updated with the number type.
|
|
17
|
+
*/
|
|
18
|
+
private setDecimal;
|
|
19
|
+
/**
|
|
20
|
+
* Take a range of cells and return the format of the first cell containing a
|
|
21
|
+
* number value. Returns a default format if the cell hasn't format. Returns
|
|
22
|
+
* undefined if no number value in the range.
|
|
23
|
+
*/
|
|
24
|
+
private getCellNumberFormat;
|
|
25
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CellPosition, Dimension, ExcelWorkbookData, HeaderIndex, UID } from "../../types";
|
|
2
|
+
import { UIPlugin } from "../ui_plugin";
|
|
3
|
+
export declare class HeaderVisibilityUIPlugin extends UIPlugin {
|
|
4
|
+
static getters: readonly ["getNextVisibleCellPosition", "findVisibleHeader", "findLastVisibleColRowIndex", "findFirstVisibleColRowIndex", "isRowHidden", "isColHidden", "isHeaderHidden"];
|
|
5
|
+
isRowHidden(sheetId: UID, index: number): boolean;
|
|
6
|
+
isColHidden(sheetId: UID, index: number): boolean;
|
|
7
|
+
isHeaderHidden(sheetId: UID, dimension: Dimension, index: number): boolean;
|
|
8
|
+
getNextVisibleCellPosition({ sheetId, col, row }: CellPosition): CellPosition;
|
|
9
|
+
/**
|
|
10
|
+
* Find the first visible header in the range [`from` => `to`].
|
|
11
|
+
*
|
|
12
|
+
* Both `from` and `to` are inclusive.
|
|
13
|
+
*/
|
|
14
|
+
findVisibleHeader(sheetId: UID, dimension: Dimension, from: number, to: number): number | undefined;
|
|
15
|
+
findLastVisibleColRowIndex(sheetId: UID, dimension: Dimension, { last, first }: {
|
|
16
|
+
first: HeaderIndex;
|
|
17
|
+
last: HeaderIndex;
|
|
18
|
+
}): HeaderIndex;
|
|
19
|
+
findFirstVisibleColRowIndex(sheetId: UID, dimension: Dimension): number | undefined;
|
|
20
|
+
exportForExcel(data: ExcelWorkbookData): void;
|
|
21
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./autofill";
|
|
2
|
+
export * from "./automatic_sum";
|
|
3
|
+
export * from "./collaborative";
|
|
4
|
+
export * from "./data_cleanup";
|
|
5
|
+
export * from "./format";
|
|
6
|
+
export * from "./header_visibility_ui";
|
|
7
|
+
export * from "./insert_pivot";
|
|
8
|
+
export * from "./sort";
|
|
9
|
+
export * from "./ui_options";
|
|
10
|
+
export * from "./ui_sheet";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HeaderIndex, PivotTableData, UID } from "../../types";
|
|
2
|
+
import { Command, CommandResult } from "../../types/commands";
|
|
3
|
+
import { UIPlugin } from "../ui_plugin";
|
|
4
|
+
export declare class InsertPivotPlugin extends UIPlugin {
|
|
5
|
+
static getters: readonly [];
|
|
6
|
+
allowDispatch(cmd: Command): CommandResult.Success | CommandResult.PivotIdNotFound | CommandResult.PivotInError;
|
|
7
|
+
handle(cmd: Command): void;
|
|
8
|
+
private insertNewPivot;
|
|
9
|
+
private duplicatePivotInNewSheet;
|
|
10
|
+
private getPivotDuplicateSheetName;
|
|
11
|
+
insertPivotWithTable(sheetId: UID, col: HeaderIndex, row: HeaderIndex, pivotId: UID, table: PivotTableData, mode: "static" | "dynamic"): void;
|
|
12
|
+
private resizeSheet;
|
|
13
|
+
splitPivotFormula(sheetId: UID, col: HeaderIndex, row: HeaderIndex, pivotId: UID): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Command, CommandResult } from "../../types";
|
|
2
|
+
import { UIPlugin, UIPluginConfig } from "../ui_plugin";
|
|
3
|
+
/**
|
|
4
|
+
* Local History
|
|
5
|
+
*
|
|
6
|
+
* The local history is responsible of tracking the locally state updates
|
|
7
|
+
* It maintains the local undo and redo stack to allow to undo/redo only local
|
|
8
|
+
* changes
|
|
9
|
+
*/
|
|
10
|
+
export declare class HistoryPlugin extends UIPlugin {
|
|
11
|
+
static getters: readonly ["canUndo", "canRedo"];
|
|
12
|
+
/**
|
|
13
|
+
* Ids of the revisions which can be undone
|
|
14
|
+
*/
|
|
15
|
+
private undoStack;
|
|
16
|
+
/**
|
|
17
|
+
* Ids of the revisions which can be redone
|
|
18
|
+
*/
|
|
19
|
+
private redoStack;
|
|
20
|
+
private session;
|
|
21
|
+
constructor(config: UIPluginConfig);
|
|
22
|
+
allowDispatch(cmd: Command): CommandResult;
|
|
23
|
+
handle(cmd: Command): void;
|
|
24
|
+
finalize(): void;
|
|
25
|
+
private requestHistoryChange;
|
|
26
|
+
canUndo(): boolean;
|
|
27
|
+
canRedo(): boolean;
|
|
28
|
+
private onNewLocalStateUpdate;
|
|
29
|
+
/**
|
|
30
|
+
* Fetch the last revision which is not empty and not a repeated command
|
|
31
|
+
*
|
|
32
|
+
* Ignore repeated commands (REQUEST_REDO command as root command)
|
|
33
|
+
* Ignore standard undo/redo revisions (that are empty)
|
|
34
|
+
*/
|
|
35
|
+
private getPossibleRevisionToRepeat;
|
|
36
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PivotPresenceTracker } from "../../helpers/pivot/pivot_presence_tracker";
|
|
2
|
+
import { Command, UID } from "../../types";
|
|
3
|
+
import { UIPlugin } from "../ui_plugin";
|
|
4
|
+
export declare class PivotPresencePlugin extends UIPlugin {
|
|
5
|
+
static getters: readonly ["getPivotPresenceTracker"];
|
|
6
|
+
private trackPresencePivotId?;
|
|
7
|
+
private tracker?;
|
|
8
|
+
handle(cmd: Command): void;
|
|
9
|
+
getPivotPresenceTracker(pivotId: UID): PivotPresenceTracker | undefined;
|
|
10
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Command, CommandResult, LocalCommand } from "../../types/index";
|
|
2
|
+
import { UIPlugin } from "../ui_plugin";
|
|
3
|
+
export declare class SortPlugin extends UIPlugin {
|
|
4
|
+
allowDispatch(cmd: LocalCommand): CommandResult | CommandResult[];
|
|
5
|
+
handle(cmd: Command): void;
|
|
6
|
+
private checkMerge;
|
|
7
|
+
private checkMergeSizes;
|
|
8
|
+
/**
|
|
9
|
+
* This function evaluates if the top row of a provided zone can be considered as a `header`
|
|
10
|
+
* by checking the following criteria:
|
|
11
|
+
* * If the left-most column top row value (topLeft) is empty, we ignore it while evaluating the criteria.
|
|
12
|
+
* 1 - Apart from the left-most column, every element of the top row must be non-empty, i.e. a cell should be present in the sheet.
|
|
13
|
+
* 2 - There should be at least one column in which the type (CellValueType) of the rop row cell differs from the type of the cell below.
|
|
14
|
+
* For the second criteria, we ignore columns on which the cell below is empty.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
private hasHeader;
|
|
18
|
+
private sortZone;
|
|
19
|
+
/**
|
|
20
|
+
* Return the distances between main merge cells in the zone.
|
|
21
|
+
* (1 if there are no merges).
|
|
22
|
+
* Note: it is assumed all merges are the same in the zone.
|
|
23
|
+
*/
|
|
24
|
+
private mainCellsSteps;
|
|
25
|
+
/**
|
|
26
|
+
* Return a 2D array of cells in the zone (main merge cells if there are merges)
|
|
27
|
+
*/
|
|
28
|
+
private mainCells;
|
|
29
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Command, CommandResult } from "../../types/index";
|
|
2
|
+
import { UIPlugin } from "../ui_plugin";
|
|
3
|
+
export declare class SplitToColumnsPlugin extends UIPlugin {
|
|
4
|
+
static getters: readonly ["getAutomaticSeparator"];
|
|
5
|
+
allowDispatch(cmd: Command): CommandResult | CommandResult[];
|
|
6
|
+
handle(cmd: Command): void;
|
|
7
|
+
getAutomaticSeparator(): string;
|
|
8
|
+
private getAutoSeparatorForString;
|
|
9
|
+
private splitIntoColumns;
|
|
10
|
+
private getSplittedCols;
|
|
11
|
+
private splitAndRemoveTrailingEmpty;
|
|
12
|
+
private willSplittedColsOverwriteContent;
|
|
13
|
+
private removeMergesInSplitZone;
|
|
14
|
+
private addColsToAvoidCollisions;
|
|
15
|
+
private getColsToAddToAvoidCollision;
|
|
16
|
+
private addColumnsToNotOverflowSheet;
|
|
17
|
+
private checkSingleColSelected;
|
|
18
|
+
private checkNonEmptySelector;
|
|
19
|
+
private checkNotOverwritingContent;
|
|
20
|
+
private checkSeparatorInSelection;
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Border, CellPosition, Command, Style } from "../../types";
|
|
2
|
+
import { UIPlugin } from "../ui_plugin";
|
|
3
|
+
export declare class TableComputedStylePlugin extends UIPlugin {
|
|
4
|
+
static getters: readonly ["getCellTableStyle", "getCellTableBorder"];
|
|
5
|
+
private tableStyles;
|
|
6
|
+
handle(cmd: Command): void;
|
|
7
|
+
finalize(): void;
|
|
8
|
+
getCellTableStyle(position: CellPosition): Style | undefined;
|
|
9
|
+
getCellTableBorder(position: CellPosition): Border | undefined;
|
|
10
|
+
private computeTableStyle;
|
|
11
|
+
/**
|
|
12
|
+
* Get the actual table config that will be used to compute the table style. It is different from
|
|
13
|
+
* the config of the table because of hidden rows and columns in the sheet. For example remove the
|
|
14
|
+
* hidden rows from config.numberOfHeaders.
|
|
15
|
+
*/
|
|
16
|
+
private getTableRuntimeConfig;
|
|
17
|
+
/**
|
|
18
|
+
* Get a mapping: relative col/row position in the table <=> col/row in the sheet
|
|
19
|
+
*/
|
|
20
|
+
private getTableMapping;
|
|
21
|
+
}
|
|
22
|
+
declare const invalidateTableStyleCommands: readonly ["HIDE_COLUMNS_ROWS", "UNHIDE_COLUMNS_ROWS", "UNFOLD_HEADER_GROUP", "UNGROUP_HEADERS", "FOLD_HEADER_GROUP", "FOLD_ALL_HEADER_GROUPS", "UNFOLD_ALL_HEADER_GROUPS", "FOLD_HEADER_GROUPS_IN_ZONE", "UNFOLD_HEADER_GROUPS_IN_ZONE", "CREATE_TABLE", "UPDATE_TABLE", "UPDATE_FILTER", "REMOVE_TABLE", "RESIZE_TABLE", "CREATE_TABLE_STYLE", "REMOVE_TABLE_STYLE"];
|
|
23
|
+
export declare function doesCommandInvalidatesTableStyle(cmd: Command): cmd is {
|
|
24
|
+
type: (typeof invalidateTableStyleCommands)[number];
|
|
25
|
+
} & Command;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Command } from "../../types/index";
|
|
2
|
+
import { UIPlugin } from "../ui_plugin";
|
|
3
|
+
export declare class UIOptionsPlugin extends UIPlugin {
|
|
4
|
+
static getters: readonly ["shouldShowFormulas"];
|
|
5
|
+
private showFormulas;
|
|
6
|
+
handle(cmd: Command): void;
|
|
7
|
+
shouldShowFormulas(): boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Command, CommandResult, LocalCommand, UID } from "../../types";
|
|
2
|
+
import { ImageSrc } from "../../types/image";
|
|
3
|
+
import { CellPosition, Pixel, Style, Zone } from "../../types/misc";
|
|
4
|
+
import { UIPlugin } from "../ui_plugin";
|
|
5
|
+
export declare class SheetUIPlugin extends UIPlugin {
|
|
6
|
+
static getters: readonly ["doesCellHaveGridIcon", "getCellWidth", "getCellIconSrc", "getTextWidth", "getCellText", "getCellMultiLineText", "getContiguousZone"];
|
|
7
|
+
private ctx;
|
|
8
|
+
allowDispatch(cmd: LocalCommand): CommandResult | CommandResult[];
|
|
9
|
+
handle(cmd: Command): void;
|
|
10
|
+
getCellWidth(position: CellPosition): number;
|
|
11
|
+
getCellIconSrc(position: CellPosition): ImageSrc | undefined;
|
|
12
|
+
getTextWidth(text: string, style: Style): Pixel;
|
|
13
|
+
getCellText(position: CellPosition, args?: {
|
|
14
|
+
showFormula?: boolean;
|
|
15
|
+
availableWidth?: number;
|
|
16
|
+
}): string;
|
|
17
|
+
/**
|
|
18
|
+
* Return the text of a cell, split in multiple lines if needed. The text will be split in multiple
|
|
19
|
+
* line if it contains NEWLINE characters, or if it's longer than the given width.
|
|
20
|
+
*/
|
|
21
|
+
getCellMultiLineText(position: CellPosition, args: {
|
|
22
|
+
wrapText: boolean;
|
|
23
|
+
maxWidth: number;
|
|
24
|
+
formatWidth?: number;
|
|
25
|
+
}): string[];
|
|
26
|
+
doesCellHaveGridIcon(position: CellPosition): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Expands the given zone until bordered by empty cells or reached the sheet boundaries.
|
|
29
|
+
*/
|
|
30
|
+
getContiguousZone(sheetId: UID, zoneToExpand: Zone): Zone;
|
|
31
|
+
/**
|
|
32
|
+
* Checks if a cell is empty (i.e. does not have a content or a formula does not spread over it).
|
|
33
|
+
* If the cell is part of a merge, the check applies to the main cell of the merge.
|
|
34
|
+
*/
|
|
35
|
+
private isCellEmpty;
|
|
36
|
+
private getColMaxWidth;
|
|
37
|
+
/**
|
|
38
|
+
* Check that any "sheetId" in the command matches an existing
|
|
39
|
+
* sheet.
|
|
40
|
+
*/
|
|
41
|
+
private checkSheetExists;
|
|
42
|
+
/**
|
|
43
|
+
* Check if zones in the command are well formed and
|
|
44
|
+
* not outside the sheet.
|
|
45
|
+
*/
|
|
46
|
+
private checkZonesAreInSheet;
|
|
47
|
+
private autoResizeRows;
|
|
48
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Session } from "../collaborative/session";
|
|
2
|
+
import { ModelConfig } from "../model";
|
|
3
|
+
import { SelectionStreamProcessor } from "../selection_stream/selection_stream_processor";
|
|
4
|
+
import { StateObserver } from "../state_observer";
|
|
5
|
+
import { ClientPosition, Color, Command, CommandDispatcher, Currency, Getters, GridRenderingContext, LayerName } from "../types/index";
|
|
6
|
+
import { BasePlugin } from "./base_plugin";
|
|
7
|
+
type UIActions = Pick<ModelConfig, "notifyUI" | "raiseBlockingErrorUI">;
|
|
8
|
+
export interface UIPluginConfig {
|
|
9
|
+
readonly getters: Getters;
|
|
10
|
+
readonly stateObserver: StateObserver;
|
|
11
|
+
readonly dispatch: CommandDispatcher["dispatch"];
|
|
12
|
+
readonly canDispatch: CommandDispatcher["dispatch"];
|
|
13
|
+
readonly selection: SelectionStreamProcessor;
|
|
14
|
+
readonly moveClient: (position: ClientPosition) => void;
|
|
15
|
+
readonly uiActions: UIActions;
|
|
16
|
+
readonly custom: ModelConfig["custom"];
|
|
17
|
+
readonly session: Session;
|
|
18
|
+
readonly defaultCurrency?: Partial<Currency>;
|
|
19
|
+
readonly customColors: Color[];
|
|
20
|
+
}
|
|
21
|
+
export interface UIPluginConstructor {
|
|
22
|
+
new (config: UIPluginConfig): UIPlugin;
|
|
23
|
+
layers: Readonly<LayerName[]>;
|
|
24
|
+
getters: readonly string[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* UI plugins handle any transient data required to display a spreadsheet.
|
|
28
|
+
* They can draw on the grid canvas.
|
|
29
|
+
*/
|
|
30
|
+
export declare class UIPlugin<State = any> extends BasePlugin<State, Command> {
|
|
31
|
+
static layers: Readonly<LayerName[]>;
|
|
32
|
+
protected getters: Getters;
|
|
33
|
+
protected ui: UIActions;
|
|
34
|
+
protected selection: SelectionStreamProcessor;
|
|
35
|
+
constructor({ getters, stateObserver, dispatch, canDispatch, uiActions, selection, }: UIPluginConfig);
|
|
36
|
+
drawLayer(ctx: GridRenderingContext, layer: LayerName): void;
|
|
37
|
+
}
|
|
38
|
+
export {};
|