@sisense/sdk-ui-angular 1.32.0 → 1.33.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.
Files changed (44) hide show
  1. package/dist/ai/lib/components/chatbot.component.d.ts +1 -2
  2. package/dist/ai/lib/components/get-nlg-insights.component.d.ts +1 -2
  3. package/dist/esm2020/ai/lib/components/chatbot.component.mjs +2 -3
  4. package/dist/esm2020/ai/lib/components/get-nlg-insights.component.mjs +2 -3
  5. package/dist/esm2020/lib/components/dashboard/dashboard-by-id.component.mjs +4 -4
  6. package/dist/esm2020/lib/components/dashboard/dashboard.component.mjs +1 -1
  7. package/dist/esm2020/lib/components/widgets/index.mjs +2 -1
  8. package/dist/esm2020/lib/components/widgets/pivot-table-widget.component.mjs +127 -0
  9. package/dist/esm2020/lib/sdk-ui-core-exports.mjs +2 -2
  10. package/dist/esm2020/lib/sdk-ui.module.mjs +8 -4
  11. package/dist/esm2020/lib/services/query.service.mjs +31 -5
  12. package/dist/esm2020/lib/types/dashboard-config.mjs +2 -0
  13. package/dist/esm2020/lib/types/index.mjs +2 -1
  14. package/dist/esm2020/lib/utilities/dashboard-helpers.mjs +119 -0
  15. package/dist/esm2020/lib/utilities/dashboard-model-translator.mjs +49 -0
  16. package/dist/esm2020/lib/utilities/index.mjs +7 -0
  17. package/dist/esm2020/lib/utilities/widget-model-translator.mjs +304 -0
  18. package/dist/esm2020/public-api.mjs +2 -1
  19. package/dist/esm2020/version.mjs +2 -2
  20. package/dist/fesm2015/sisense-sdk-ui-angular-ai.mjs +2 -4
  21. package/dist/fesm2015/sisense-sdk-ui-angular-ai.mjs.map +1 -1
  22. package/dist/fesm2015/sisense-sdk-ui-angular.mjs +663 -13
  23. package/dist/fesm2015/sisense-sdk-ui-angular.mjs.map +1 -1
  24. package/dist/fesm2020/sisense-sdk-ui-angular-ai.mjs +2 -4
  25. package/dist/fesm2020/sisense-sdk-ui-angular-ai.mjs.map +1 -1
  26. package/dist/fesm2020/sisense-sdk-ui-angular.mjs +660 -12
  27. package/dist/fesm2020/sisense-sdk-ui-angular.mjs.map +1 -1
  28. package/dist/lib/components/dashboard/dashboard-by-id.component.d.ts +8 -5
  29. package/dist/lib/components/dashboard/dashboard.component.d.ts +5 -2
  30. package/dist/lib/components/widgets/index.d.ts +1 -0
  31. package/dist/lib/components/widgets/pivot-table-widget.component.d.ts +127 -0
  32. package/dist/lib/sdk-ui-core-exports.d.ts +2 -2
  33. package/dist/lib/sdk-ui.module.d.ts +4 -3
  34. package/dist/lib/services/query.service.d.ts +29 -3
  35. package/dist/lib/types/dashboard-config.d.ts +24 -0
  36. package/dist/lib/types/index.d.ts +1 -0
  37. package/dist/lib/utilities/dashboard-helpers.d.ts +105 -0
  38. package/dist/lib/utilities/dashboard-model-translator.d.ts +47 -0
  39. package/dist/lib/utilities/index.d.ts +23 -0
  40. package/dist/lib/utilities/widget-model-translator.d.ts +289 -0
  41. package/dist/package.json +1 -1
  42. package/dist/public-api.d.ts +2 -1
  43. package/dist/version.d.ts +1 -1
  44. package/package.json +4 -4
@@ -3,11 +3,16 @@ import { type DashboardByIdProps as DashboardByIdPropsPreact } from '@sisense/sd
3
3
  import { SisenseContextService } from '../../services/sisense-context.service';
4
4
  import { ThemeService } from '../../services/theme.service';
5
5
  import { PluginsService } from '../../services/plugins.service';
6
+ import type { DashboardByIdConfig } from '../../types';
6
7
  import * as i0 from "@angular/core";
7
8
  /**
8
9
  * Props of the {@link DashboardByIdComponent}.
9
10
  */
10
11
  export interface DashboardByIdProps extends DashboardByIdPropsPreact {
12
+ /**
13
+ * {@inheritDoc @sisense/sdk-ui!DashboardByIdProps.config}
14
+ */
15
+ config?: DashboardByIdConfig;
11
16
  }
12
17
  /**
13
18
  * An Angular component used for easily rendering a dashboard by its ID created in a Sisense Fusion instance.
@@ -64,11 +69,9 @@ export declare class DashboardByIdComponent implements AfterViewInit, OnChanges,
64
69
  */
65
70
  dashboardOid: DashboardByIdProps['dashboardOid'];
