@odoo/o-spreadsheet 19.5.0-alpha.2 → 19.5.0-alpha.20
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/material_symbols_outlined.css +9 -0
- package/dist/o_spreadsheet.cjs +53040 -49146
- package/dist/o_spreadsheet.css +330 -157
- package/dist/o_spreadsheet.esm.js +52813 -48924
- package/dist/o_spreadsheet.iife.js +49777 -45883
- package/dist/o_spreadsheet.min.iife.js +413 -359
- package/dist/o_spreadsheet.xml +505 -332
- package/dist/types/actions/action.d.ts +1 -7
- package/dist/types/actions/data_actions.d.ts +2 -0
- package/dist/types/actions/menu_items_actions.d.ts +5 -2
- package/dist/types/clipboard_handlers/default_clipboard.d.ts +1 -1
- package/dist/types/collaborative/command_squisher.d.ts +1 -1
- package/dist/types/collaborative/ot/ot_helpers.d.ts +3 -1
- package/dist/types/collaborative/session.d.ts +3 -1
- package/dist/types/components/autofill/autofill.d.ts +3 -0
- package/dist/types/{plugins/ui_feature/autofill.d.ts → components/autofill/autofill_store.d.ts} +7 -12
- package/dist/types/components/autofill/table_autofill_store.d.ts +6 -0
- package/dist/types/components/border_editor/border_editor_widget.d.ts +1 -0
- package/dist/types/components/bottom_bar/bottom_bar_statistic/bottom_bar_statistic.d.ts +3 -0
- package/dist/types/components/clickable_cells_overlay/clickable_cells_overlay.d.ts +20 -0
- package/dist/types/components/collaborative_client_tag/collaborative_client_tag.d.ts +2 -0
- package/dist/types/components/composer/composer/abstract_composer_store.d.ts +3 -2
- package/dist/types/components/composer/composer/composer.d.ts +2 -1
- package/dist/types/components/composer/grid_composer/grid_composer.d.ts +1 -0
- package/dist/types/components/dashboard/clickable_cell_sort_icon/clickable_cell_sort_icon.d.ts +1 -1
- package/dist/types/components/dashboard/clickable_cell_store.d.ts +1 -0
- package/dist/types/components/dashboard/dashboard.d.ts +7 -12
- package/dist/types/components/error_tooltip/error_tooltip.d.ts +2 -0
- package/dist/types/components/figures/chart/chartJs/chartjs_geo_projection_plugin.d.ts +12 -0
- package/dist/types/components/figures/chart/chartJs/zoomable_chart/zoomable_chartjs.d.ts +1 -0
- package/dist/types/components/figures/chart/gauge/gauge_chart_component.d.ts +1 -0
- package/dist/types/components/figures/chart/scorecard/chart_scorecard.d.ts +1 -0
- package/dist/types/components/figures/figure/figure.d.ts +10 -9
- package/dist/types/components/figures/figure_carousel/figure_carousel.d.ts +16 -1
- package/dist/types/components/figures/figure_chart/figure_chart.d.ts +1 -2
- package/dist/types/components/figures/figure_container/figure_container.d.ts +9 -4
- package/dist/types/components/figures/figure_image/figure_image.d.ts +1 -2
- package/dist/types/components/filters/filter_menu/filter_menu.d.ts +1 -0
- package/dist/types/components/full_screen_figure/full_screen_figure.d.ts +12 -1
- package/dist/types/components/grid/grid.d.ts +10 -0
- package/dist/types/components/grid_add_rows_footer/grid_add_rows_footer.d.ts +1 -0
- package/dist/types/components/grid_overlay/grid_overlay.d.ts +8 -4
- package/dist/types/components/grid_popover/grid_popover.d.ts +1 -0
- package/dist/types/components/header_group/header_group_container.d.ts +2 -0
- package/dist/types/components/headers_overlay/headers_overlay.d.ts +5 -0
- package/dist/types/components/headers_overlay/unhide_headers.d.ts +4 -0
- package/dist/types/components/helpers/chart_drag_and_drop.d.ts +15 -0
- package/dist/types/components/helpers/dom_helpers.d.ts +5 -2
- package/dist/types/components/helpers/draw_grid_hook.d.ts +1 -2
- package/dist/types/components/helpers/figure_drag_helper.d.ts +3 -3
- package/dist/types/components/helpers/figure_snap_helper.d.ts +9 -4
- package/dist/types/components/helpers/wheel_hook.d.ts +1 -1
- package/dist/types/components/helpers/zoom.d.ts +0 -14
- package/dist/types/components/highlight/border/border.d.ts +2 -0
- package/dist/types/components/highlight/corner/corner.d.ts +1 -0
- package/dist/types/components/highlight/highlight/highlight.d.ts +3 -0
- package/dist/types/components/link/link_display/link_display.d.ts +1 -0
- package/dist/types/components/link/link_editor/link_editor.d.ts +3 -1
- package/dist/types/components/paint_format_button/paint_format_store.d.ts +1 -1
- package/dist/types/components/popover/cell_popover_store.d.ts +2 -1
- package/dist/types/components/popover/popover.d.ts +0 -1
- package/dist/types/components/popover/popover_container_owl_plugin.d.ts +5 -0
- package/dist/types/components/props_validation.d.ts +7 -7
- package/dist/types/components/scrollbar/scrollbar_horizontal.d.ts +3 -0
- package/dist/types/components/scrollbar/scrollbar_vertical.d.ts +5 -1
- package/dist/types/components/selection_input/selection_input_store.d.ts +1 -1
- package/dist/types/components/side_panel/carousel_panel/carousel_panel.d.ts +20 -2
- package/dist/types/components/side_panel/chart/building_blocks/chart_title/chart_title.d.ts +1 -0
- package/dist/types/components/side_panel/chart/building_blocks/color_scale/color_scale_picker.d.ts +1 -1
- package/dist/types/components/side_panel/chart/calendar_chart/calendar_chart_config_panel.d.ts +0 -2
- package/dist/types/components/side_panel/chart/chart_type_picker/chart_type_picker.d.ts +5 -18
- package/dist/types/components/side_panel/chart/chart_type_picker_popover/chart_type_picker_popover.d.ts +63 -0
- package/dist/types/components/side_panel/chart/common.d.ts +1 -1
- package/dist/types/components/side_panel/chart/scorecard_chart_panel/scorecard_chart_config_panel.d.ts +6 -10
- package/dist/types/components/side_panel/components/radio_selection/radio_selection.d.ts +1 -1
- package/dist/types/components/side_panel/conditional_formatting/cf_editor/cell_is_rule_editor.d.ts +1 -1
- package/dist/types/components/side_panel/conditional_formatting/cf_editor/color_scale_rule_editor.d.ts +1 -1
- package/dist/types/components/side_panel/conditional_formatting/cf_editor/color_scale_rule_editor_threshold.d.ts +1 -1
- package/dist/types/components/side_panel/conditional_formatting/cf_editor/data_bar_rule_editor.d.ts +1 -1
- package/dist/types/components/side_panel/conditional_formatting/cf_editor/icon_set_rule_editor.d.ts +1 -1
- package/dist/types/components/side_panel/data_analysis/chart_suggestion_preview.d.ts +19 -0
- package/dist/types/components/side_panel/data_analysis/data_analysis_panel.d.ts +17 -0
- package/dist/types/components/side_panel/data_analysis/data_analysis_store.d.ts +15 -0
- package/dist/types/components/side_panel/data_sources_cleanup/data_sources_cleanup.d.ts +28 -0
- package/dist/types/components/side_panel/data_sources_cleanup/data_sources_cleanup_store.d.ts +13 -0
- package/dist/types/components/side_panel/find_and_replace/find_and_replace.d.ts +1 -0
- package/dist/types/components/side_panel/find_and_replace/find_and_replace_store.d.ts +3 -1
- package/dist/types/components/side_panel/pivot/pivot_layout_configurator/pivot_layout_configurator.d.ts +1 -8
- package/dist/types/components/side_panel/pivot/pivot_side_panel/pivot_side_panel_store.d.ts +1 -0
- package/dist/types/components/side_panel/remove_duplicates/remove_duplicates.d.ts +3 -10
- package/dist/types/components/side_panel/side_panel/side_panel_store.d.ts +3 -2
- package/dist/types/components/side_panel/split_to_columns_panel/split_to_columns_panel.d.ts +4 -11
- package/dist/types/components/side_panel/split_to_columns_panel/split_to_columns_store.d.ts +33 -0
- package/dist/types/components/side_panel/table_panel/table_panel.d.ts +6 -0
- package/dist/types/components/side_panel/table_style_editor_panel/table_style_editor_panel.d.ts +2 -0
- package/dist/types/components/small_bottom_bar/small_bottom_bar.d.ts +1 -0
- package/dist/types/components/spreadsheet/spreadsheet.d.ts +12 -5
- package/dist/types/components/spreadsheet_print/print_iframe.d.ts +15 -0
- package/dist/types/components/spreadsheet_print/spreadsheet_print.d.ts +4 -0
- package/dist/types/components/standalone_grid_canvas/carousel_data_view_print.d.ts +32 -0
- package/dist/types/components/standalone_grid_canvas/standalone_grid_canvas.d.ts +397 -2
- package/dist/types/components/standalone_viewport/standalone_viewport.d.ts +59 -0
- package/dist/types/components/standalone_viewport/standalone_viewport_store.d.ts +29 -0
- package/dist/types/components/tables/hovered_table_store.d.ts +7 -11
- package/dist/types/components/tables/table_resizer/table_resizer.d.ts +2 -0
- package/dist/types/components/tables/table_styles_popover/table_styles_popover.d.ts +0 -1
- package/dist/types/components/top_bar/color_editor/color_editor.d.ts +1 -1
- package/dist/types/components/top_bar/zoom_editor/zoom_editor.d.ts +2 -1
- package/dist/types/constants.d.ts +17 -2
- package/dist/types/formulas/code_builder.d.ts +2 -1
- package/dist/types/formulas/compiler.d.ts +8 -1
- package/dist/types/functions/create_compute_function.d.ts +4 -3
- package/dist/types/functions/function_registry.d.ts +4 -5
- package/dist/types/functions/helper_lookup.d.ts +1 -1
- package/dist/types/functions/helper_matrices.d.ts +1 -0
- package/dist/types/functions/helper_statistical.d.ts +6 -0
- package/dist/types/functions/helpers.d.ts +4 -0
- package/dist/types/functions/module_array.d.ts +41 -23
- package/dist/types/functions/module_database.d.ts +18 -6
- package/dist/types/functions/module_date.d.ts +70 -22
- package/dist/types/functions/module_engineering.d.ts +3 -1
- package/dist/types/functions/module_filter.d.ts +2 -2
- package/dist/types/functions/module_financial.d.ts +105 -35
- package/dist/types/functions/module_info.d.ts +33 -11
- package/dist/types/functions/module_logical.d.ts +16 -8
- package/dist/types/functions/module_lookup.d.ts +23 -15
- package/dist/types/functions/module_math.d.ts +125 -43
- package/dist/types/functions/module_operators.d.ts +7 -3
- package/dist/types/functions/module_statistical.d.ts +78 -22
- package/dist/types/functions/module_text.d.ts +75 -26
- package/dist/types/functions/module_web.d.ts +3 -1
- package/dist/types/helpers/carousel_helpers.d.ts +15 -3
- package/dist/types/helpers/cells/cell_evaluation.d.ts +1 -1
- package/dist/types/helpers/color.d.ts +1 -1
- package/dist/types/helpers/color_themes.d.ts +2 -0
- package/dist/types/helpers/data_analysis.d.ts +17 -0
- package/dist/types/helpers/figures/chart.d.ts +9 -6
- package/dist/types/helpers/figures/charts/chart_common.d.ts +3 -5
- package/dist/types/helpers/figures/charts/chart_data_source_helpers.d.ts +10 -0
- package/dist/types/helpers/figures/charts/chart_data_sources.d.ts +3 -3
- package/dist/types/helpers/figures/charts/chart_suggestion_engine.d.ts +8 -0
- package/dist/types/helpers/figures/charts/chart_ui_common.d.ts +11 -4
- package/dist/types/helpers/figures/charts/charts_suggestions_constants.d.ts +37 -0
- package/dist/types/helpers/figures/charts/gauge_chart_rendering.d.ts +6 -2
- package/dist/types/helpers/figures/charts/runtime/chart_data_extractor.d.ts +13 -12
- package/dist/types/helpers/figures/charts/runtime/chartjs_title.d.ts +2 -2
- package/dist/types/helpers/figures/figure/figure.d.ts +3 -2
- package/dist/types/helpers/filter_helpers.d.ts +2 -2
- package/dist/types/helpers/internal_viewport.d.ts +19 -10
- package/dist/types/helpers/links.d.ts +1 -1
- package/dist/types/helpers/misc.d.ts +2 -0
- package/dist/types/helpers/owl3_helpers.d.ts +4 -0
- package/dist/types/helpers/pivot/pivot_composer_helpers.d.ts +1 -1
- package/dist/types/helpers/pivot/pivot_highlight.d.ts +2 -2
- package/dist/types/helpers/pivot/pivot_presentation.d.ts +2 -2
- package/dist/types/helpers/pivot/pivot_registry.d.ts +4 -5
- package/dist/types/helpers/pivot/spreadsheet_pivot/runtime_definition_spreadsheet_pivot.d.ts +2 -2
- package/dist/types/helpers/range.d.ts +1 -1
- package/dist/types/helpers/rectangle.d.ts +4 -0
- package/dist/types/helpers/text_helper.d.ts +1 -1
- package/dist/types/helpers/ui/split_to_columns_interactive.d.ts +1 -1
- package/dist/types/helpers/viewport_collection.d.ts +50 -21
- package/dist/types/helpers/zones.d.ts +1 -0
- package/dist/types/index.d.ts +39 -9
- package/dist/types/model.d.ts +18 -10
- package/dist/types/owl3_compatibility_layer.d.ts +1 -14
- package/dist/types/plugins/core/carousel.d.ts +8 -4
- package/dist/types/plugins/core/cell.d.ts +1 -0
- package/dist/types/plugins/core/chart.d.ts +2 -0
- package/dist/types/plugins/core/conditional_format.d.ts +2 -0
- package/dist/types/plugins/core/data_validation.d.ts +2 -0
- package/dist/types/plugins/core/formulas_provider.d.ts +8 -0
- package/dist/types/plugins/core/image.d.ts +2 -1
- package/dist/types/plugins/core/pivot.d.ts +1 -0
- package/dist/types/plugins/core/range.d.ts +4 -2
- package/dist/types/plugins/core/squisher.d.ts +7 -2
- package/dist/types/plugins/core/tables.d.ts +2 -1
- package/dist/types/plugins/core/unsquisher.d.ts +1 -1
- package/dist/types/plugins/core_plugin.d.ts +8 -4
- package/dist/types/plugins/{ui_feature → evaluation}/cell_computed_style.d.ts +4 -4
- package/dist/types/plugins/{ui_core_views/cell_evaluation/evaluation_plugin.d.ts → evaluation/cell_evaluation/cell_evaluation_plugin.d.ts} +14 -7
- package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/compilation_parameters.d.ts +2 -2
- package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/evaluator.d.ts +2 -2
- package/dist/types/plugins/{ui_core_views → evaluation}/custom_colors.d.ts +5 -5
- package/dist/types/plugins/{ui_core_views → evaluation}/dynamic_tables.d.ts +4 -4
- package/dist/types/plugins/{ui_feature → evaluation}/dynamic_translate.d.ts +2 -2
- package/dist/types/plugins/evaluation/evaluation_chart.d.ts +27 -0
- package/dist/types/plugins/{ui_core_views → evaluation}/evaluation_conditional_format.d.ts +4 -4
- package/dist/types/plugins/{ui_core_views → evaluation}/evaluation_data_validation.d.ts +4 -4
- package/dist/types/plugins/{ui_stateful → evaluation}/filter_evaluation.d.ts +7 -8
- package/dist/types/plugins/{ui_core_views → evaluation}/fingerprint.d.ts +2 -2
- package/dist/types/plugins/evaluation/formula_tracker.d.ts +8 -0
- package/dist/types/plugins/evaluation/geo_loader.d.ts +13 -0
- package/dist/types/plugins/{ui_core_views → evaluation}/header_sizes_ui.d.ts +5 -5
- package/dist/types/plugins/{ui_feature/header_visibility_ui.d.ts → evaluation/header_visibility_evaluation.d.ts} +2 -2
- package/dist/types/plugins/evaluation/pivot_presence_plugin.d.ts +12 -0
- package/dist/types/plugins/{ui_core_views → evaluation}/pivot_ui.d.ts +9 -6
- package/dist/types/plugins/evaluation/subtotal_evaluation.d.ts +5 -0
- package/dist/types/plugins/{ui_feature → evaluation}/table_computed_style.d.ts +7 -7
- package/dist/types/plugins/evaluation_plugin.d.ts +31 -0
- package/dist/types/plugins/plugin_registries.d.ts +11 -5
- package/dist/types/plugins/ui_feature/chart_ui.d.ts +6 -0
- package/dist/types/plugins/ui_feature/collaborative.d.ts +2 -1
- package/dist/types/plugins/ui_feature/color_theme.d.ts +0 -3
- package/dist/types/plugins/ui_feature/geo_features.d.ts +1 -6
- package/dist/types/plugins/ui_feature/ui_options.d.ts +1 -7
- package/dist/types/plugins/ui_feature/ui_sheet.d.ts +2 -1
- package/dist/types/plugins/ui_plugin.d.ts +1 -4
- package/dist/types/plugins/ui_stateful/carousel_ui.d.ts +2 -2
- package/dist/types/plugins/{ui_core_views → ui_stateful}/cell_icon_plugin.d.ts +2 -2
- package/dist/types/plugins/{ui_feature → ui_stateful}/figure.d.ts +4 -0
- package/dist/types/plugins/ui_stateful/header_positions.d.ts +2 -1
- package/dist/types/registries/chart_data_source_registry.d.ts +4 -5
- package/dist/types/registries/chart_registry.d.ts +7 -4
- package/dist/types/registries/criterion_registry.d.ts +4 -4
- package/dist/types/registries/data_source_registry.d.ts +15 -0
- package/dist/types/registries/evaluation_registry.d.ts +2 -2
- package/dist/types/registries/figures_registry.d.ts +6 -2
- package/dist/types/store_engine/dependency_container.d.ts +5 -0
- package/dist/types/store_engine/store_hooks.d.ts +6 -0
- package/dist/types/store_engine/store_registries.d.ts +4 -0
- package/dist/types/stores/array_formula_highlight.d.ts +1 -1
- package/dist/types/{plugins/ui_feature/automatic_sum.d.ts → stores/automatic_sum_store.d.ts} +5 -4
- package/dist/types/stores/cell_hover_overlay_store.d.ts +15 -0
- package/dist/types/stores/chart_drag_store.d.ts +10 -0
- package/dist/types/stores/checkbox_toggle.d.ts +9 -0
- package/dist/types/stores/client_focus_store.d.ts +1 -0
- package/dist/types/{plugins/ui_stateful/clipboard.d.ts → stores/clipboard_store.d.ts} +11 -11
- package/dist/types/stores/data_cleanup_store.d.ts +31 -0
- package/dist/types/stores/grid_renderer_store.d.ts +3 -2
- package/dist/types/stores/main_viewport_store.d.ts +14 -0
- package/dist/types/stores/spreadsheet_store.d.ts +1 -1
- package/dist/types/stores/table_resize_store.d.ts +6 -0
- package/dist/types/stores/trim_whitespace_store.d.ts +9 -0
- package/dist/types/stores/viewports_store.d.ts +85 -0
- package/dist/types/stores/zoom_store.d.ts +27 -0
- package/dist/types/types/chart/chart.d.ts +3 -1
- package/dist/types/types/chart/chart_suggestion.d.ts +137 -0
- package/dist/types/types/chart/radar_chart.d.ts +1 -1
- package/dist/types/types/chart/scorecard_chart.d.ts +3 -4
- package/dist/types/types/collaborative/transport_service.d.ts +1 -0
- package/dist/types/types/commands.d.ts +55 -68
- package/dist/types/types/figure.d.ts +26 -3
- package/dist/types/types/functions.d.ts +16 -6
- package/dist/types/types/getters.d.ts +126 -28
- package/dist/types/types/misc.d.ts +19 -1
- package/dist/types/types/model.d.ts +2 -4
- package/dist/types/types/range.d.ts +1 -0
- package/dist/types/types/rendering.d.ts +21 -1
- package/dist/types/types/store_engine.d.ts +10 -3
- package/package.json +6 -5
- package/dist/types/plugins/core_view_plugin.d.ts +0 -29
- package/dist/types/plugins/ui_core_views/evaluation_chart.d.ts +0 -26
- package/dist/types/plugins/ui_core_views/formula_tracker.d.ts +0 -8
- package/dist/types/plugins/ui_feature/checkbox_toggle.d.ts +0 -9
- package/dist/types/plugins/ui_feature/data_cleanup.d.ts +0 -16
- package/dist/types/plugins/ui_feature/pivot_presence_plugin.d.ts +0 -11
- package/dist/types/plugins/ui_feature/split_to_columns.d.ts +0 -21
- package/dist/types/plugins/ui_feature/subtotal_evaluation.d.ts +0 -5
- package/dist/types/plugins/ui_feature/table_autofill.d.ts +0 -6
- package/dist/types/plugins/ui_feature/table_resize_ui.d.ts +0 -6
- package/dist/types/plugins/ui_stateful/sheetview.d.ts +0 -123
- package/dist/types/types/core_getters.d.ts +0 -75
- /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/binary_grid.d.ts +0 -0
- /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/formula_dependency_graph.d.ts +0 -0
- /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/interval_tree.d.ts +0 -0
- /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/position_set.d.ts +0 -0
- /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/r_tree.d.ts +0 -0
- /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/range_set.d.ts +0 -0
- /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/spreading_relation.d.ts +0 -0
- /package/dist/types/plugins/{ui_core_views → evaluation}/cell_evaluation/zone_set.d.ts +0 -0
package/dist/o_spreadsheet.xml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
This file is generated by o-spreadsheet build tools. Do not edit it.
|
|
3
3
|
@see https://github.com/odoo/o-spreadsheet
|
|
4
|
-
@version 19.5.0-alpha.
|
|
5
|
-
@date 2026-
|
|
6
|
-
@hash
|
|
4
|
+
@version 19.5.0-alpha.20
|
|
5
|
+
@date 2026-09-16T08:02:12.495Z
|
|
6
|
+
@hash 4784627
|
|
7
7
|
-->
|
|
8
8
|
<odoo>
|
|
9
9
|
<t t-name="o-spreadsheet-ValidationMessages">
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<t t-else="" t-call="o-spreadsheet-Icon.TRIANGLE_EXCLAMATION"/>
|
|
17
17
|
</div>
|
|
18
18
|
<div class="d-flex flex-column overflow-hidden">
|
|
19
|
-
<span class="ps-2
|
|
19
|
+
<span class="ps-2" t-out="msg"/>
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
t-if="this.env.model.getters.isReadonly()"
|
|
78
78
|
class="o-readonly-toolbar d-flex flex-grow-1 align-items-center text-muted">
|
|
79
79
|
<span>
|
|
80
|
-
<i class="
|
|
80
|
+
<i class="oi" data-icon="visibility"/>
|
|
81
81
|
Readonly Access
|
|
82
82
|
</span>
|
|
83
83
|
</div>
|
|
@@ -122,23 +122,25 @@
|
|
|
122
122
|
</div>
|
|
123
123
|
<div
|
|
124
124
|
t-if="this.fingerprints.isEnabled"
|
|
125
|
-
class="topbar-banner irregularity-map d-flex align-items-
|
|
125
|
+
class="topbar-banner irregularity-map d-flex align-items-stretch justify-content-between border-top">
|
|
126
126
|
<div
|
|
127
127
|
t-on-click="() => this.fingerprints.disable()"
|
|
128
128
|
role="button"
|
|
129
129
|
title="This tool analyzes spreadsheet formulas for patterns and highlights inconsistencies. Irregularities may indicate potential errors in formula structures, references, or arguments. (Click to turn off)"
|
|
130
|
-
class="
|
|
131
|
-
<
|
|
130
|
+
class="d-flex align-items-center text-info px-3 text-nowrap">
|
|
131
|
+
<span class="pe-2">
|
|
132
|
+
<t t-call="o-spreadsheet-Icon.IRREGULARITY_MAP"/>
|
|
133
|
+
</span>
|
|
132
134
|
Irregularity map
|
|
133
135
|
</div>
|
|
134
136
|
<div
|
|
135
|
-
class="ps-3
|
|
137
|
+
class="ps-3 flex-fill d-flex justify-content-between align-items-center rounded-0 alert alert-info ps-0 py-1 my-0">
|
|
136
138
|
<span class="d-flex align-items-center">
|
|
137
139
|
This tool analyzes formulas for patterns and highlights inconsistencies. Irregularities
|
|
138
140
|
may indicate potential errors in formula structures, references or arguments.
|
|
139
141
|
</span>
|
|
140
142
|
<div
|
|
141
|
-
class="ps-3 btn o-button-link flex-shrink-0"
|
|
143
|
+
class="ps-3 btn o-button-link flex-shrink-0 py-0"
|
|
142
144
|
t-on-click="() => this.fingerprints.disable()">
|
|
143
145
|
Turn off
|
|
144
146
|
</div>
|
|
@@ -146,18 +148,18 @@
|
|
|
146
148
|
</div>
|
|
147
149
|
<div
|
|
148
150
|
t-if="!this.env.model.getters.isAutomaticEvaluationEnabled()"
|
|
149
|
-
class="topbar-banner manual-evaluation d-flex align-items-
|
|
150
|
-
<div class="
|
|
151
|
-
<i class="
|
|
151
|
+
class="topbar-banner manual-evaluation d-flex align-items-stretch justify-content-between border-top">
|
|
152
|
+
<div class="d-flex align-items-center text-warning px-3 text-nowrap">
|
|
153
|
+
<i class="oi me-2" data-icon="pause_circle"/>
|
|
152
154
|
Manual calculation
|
|
153
155
|
</div>
|
|
154
156
|
<div
|
|
155
|
-
class="ps-3
|
|
157
|
+
class="ps-3 flex-fill d-flex justify-content-between align-items-center rounded-0 alert alert-warning ps-0 py-1 my-0">
|
|
156
158
|
<span class="d-flex align-items-center">
|
|
157
159
|
Automatic evaluation is disabled. Press F9 to recalculate.
|
|
158
160
|
</span>
|
|
159
161
|
<div
|
|
160
|
-
class="ps-3 btn o-button-link flex-shrink-0"
|
|
162
|
+
class="ps-3 btn o-button-link flex-shrink-0 py-0"
|
|
161
163
|
t-on-click="() => this.env.model.dispatch('SET_AUTOMATIC_EVALUATION', { enabled: true })">
|
|
162
164
|
Re-enable
|
|
163
165
|
</div>
|
|
@@ -432,14 +434,59 @@
|
|
|
432
434
|
/>
|
|
433
435
|
</t>
|
|
434
436
|
|
|
437
|
+
<t t-name="o-spreadsheet-StandaloneViewport">
|
|
438
|
+
<div
|
|
439
|
+
class="o-standalone-viewport h-100 w-100 overflow-hidden d-flex"
|
|
440
|
+
t-on-wheel="this.onMouseWheel">
|
|
441
|
+
<div
|
|
442
|
+
class="o-standalone-viewport-content position-relative flex-grow-1 overflow-hidden"
|
|
443
|
+
t-ref="this.containerRef">
|
|
444
|
+
<GridOverlay
|
|
445
|
+
onCellDoubleClicked.bind="this.onCellDoubleClicked"
|
|
446
|
+
onGridResized="() => {}"
|
|
447
|
+
hasFooter="false"
|
|
448
|
+
gridOverlayDimensions="this.gridOverlayDimensions">
|
|
449
|
+
<div
|
|
450
|
+
t-if="this.props.canResizeColumns"
|
|
451
|
+
t-foreach="this.colResizers"
|
|
452
|
+
t-as="colResizer"
|
|
453
|
+
t-key="colResizer_index"
|
|
454
|
+
class="o-col-resizer h-100"
|
|
455
|
+
t-att-class="{ 'dragging': this.dndState.col === colResizer.col }"
|
|
456
|
+
t-att-style="colResizer.style"
|
|
457
|
+
t-on-pointerdown.stop="(ev) => this.onResizerPointerDown(ev, colResizer)"
|
|
458
|
+
t-on-dblclick.stop="(ev) => this.onResizerDoubleClick(ev, colResizer)">
|
|
459
|
+
<div class="o-col-resizer-handle position-absolute h-100"/>
|
|
460
|
+
</div>
|
|
461
|
+
|
|
462
|
+
<ClickableCellsOverlay t-if="this.env.model.getters.isDashboard()"/>
|
|
463
|
+
</GridOverlay>
|
|
464
|
+
<GridPopover
|
|
465
|
+
gridRect="this.getGridRect()"
|
|
466
|
+
onMouseWheel.bind="this.onMouseWheel"
|
|
467
|
+
onClosePopover="() => this.cellPopoverStore.close()"
|
|
468
|
+
/>
|
|
469
|
+
<canvas class="" t-ref="this.canvasRef"/>
|
|
470
|
+
</div>
|
|
471
|
+
<div
|
|
472
|
+
class="position-relative"
|
|
473
|
+
t-if="this.hasVerticalScrollBar"
|
|
474
|
+
t-att-style="this.scrollBarContainerStyle">
|
|
475
|
+
<VerticalScrollBar hasFooter="false"/>
|
|
476
|
+
</div>
|
|
477
|
+
</div>
|
|
478
|
+
</t>
|
|
479
|
+
|
|
435
480
|
<t t-name="o-spreadsheet-StandaloneGridCanvas">
|
|
436
|
-
<
|
|
481
|
+
<t t-foreach="this.carouselDataViews" t-as="carouselDataView" t-key="carouselDataView_index">
|
|
482
|
+
<CarouselDataViewPrint t-props="carouselDataView"/>
|
|
483
|
+
</t>
|
|
437
484
|
</t>
|
|
438
485
|
|
|
439
486
|
<t t-name="o-spreadsheet-SpreadsheetPrint">
|
|
440
487
|
<div class="o-spreadsheet-print d-flex flex-column h-100 w-100">
|
|
441
488
|
<t t-set="pages" t-value="this.printStore.printPages"/>
|
|
442
|
-
<div class="o-print-header flex-shrink-0 d-flex align-items-center
|
|
489
|
+
<div class="o-print-header flex-shrink-0 d-flex align-items-center">
|
|
443
490
|
<h3 class="m-0 p-3 ps-4 text-white">Print Preview</h3>
|
|
444
491
|
<span class="text-white">
|
|
445
492
|
<t t-out="pages.length"/>
|
|
@@ -451,30 +498,8 @@
|
|
|
451
498
|
<button class="o-button primary flex-grow-0 me-4" t-on-click="this.onPrint">Next</button>
|
|
452
499
|
</div>
|
|
453
500
|
<div class="o-print-container d-flex flex-grow-1 overflow-hidden">
|
|
454
|
-
<
|
|
455
|
-
|
|
456
|
-
<div
|
|
457
|
-
t-if="pages.length === 0"
|
|
458
|
-
class="o-print-page o-empty-print-page m-4 shadow d-flex flex-column align-items-center justify-content-center flex-shrink-0"
|
|
459
|
-
t-att-style="this.pageStyle">
|
|
460
|
-
<h4 class="fst-italic text-muted">No content to print</h4>
|
|
461
|
-
</div>
|
|
462
|
-
<div
|
|
463
|
-
t-else=""
|
|
464
|
-
t-foreach="pages"
|
|
465
|
-
t-as="page"
|
|
466
|
-
t-key="page_index"
|
|
467
|
-
class="o-print-page m-4 shadow d-flex justify-content-center flex-shrink-0"
|
|
468
|
-
t-att-style="this.pageStyle">
|
|
469
|
-
<StandaloneGridCanvas
|
|
470
|
-
sheetId="page.sheetId"
|
|
471
|
-
zone="page.zone"
|
|
472
|
-
renderingCtx="page.renderingCtx"
|
|
473
|
-
/>
|
|
474
|
-
</div>
|
|
475
|
-
</div>
|
|
476
|
-
</div>
|
|
477
|
-
<div class="o-sidePanel flex-shrink-0 bg-white border-top border-start d-print-none">
|
|
501
|
+
<iframe class="o-print-preview" t-ref="this.iframeRef" title="Print preview"/>
|
|
502
|
+
<div class="o-sidePanel flex-shrink-0 bg-white border-top border-start">
|
|
478
503
|
<div class="o-sidePanelBody pt-4">
|
|
479
504
|
<Section t-if="!this.env.model.getters.isDashboard()">
|
|
480
505
|
<div class="o-section-title">Print content</div>
|
|
@@ -528,6 +553,16 @@
|
|
|
528
553
|
</div>
|
|
529
554
|
</div>
|
|
530
555
|
</div>
|
|
556
|
+
|
|
557
|
+
<t t-foreach="pages" t-as="page" t-key="page_index">
|
|
558
|
+
<StandaloneGridCanvas
|
|
559
|
+
t-if="this.printIframe.canvases()[page_index]"
|
|
560
|
+
canvas="this.printIframe.canvases()[page_index]"
|
|
561
|
+
sheetId="page.sheetId"
|
|
562
|
+
zone="page.zone"
|
|
563
|
+
renderingCtx="page.renderingCtx"
|
|
564
|
+
/>
|
|
565
|
+
</t>
|
|
531
566
|
</div>
|
|
532
567
|
</t>
|
|
533
568
|
|
|
@@ -617,7 +652,7 @@
|
|
|
617
652
|
<div class="d-flex flex-fill align-items-center bottom-bar-menu border-top border-bottom">
|
|
618
653
|
<Ripple>
|
|
619
654
|
<div class="py-1 px-1 mx-2 ribbon-toggler" t-on-click="this.toggleRibbon">
|
|
620
|
-
<i class="o-icon
|
|
655
|
+
<i class="o-icon oi oi-filled" data-icon="settings_f"/>
|
|
621
656
|
</div>
|
|
622
657
|
</Ripple>
|
|
623
658
|
<BottomBar onClick="this.props.onClick"/>
|
|
@@ -633,7 +668,7 @@
|
|
|
633
668
|
class="o-previous-button px-3 py-1 mx-2 rounded"
|
|
634
669
|
t-on-click="this.onClickBack"
|
|
635
670
|
t-att-title="this.backTitle">
|
|
636
|
-
<i class="
|
|
671
|
+
<i class="oi" data-icon="keyboard_arrow_left"/>
|
|
637
672
|
</div>
|
|
638
673
|
<span class="d-flex align-items-center" t-out="this.state.title"/>
|
|
639
674
|
</div>
|
|
@@ -649,7 +684,11 @@
|
|
|
649
684
|
<t t-name="o-spreadsheet-TableStyleEditorPanel">
|
|
650
685
|
<div class="o-table-style-editor-panel">
|
|
651
686
|
<Section title.translate="Style name">
|
|
652
|
-
<
|
|
687
|
+
<TextInput
|
|
688
|
+
value="this.state.styleName"
|
|
689
|
+
onChange="(value) => this.state.styleName = value"
|
|
690
|
+
alwaysShowBorder="true"
|
|
691
|
+
/>
|
|
653
692
|
</Section>
|
|
654
693
|
<Section class="'pt-1'" title.translate="Style color">
|
|
655
694
|
<RoundColorPicker
|
|
@@ -810,22 +849,22 @@
|
|
|
810
849
|
<Select
|
|
811
850
|
class="'mb-3'"
|
|
812
851
|
values="this.separators"
|
|
813
|
-
selectedValue="this.
|
|
852
|
+
selectedValue="this.store.separatorValue"
|
|
814
853
|
onChange.bind="this.onSeparatorChange"
|
|
815
854
|
/>
|
|
816
855
|
|
|
817
856
|
<input
|
|
818
857
|
class="o-input mb-3"
|
|
819
858
|
type="text"
|
|
820
|
-
t-if="this.
|
|
821
|
-
t-att-value="this.
|
|
859
|
+
t-if="this.store.separatorValue === 'custom'"
|
|
860
|
+
t-att-value="this.store.customSeparator"
|
|
822
861
|
t-on-input="this.updateCustomSeparator"
|
|
823
862
|
placeholder="Add any characters or symbol"
|
|
824
863
|
/>
|
|
825
864
|
|
|
826
865
|
<t t-set="addColumnsLabel">Add new columns to avoid overwriting cells</t>
|
|
827
866
|
<Checkbox
|
|
828
|
-
value="this.
|
|
867
|
+
value="this.store.addNewColumns"
|
|
829
868
|
label="addColumnsLabel"
|
|
830
869
|
onChange.bind="this.updateAddNewColumnsCheckbox"
|
|
831
870
|
/>
|
|
@@ -870,14 +909,14 @@
|
|
|
870
909
|
t-if="this.props.onToggleCollapsePanel"
|
|
871
910
|
class="o-collapse-panel o-sidePanelAction rounded"
|
|
872
911
|
t-on-click="this.props.onToggleCollapsePanel">
|
|
873
|
-
<i class="
|
|
912
|
+
<i class="oi" data-icon="keyboard_double_arrow_right"/>
|
|
874
913
|
</div>
|
|
875
914
|
<div class="o-sidePanelTitle o-fw-bold ms-2" t-out="this.getTitle()"/>
|
|
876
915
|
<div
|
|
877
916
|
t-if="this.props.isPinned"
|
|
878
917
|
class="o-pin-panel o-sidePanelAction ms-auto rounded active"
|
|
879
918
|
t-on-click="this.props.onTogglePinPanel">
|
|
880
|
-
<i class="
|
|
919
|
+
<i class="oi" data-icon="push_pin"/>
|
|
881
920
|
</div>
|
|
882
921
|
<div
|
|
883
922
|
class="o-sidePanelClose o-sidePanelAction rounded"
|
|
@@ -916,13 +955,13 @@
|
|
|
916
955
|
<div
|
|
917
956
|
t-if="this.props.onToggleCollapsePanel"
|
|
918
957
|
class="o-collapse-panel o-sidePanelAction rounded mb-1">
|
|
919
|
-
<i class="
|
|
958
|
+
<i class="oi" data-icon="keyboard_double_arrow_left"/>
|
|
920
959
|
</div>
|
|
921
960
|
<div
|
|
922
961
|
t-if="this.props.isPinned"
|
|
923
962
|
class="o-pin-panel o-sidePanelAction ms-auto rounded active"
|
|
924
963
|
t-on-click="this.props.onTogglePinPanel">
|
|
925
|
-
<i class="
|
|
964
|
+
<i class="oi" data-icon="push_pin"/>
|
|
926
965
|
</div>
|
|
927
966
|
<div
|
|
928
967
|
class="o-sidePanelClose o-sidePanelAction rounded mb-1"
|
|
@@ -979,7 +1018,7 @@
|
|
|
979
1018
|
<t t-set="dataHasHeaderLabel">Data has header row</t>
|
|
980
1019
|
<Checkbox
|
|
981
1020
|
name="'dataHasHeader'"
|
|
982
|
-
value="this.
|
|
1021
|
+
value="this.dataCleanupSore.hasHeader"
|
|
983
1022
|
label="dataHasHeaderLabel"
|
|
984
1023
|
onChange.bind="this.toggleHasHeader"
|
|
985
1024
|
/>
|
|
@@ -994,9 +1033,9 @@
|
|
|
994
1033
|
onChange.bind="this.toggleAllColumns"
|
|
995
1034
|
/>
|
|
996
1035
|
|
|
997
|
-
<t t-foreach="Object.keys(this.
|
|
1036
|
+
<t t-foreach="Object.keys(this.dataCleanupSore.columns)" t-as="colIndex" t-key="colIndex">
|
|
998
1037
|
<Checkbox
|
|
999
|
-
value="this.
|
|
1038
|
+
value="this.dataCleanupSore.columns[colIndex]"
|
|
1000
1039
|
label="this.getColLabel(colIndex)"
|
|
1001
1040
|
onChange="() => this.toggleColumn(colIndex)"
|
|
1002
1041
|
/>
|
|
@@ -1041,17 +1080,17 @@
|
|
|
1041
1080
|
<div class="o-pivot-panel d-flex flex-column h-100">
|
|
1042
1081
|
<div class="o-panel d-flex">
|
|
1043
1082
|
<div
|
|
1044
|
-
class="o-sidePanel-tab o-panel-configuration d-
|
|
1083
|
+
class="o-sidePanel-tab o-panel-configuration d-flex flex-grow-1 justify-content-center"
|
|
1045
1084
|
t-att-class="this.state.panel !== 'configuration' ? 'inactive' : ''"
|
|
1046
1085
|
t-on-click="this.switchPanel.bind(this, 'configuration')">
|
|
1047
|
-
<i class="
|
|
1086
|
+
<i class="oi me-2" data-icon="tune"/>
|
|
1048
1087
|
Configuration
|
|
1049
1088
|
</div>
|
|
1050
1089
|
<div
|
|
1051
|
-
class="o-sidePanel-tab o-panel-design d-
|
|
1090
|
+
class="o-sidePanel-tab o-panel-design d-flex flex-grow-1 justify-content-center"
|
|
1052
1091
|
t-att-class="this.state.panel !== 'design' ? 'inactive' : ''"
|
|
1053
1092
|
t-on-click="this.switchPanel.bind(this, 'design')">
|
|
1054
|
-
<i class="
|
|
1093
|
+
<i class="oi me-2" data-icon="design_services"/>
|
|
1055
1094
|
Design
|
|
1056
1095
|
</div>
|
|
1057
1096
|
</div>
|
|
@@ -1329,7 +1368,8 @@
|
|
|
1329
1368
|
<t t-set="errorMessage" t-value="this.getHugeDimensionErrorMessage(col)"/>
|
|
1330
1369
|
<i
|
|
1331
1370
|
t-if="errorMessage"
|
|
1332
|
-
class="text-warning
|
|
1371
|
+
class="text-warning oi"
|
|
1372
|
+
data-icon="warning"
|
|
1333
1373
|
t-att-title="errorMessage"
|
|
1334
1374
|
/>
|
|
1335
1375
|
</t>
|
|
@@ -1370,7 +1410,8 @@
|
|
|
1370
1410
|
<t t-set="errorMessage" t-value="this.getHugeDimensionErrorMessage(row)"/>
|
|
1371
1411
|
<i
|
|
1372
1412
|
t-if="errorMessage"
|
|
1373
|
-
class="text-warning
|
|
1413
|
+
class="text-warning oi"
|
|
1414
|
+
data-icon="warning"
|
|
1374
1415
|
t-att-title="errorMessage"
|
|
1375
1416
|
/>
|
|
1376
1417
|
</t>
|
|
@@ -1461,19 +1502,20 @@
|
|
|
1461
1502
|
<t t-if="measure.isHidden" t-set="hideTitle">Show</t>
|
|
1462
1503
|
<t t-else="" t-set="hideTitle">Hide</t>
|
|
1463
1504
|
<i
|
|
1464
|
-
t-att-
|
|
1505
|
+
t-att-data-icon="measure.isHidden ? 'visibility_off_f' : 'visibility_f'"
|
|
1465
1506
|
t-att-title="hideTitle"
|
|
1466
|
-
class="o-button-icon pe-1 ps-
|
|
1507
|
+
class="o-button-icon pe-1 ps-1 oi"
|
|
1467
1508
|
t-on-click="this.toggleMeasureVisibility"
|
|
1468
1509
|
/>
|
|
1469
1510
|
<i
|
|
1470
|
-
class="o-button-icon pe-1 ps-
|
|
1511
|
+
class="o-button-icon pe-1 ps-1 oi oi-filled"
|
|
1512
|
+
data-icon="settings_f"
|
|
1471
1513
|
title="Show values as"
|
|
1472
1514
|
t-on-click="this.openShowValuesAs"
|
|
1473
1515
|
/>
|
|
1474
1516
|
</t>
|
|
1475
1517
|
<div t-if="measure.computedBy" class="d-flex flex-row small">
|
|
1476
|
-
<div class="d-flex flex-column py-2 px-2 w-100"
|
|
1518
|
+
<div class="d-flex flex-column py-2 px-2 w-100">
|
|
1477
1519
|
<StandaloneComposer
|
|
1478
1520
|
onConfirm.bind="this.updateMeasureFormula"
|
|
1479
1521
|
composerContent="measure.computedBy.formula"
|
|
@@ -1552,10 +1594,11 @@
|
|
|
1552
1594
|
/>
|
|
1553
1595
|
<span t-else="1" class="o-fw-bold text-truncate" t-out="this.dimensionDisplayName"/>
|
|
1554
1596
|
</div>
|
|
1555
|
-
<div class="d-flex flex-rows"
|
|
1597
|
+
<div class="d-flex flex-rows">
|
|
1556
1598
|
<t t-call-slot="upper-right-icons"/>
|
|
1557
1599
|
<i
|
|
1558
|
-
class="o-button-icon
|
|
1600
|
+
class="o-button-icon oi oi-filled pe-1 ps-1"
|
|
1601
|
+
data-icon="delete_f"
|
|
1559
1602
|
t-if="this.props.onRemoved"
|
|
1560
1603
|
t-on-click="() => this.props.onRemoved(this.props.dimension)"
|
|
1561
1604
|
/>
|
|
@@ -1635,7 +1678,8 @@
|
|
|
1635
1678
|
/>
|
|
1636
1679
|
<div t-if="this.props.isDirty" class="d-flex align-items-center">
|
|
1637
1680
|
<i
|
|
1638
|
-
class="o-button-icon pe-0
|
|
1681
|
+
class="o-button-icon pe-0 oi"
|
|
1682
|
+
data-icon="undo"
|
|
1639
1683
|
title="Discard all changes"
|
|
1640
1684
|
t-on-click="() => this.props.discard()"
|
|
1641
1685
|
/>
|
|
@@ -1661,16 +1705,15 @@
|
|
|
1661
1705
|
t-as="group"
|
|
1662
1706
|
t-key="group_index"
|
|
1663
1707
|
class="o-pivot-custom-group pb-1">
|
|
1664
|
-
<div
|
|
1665
|
-
class="d-flex align-items-center justify-content-between small"
|
|
1666
|
-
t-on-pointerdown.stop="">
|
|
1708
|
+
<div class="d-flex align-items-center justify-content-between small">
|
|
1667
1709
|
<TextInput
|
|
1668
1710
|
value="group.name"
|
|
1669
1711
|
onChange="(newName) => this.onRenameGroup(group_index, newName)"
|
|
1670
1712
|
selectContentOnFocus="true"
|
|
1671
1713
|
/>
|
|
1672
1714
|
<i
|
|
1673
|
-
class="o-button-icon ps-3
|
|
1715
|
+
class="o-button-icon ps-3 oi oi-filled"
|
|
1716
|
+
data-icon="delete_f"
|
|
1674
1717
|
t-on-click="() => this.onDeleteGroup(group_index)"
|
|
1675
1718
|
/>
|
|
1676
1719
|
</div>
|
|
@@ -1705,8 +1748,10 @@
|
|
|
1705
1748
|
<div class="d-flex flex-column gap-1">
|
|
1706
1749
|
<div class="d-flex justify-content-center mb-3">
|
|
1707
1750
|
<button class="o-button" t-on-click="this.startProfiling">
|
|
1708
|
-
<
|
|
1709
|
-
|
|
1751
|
+
<div class="d-flex justify-content-center align-content-center">
|
|
1752
|
+
<i class="oi me-1" data-icon="refresh"/>
|
|
1753
|
+
Re-analyze
|
|
1754
|
+
</div>
|
|
1710
1755
|
</button>
|
|
1711
1756
|
</div>
|
|
1712
1757
|
<div class="d-flex justify-content-between">
|
|
@@ -2018,7 +2063,8 @@
|
|
|
2018
2063
|
type="text"
|
|
2019
2064
|
class="o-input o-input-without-count o-replace"
|
|
2020
2065
|
t-on-keydown="this.onKeydownReplace"
|
|
2021
|
-
t-
|
|
2066
|
+
t-att-value="this.store.toReplace"
|
|
2067
|
+
t-on-input="this.onReplaceInput"
|
|
2022
2068
|
placeholder="e.g. 'replace me'"
|
|
2023
2069
|
/>
|
|
2024
2070
|
</div>
|
|
@@ -2124,6 +2170,70 @@
|
|
|
2124
2170
|
</div>
|
|
2125
2171
|
</t>
|
|
2126
2172
|
|
|
2173
|
+
<t t-name="o-spreadsheet-DataSourcesCleanup">
|
|
2174
|
+
<div class="o-data-source-cleanup">
|
|
2175
|
+
<Section
|
|
2176
|
+
t-foreach="this.store.unusedDataSourcesCategories"
|
|
2177
|
+
t-as="category"
|
|
2178
|
+
t-key="category.type"
|
|
2179
|
+
title="category.label">
|
|
2180
|
+
<t t-foreach="category.dataSources" t-as="dataSource" t-key="dataSource_index">
|
|
2181
|
+
<Checkbox
|
|
2182
|
+
name="dataSource.id"
|
|
2183
|
+
label="dataSource.label"
|
|
2184
|
+
value="this.isDataSourceChecked(category.type, dataSource.id)"
|
|
2185
|
+
onChange="(checked) => this.onToggleDataSource(category.type, dataSource.id, checked)"
|
|
2186
|
+
className="'mb-2'"
|
|
2187
|
+
/>
|
|
2188
|
+
</t>
|
|
2189
|
+
<div t-if="!category.dataSources.length" class="w-100 d-flex fst-italic text-muted">
|
|
2190
|
+
No unused data source in this category.
|
|
2191
|
+
</div>
|
|
2192
|
+
</Section>
|
|
2193
|
+
<Section t-if="this.dataSourcesToDelete.length" class="'pt-0'">
|
|
2194
|
+
<button class="o-button o-button-danger" t-on-click="this.onRemoveUnusedDataSources">
|
|
2195
|
+
Delete selected items
|
|
2196
|
+
</button>
|
|
2197
|
+
</Section>
|
|
2198
|
+
</div>
|
|
2199
|
+
</t>
|
|
2200
|
+
|
|
2201
|
+
<div t-name="o-spreadsheet-DataAnalysisPanel" class="o-data-analysis-panel">
|
|
2202
|
+
<Section title.translate="Suggested charts">
|
|
2203
|
+
<div t-if="this.store.hasData" class="px-2 pb-2">
|
|
2204
|
+
<div t-if="this.store.chartSuggestions.length" class="o-chart-suggestions-grid">
|
|
2205
|
+
<t t-foreach="this.store.chartSuggestions" t-as="suggestion" t-key="suggestion_index">
|
|
2206
|
+
<ChartSuggestionPreview
|
|
2207
|
+
definition="suggestion.definition"
|
|
2208
|
+
description="suggestion.description"
|
|
2209
|
+
onPointerDown="(ev) => this.onStartChartSuggestionDrag(suggestion.definition, ev)"
|
|
2210
|
+
/>
|
|
2211
|
+
</t>
|
|
2212
|
+
</div>
|
|
2213
|
+
<div t-else="" class="o-data-analysis-empty text-muted p-3 text-center">
|
|
2214
|
+
No chart suggestions available for the selected data. Note that the order of selected
|
|
2215
|
+
columns can impact chart suggestions.
|
|
2216
|
+
</div>
|
|
2217
|
+
</div>
|
|
2218
|
+
<div t-else="" class="o-data-analysis-empty text-muted p-3 text-center">
|
|
2219
|
+
Select cells containing data to see chart suggestions. Note that the order of selected
|
|
2220
|
+
columns can impact chart suggestions.
|
|
2221
|
+
</div>
|
|
2222
|
+
</Section>
|
|
2223
|
+
</div>
|
|
2224
|
+
|
|
2225
|
+
<t t-name="o-spreadsheet-ChartSuggestionPreview">
|
|
2226
|
+
<div
|
|
2227
|
+
class="o-suggestion-canvas-wrap os-theme-dependant overflow-hidden position-relative border rounded"
|
|
2228
|
+
t-on-pointerdown="(ev) => this.props.onPointerDown(ev)"
|
|
2229
|
+
t-att-title="this.props.description">
|
|
2230
|
+
<canvas class="w-100 h-100" t-ref="this.chartCanvasRef"/>
|
|
2231
|
+
<div class="o-suggestion-insert-icon d-flex align-items-center justify-content-center">
|
|
2232
|
+
<t t-call="o-spreadsheet-Icon.INSERT_CHART_SUGGESTION"/>
|
|
2233
|
+
</div>
|
|
2234
|
+
</div>
|
|
2235
|
+
</t>
|
|
2236
|
+
|
|
2127
2237
|
<t t-name="o-spreadsheet-ValueInRangeCriterionForm">
|
|
2128
2238
|
<SelectionInput
|
|
2129
2239
|
ranges="[this.props.criterion.values[0] || '']"
|
|
@@ -2312,7 +2422,8 @@
|
|
|
2312
2422
|
<t t-name="o-spreadsheet-CalendarButton">
|
|
2313
2423
|
<div class="o-calendar-button ms-1">
|
|
2314
2424
|
<button type="button" class="o-button btn" t-on-click="this.openCalendar">
|
|
2315
|
-
|
|
2425
|
+
<!-- TODORAR see how we can make filled versions -->
|
|
2426
|
+
<i class="oi oi-filled" data-icon="calendar_today"/>
|
|
2316
2427
|
</button>
|
|
2317
2428
|
<input
|
|
2318
2429
|
type="date"
|
|
@@ -2826,17 +2937,17 @@
|
|
|
2826
2937
|
|
|
2827
2938
|
<t t-name="o-spreadsheet-SidePanelCollapsible">
|
|
2828
2939
|
<div class="" t-att-class="this.props.class">
|
|
2829
|
-
<div
|
|
2830
|
-
class="o_side_panel_collapsible_title o-fw-bold d-flex align-items-center"
|
|
2831
|
-
t-on-click="() => this.toggle()">
|
|
2940
|
+
<div class="o_side_panel_collapsible_title o-fw-bold d-flex align-items-center">
|
|
2832
2941
|
<div
|
|
2833
2942
|
class="collapsor w-100 d-flex align-items-center ps-1"
|
|
2834
|
-
t-att-class="this.state.isCollapsed ? 'collapsed' : ''"
|
|
2943
|
+
t-att-class="this.state.isCollapsed ? 'collapsed' : ''"
|
|
2944
|
+
t-on-click="() => this.toggle()">
|
|
2835
2945
|
<span class="collapsor-arrow">
|
|
2836
2946
|
<t t-call="o-spreadsheet-Icon.ANGLE_DOWN"/>
|
|
2837
2947
|
</span>
|
|
2838
2948
|
<div class="ps-2" t-out="this.props.title"/>
|
|
2839
2949
|
</div>
|
|
2950
|
+
<t t-call-slot="titleButton"/>
|
|
2840
2951
|
</div>
|
|
2841
2952
|
<Collapse isCollapsed="this.state.isCollapsed">
|
|
2842
2953
|
<div class="pt-2">
|
|
@@ -2854,7 +2965,8 @@
|
|
|
2854
2965
|
|
|
2855
2966
|
<t t-name="o-spreadsheet-CogWheelMenu">
|
|
2856
2967
|
<span
|
|
2857
|
-
class="
|
|
2968
|
+
class="oi oi-filled os-cog-wheel-menu-icon o-button-icon"
|
|
2969
|
+
data-icon="settings_f"
|
|
2858
2970
|
t-on-click="this.toggleMenu"
|
|
2859
2971
|
t-ref="this.buttonRef"
|
|
2860
2972
|
/>
|
|
@@ -3321,19 +3433,21 @@
|
|
|
3321
3433
|
</Section>
|
|
3322
3434
|
</t>
|
|
3323
3435
|
</GeneralDesignEditor>
|
|
3324
|
-
<
|
|
3325
|
-
title="this.props.definition.keyDescr?.text ?? ''"
|
|
3326
|
-
updateTitle="(text) => this.setKeyText(text)"
|
|
3327
|
-
name.translate="Key Value Style"
|
|
3328
|
-
placeholder.translate="Add a key value description"
|
|
3329
|
-
updateStyle.bind="this.updateKeyStyle"
|
|
3330
|
-
style="this.keyStyle"
|
|
3331
|
-
/>
|
|
3332
|
-
<SidePanelCollapsible isInitiallyCollapsed="false" title.translate="Baseline">
|
|
3436
|
+
<SidePanelCollapsible isInitiallyCollapsed="false" title.translate="Scorecard Design">
|
|
3333
3437
|
<t t-set-slot="content">
|
|
3334
3438
|
<ChartTitle
|
|
3439
|
+
class="'pt-0'"
|
|
3440
|
+
title="this.props.definition.keyDescr?.text ?? ''"
|
|
3441
|
+
updateTitle.bind="this.setKeyText"
|
|
3442
|
+
name.translate="Key Value Style"
|
|
3443
|
+
placeholder.translate="Add a key value description"
|
|
3444
|
+
updateStyle.bind="this.updateKeyStyle"
|
|
3445
|
+
style="this.keyStyle"
|
|
3446
|
+
/>
|
|
3447
|
+
<ChartTitle
|
|
3448
|
+
class="'pt-0'"
|
|
3335
3449
|
title="this.props.definition.baselineDescr?.text ?? ''"
|
|
3336
|
-
updateTitle="
|
|
3450
|
+
updateTitle.bind="this.setBaselineText"
|
|
3337
3451
|
name.translate="Baseline Style"
|
|
3338
3452
|
placeholder.translate="Add a baseline description"
|
|
3339
3453
|
updateStyle.bind="this.updateBaselineStyle"
|
|
@@ -3365,23 +3479,22 @@
|
|
|
3365
3479
|
<t t-name="o-spreadsheet-ScorecardChartConfigPanel">
|
|
3366
3480
|
<div>
|
|
3367
3481
|
<Section class="'o-data-series'" title.translate="Key value">
|
|
3368
|
-
<
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
onSelectionConfirmed="() => this.updateKeyValueRange()"
|
|
3482
|
+
<StandaloneComposer
|
|
3483
|
+
placeholder.translate="Formula"
|
|
3484
|
+
title.translate=""
|
|
3485
|
+
composerContent="this.getKeyValue()"
|
|
3486
|
+
defaultRangeSheetId="this.env.model.getters.getActiveSheetId()"
|
|
3487
|
+
onConfirm.bind="this.onConfirmKeyValue"
|
|
3375
3488
|
/>
|
|
3376
3489
|
</Section>
|
|
3377
3490
|
<Section class="'o-data-labels'" title.translate="Baseline configuration">
|
|
3378
3491
|
<div class="o-section-subtitle">Value</div>
|
|
3379
|
-
<
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3492
|
+
<StandaloneComposer
|
|
3493
|
+
placeholder.translate="Formula"
|
|
3494
|
+
title.translate=""
|
|
3495
|
+
composerContent="this.getBaseline()"
|
|
3496
|
+
defaultRangeSheetId="this.env.model.getters.getActiveSheetId()"
|
|
3497
|
+
onConfirm.bind="this.onConfirmBaseline"
|
|
3385
3498
|
/>
|
|
3386
3499
|
<div class="o-section-subtitle">Format</div>
|
|
3387
3500
|
<Select
|
|
@@ -3473,17 +3586,17 @@
|
|
|
3473
3586
|
<div class="o-chart d-flex flex-column h-100" t-if="this.chartId">
|
|
3474
3587
|
<div class="o-panel d-flex">
|
|
3475
3588
|
<div
|
|
3476
|
-
class="o-sidePanel-tab o-panel-configuration d-
|
|
3589
|
+
class="o-sidePanel-tab o-panel-configuration d-flex flex-grow-1 justify-content-center"
|
|
3477
3590
|
t-att-class="this.store.panel !== 'configuration' ? 'inactive' : ''"
|
|
3478
3591
|
t-on-click="this.switchPanel.bind(this, 'configuration')">
|
|
3479
|
-
<i class="
|
|
3592
|
+
<i class="oi me-2" data-icon="tune"/>
|
|
3480
3593
|
Configuration
|
|
3481
3594
|
</div>
|
|
3482
3595
|
<div
|
|
3483
|
-
class="o-sidePanel-tab o-panel-design d-
|
|
3596
|
+
class="o-sidePanel-tab o-panel-design d-flex flex-grow-1 justify-content-center"
|
|
3484
3597
|
t-att-class="this.store.panel !== 'design' ? 'inactive' : ''"
|
|
3485
3598
|
t-on-click="this.switchPanel.bind(this, 'design')">
|
|
3486
|
-
<i class="
|
|
3599
|
+
<i class="oi me-2" data-icon="design_services"/>
|
|
3487
3600
|
Design
|
|
3488
3601
|
</div>
|
|
3489
3602
|
</div>
|
|
@@ -3593,7 +3706,7 @@
|
|
|
3593
3706
|
updateChart="this.props.updateChart"
|
|
3594
3707
|
canUpdateChart="this.props.canUpdateChart"
|
|
3595
3708
|
onErrorMessagesChanged.bind="this.onErrorMessagesChanged"
|
|
3596
|
-
getLabelRangeOptions
|
|
3709
|
+
getLabelRangeOptions="() => []"
|
|
3597
3710
|
dataSeriesTitle.translate="Hierarchy"
|
|
3598
3711
|
labelRangeTitle.translate="Values"
|
|
3599
3712
|
/>
|
|
@@ -3921,26 +4034,12 @@
|
|
|
3921
4034
|
<ChartAnnotation t-props="this.props"/>
|
|
3922
4035
|
</t>
|
|
3923
4036
|
|
|
3924
|
-
<t t-name="o-spreadsheet-
|
|
3925
|
-
<
|
|
3926
|
-
<Section title.translate="Chart type">
|
|
3927
|
-
<div class="position-relative">
|
|
3928
|
-
<div
|
|
3929
|
-
class="o-select o-input o-type-selector"
|
|
3930
|
-
t-ref="this.selectRef"
|
|
3931
|
-
t-on-pointerdown.prevent="this.onPointerDown">
|
|
3932
|
-
<t t-out="selectedChartProperties.displayName"/>
|
|
3933
|
-
</div>
|
|
3934
|
-
<div class="o-type-selector-preview position-absolute">
|
|
3935
|
-
<t t-call="{{selectedChartProperties.preview}}"/>
|
|
3936
|
-
</div>
|
|
3937
|
-
</div>
|
|
3938
|
-
</Section>
|
|
3939
|
-
<Popover t-if="this.state.popoverProps" t-props="this.state.popoverProps">
|
|
4037
|
+
<t t-name="o-spreadsheet-ChartTypePickerPopover">
|
|
4038
|
+
<Popover t-props="this.props.popoverProps">
|
|
3940
4039
|
<div
|
|
3941
4040
|
t-ref="this.popoverRef"
|
|
3942
4041
|
class="o-chart-select-popover px-3 pb-4"
|
|
3943
|
-
t-att-style="this.
|
|
4042
|
+
t-att-style="this.popoverStyle">
|
|
3944
4043
|
<t t-foreach="this.categories" t-as="category" t-key="category">
|
|
3945
4044
|
<t t-if="this.chartTypeByCategories[category]">
|
|
3946
4045
|
<h5 class="my-3" t-out="category_value"/>
|
|
@@ -3954,7 +4053,7 @@
|
|
|
3954
4053
|
t-att-title="properties.displayName"
|
|
3955
4054
|
t-on-click="() => this.onTypeChange(properties.chartSubtype)"
|
|
3956
4055
|
t-att-data-id="properties.chartSubtype"
|
|
3957
|
-
t-att-class="{'selected': properties ===
|
|
4056
|
+
t-att-class="{'selected': properties.chartSubtype === this.props.selectedChartSubType}">
|
|
3958
4057
|
<t t-call="{{properties.preview}}"/>
|
|
3959
4058
|
</div>
|
|
3960
4059
|
</t>
|
|
@@ -3965,6 +4064,32 @@
|
|
|
3965
4064
|
</Popover>
|
|
3966
4065
|
</t>
|
|
3967
4066
|
|
|
4067
|
+
<t t-name="o-spreadsheet-ChartTypePicker">
|
|
4068
|
+
<t t-set="selectedChartProperties" t-value="this.getSelectedChartSubtypeProperties()"/>
|
|
4069
|
+
<Section title.translate="Chart type">
|
|
4070
|
+
<div class="position-relative">
|
|
4071
|
+
<div
|
|
4072
|
+
class="o-select o-input o-type-selector"
|
|
4073
|
+
t-ref="this.selectRef"
|
|
4074
|
+
t-on-pointerdown.prevent="this.onPointerDown">
|
|
4075
|
+
<t t-out="selectedChartProperties.displayName"/>
|
|
4076
|
+
</div>
|
|
4077
|
+
<div class="o-type-selector-preview position-absolute">
|
|
4078
|
+
<t t-call="{{selectedChartProperties.preview}}"/>
|
|
4079
|
+
</div>
|
|
4080
|
+
</div>
|
|
4081
|
+
</Section>
|
|
4082
|
+
<ChartTypePickerPopover
|
|
4083
|
+
t-if="this.state.popoverProps"
|
|
4084
|
+
popoverProps="this.state.popoverProps"
|
|
4085
|
+
onClose.bind="this.closePopover"
|
|
4086
|
+
onSelectSubType.bind="this.onTypeChange"
|
|
4087
|
+
parentRef="this.selectRef"
|
|
4088
|
+
supportedTypes="this.getSupportedChartTypes()"
|
|
4089
|
+
selectedChartSubType="selectedChartProperties.chartSubtype"
|
|
4090
|
+
/>
|
|
4091
|
+
</t>
|
|
4092
|
+
|
|
3968
4093
|
<t t-name="o-spreadsheet-ChartPreview.LINE_CHART">
|
|
3969
4094
|
<svg viewBox="0 0 48 48" class="o-chart-preview" xmlns="http://www.w3.org/2000/svg">
|
|
3970
4095
|
<path fill="var(--os-gray-600)" d="M2,2 v44 h1 v-44 M3,45 h42 v1 h-42"/>
|
|
@@ -4453,7 +4578,7 @@
|
|
|
4453
4578
|
updateChart="this.props.updateChart"
|
|
4454
4579
|
canUpdateChart="this.props.canUpdateChart"
|
|
4455
4580
|
onErrorMessagesChanged.bind="this.onErrorMessagesChanged"
|
|
4456
|
-
getLabelRangeOptions
|
|
4581
|
+
getLabelRangeOptions="() => []"
|
|
4457
4582
|
labelRangeTitle.translate="Date range"
|
|
4458
4583
|
/>
|
|
4459
4584
|
|
|
@@ -4462,7 +4587,7 @@
|
|
|
4462
4587
|
<span class="w-100">Horizontal axis</span>
|
|
4463
4588
|
<Select
|
|
4464
4589
|
selectedValue="this.getGroupByType('horizontal') || ''"
|
|
4465
|
-
values="this.
|
|
4590
|
+
values="this.groupByChoices"
|
|
4466
4591
|
class="'o-horizontal-group-by'"
|
|
4467
4592
|
onChange="(value) => this.updateGroupBy('horizontal', value)"
|
|
4468
4593
|
/>
|
|
@@ -4471,7 +4596,7 @@
|
|
|
4471
4596
|
<span class="w-100">Vertical axis</span>
|
|
4472
4597
|
<Select
|
|
4473
4598
|
selectedValue="this.getGroupByType('vertical') || ''"
|
|
4474
|
-
values="this.
|
|
4599
|
+
values="this.groupByChoices"
|
|
4475
4600
|
class="'o-vertical-group-by'"
|
|
4476
4601
|
onChange="(value) => this.updateGroupBy('vertical', value)"
|
|
4477
4602
|
/>
|
|
@@ -4943,7 +5068,7 @@
|
|
|
4943
5068
|
</t>
|
|
4944
5069
|
|
|
4945
5070
|
<t t-name="o-spreadsheet.ChartTitle">
|
|
4946
|
-
<Section class="'o-chart-title'" title="this.props.name">
|
|
5071
|
+
<Section class="'o-chart-title ' + (this.props.class ?? '')" title="this.props.name">
|
|
4947
5072
|
<TextInput
|
|
4948
5073
|
value="this.props.title"
|
|
4949
5074
|
onChange.bind="this.updateTitle"
|
|
@@ -5248,7 +5373,7 @@
|
|
|
5248
5373
|
<div class="o-carousel-preview-list overflow-auto bg-white" t-ref="this.previewListRef">
|
|
5249
5374
|
<t t-foreach="this.carouselItems" t-as="item" t-key="this.getItemId(item)">
|
|
5250
5375
|
<div
|
|
5251
|
-
class="o-carousel-preview border-bottom pe-2 position-relative w-100 d-flex
|
|
5376
|
+
class="o-carousel-preview border-bottom pe-2 position-relative w-100 d-flex flex-column"
|
|
5252
5377
|
t-att-class="{
|
|
5253
5378
|
'o-dragging border-top': this.dragAndDrop.draggedItemId === this.getItemId(item),
|
|
5254
5379
|
'o-selected': this.isCarouselItemActive(item)
|
|
@@ -5259,38 +5384,61 @@
|
|
|
5259
5384
|
t-on-pointerdown.stop.prevent="(ev) => this.onDragHandleMouseDown(item, ev)">
|
|
5260
5385
|
<t t-call="o-spreadsheet-Icon.THIN_DRAG_HANDLE"/>
|
|
5261
5386
|
</div>
|
|
5262
|
-
<div
|
|
5263
|
-
|
|
5264
|
-
|
|
5387
|
+
<div class="d-flex o-preview-content align-items-center justify-content-center">
|
|
5388
|
+
<div
|
|
5389
|
+
class="o-carousel-preview-icon ms-3 flex-shrink-0 d-flex align-items-center justify-content-center">
|
|
5390
|
+
<t t-call="{{this.getItemPreview(item)}}"/>
|
|
5391
|
+
</div>
|
|
5392
|
+
<div class="o-carousel-preview-title text-truncate ms-2">
|
|
5393
|
+
<TextInput
|
|
5394
|
+
value="this.getItemTitle(item)"
|
|
5395
|
+
onChange="(newName) => this.renameCarouselItem(item, newName)"
|
|
5396
|
+
selectContentOnFocus="true"
|
|
5397
|
+
/>
|
|
5398
|
+
</div>
|
|
5399
|
+
<div class="ms-auto"/>
|
|
5400
|
+
<div class="flex-shrink-0 d-flex me-1">
|
|
5401
|
+
<CogWheelMenu items="this.getCogWheelMenuItems(item)"/>
|
|
5402
|
+
</div>
|
|
5265
5403
|
</div>
|
|
5266
|
-
<div class="
|
|
5267
|
-
<
|
|
5268
|
-
|
|
5269
|
-
|
|
5270
|
-
|
|
5404
|
+
<div class="ms-4 mb-2" t-if="item.type === 'carouselDataView'">
|
|
5405
|
+
<SelectionInput
|
|
5406
|
+
ranges="[this.getItemRangeString(item)]"
|
|
5407
|
+
hasSingleRange="true"
|
|
5408
|
+
required="true"
|
|
5409
|
+
onSelectionChanged.bind="this.onSelectionInputChanged"
|
|
5410
|
+
onSelectionConfirmed.bind="this.onSelectionInputConfirmed"
|
|
5271
5411
|
/>
|
|
5272
5412
|
</div>
|
|
5273
|
-
<div class="ms-auto"/>
|
|
5274
|
-
<div class="flex-shrink-0 d-flex me-1">
|
|
5275
|
-
<CogWheelMenu items="this.getCogWheelMenuItems(item)"/>
|
|
5276
|
-
</div>
|
|
5277
5413
|
</div>
|
|
5278
5414
|
</t>
|
|
5279
5415
|
</div>
|
|
5280
|
-
<
|
|
5281
|
-
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5416
|
+
<Section class="'pt-0'">
|
|
5417
|
+
<div>
|
|
5418
|
+
<div
|
|
5419
|
+
class="o-button-link o-carousel-add-chart float-end d-flex align-items-center my-4"
|
|
5420
|
+
t-on-click="this.addNewChartToCarousel"
|
|
5421
|
+
t-ref="this.addChartButton"
|
|
5422
|
+
t-att-title="this.carouselAddChartInfoMessage">
|
|
5423
|
+
+ Add chart
|
|
5424
|
+
</div>
|
|
5425
|
+
<div
|
|
5426
|
+
t-if="!this.hasDataView"
|
|
5427
|
+
class="o-button-link o-carousel-add-data-view float-end my-4 me-4"
|
|
5428
|
+
t-on-click="this.addDataViewToCarousel">
|
|
5429
|
+
+ Add data view
|
|
5430
|
+
</div>
|
|
5431
|
+
</div>
|
|
5432
|
+
</Section>
|
|
5293
5433
|
</div>
|
|
5434
|
+
<ChartTypePickerPopover
|
|
5435
|
+
t-if="this.state.popoverProps"
|
|
5436
|
+
popoverProps="this.state.popoverProps"
|
|
5437
|
+
onClose.bind="this.closePopover"
|
|
5438
|
+
onSelectSubType.bind="this.onSelectChartType"
|
|
5439
|
+
parentRef="this.addChartButton"
|
|
5440
|
+
supportedTypes="this.supportedChartTypes"
|
|
5441
|
+
/>
|
|
5294
5442
|
</t>
|
|
5295
5443
|
|
|
5296
5444
|
<t t-name="o-spreadsheet-SelectionInput">
|
|
@@ -5439,7 +5587,7 @@
|
|
|
5439
5587
|
</t>
|
|
5440
5588
|
|
|
5441
5589
|
<t t-name="o_spreadsheet.PivotHTMLRenderer">
|
|
5442
|
-
<div class="
|
|
5590
|
+
<div class="w-100">
|
|
5443
5591
|
<Checkbox
|
|
5444
5592
|
name="'missing_values'"
|
|
5445
5593
|
label.translate="Display missing cells only"
|
|
@@ -5663,11 +5811,9 @@
|
|
|
5663
5811
|
class="o-menu-item-description ms-auto text-truncate"
|
|
5664
5812
|
t-out="description"
|
|
5665
5813
|
/>
|
|
5666
|
-
<t t-set="secondaryIcon" t-value="menuItem.secondaryIcon(this.env)"/>
|
|
5667
5814
|
<div
|
|
5668
|
-
t-if="isMenuRoot
|
|
5815
|
+
t-if="isMenuRoot"
|
|
5669
5816
|
class="o-menu-item-root ms-auto align-items-center d-flex gap-1">
|
|
5670
|
-
<t t-if="secondaryIcon" t-call="{{secondaryIcon}}"/>
|
|
5671
5817
|
<t t-if="isMenuRoot" t-call="o-spreadsheet-Icon.CARET_RIGHT"/>
|
|
5672
5818
|
</div>
|
|
5673
5819
|
</div>
|
|
@@ -5691,7 +5837,8 @@
|
|
|
5691
5837
|
title="Link label"
|
|
5692
5838
|
placeholder="e.g. 'Link label'"
|
|
5693
5839
|
class="o-input"
|
|
5694
|
-
t-
|
|
5840
|
+
t-att-value="this.state.label"
|
|
5841
|
+
t-on-input="(ev) => this.state.label = ev.target.value"
|
|
5695
5842
|
/>
|
|
5696
5843
|
</div>
|
|
5697
5844
|
|
|
@@ -5708,8 +5855,8 @@
|
|
|
5708
5855
|
placeholder="e.g. 'http://www.odoo.com'"
|
|
5709
5856
|
title="Link URL"
|
|
5710
5857
|
t-ref="this.urlInput"
|
|
5711
|
-
t-
|
|
5712
|
-
t-on-input="this.
|
|
5858
|
+
t-att-value="this.state.url"
|
|
5859
|
+
t-on-input="this.onLinkUrlInput"
|
|
5713
5860
|
/>
|
|
5714
5861
|
</t>
|
|
5715
5862
|
<t t-else="">
|
|
@@ -5726,7 +5873,7 @@
|
|
|
5726
5873
|
t-on-click="this.removeLink"
|
|
5727
5874
|
class="o-remove-url o-button-icon"
|
|
5728
5875
|
t-translation="off">
|
|
5729
|
-
<i class="
|
|
5876
|
+
<i class="oi" data-icon="close"/>
|
|
5730
5877
|
</button>
|
|
5731
5878
|
</div>
|
|
5732
5879
|
</div>
|
|
@@ -5903,12 +6050,12 @@
|
|
|
5903
6050
|
</t>
|
|
5904
6051
|
<t t-name="o-spreadsheet-Icon.CLIPBOARD">
|
|
5905
6052
|
<div class="o-icon">
|
|
5906
|
-
<i class="
|
|
6053
|
+
<i class="oi" data-icon="assignment"/>
|
|
5907
6054
|
</div>
|
|
5908
6055
|
</t>
|
|
5909
6056
|
<t t-name="o-spreadsheet-Icon.COPY">
|
|
5910
6057
|
<div class="o-icon">
|
|
5911
|
-
<i class="
|
|
6058
|
+
<i class="oi" data-icon="content_copy"/>
|
|
5912
6059
|
</div>
|
|
5913
6060
|
</t>
|
|
5914
6061
|
<t t-name="o-spreadsheet-Icon.CUT">
|
|
@@ -5966,7 +6113,7 @@
|
|
|
5966
6113
|
</t>
|
|
5967
6114
|
<t t-name="o-spreadsheet-Icon.SHOW">
|
|
5968
6115
|
<div class="o-icon">
|
|
5969
|
-
<i class="
|
|
6116
|
+
<i class="oi" data-icon="visibility"/>
|
|
5970
6117
|
</div>
|
|
5971
6118
|
</t>
|
|
5972
6119
|
<t t-name="o-spreadsheet-Icon.FORMULA">
|
|
@@ -6099,22 +6246,22 @@
|
|
|
6099
6246
|
</t>
|
|
6100
6247
|
<t t-name="o-spreadsheet-Icon.INSERT_CHART">
|
|
6101
6248
|
<div class="o-icon">
|
|
6102
|
-
<i class="
|
|
6249
|
+
<i class="oi" data-icon="bar_chart"/>
|
|
6103
6250
|
</div>
|
|
6104
6251
|
</t>
|
|
6105
6252
|
<t t-name="o-spreadsheet-Icon.INSERT_IMAGE">
|
|
6106
6253
|
<div class="o-icon">
|
|
6107
|
-
<i class="
|
|
6254
|
+
<i class="oi" data-icon="image"/>
|
|
6108
6255
|
</div>
|
|
6109
6256
|
</t>
|
|
6110
6257
|
<t t-name="o-spreadsheet-Icon.INSERT_LINK">
|
|
6111
6258
|
<div class="o-icon">
|
|
6112
|
-
<i class="
|
|
6259
|
+
<i class="oi" data-icon="link"/>
|
|
6113
6260
|
</div>
|
|
6114
6261
|
</t>
|
|
6115
6262
|
<t t-name="o-spreadsheet-Icon.INSERT_CHECKBOX">
|
|
6116
6263
|
<div class="o-icon">
|
|
6117
|
-
<i class="
|
|
6264
|
+
<i class="oi" data-icon="check_box"/>
|
|
6118
6265
|
</div>
|
|
6119
6266
|
</t>
|
|
6120
6267
|
<t t-name="o-spreadsheet-Icon.INSERT_DROPDOWN">
|
|
@@ -6222,7 +6369,7 @@
|
|
|
6222
6369
|
</t>
|
|
6223
6370
|
<t t-name="o-spreadsheet-Icon.IRREGULARITY_MAP">
|
|
6224
6371
|
<div class="o-icon">
|
|
6225
|
-
<i class="
|
|
6372
|
+
<i class="oi oi-rotate-270" data-icon="format_align_center"/>
|
|
6226
6373
|
</div>
|
|
6227
6374
|
</t>
|
|
6228
6375
|
<t t-name="o-spreadsheet-Icon.ALIGN_RIGHT">
|
|
@@ -6405,67 +6552,67 @@
|
|
|
6405
6552
|
|
|
6406
6553
|
<t t-name="o-spreadsheet-Icon.FULLSCREEN_OUT">
|
|
6407
6554
|
<div class="o-icon">
|
|
6408
|
-
<i class="
|
|
6555
|
+
<i class="oi" data-icon="close_fullscreen"/>
|
|
6409
6556
|
</div>
|
|
6410
6557
|
</t>
|
|
6411
6558
|
<t t-name="o-spreadsheet-Icon.FULLSCREEN_IN">
|
|
6412
6559
|
<div class="o-icon">
|
|
6413
|
-
<i class="
|
|
6560
|
+
<i class="oi" data-icon="expand_content"/>
|
|
6414
6561
|
</div>
|
|
6415
6562
|
</t>
|
|
6416
6563
|
<t t-name="o-spreadsheet-Icon.EDIT">
|
|
6417
6564
|
<div class="o-icon">
|
|
6418
|
-
<i class="
|
|
6565
|
+
<i class="oi" data-icon="edit_square"/>
|
|
6419
6566
|
</div>
|
|
6420
6567
|
</t>
|
|
6421
6568
|
<t t-name="o-spreadsheet-Icon.EXTERNAL">
|
|
6422
6569
|
<div class="o-icon">
|
|
6423
|
-
<i class="
|
|
6570
|
+
<i class="oi" data-icon="open_in_new"/>
|
|
6424
6571
|
</div>
|
|
6425
6572
|
</t>
|
|
6426
6573
|
<t t-name="o-spreadsheet-Icon.UNLINK">
|
|
6427
6574
|
<div class="o-icon">
|
|
6428
|
-
<i class="
|
|
6575
|
+
<i class="oi" data-icon="link_off"/>
|
|
6429
6576
|
</div>
|
|
6430
6577
|
</t>
|
|
6431
6578
|
<t t-name="o-spreadsheet-Icon.CARET_UP">
|
|
6432
|
-
<div class="o-icon
|
|
6433
|
-
<i class="
|
|
6579
|
+
<div class="o-icon">
|
|
6580
|
+
<i class="oi" data-icon="arrow_drop_up"/>
|
|
6434
6581
|
</div>
|
|
6435
6582
|
</t>
|
|
6436
6583
|
<t t-name="o-spreadsheet-Icon.CARET_DOWN">
|
|
6437
|
-
<div class="o-icon
|
|
6438
|
-
<i class="
|
|
6584
|
+
<div class="o-icon">
|
|
6585
|
+
<i class="oi" data-icon="arrow_drop_down"/>
|
|
6439
6586
|
</div>
|
|
6440
6587
|
</t>
|
|
6441
6588
|
<t t-name="o-spreadsheet-Icon.CARET_RIGHT">
|
|
6442
|
-
<div class="o-icon
|
|
6443
|
-
<i class="
|
|
6589
|
+
<div class="o-icon">
|
|
6590
|
+
<i class="oi" data-icon="arrow_right"/>
|
|
6444
6591
|
</div>
|
|
6445
6592
|
</t>
|
|
6446
6593
|
<t t-name="o-spreadsheet-Icon.CARET_LEFT">
|
|
6447
|
-
<div class="o-icon
|
|
6448
|
-
<i class="
|
|
6594
|
+
<div class="o-icon">
|
|
6595
|
+
<i class="oi" data-icon="arrow_left"/>
|
|
6449
6596
|
</div>
|
|
6450
6597
|
</t>
|
|
6451
6598
|
<t t-name="o-spreadsheet-Icon.TRASH">
|
|
6452
6599
|
<div class="o-icon">
|
|
6453
|
-
<i class="
|
|
6600
|
+
<i class="oi" data-icon="delete"/>
|
|
6454
6601
|
</div>
|
|
6455
6602
|
</t>
|
|
6456
6603
|
<t t-name="o-spreadsheet-Icon.TRASH_FILLED">
|
|
6457
6604
|
<div class="o-icon">
|
|
6458
|
-
<i class="
|
|
6605
|
+
<i class="oi oi-filled" data-icon="delete_f"/>
|
|
6459
6606
|
</div>
|
|
6460
6607
|
</t>
|
|
6461
6608
|
<t t-name="o-spreadsheet-Icon.REFRESH">
|
|
6462
6609
|
<div class="o-icon">
|
|
6463
|
-
<i class="
|
|
6610
|
+
<i class="oi" data-icon="refresh"/>
|
|
6464
6611
|
</div>
|
|
6465
6612
|
</t>
|
|
6466
6613
|
<t t-name="o-spreadsheet-Icon.EXCHANGE">
|
|
6467
6614
|
<div class="o-icon">
|
|
6468
|
-
<i class="
|
|
6615
|
+
<i class="oi" data-icon="swap_horiz"/>
|
|
6469
6616
|
</div>
|
|
6470
6617
|
</t>
|
|
6471
6618
|
<t t-name="o-spreadsheet-Icon.ARROW_DOWN">
|
|
@@ -6568,17 +6715,17 @@
|
|
|
6568
6715
|
</t>
|
|
6569
6716
|
<t t-name="o-spreadsheet-Icon.SORT_ASCENDING">
|
|
6570
6717
|
<div class="o-icon">
|
|
6571
|
-
<i class="
|
|
6718
|
+
<i class="oi" data-icon="sort_by_alpha"/>
|
|
6572
6719
|
</div>
|
|
6573
6720
|
</t>
|
|
6574
6721
|
<t t-name="o-spreadsheet-Icon.SORT_DESCENDING">
|
|
6575
6722
|
<div class="o-icon">
|
|
6576
|
-
<i class="
|
|
6723
|
+
<i class="oi" data-icon="sort_by_alpha"/>
|
|
6577
6724
|
</div>
|
|
6578
6725
|
</t>
|
|
6579
6726
|
<t t-name="o-spreadsheet-Icon.DATA_CLEANUP">
|
|
6580
6727
|
<div class="o-icon">
|
|
6581
|
-
<i class="
|
|
6728
|
+
<i class="oi" data-icon="wand_stars"/>
|
|
6582
6729
|
</div>
|
|
6583
6730
|
</t>
|
|
6584
6731
|
<t t-name="o-spreadsheet-Icon.FILTER_ICON">
|
|
@@ -6591,17 +6738,17 @@
|
|
|
6591
6738
|
</t>
|
|
6592
6739
|
<t t-name="o-spreadsheet-Icon.FILTER_ICON_ACTIVE">
|
|
6593
6740
|
<div class="o-icon filter-icon-active">
|
|
6594
|
-
<i class="
|
|
6741
|
+
<i class="oi oi-filled" data-icon="filter_alt_f"/>
|
|
6595
6742
|
</div>
|
|
6596
6743
|
</t>
|
|
6597
6744
|
<t t-name="o-spreadsheet-Icon.SEARCH">
|
|
6598
6745
|
<div class="o-icon">
|
|
6599
|
-
<i class="
|
|
6746
|
+
<i class="oi" data-icon="search"/>
|
|
6600
6747
|
</div>
|
|
6601
6748
|
</t>
|
|
6602
6749
|
<t t-name="o-spreadsheet-Icon.ZOOM">
|
|
6603
6750
|
<div class="o-icon">
|
|
6604
|
-
<i class="
|
|
6751
|
+
<i class="oi" data-icon="zoom_in"/>
|
|
6605
6752
|
</div>
|
|
6606
6753
|
</t>
|
|
6607
6754
|
<t t-name="o-spreadsheet-Icon.CHECK">
|
|
@@ -6635,8 +6782,8 @@
|
|
|
6635
6782
|
</svg>
|
|
6636
6783
|
</t>
|
|
6637
6784
|
<t t-name="o-spreadsheet-Icon.TRIANGLE_EXCLAMATION">
|
|
6638
|
-
<div class="o-icon
|
|
6639
|
-
<i class="
|
|
6785
|
+
<div class="o-icon">
|
|
6786
|
+
<i class="oi" data-icon="warning"/>
|
|
6640
6787
|
</div>
|
|
6641
6788
|
</t>
|
|
6642
6789
|
<t t-name="o-spreadsheet-Icon.SPLIT_TEXT">
|
|
@@ -6649,7 +6796,7 @@
|
|
|
6649
6796
|
</t>
|
|
6650
6797
|
<t t-name="o-spreadsheet-Icon.ERROR">
|
|
6651
6798
|
<div class="o-icon">
|
|
6652
|
-
<i class="
|
|
6799
|
+
<i class="oi" data-icon="error"/>
|
|
6653
6800
|
</div>
|
|
6654
6801
|
</t>
|
|
6655
6802
|
<t t-name="o-spreadsheet-Icon.DISPLAY_HEADER">
|
|
@@ -6787,7 +6934,7 @@
|
|
|
6787
6934
|
</t>
|
|
6788
6935
|
<t t-name="o-spreadsheet-Icon.INFO">
|
|
6789
6936
|
<div class="o-icon">
|
|
6790
|
-
<i class="
|
|
6937
|
+
<i class="oi" data-icon="info"/>
|
|
6791
6938
|
</div>
|
|
6792
6939
|
</t>
|
|
6793
6940
|
<t t-name="o-spreadsheet-Icon.PIVOT">
|
|
@@ -6798,11 +6945,6 @@
|
|
|
6798
6945
|
/>
|
|
6799
6946
|
</svg>
|
|
6800
6947
|
</t>
|
|
6801
|
-
<t t-name="o-spreadsheet-Icon.UNUSED_PIVOT_WARNING">
|
|
6802
|
-
<div class="o-unused-pivot-icon text-warning" title="This pivot is not used">
|
|
6803
|
-
<t t-call="o-spreadsheet-Icon.TRIANGLE_EXCLAMATION"/>
|
|
6804
|
-
</div>
|
|
6805
|
-
</t>
|
|
6806
6948
|
<t t-name="o-spreadsheet-Icon.ANGLE_DOWN">
|
|
6807
6949
|
<div class="o-icon">
|
|
6808
6950
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 224 256">
|
|
@@ -6882,12 +7024,12 @@
|
|
|
6882
7024
|
</t>
|
|
6883
7025
|
<t t-name="o-spreadsheet-Icon.HIDE_SHEET">
|
|
6884
7026
|
<div class="o-icon">
|
|
6885
|
-
<i class="
|
|
7027
|
+
<i class="oi" data-icon="visibility_off"/>
|
|
6886
7028
|
</div>
|
|
6887
7029
|
</t>
|
|
6888
7030
|
<t t-name="o-spreadsheet-Icon.DOWNLOAD">
|
|
6889
7031
|
<div class="o-icon">
|
|
6890
|
-
<i class="
|
|
7032
|
+
<i class="oi" data-icon="download"/>
|
|
6891
7033
|
</div>
|
|
6892
7034
|
</t>
|
|
6893
7035
|
<t t-name="o-spreadsheet-Icon.CAROUSEL">
|
|
@@ -6932,7 +7074,7 @@
|
|
|
6932
7074
|
</t>
|
|
6933
7075
|
<t t-name="o-spreadsheet-Icon.DARK_MODE">
|
|
6934
7076
|
<div class="o-icon">
|
|
6935
|
-
<i class="
|
|
7077
|
+
<i class="oi" data-icon="dark_mode"/>
|
|
6936
7078
|
</div>
|
|
6937
7079
|
</t>
|
|
6938
7080
|
<t t-name="o-spreadsheet-Icon.ROTATION-0">
|
|
@@ -6978,26 +7120,26 @@
|
|
|
6978
7120
|
</t>
|
|
6979
7121
|
<t t-name="o-spreadsheet-Icon.THUMB_TACK">
|
|
6980
7122
|
<div class="o-icon">
|
|
6981
|
-
<i class="
|
|
7123
|
+
<i class="oi" data-icon="push_pin"/>
|
|
6982
7124
|
</div>
|
|
6983
7125
|
</t>
|
|
6984
7126
|
<t t-name="o-spreadsheet-Icon.LOCK">
|
|
6985
7127
|
<div class="o-icon">
|
|
6986
|
-
<i class="
|
|
7128
|
+
<i class="oi" data-icon="lock_f"/>
|
|
6987
7129
|
</div>
|
|
6988
7130
|
</t>
|
|
6989
7131
|
<t t-name="o-spreadsheet-Icon.UNLOCK">
|
|
6990
7132
|
<div class="o-icon">
|
|
6991
|
-
<i class="
|
|
7133
|
+
<i class="oi" data-icon="lock_open_f"/>
|
|
6992
7134
|
</div>
|
|
6993
7135
|
</t>
|
|
6994
7136
|
<t t-name="o-spreadsheet-Icon.PRINT">
|
|
6995
7137
|
<div class="o-icon">
|
|
6996
|
-
<i class="
|
|
7138
|
+
<i class="oi" data-icon="print"/>
|
|
6997
7139
|
</div>
|
|
6998
7140
|
</t>
|
|
6999
7141
|
<t t-name="o-spreadsheet-Icon.COLUMN_STATS">
|
|
7000
|
-
<svg
|
|
7142
|
+
<svg class="o-icon" viewBox="0 0 512 512">
|
|
7001
7143
|
<path
|
|
7002
7144
|
d="M319 174c71 0 129 58 129 129 0 27-8 52-23 73l66 66-33 33-66-66c-21 14-46 23-73 23-71 0-129-58-129-129s57-129 129-129m0 47c-45 0-82 37-82 82s36 82 82 82 82-37 82-82-37-82-82-82m-152 70a155 155 0 0 0 0 12c0 12 1 24 4 35H25v-47zM119 33v235H49V33zm94 94v66c-21 20-36 46-43 75h-28V127zm94-47v71a152 152 0 0 0-70 24V80zm94 23v71a152 152 0 0 0-70-24v-47z"
|
|
7003
7145
|
fill="currentColor"
|
|
@@ -7054,7 +7196,26 @@
|
|
|
7054
7196
|
</t>
|
|
7055
7197
|
<t t-name="o-spreadsheet-Icon.CALCULATOR">
|
|
7056
7198
|
<div class="o-icon">
|
|
7057
|
-
<i class="
|
|
7199
|
+
<i class="oi" data-icon="calculate"/>
|
|
7200
|
+
</div>
|
|
7201
|
+
</t>
|
|
7202
|
+
<t t-name="o-spreadsheet-Icon.INSERT_CHART_SUGGESTION">
|
|
7203
|
+
<svg
|
|
7204
|
+
class="o-icon"
|
|
7205
|
+
fill="currentColor"
|
|
7206
|
+
viewBox="0 -960 960 960"
|
|
7207
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
7208
|
+
<!-- Material icon add_chart.
|
|
7209
|
+
TODO remove when we use Material icons directly -->
|
|
7210
|
+
<path
|
|
7211
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7212
|
+
d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h360v80H200v560h560v-360h80v360q0 33-23.5 56.5T760-120H200Zm80-160h80v-280h-80v280Zm160 0h80v-400h-80v400Zm160 0h80v-160h-80v160Zm80-320v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80ZM480-480Z"
|
|
7213
|
+
/>
|
|
7214
|
+
</svg>
|
|
7215
|
+
</t>
|
|
7216
|
+
<t t-name="o-spreadsheet-Icon.MORE_MENU">
|
|
7217
|
+
<div class="o-icon">
|
|
7218
|
+
<i class="oi" data-icon="more_vert"/>
|
|
7058
7219
|
</div>
|
|
7059
7220
|
</t>
|
|
7060
7221
|
|
|
@@ -7397,7 +7558,6 @@
|
|
|
7397
7558
|
maxHeight="this.cellPopover.Component.size and this.cellPopover.Component.size.maxHeight"
|
|
7398
7559
|
maxWidth="this.cellPopover.Component.size and this.cellPopover.Component.size.maxWidth"
|
|
7399
7560
|
anchorRect="this.cellPopover.anchorRect"
|
|
7400
|
-
containerRect="this.env.getPopoverContainerRect()"
|
|
7401
7561
|
onMouseWheel="this.props.onMouseWheel"
|
|
7402
7562
|
class="'o-popover-grid-index'">
|
|
7403
7563
|
<t
|
|
@@ -7408,9 +7568,6 @@
|
|
|
7408
7568
|
</t>
|
|
7409
7569
|
|
|
7410
7570
|
<t t-name="o-spreadsheet-GridOverlay">
|
|
7411
|
-
<div class="position-absolute" t-att-style="this.style">
|
|
7412
|
-
<FiguresContainer/>
|
|
7413
|
-
</div>
|
|
7414
7571
|
<div
|
|
7415
7572
|
t-ref="this.gridOverlayRef"
|
|
7416
7573
|
class="o-grid-overlay overflow-hidden o-zoomable"
|
|
@@ -7421,10 +7578,7 @@
|
|
|
7421
7578
|
t-on-click="this.onClick"
|
|
7422
7579
|
t-on-dblclick.self="this.onDoubleClick"
|
|
7423
7580
|
t-on-contextmenu.stop.prevent="this.onContextMenu">
|
|
7424
|
-
<GridAddRowsFooter
|
|
7425
|
-
t-if="!this.env.model.getters.isReadonly()"
|
|
7426
|
-
t-key="this.env.model.getters.getActiveSheetId()"
|
|
7427
|
-
/>
|
|
7581
|
+
<GridAddRowsFooter t-if="this.isFooterVisible" t-key="this.viewStore.displayedSheetId"/>
|
|
7428
7582
|
<t t-call-slot="default"/>
|
|
7429
7583
|
</div>
|
|
7430
7584
|
</t>
|
|
@@ -7470,6 +7624,9 @@
|
|
|
7470
7624
|
t-on-keydown="this.onKeydown"
|
|
7471
7625
|
t-on-wheel.prevent="this.onMouseWheel"
|
|
7472
7626
|
t-ref="this.gridRef">
|
|
7627
|
+
<div class="position-absolute" t-att-style="this.gridOverlayDimensions">
|
|
7628
|
+
<FiguresContainer/>
|
|
7629
|
+
</div>
|
|
7473
7630
|
<GridOverlay
|
|
7474
7631
|
onCellClicked.bind="this.onCellClicked"
|
|
7475
7632
|
onCellDoubleClicked.bind="this.onCellDoubleClicked"
|
|
@@ -7479,15 +7636,14 @@
|
|
|
7479
7636
|
/>
|
|
7480
7637
|
<HeadersOverlay onOpenContextMenu="(type, x, y) => this.toggleContextMenu(type, x, y)"/>
|
|
7481
7638
|
<GridComposer
|
|
7482
|
-
gridDims="this.
|
|
7639
|
+
gridDims="this.viewStore.viewports.getSheetViewDimensionWithHeaders()"
|
|
7483
7640
|
onInputContextMenu.bind="this.onInputContextMenu"
|
|
7484
7641
|
/>
|
|
7485
|
-
<
|
|
7642
|
+
<div class="os-canvas-background">
|
|
7643
|
+
<canvas t-ref="this.canvasRef" class="os-theme-dependant pe-none"/>
|
|
7644
|
+
</div>
|
|
7486
7645
|
<t t-set="focused" t-value="this.focusedClients"/>
|
|
7487
|
-
<t
|
|
7488
|
-
t-foreach="this.env.model.getters.getClientsToDisplay()"
|
|
7489
|
-
t-as="client"
|
|
7490
|
-
t-key="this.getClientPositionKey(client)">
|
|
7646
|
+
<t t-foreach="this.clientsToDisplay" t-as="client" t-key="this.getClientPositionKey(client)">
|
|
7491
7647
|
<ClientTag
|
|
7492
7648
|
name="client.name"
|
|
7493
7649
|
color="client.color"
|
|
@@ -7519,7 +7675,7 @@
|
|
|
7519
7675
|
onClose="() => this.closeMenu()"
|
|
7520
7676
|
/>
|
|
7521
7677
|
<t
|
|
7522
|
-
t-if="
|
|
7678
|
+
t-if="this.displayTableResizer"
|
|
7523
7679
|
t-foreach="this.staticTables"
|
|
7524
7680
|
t-as="table"
|
|
7525
7681
|
t-key="table.id">
|
|
@@ -7547,13 +7703,14 @@
|
|
|
7547
7703
|
</button>
|
|
7548
7704
|
<div class="flex-fill">
|
|
7549
7705
|
<div
|
|
7550
|
-
class="o-fullscreen-figure os-theme-dependant o-figure position-relative border rounded shadow"
|
|
7706
|
+
class="o-fullscreen-figure o-figure-rounded overflow-hidden os-theme-dependant o-figure position-relative border rounded shadow"
|
|
7551
7707
|
tabindex="1"
|
|
7552
7708
|
t-ref="this.fullScreenFigureRef"
|
|
7553
7709
|
t-on-click.stop=""
|
|
7554
7710
|
t-on-keydown="(ev) => this.onKeyDown(ev)">
|
|
7555
7711
|
<t>
|
|
7556
7712
|
<t
|
|
7713
|
+
t-if="this.figureUI.width and this.figureUI.height"
|
|
7557
7714
|
t-component="this.figureComponent"
|
|
7558
7715
|
figureUI="this.figureUI"
|
|
7559
7716
|
isFullScreen="true"
|
|
@@ -7757,13 +7914,14 @@
|
|
|
7757
7914
|
|
|
7758
7915
|
<t t-name="o-spreadsheet-ImageFigure">
|
|
7759
7916
|
<img t-att-src="this.getImagePath" class="w-100 h-100"/>
|
|
7760
|
-
<div
|
|
7917
|
+
<div
|
|
7918
|
+
class="o-figure-menu position-absolute m-2 align-items-center"
|
|
7919
|
+
t-if="this.shouldShowMenuButton">
|
|
7761
7920
|
<div
|
|
7762
|
-
class="o-figure-menu-item d-flex
|
|
7763
|
-
t-on-click="this.showMenu"
|
|
7921
|
+
class="o-figure-menu-item d-flex align-items-center justify-content-center rounded p-1"
|
|
7764
7922
|
t-ref="this.menuButtonRef"
|
|
7765
|
-
t-on-
|
|
7766
|
-
<t t-call="o-spreadsheet-Icon.
|
|
7923
|
+
t-on-click="this.showMenu">
|
|
7924
|
+
<t t-call="o-spreadsheet-Icon.MORE_MENU"/>
|
|
7767
7925
|
</div>
|
|
7768
7926
|
</div>
|
|
7769
7927
|
</t>
|
|
@@ -7790,7 +7948,7 @@
|
|
|
7790
7948
|
style="this.getFigureStyle(figureUI)"
|
|
7791
7949
|
class="this.getFigureClass(figureUI)"
|
|
7792
7950
|
onMouseDown="(ev) => this.startDraggingFigure(figureUI, ev)"
|
|
7793
|
-
onClickAnchor="
|
|
7951
|
+
onClickAnchor.bind="this.resizeAllSelectedFigures"
|
|
7794
7952
|
/>
|
|
7795
7953
|
</t>
|
|
7796
7954
|
</div>
|
|
@@ -7829,15 +7987,12 @@
|
|
|
7829
7987
|
|
|
7830
7988
|
<t t-name="o-spreadsheet-CarouselFigure">
|
|
7831
7989
|
<div
|
|
7832
|
-
class="o-carousel w-100 h-100
|
|
7990
|
+
class="o-carousel w-100 h-100 position-relative"
|
|
7991
|
+
t-att-style="this.carouselStyle"
|
|
7833
7992
|
t-on-dblclick="this.onCarouselDoubleClick">
|
|
7834
7993
|
<t t-set="selectedItem" t-value="this.selectedCarouselItem"/>
|
|
7835
7994
|
<div
|
|
7836
|
-
class="o-carousel-header d-flex align-items-baseline
|
|
7837
|
-
t-att-class="{
|
|
7838
|
-
'border-bottom': this.env.model.getters.isDashboard(),
|
|
7839
|
-
'o-carousel-header-floating': !this.env.model.getters.isDashboard() and selectedItem?.type === 'carouselDataView',
|
|
7840
|
-
}"
|
|
7995
|
+
class="o-carousel-header d-flex align-items-baseline position-absolute"
|
|
7841
7996
|
t-att-style="this.headerStyle">
|
|
7842
7997
|
<div
|
|
7843
7998
|
class="o-carousel-title text-truncate flex-shrink-0 pe-2"
|
|
@@ -7848,9 +8003,13 @@
|
|
|
7848
8003
|
<div
|
|
7849
8004
|
class="o-carousel-tabs d-flex flex-fill justify-content-end"
|
|
7850
8005
|
t-ref="this.carouselTabsRef">
|
|
7851
|
-
<t
|
|
8006
|
+
<t
|
|
8007
|
+
t-foreach="this.carousel.items"
|
|
8008
|
+
t-as="item"
|
|
8009
|
+
t-key="item_index"
|
|
8010
|
+
t-if="this.carousel.items.length > 1">
|
|
7852
8011
|
<div
|
|
7853
|
-
class="o-carousel-tab text-truncate px-2
|
|
8012
|
+
class="o-carousel-tab text-truncate px-2 flex-shrink-0"
|
|
7854
8013
|
t-att-class="{ 'selected': this.isItemSelected(item) }"
|
|
7855
8014
|
t-att-data-type="item.type"
|
|
7856
8015
|
t-out="this.getItemTitle(item)"
|
|
@@ -7859,11 +8018,13 @@
|
|
|
7859
8018
|
</t>
|
|
7860
8019
|
</div>
|
|
7861
8020
|
<div
|
|
7862
|
-
class="o-carousel-
|
|
8021
|
+
class="o-carousel-button o-carousel-tabs-dropdown flex-shrink-0 rounded"
|
|
7863
8022
|
t-att-class="{'active': this.menuState.isOpen}"
|
|
7864
8023
|
t-ref="this.carouselTabsDropdownRef"
|
|
7865
8024
|
t-on-click="this.toggleMenu">
|
|
7866
|
-
<div class="
|
|
8025
|
+
<div class="o-icon">
|
|
8026
|
+
<i class="oi" data-icon="keyboard_arrow_down"/>
|
|
8027
|
+
</div>
|
|
7867
8028
|
<MenuPopover
|
|
7868
8029
|
t-if="this.menuState.isOpen"
|
|
7869
8030
|
menuId="this.menuId"
|
|
@@ -7876,28 +8037,32 @@
|
|
|
7876
8037
|
<div
|
|
7877
8038
|
t-if="this.env.model.getters.isDashboard()"
|
|
7878
8039
|
t-att-title="this.fullScreenButtonTitle"
|
|
7879
|
-
class="o-carousel-full-screen-button
|
|
7880
|
-
t-att-
|
|
7881
|
-
'fa-compress': this.props.isFullScreen,
|
|
7882
|
-
'fa-expand': !this.props.isFullScreen,
|
|
7883
|
-
'invisible': this.selectedCarouselItem?.type !== 'chart',
|
|
7884
|
-
}"
|
|
8040
|
+
class="o-carousel-full-screen-button oi o-carousel-button rounded p-1 ms-1"
|
|
8041
|
+
t-att-data-icon="this.props.isFullScreen ? 'close_fullscreen' : 'expand_content'"
|
|
7885
8042
|
t-on-click="this.toggleFullScreen"
|
|
7886
8043
|
/>
|
|
7887
8044
|
<div
|
|
7888
8045
|
t-if="!this.env.model.getters.isDashboard()"
|
|
7889
|
-
class="o-carousel-menu-button o-carousel-button
|
|
7890
|
-
t-on-click="this.openContextMenu"
|
|
7891
|
-
|
|
8046
|
+
class="o-carousel-menu-button o-carousel-button rounded ms-1"
|
|
8047
|
+
t-on-click="this.openContextMenu">
|
|
8048
|
+
<t t-call="o-spreadsheet-Icon.MORE_MENU"/>
|
|
8049
|
+
</div>
|
|
7892
8050
|
</div>
|
|
8051
|
+
<div
|
|
8052
|
+
t-if="this.separatorStyle"
|
|
8053
|
+
class="o-carousel-separator position-absolute"
|
|
8054
|
+
t-att-style="this.separatorStyle"
|
|
8055
|
+
/>
|
|
7893
8056
|
<div
|
|
7894
8057
|
t-if="!selectedItem"
|
|
7895
|
-
class="o-carousel-empty
|
|
8058
|
+
class="o-carousel-empty o-carousel-content position-absolute d-flex align-items-center justify-content-center"
|
|
8059
|
+
t-att-style="this.contentStyle">
|
|
7896
8060
|
<t t-call="o-spreadsheet-Icon.CAROUSEL"/>
|
|
7897
8061
|
</div>
|
|
7898
8062
|
<div
|
|
7899
8063
|
t-elif="selectedItem.type === 'chart'"
|
|
7900
|
-
class="o-carousel-content
|
|
8064
|
+
class="o-carousel-content position-absolute"
|
|
8065
|
+
t-att-style="this.contentStyle">
|
|
7901
8066
|
<div
|
|
7902
8067
|
class="o-chart-container w-100 h-100"
|
|
7903
8068
|
t-on-dblclick.stop="this.onCarouselChartDoubleClick">
|
|
@@ -7915,23 +8080,34 @@
|
|
|
7915
8080
|
t-key="selectedItem.chartId"
|
|
7916
8081
|
/>
|
|
7917
8082
|
</div>
|
|
8083
|
+
<div
|
|
8084
|
+
t-elif="selectedItem.type === 'carouselDataView' and selectedItem.range"
|
|
8085
|
+
class="o-carousel-content position-absolute overflow-hidden"
|
|
8086
|
+
t-att-style="this.contentStyle">
|
|
8087
|
+
<StandaloneViewport
|
|
8088
|
+
range="this.removeEmptyHeadersFromRange(selectedItem.range)"
|
|
8089
|
+
columnWeights="selectedItem.columnWeights"
|
|
8090
|
+
canResizeColumns="this.canResizeDataViewColumns"
|
|
8091
|
+
onResizeColumns.bind="this.onResizeColumns"
|
|
8092
|
+
size="this.carouselLayout.contentRect"
|
|
8093
|
+
/>
|
|
8094
|
+
</div>
|
|
7918
8095
|
</div>
|
|
7919
8096
|
</t>
|
|
7920
8097
|
|
|
7921
8098
|
<t t-name="o-spreadsheet-FigureComponent">
|
|
7922
8099
|
<div
|
|
7923
|
-
class="o-figure-wrapper
|
|
7924
|
-
t-att-class="{'o-figure-selected': this.isSelected}"
|
|
7925
|
-
t-att-style="this.wrapperStyle"
|
|
7926
|
-
t-ref="this.figureWrapperRef">
|
|
8100
|
+
class="o-figure-wrapper"
|
|
8101
|
+
t-att-class="{'o-figure-selected': this.isSelected, 'os-theme-dependant': this.isThemeDependant}"
|
|
8102
|
+
t-att-style="this.wrapperStyle">
|
|
7927
8103
|
<div
|
|
7928
|
-
class="o-figure w-100 h-100"
|
|
7929
|
-
t-att-class="this.
|
|
8104
|
+
class="o-figure w-100 h-100 overflow-hidden"
|
|
8105
|
+
t-att-class="this.figureClass"
|
|
7930
8106
|
t-on-pointerdown.stop="(ev) => this.onMouseDown(ev)"
|
|
7931
8107
|
t-on-click="this.onClick"
|
|
7932
8108
|
t-on-contextmenu.prevent.stop="(ev) => !this.env.model.getters.isReadonly() and this.onContextMenu(ev)"
|
|
7933
8109
|
t-ref="this.figureRef"
|
|
7934
|
-
t-att-style="this.
|
|
8110
|
+
t-att-style="this.figureStyle"
|
|
7935
8111
|
t-att-data-id="this.props.figureUI.id"
|
|
7936
8112
|
tabindex="0"
|
|
7937
8113
|
t-on-keydown.stop="(ev) => this.onKeyDown(ev)"
|
|
@@ -7940,7 +8116,6 @@
|
|
|
7940
8116
|
t-component="this.figureRegistry.get(this.props.figureUI.tag).Component"
|
|
7941
8117
|
t-key="this.props.figureUI.id"
|
|
7942
8118
|
figureUI="this.props.figureUI"
|
|
7943
|
-
editFigureStyle.bind="this.editWrapperStyle"
|
|
7944
8119
|
openContextMenu.bind="this.openContextMenu"
|
|
7945
8120
|
/>
|
|
7946
8121
|
<MenuPopover
|
|
@@ -7951,31 +8126,11 @@
|
|
|
7951
8126
|
onClose="() => this.menuState.isOpen=false"
|
|
7952
8127
|
popoverPositioning="'bottom-left'"
|
|
7953
8128
|
/>
|
|
7954
|
-
<div
|
|
7955
|
-
t-if="!this.env.model.getters.isDashboard()"
|
|
7956
|
-
class="position-absolute top-0 start-0 pe-none w-100 h-100">
|
|
7957
|
-
<div
|
|
7958
|
-
class="o-figure-border pe-auto w-100 h-0 position-absolute pb-2"
|
|
7959
|
-
t-att-class="{'o-selected': this.isSelected}"
|
|
7960
|
-
t-att-style="this.getBorderStyle('top')"
|
|
7961
|
-
/>
|
|
7962
|
-
<div
|
|
7963
|
-
class="o-figure-border pe-auto h-100 position-absolute start-0 ps-2"
|
|
7964
|
-
t-att-class="{'o-selected': this.isSelected}"
|
|
7965
|
-
t-att-style="this.getBorderStyle('left')"
|
|
7966
|
-
/>
|
|
7967
|
-
<div
|
|
7968
|
-
class="o-figure-border pe-auto w-100 position-absolute bottom-0 pt-2"
|
|
7969
|
-
t-att-class="{'o-selected': this.isSelected}"
|
|
7970
|
-
t-att-style="this.getBorderStyle('bottom')"
|
|
7971
|
-
/>
|
|
7972
|
-
<div
|
|
7973
|
-
class="o-figure-border pe-auto h-100 position-absolute end-0 pe-2"
|
|
7974
|
-
t-att-class="{'o-selected': this.isSelected}"
|
|
7975
|
-
t-att-style="this.getBorderStyle('right')"
|
|
7976
|
-
/>
|
|
7977
|
-
</div>
|
|
7978
8129
|
</div>
|
|
8130
|
+
<div
|
|
8131
|
+
t-if="this.isSelected"
|
|
8132
|
+
class="o-figure-selection-border position-absolute pe-none w-100 h-100"
|
|
8133
|
+
/>
|
|
7979
8134
|
<t t-if="this.isFigureResizable">
|
|
7980
8135
|
<div
|
|
7981
8136
|
class="o-fig-anchor o-top pe-auto"
|
|
@@ -8036,7 +8191,7 @@
|
|
|
8036
8191
|
<t t-name="o-spreadsheet-ChartMenu">
|
|
8037
8192
|
<div class="o-chart-menu position-absolute top-0 end-0" t-on-click.stop="">
|
|
8038
8193
|
<div class="d-flex align-items-center gap-1 p-1 rounded" t-att-style="backgroundColor">
|
|
8039
|
-
<t t-if="this.regionOptions.length > 1">
|
|
8194
|
+
<t t-if="this.env.model.getters.isDashboard() and this.regionOptions.length > 1">
|
|
8040
8195
|
<Select
|
|
8041
8196
|
class="'o-chart-menu-item w-auto py-0 px-1 text-muted text-nowrap rounded border-0'"
|
|
8042
8197
|
popoverClass="'w-auto'"
|
|
@@ -8047,7 +8202,7 @@
|
|
|
8047
8202
|
</t>
|
|
8048
8203
|
<t t-foreach="this.getMenuItems()" t-as="item" t-key="item.id">
|
|
8049
8204
|
<div
|
|
8050
|
-
class="o-chart-menu-item
|
|
8205
|
+
class="o-chart-menu-item lh-1 p-1 d-flex align-items-center justify-content-center rounded"
|
|
8051
8206
|
t-att-title="item.label"
|
|
8052
8207
|
t-on-click="item.onClick"
|
|
8053
8208
|
t-att-data-id="item.id">
|
|
@@ -8055,10 +8210,11 @@
|
|
|
8055
8210
|
</div>
|
|
8056
8211
|
</t>
|
|
8057
8212
|
<t t-if="this.isMenuAvailable()">
|
|
8058
|
-
<
|
|
8059
|
-
class="o-chart-menu-item
|
|
8060
|
-
t-on-click="this.openContextMenu"
|
|
8061
|
-
|
|
8213
|
+
<div
|
|
8214
|
+
class="o-chart-menu-item lh-1 p-1 d-flex align-items-center justify-content-center rounded"
|
|
8215
|
+
t-on-click="this.openContextMenu">
|
|
8216
|
+
<t t-call="o-spreadsheet-Icon.MORE_MENU"/>
|
|
8217
|
+
</div>
|
|
8062
8218
|
</t>
|
|
8063
8219
|
</div>
|
|
8064
8220
|
<InfoPopover
|
|
@@ -8156,10 +8312,12 @@
|
|
|
8156
8312
|
</t>
|
|
8157
8313
|
|
|
8158
8314
|
<t t-name="o-spreadsheet-SpreadsheetDashboard">
|
|
8159
|
-
<div
|
|
8160
|
-
|
|
8161
|
-
|
|
8162
|
-
|
|
8315
|
+
<div class="o-dashboard-background os-canvas-background position-absolute w-100 h-100 z-0">
|
|
8316
|
+
<div
|
|
8317
|
+
class="o-dashboard-sheet-background w-100 h-100 os-theme-dependant"
|
|
8318
|
+
t-att-style="this.backgroundStyle"
|
|
8319
|
+
/>
|
|
8320
|
+
</div>
|
|
8163
8321
|
<div
|
|
8164
8322
|
class="o-grid o-dashboard-grid o-two-columns o-zoomable z-1"
|
|
8165
8323
|
tabindex="-1"
|
|
@@ -8169,24 +8327,13 @@
|
|
|
8169
8327
|
class="mx-auto h-100 position-relative"
|
|
8170
8328
|
t-ref="this.gridRef"
|
|
8171
8329
|
t-att-style="this.gridContainer">
|
|
8330
|
+
<div class="position-absolute" t-att-style="this.gridOverlayDimensions">
|
|
8331
|
+
<FiguresContainer/>
|
|
8332
|
+
</div>
|
|
8172
8333
|
<GridOverlay
|
|
8173
8334
|
onGridResized.bind="this.onGridResized"
|
|
8174
8335
|
gridOverlayDimensions="this.gridOverlayDimensions">
|
|
8175
|
-
<
|
|
8176
|
-
t-foreach="this.getClickableCells()"
|
|
8177
|
-
t-as="clickableCell"
|
|
8178
|
-
t-key="clickableCell_index"
|
|
8179
|
-
class="o-dashboard-clickable-cell"
|
|
8180
|
-
t-att-title="clickableCell.title"
|
|
8181
|
-
t-on-click="(ev) => this.selectClickableCell(ev, clickableCell)"
|
|
8182
|
-
t-on-auxclick="(ev) => this.selectClickableCell(ev, clickableCell)"
|
|
8183
|
-
t-att-style="this.getCellClickableStyle(clickableCell.coordinates)">
|
|
8184
|
-
<t
|
|
8185
|
-
t-if="clickableCell.component"
|
|
8186
|
-
t-component="clickableCell.component"
|
|
8187
|
-
t-props="clickableCell.componentProps"
|
|
8188
|
-
/>
|
|
8189
|
-
</div>
|
|
8336
|
+
<ClickableCellsOverlay/>
|
|
8190
8337
|
</GridOverlay>
|
|
8191
8338
|
<canvas t-ref="this.canvasRef" class="os-theme-dependant"/>
|
|
8192
8339
|
<GridPopover
|
|
@@ -8361,9 +8508,9 @@
|
|
|
8361
8508
|
t-on-click.stop="this.openAssistant"
|
|
8362
8509
|
t-on-pointerdown.prevent.stop=""
|
|
8363
8510
|
t-on-pointerup.stop=""
|
|
8364
|
-
class="
|
|
8365
|
-
<i class="
|
|
8366
|
-
<i class="
|
|
8511
|
+
class="oi-stack position-absolute translate-middle force-open-assistant fs-4">
|
|
8512
|
+
<i class="oi oi-filled oi-stack-1x o-composer-assistant-icon-bg" data-icon="circle_f"/>
|
|
8513
|
+
<i class="oi oi-filled oi-stack-1x" data-icon="help_f"/>
|
|
8367
8514
|
</span>
|
|
8368
8515
|
<div
|
|
8369
8516
|
class="o-composer w-100 text-start"
|
|
@@ -8404,9 +8551,9 @@
|
|
|
8404
8551
|
role="button"
|
|
8405
8552
|
t-on-click="this.closeAssistant"
|
|
8406
8553
|
t-on-pointerdown.prevent.stop=""
|
|
8407
|
-
class="
|
|
8408
|
-
<i class="
|
|
8409
|
-
<i class="
|
|
8554
|
+
class="oi-stack position-absolute top-0 start-100 translate-middle fs-4">
|
|
8555
|
+
<i class="oi oi-filled oi-stack-1x o-composer-assistant-icon-bg" data-icon="circle_f"/>
|
|
8556
|
+
<i class="oi oi-filled oi-stack-1x" data-icon="cancel_f"/>
|
|
8410
8557
|
</span>
|
|
8411
8558
|
<div class="o-composer-assistant overflow-auto" t-att-style="this.assistantStyle">
|
|
8412
8559
|
<FunctionDescriptionProvider
|
|
@@ -8553,7 +8700,7 @@
|
|
|
8553
8700
|
class="eyedropper d-flex align-items-center justify-content-center rounded-circle"
|
|
8554
8701
|
t-if="this.canUseEyeDropper"
|
|
8555
8702
|
t-on-click.stop="this.activateEyedropper">
|
|
8556
|
-
<i class="
|
|
8703
|
+
<i class="oi" data-icon="colorize"/>
|
|
8557
8704
|
</div>
|
|
8558
8705
|
</div>
|
|
8559
8706
|
<div t-if="this.state.showGradient" class="o-custom-selector">
|
|
@@ -8614,6 +8761,24 @@
|
|
|
8614
8761
|
/>
|
|
8615
8762
|
</t>
|
|
8616
8763
|
|
|
8764
|
+
<t t-name="o-spreadsheet-ClickableCellsOverlay">
|
|
8765
|
+
<div
|
|
8766
|
+
t-foreach="this.getClickableCells()"
|
|
8767
|
+
t-as="clickableCell"
|
|
8768
|
+
t-key="clickableCell_index"
|
|
8769
|
+
class="o-dashboard-clickable-cell"
|
|
8770
|
+
t-att-title="clickableCell.title"
|
|
8771
|
+
t-on-click="(ev) => this.selectClickableCell(ev, clickableCell)"
|
|
8772
|
+
t-on-auxclick="(ev) => this.selectClickableCell(ev, clickableCell)"
|
|
8773
|
+
t-att-style="this.getCellClickableStyle(clickableCell.coordinates)">
|
|
8774
|
+
<t
|
|
8775
|
+
t-if="clickableCell.component"
|
|
8776
|
+
t-component="clickableCell.component"
|
|
8777
|
+
t-props="clickableCell.componentProps"
|
|
8778
|
+
/>
|
|
8779
|
+
</div>
|
|
8780
|
+
</t>
|
|
8781
|
+
|
|
8617
8782
|
<t t-name="o-spreadsheet-BottomBar">
|
|
8618
8783
|
<div
|
|
8619
8784
|
class="o-spreadsheet-bottom-bar o-two-columns d-flex flex-fill align-items-center overflow-hidden border-top"
|
|
@@ -8712,16 +8877,24 @@
|
|
|
8712
8877
|
|
|
8713
8878
|
<t t-name="o-spreadsheet-BottomBarStatistic">
|
|
8714
8879
|
<t t-set="selectedStatistic" t-value="this.getSelectedStatistic()"/>
|
|
8715
|
-
<
|
|
8716
|
-
<
|
|
8717
|
-
|
|
8718
|
-
|
|
8719
|
-
|
|
8720
|
-
|
|
8721
|
-
<
|
|
8722
|
-
|
|
8723
|
-
|
|
8724
|
-
|
|
8880
|
+
<div class="ms-auto d-flex o-bottom-bar-statistic">
|
|
8881
|
+
<Ripple t-if="selectedStatistic !== undefined">
|
|
8882
|
+
<div
|
|
8883
|
+
class="o-selection-statistic text-truncate user-select-none me-4 bg-white rounded shadow d-flex align-items-center"
|
|
8884
|
+
t-on-click="this.listSelectionStatistics">
|
|
8885
|
+
<t t-out="selectedStatistic"/>
|
|
8886
|
+
<span class="ms-2">
|
|
8887
|
+
<t t-call="o-spreadsheet-Icon.CARET_DOWN"/>
|
|
8888
|
+
</span>
|
|
8889
|
+
</div>
|
|
8890
|
+
</Ripple>
|
|
8891
|
+
<span
|
|
8892
|
+
class="o-data-analysis-button me-4 rounded"
|
|
8893
|
+
t-att-class="{ 'active': this.isDataAnalysisOpen }"
|
|
8894
|
+
t-on-click="this.toggleDataAnalysisPanel">
|
|
8895
|
+
<t t-call="o-spreadsheet-Icon.COLUMN_STATS"/>
|
|
8896
|
+
</span>
|
|
8897
|
+
</div>
|
|
8725
8898
|
</t>
|
|
8726
8899
|
|
|
8727
8900
|
<t t-name="o-spreadsheet-BottomBarSheet">
|
|
@@ -8739,7 +8912,7 @@
|
|
|
8739
8912
|
t-att-title="this.sheetName"
|
|
8740
8913
|
t-att-data-id="this.props.sheetId"
|
|
8741
8914
|
t-att-class="{active: this.isSheetActive}">
|
|
8742
|
-
<span t-if="this.isSheetLocked" class="me-1">
|
|
8915
|
+
<span t-if="this.isSheetLocked" class="me-1 lock-icon">
|
|
8743
8916
|
<t t-call="o-spreadsheet-Icon.LOCK"/>
|
|
8744
8917
|
</span>
|
|
8745
8918
|
<span
|