@sisense/sdk-ui 2.4.1 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai.cjs +1 -1
- package/dist/ai.js +4 -4
- package/dist/analytics-composer.cjs +82 -82
- package/dist/analytics-composer.js +1911 -1911
- package/dist/{derive-chart-family-woVAnbRi.js → derive-chart-family-BPYK8evJ.js} +11015 -10951
- package/dist/{derive-chart-family-Cqw-HJq1.cjs → derive-chart-family-yUBZXP4x.cjs} +146 -146
- package/dist/dimensions-BgPl9ZS9.cjs +1 -0
- package/dist/dimensions-DuHaCozA.js +203 -0
- package/dist/index.cjs +17 -17
- package/dist/index.js +7207 -6831
- package/dist/index.umd.js +296 -296
- package/dist/packages/sdk-ui/src/analytics-composer/common/utils.d.ts +18 -0
- package/dist/packages/sdk-ui/src/api/types/dashboard-dto.d.ts +4 -0
- package/dist/packages/sdk-ui/src/app/client-application.d.ts +27 -8
- package/dist/packages/sdk-ui/src/chart/advanced-chart.d.ts +1 -1
- package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/highcharts-based-chart-renderer.d.ts +4 -0
- package/dist/packages/sdk-ui/src/chart-data-options/types.d.ts +8 -0
- package/dist/packages/sdk-ui/src/chart-data-options/utils.d.ts +8 -1
- package/dist/packages/sdk-ui/src/common/components/modal/index.d.ts +1 -1
- package/dist/packages/sdk-ui/src/common/components/modal/modal-context.d.ts +0 -6
- package/dist/packages/sdk-ui/src/common/hooks/use-modal.d.ts +14 -0
- package/dist/packages/sdk-ui/src/common/icons/jtd-jumpable-icon.d.ts +1 -0
- package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/components/resizable-columns.d.ts +7 -3
- package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/const.d.ts +2 -2
- package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/helpers.d.ts +6 -0
- package/dist/packages/sdk-ui/src/dashboard/components/jtd-dashboard.d.ts +3 -2
- package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/index.d.ts +5 -0
- package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-filters.d.ts +129 -0
- package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-handlers.d.ts +46 -0
- package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-menu.d.ts +47 -0
- package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-types.d.ts +93 -0
- package/dist/packages/sdk-ui/src/dashboard/hooks/jtd/jtd-widget-transforms.d.ts +48 -0
- package/dist/packages/sdk-ui/src/dashboard/hooks/use-jtd.d.ts +1 -92
- package/dist/packages/sdk-ui/src/dashboard/types.d.ts +26 -19
- package/dist/packages/sdk-ui/src/dynamic-size-container/dynamic-size-container.d.ts +2 -1
- package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/utils.d.ts +8 -0
- package/dist/packages/sdk-ui/src/models/dashboard/translate-dashboard-utils.d.ts +1 -0
- package/dist/packages/sdk-ui/src/models/dashboard/types.d.ts +18 -2
- package/dist/packages/sdk-ui/src/pivot-table/formatters/header-cell-formatters/header-cell-value-formatter.d.ts +2 -2
- package/dist/packages/sdk-ui/src/props.d.ts +10 -0
- package/dist/packages/sdk-ui/src/sisense-chart/sisense-chart.d.ts +1 -1
- package/dist/packages/sdk-ui/src/sisense-chart/types.d.ts +4 -0
- package/dist/packages/sdk-ui/src/translation/resources/en.d.ts +1 -0
- package/dist/packages/sdk-ui/src/translation/resources/index.d.ts +2 -0
- package/dist/packages/sdk-ui/src/utils/parseISOWithTimezoneCheck.d.ts +9 -0
- package/dist/packages/sdk-ui/src/widget-by-id/types.d.ts +9 -9
- package/dist/packages/sdk-ui/src/widget-by-id/utils.d.ts +26 -0
- package/dist/{use-common-filters-Br-CoziA.js → use-common-filters-B1RKY2KD.js} +4512 -4440
- package/dist/{use-common-filters-CCXbao1t.cjs → use-common-filters-CRgYdKcV.cjs} +78 -78
- package/dist/{widget-composer-DheWJukc.cjs → widget-composer-B2r2a9Oh.cjs} +7 -7
- package/dist/{widget-composer-BCNu5BzM.js → widget-composer-I9gUFBZt.js} +121 -102
- package/package.json +7 -7
- package/dist/dimensions-BHdLQaOB.js +0 -200
- package/dist/dimensions-oGJ_aWd5.cjs +0 -1
|
@@ -1,100 +1,8 @@
|
|
|
1
1
|
import { type Filter } from '@sisense/sdk-data';
|
|
2
2
|
import { WidgetProps } from '../../props.js';
|
|
3
3
|
import { OpenMenuFn } from '../../common/components/menu/types.js';
|
|
4
|
-
import { DataPoint } from '../../types';
|
|
5
4
|
import { WidgetsOptions } from '../../index-typedoc';
|
|
6
|
-
import { JTDConfig, JTDDrillTarget } from '../../widget-by-id/types';
|
|
7
|
-
import React from 'react';
|
|
8
|
-
import { SizeMeasurement } from '../../types';
|
|
9
5
|
/**
|
|
10
|
-
* Jump to Dashboard (JTD) Filter Merging Logic:
|
|
11
|
-
*
|
|
12
|
-
* When a user clicks on a datapoint to open a JTD modal, multiple types of filters are merged:
|
|
13
|
-
*
|
|
14
|
-
* 1. **Generated Filters**: Created from the clicked datapoint's category and breakBy entries
|
|
15
|
-
* 2. **Dashboard Filters**: Current dashboard filters (filtered by includeDashFilterDims)
|
|
16
|
-
* 3. **Widget Filters**: Original widget-specific filters (filtered by includeWidgetFilterDims)
|
|
17
|
-
* 4. **Formula Context Filters**: NEW - Embedded filters from the clicked widget's datapoint calculations
|
|
18
|
-
*
|
|
19
|
-
* ## Formula Context Filters (New Feature)
|
|
20
|
-
*
|
|
21
|
-
* Formula context filters are embedded within datapoint calculations and represent intrinsic
|
|
22
|
-
* filters that are part of the measure/column computation itself. They are extracted only from
|
|
23
|
-
* the specific widget that was clicked, not from all widgets. For example:
|
|
24
|
-
*
|
|
25
|
-
* ```
|
|
26
|
-
* clickedWidget.dataOptions.value[0].column.context = {
|
|
27
|
-
* "13FC1-655": {
|
|
28
|
-
* "type": "filter",
|
|
29
|
-
* "filterType": "numeric",
|
|
30
|
-
* "attribute": { ... },
|
|
31
|
-
* "valueA": 10,
|
|
32
|
-
* "valueB": 27249.89453125
|
|
33
|
-
* }
|
|
34
|
-
* }
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* These filters:
|
|
38
|
-
* - Represent calculation constraints that are intrinsic to the clicked widget's datapoint
|
|
39
|
-
* - Are extracted from all dataOption fields of the clicked widget (value, category, breakBy, x, y, etc.)
|
|
40
|
-
* - Support both object format and string reference format
|
|
41
|
-
*
|
|
42
|
-
* ## Duplicate Filter Handling
|
|
43
|
-
*
|
|
44
|
-
* Complex formulas like `AVG(cost) - AVG(PREVMONTH(cost))` can contain multiple filters on the same dimension.
|
|
45
|
-
* The `sendFormulaFiltersDuplicate` parameter controls how duplicates are handled:
|
|
46
|
-
*
|
|
47
|
-
* - **"none"**: Exclude all duplicate filters (only include filters that appear once)
|
|
48
|
-
* - **Number (1+)**: Include only the filter at that position (1-indexed). Invalid numbers treated as "none"
|
|
49
|
-
* - **Other values**: Include only the first duplicate filter
|
|
50
|
-
*
|
|
51
|
-
* Examples:
|
|
52
|
-
* - Formula has 2 filters on Commerce.Cost dimension
|
|
53
|
-
* - `sendFormulaFiltersDuplicate = "none"` → No Cost filters included
|
|
54
|
-
* - `sendFormulaFiltersDuplicate = 1` → Include first Cost filter
|
|
55
|
-
* - `sendFormulaFiltersDuplicate = 2` → Include second Cost filter
|
|
56
|
-
* - `sendFormulaFiltersDuplicate = 3` → Invalid (out of range), treat as "none"
|
|
57
|
-
*/
|
|
58
|
-
export declare const getFormulaContextFilters: (point: DataPoint, clickedWidget: WidgetProps, jtdConfig: JTDConfig) => Filter[];
|
|
59
|
-
/**
|
|
60
|
-
* @internal
|
|
61
|
-
* Handle duplicate formula filters based on sendFormulaFiltersDuplicate parameter
|
|
62
|
-
* @param filters - The filters to handle
|
|
63
|
-
* @param sendFormulaFiltersDuplicate - The send formula filters duplicate parameter
|
|
64
|
-
* @returns The filtered filters
|
|
65
|
-
*/
|
|
66
|
-
export declare const handleFormulaDuplicateFilters: (filters: Filter[], sendFormulaFiltersDuplicate?: number | 'none') => Filter[];
|
|
67
|
-
export declare const getFiltersFromDataPoint: (point: DataPoint) => Filter[];
|
|
68
|
-
/**
|
|
69
|
-
* Filter filters based on allowed dimension names, supporting cascading filters
|
|
70
|
-
*
|
|
71
|
-
* @param filters - The filters to filter
|
|
72
|
-
* @param allowedDims - The allowed dimensions
|
|
73
|
-
* @returns The filtered filters
|
|
74
|
-
*/
|
|
75
|
-
export declare const filterByAllowedDimensions: (filters: Filter[], allowedDims?: string[]) => Filter[];
|
|
76
|
-
/**
|
|
77
|
-
* @internal
|
|
78
|
-
* Get the JTD click handler for a specific data point of the specific widget
|
|
79
|
-
* @param jtdConfig - The JTD config
|
|
80
|
-
* @param drillTarget - The drill target
|
|
81
|
-
* @param widgetProps - The widget props
|
|
82
|
-
* @param point - The data point
|
|
83
|
-
* @param dashboardFilters - The dashboard filters
|
|
84
|
-
* @param originalWidgetFilters - The original widget filters
|
|
85
|
-
* @param openModal - The open modal function
|
|
86
|
-
* @returns The JTD click handler
|
|
87
|
-
*/
|
|
88
|
-
export declare const getJtdClickHandler: (jtdConfig: JTDConfig, drillTarget: JTDDrillTarget, widgetProps: WidgetProps, point: DataPoint, dashboardFilters: Filter[], originalWidgetFilters: Filter[], openModal: (options: {
|
|
89
|
-
title: string;
|
|
90
|
-
width?: number;
|
|
91
|
-
height?: number;
|
|
92
|
-
measurement?: SizeMeasurement;
|
|
93
|
-
allowResize?: boolean;
|
|
94
|
-
content: React.ReactNode;
|
|
95
|
-
}) => Promise<string>) => () => Promise<void>;
|
|
96
|
-
/**
|
|
97
|
-
* @internal
|
|
98
6
|
* Jump to Dashboard (JTD) hook.
|
|
99
7
|
* Implements the JTD functionality for each widget with JTD config.
|
|
100
8
|
* @param widgetOptions - The widget options of the dashboard
|
|
@@ -111,3 +19,4 @@ export declare const useJtd: ({ widgetOptions, dashboardFilters, widgetFilters,
|
|
|
111
19
|
}) => {
|
|
112
20
|
connectToWidgetProps: (widgetProps: WidgetProps) => WidgetProps;
|
|
113
21
|
};
|
|
22
|
+
export * from './jtd';
|
|
@@ -64,23 +64,13 @@ export interface DashboardFiltersPanelConfig extends FiltersPanelConfig {
|
|
|
64
64
|
*/
|
|
65
65
|
export interface WidgetsPanelConfig {
|
|
66
66
|
/**
|
|
67
|
-
* If true adjust layout based on available width of widgets panel.
|
|
67
|
+
* If `true`, adjust layout based on available width of widgets panel.
|
|
68
68
|
*
|
|
69
69
|
* If not specified, the default value is `false`.
|
|
70
70
|
*/
|
|
71
71
|
responsive?: boolean;
|
|
72
72
|
/**
|
|
73
73
|
* Edit mode configuration.
|
|
74
|
-
* If enabled, an 'Edit Layout' action is visible to users on the dashboard toolbar.
|
|
75
|
-
* Clicking 'Edit Layout' opens the dashboard in editing mode, where the user can resize or reposition widgets using drag and drop.
|
|
76
|
-
* If history enabled, layout changes are temporarily stored during editing, with undo/redo buttons available on the toolbar.
|
|
77
|
-
* Finally, changes are confirmed or discarded with 'Apply' or 'Cancel' buttons.
|
|
78
|
-
*
|
|
79
|
-
* If persistence is enabled for the dashboard, changes to the layout will be saved to Fusion on clicking the 'Apply' button.
|
|
80
|
-
*
|
|
81
|
-
* This feature is in alpha.
|
|
82
|
-
*
|
|
83
|
-
* @alpha
|
|
84
74
|
*/
|
|
85
75
|
editMode?: EditModeConfig;
|
|
86
76
|
}
|
|
@@ -88,36 +78,53 @@ export interface WidgetsPanelConfig {
|
|
|
88
78
|
* Edit mode configuration
|
|
89
79
|
*/
|
|
90
80
|
export interface EditModeConfig {
|
|
91
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* If `true` the editable layout feature is enabled for the end user.
|
|
83
|
+
*
|
|
84
|
+
* If `false` the end user is unable to edit the layout of widgets in the dashboard.
|
|
85
|
+
*
|
|
86
|
+
* When persistence is enabled combined with `editMode` for a Fusion dashboard, changes to the layout will saved to Fusion.
|
|
92
87
|
*
|
|
93
88
|
* @default false
|
|
94
89
|
*/
|
|
95
90
|
enabled: boolean;
|
|
96
91
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
92
|
+
* Indicates whether the dashboard is currently in edit mode.
|
|
93
|
+
*
|
|
94
|
+
* If set, this controls whether editing is currently in progress,
|
|
95
|
+
* which by default is automatically managed from UI interactions with the dashboard toolbar menu/buttons.
|
|
96
|
+
*
|
|
99
97
|
* */
|
|
100
98
|
isEditing?: boolean;
|
|
101
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* Configuration for the edit mode user experience
|
|
101
|
+
*/
|
|
102
102
|
applyChangesAsBatch?: {
|
|
103
103
|
/**
|
|
104
|
-
* If true
|
|
104
|
+
* If `true`, a history of changes will be accumulated during editing,
|
|
105
|
+
* and users may undo/redo through the history of changes made during the current edit.
|
|
106
|
+
*
|
|
107
|
+
* The current layout state will be applied to the dashboard when the user clicks 'Apply',
|
|
105
108
|
* or discarded when the user clicks 'Cancel'.
|
|
106
109
|
*
|
|
107
|
-
* If false
|
|
110
|
+
* If `false`, the layout changes will be applied immediately after the user makes each change,
|
|
108
111
|
* without confirmation or the ability to cancel/undo.
|
|
109
112
|
*
|
|
110
113
|
* @default: true
|
|
111
114
|
* */
|
|
112
115
|
enabled: boolean;
|
|
113
116
|
/**
|
|
114
|
-
* The maximum number of history items to keep.
|
|
117
|
+
* The maximum number of history items to keep while applying changes in batch mode.
|
|
118
|
+
*
|
|
119
|
+
* History will be temporarily stored in the browser during editing.
|
|
115
120
|
*
|
|
116
121
|
* @default 20
|
|
117
122
|
*/
|
|
118
123
|
historyLimit?: number;
|
|
119
124
|
};
|
|
120
|
-
/**
|
|
125
|
+
/**
|
|
126
|
+
* Determines whether the drag handle icon should be displayed on the
|
|
127
|
+
* header of each widget when layout editing is possible.
|
|
121
128
|
*
|
|
122
129
|
* @default true
|
|
123
130
|
*/
|
|
@@ -13,6 +13,7 @@ export type DynamicSizeContainerProps = {
|
|
|
13
13
|
height?: boolean;
|
|
14
14
|
};
|
|
15
15
|
onSizeChange?: (size: ContainerSize) => void;
|
|
16
|
+
debounceMs?: number;
|
|
16
17
|
};
|
|
17
18
|
/**
|
|
18
19
|
* A container component that adjusts its content size according to provided sizes
|
|
@@ -37,4 +38,4 @@ export type DynamicSizeContainerProps = {
|
|
|
37
38
|
* @param {DynamicSizeContainerProps} props - DynamicSizeContainer properties.
|
|
38
39
|
* @returns {JSX.Element} The DynamicSizeContainer component.
|
|
39
40
|
*/
|
|
40
|
-
export declare const DynamicSizeContainer: ({ children, defaultSize, size, rerenderOnResize, useContentSize, onSizeChange, }: DynamicSizeContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare const DynamicSizeContainer: ({ children, defaultSize, size, rerenderOnResize, useContentSize, onSizeChange, debounceMs, }: DynamicSizeContainerProps) => import("react/jsx-runtime").JSX.Element;
|
package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/utils.d.ts
CHANGED
|
@@ -5,3 +5,11 @@ export declare function createExcludeMembersFilter(attribute: Attribute, members
|
|
|
5
5
|
export declare function getMembersWithoutDeactivated(filter: Filter, selectedMembers: string[]): string[];
|
|
6
6
|
export declare function getMembersWithDeactivated(filter: Filter): string[];
|
|
7
7
|
export declare function getConfigWithUpdatedDeactivated(filter: Filter, selectedMembers: string[]): import("@sisense/sdk-data").FilterConfig;
|
|
8
|
+
/**
|
|
9
|
+
* Returns the granularities that are restricted by the parent filters (previous cascading levels)
|
|
10
|
+
*
|
|
11
|
+
* @param datetimeAttribute - The datetime attribute
|
|
12
|
+
* @param parentFilters - The parent filters
|
|
13
|
+
* @returns The restricted granularities
|
|
14
|
+
*/
|
|
15
|
+
export declare function getRestrictedGranularities(datetimeAttribute: Attribute, parentFilters?: Filter[]): string[];
|
|
@@ -13,5 +13,6 @@ export declare function translateTabbersOptions(widgets?: WidgetDto[]): TabbersO
|
|
|
13
13
|
* @param dashboard - The dashboard DTO to replace shared formulas in
|
|
14
14
|
* @param api - The REST API instance
|
|
15
15
|
* @returns The dashboard DTO with shared formulas, defined by id references, replaced
|
|
16
|
+
* @internal
|
|
16
17
|
*/
|
|
17
18
|
export declare function withSharedFormulas(dashboard: DashboardDto, api: RestApi): Promise<DashboardDto>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CommonFiltersOptions } from '../../common-filters/types';
|
|
2
2
|
import { ColorPaletteTheme, TabberConfig } from '../../types';
|
|
3
|
-
import {
|
|
3
|
+
import { JtdConfig } from '../../widget-by-id/types';
|
|
4
4
|
export type { CommonFiltersOptions, CommonFiltersApplyMode, FiltersIgnoringRules, } from '../../common-filters/types';
|
|
5
5
|
/**
|
|
6
6
|
* Part of Dashboard layout, which describes how widgets are arranged in a cell
|
|
@@ -14,6 +14,22 @@ export interface WidgetsPanelCell {
|
|
|
14
14
|
* @internal
|
|
15
15
|
*/
|
|
16
16
|
height?: number | string;
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
minHeight?: number;
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
maxHeight?: number;
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
minWidth?: number;
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
maxWidth?: number;
|
|
17
33
|
widgetId: string;
|
|
18
34
|
}
|
|
19
35
|
/**
|
|
@@ -54,7 +70,7 @@ export type WidgetsOptions = Record<WidgetId, {
|
|
|
54
70
|
* Jump to dashboard config for widgets
|
|
55
71
|
@internal
|
|
56
72
|
*/
|
|
57
|
-
jtdConfig?:
|
|
73
|
+
jtdConfig?: JtdConfig;
|
|
58
74
|
}>;
|
|
59
75
|
/**
|
|
60
76
|
* Options for TabberWidets in a dashboard
|
|
@@ -2,7 +2,7 @@ import type { PivotTableDataOptions } from '../../../chart-data-options/types.js
|
|
|
2
2
|
import type { DateFormatter, HeaderCellFormatter } from '../types.js';
|
|
3
3
|
export declare const createHeaderCellValueFormatter: (dataOptions: PivotTableDataOptions, dateFormatter: DateFormatter) => HeaderCellFormatter;
|
|
4
4
|
/**
|
|
5
|
-
* Formats the date time string.
|
|
5
|
+
* Formats the date time string or Date object.
|
|
6
6
|
* If the date is invalid, it returns the original value.
|
|
7
7
|
*/
|
|
8
|
-
export declare function formatDatetimeString(value: string, dateFormatter: DateFormatter, dateFormat?: string): string;
|
|
8
|
+
export declare function formatDatetimeString(value: string | Date, dateFormatter: DateFormatter, dateFormat?: string): string;
|
|
@@ -114,6 +114,16 @@ export interface SisenseContextProviderProps {
|
|
|
114
114
|
*
|
|
115
115
|
*/
|
|
116
116
|
enableSilentPreAuth?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Alternative host to use for SSO authentication.
|
|
119
|
+
* Used **only** when the SSO Login URL is configured as a *relative* url.
|
|
120
|
+
* If not specified, the default value is `''`.
|
|
121
|
+
*
|
|
122
|
+
* @category Sisense Authentication
|
|
123
|
+
*
|
|
124
|
+
* @internal
|
|
125
|
+
*/
|
|
126
|
+
alternativeSsoHost?: string;
|
|
117
127
|
}
|
|
118
128
|
/**
|
|
119
129
|
* Props for {@link ExecuteQuery} component.
|
|
@@ -4,6 +4,6 @@ import { SisenseChartProps, SisenseChartType } from './types';
|
|
|
4
4
|
/**
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
|
-
export declare const SisenseChart: ({ chartType, chartData, dataOptions, designOptions, onDataPointClick, onDataPointContextMenu, onDataPointsSelected, onBeforeRender, }: SisenseChartProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
export declare const SisenseChart: ({ chartType, chartData, dataOptions, designOptions, onDataPointClick, onDataPointContextMenu, onDataPointsSelected, onBeforeRender, size, }: SisenseChartProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
8
8
|
export declare const isSisenseChartType: (chartType: ChartType) => chartType is SisenseChartType;
|
|
9
9
|
export declare const isSisenseChartProps: (props: ChartRendererProps) => props is SisenseChartProps;
|
|
@@ -15,5 +15,9 @@ export interface SisenseChartProps {
|
|
|
15
15
|
onDataPointContextMenu?: SisenseChartDataPointEventHandler;
|
|
16
16
|
onDataPointsSelected?: SisenseChartDataPointsEventHandler;
|
|
17
17
|
onBeforeRender?: BeforeRenderHandler;
|
|
18
|
+
size?: {
|
|
19
|
+
width?: number;
|
|
20
|
+
height?: number;
|
|
21
|
+
};
|
|
18
22
|
}
|
|
19
23
|
export type SisenseChartType = CartesianChartType | CategoricalChartType | ScatterChartType | BoxplotChartType;
|
|
@@ -382,6 +382,7 @@ export declare const resources: {
|
|
|
382
382
|
};
|
|
383
383
|
jumpToDashboard: {
|
|
384
384
|
defaultCaption: string;
|
|
385
|
+
jumpableTooltip: string;
|
|
385
386
|
};
|
|
386
387
|
};
|
|
387
388
|
uk: {
|
|
@@ -758,6 +759,7 @@ export declare const resources: {
|
|
|
758
759
|
};
|
|
759
760
|
jumpToDashboard: {
|
|
760
761
|
defaultCaption: string;
|
|
762
|
+
jumpableTooltip: string;
|
|
761
763
|
};
|
|
762
764
|
};
|
|
763
765
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses an ISO date string with timezone handling.
|
|
3
|
+
* If the date string doesn't have a timezone offset, it appends 'Z' (UTC) to ensure consistent parsing.
|
|
4
|
+
* This prevents parseISO from adding timezone based on daylight saving time.
|
|
5
|
+
*
|
|
6
|
+
* @param dateString - The ISO date string to parse
|
|
7
|
+
* @returns A Date object parsed from the string
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseISOWithTimezoneCheck(dateString: string): Date;
|
|
@@ -47,7 +47,7 @@ export interface WidgetDto {
|
|
|
47
47
|
drillHistory?: PanelItem[];
|
|
48
48
|
usedFormulasMapping?: any;
|
|
49
49
|
};
|
|
50
|
-
drillToDashboardConfig?:
|
|
50
|
+
drillToDashboardConfig?: JtdConfigDto;
|
|
51
51
|
style: WidgetStyle;
|
|
52
52
|
title: string;
|
|
53
53
|
desc: string | null;
|
|
@@ -514,11 +514,11 @@ export type TextWidgetDtoStyle = {
|
|
|
514
514
|
textAlign: 'center';
|
|
515
515
|
};
|
|
516
516
|
};
|
|
517
|
-
export type
|
|
517
|
+
export type JtdDrillTarget = {
|
|
518
518
|
caption: string;
|
|
519
519
|
id: string;
|
|
520
520
|
};
|
|
521
|
-
export type
|
|
521
|
+
export type JtdConfigDto = {
|
|
522
522
|
drilledDashboardPrefix: string;
|
|
523
523
|
drilledDashboardsFolderPrefix: string;
|
|
524
524
|
displayFilterPane: boolean;
|
|
@@ -547,7 +547,7 @@ export type JTDConfigDto = {
|
|
|
547
547
|
showFolderNameOnMenuSelection: boolean;
|
|
548
548
|
resetDashFiltersAfterJTD: boolean;
|
|
549
549
|
sameCubeRestriction: boolean;
|
|
550
|
-
showJTDIcon
|
|
550
|
+
showJTDIcon?: boolean;
|
|
551
551
|
sendPieChartMeasureFiltersOnClick: boolean;
|
|
552
552
|
forceZeroInsteadNull: boolean;
|
|
553
553
|
mergeTargetDashboardFilters: boolean;
|
|
@@ -560,26 +560,26 @@ export type JTDConfigDto = {
|
|
|
560
560
|
includeDashFilterDims?: string[];
|
|
561
561
|
includeWidgetFilterDims?: string[];
|
|
562
562
|
};
|
|
563
|
-
export declare enum
|
|
563
|
+
export declare enum JtdNavigateType {
|
|
564
564
|
CLICK = "click",
|
|
565
565
|
RIGHT_CLICK = "rightclick",
|
|
566
566
|
PIVOT_LINK = "pivotlink",
|
|
567
567
|
BLOX = "blox"
|
|
568
568
|
}
|
|
569
|
-
export type
|
|
569
|
+
export type JtdConfig = {
|
|
570
570
|
drilledDashboardPrefix?: string;
|
|
571
571
|
displayFilterPane?: boolean;
|
|
572
572
|
displayToolbarRow?: boolean;
|
|
573
573
|
drillToDashboardRightMenuCaption?: string;
|
|
574
|
-
navigateType?:
|
|
574
|
+
navigateType?: JtdNavigateType;
|
|
575
575
|
includeDashFilterDims?: string[];
|
|
576
576
|
includeWidgetFilterDims?: string[];
|
|
577
|
-
drillTargets:
|
|
577
|
+
drillTargets: JtdDrillTarget[];
|
|
578
578
|
modalWindowResize?: boolean;
|
|
579
579
|
modalWindowMeasurement?: SizeMeasurement;
|
|
580
580
|
modalWindowWidth?: number;
|
|
581
581
|
modalWindowHeight?: number;
|
|
582
|
-
|
|
582
|
+
showJtdIcon?: boolean;
|
|
583
583
|
mergeTargetDashboardFilters?: boolean;
|
|
584
584
|
sendFormulaFiltersDuplicate?: number | 'none' | undefined;
|
|
585
585
|
enabled?: boolean;
|
|
@@ -16,6 +16,29 @@ export declare function getFusionWidgetType(widgetType: WidgetType, chartType?:
|
|
|
16
16
|
export declare function getWidgetType(fusionWidgetType: FusionWidgetType): WidgetType;
|
|
17
17
|
export declare function getChartSubtype(widgetSubtype: WidgetSubtype): ChartSubtype | undefined;
|
|
18
18
|
export declare function isSupportedWidgetType(fusionWidgetType: FusionWidgetType): fusionWidgetType is FusionWidgetType;
|
|
19
|
+
/**
|
|
20
|
+
* Widget types that support Jump To Dashboard (JTD) functionality
|
|
21
|
+
*
|
|
22
|
+
* Supported types:
|
|
23
|
+
* - Pie chart with no categories, Pie chart
|
|
24
|
+
* - Indicator
|
|
25
|
+
* - Text widget
|
|
26
|
+
* - Column chart, Bar chart, Line chart, Area chart
|
|
27
|
+
* - Pivot
|
|
28
|
+
* - Scatter chart, Polar chart
|
|
29
|
+
* - Blox
|
|
30
|
+
*
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export declare const JTD_SUPPORTED_WIDGET_TYPES: FusionWidgetType[];
|
|
34
|
+
/**
|
|
35
|
+
* Check if the widget type supports Jump To Dashboard (JTD)
|
|
36
|
+
*
|
|
37
|
+
* @param fusionWidgetType - The fusion widget type
|
|
38
|
+
* @returns True if the widget type supports JTD, false otherwise
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export declare function widgetTypeSupportsJtd(fusionWidgetType: FusionWidgetType): boolean;
|
|
19
42
|
export declare function isTableFusionWidget(fusionWidgetType: FusionWidgetType): boolean;
|
|
20
43
|
export declare function isTableWidgetModel(widgetModel: WidgetModel): boolean;
|
|
21
44
|
export declare function isPivotTableFusionWidget(fusionWidgetType: FusionWidgetType): boolean;
|
|
@@ -26,6 +49,9 @@ export declare function isTextWidgetDtoStyle(widgetStyle: WidgetStyle): widgetSt
|
|
|
26
49
|
export declare function isCustomWidgetFusionWidget(fusionWidgetType: FusionWidgetType): boolean;
|
|
27
50
|
export declare function isCustomWidget(widgetType: WidgetType): boolean;
|
|
28
51
|
export declare function isChartFusionWidget(fusionWidgetType: FusionWidgetType): boolean;
|
|
52
|
+
export declare function isChartTypeFusionWidget(fusionWidgetType: FusionWidgetType): boolean;
|
|
53
|
+
export declare function isPieChartFusionWidget(fusionWidgetType: FusionWidgetType): boolean;
|
|
54
|
+
export declare function isIndicatorFusionWidget(fusionWidgetType: FusionWidgetType): boolean;
|
|
29
55
|
export declare function isChartWidget(widgetType: WidgetType): boolean;
|
|
30
56
|
/**
|
|
31
57
|
* Type guard for checking if the widget props is for a text widget.
|