@sisense/sdk-ui-angular 1.34.0 → 2.1.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 (104) hide show
  1. package/dist/ai/lib/components/chatbot.component.d.ts +0 -5
  2. package/dist/ai/lib/components/get-nlg-insights.component.d.ts +0 -5
  3. package/dist/ai/lib/sdk-ai.module.d.ts +0 -1
  4. package/dist/ai/lib/sdk-ui-core-exports.d.ts +1 -1
  5. package/dist/ai/lib/services/ai.service.d.ts +12 -7
  6. package/dist/esm2020/ai/lib/components/chatbot.component.mjs +1 -6
  7. package/dist/esm2020/ai/lib/components/get-nlg-insights.component.mjs +1 -6
  8. package/dist/esm2020/ai/lib/sdk-ai.module.mjs +1 -2
  9. package/dist/esm2020/ai/lib/sdk-ui-core-exports.mjs +1 -1
  10. package/dist/esm2020/ai/lib/services/ai.service.mjs +3 -7
  11. package/dist/esm2020/lib/components/charts/area-chart.component.mjs +1 -1
  12. package/dist/esm2020/lib/components/charts/area-range-chart.component.mjs +1 -2
  13. package/dist/esm2020/lib/components/charts/areamap-chart.component.mjs +1 -1
  14. package/dist/esm2020/lib/components/charts/bar-chart.component.mjs +1 -1
  15. package/dist/esm2020/lib/components/charts/boxplot-chart.component.mjs +1 -1
  16. package/dist/esm2020/lib/components/charts/chart.component.mjs +1 -1
  17. package/dist/esm2020/lib/components/charts/column-chart.component.mjs +1 -1
  18. package/dist/esm2020/lib/components/charts/funnel-chart.component.mjs +1 -1
  19. package/dist/esm2020/lib/components/charts/indicator-chart.component.mjs +1 -1
  20. package/dist/esm2020/lib/components/charts/line-chart.component.mjs +1 -1
  21. package/dist/esm2020/lib/components/charts/pie-chart.component.mjs +1 -1
  22. package/dist/esm2020/lib/components/charts/polar-chart.component.mjs +1 -1
  23. package/dist/esm2020/lib/components/charts/scatter-chart.component.mjs +1 -1
  24. package/dist/esm2020/lib/components/charts/scattermap-chart.component.mjs +1 -1
  25. package/dist/esm2020/lib/components/charts/sunburst-chart.component.mjs +1 -1
  26. package/dist/esm2020/lib/components/charts/table.component.mjs +1 -1
  27. package/dist/esm2020/lib/components/charts/treemap-chart.component.mjs +1 -1
  28. package/dist/esm2020/lib/components/dashboard/dashboard.component.mjs +4 -3
  29. package/dist/esm2020/lib/components/filters/filter-tile.component.mjs +147 -0
  30. package/dist/esm2020/lib/components/filters/index.mjs +2 -1
  31. package/dist/esm2020/lib/components/filters/member-filter-tile.component.mjs +2 -2
  32. package/dist/esm2020/lib/components/widgets/chart-widget.component.mjs +2 -2
  33. package/dist/esm2020/lib/components/widgets/drilldown-widget.component.mjs +2 -5
  34. package/dist/esm2020/lib/components/widgets/index.mjs +2 -2
  35. package/dist/esm2020/lib/components/widgets/widget-by-id.component.mjs +1 -1
  36. package/dist/esm2020/lib/components/widgets/widget.component.mjs +168 -0
  37. package/dist/esm2020/lib/helpers/dashboard-props-preact-translator.mjs +14 -0
  38. package/dist/esm2020/lib/helpers/event-emitter-with-has-listeners.mjs +31 -0
  39. package/dist/esm2020/lib/helpers/index.mjs +2 -0
  40. package/dist/esm2020/lib/helpers/widget-props-preact-translator.mjs +37 -0
  41. package/dist/esm2020/lib/sdk-ui-core-exports.mjs +1 -1
  42. package/dist/esm2020/lib/sdk-ui.module.mjs +12 -8
  43. package/dist/esm2020/lib/services/dashboard.service.mjs +86 -2
  44. package/dist/esm2020/lib/services/query.service.mjs +5 -4
  45. package/dist/esm2020/lib/types/chart-event-props.mjs +1 -1
  46. package/dist/esm2020/lib/types/data-point.mjs +1 -1
  47. package/dist/esm2020/lib/types/filter-event-props.mjs +2 -0
  48. package/dist/esm2020/lib/types/index.mjs +2 -1
  49. package/dist/esm2020/lib/utilities/dashboard-helpers.mjs +2 -14
  50. package/dist/esm2020/public-api.mjs +1 -1
  51. package/dist/esm2020/version.mjs +2 -2
  52. package/dist/fesm2015/sisense-sdk-ui-angular-ai.mjs +2 -17
  53. package/dist/fesm2015/sisense-sdk-ui-angular-ai.mjs.map +1 -1
  54. package/dist/fesm2015/sisense-sdk-ui-angular.mjs +456 -146
  55. package/dist/fesm2015/sisense-sdk-ui-angular.mjs.map +1 -1
  56. package/dist/fesm2020/sisense-sdk-ui-angular-ai.mjs +2 -17
  57. package/dist/fesm2020/sisense-sdk-ui-angular-ai.mjs.map +1 -1
  58. package/dist/fesm2020/sisense-sdk-ui-angular.mjs +482 -144
  59. package/dist/fesm2020/sisense-sdk-ui-angular.mjs.map +1 -1
  60. package/dist/lib/components/charts/area-chart.component.d.ts +0 -1
  61. package/dist/lib/components/charts/area-range-chart.component.d.ts +0 -2
  62. package/dist/lib/components/charts/areamap-chart.component.d.ts +4 -6
  63. package/dist/lib/components/charts/bar-chart.component.d.ts +0 -1
  64. package/dist/lib/components/charts/boxplot-chart.component.d.ts +6 -7
  65. package/dist/lib/components/charts/chart.component.d.ts +3 -4
  66. package/dist/lib/components/charts/column-chart.component.d.ts +0 -1
  67. package/dist/lib/components/charts/funnel-chart.component.d.ts +0 -1
  68. package/dist/lib/components/charts/indicator-chart.component.d.ts +2 -3
  69. package/dist/lib/components/charts/line-chart.component.d.ts +0 -1
  70. package/dist/lib/components/charts/pie-chart.component.d.ts +0 -1
  71. package/dist/lib/components/charts/polar-chart.component.d.ts +0 -1
  72. package/dist/lib/components/charts/scatter-chart.component.d.ts +6 -7
  73. package/dist/lib/components/charts/scattermap-chart.component.d.ts +4 -6
  74. package/dist/lib/components/charts/sunburst-chart.component.d.ts +0 -1
  75. package/dist/lib/components/charts/table.component.d.ts +0 -1
  76. package/dist/lib/components/charts/treemap-chart.component.d.ts +0 -1
  77. package/dist/lib/components/dashboard/dashboard.component.d.ts +6 -1
  78. package/dist/lib/components/filters/filter-tile.component.d.ts +125 -0
  79. package/dist/lib/components/filters/index.d.ts +1 -0
  80. package/dist/lib/components/filters/member-filter-tile.component.d.ts +1 -1
  81. package/dist/lib/components/widgets/chart-widget.component.d.ts +4 -5
  82. package/dist/lib/components/widgets/drilldown-widget.component.d.ts +1 -8
  83. package/dist/lib/components/widgets/index.d.ts +1 -1
  84. package/dist/lib/components/widgets/widget-by-id.component.d.ts +0 -1
  85. package/dist/lib/components/widgets/widget.component.d.ts +209 -0
  86. package/dist/lib/helpers/dashboard-props-preact-translator.d.ts +4 -0
  87. package/dist/lib/helpers/event-emitter-with-has-listeners.d.ts +24 -0
  88. package/dist/lib/helpers/index.d.ts +1 -0
  89. package/dist/lib/helpers/widget-props-preact-translator.d.ts +4 -0
  90. package/dist/lib/sdk-ui-core-exports.d.ts +1 -1
  91. package/dist/lib/sdk-ui.module.d.ts +20 -19
  92. package/dist/lib/services/dashboard.service.d.ts +79 -1
  93. package/dist/lib/services/query.service.d.ts +2 -8
  94. package/dist/lib/types/chart-event-props.d.ts +9 -10
  95. package/dist/lib/types/data-point.d.ts +18 -11
  96. package/dist/lib/types/filter-event-props.d.ts +35 -0
  97. package/dist/lib/types/index.d.ts +1 -0
  98. package/dist/lib/utilities/dashboard-helpers.d.ts +0 -10
  99. package/dist/package.json +4 -4
  100. package/dist/public-api.d.ts +1 -1
  101. package/dist/version.d.ts +1 -1
  102. package/package.json +7 -7
  103. package/dist/esm2020/lib/components/widgets/dashboard-widget.component.mjs +0 -117
  104. package/dist/lib/components/widgets/dashboard-widget.component.d.ts +0 -120
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Injectable, Inject, NgModule, Optional, EventEmitter, Component, ViewChild, Input, Output } from '@angular/core';
3
- import { DataObserver, CustomThemeProvider, CustomSisenseContextProvider, CustomPluginsProvider, createClientApplication, getDashboardModel, getDashboardModels, getHierarchyModels, executeQuery, executeQueryByWidgetId, executePivotQuery, HookAdapter, useExecuteCsvQueryInternal, getWidgetModel, getDefaultThemeSettings, getThemeSettingsByOid, ComponentAdapter, Chart, PivotTable, Table, ContextMenu, createWrapperElement, Dashboard, DashboardById, DrilldownBreadcrumbs, CriteriaFilterTile, DateRangeFilterTile, MemberFilterTile, RelativeDateFilterTile, ChartWidget, DashboardWidget, DrilldownWidget, createWrapperElementHandler, createComponentRenderer, PivotTableWidget, TableWidget, WidgetById, dashboardModelTranslator as dashboardModelTranslator$1, dashboardHelpers as dashboardHelpers$1, widgetModelTranslator as widgetModelTranslator$1 } from '@sisense/sdk-ui-preact';
3
+ import { DataObserver, CustomThemeProvider, CustomSisenseContextProvider, CustomPluginsProvider, createClientApplication, getDashboardModel, getDashboardModels, HookAdapter, useComposedDashboardInternal, createHookApiFacade, getHierarchyModels, executeQuery, executeQueryByWidgetId, executePivotQuery, useExecuteCsvQueryInternal, getWidgetModel, getDefaultThemeSettings, getThemeSettingsByOid, ComponentAdapter, Chart, PivotTable, Table, ContextMenu, createWrapperElement, Dashboard, DashboardById, DrilldownBreadcrumbs, CriteriaFilterTile, DateRangeFilterTile, FilterTile, MemberFilterTile, RelativeDateFilterTile, ChartWidget, DrilldownWidget, createWrapperElementHandler, createComponentRenderer, PivotTableWidget, TableWidget, Widget, WidgetById, dashboardModelTranslator as dashboardModelTranslator$1, dashboardHelpers as dashboardHelpers$1, widgetModelTranslator as widgetModelTranslator$1 } from '@sisense/sdk-ui-preact';
4
4
  export { boxWhiskerProcessResult } from '@sisense/sdk-ui-preact';
