@odoo/o-spreadsheet 18.0.55 → 18.0.67
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 +43 -23
- package/dist/o-spreadsheet.d.ts +0 -12439
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { ConsecutiveIndexes, Lazy, UID } from "../types";
|
|
2
|
+
import { SearchOptions } from "../types/find_and_replace";
|
|
3
|
+
import { DebouncedFunction } from "./../types/misc";
|
|
4
|
+
/**
|
|
5
|
+
* Remove quotes from a quoted string
|
|
6
|
+
* ```js
|
|
7
|
+
* removeStringQuotes('"Hello"')
|
|
8
|
+
* > 'Hello'
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export declare function removeStringQuotes(str: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Escapes a string to use as a literal string in a RegExp.
|
|
14
|
+
* @url https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
|
|
15
|
+
*/
|
|
16
|
+
export declare function escapeRegExp(str: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Deep copy arrays, plain objects and primitive values.
|
|
19
|
+
* Throws an error for other types such as class instances.
|
|
20
|
+
* Sparse arrays remain sparse.
|
|
21
|
+
*/
|
|
22
|
+
export declare function deepCopy<T>(obj: T): T;
|
|
23
|
+
/**
|
|
24
|
+
* Sanitize the name of a sheet, by eventually removing quotes
|
|
25
|
+
* @param sheetName name of the sheet, potentially quoted with single quotes
|
|
26
|
+
*/
|
|
27
|
+
export declare function getUnquotedSheetName(sheetName: string): string;
|
|
28
|
+
export declare function unquote(string: string, quoteChar?: "'" | '"'): string;
|
|
29
|
+
/**
|
|
30
|
+
* Add quotes around the sheet name or any symbol name if it contains at least one non alphanumeric character
|
|
31
|
+
* '\w' captures [0-9][a-z][A-Z] and _.
|
|
32
|
+
* @param symbolName Name of the sheet or symbol
|
|
33
|
+
*/
|
|
34
|
+
export declare function getCanonicalSymbolName(symbolName: string): string;
|
|
35
|
+
/** Replace the excel-excluded characters of a sheetName */
|
|
36
|
+
export declare function sanitizeSheetName(sheetName: string, replacementChar?: string): string;
|
|
37
|
+
export declare function clip(val: number, min: number, max: number): number;
|
|
38
|
+
/**
|
|
39
|
+
* Create a range from start (included) to end (excluded).
|
|
40
|
+
* range(10, 13) => [10, 11, 12]
|
|
41
|
+
* range(2, 8, 2) => [2, 4, 6]
|
|
42
|
+
*/
|
|
43
|
+
export declare function range(start: number, end: number, step?: number): number[];
|
|
44
|
+
/**
|
|
45
|
+
* Groups consecutive numbers.
|
|
46
|
+
* The input array is assumed to be sorted
|
|
47
|
+
* @param numbers
|
|
48
|
+
*/
|
|
49
|
+
export declare function groupConsecutive(numbers: number[]): ConsecutiveIndexes[];
|
|
50
|
+
/**
|
|
51
|
+
* Create one generator from two generators by linking
|
|
52
|
+
* each item of the first generator to the next item of
|
|
53
|
+
* the second generator.
|
|
54
|
+
*
|
|
55
|
+
* Let's say generator G1 yields A, B, C and generator G2 yields X, Y, Z.
|
|
56
|
+
* The resulting generator of `linkNext(G1, G2)` will yield A', B', C'
|
|
57
|
+
* where `A' = A & {next: Y}`, `B' = B & {next: Z}` and `C' = C & {next: undefined}`
|
|
58
|
+
* @param generator
|
|
59
|
+
* @param nextGenerator
|
|
60
|
+
*/
|
|
61
|
+
export declare function linkNext<T>(generator: Generator<T>, nextGenerator: Generator<T>): Generator<T & {
|
|
62
|
+
next?: T;
|
|
63
|
+
}>;
|
|
64
|
+
export declare function isBoolean(str: string): boolean;
|
|
65
|
+
export declare function isMarkdownLink(str: string): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Check if the string is a web link.
|
|
68
|
+
* e.g. http://odoo.com
|
|
69
|
+
*/
|
|
70
|
+
export declare function isWebLink(str: string): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Build a markdown link from a label and an url
|
|
73
|
+
*/
|
|
74
|
+
export declare function markdownLink(label: string, url: string): string;
|
|
75
|
+
export declare function parseMarkdownLink(str: string): {
|
|
76
|
+
url: string;
|
|
77
|
+
label: string;
|
|
78
|
+
};
|
|
79
|
+
export declare function isSheetUrl(url: string): boolean;
|
|
80
|
+
export declare function buildSheetLink(sheetId: UID): string;
|
|
81
|
+
/**
|
|
82
|
+
* Parse a sheet link and return the sheet id
|
|
83
|
+
*/
|
|
84
|
+
export declare function parseSheetUrl(sheetLink: string): string;
|
|
85
|
+
/**
|
|
86
|
+
* This helper function can be used as a type guard when filtering arrays.
|
|
87
|
+
* const foo: number[] = [1, 2, undefined, 4].filter(isDefined)
|
|
88
|
+
*/
|
|
89
|
+
export declare function isDefined<T>(argument: T | undefined): argument is T;
|
|
90
|
+
export declare function isNotNull<T>(argument: T | null): argument is T;
|
|
91
|
+
/**
|
|
92
|
+
* Check if all the values of an object, and all the values of the objects inside of it, are undefined.
|
|
93
|
+
*/
|
|
94
|
+
export declare function isObjectEmptyRecursive<T extends object>(argument: T | undefined): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Returns a function, that, as long as it continues to be invoked, will not
|
|
97
|
+
* be triggered. The function will be called after it stops being called for
|
|
98
|
+
* N milliseconds. If `immediate` is passed, trigger the function on the
|
|
99
|
+
* leading edge, instead of the trailing.
|
|
100
|
+
*
|
|
101
|
+
* Also decorate the argument function with two methods: stopDebounce and isDebouncePending.
|
|
102
|
+
*
|
|
103
|
+
* Inspired by https://davidwalsh.name/javascript-debounce-function
|
|
104
|
+
*/
|
|
105
|
+
export declare function debounce<T extends (...args: any) => void>(func: T, wait: number, immediate?: boolean): DebouncedFunction<T>;
|
|
106
|
+
/**
|
|
107
|
+
* Creates a batched version of a callback so that all calls to it in the same
|
|
108
|
+
* microtick will only call the original callback once.
|
|
109
|
+
*
|
|
110
|
+
* @param callback the callback to batch
|
|
111
|
+
* @returns a batched version of the original callback
|
|
112
|
+
*
|
|
113
|
+
* Copied from odoo/owl repo.
|
|
114
|
+
*/
|
|
115
|
+
export declare function batched(callback: () => void): () => void;
|
|
116
|
+
export declare function concat(chars: string[]): string;
|
|
117
|
+
/**
|
|
118
|
+
* Lazy value computed by the provided function.
|
|
119
|
+
*/
|
|
120
|
+
export declare function lazy<T>(fn: (() => T) | T): Lazy<T>;
|
|
121
|
+
/**
|
|
122
|
+
* Find the next defined value after the given index in an array of strings. If there is no defined value
|
|
123
|
+
* after the index, return the closest defined value before the index. Return an empty string if no
|
|
124
|
+
* defined value was found.
|
|
125
|
+
*
|
|
126
|
+
*/
|
|
127
|
+
export declare function findNextDefinedValue(arr: string[], index: number): string;
|
|
128
|
+
/** Get index of first header added by an ADD_COLUMNS_ROWS command */
|
|
129
|
+
export declare function getAddHeaderStartIndex(position: "before" | "after", base: number): number;
|
|
130
|
+
/**
|
|
131
|
+
* Compares two objects.
|
|
132
|
+
*/
|
|
133
|
+
export declare function deepEquals(o1: any, o2: any): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Compares two arrays.
|
|
136
|
+
* For performance reasons, this function is to be preferred
|
|
137
|
+
* to 'deepEquals' in the case we know that the inputs are arrays.
|
|
138
|
+
*/
|
|
139
|
+
export declare function deepEqualsArray(arr1: unknown[], arr2: unknown[]): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Check if the given array contains all the values of the other array.
|
|
142
|
+
* It makes the assumption that both array do not contain duplicates.
|
|
143
|
+
*/
|
|
144
|
+
export declare function includesAll<T>(arr: T[], values: T[]): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Return an object with all the keys in the object that have a falsy value removed.
|
|
147
|
+
*/
|
|
148
|
+
export declare function removeFalsyAttributes<T extends Object | undefined | null>(obj: T): T;
|
|
149
|
+
export declare const specialWhiteSpaceRegexp: RegExp;
|
|
150
|
+
export declare const whiteSpaceCharacters: string[];
|
|
151
|
+
/**
|
|
152
|
+
* Replace all different newlines characters by \n
|
|
153
|
+
*/
|
|
154
|
+
export declare function replaceNewLines(text: string | undefined): string;
|
|
155
|
+
/**
|
|
156
|
+
* Determine if the numbers are consecutive.
|
|
157
|
+
*/
|
|
158
|
+
export declare function isConsecutive(iterable: Iterable<number>): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Creates a version of the function that's memoized on the value of its first
|
|
161
|
+
* argument, if any.
|
|
162
|
+
*/
|
|
163
|
+
export declare function memoize<T extends any[], U>(func: (...args: T) => U): (...args: T) => U;
|
|
164
|
+
/**
|
|
165
|
+
* Removes the specified indexes from the array.
|
|
166
|
+
* Sparse (empty) elements are transformed to undefined (unless their index is explicitly removed).
|
|
167
|
+
*/
|
|
168
|
+
export declare function removeIndexesFromArray<T>(array: readonly T[], indexes: number[]): T[];
|
|
169
|
+
export declare function insertItemsAtIndex<T>(array: readonly T[], items: T[], index: number): T[];
|
|
170
|
+
export declare function replaceItemAtIndex<T>(array: readonly T[], newItem: T, index: number): T[];
|
|
171
|
+
export declare function trimContent(content: string): string;
|
|
172
|
+
export declare function isNumberBetween(value: number, min: number, max: number): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Get a Regex for the find & replace that matches the given search string and options.
|
|
175
|
+
*/
|
|
176
|
+
export declare function getSearchRegex(searchStr: string, searchOptions: SearchOptions): RegExp;
|
|
177
|
+
/**
|
|
178
|
+
* Alternative to Math.max that works with large arrays.
|
|
179
|
+
* Typically useful for arrays bigger than 100k elements.
|
|
180
|
+
*/
|
|
181
|
+
export declare function largeMax(array: number[]): number;
|
|
182
|
+
/**
|
|
183
|
+
* Alternative to Math.min that works with large arrays.
|
|
184
|
+
* Typically useful for arrays bigger than 100k elements.
|
|
185
|
+
*/
|
|
186
|
+
export declare function largeMin(array: number[]): number;
|
|
187
|
+
export declare class TokenizingChars {
|
|
188
|
+
private text;
|
|
189
|
+
private currentIndex;
|
|
190
|
+
current: string;
|
|
191
|
+
constructor(text: string);
|
|
192
|
+
shift(): string;
|
|
193
|
+
advanceBy(length: number): void;
|
|
194
|
+
isOver(): boolean;
|
|
195
|
+
remaining(): string;
|
|
196
|
+
currentStartsWith(str: string): boolean;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Remove duplicates from an array.
|
|
200
|
+
*
|
|
201
|
+
* @param array The array to remove duplicates from.
|
|
202
|
+
* @param cb A callback to get an element value.
|
|
203
|
+
*/
|
|
204
|
+
export declare function removeDuplicates<T>(array: T[], cb?: (a: T) => any): T[];
|
|
205
|
+
/**
|
|
206
|
+
* Similar to transposing and array, but with POJOs instead of arrays. Useful, for example, when manipulating
|
|
207
|
+
* a POJO grid[col][row] and you want to transpose it to grid[row][col].
|
|
208
|
+
*
|
|
209
|
+
* The resulting object is created such as result[key1][key2] = pojo[key2][key1]
|
|
210
|
+
*/
|
|
211
|
+
export declare function transpose2dPOJO<T>(pojo: Record<string, Record<string, T>>): Record<string, Record<string, T>>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Locale } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* This function returns a regexp that is supposed to be as close as possible as the numberRegexp,
|
|
4
|
+
* but its purpose is to be used by the tokenizer.
|
|
5
|
+
*
|
|
6
|
+
* - it tolerates extra characters at the end. This is useful because the tokenizer
|
|
7
|
+
* only needs to find the number at the start of a string
|
|
8
|
+
* - it does not support % symbol, in formulas % is an operator
|
|
9
|
+
*/
|
|
10
|
+
export declare const getFormulaNumberRegex: (decimalSeparator: string) => RegExp;
|
|
11
|
+
/**
|
|
12
|
+
* Return true if the argument is a "number string".
|
|
13
|
+
*
|
|
14
|
+
* Note that "" (empty string) does not count as a number string
|
|
15
|
+
*/
|
|
16
|
+
export declare function isNumber(value: string | undefined, locale: Locale): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Convert a string into a number. It assumes that the string actually represents
|
|
19
|
+
* a number (as determined by the isNumber function)
|
|
20
|
+
*
|
|
21
|
+
* Note that it accepts "" (empty string), even though it does not count as a
|
|
22
|
+
* number from the point of view of the isNumber function.
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseNumber(str: string, locale: Locale): number;
|
|
25
|
+
export declare function percentile(values: number[], percent: number, isInclusive: boolean): number;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { CellComposerStore } from "../../components/composer/composer/cell_composer_store";
|
|
2
|
+
import { Token } from "../../formulas";
|
|
3
|
+
import { EnrichedToken } from "../../formulas/composer_tokenizer";
|
|
4
|
+
import { Granularity, PivotField, PivotMeasure } from "../../types";
|
|
5
|
+
/**
|
|
6
|
+
* Create a proposal entry for the compose autowcomplete
|
|
7
|
+
* to insert a field name string in a formula.
|
|
8
|
+
*/
|
|
9
|
+
export declare function makeFieldProposal(field: PivotField, granularity?: Granularity): {
|
|
10
|
+
text: string;
|
|
11
|
+
description: string;
|
|
12
|
+
htmlContent: {
|
|
13
|
+
value: string;
|
|
14
|
+
color: "#00a82d";
|
|
15
|
+
}[];
|
|
16
|
+
fuzzySearchKey: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function makeMeasureProposal(measure: PivotMeasure): {
|
|
19
|
+
text: string;
|
|
20
|
+
description: string;
|
|
21
|
+
htmlContent: {
|
|
22
|
+
value: string;
|
|
23
|
+
color: "#00a82d";
|
|
24
|
+
}[];
|
|
25
|
+
fuzzySearchKey: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Perform the autocomplete of the composer by inserting the value
|
|
29
|
+
* at the cursor position, replacing the current token if necessary.
|
|
30
|
+
* Must be bound to the autocomplete provider.
|
|
31
|
+
*/
|
|
32
|
+
export declare function insertTokenAfterArgSeparator(this: {
|
|
33
|
+
composer: CellComposerStore;
|
|
34
|
+
}, tokenAtCursor: EnrichedToken, value: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Perform the autocomplete of the composer by inserting the value
|
|
37
|
+
* at the cursor position, replacing the current token if necessary.
|
|
38
|
+
* Must be bound to the autocomplete provider.
|
|
39
|
+
* @param {EnrichedToken} tokenAtCursor
|
|
40
|
+
* @param {string} value
|
|
41
|
+
*/
|
|
42
|
+
export declare function insertTokenAfterLeftParenthesis(this: {
|
|
43
|
+
composer: CellComposerStore;
|
|
44
|
+
}, tokenAtCursor: EnrichedToken, value: string): void;
|
|
45
|
+
/**
|
|
46
|
+
* Extract the pivot id (always the first argument) from the function
|
|
47
|
+
* context of the given token.
|
|
48
|
+
*/
|
|
49
|
+
export declare function extractFormulaIdFromToken(tokenAtCursor: EnrichedToken): any;
|
|
50
|
+
/**
|
|
51
|
+
* Get the first Pivot function description of the given formula.
|
|
52
|
+
*/
|
|
53
|
+
export declare function getFirstPivotFunction(tokens: Token[]): {
|
|
54
|
+
functionName: string;
|
|
55
|
+
args: import("../..").AST[];
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Parse a spreadsheet formula and detect the number of PIVOT functions that are
|
|
59
|
+
* present in the given formula.
|
|
60
|
+
*/
|
|
61
|
+
export declare function getNumberOfPivotFunctions(tokens: Token[]): number;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { CellValue, Pivot, PivotColRowDomain, PivotDomain, PivotNode } from "../../types";
|
|
2
|
+
export declare const PREVIOUS_VALUE = "(previous)";
|
|
3
|
+
export declare const NEXT_VALUE = "(next)";
|
|
4
|
+
export declare function getDomainOfParentRow(pivot: Pivot, domain: PivotDomain): PivotDomain;
|
|
5
|
+
export declare function getDomainOfParentCol(pivot: Pivot, domain: PivotDomain): PivotDomain;
|
|
6
|
+
/**
|
|
7
|
+
* Split a pivot domain into the part related to the rows of the pivot, and the part related to the columns.
|
|
8
|
+
*/
|
|
9
|
+
export declare function domainToColRowDomain(pivot: Pivot, domain: PivotDomain): PivotColRowDomain;
|
|
10
|
+
export declare function getDimensionDomain(pivot: Pivot, dimension: "column" | "row", domain: PivotDomain): PivotDomain;
|
|
11
|
+
export declare function isDomainIsInPivot(pivot: Pivot, domain: PivotDomain): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Get the domain parent of the given domain with the field `parentFieldName` as leaf of the domain.
|
|
14
|
+
*
|
|
15
|
+
* In practice, if the `parentFieldName` is a row in the pivot, the helper will return a domain with the same column
|
|
16
|
+
* domain, and with a row domain all groupBys children to `parentFieldName` removed.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getFieldParentDomain(pivot: Pivot, parentFieldName: string, domain: PivotDomain): PivotDomain;
|
|
19
|
+
/**
|
|
20
|
+
* Replace in the domain the value of the field `fieldNameWithGranularity` with the given `value`
|
|
21
|
+
*/
|
|
22
|
+
export declare function replaceFieldValueInDomain(domain: PivotDomain, fieldNameWithGranularity: string, value: CellValue): PivotDomain;
|
|
23
|
+
export declare function isFieldInDomain(nameWithGranularity: string, domain: PivotDomain): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Check if the field is in the rows or columns of the pivot
|
|
26
|
+
*/
|
|
27
|
+
export declare function getFieldDimensionType(pivot: Pivot, nameWithGranularity: string): "row" | "column";
|
|
28
|
+
/**
|
|
29
|
+
* Replace in the given domain the value of the field `fieldNameWithGranularity` with the previous or next value.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getPreviousOrNextValueDomain(pivot: Pivot, domain: PivotDomain, fieldNameWithGranularity: string, direction: typeof PREVIOUS_VALUE | typeof NEXT_VALUE): PivotDomain | undefined;
|
|
32
|
+
export declare function domainToString(domain: PivotDomain | undefined): string;
|
|
33
|
+
export declare function domainNodeToString(domainNode: PivotNode | undefined): string;
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* For the ranking, the pivot cell values of a column (or row) at the same depth are grouped together before being sorted
|
|
37
|
+
* and ranked.
|
|
38
|
+
*
|
|
39
|
+
* The grouping of a pivot cell is done with both the value of the domain nodes that are parent of the field
|
|
40
|
+
* `fieldNameWithGranularity` and the value of the last node of the domain of the pivot cell, if it's not the field
|
|
41
|
+
* `fieldNameWithGranularity`.
|
|
42
|
+
*
|
|
43
|
+
* For example, let's take a pivot grouped by (Date:year, Stage, User, Product), where we want to rank by "Stage" field.
|
|
44
|
+
* The domain nodes parents of the "Stage" are [Date:year]. The pivot cell with domain:
|
|
45
|
+
* - [Date:year=2021] is not ranked because it does not contain the "Stage" field
|
|
46
|
+
* - [Date:year=2021, Stage=Lead] is grouped with the cells [Date:year=2021, Stage=*, User=None, Product=None],
|
|
47
|
+
* and then ranked within the group
|
|
48
|
+
* - [Date:year=2021, Stage=Lead, User=Bob] is grouped with the cells [Date:year=2021, Stage=*, User=Bob, Product=None],
|
|
49
|
+
* and then ranked within the group
|
|
50
|
+
* - [Date:year=2021, Stage=Lead, User=Bob, Product=Table] is grouped with the cells [Date:year=2021, Stage=*, User=*, Product=Table],
|
|
51
|
+
* and then ranked within the group
|
|
52
|
+
*
|
|
53
|
+
* If we rank the pivot on "User" instead, the parent domain becomes [Date:year, Sage] .The cell with domain:
|
|
54
|
+
* - [Date:year=2021] is not ranked because it does not contain the "Stage" field
|
|
55
|
+
* - [Date:year=2021, Stage=Lead] is not ranked because it does not contain the "User" field
|
|
56
|
+
* - [Date:year=2021, Stage=Lead, User=Bob] is grouped with the cells [Date:year=2021, Stage=Lead, User=Bob, Product=None],
|
|
57
|
+
* and then ranked within the group
|
|
58
|
+
* - [Date:year=2021, Stage=Lead, User=Bob, Product=Table] is grouped with the cells with [Date:year=2021, Stage=Lead, User=*, Product=Table],
|
|
59
|
+
* and then ranked within the group
|
|
60
|
+
*
|
|
61
|
+
*/
|
|
62
|
+
export declare function getRankingDomainKey(domain: PivotDomain, fieldNameWithGranularity: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* The running total domain is the domain without the field `fieldNameWithGranularity`, ie. we do the running total of
|
|
65
|
+
* all the pivot cells of the column that have any value for the field `fieldNameWithGranularity` and the same value for
|
|
66
|
+
* the other fields.
|
|
67
|
+
*/
|
|
68
|
+
export declare function getRunningTotalDomainKey(domain: PivotDomain, fieldNameWithGranularity: string): string;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Registry } from "../../registries/registry";
|
|
2
|
+
import { CellValue, FunctionResultObject, Locale, Matrix, Maybe, Pivot } from "../../types";
|
|
3
|
+
import { Granularity, PivotCoreDimension, PivotDimension, PivotDomain, PivotField, PivotTableCell } from "../../types/pivot";
|
|
4
|
+
import { PivotRuntimeDefinition } from "./pivot_runtime_definition";
|
|
5
|
+
export declare const AGGREGATORS: {};
|
|
6
|
+
type AggregatorFN = (args: Matrix<FunctionResultObject>, locale?: Locale) => FunctionResultObject;
|
|
7
|
+
export declare const AGGREGATORS_FN: Record<string, AggregatorFN | undefined>;
|
|
8
|
+
/**
|
|
9
|
+
* Given an object of form {"1": {...}, "2": {...}, ...} get the maximum ID used
|
|
10
|
+
* in this object
|
|
11
|
+
* If the object has no keys, return 0
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export declare function getMaxObjectId(o: object): number;
|
|
15
|
+
export declare const ALL_PERIODS: {
|
|
16
|
+
year: string;
|
|
17
|
+
quarter: string;
|
|
18
|
+
month: string;
|
|
19
|
+
week: string;
|
|
20
|
+
day: string;
|
|
21
|
+
quarter_number: string;
|
|
22
|
+
month_number: string;
|
|
23
|
+
iso_week_number: string;
|
|
24
|
+
day_of_month: string;
|
|
25
|
+
day_of_week: string;
|
|
26
|
+
hour_number: string;
|
|
27
|
+
minute_number: string;
|
|
28
|
+
second_number: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Parse a dimension string into a pivot dimension definition.
|
|
32
|
+
* e.g "create_date:month" => { name: "create_date", granularity: "month" }
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseDimension(dimension: string): PivotCoreDimension;
|
|
35
|
+
export declare function isDateOrDatetimeField(field: PivotField): boolean;
|
|
36
|
+
export declare function generatePivotArgs(formulaId: string, domain: PivotDomain, measure?: string): string[];
|
|
37
|
+
/**
|
|
38
|
+
* Check if the fields in the domain part of
|
|
39
|
+
* a pivot function are valid according to the pivot definition.
|
|
40
|
+
* e.g. =PIVOT.VALUE(1,"revenue","country_id",...,"create_date:month",...,"source_id",...)
|
|
41
|
+
*/
|
|
42
|
+
export declare function areDomainArgsFieldsValid(dimensions: string[], definition: PivotRuntimeDefinition): boolean;
|
|
43
|
+
export declare function createPivotFormula(formulaId: string, cell: PivotTableCell): string;
|
|
44
|
+
/**
|
|
45
|
+
* Parses the value defining a pivot group in a PIVOT formula
|
|
46
|
+
* e.g. given the following formula PIVOT.VALUE("1", "stage_id", "42", "status", "won"),
|
|
47
|
+
* the two group values are "42" and "won".
|
|
48
|
+
*/
|
|
49
|
+
export declare function toNormalizedPivotValue(dimension: Pick<PivotDimension, "type" | "displayName" | "granularity">, groupValue: Maybe<CellValue | FunctionResultObject>): CellValue;
|
|
50
|
+
export declare function toFunctionPivotValue(value: CellValue, dimension: Pick<PivotDimension, "type" | "granularity">): string;
|
|
51
|
+
export declare const pivotNormalizationValueRegistry: Registry<(value: string, granularity?: Granularity | string) => CellValue>;
|
|
52
|
+
export declare const pivotToFunctionValueRegistry: Registry<(value: CellValue, granularity?: string) => string>;
|
|
53
|
+
export declare function getFieldDisplayName(field: PivotDimension): string;
|
|
54
|
+
export declare function addIndentAndAlignToPivotHeader(pivot: Pivot, domain: PivotDomain, functionResult: FunctionResultObject): FunctionResultObject;
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Registry } from "../../registries/registry";
|
|
2
|
+
/**
|
|
3
|
+
* Registry to enable or disable the support of positional arguments
|
|
4
|
+
* (with a leading #) in pivot functions
|
|
5
|
+
* e.g. =PIVOT.VALUE(1,"probability","#stage",1)
|
|
6
|
+
*/
|
|
7
|
+
export declare const supportedPivotPositionalFormulaRegistry: Registry<boolean>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PivotDomain } from "../../types";
|
|
2
|
+
export declare class PivotPresenceTracker {
|
|
3
|
+
private trackedValues;
|
|
4
|
+
private domainToArray;
|
|
5
|
+
isValuePresent(measure: string, domain: PivotDomain): boolean;
|
|
6
|
+
isHeaderPresent(domain: PivotDomain): boolean;
|
|
7
|
+
trackValue(measure: string, domain: PivotDomain): void;
|
|
8
|
+
trackHeader(domain: PivotDomain): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { ModelConfig } from "../../model";
|
|
2
|
+
import { CellValue, DimensionTree, FunctionResultObject, Getters, PivotDomain, PivotMeasure, PivotMeasureDisplay, PivotValueCell } from "../../types";
|
|
3
|
+
import { UID } from "../../types/misc";
|
|
4
|
+
import { NEXT_VALUE, PREVIOUS_VALUE } from "./pivot_domain_helpers";
|
|
5
|
+
import { PivotParams, PivotUIConstructor } from "./pivot_registry";
|
|
6
|
+
type CacheForMeasureAndField<T> = {
|
|
7
|
+
[measureId: string]: {
|
|
8
|
+
[field: string]: T;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
type DomainGroups<T> = {
|
|
12
|
+
[colDomain: string]: {
|
|
13
|
+
[rowDomain: string]: T;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Dynamically creates a presentation layer wrapper around a given pivot class.
|
|
18
|
+
*
|
|
19
|
+
* It allows to implement additional behaviors and features that can be applied
|
|
20
|
+
* to all pivots, regardless of the specific pivot implementation.
|
|
21
|
+
* Examples of such features include calculated measures or "Show value as" options.
|
|
22
|
+
*/
|
|
23
|
+
export default function (PivotClass: PivotUIConstructor): {
|
|
24
|
+
new (pivotId: any, custom: ModelConfig["custom"], params: PivotParams): {
|
|
25
|
+
getters: Getters;
|
|
26
|
+
pivotId: UID;
|
|
27
|
+
cache: Record<string, FunctionResultObject>;
|
|
28
|
+
rankAsc: CacheForMeasureAndField<DomainGroups<number> | undefined>;
|
|
29
|
+
rankDesc: CacheForMeasureAndField<DomainGroups<number> | undefined>;
|
|
30
|
+
runningTotal: CacheForMeasureAndField<DomainGroups<number | undefined> | undefined>;
|
|
31
|
+
runningTotalInPercent: CacheForMeasureAndField<DomainGroups<number | undefined> | undefined>;
|
|
32
|
+
markAsDirtyForEvaluation(): void;
|
|
33
|
+
getPivotCellValueAndFormat(measureName: string, domain: PivotDomain): FunctionResultObject;
|
|
34
|
+
_getPivotCellValueAndFormat(measureName: string, domain: PivotDomain): FunctionResultObject;
|
|
35
|
+
computeMeasure(measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
|
|
36
|
+
getValuesToAggregate(measure: PivotMeasure, domain: PivotDomain): FunctionResultObject[];
|
|
37
|
+
getSubTreeMatchingDomain(tree: DimensionTree, domain: PivotDomain, domainLevel?: number): DimensionTree;
|
|
38
|
+
treeToLeafDomains(tree: DimensionTree, parentDomain?: PivotDomain): PivotDomain[];
|
|
39
|
+
getMeasureDisplayValue(measureId: string, domain: PivotDomain): FunctionResultObject;
|
|
40
|
+
asPercentOfGrandTotal(rawValue: FunctionResultObject, measure: PivotMeasure): FunctionResultObject;
|
|
41
|
+
asPercentOfRowTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
|
|
42
|
+
asPercentOfColumnTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
|
|
43
|
+
asPercentOfParentRowTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
|
|
44
|
+
asPercentOfParentColumnTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
|
|
45
|
+
asPercentOfParentTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay): FunctionResultObject;
|
|
46
|
+
asIndex(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain): FunctionResultObject;
|
|
47
|
+
asRunningTotal(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay, mode: "running_total" | "%_running_total"): FunctionResultObject;
|
|
48
|
+
asPercentOf(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay): FunctionResultObject;
|
|
49
|
+
asDifferenceFrom(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay): FunctionResultObject;
|
|
50
|
+
asDifferenceFromInPercent(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay): FunctionResultObject;
|
|
51
|
+
asRank(rawValue: FunctionResultObject, measure: PivotMeasure, domain: PivotDomain, display: PivotMeasureDisplay, order: "asc" | "desc"): FunctionResultObject;
|
|
52
|
+
computeRank(measure: PivotMeasure, fieldNameWithGranularity: string, order: "asc" | "desc"): DomainGroups<number>;
|
|
53
|
+
computeRunningTotal(measure: PivotMeasure, fieldNameWithGranularity: string, mode: "running_total" | "%_running_total"): DomainGroups<number | undefined>;
|
|
54
|
+
getGrandTotal(measureId: string): number;
|
|
55
|
+
getRowTotal(measureId: string, domain: PivotDomain): number;
|
|
56
|
+
getColumnTotal(measureId: string, domain: PivotDomain): number;
|
|
57
|
+
isFieldInPivot(nameWithGranularity: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* With the given measure, fetch the value of the cell in the pivot that has the given domain with
|
|
60
|
+
* the value of the field `fieldNameWithGranularity` replaced by `valueToCompare`.
|
|
61
|
+
*
|
|
62
|
+
* @param valueToCompare either a value to replace the field value with, or "(previous)" or "(next)"
|
|
63
|
+
* @returns the value of the cell in the pivot with the new domain, or "sameValue" if the domain is the same
|
|
64
|
+
*/
|
|
65
|
+
getComparisonValue(measure: PivotMeasure, domain: PivotDomain, fieldNameWithGranularity: string, valueToCompare: CellValue | typeof PREVIOUS_VALUE | typeof NEXT_VALUE): number | "sameValue" | undefined;
|
|
66
|
+
getPivotValueCells(measureId: string): PivotValueCell[][];
|
|
67
|
+
measureValueToNumber(result: FunctionResultObject): number;
|
|
68
|
+
strictMeasureValueToNumber(result: FunctionResultObject): number | undefined;
|
|
69
|
+
type: import("../..").PivotCoreDefinition["type"];
|
|
70
|
+
definition: import("./pivot_runtime_definition").PivotRuntimeDefinition;
|
|
71
|
+
init(params?: import("../..").InitPivotParams): void;
|
|
72
|
+
isValid(): boolean;
|
|
73
|
+
onDefinitionChange(nextDefinition: import("../..").PivotCoreDefinition): void;
|
|
74
|
+
getTableStructure(): import("./table_spreadsheet_pivot").SpreadsheetPivotTable;
|
|
75
|
+
getFields(): import("../..").PivotFields;
|
|
76
|
+
getPivotHeaderValueAndFormat(domain: PivotDomain): FunctionResultObject;
|
|
77
|
+
getPivotMeasureValue(measure: string, domain: PivotDomain): FunctionResultObject;
|
|
78
|
+
getMeasure: (id: string) => PivotMeasure;
|
|
79
|
+
parseArgsToPivotDomain(args: import("../..").Maybe<FunctionResultObject>[]): PivotDomain;
|
|
80
|
+
areDomainArgsFieldsValid(args: import("../..").Maybe<FunctionResultObject>[]): boolean;
|
|
81
|
+
assertIsValid({ throwOnError }: {
|
|
82
|
+
throwOnError: boolean;
|
|
83
|
+
}): FunctionResultObject | undefined;
|
|
84
|
+
getPossibleFieldValues(dimension: import("../..").PivotDimension): {
|
|
85
|
+
value: string | boolean | number;
|
|
86
|
+
label: string;
|
|
87
|
+
}[];
|
|
88
|
+
needsReevaluation: boolean;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ModelConfig } from "../../model";
|
|
2
|
+
import { Registry } from "../../registries/registry";
|
|
3
|
+
import { ApplyRangeChange, CoreGetters, Getters } from "../../types";
|
|
4
|
+
import { PivotCoreDefinition, PivotField, PivotFields } from "../../types/pivot";
|
|
5
|
+
import { Pivot } from "../../types/pivot_runtime";
|
|
6
|
+
import { PivotRuntimeDefinition } from "./pivot_runtime_definition";
|
|
7
|
+
export interface PivotParams {
|
|
8
|
+
definition: PivotCoreDefinition;
|
|
9
|
+
getters: Getters;
|
|
10
|
+
}
|
|
11
|
+
export interface PivotCoreParams {
|
|
12
|
+
definition: PivotCoreDefinition;
|
|
13
|
+
getters: CoreGetters;
|
|
14
|
+
}
|
|
15
|
+
export type PivotUIConstructor = new (custom: ModelConfig["custom"], params: PivotParams) => Pivot;
|
|
16
|
+
type PivotDefinitionConstructor = new (definition: PivotCoreDefinition, fields: PivotFields, getters: Getters) => PivotRuntimeDefinition;
|
|
17
|
+
export interface PivotRegistryItem {
|
|
18
|
+
ui: PivotUIConstructor;
|
|
19
|
+
definition: PivotDefinitionConstructor;
|
|
20
|
+
dateGranularities: string[];
|
|
21
|
+
datetimeGranularities: string[];
|
|
22
|
+
isMeasureCandidate: (field: PivotField) => boolean;
|
|
23
|
+
isGroupable: (field: PivotField) => boolean;
|
|
24
|
+
adaptRanges?: (getters: CoreGetters, definition: PivotCoreDefinition, applyChange: ApplyRangeChange) => PivotCoreDefinition;
|
|
25
|
+
}
|
|
26
|
+
export declare const pivotRegistry: Registry<PivotRegistryItem>;
|
|
27
|
+
export declare const datetimeGranularities: string[];
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CommonPivotCoreDefinition, PivotDimension, PivotFields, PivotMeasure } from "../../types/pivot";
|
|
2
|
+
/**
|
|
3
|
+
* Represent a pivot runtime definition. A pivot runtime definition is a pivot
|
|
4
|
+
* definition that has been enriched to include the display name of its attributes
|
|
5
|
+
* (measures, columns, rows).
|
|
6
|
+
*/
|
|
7
|
+
export declare class PivotRuntimeDefinition {
|
|
8
|
+
readonly measures: PivotMeasure[];
|
|
9
|
+
readonly columns: PivotDimension[];
|
|
10
|
+
readonly rows: PivotDimension[];
|
|
11
|
+
constructor(definition: CommonPivotCoreDefinition, fields: PivotFields);
|
|
12
|
+
getDimension(nameWithGranularity: string): PivotDimension;
|
|
13
|
+
getMeasure(id: string): PivotMeasure;
|
|
14
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Registry } from "../../registries/registry";
|
|
2
|
+
import { CellValue } from "../../types";
|
|
3
|
+
import { Granularity, PivotTimeAdapter } from "../../types/pivot";
|
|
4
|
+
export declare const pivotTimeAdapterRegistry: Registry<PivotTimeAdapter<CellValue>>;
|
|
5
|
+
export declare function pivotTimeAdapter(granularity: Granularity): PivotTimeAdapter<CellValue>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EvaluatedCell } from "../../../types";
|
|
2
|
+
import { PivotDimension } from "../../../types/pivot";
|
|
3
|
+
import { SpreadsheetPivotTable } from "../table_spreadsheet_pivot";
|
|
4
|
+
import { SpreadsheetPivotRuntimeDefinition } from "./runtime_definition_spreadsheet_pivot";
|
|
5
|
+
export type FieldName = string;
|
|
6
|
+
export type FieldValue = Pick<EvaluatedCell, "type" | "format" | "value" | "formattedValue">;
|
|
7
|
+
export type DataEntry = Record<FieldName, FieldValue | undefined>;
|
|
8
|
+
export type DataEntries = DataEntry[];
|
|
9
|
+
/**
|
|
10
|
+
* This function converts a list of data entry into a spreadsheet pivot table.
|
|
11
|
+
*/
|
|
12
|
+
export declare function dataEntriesToSpreadsheetPivotTable(dataEntries: DataEntries, definition: SpreadsheetPivotRuntimeDefinition): SpreadsheetPivotTable;
|
|
13
|
+
/**
|
|
14
|
+
* Group the dataEntries based on the given dimension
|
|
15
|
+
*/
|
|
16
|
+
export declare function groupPivotDataEntriesBy(dataEntries: DataEntries, dimension: PivotDimension): Partial<Record<string, DataEntry[]>>;
|
|
17
|
+
/**
|
|
18
|
+
* Order the keys of the given data entries, based on the given dimension
|
|
19
|
+
*/
|
|
20
|
+
export declare function orderDataEntriesKeys(groups: Partial<Record<string, DataEntries>>, dimension: PivotDimension): string[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CellValue, Locale } from "../../../types";
|
|
2
|
+
import { PivotDimension } from "../../../types/pivot";
|
|
3
|
+
export declare function createDate(dimension: PivotDimension, value: CellValue, locale: Locale): CellValue;
|
|
4
|
+
/**
|
|
5
|
+
* Reset the cache of the pivot date values.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resetMapValueDimensionDate(): void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Getters, Range } from "../../../types";
|
|
2
|
+
import { PivotFields, SpreadsheetPivotCoreDefinition } from "../../../types/pivot";
|
|
3
|
+
import { PivotRuntimeDefinition } from "../pivot_runtime_definition";
|
|
4
|
+
export declare class SpreadsheetPivotRuntimeDefinition extends PivotRuntimeDefinition {
|
|
5
|
+
readonly range?: Range;
|
|
6
|
+
constructor(definition: SpreadsheetPivotCoreDefinition, fields: PivotFields, getters: Getters);
|
|
7
|
+
}
|