66
71
  /**
67
- * {@inheritDoc @sisense/sdk-ui!DashboardByIdProps.persist}
68
- *
69
- * @alpha
72
+ * {@inheritDoc @sisense/sdk-ui!DashboardByIdProps.config}
70
73
  */
71
- persist: DashboardByIdProps['persist'];
74
+ config: DashboardByIdProps['config'];
72
75
  private componentAdapter;
73
76
  /**
74
77
  * Constructor for the `DashboardById` component.
@@ -110,5 +113,5 @@ export declare class DashboardByIdComponent implements AfterViewInit, OnChanges,
110
113
  */
111
114
  ngOnDestroy(): void;
112
115
  static ɵfac: i0.ɵɵFactoryDeclaration<DashboardByIdComponent, never>;
113
- static ɵcmp: i0.ɵɵComponentDeclaration<DashboardByIdComponent, "csdk-dashboard-by-id", never, { "dashboardOid": "dashboardOid"; "persist": "persist"; }, {}, never, never, false, never>;
116
+ static ɵcmp: i0.ɵɵComponentDeclaration<DashboardByIdComponent, "csdk-dashboard-by-id", never, { "dashboardOid": "dashboardOid"; "config": "config"; }, {}, never, never, false, never>;
114
117
  }
@@ -2,11 +2,16 @@ import { AfterViewInit, ElementRef, OnChanges, OnDestroy } from '@angular/core';
2
2
  import { type DashboardProps as DashboardPropsPreact } from '@sisense/sdk-ui-preact';
3
3
  import { SisenseContextService } from '../../services/sisense-context.service';
4
4
  import { ThemeService } from '../../services/theme.service';
5
+ import type { DashboardConfig } from '../../types';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * Props of the {@link DashboardComponent}.
8
9
  */
9
10
  export interface DashboardProps extends DashboardPropsPreact {
11
+ /**
12
+ * {@inheritDoc @sisense/sdk-ui!DashboardProps.config}
13
+ */
14
+ config?: DashboardConfig;
10
15
  }
11
16
  /**
12
17
  * An Angular component used for easily rendering a dashboard created in Sisense Fusion.
@@ -82,8 +87,6 @@ export declare class DashboardComponent implements AfterViewInit, OnChanges, OnD
82
87
  layoutOptions: DashboardProps['layoutOptions'];
83
88
  /**
84
89
  * {@inheritDoc @sisense/sdk-ui!DashboardProps.config}
85
- *
86
- * @internal
87
90
  */
88
91
  config: DashboardProps['config'];