5
5
  import { __decorate } from 'tslib';
6
6
  import { BehaviorSubject } from 'rxjs';
@@ -173,7 +173,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
173
173
  args: [SISENSE_CONTEXT_CONFIG_TOKEN]
174
174
  }] }]; } });
175
175
 
176
- var packageVersion = '1.34.0';
176
+ var packageVersion = '2.1.0';
177
+
178
+ function translateToPreactWidgetProps(widgetProps) {
179
+ const { beforeRender, dataReady, beforeMenuOpen, dataPointClick, dataPointContextMenu, dataPointsSelect, ...commonWidgetProps } = widgetProps;
180
+ return {
181
+ ...commonWidgetProps,
182
+ onBeforeRender: beforeRender,
183
+ onDataReady: dataReady,
184
+ onBeforeMenuOpen: beforeMenuOpen,
185
+ onDataPointClick: dataPointClick
186
+ ? (...[point, nativeEvent]) => dataPointClick({ point, nativeEvent })
187
+ : undefined,
188
+ onDataPointContextMenu: dataPointContextMenu
189
+ ? (...[point, nativeEvent]) => dataPointContextMenu({ point, nativeEvent })
190
+ : undefined,
191
+ onDataPointsSelected: dataPointsSelect
192
+ ? (...[points, nativeEvent]) => dataPointsSelect({ points, nativeEvent })
193
+ : undefined,
194
+ };
195
+ }
196
+ function translateFromPreactWidgetProps(widgetProps) {
197
+ const { onBeforeRender, onDataReady, onBeforeMenuOpen, onDataPointClick, onDataPointContextMenu, onDataPointsSelected, ...commonWidgetProps } = widgetProps;
198
+ return {
199
+ ...commonWidgetProps,
200
+ beforeRender: onBeforeRender,
201
+ dataReady: onDataReady,
202
+ beforeMenuOpen: onBeforeMenuOpen,
203
+ dataPointClick: onDataPointClick
204
+ ? ({ point, nativeEvent }) => onDataPointClick(point, nativeEvent)
205
+ : undefined,
206
+ dataPointContextMenu: onDataPointContextMenu
207
+ ? ({ point, nativeEvent }) => onDataPointContextMenu(point, nativeEvent)
208
+ : undefined,
209
+ dataPointsSelect: onDataPointsSelected
210
+ ? ({ points, nativeEvent }) => onDataPointsSelected(points, nativeEvent)
211
+ : undefined,
212
+ };
213
+ }
214
+
215
+ function translateToPreactDashboardProps(dashboardProps) {
216
+ return {
217
+ ...dashboardProps,
218
+ widgets: dashboardProps.widgets.map(translateToPreactWidgetProps),
219
+ };
220
+ }
221
+ function translateFromPreactDashboardProps(dashboardProps) {
222
+ return {
223
+ ...dashboardProps,
224
+ widgets: dashboardProps.widgets.map(translateFromPreactWidgetProps),
225
+ };
226
+ }
177
227
 