89
92
  /**
@@ -3,3 +3,4 @@ export * from './dashboard-widget.component';
3
3
  export * from './widget-by-id.component';
4
4
  export * from './drilldown-widget.component';
5
5
  export * from './chart-widget.component';
6
+ export * from './pivot-table-widget.component';
@@ -0,0 +1,127 @@
1
+ import { AfterViewInit, ElementRef, OnChanges, OnDestroy } from '@angular/core';
2
+ import { type PivotTableWidgetProps as PivotTableWidgetPropsPreact } from '@sisense/sdk-ui-preact';
3
+ import { SisenseContextService } from '../../services';
4
+ import { ThemeService } from '../../services';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Props of the {@link PivotTableWidgetComponent}.
8
+ */
9
+ export interface PivotTableWidgetProps extends PivotTableWidgetPropsPreact {
10
+ }
11
+ /**
12
+ * The Pivot Table Widget component extends the {@link PivotTableComponent} component to support widget features,
13
+ * including a header, widget style options, and more.
14
+ *
15
+ * @example
16
+ * ```html
17
+ <csdk-pivot-table-widget
18
+ [dataSource]="pivotProps.dataSource"
19
+ [dataOptions]="pivotProps.dataOptions"
20
+ [filters]="pivotProps.filters"
21
+ [styleOptions]="pivotProps.styleOptions"
22
+ [title]="pivotProps.title"
23
+ [description]="pivotProps.description"
24
+ />
25
+ * ```
26
+ * ```ts
27
+ import { Component } from '@angular/core';
28
+ import { type PivotTableWidgetProps } from '@sisense/sdk-ui-angular';
29
+ import { measureFactory, filterFactory } from '@sisense/sdk-data';
30
+ import * as DM from '../../assets/sample-ecommerce';
31
+
32
+ @Component({
33
+ selector: 'app-analytics',
34
+ templateUrl: './analytics.component.html',
35
+ styleUrls: ['./analytics.component.scss'],
36
+ })
37
+ export class AnalyticsComponent {
38
+
39
+ pivotProps: PivotTableWidgetProps = {
40
+ dataSource: DM.DataSource,
41
+ dataOptions: {
42
+ rows: [
43
+ { column: DM.Category.Category, includeSubTotals: true },
44
+ { column: DM.Commerce.AgeRange, includeSubTotals: true },
45
+ DM.Commerce.Condition,
46
+ ],
47
+ columns: [{ column: DM.Commerce.Gender, includeSubTotals: true }],
48
+ values: [
49
+ measureFactory.sum(DM.Commerce.Cost, 'Total Cost'),
50
+ {
51
+ column: measureFactory.sum(DM.Commerce.Revenue, 'Total Revenue'),
52
+ totalsCalculation: 'sum',
53
+ dataBars: true,
54
+ },
55
+ ],
56
+ grandTotals: { title: 'Grand Total', rows: true, columns: true },
57
+ },
58
+ filters: [filterFactory.members(DM.Commerce.Gender, ['Female', 'Male'])],
59
+ styleOptions: { width: 1400, height: 600, rowsPerPage: 25 },
60
+ title: 'Pivot Table Widget',
61
+ description: 'Pivot Table Widget Description',
62
+ };
63
+ }
64
+ * ```
65
+ * <img src="media://angular-pivot-table-widget-example.png" width="800px" />
66
+ * @group Dashboards
67
+ * @beta
68
+ */
69
+ export declare class PivotTableWidgetComponent implements AfterViewInit, OnChanges, OnDestroy {
70
+ private sisenseContextService;
71
+ private themeService;
72
+ /** @internal */
73
+ preactRef: ElementRef<HTMLDivElement>;
74
+ /**
75
+ * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.dataSource}
76
+ *
77
+ * @category Data
78
+ */
79
+ dataSource: PivotTableWidgetProps['dataSource'];
80
+ /**
81
+ * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.dataOptions}
82
+ *
83
+ * @category Data
84
+ */
85
+ dataOptions: PivotTableWidgetProps['dataOptions'];
86
+ /**
87
+ * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.filters}
88
+ *
89
+ * @category Data
90
+ */
91
+ filters: PivotTableWidgetProps['filters'];
92
+ /**
93
+ * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.highlights}
94
+ *
95
+ * @category Data
96
+ */
97
+ highlights: PivotTableWidgetProps['highlights'];
98
+ /**
99
+ * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.styleOptions}
100
+ *
101
+ * @category Representation
102
+ */
103
+ styleOptions: PivotTableWidgetProps['styleOptions'];
104
+ /**
105
+ * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.title}
106
+ *
107
+ * @category Widget
108
+ */
109
+ title: PivotTableWidgetProps['title'];
110
+ /**
111
+ * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.title}
112
+ *
113
+ * @category Widget
114
+ */
115
+ description: PivotTableWidgetProps['description'];
116
+ private componentAdapter;
117
+ constructor(sisenseContextService: SisenseContextService, themeService: ThemeService);
118
+ /** @internal */
119
+ ngAfterViewInit(): void;
120
+ /** @internal */
121
+ ngOnChanges(): void;
122
+ private createPreactComponent;
123
+ /** @internal */
124
+ ngOnDestroy(): void;
125
+ static ɵfac: i0.ɵɵFactoryDeclaration<PivotTableWidgetComponent, never>;
126
+ static ɵcmp: i0.ɵɵComponentDeclaration<PivotTableWidgetComponent, "csdk-pivot-table-widget", never, { "dataSource": "dataSource"; "dataOptions": "dataOptions"; "filters": "filters"; "highlights": "highlights"; "styleOptions": "styleOptions"; "title": "title"; "description": "description"; }, {}, never, never, false, never>;
127
+ }
@@ -1,2 +1,2 @@
1
- export { boxWhiskerProcessResult, widgetModelTranslator, dashboardModelTranslator, dashboardHelpers, } from '@sisense/sdk-ui-preact';
2
- export type { ChartType, CartesianChartType, CategoricalChartType, ScatterChartType, IndicatorChartType, BoxplotChartType, ScattermapChartType, AreamapChartType, RangeChartType, TableType, AreaSubtype, LineSubtype, PieSubtype, PolarSubtype, StackableSubtype, BoxplotSubtype, WidgetType, CartesianWidgetType, CategoricalWidgetType, TabularWidgetType, ChartDataOptions, CartesianChartDataOptions, CategoricalChartDataOptions, ScatterChartDataOptions, IndicatorChartDataOptions, BoxplotChartDataOptions, BoxplotChartCustomDataOptions, ScattermapChartDataOptions, AreamapChartDataOptions, TableDataOptions, PivotTableDataOptions, WidgetDataOptions, RangeChartDataOptions, NumberFormatConfig, DecimalScale, DataColorCondition, ConditionalDataColorOptions, DataColorOptions, RangeDataColorOptions, UniformDataColorOptions, ValueToColorMap, MultiColumnValueToColorMap, SortDirection, BoxWhiskerType, ScattermapLocationLevel, StyledColumn, StyledMeasureColumn, PivotRowsSort, ChartStyleOptions, LineStyleOptions, AreaStyleOptions, StackableStyleOptions, PieStyleOptions, FunnelStyleOptions, PolarStyleOptions, IndicatorStyleOptions, NumericSimpleIndicatorStyleOptions, NumericBarIndicatorStyleOptions, GaugeIndicatorStyleOptions, ScatterStyleOptions, TreemapStyleOptions, SunburstStyleOptions, BoxplotStyleOptions, ScattermapStyleOptions, AreamapStyleOptions, ChartWidgetStyleOptions, WidgetStyleOptions, DashboardWidgetStyleOptions, WidgetByIdStyleOptions, TableStyleOptions, PivotTableStyleOptions, PivotTableWidgetStyleOptions, AreaRangeStyleOptions, DataLimits, Legend, Markers, Labels, IndicatorComponents, ScatterMarkerSize, LineWidth, AxisLabel, Convolution, SeriesLabels, X2Title, ScattermapMarkers, WidgetModel, DashboardModel, HierarchyModel, BeforeRenderHandler, DataPoint, ScatterDataPoint, HighchartsOptions, BoxplotDataPoint, IndicatorBeforeRenderHandler, IndicatorRenderOptions, DashboardLayoutOptions, DashboardConfig, WidgetsPanelLayout, WidgetsPanelColumnLayout, WidgetId, WidgetsOptions, AppConfig, DateConfig, MenuItemSection, MonthOfYear, DayOfWeek, DateLevel, ThemeOid, GetDashboardModelOptions, GetDashboardModelsOptions, SeriesChartType, MenuPosition, ThemeSettings, Color, ColorPaletteTheme, Navigator, DrilldownOptions, DrilldownSelection, Member, FilterVariant, Hierarchy, CriteriaFilterType, CommonWidgetProps, WidgetProps, } from '@sisense/sdk-ui-preact';
1
+ export { boxWhiskerProcessResult } from '@sisense/sdk-ui-preact';
2
+ export type { ChartType, CartesianChartType, CategoricalChartType, ScatterChartType, IndicatorChartType, BoxplotChartType, ScattermapChartType, AreamapChartType, RangeChartType, TableType, AreaSubtype, LineSubtype, PieSubtype, PolarSubtype, StackableSubtype, BoxplotSubtype, WidgetType, CartesianWidgetType, CategoricalWidgetType, TabularWidgetType, ChartDataOptions, CartesianChartDataOptions, CategoricalChartDataOptions, ScatterChartDataOptions, IndicatorChartDataOptions, BoxplotChartDataOptions, BoxplotChartCustomDataOptions, ScattermapChartDataOptions, AreamapChartDataOptions, TableDataOptions, PivotTableDataOptions, WidgetDataOptions, RangeChartDataOptions, NumberFormatConfig, DecimalScale, DataColorCondition, ConditionalDataColorOptions, DataColorOptions, RangeDataColorOptions, UniformDataColorOptions, ValueToColorMap, MultiColumnValueToColorMap, SortDirection, BoxWhiskerType, ScattermapLocationLevel, StyledColumn, StyledMeasureColumn, PivotRowsSort, ChartStyleOptions, LineStyleOptions, AreaStyleOptions, StackableStyleOptions, PieStyleOptions, FunnelStyleOptions, PolarStyleOptions, IndicatorStyleOptions, NumericSimpleIndicatorStyleOptions, NumericBarIndicatorStyleOptions, GaugeIndicatorStyleOptions, ScatterStyleOptions, TreemapStyleOptions, SunburstStyleOptions, BoxplotStyleOptions, ScattermapStyleOptions, AreamapStyleOptions, ChartWidgetStyleOptions, WidgetStyleOptions, DashboardWidgetStyleOptions, WidgetByIdStyleOptions, TableStyleOptions, PivotTableStyleOptions, PivotTableWidgetStyleOptions, AreaRangeStyleOptions, DataLimits, Legend, Markers, Labels, IndicatorComponents, ScatterMarkerSize, LineWidth, AxisLabel, Convolution, SeriesLabels, X2Title, ScattermapMarkers, WidgetModel, DashboardModel, HierarchyModel, BeforeRenderHandler, DataPoint, ScatterDataPoint, HighchartsOptions, BoxplotDataPoint, IndicatorBeforeRenderHandler, IndicatorRenderOptions, DashboardLayoutOptions, WidgetsPanelLayout, WidgetsPanelColumnLayout, WidgetId, WidgetsOptions, AppConfig, DateConfig, MenuItemSection, MonthOfYear, DayOfWeek, DateLevel, ThemeOid, GetDashboardModelOptions, GetDashboardModelsOptions, SeriesChartType, MenuPosition, ThemeSettings, Color, ColorPaletteTheme, Navigator, DrilldownOptions, DrilldownSelection, Member, FilterVariant, Hierarchy, CriteriaFilterType, CommonWidgetProps, WidgetProps, TextWidgetProps, } from '@sisense/sdk-ui-preact';
@@ -30,8 +30,9 @@ import * as i28 from "./components/charts/areamap-chart.component";
30
30
  import * as i29 from "./components/charts/pivot-table.component";
31
31
  import * as i30 from "./components/dashboard/dashboard-by-id.component";
32
32
  import * as i31 from "./components/dashboard/dashboard.component";
33
- import * as i32 from "@angular/common";
34
- import * as i33 from "./decorators/decorators.module";
33
+ import * as i32 from "./components/widgets/pivot-table-widget.component";
34
+ import * as i33 from "@angular/common";
35
+ import * as i34 from "./decorators/decorators.module";
35
36
  /**
36
37
  * SDK UI Module, which is a container for components.
37
38
  *
@@ -62,6 +63,6 @@ import * as i33 from "./decorators/decorators.module";
62
63
  */
63
64
  export declare class SdkUiModule {
64
65
  static ɵfac: i0.ɵɵFactoryDeclaration<SdkUiModule, never>;
65
- static ɵmod: i0.ɵɵNgModuleDeclaration<SdkUiModule, [typeof i1.ChartComponent, typeof i2.TableComponent, typeof i3.ChartWidgetComponent, typeof i4.ColumnChartComponent, typeof i5.BarChartComponent, typeof i6.AreaChartComponent, typeof i7.AreaRangeChartComponent, typeof i8.LineChartComponent, typeof i9.IndicatorChartComponent, typeof i10.ScatterChartComponent, typeof i11.PieChartComponent, typeof i12.FunnelChartComponent, typeof i13.PolarChartComponent, typeof i14.TreemapChartComponent, typeof i15.SunburstChartComponent, typeof i16.TableWidgetComponent, typeof i17.DashboardWidgetComponent, typeof i18.WidgetByIdComponent, typeof i19.MemberFilterTileComponent, typeof i20.DrilldownWidgetComponent, typeof i21.DateRangeFilterTileComponent, typeof i22.RelativeDateFilterTileComponent, typeof i23.CriteriaFilterTileComponent, typeof i24.DrilldownBreadcrumbsComponent, typeof i25.ContextMenuComponent, typeof i26.BoxplotChartComponent, typeof i27.ScattermapChartComponent, typeof i28.AreamapChartComponent, typeof i29.PivotTableComponent, typeof i30.DashboardByIdComponent, typeof i31.DashboardComponent], [typeof i32.CommonModule, typeof i33.DecoratorsModule], [typeof i1.ChartComponent, typeof i2.TableComponent, typeof i3.ChartWidgetComponent, typeof i4.ColumnChartComponent, typeof i5.BarChartComponent, typeof i6.AreaChartComponent, typeof i7.AreaRangeChartComponent, typeof i8.LineChartComponent, typeof i9.IndicatorChartComponent, typeof i10.ScatterChartComponent, typeof i11.PieChartComponent, typeof i12.FunnelChartComponent, typeof i13.PolarChartComponent, typeof i14.TreemapChartComponent, typeof i15.SunburstChartComponent, typeof i16.TableWidgetComponent, typeof i17.DashboardWidgetComponent, typeof i18.WidgetByIdComponent, typeof i19.MemberFilterTileComponent, typeof i20.DrilldownWidgetComponent, typeof i21.DateRangeFilterTileComponent, typeof i22.RelativeDateFilterTileComponent, typeof i23.CriteriaFilterTileComponent, typeof i24.DrilldownBreadcrumbsComponent, typeof i25.ContextMenuComponent, typeof i26.BoxplotChartComponent, typeof i27.ScattermapChartComponent, typeof i28.AreamapChartComponent, typeof i29.PivotTableComponent, typeof i30.DashboardByIdComponent, typeof i31.DashboardComponent]>;
66
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SdkUiModule, [typeof i1.ChartComponent, typeof i2.TableComponent, typeof i3.ChartWidgetComponent, typeof i4.ColumnChartComponent, typeof i5.BarChartComponent, typeof i6.AreaChartComponent, typeof i7.AreaRangeChartComponent, typeof i8.LineChartComponent, typeof i9.IndicatorChartComponent, typeof i10.ScatterChartComponent, typeof i11.PieChartComponent, typeof i12.FunnelChartComponent, typeof i13.PolarChartComponent, typeof i14.TreemapChartComponent, typeof i15.SunburstChartComponent, typeof i16.TableWidgetComponent, typeof i17.DashboardWidgetComponent, typeof i18.WidgetByIdComponent, typeof i19.MemberFilterTileComponent, typeof i20.DrilldownWidgetComponent, typeof i21.DateRangeFilterTileComponent, typeof i22.RelativeDateFilterTileComponent, typeof i23.CriteriaFilterTileComponent, typeof i24.DrilldownBreadcrumbsComponent, typeof i25.ContextMenuComponent, typeof i26.BoxplotChartComponent, typeof i27.ScattermapChartComponent, typeof i28.AreamapChartComponent, typeof i29.PivotTableComponent, typeof i30.DashboardByIdComponent, typeof i31.DashboardComponent, typeof i32.PivotTableWidgetComponent], [typeof i33.CommonModule, typeof i34.DecoratorsModule], [typeof i1.ChartComponent, typeof i2.TableComponent, typeof i3.ChartWidgetComponent, typeof i4.ColumnChartComponent, typeof i5.BarChartComponent, typeof i6.AreaChartComponent, typeof i7.AreaRangeChartComponent, typeof i8.LineChartComponent, typeof i9.IndicatorChartComponent, typeof i10.ScatterChartComponent, typeof i11.PieChartComponent, typeof i12.FunnelChartComponent, typeof i13.PolarChartComponent, typeof i14.TreemapChartComponent, typeof i15.SunburstChartComponent, typeof i16.TableWidgetComponent, typeof i17.DashboardWidgetComponent, typeof i18.WidgetByIdComponent, typeof i19.MemberFilterTileComponent, typeof i20.DrilldownWidgetComponent, typeof i21.DateRangeFilterTileComponent, typeof i22.RelativeDateFilterTileComponent, typeof i23.CriteriaFilterTileComponent, typeof i24.DrilldownBreadcrumbsComponent, typeof i25.ContextMenuComponent, typeof i26.BoxplotChartComponent, typeof i27.ScattermapChartComponent, typeof i28.AreamapChartComponent, typeof i29.PivotTableComponent, typeof i30.DashboardByIdComponent, typeof i31.DashboardComponent, typeof i32.PivotTableWidgetComponent]>;
66
67
  static ɵinj: i0.ɵɵInjectorDeclaration<SdkUiModule>;
67
68
  }