178
228
  /**
179
229
  * Service for working with Sisense Fusion dashboards.
@@ -208,6 +258,87 @@ let DashboardService = class DashboardService {
208
258
  const app = await this.sisenseContextService.getApp();
209
259
  return getDashboardModels(app.httpClient, options);
210
260
  }
261
+ /**
262
+ * Сomposes dashboard or separate dashboard elements into a coordinated dashboard
263
+ * with cross filtering, and change detection.
264
+ *
265
+ * @example
266
+ * An example of using the `createComposedDashboard` to construct a composed dashboard and render it:
267
+ * ```html
268
+ <!--Component HTML template in example.component.html-->
269
+ <div *ngIf="dashboard$ | async as dashboard">
270
+ <csdk-filter-tile
271
+ *ngFor="let filter of getDashboardFilters(dashboard); trackBy: trackByIndex"
272
+ [filter]="filter"
273
+ />
274
+ <csdk-widget
275
+ *ngFor="let widget of dashboard.widgets; trackBy: trackByIndex"
276
+ [id]="widget.id"
277
+ [widgetType]="widget.widgetType"
278
+ [chartType]="widget.chartType"
279
+ [pluginType]="widget.pluginType"
280
+ [dataSource]="widget.dataSource"
281
+ [dataOptions]="widget.dataOptions"
282
+ [filters]="widget.filters"
283
+ [highlights]="widget.highlights"
284
+ [styleOptions]="widget.styleOptions"
285
+ [drilldownOptions]="widget.drilldownOptions"
286
+ [title]="widget.title"
287
+ [description]="widget.description"
288
+ [beforeMenuOpen]="widget.beforeMenuOpen"
289
+ (dataPointClick)="widget.dataPointClick?.($event)"
290
+ (dataPointContextMenu)="widget.dataPointContextMenu?.($event)"
291
+ (dataPointsSelect)="widget.dataPointsSelect?.($event)"
292
+ />
293
+ </div>
294
+ * ```
295
+ *
296
+ * ```ts
297
+ // Component behavior in example.component.ts
298
+ import { Component } from '@angular/core';
299
+ import { BehaviorSubject } from 'rxjs';
300
+ import { DashboardService, type DashboardProps } from '@sisense/sdk-ui-angular';
301
+
302
+ @Component({
303
+ selector: 'example',
304
+ templateUrl: './example.component.html',
305
+ styleUrls: ['./example.component.scss'],
306
+ })
307
+ export class ExampleComponent {
308
+ dashboard$: BehaviorSubject<DashboardProps> | undefined;
309
+
310
+ constructor(private dashboardService: DashboardService) {}
311
+
312
+ ngOnInit() {
313
+ const initialDashboard: DashboardProps = { ... };
314
+ const composedDashboard = this.dashboardService.createComposedDashboard(initialDashboard);
315
+ this.dashboard$ = composedDashboard.dashboard$;
316
+ }
317
+
318
+ trackByIndex = (index: number) => index;
319
+
320
+ getDashboardFilters = ({ filters }: DashboardProps) => Array.isArray(filters) ? filters : [];
321
+ }
322
+ * ```
323
+ * @param initialDashboard - Initial dashboard
324
+ * @param options - Configuration options
325
+ * @returns Reactive composed dashboard object and API methods for interacting with it
326
+ */
327
+ createComposedDashboard(initialDashboard, options = {}) {
328
+ const hookAdapter = new HookAdapter((useComposedDashboardInternal), [createSisenseContextConnector(this.sisenseContextService)]);
329
+ const dashboard$ = new BehaviorSubject(initialDashboard);
330
+ hookAdapter.subscribe(({ dashboard }) => {
331
+ dashboard$.next(translateFromPreactDashboardProps(dashboard));
332
+ });
333
+ hookAdapter.run(translateToPreactDashboardProps(initialDashboard), options);
334
+ const setFilters = createHookApiFacade(hookAdapter, 'setFilters', true);
335
+ const setWidgetsLayout = createHookApiFacade(hookAdapter, 'setWidgetsLayout', true);
336
+ return {
337
+ dashboard$,
338
+ setFilters,
339
+ setWidgetsLayout,
340
+ };
341
+ }
211
342
  };
212
343
  DashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
213
344
  DashboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, providedIn: 'root' });
@@ -326,7 +457,7 @@ let QueryService = class QueryService {
326
457
  * @return Query result
327
458
  */
328
459
  async executeQuery(params) {
329
- const { dataSource, dimensions, measures, filters, highlights, count, offset, beforeQuery, onBeforeQuery, } = params;
460
+ const { dataSource, dimensions, measures, filters, highlights, count, offset, ungroup, beforeQuery, } = params;
330
461
  const app = await this.sisenseContextService.getApp();
331
462
  const { filters: filterList, relations: filterRelations } = getFilterListAndRelationsJaql(filters);
332
463
  const data = await executeQuery({
@@ -338,7 +469,8 @@ let QueryService = class QueryService {
338
469
  highlights,
339
470
  count,
340
471
  offset,
341
- }, app, { onBeforeQuery: beforeQuery ?? onBeforeQuery });
472
+ ungroup,
473
+ }, app, { onBeforeQuery: beforeQuery });
342
474
  return { data };
343
475
  }
344
476
  /**
@@ -352,7 +484,7 @@ let QueryService = class QueryService {
352
484
  return executeQueryByWidgetId({
353
485
  ...params,
354
486
  app,
355
- onBeforeQuery: params.beforeQuery ?? params.onBeforeQuery,
487
+ onBeforeQuery: params.beforeQuery,
356
488
  });
357
489
  }
358
490
  /**
@@ -976,7 +1108,6 @@ export class AnalyticsComponent {
976
1108
  * ```
977
1109
  * <img src="media://angular-area-range-chart-example.png" width="800px" />
978
1110
  * @group Charts
979
- * @beta
980
1111
  */
981
1112
  class AreaRangeChartComponent {
982
1113
  constructor() {
@@ -3107,7 +3238,7 @@ class DashboardComponent {
3107
3238
  }
3108
3239
  }
3109
3240
  getPreactComponentProps() {
3110
- return {
3241
+ return translateToPreactDashboardProps({
3111
3242
  title: this.title,
3112
3243
  layoutOptions: this.layoutOptions,
3113
3244
  config: this.config,
@@ -3116,7 +3247,7 @@ class DashboardComponent {
3116
3247
  defaultDataSource: this.defaultDataSource,
3117
3248
  widgetsOptions: this.widgetsOptions,
3118
3249
  styleOptions: this.styleOptions,
3119
- };
3250
+ });
3120
3251
  }
3121
3252
  /**
3122
3253
  * @internal
@@ -3608,6 +3739,175 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3608
3739
  type: Output
3609
3740
  }] } });
3610
3741
 
3742
+ /**
3743
+ * An extended version of Angular's `EventEmitter` that tracks
3744
+ * whether any listeners (subscribers) are attached.
3745
+ *
3746
+ * Useful when you need to know if an `@Output()` is being observed
3747
+ * in the template (i.e., bound with `(event)="..."`).
3748
+ *
3749
+ * @template T - The type of values emitted by the EventEmitter.
3750
+ */
3751
+ class EventEmitterWithHasListeners extends EventEmitter {
3752
+ constructor() {
3753
+ super(...arguments);
3754
+ /**
3755
+ * Indicates whether the EventEmitter has at least one active subscriber.
3756
+ */
3757
+ this.hasListeners = false;
3758
+ }
3759
+ /**
3760
+ * Overrides the default `subscribe()` method to set `hasListeners` to true
3761
+ * when a new subscriber is added.
3762
+ *
3763
+ * @param args - The arguments passed to the `subscribe()` method.
3764
+ * @returns A subscription object used to unsubscribe from the event.
3765
+ */
3766
+ subscribe(...args) {
3767
+ this.hasListeners = true;
3768
+ return super.subscribe(...args);
3769
+ }
3770
+ }
3771
+
3772
+ /**
3773
+ * UI component that renders a filter tile based on filter type
3774
+ *
3775
+ * @example
3776
+ * Here’s how to render a filter model as a filter tile.
3777
+ *
3778
+ * ```html
3779
+ <!--Component HTML template in example.component.html-->
3780
+ <csdk-filter-tile
3781
+ [filter]="filterTileProps.filter"
3782
+ (filterChange)="filterTileProps.filterChange($event)"
3783
+ />
3784
+ * ```
3785
+ *
3786
+ * ```ts
3787
+ // Component behavior in example.component.ts
3788
+ import { Component } from '@angular/core';
3789
+ import { type FilterTileProps } from '@sisense/sdk-ui-angular';
3790
+ import { filterFactory } from '@sisense/sdk-data';
3791
+ import * as DM from '../../assets/sample-healthcare-model';
3792
+
3793
+ @Component({
3794
+ selector: 'example',
3795
+ templateUrl: './example.component.html',
3796
+ styleUrls: ['./example.component.scss'],
3797
+ })
3798
+ export class ExampleComponent {
3799
+ filterTileProps: FilterTileProps = {
3800
+ filter: filterFactory.members(DM.ER.Date.Years, ['2013-01-01T00:00:00']),
3801
+ filterChange({ filter }) {
3802
+ if (filter) {
3803
+ this.filter = filter;
3804
+ }
3805
+ },
3806
+ };
3807
+ }
3808
+ * ```
3809
+ * <img src="media://angular-member-filter-tile-example.png" width="225px" />
3810
+ * @group Filter Tiles
3811
+ * @shortDescription Facade component rendering a filter tile based on filter type
3812
+ */
3813
+ class FilterTileComponent {
3814
+ /**
3815
+ * Constructor for the `FilterTileComponent`.
3816
+ *
3817
+ * @param sisenseContextService - Sisense context service
3818
+ * @param themeService - Theme service
3819
+ */
3820
+ constructor(
3821
+ /**
3822
+ * Sisense context service
3823
+ *
3824
+ * @category Constructor
3825
+ */
3826
+ sisenseContextService,
3827
+ /**
3828
+ * Theme service
3829
+ *
3830
+ * @category Constructor
3831
+ */
3832
+ themeService) {
3833
+ this.sisenseContextService = sisenseContextService;
3834
+ this.themeService = themeService;
3835
+ /**
3836
+ * {@inheritDoc FilterTileProps.filterChange}
3837
+ */
3838
+ this.filterChange = new EventEmitter();
3839
+ /**
3840
+ * {@inheritDoc FilterTileProps.filterEdit}
3841
+ */
3842
+ this.filterEdit = new EventEmitterWithHasListeners();
3843
+ /**
3844
+ * {@inheritDoc FilterTileProps.filterDelete}
3845
+ */
3846
+ this.filterDelete = new EventEmitterWithHasListeners();
3847
+ this.componentAdapter = new ComponentAdapter(FilterTile, [
3848
+ createSisenseContextConnector(this.sisenseContextService),
3849
+ createThemeContextConnector(this.themeService),
3850
+ ]);
3851
+ }
3852
+ /**
3853
+ * @internal
3854
+ */
3855
+ ngAfterViewInit() {
3856
+ this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());
3857
+ }
3858
+ /**
3859
+ * @internal
3860
+ */
3861
+ ngOnChanges() {
3862
+ if (this.preactRef) {
3863
+ this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());
3864
+ }
3865
+ }
3866
+ getPreactComponentProps() {
3867
+ const hasFilterEditListeners = this.filterEdit
3868
+ .hasListeners;
3869
+ const hasFilterDeleteListeners = this.filterDelete
3870
+ .hasListeners;
3871
+ return {
3872
+ filter: this.filter,
3873
+ defaultDataSource: this.defaultDataSource,
3874
+ onChange: (...[filter]) => this.filterChange.emit({ filter }),
3875
+ ...(hasFilterEditListeners && {
3876
+ onEdit: (...[levelIndex]) => this.filterEdit.emit({ levelIndex }),
3877
+ }),
3878
+ ...(hasFilterDeleteListeners && { onDelete: () => this.filterDelete.emit() }),
3879
+ };
3880
+ }
3881
+ /**
3882
+ * @internal
3883
+ */
3884
+ ngOnDestroy() {
3885
+ this.componentAdapter.destroy();
3886
+ }
3887
+ }
3888
+ FilterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterTileComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
3889
+ FilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FilterTileComponent, selector: "csdk-filter-tile", inputs: { filter: "filter", defaultDataSource: "defaultDataSource" }, outputs: { filterChange: "filterChange", filterEdit: "filterEdit", filterDelete: "filterDelete" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
3890
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterTileComponent, decorators: [{
3891
+ type: Component,
3892
+ args: [{
3893
+ selector: 'csdk-filter-tile',
3894
+ template,
3895
+ }]
3896
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
3897
+ type: ViewChild,
3898
+ args: [rootId]
3899
+ }], filter: [{
3900
+ type: Input
3901
+ }], defaultDataSource: [{
3902
+ type: Input
3903
+ }], filterChange: [{
3904
+ type: Output
3905
+ }], filterEdit: [{
3906
+ type: Output
3907
+ }], filterDelete: [{
3908
+ type: Output
3909
+ }] } });
3910
+
3611
3911
  /**
3612
3912
  * Member Filter Tile Component
3613
3913
  *
@@ -3642,7 +3942,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3642
3942
  * };
3643
3943
  * }
3644
3944
  * ```
3645
- * <img src="media://angular-member-filter-tile-example.png" width="400px" />
3945
+ * <img src="media://angular-member-filter-tile-example.png" width="225px" />
3646
3946
  * @group Filter Tiles
3647
3947
  */