@@ -1,15 +1,30 @@
1
- import { type ExecuteQueryParams as ExecuteQueryParamsPreact, type ExecuteQueryByWidgetIdParams as ExecuteQueryByWidgetIdParamsPreact } from '@sisense/sdk-ui-preact';
1
+ import { type ExecuteQueryParams as ExecuteQueryParamsPreact, type ExecuteQueryByWidgetIdParams as ExecuteQueryByWidgetIdParamsPreact, type ExecutePivotQueryParams as ExecutePivotQueryParamsPreact } from '@sisense/sdk-ui-preact';
2
2
  import { SisenseContextService } from './sisense-context.service';
3
3
  import * as i0 from "@angular/core";
4
+ interface ExecuteQueryHandlers {
5
+ /** Sync or async callback that allows to modify the JAQL payload before it is sent to the server. */
6
+ beforeQuery?: ExecuteQueryParamsPreact['onBeforeQuery'];
7
+ /**
8
+ * Sync or async callback that allows to modify the JAQL payload before it is sent to the server.
9
+ *
10
+ * @deprecated Use `beforeQuery` instead.
11
+ */
12
+ onBeforeQuery?: ExecuteQueryParamsPreact['onBeforeQuery'];
13
+ }
4
14
  /**
5
15
  * Parameters for data query execution.
6
16
  */