3648
3948
  class MemberFilterTileComponent {
@@ -3908,7 +4208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3908
4208
  *
3909
4209
  * }
3910
4210
  * ```
3911
- * <img src="media://angular-chart-widget-example.png" width="800px" />
4211
+ * <img src="media://angular-chart-widget-example.png" width="500px" />
3912
4212
  * @group Dashboards
3913
4213
  */
3914
4214
  class ChartWidgetComponent {
@@ -4015,116 +4315,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4015
4315
  type: Output
4016
4316
  }] } });
4017
4317
 
4018
- /**
4019
- * The Dashboard Widget component, which is a thin wrapper on {@link ChartWidgetComponent},
4020
- * is used to render a widget created in a Sisense Fusion instance.
4021
- *
4022
- * To learn more about using Sisense Fusion Widgets in Compose SDK, see
4023
- * [Sisense Fusion Widgets](https://sisense.dev/guides/sdk/guides/charts/guide-fusion-widgets.html).
4024
- *
4025
- * @example
4026
- * ```html
4027
- * <csdk-dashboard-widget
4028
- * [widgetOid]="widgetOid"
4029
- * [dashboardOid]="dashboardOid"
4030
- * [includeDashboardFilters]="true"
4031
- * />
4032
- * ```
4033
- * ```ts
4034
- * import { Component } from '@angular/core';
4035
- * import { ChartType } from '@sisense/sdk-ui-angular';
4036
- * import { filterFactory, measureFactory } from '@sisense/sdk-data';
4037
- * import * as DM from '../../assets/sample-healthcare-model';
4038
- *
4039
- * @Component({
4040
- * selector: 'app-widgets',
4041
- * templateUrl: './widgets.component.html',
4042
- * styleUrls: ['./widgets.component.scss'],
4043
- * })
4044
- * export class WidgetsComponent {
4045
- * widgetOid: string = '60f3e3e3e4b0e3e3e4b0e3e3';
4046
- * dashboardOid: string = '60f3e3e3e4b0e3e3e4b0e3e3';
4047
- * }
4048
- * ```
4049
- * @group Fusion Assets
4050
- * @deprecated Use the `widget-by-id` component instead.
4051
- * @fusionEmbed
4052
- */
4053
- class DashboardWidgetComponent {
4054
- constructor(sisenseContextService, themeService) {
4055
- this.sisenseContextService = sisenseContextService;
4056
- this.themeService = themeService;
4057
- this.componentAdapter = new ComponentAdapter(DashboardWidget, [
4058
- createSisenseContextConnector(this.sisenseContextService),
4059
- createThemeContextConnector(this.themeService),
4060
- ]);
4061
- }
4062
- /** @internal */
4063
- ngAfterViewInit() {
4064
- this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());
4065
- }
4066
- /** @internal */
4067
- ngOnChanges() {
4068
- if (this.preactRef) {
4069
- this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());
4070
- }
4071
- }
4072
- /** @internal */
4073
- getPreactComponentProps() {
4074
- return {
4075
- widgetOid: this.widgetOid,
4076
- dashboardOid: this.dashboardOid,
4077
- filters: this.filters,
4078
- highlights: this.highlights,
4079
- filtersMergeStrategy: this.filtersMergeStrategy,
4080
- includeDashboardFilters: this.includeDashboardFilters,
4081
- title: this.title,
4082
- description: this.description,
4083
- styleOptions: this.styleOptions,
4084
- highlightSelectionDisabled: this.highlightSelectionDisabled,
4085
- drilldownOptions: this.drilldownOptions,
4086
- };
4087
- }
4088
- /** @internal */
4089
- ngOnDestroy() {
4090
- this.componentAdapter.destroy();
4091
- }
4092
- }
4093
- DashboardWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
4094
- DashboardWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DashboardWidgetComponent, selector: "csdk-dashboard-widget", inputs: { widgetOid: "widgetOid", dashboardOid: "dashboardOid", filters: "filters", highlights: "highlights", filtersMergeStrategy: "filtersMergeStrategy", includeDashboardFilters: "includeDashboardFilters", title: "title", description: "description", styleOptions: "styleOptions", highlightSelectionDisabled: "highlightSelectionDisabled", drilldownOptions: "drilldownOptions" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
4095
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetComponent, decorators: [{
4096
- type: Component,
4097
- args: [{
4098
- selector: 'csdk-dashboard-widget',
4099
- template,
4100
- }]
4101
- }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
4102
- type: ViewChild,
4103
- args: [rootId]
4104
- }], widgetOid: [{
4105
- type: Input
4106
- }], dashboardOid: [{
4107
- type: Input
4108
- }], filters: [{
4109
- type: Input
4110
- }], highlights: [{
4111
- type: Input
4112
- }], filtersMergeStrategy: [{
4113
- type: Input
4114
- }], includeDashboardFilters: [{
4115
- type: Input
4116
- }], title: [{
4117
- type: Input
4118
- }], description: [{
4119
- type: Input
4120
- }], styleOptions: [{
4121
- type: Input
4122
- }], highlightSelectionDisabled: [{
4123
- type: Input
4124
- }], drilldownOptions: [{
4125
- type: Input
4126
- }] } });
4127
-
4128
4318
  /**
4129
4319
  * An Angular component designed to add drilldown functionality to any type of chart.
4130
4320
  *
@@ -4242,7 +4432,6 @@ class DrilldownWidgetComponent {
4242
4432
  }
4243
4433
  getPreactComponentProps() {
4244
4434
  return {
4245
- drilldownDimensions: this.drilldownDimensions,
4246
4435
  drilldownPaths: this.drilldownPaths,
4247
4436
  initialDimension: this.initialDimension,
4248
4437
  config: {
@@ -4274,7 +4463,7 @@ class DrilldownWidgetComponent {
4274
4463
  }
4275
4464
  }
4276
4465
  DrilldownWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownWidgetComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
4277
- DrilldownWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DrilldownWidgetComponent, selector: "csdk-drilldown-widget", inputs: { drilldownDimensions: "drilldownDimensions", drilldownPaths: "drilldownPaths", initialDimension: "initialDimension", config: "config" }, outputs: { drilldownResultChange: "drilldownResultChange" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }, { propertyName: "preactContentRef", first: true, predicate: ["preactContent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\">\n <div #preactContent style=\"width: 100%; height: 100%\">\n <ng-content></ng-content>\n </div>\n </div>\n", isInline: true });
4466
+ DrilldownWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DrilldownWidgetComponent, selector: "csdk-drilldown-widget", inputs: { drilldownPaths: "drilldownPaths", initialDimension: "initialDimension", config: "config" }, outputs: { drilldownResultChange: "drilldownResultChange" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }, { propertyName: "preactContentRef", first: true, predicate: ["preactContent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\">\n <div #preactContent style=\"width: 100%; height: 100%\">\n <ng-content></ng-content>\n </div>\n </div>\n", isInline: true });
4278
4467
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownWidgetComponent, decorators: [{
4279
4468
  type: Component,
4280
4469
  args: [{
@@ -4287,8 +4476,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4287
4476
  }], preactContentRef: [{
4288
4477
  type: ViewChild,
4289
4478
  args: [rootContentId]
4290
- }], drilldownDimensions: [{
4291
- type: Input
4292
4479
  }], drilldownPaths: [{
4293
4480
  type: Input
4294
4481
  }], initialDimension: [{
@@ -4515,6 +4702,166 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4515
4702
  type: Input
4516
4703
  }] } });
4517
4704
 
4705
+ /**
4706
+ * Facade component that renders a widget within a dashboard based on the widget type.
4707
+ *
4708
+ * @example
4709
+ * ```html
4710
+ <!--Component HTML template in example.component.html-->
4711
+ <csdk-widget
4712
+ [id]="widgetProps.id"
4713
+ [title]="widgetProps.title"
4714
+ [widgetType]="widgetProps.widgetType"
4715
+ [chartType]="widgetProps.chartType"
4716
+ [dataSource]="widgetProps.dataSource"
4717
+ [dataOptions]="widgetProps.dataOptions"
4718
+ />
4719
+ * ```
4720
+ *
4721
+ * ```ts
4722
+ // Component behavior in example.component.ts
4723
+ import { Component } from '@angular/core';
4724
+ import { type WidgetProps } from '@sisense/sdk-ui-angular';
4725
+
4726
+ @Component({
4727
+ selector: 'example',
4728
+ templateUrl: './example.component.html',
4729
+ styleUrls: ['./example.component.scss'],
4730
+ })
4731
+ export class ExampleComponent {
4732
+ widgetProps: WidgetProps = {
4733
+ id: 'widget-id',
4734
+ widgetType: 'chart',
4735
+ chartType: 'column',
4736
+ title: 'Widget Title',
4737
+ dataSource: DM.DataSource,
4738
+ dataOptions: {
4739
+ category: [DM.Divisions.Divison_name],
4740
+ value: [measureFactory.sum(DM.Admissions.Cost_of_admission)],
4741
+ breakBy: [],
4742
+ },
4743
+ };
4744
+ }
4745
+ * ```
4746
+ * <img src="media://angular-chart-widget-example.png" width="500px" />
4747
+ * @group Dashboards
4748
+ */
4749
+ class WidgetComponent {
4750
+ constructor(sisenseContextService, themeService) {
4751
+ this.sisenseContextService = sisenseContextService;
4752
+ this.themeService = themeService;
4753
+ /**
4754
+ * {@inheritDoc @sisense/sdk-ui!ChartWidgetProps.onDataPointClick}
4755
+ *
4756
+ * @category Callbacks
4757
+ */
4758
+ this.dataPointClick = new EventEmitter();
4759
+ /**
4760
+ * {@inheritDoc @sisense/sdk-ui!ChartWidgetProps.onDataPointContextMenu}
4761
+ *
4762
+ * @category Callbacks
4763
+ */
4764
+ this.dataPointContextMenu = new EventEmitter();
4765
+ /**
4766
+ * {@inheritDoc @sisense/sdk-ui!ChartWidgetProps.onDataPointsSelected}
4767
+ *
4768
+ * @category Callbacks
4769
+ */
4770
+ this.dataPointsSelect = new EventEmitter();
4771
+ this.componentAdapter = new ComponentAdapter(Widget, [
4772
+ createSisenseContextConnector(this.sisenseContextService),
4773
+ createThemeContextConnector(this.themeService),
4774
+ ]);
4775
+ }
4776
+ /** @internal */
4777
+ ngAfterViewInit() {
4778
+ this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());
4779
+ }
4780
+ /** @internal */
4781
+ ngOnChanges() {
4782
+ if (this.preactRef) {
4783
+ this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());
4784
+ }
4785
+ }
4786
+ getPreactComponentProps() {
4787
+ return translateToPreactWidgetProps({
4788
+ id: this.id,
4789
+ widgetType: this.widgetType,
4790
+ chartType: this.chartType,
4791
+ pluginType: this.pluginType,
4792
+ dataSource: this.dataSource,
4793
+ dataOptions: this.dataOptions,
4794
+ filters: this.filters,
4795
+ highlights: this.highlights,
4796
+ styleOptions: this.styleOptions,
4797
+ drilldownOptions: this.drilldownOptions,
4798
+ title: this.title,
4799
+ description: this.description,
4800
+ highlightSelectionDisabled: this.highlightSelectionDisabled,
4801
+ beforeRender: this.beforeRender?.bind(this),
4802
+ dataReady: this.dataReady?.bind(this),
4803
+ beforeMenuOpen: this.beforeMenuOpen?.bind(this),
4804
+ dataPointClick: this.dataPointClick.emit.bind(this.dataPointClick),
4805
+ dataPointContextMenu: this.dataPointContextMenu.emit.bind(this.dataPointContextMenu),
4806
+ dataPointsSelect: this.dataPointsSelect.emit.bind(this.dataPointsSelect),
4807
+ });
4808
+ }
4809
+ /** @internal */
4810
+ ngOnDestroy() {
4811
+ this.componentAdapter.destroy();
4812
+ }
4813
+ }
4814
+ WidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WidgetComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
4815
+ WidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WidgetComponent, selector: "csdk-widget", inputs: { id: "id", widgetType: "widgetType", chartType: "chartType", pluginType: "pluginType", dataSource: "dataSource", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", drilldownOptions: "drilldownOptions", title: "title", description: "description", highlightSelectionDisabled: "highlightSelectionDisabled", beforeRender: "beforeRender", dataReady: "dataReady", beforeMenuOpen: "beforeMenuOpen" }, outputs: { dataPointClick: "dataPointClick", dataPointContextMenu: "dataPointContextMenu", dataPointsSelect: "dataPointsSelect" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
4816
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WidgetComponent, decorators: [{
4817
+ type: Component,
4818
+ args: [{
4819
+ selector: 'csdk-widget',
4820
+ template,
4821
+ }]
4822
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
4823
+ type: ViewChild,
4824
+ args: [rootId]
4825
+ }], id: [{
4826
+ type: Input
4827
+ }], widgetType: [{
4828
+ type: Input
4829
+ }], chartType: [{
4830
+ type: Input
4831
+ }], pluginType: [{
4832
+ type: Input
4833
+ }], dataSource: [{
4834
+ type: Input
4835
+ }], dataOptions: [{
4836
+ type: Input
4837
+ }], filters: [{
4838
+ type: Input
4839
+ }], highlights: [{
4840
+ type: Input
4841
+ }], styleOptions: [{
4842
+ type: Input
4843
+ }], drilldownOptions: [{
4844
+ type: Input
4845
+ }], title: [{
4846
+ type: Input
4847
+ }], description: [{
4848
+ type: Input
4849
+ }], highlightSelectionDisabled: [{
4850
+ type: Input
4851
+ }], beforeRender: [{
4852
+ type: Input
4853
+ }], dataReady: [{
4854
+ type: Input
4855
+ }], beforeMenuOpen: [{
4856
+ type: Input
4857
+ }], dataPointClick: [{
4858
+ type: Output
4859
+ }], dataPointContextMenu: [{
4860
+ type: Output
4861
+ }], dataPointsSelect: [{
4862
+ type: Output
4863
+ }] } });
4864
+
4518
4865
  /**
4519
4866
  * The `WidgetById` component, which is a thin wrapper on {@link ChartWidgetComponent},
4520
4867
  * is used to render a widget created in a Sisense Fusion instance.
@@ -4670,7 +5017,6 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
4670
5017
  TreemapChartComponent,
4671
5018
  SunburstChartComponent,
4672
5019
  TableWidgetComponent,
4673
- DashboardWidgetComponent,
4674
5020
  WidgetByIdComponent,
4675
5021
  MemberFilterTileComponent,
4676
5022
  DrilldownWidgetComponent,
@@ -4685,7 +5031,9 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
4685
5031
  PivotTableComponent,
4686
5032
  DashboardByIdComponent,
4687
5033
  DashboardComponent,
4688
- PivotTableWidgetComponent], imports: [CommonModule, DecoratorsModule], exports: [ChartComponent,
5034
+ PivotTableWidgetComponent,
5035
+ FilterTileComponent,
5036
+ WidgetComponent], imports: [CommonModule, DecoratorsModule], exports: [ChartComponent,
4689
5037
  TableComponent,
4690
5038
  ChartWidgetComponent,
4691
5039
  ColumnChartComponent,
@@ -4701,7 +5049,6 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
4701
5049
  TreemapChartComponent,
4702
5050
  SunburstChartComponent,
4703
5051
  TableWidgetComponent,
4704
- DashboardWidgetComponent,
4705
5052
  WidgetByIdComponent,
4706
5053
  MemberFilterTileComponent,
4707
5054
  DrilldownWidgetComponent,
@@ -4716,7 +5063,9 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
4716
5063
  PivotTableComponent,
4717
5064
  DashboardByIdComponent,
4718
5065
  DashboardComponent,
4719
- PivotTableWidgetComponent] });
5066
+ PivotTableWidgetComponent,
5067
+ FilterTileComponent,
5068
+ WidgetComponent] });
4720
5069
  SdkUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, imports: [CommonModule, DecoratorsModule] });
4721
5070
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, decorators: [{
4722
5071
  type: NgModule,
@@ -4738,7 +5087,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4738
5087
  TreemapChartComponent,
4739
5088
  SunburstChartComponent,
4740
5089
  TableWidgetComponent,
4741
- DashboardWidgetComponent,
4742
5090
  WidgetByIdComponent,
4743
5091
  MemberFilterTileComponent,
4744
5092
  DrilldownWidgetComponent,
@@ -4754,6 +5102,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4754
5102
  DashboardByIdComponent,
4755
5103
  DashboardComponent,
4756
5104
  PivotTableWidgetComponent,
5105
+ FilterTileComponent,
5106
+ WidgetComponent,
4757
5107
  ],
4758
5108
  imports: [CommonModule, DecoratorsModule],
4759
5109
  exports: [
@@ -4773,7 +5123,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4773
5123
  TreemapChartComponent,
4774
5124
  SunburstChartComponent,
4775
5125
  TableWidgetComponent,
4776
- DashboardWidgetComponent,
4777
5126
  WidgetByIdComponent,
4778
5127
  MemberFilterTileComponent,
4779
5128
  DrilldownWidgetComponent,
@@ -4789,6 +5138,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4789
5138
  DashboardByIdComponent,
4790
5139
  DashboardComponent,
4791
5140
  PivotTableWidgetComponent,
5141
+ FilterTileComponent,
5142
+ WidgetComponent,
4792
5143
  ],
4793
5144
  providers: [],
4794
5145
  }]
@@ -4920,18 +5271,6 @@ const addFilters = (dashboard, newFilters) => {
4920
5271
  const replaceFilter = (dashboard, filterToReplace, newFilter) => {
4921
5272
  return dashboardHelpers$1.replaceFilter(dashboard, filterToReplace, newFilter);
4922
5273
  };
4923
- /**
4924
- * {@inheritDoc @sisense/sdk-ui!dashboardHelpers.modifyFilter}
4925
- *
4926
- * @deprecated Use {@link replaceFilter} instead
4927
- * @param dashboard - The original dashboard (`DashboardProps`) containing the filter to modify.
4928
- * @param filterToModify - The existing filter to be modified.
4929
- * @param newFilter - The new filter to replace the existing one.
4930
- * @returns A new dashboard instance with the specified filter modified.
4931
- */
4932
- const modifyFilter = (dashboard, filterToModify, newFilter) => {
4933
- return dashboardHelpers$1.modifyFilter(dashboard, filterToModify, newFilter);
4934
- };
4935
5274
  /**
4936
5275
  * {@inheritDoc @sisense/sdk-ui!dashboardHelpers.removeFilter}
4937
5276
  *
@@ -4971,7 +5310,6 @@ var dashboardHelpers = /*#__PURE__*/Object.freeze({
4971
5310
  __proto__: null,
4972
5311
  addFilter: addFilter,
4973
5312
  addFilters: addFilters,
4974
- modifyFilter: modifyFilter,
4975
5313
  removeFilter: removeFilter,
4976
5314
  removeFilters: removeFilters,
4977
5315
  replaceFilter: replaceFilter,
@@ -5301,5 +5639,5 @@ var widgetModelTranslator = /*#__PURE__*/Object.freeze({
5301
5639
  * Generated bundle index. Do not edit.
5302
5640
  */
5303
5641
 
5304
- export { AreaChartComponent, AreaRangeChartComponent, AreamapChartComponent, BarChartComponent, BoxplotChartComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, CriteriaFilterTileComponent, DashboardByIdComponent, DashboardComponent, DashboardService, DashboardWidgetComponent, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FunnelChartComponent, HierarchyService, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PivotTableComponent, PivotTableWidgetComponent, PluginsService, PolarChartComponent, QueryService, RelativeDateFilterTileComponent, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, ScattermapChartComponent, SdkUiModule, SisenseContextService, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TrackableService, TreemapChartComponent, WidgetByIdComponent, WidgetService, createPluginsContextConnector, createSisenseContextConnector, createThemeContextConnector, dashboardHelpers, dashboardModelTranslator, widgetModelTranslator };
5642
+ export { AreaChartComponent, AreaRangeChartComponent, AreamapChartComponent, BarChartComponent, BoxplotChartComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, CriteriaFilterTileComponent, DashboardByIdComponent, DashboardComponent, DashboardService, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FilterTileComponent, FunnelChartComponent, HierarchyService, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PivotTableComponent, PivotTableWidgetComponent, PluginsService, PolarChartComponent, QueryService, RelativeDateFilterTileComponent, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, ScattermapChartComponent, SdkUiModule, SisenseContextService, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TrackableService, TreemapChartComponent, WidgetByIdComponent, WidgetComponent, WidgetService, createPluginsContextConnector, createSisenseContextConnector, createThemeContextConnector, dashboardHelpers, dashboardModelTranslator, widgetModelTranslator };
5305
5643
  //# sourceMappingURL=sisense-sdk-ui-angular.mjs.map