7
- export interface ExecuteQueryParams extends Omit<ExecuteQueryParamsPreact, 'enabled'> {
17
+ export interface ExecuteQueryParams extends Omit<ExecuteQueryParamsPreact, 'enabled' | 'onBeforeQuery'>, ExecuteQueryHandlers {
8
18
  }
9
19
  /**
10
20
  * Parameters for data query by widget id execution.
11
21
  */
12
- export interface ExecuteQueryByWidgetIdParams extends Omit<ExecuteQueryByWidgetIdParamsPreact, 'enabled'> {
22
+ export interface ExecuteQueryByWidgetIdParams extends Omit<ExecuteQueryByWidgetIdParamsPreact, 'enabled' | 'onBeforeQuery'>, ExecuteQueryHandlers {
23
+ }
24
+ /**
25
+ * Parameters for pivot data query execution.
26
+ */
27
+ export interface ExecutePivotQueryParams extends Omit<ExecutePivotQueryParamsPreact, 'enabled' | 'onBeforeQuery'>, Omit<ExecuteQueryHandlers, 'onBeforeQuery'> {
13
28
  }
14
29
  /**
15
30
  * Service for executing data queries.
@@ -41,6 +56,17 @@ export declare class QueryService {
41
56
  executeQueryByWidgetId(params: ExecuteQueryByWidgetIdParams): Promise<{
42
57
  data: import("@sisense/sdk-data").QueryResultData;
43
58
  } & import("@sisense/sdk-ui-preact").QueryByWidgetIdQueryParams>;
59
+ /**
60
+ * Executes a data query for a pivot table.
61
+ *
62
+ * @param params - Pivot query parameters
63
+ * @return Pivot query result
64
+ * @beta
65
+ */
66
+ executePivotQuery(params: ExecutePivotQueryParams): Promise<{
67
+ data: import("@sisense/sdk-data").PivotQueryResultData;
68
+ }>;
44
69
  static ɵfac: i0.ɵɵFactoryDeclaration<QueryService, never>;
45
70
  static ɵprov: i0.ɵɵInjectableDeclaration<QueryService>;
46
71
  }
72
+ export {};
@@ -0,0 +1,24 @@
1
+ import type { DashboardConfig as DashboardConfigPreact, DashboardByIdConfig as DashboardByIdConfigPreact, DashboardFiltersPanelConfig as DashboardFiltersPanelConfigPreact } from '@sisense/sdk-ui-preact';
2
+ /**
3
+ * {@inheritDoc @sisense/sdk-ui!DashboardFiltersPanelConfig}
4
+ */
5
+ export interface DashboardFiltersPanelConfig extends Omit<DashboardFiltersPanelConfigPreact, 'actions'> {
6
+ }
7
+ /**
8
+ * {@inheritDoc @sisense/sdk-ui!DashboardConfig}
9
+ */
10
+ export interface DashboardConfig extends Omit<DashboardConfigPreact, 'filtersPanel'> {
11
+ /**
12
+ * {@inheritDoc @sisense/sdk-ui!DashboardConfig.filtersPanel}
13
+ */
14
+ filtersPanel?: DashboardFiltersPanelConfig;
15
+ }
16
+ /**
17
+ * {@inheritDoc @sisense/sdk-ui!DashboardByIdConfig}
18
+ */
19
+ export interface DashboardByIdConfig extends Omit<DashboardByIdConfigPreact, 'filtersPanel'> {
20
+ /**
21
+ * {@inheritDoc @sisense/sdk-ui!DashboardByIdConfig.filtersPanel}
22
+ */
23
+ filtersPanel?: DashboardFiltersPanelConfig;
24
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './utility-types';
2
2
  export * from './data-point';
3
3
  export * from './chart-event-props';
4
+ export * from './dashboard-config';
@@ -0,0 +1,105 @@
1
+ import { DashboardProps } from '../components';
2
+ import { Filter, FilterRelations } from '@sisense/sdk-data';
3
+ /**
4
+ * {@inheritDoc @sisense/sdk-ui!dashboardHelpers.replaceFilters}
5
+ *
6
+ * @example
7
+ * Replace all filters on a dashboard with a new set of filters.
8
+ * ```ts
9
+ * const existingDashboard: DashboardProps = {...}
10
+ * const newFilters: Filter[] = [{...}, {...}, ...];
11
+ * const updatedDashboard = dashboardHelpers.replaceFilters(existingDashboard, newFilters);
12
+ * ```
13
+ * @param dashboard - The original dashboard (`DashboardProps`) whose filters are to be replaced.
14
+ * @param newFilters - An array of new filters or filter relations to set on the dashboard.
15
+ * @returns A new dashboard instance with the updated filters.
16
+ */
17
+ export declare const replaceFilters: (dashboard: DashboardProps, newFilters: Filter[] | FilterRelations) => DashboardProps;
18
+ /**
19
+ * {@inheritDoc @sisense/sdk-ui!dashboardHelpers.addFilter}
20
+ *
21
+ * @example
22
+ * Add a new filter to a dashboard.
23
+ * ```ts
24
+ * const existingDashboard: DashboardProps = {...};
25
+ * const newFilter: Filter = {...};
26
+ * const updatedDashboard = dashboardHelpers.addFilter(existingDashboard, newFilter);
27
+ * ```
28
+ * @param dashboard - The original dashboard (`DashboardProps`) to which the filter will be added.
29
+ * @param newFilter - The filter to add to the dashboard.
30
+ * @returns A new dashboard instance with the new filter added.
31
+ */
32
+ export declare const addFilter: (dashboard: DashboardProps, newFilter: Filter) => DashboardProps;
33
+ /**
34
+ * {@inheritDoc @sisense/sdk-ui!dashboardHelpers.addFilters}
35
+ *
36
+ * @example
37
+ * Add multiple new filters to a dashboard.
38
+ * ```ts
39
+ * const existingDashboard: DashboardProps = {...};
40
+ * const newFilters: Filter[] = [{...}, {...}, ...];
41
+ * const updatedDashboard = dashboardHelpers.addFilters(existingDashboard, newFilters);
42
+ * ```
43
+ * @param dashboard - The original dashboard (`DashboardProps`) to which the filters will be added.
44
+ * @param newFilters - An array of filters to add to the dashboard.
45
+ * @returns A new dashboard instance with the new filters added.
46
+ */
47
+ export declare const addFilters: (dashboard: DashboardProps, newFilters: Filter[]) => DashboardProps;
48
+ /**
49
+ * {@inheritDoc @sisense/sdk-ui!dashboardHelpers.replaceFilter}
50
+ *
51
+ * @example
52
+ * Replace a filter in a dashboard.
53
+ * ```ts
54
+ * const existingDashboard: DashboardProps = {...};
55
+ * const filterToReplace: Filter = {...};
56
+ * const newFilter: Filter = {...};
57
+ * const updatedDashboard = dashboardHelpers.replaceFilter(existingDashboard, filterToReplace, newFilter);
58
+ * ```
59
+ * @param dashboard - The original dashboard (`DashboardProps`) containing the filter to be replaced.
60
+ * @param filterToReplace - The existing filter to be replaced.
61
+ * @param newFilter - The new filter to replace the existing one.
62
+ * @returns A new dashboard instance with the specified filter replaced.
63
+ */
64
+ export declare const replaceFilter: (dashboard: DashboardProps, filterToReplace: Filter, newFilter: Filter) => DashboardProps;
65
+ /**
66
+ * {@inheritDoc @sisense/sdk-ui!dashboardHelpers.modifyFilter}
67
+ *
68
+ * @deprecated Use {@link replaceFilter} instead
69
+ *
70
+ * @param dashboard - The original dashboard (`DashboardProps`) containing the filter to modify.
71
+ * @param filterToModify - The existing filter to be modified.
72
+ * @param newFilter - The new filter to replace the existing one.
73
+ * @returns A new dashboard instance with the specified filter modified.
74
+ */
75
+ export declare const modifyFilter: (dashboard: DashboardProps, filterToModify: Filter, newFilter: Filter) => DashboardProps;
76
+ /**
77
+ * {@inheritDoc @sisense/sdk-ui!dashboardHelpers.removeFilter}
78
+ *
79
+ * @example
80
+ * Remove a filter from a dashboard.
81
+ * ```ts
82
+ * const existingDashboard: DashboardProps = {...};
83
+ * const filterToRemove: Filter = {...};
84
+ * const updatedDashboard = dashboardHelpers.removeFilter(existingDashboard, filterToRemove);
85
+ * ```
86
+ * @param dashboard - The original dashboard (`DashboardProps`) from which to remove the filter.
87
+ * @param filterToRemove - The filter to be removed.
88
+ * @returns A new dashboard instance with the specified filter removed.
89
+ */
90
+ export declare const removeFilter: (dashboard: DashboardProps, filterToRemove: Filter) => DashboardProps;
91
+ /**
92
+ * {@inheritDoc @sisense/sdk-ui!dashboardHelpers.removeFilters}
93
+ *
94
+ * @example
95
+ * Remove multiple filters from a dashboard.
96
+ * ```ts
97
+ * const existingDashboard: DashboardProps = {...};
98
+ * const filtersToRemove: Filter[] = [{...}, {...}, ...];
99
+ * const updatedDashboard = dashboardHelpers.removeFilters(existingDashboard, filtersToRemove);
100
+ * ```
101
+ * @param dashboard - The original dashboard (`DashboardProps`) from which the specified filters are removed.
102
+ * @param filtersToRemove - An array of filters to remove.
103
+ * @returns A new dashboard instance with the specified filters removed.
104
+ */
105
+ export declare const removeFilters: (dashboard: DashboardProps, filtersToRemove: Filter[]) => DashboardProps;
@@ -0,0 +1,47 @@
1
+ import { type DashboardModel } from '@sisense/sdk-ui-preact';
2
+ import { type DashboardProps } from '../components';
3
+ /**
4
+ * Translates {@link DashboardModel} to {@link DashboardProps}.
5
+ *
6
+ * @example
7
+ * ```html
8
+ <csdk-dashboard
9
+ *ngIf="dashboard"
10
+ [title]="dashboard.title"
11
+ [layoutOptions]="dashboard.layoutOptions"
12
+ [widgets]="dashboard.widgets"
13
+ [filters]="dashboard.filters"
14
+ [defaultDataSource]="dashboard.defaultDataSource"
15
+ [widgetsOptions]="dashboard.widgetsOptions"
16
+ />
17
+ * ```
18
+ *
19
+ * ```ts
20
+ import { Component } from '@angular/core';
21
+ import {
22
+ type DashboardProps,
23
+ DashboardService,
24
+ dashboardModelTranslator,
25
+ } from '@sisense/sdk-ui-angular';
26
+
27
+ @Component({
28
+ selector: 'app-dashboard',
29
+ templateUrl: './dashboard.component.html',
30
+ styleUrls: ['./dashboard.component.scss'],
31
+ })
32
+ export class DashboardComponent {
33
+ dashboard: DashboardProps | null = null;
34
+
35
+ constructor(private dashboardService: DashboardService) {}
36
+
37
+ async ngOnInit(): Promise<void> {
38
+ const dashboardModel = await this.dashboardService.getDashboardModel('your-dashboard-oid', {
39
+ includeWidgets: true,
40
+ includeFilters: true,
41
+ });
42
+ this.dashboard = dashboardModelTranslator.toDashboardProps(dashboardModel);
43
+ }
44
+ }
45
+ * ```
46
+ */
47
+ export declare function toDashboardProps(dashboardModel: DashboardModel): DashboardProps;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * {@inheritDoc @sisense/sdk-ui!dashboardModelTranslator}
3
+ *
4
+ * @group Fusion Assets
5
+ * @fusionEmbed
6
+ * @shortDescription Utility functions to translate a Fusion dashboard model from and to other dashboard data structures
7
+ */
8
+ export * as dashboardModelTranslator from './dashboard-model-translator';
9
+ /**
10
+ * {@inheritDoc @sisense/sdk-ui!dashboardHelpers}
11
+ *
12
+ * @group Dashboards
13
+ * @shortDescription Utility functions to manipulate dashboard elements
14
+ */
15
+ export * as dashboardHelpers from './dashboard-helpers';
16
+ /**
17
+ * {@inheritDoc @sisense/sdk-ui!widgetModelTranslator}
18
+ *
19
+ * @group Fusion Assets
20
+ * @fusionEmbed
21
+ * @shortDescription Utility functions to translate a Fusion widget model from and to other widget data structures
22
+ */
23
+ export * as widgetModelTranslator from './widget-model-translator';