@sisense/sdk-ui-angular 0.14.0 → 0.15.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 (53) hide show
  1. package/dist/esm2020/lib/component-wrapper-helpers/template.mjs +12 -2
  2. package/dist/esm2020/lib/components/area-chart.component.mjs +3 -1
  3. package/dist/esm2020/lib/components/bar-chart.component.mjs +3 -1
  4. package/dist/esm2020/lib/components/basic-member-filter-tile.component.mjs +1 -1
  5. package/dist/esm2020/lib/components/chart-widget.component.mjs +1 -1
  6. package/dist/esm2020/lib/components/chart.component.mjs +1 -1
  7. package/dist/esm2020/lib/components/column-chart.component.mjs +3 -1
  8. package/dist/esm2020/lib/components/context-menu.component.mjs +92 -0
  9. package/dist/esm2020/lib/components/dashboard-widget.component.mjs +8 -2
  10. package/dist/esm2020/lib/components/date-range-filter-tile.component.mjs +101 -0
  11. package/dist/esm2020/lib/components/drilldown-breadcrumbs.component.mjs +100 -0
  12. package/dist/esm2020/lib/components/drilldown-widget.component.mjs +171 -0
  13. package/dist/esm2020/lib/components/funnel-chart.component.mjs +3 -1
  14. package/dist/esm2020/lib/components/index.mjs +7 -1
  15. package/dist/esm2020/lib/components/indicator-chart.component.mjs +3 -1
  16. package/dist/esm2020/lib/components/line-chart.component.mjs +3 -1
  17. package/dist/esm2020/lib/components/member-filter-tile.component.mjs +95 -0
  18. package/dist/esm2020/lib/components/pie-chart.component.mjs +3 -1
  19. package/dist/esm2020/lib/components/polar-chart.component.mjs +3 -1
  20. package/dist/esm2020/lib/components/scatter-chart.component.mjs +3 -1
  21. package/dist/esm2020/lib/components/sunburst-chart.component.mjs +86 -0
  22. package/dist/esm2020/lib/components/table-widget.component.mjs +1 -1
  23. package/dist/esm2020/lib/components/table.component.mjs +1 -1
  24. package/dist/esm2020/lib/components/treemap-chart.component.mjs +3 -1
  25. package/dist/esm2020/lib/decorators/decorators.module.mjs +19 -0
  26. package/dist/esm2020/lib/decorators/trackable.decorator.mjs +42 -0
  27. package/dist/esm2020/lib/sdk-ui.module.mjs +31 -6
  28. package/dist/esm2020/lib/services/dashboard.service.mjs +45 -0
  29. package/dist/esm2020/lib/services/index.mjs +2 -1
  30. package/dist/esm2020/lib/services/query.service.mjs +9 -3
  31. package/dist/esm2020/lib/services/theme.service.mjs +10 -4
  32. package/dist/esm2020/version.mjs +2 -0
  33. package/dist/fesm2015/sisense-sdk-ui-angular.mjs +845 -76
  34. package/dist/fesm2015/sisense-sdk-ui-angular.mjs.map +1 -1
  35. package/dist/fesm2020/sisense-sdk-ui-angular.mjs +846 -76
  36. package/dist/fesm2020/sisense-sdk-ui-angular.mjs.map +1 -1
  37. package/dist/lib/component-wrapper-helpers/template.d.ts +2 -0
  38. package/dist/lib/components/context-menu.component.d.ts +78 -0
  39. package/dist/lib/components/dashboard-widget.component.d.ts +4 -1
  40. package/dist/lib/components/date-range-filter-tile.component.d.ts +90 -0
  41. package/dist/lib/components/drilldown-breadcrumbs.component.d.ts +86 -0
  42. package/dist/lib/components/drilldown-widget.component.d.ts +146 -0
  43. package/dist/lib/components/index.d.ts +6 -0
  44. package/dist/lib/components/member-filter-tile.component.d.ts +82 -0
  45. package/dist/lib/components/sunburst-chart.component.d.ts +69 -0
  46. package/dist/lib/decorators/decorators.module.d.ts +9 -0
  47. package/dist/lib/decorators/trackable.decorator.d.ts +11 -0
  48. package/dist/lib/sdk-ui.module.d.ts +11 -4
  49. package/dist/lib/services/dashboard.service.d.ts +24 -0
  50. package/dist/lib/services/index.d.ts +1 -0
  51. package/dist/package.json +12 -13
  52. package/dist/version.d.ts +2 -0
  53. package/package.json +18 -13
@@ -1,12 +1,24 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ViewChild, Input, Output, InjectionToken, Injectable, Inject, Optional, NgModule } from '@angular/core';
3
- import { ComponentAdapter, createElement, BasicMemberFilterTile, createContextProviderRenderer, CustomThemeProvider, CustomSisenseContextProvider, createClientApplication, getDefaultThemeSettings, getThemeSettingsByOid, Chart, Table, ChartWidget, TableWidget, DashboardWidget, executeQuery, executeQueryByWidgetId } from '@sisense/sdk-ui-preact';
2
+ import { EventEmitter, Component, ViewChild, Input, Output, InjectionToken, Injectable, Inject, NgModule, Optional } from '@angular/core';
3
+ import { ComponentAdapter, createElement, BasicMemberFilterTile, createContextProviderRenderer, CustomThemeProvider, CustomSisenseContextProvider, createClientApplication, executeQuery, executeQueryByWidgetId, getDashboardModel, getDashboardModels, getDefaultThemeSettings, getThemeSettingsByOid, Chart, Table, ChartWidget, TableWidget, DashboardWidget, MemberFilterTile, createWrapperElementHandler, createWrapperElement, DrilldownWidget, createComponentRenderer, DateRangeFilterTile, DrilldownBreadcrumbs, ContextMenu } from '@sisense/sdk-ui-preact';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { map, BehaviorSubject } from 'rxjs';
6
+ import { __decorate } from 'tslib';
6
7
  import merge from 'ts-deepmerge';
8
+ import { trackProductEvent } from '@sisense/sdk-tracking';
7
9
 
8
10
  const rootId = 'preact';
9
- const template = `<div #${rootId} style="width: 100%; height: 100%"></div>`;
11
+ const rootContentId = 'preactContent';
12
+ const template = `
13
+ <div #${rootId} style="width: 100%; height: 100%"></div>
14
+ `;
15
+ const templateWithContent = `
16
+ <div #${rootId} style="width: 100%; height: 100%">
17
+ <div #${rootContentId} style="width: 100%; height: 100%">
18
+ <ng-content></ng-content>
19
+ </div>
20
+ </div>
21
+ `;
10
22
 
11
23
  /**
12
24
  * Basic Member Filter Tile Component
@@ -44,7 +56,7 @@ class BasicMemberFilterTileComponent {
44
56
  }
45
57
  }
46
58
  BasicMemberFilterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicMemberFilterTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- BasicMemberFilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BasicMemberFilterTileComponent, selector: "csdk-basic-member-filter-tile", inputs: { title: "title", allMembers: "allMembers", initialSelectedMembers: "initialSelectedMembers", maxAllowedMembers: "maxAllowedMembers" }, outputs: { selectedMembersUpdated: "selectedMembersUpdated" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div>", isInline: true });
59
+ BasicMemberFilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BasicMemberFilterTileComponent, selector: "csdk-basic-member-filter-tile", inputs: { title: "title", allMembers: "allMembers", initialSelectedMembers: "initialSelectedMembers", maxAllowedMembers: "maxAllowedMembers" }, outputs: { selectedMembersUpdated: "selectedMembersUpdated" }, 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 });
48
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicMemberFilterTileComponent, decorators: [{
49
61
  type: Component,
50
62
  args: [{
@@ -149,6 +161,143 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
149
161
  args: [SISENSE_CONTEXT_CONFIG_TOKEN]
150
162
  }] }]; } });
151
163
 
164
+ let QueryService = class QueryService {
165
+ constructor(sisenseContextService) {
166
+ this.sisenseContextService = sisenseContextService;
167
+ }
168
+ /**
169
+ * Executes a data query.
170
+ *
171
+ * @param params - Query parameters
172
+ * return Query result
173
+ */
174
+ async executeQuery(params) {
175
+ const { dataSource, dimensions, measures, filters, highlights, count, offset, onBeforeQuery } = params;
176
+ const app = await this.sisenseContextService.getApp();
177
+ const data = await executeQuery({ dataSource, dimensions, measures, filters, highlights, count, offset }, app, { onBeforeQuery });
178
+ return { data };
179
+ }
180
+ /**
181
+ * Executes a data query extracted from an existing widget in the Sisense instance.
182
+ *
183
+ * @param params - Parameters to identify the target widget
184
+ * @returns Query result
185
+ */
186
+ async executeQueryByWidgetId(params) {
187
+ const app = await this.sisenseContextService.getApp();
188
+ return executeQueryByWidgetId({
189
+ ...params,
190
+ app,
191
+ });
192
+ }
193
+ };
194
+ QueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
195
+ QueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, providedIn: 'root' });
196
+ QueryService = __decorate([
197
+ TrackableService(['executeQuery', 'executeQueryByWidgetId'])
198
+ ], QueryService);
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, decorators: [{
200
+ type: Injectable,
201
+ args: [{
202
+ providedIn: 'root',
203
+ }]
204
+ }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
205
+
206
+ let DashboardService = class DashboardService {
207
+ constructor(sisenseContextService) {
208
+ this.sisenseContextService = sisenseContextService;
209
+ }
210
+ /**
211
+ * Retrieves an existing dashboard model from the Sisense instance.
212
+ *
213
+ * @param dashboardOid - Identifier of the dashboard
214
+ * @param options - Advanced configuration options
215
+ * @returns Dashboard model
216
+ */
217
+ async getDashboardModel(dashboardOid, options) {
218
+ const app = await this.sisenseContextService.getApp();
219
+ return getDashboardModel(app.httpClient, dashboardOid, options);
220
+ }
221
+ /**
222
+ * Retrieves existing dashboard models from the Sisense instance.
223
+ *
224
+ * @param options - Advanced configuration options
225
+ * @returns Dashboard models array
226
+ */
227
+ async getDashboardModels(options) {
228
+ const app = await this.sisenseContextService.getApp();
229
+ return getDashboardModels(app.httpClient, options);
230
+ }
231
+ };
232
+ DashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
233
+ DashboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, providedIn: 'root' });
234
+ DashboardService = __decorate([
235
+ TrackableService(['getDashboardModel', 'getDashboardModels'])
236
+ ], DashboardService);
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, decorators: [{
238
+ type: Injectable,
239
+ args: [{
240
+ providedIn: 'root',
241
+ }]
242
+ }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
243
+
244
+ class DecoratorsModule {
245
+ constructor(sisenseContextService) {
246
+ DecoratorsModule.sisenseContextService = sisenseContextService;
247
+ }
248
+ }
249
+ DecoratorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.NgModule });
250
+ DecoratorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule });
251
+ DecoratorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule });
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule, decorators: [{
253
+ type: NgModule,
254
+ args: [{
255
+ declarations: [],
256
+ exports: [],
257
+ }]
258
+ }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
259
+
260
+ var packageVersion = '0.15.0';
261
+
262
+ function Trackable(target, propertyKey, descriptor) {
263
+ const originalMethod = descriptor.value;
264
+ descriptor.value = function (...args) {
265
+ track('sdkAngularServiceMethodExecuted', propertyKey);
266
+ return originalMethod.apply(this, args);
267
+ };
268
+ return descriptor;
269
+ }
270
+ function TrackableService(trackableMethods) {
271
+ return function (ServiceClass) {
272
+ trackableMethods.forEach((methodName) => {
273
+ // eslint-disable-next-line security/detect-object-injection
274
+ const original = ServiceClass.prototype[methodName];
275
+ // eslint-disable-next-line security/detect-object-injection
276
+ ServiceClass.prototype[methodName] = function (...params) {
277
+ track('sdkAngularServiceMethodExecuted', `${ServiceClass.name}.${methodName}`);
278
+ return original.apply(this, params);
279
+ };
280
+ });
281
+ };
282
+ }
283
+ async function track(action, methodName) {
284
+ try {
285
+ const { enableTracking } = DecoratorsModule.sisenseContextService.getConfig();
286
+ const app = await DecoratorsModule.sisenseContextService.getApp();
287
+ if (app?.httpClient) {
288
+ const payload = {
289
+ packageName: 'sdk-ui-angular',
290
+ packageVersion,
291
+ methodName,
292
+ };
293
+ void trackProductEvent(action, payload, app.httpClient, !enableTracking).catch((e) => console.warn(`An error occurred when sending the ${action} event`, e));
294
+ }
295
+ }
296
+ catch (e) {
297
+ console.warn('tracking error', e);
298
+ }
299
+ }
300
+
152
301
  /**
153
302
  * Token used to inject {@link ThemeConfig} into your application
154
303
  *
@@ -183,7 +332,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
183
332
  * ```
184
333
  */
185
334
  const THEME_CONFIG_TOKEN = new InjectionToken('theme configuration');
186
- class ThemeService {
335
+ let ThemeService = class ThemeService {
187
336
  constructor(sisenseContextService, themeConfig) {
188
337
  this.sisenseContextService = sisenseContextService;
189
338
  this.themeSettings$ = new BehaviorSubject(getDefaultThemeSettings());
@@ -194,7 +343,7 @@ class ThemeService {
194
343
  // apply system theme settings first
195
344
  await this.applyThemeSettings(app.settings.serverThemeSettings);
196
345
  if (theme) {
197
- await this.applyThemeSettings(theme);
346
+ await this.updateThemeSettings(theme);
198
347
  }
199
348
  }
200
349
  async applyThemeSettings(theme) {
@@ -218,9 +367,12 @@ class ThemeService {
218
367
  async updateThemeSettings(theme) {
219
368
  await this.applyThemeSettings(theme);
220
369
  }
221
- }
370
+ };
222
371
  ThemeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ThemeService, deps: [{ token: SisenseContextService }, { token: THEME_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
223
372
  ThemeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ThemeService, providedIn: 'root' });
373
+ ThemeService = __decorate([
374
+ TrackableService(['updateThemeSettings'])
375
+ ], ThemeService);
224
376
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ThemeService, decorators: [{
225
377
  type: Injectable,
226
378
  args: [{
@@ -363,7 +515,7 @@ class ChartComponent {
363
515
  }
364
516
  }
365
517
  ChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
366
- ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartComponent, selector: "csdk-chart", inputs: { chartType: "chartType", dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", beforeRender: "beforeRender" }, outputs: { dataPointClick: "dataPointClick", dataPointContextMenu: "dataPointContextMenu", dataPointsSelect: "dataPointsSelect" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div>", isInline: true });
518
+ ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartComponent, selector: "csdk-chart", inputs: { chartType: "chartType", dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", beforeRender: "beforeRender" }, 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 });
367
519
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartComponent, decorators: [{
368
520
  type: Component,
369
521
  args: [{
@@ -432,7 +584,7 @@ class TableComponent {
432
584
  }
433
585
  }
434
586
  TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
435
- TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableComponent, selector: "csdk-table", inputs: { dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", styleOptions: "styleOptions" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div>", isInline: true });
587
+ TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableComponent, selector: "csdk-table", inputs: { dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", styleOptions: "styleOptions" }, 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 });
436
588
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableComponent, decorators: [{
437
589
  type: Component,
438
590
  args: [{
@@ -518,7 +670,7 @@ class ChartWidgetComponent {
518
670
  }
519
671
  }
520
672
  ChartWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWidgetComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
521
- ChartWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWidgetComponent, selector: "csdk-chart-widget", inputs: { chartType: "chartType", dataSource: "dataSource", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", drilldownOptions: "drilldownOptions", title: "title", description: "description", highlightSelectionDisabled: "highlightSelectionDisabled", beforeRender: "beforeRender" }, outputs: { dataPointClick: "dataPointClick", dataPointContextMenu: "dataPointContextMenu", dataPointsSelect: "dataPointsSelect" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div>", isInline: true });
673
+ ChartWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWidgetComponent, selector: "csdk-chart-widget", inputs: { chartType: "chartType", dataSource: "dataSource", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", drilldownOptions: "drilldownOptions", title: "title", description: "description", highlightSelectionDisabled: "highlightSelectionDisabled", beforeRender: "beforeRender" }, 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 });
522
674
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWidgetComponent, decorators: [{
523
675
  type: Component,
524
676
  args: [{
@@ -597,6 +749,7 @@ ColumnChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
597
749
  [dataOptions]="dataOptions"
598
750
  [filters]="filters"
599
751
  [highlights]="highlights"
752
+ [styleOptions]="styleOptions"
600
753
  [beforeRender]="beforeRender"
601
754
  (dataPointClick)="dataPointClick.emit($event)"
602
755
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -614,6 +767,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
614
767
  [dataOptions]="dataOptions"
615
768
  [filters]="filters"
616
769
  [highlights]="highlights"
770
+ [styleOptions]="styleOptions"
617
771
  [beforeRender]="beforeRender"
618
772
  (dataPointClick)="dataPointClick.emit($event)"
619
773
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -678,6 +832,7 @@ BarChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
678
832
  [dataOptions]="dataOptions"
679
833
  [filters]="filters"
680
834
  [highlights]="highlights"
835
+ [styleOptions]="styleOptions"
681
836
  [beforeRender]="beforeRender"
682
837
  (dataPointClick)="dataPointClick.emit($event)"
683
838
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -695,6 +850,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
695
850
  [dataOptions]="dataOptions"
696
851
  [filters]="filters"
697
852
  [highlights]="highlights"
853
+ [styleOptions]="styleOptions"
698
854
  [beforeRender]="beforeRender"
699
855
  (dataPointClick)="dataPointClick.emit($event)"
700
856
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -759,6 +915,7 @@ AreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
759
915
  [dataOptions]="dataOptions"
760
916
  [filters]="filters"
761
917
  [highlights]="highlights"
918
+ [styleOptions]="styleOptions"
762
919
  [beforeRender]="beforeRender"
763
920
  (dataPointClick)="dataPointClick.emit($event)"
764
921
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -776,6 +933,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
776
933
  [dataOptions]="dataOptions"
777
934
  [filters]="filters"
778
935
  [highlights]="highlights"
936
+ [styleOptions]="styleOptions"
779
937
  [beforeRender]="beforeRender"
780
938
  (dataPointClick)="dataPointClick.emit($event)"
781
939
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -839,6 +997,7 @@ LineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
839
997
  [dataOptions]="dataOptions"
840
998
  [filters]="filters"
841
999
  [highlights]="highlights"
1000
+ [styleOptions]="styleOptions"
842
1001
  [beforeRender]="beforeRender"
843
1002
  (dataPointClick)="dataPointClick.emit($event)"
844
1003
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -856,6 +1015,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
856
1015
  [dataOptions]="dataOptions"
857
1016
  [filters]="filters"
858
1017
  [highlights]="highlights"
1018
+ [styleOptions]="styleOptions"
859
1019
  [beforeRender]="beforeRender"
860
1020
  (dataPointClick)="dataPointClick.emit($event)"
861
1021
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -901,6 +1061,7 @@ IndicatorChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
901
1061
  [dataOptions]="dataOptions"
902
1062
  [filters]="filters"
903
1063
  [highlights]="highlights"
1064
+ [styleOptions]="styleOptions"
904
1065
  />
905
1066
  `, isInline: true, dependencies: [{ kind: "component", type: ChartComponent, selector: "csdk-chart", inputs: ["chartType", "dataSet", "dataOptions", "filters", "highlights", "styleOptions", "beforeRender"], outputs: ["dataPointClick", "dataPointContextMenu", "dataPointsSelect"] }] });
906
1067
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndicatorChartComponent, decorators: [{
@@ -914,6 +1075,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
914
1075
  [dataOptions]="dataOptions"
915
1076
  [filters]="filters"
916
1077
  [highlights]="highlights"
1078
+ [styleOptions]="styleOptions"
917
1079
  />
918
1080
  `,
919
1081
  }]
@@ -972,6 +1134,7 @@ ScatterChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
972
1134
  [dataOptions]="dataOptions"
973
1135
  [filters]="filters"
974
1136
  [highlights]="highlights"
1137
+ [styleOptions]="styleOptions"
975
1138
  [beforeRender]="beforeRender"
976
1139
  (dataPointClick)="dataPointClick.emit($event)"
977
1140
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -989,6 +1152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
989
1152
  [dataOptions]="dataOptions"
990
1153
  [filters]="filters"
991
1154
  [highlights]="highlights"
1155
+ [styleOptions]="styleOptions"
992
1156
  [beforeRender]="beforeRender"
993
1157
  (dataPointClick)="dataPointClick.emit($event)"
994
1158
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1053,6 +1217,7 @@ PieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
1053
1217
  [dataOptions]="dataOptions"
1054
1218
  [filters]="filters"
1055
1219
  [highlights]="highlights"
1220
+ [styleOptions]="styleOptions"
1056
1221
  [beforeRender]="beforeRender"
1057
1222
  (dataPointClick)="dataPointClick.emit($event)"
1058
1223
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1070,6 +1235,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1070
1235
  [dataOptions]="dataOptions"
1071
1236
  [filters]="filters"
1072
1237
  [highlights]="highlights"
1238
+ [styleOptions]="styleOptions"
1073
1239
  [beforeRender]="beforeRender"
1074
1240
  (dataPointClick)="dataPointClick.emit($event)"
1075
1241
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1133,6 +1299,7 @@ FunnelChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
1133
1299
  [dataOptions]="dataOptions"
1134
1300
  [filters]="filters"
1135
1301
  [highlights]="highlights"
1302
+ [styleOptions]="styleOptions"
1136
1303
  [beforeRender]="beforeRender"
1137
1304
  (dataPointClick)="dataPointClick.emit($event)"
1138
1305
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1150,6 +1317,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1150
1317
  [dataOptions]="dataOptions"
1151
1318
  [filters]="filters"
1152
1319
  [highlights]="highlights"
1320
+ [styleOptions]="styleOptions"
1153
1321
  [beforeRender]="beforeRender"
1154
1322
  (dataPointClick)="dataPointClick.emit($event)"
1155
1323
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1213,6 +1381,7 @@ PolarChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
1213
1381
  [dataOptions]="dataOptions"
1214
1382
  [filters]="filters"
1215
1383
  [highlights]="highlights"
1384
+ [styleOptions]="styleOptions"
1216
1385
  [beforeRender]="beforeRender"
1217
1386
  (dataPointClick)="dataPointClick.emit($event)"
1218
1387
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1230,6 +1399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1230
1399
  [dataOptions]="dataOptions"
1231
1400
  [filters]="filters"
1232
1401
  [highlights]="highlights"
1402
+ [styleOptions]="styleOptions"
1233
1403
  [beforeRender]="beforeRender"
1234
1404
  (dataPointClick)="dataPointClick.emit($event)"
1235
1405
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1294,6 +1464,7 @@ TreemapChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
1294
1464
  [dataOptions]="dataOptions"
1295
1465
  [filters]="filters"
1296
1466
  [highlights]="highlights"
1467
+ [styleOptions]="styleOptions"
1297
1468
  [beforeRender]="beforeRender"
1298
1469
  (dataPointClick)="dataPointClick.emit($event)"
1299
1470
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1311,6 +1482,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1311
1482
  [dataOptions]="dataOptions"
1312
1483
  [filters]="filters"
1313
1484
  [highlights]="highlights"
1485
+ [styleOptions]="styleOptions"
1486
+ [beforeRender]="beforeRender"
1487
+ (dataPointClick)="dataPointClick.emit($event)"
1488
+ (dataPointContextMenu)="dataPointContextMenu.emit($event)"
1489
+ (dataPointsSelect)="dataPointsSelect.emit($event)"
1490
+ />
1491
+ `,
1492
+ }]
1493
+ }], propDecorators: { dataSet: [{
1494
+ type: Input
1495
+ }], dataOptions: [{
1496
+ type: Input
1497
+ }], filters: [{
1498
+ type: Input
1499
+ }], highlights: [{
1500
+ type: Input
1501
+ }], styleOptions: [{
1502
+ type: Input
1503
+ }], beforeRender: [{
1504
+ type: Input
1505
+ }], dataPointClick: [{
1506
+ type: Output
1507
+ }], dataPointContextMenu: [{
1508
+ type: Output
1509
+ }], dataPointsSelect: [{
1510
+ type: Output
1511
+ }] } });
1512
+
1513
+ /**
1514
+ * A component displaying hierarchical data in the form of nested slices.
1515
+ * This type of chart can be used instead of a pie chart for comparing a large number of categories and sub-categories.
1516
+ * See [Sunburst Chart](https://docs.sisense.com/main/SisenseLinux/sunburst-widget.htm) for more information.
1517
+ */
1518
+ class SunburstChartComponent {
1519
+ constructor() {
1520
+ /**
1521
+ * {@inheritDoc @sisense/sdk-ui!SunburstChartProps.onDataPointClick}
1522
+ *
1523
+ * @category Callbacks
1524
+ */
1525
+ this.dataPointClick = new EventEmitter();
1526
+ /**
1527
+ * {@inheritDoc @sisense/sdk-ui!SunburstChartProps.onDataPointContextMenu}
1528
+ *
1529
+ * @category Callbacks
1530
+ */
1531
+ this.dataPointContextMenu = new EventEmitter();
1532
+ /**
1533
+ * {@inheritDoc @sisense/sdk-ui!SunburstChartProps.onDataPointsSelected}
1534
+ *
1535
+ * @category Callbacks
1536
+ */
1537
+ this.dataPointsSelect = new EventEmitter();
1538
+ /** @internal */
1539
+ this.chartType = 'sunburst';
1540
+ }
1541
+ }
1542
+ SunburstChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SunburstChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1543
+ SunburstChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SunburstChartComponent, selector: "csdk-sunburst-chart", inputs: { dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", beforeRender: "beforeRender" }, outputs: { dataPointClick: "dataPointClick", dataPointContextMenu: "dataPointContextMenu", dataPointsSelect: "dataPointsSelect" }, ngImport: i0, template: `
1544
+ <csdk-chart
1545
+ [chartType]="chartType"
1546
+ [dataSet]="dataSet"
1547
+ [dataOptions]="dataOptions"
1548
+ [filters]="filters"
1549
+ [highlights]="highlights"
1550
+ [styleOptions]="styleOptions"
1551
+ [beforeRender]="beforeRender"
1552
+ (dataPointClick)="dataPointClick.emit($event)"
1553
+ (dataPointContextMenu)="dataPointContextMenu.emit($event)"
1554
+ (dataPointsSelect)="dataPointsSelect.emit($event)"
1555
+ />
1556
+ `, isInline: true, dependencies: [{ kind: "component", type: ChartComponent, selector: "csdk-chart", inputs: ["chartType", "dataSet", "dataOptions", "filters", "highlights", "styleOptions", "beforeRender"], outputs: ["dataPointClick", "dataPointContextMenu", "dataPointsSelect"] }] });
1557
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SunburstChartComponent, decorators: [{
1558
+ type: Component,
1559
+ args: [{
1560
+ selector: 'csdk-sunburst-chart',
1561
+ template: `
1562
+ <csdk-chart
1563
+ [chartType]="chartType"
1564
+ [dataSet]="dataSet"
1565
+ [dataOptions]="dataOptions"
1566
+ [filters]="filters"
1567
+ [highlights]="highlights"
1568
+ [styleOptions]="styleOptions"
1314
1569
  [beforeRender]="beforeRender"
1315
1570
  (dataPointClick)="dataPointClick.emit($event)"
1316
1571
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1377,7 +1632,7 @@ class TableWidgetComponent {
1377
1632
  }
1378
1633
  }
1379
1634
  TableWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableWidgetComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
1380
- TableWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableWidgetComponent, selector: "csdk-table-widget", inputs: { dataSource: "dataSource", dataOptions: "dataOptions", filters: "filters", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", title: "title", description: "description" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div>", isInline: true });
1635
+ TableWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableWidgetComponent, selector: "csdk-table-widget", inputs: { dataSource: "dataSource", dataOptions: "dataOptions", filters: "filters", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", title: "title", description: "description" }, 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 });
1381
1636
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableWidgetComponent, decorators: [{
1382
1637
  type: Component,
1383
1638
  args: [{
@@ -1434,10 +1689,12 @@ class DashboardWidgetComponent {
1434
1689
  filters: this.filters,
1435
1690
  highlights: this.highlights,
1436
1691
  filtersMergeStrategy: this.filtersMergeStrategy,
1692
+ includeDashboardFilters: this.includeDashboardFilters,
1437
1693
  title: this.title,
1438
1694
  description: this.description,
1439
1695
  styleOptions: this.styleOptions,
1440
1696
  widgetStyleOptions: this.widgetStyleOptions,
1697
+ highlightSelectionDisabled: this.highlightSelectionDisabled,
1441
1698
  drilldownOptions: this.drilldownOptions,
1442
1699
  };
1443
1700
  return createElement(DashboardWidget, props);
@@ -1448,7 +1705,7 @@ class DashboardWidgetComponent {
1448
1705
  }
1449
1706
  }
1450
1707
  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 });
1451
- 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", title: "title", description: "description", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", drilldownOptions: "drilldownOptions" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div>", isInline: true });
1708
+ 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", widgetStyleOptions: "widgetStyleOptions", 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 });
1452
1709
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetComponent, decorators: [{
1453
1710
  type: Component,
1454
1711
  args: [{
@@ -1468,6 +1725,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1468
1725
  type: Input
1469
1726
  }], filtersMergeStrategy: [{
1470
1727
  type: Input
1728
+ }], includeDashboardFilters: [{
1729
+ type: Input
1471
1730
  }], title: [{
1472
1731
  type: Input
1473
1732
  }], description: [{
@@ -1476,36 +1735,562 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1476
1735
  type: Input
1477
1736
  }], widgetStyleOptions: [{
1478
1737
  type: Input
1738
+ }], highlightSelectionDisabled: [{
1739
+ type: Input
1479
1740
  }], drilldownOptions: [{
1480
1741
  type: Input
1481
1742
  }] } });
1482
1743
 
1483
1744
  /**
1484
- * SDK UI Module, which is a container for components.
1745
+ * Member Filter Tile Component
1746
+ */
1747
+ class MemberFilterTileComponent {
1748
+ /**
1749
+ * Constructor for the `MemberFilterTileComponent`.
1750
+ *
1751
+ * @param sisenseContextService - Sisense context service
1752
+ * @param themeService - Theme service
1753
+ */
1754
+ constructor(
1755
+ /**
1756
+ * Sisense context service
1757
+ *
1758
+ * @category Constructor
1759
+ */
1760
+ sisenseContextService,
1761
+ /**
1762
+ * Theme service
1763
+ *
1764
+ * @category Constructor
1765
+ */
1766
+ themeService) {
1767
+ this.sisenseContextService = sisenseContextService;
1768
+ this.themeService = themeService;
1769
+ /**
1770
+ * {@inheritDoc @sisense/sdk-ui!MemberFilterTileProps.onChange}
1771
+ */
1772
+ this.filterChange = new EventEmitter();
1773
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
1774
+ createSisenseContextConnector(this.sisenseContextService),
1775
+ createThemeContextConnector(this.themeService),
1776
+ ]);
1777
+ }
1778
+ /**
1779
+ * @internal
1780
+ */
1781
+ ngAfterViewInit() {
1782
+ this.componentAdapter.render(this.preactRef.nativeElement);
1783
+ }
1784
+ /**
1785
+ * @internal
1786
+ */
1787
+ ngOnChanges() {
1788
+ if (this.preactRef) {
1789
+ this.componentAdapter.render(this.preactRef.nativeElement);
1790
+ }
1791
+ }
1792
+ createPreactComponent() {
1793
+ const props = {
1794
+ title: this.title,
1795
+ dataSource: this.dataSource,
1796
+ attribute: this.attribute,
1797
+ filter: this.filter,
1798
+ onChange: (...[filter]) => this.filterChange.emit({ filter }),
1799
+ };
1800
+ return createElement(MemberFilterTile, props);
1801
+ }
1802
+ /**
1803
+ * @internal
1804
+ */
1805
+ ngOnDestroy() {
1806
+ this.componentAdapter.destroy();
1807
+ }
1808
+ }
1809
+ MemberFilterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MemberFilterTileComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
1810
+ MemberFilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MemberFilterTileComponent, selector: "csdk-member-filter-tile", inputs: { title: "title", dataSource: "dataSource", attribute: "attribute", filter: "filter" }, outputs: { filterChange: "filterChange" }, 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 });
1811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MemberFilterTileComponent, decorators: [{
1812
+ type: Component,
1813
+ args: [{
1814
+ selector: 'csdk-member-filter-tile',
1815
+ template,
1816
+ }]
1817
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
1818
+ type: ViewChild,
1819
+ args: [rootId]
1820
+ }], title: [{
1821
+ type: Input
1822
+ }], dataSource: [{
1823
+ type: Input
1824
+ }], attribute: [{
1825
+ type: Input
1826
+ }], filter: [{
1827
+ type: Input
1828
+ }], filterChange: [{
1829
+ type: Output
1830
+ }] } });
1831
+
1832
+ /**
1833
+ * An Angular component designed to add drilldown functionality to any type of chart.
1485
1834
  *
1486
- * @example
1487
- * Example of importing `SdkUiModule` and injecting {@link SisenseContextConfig} into your application:
1835
+ * It acts as a wrapper around a given chart component, enhancing it with drilldown capabilities
1836
+ *
1837
+ * The widget offers several features including:
1838
+ * - A context menu for initiating drilldown actions (can be provided as a custom component)
1839
+ * - Breadcrumbs that not only allow for drilldown selection slicing but also
1840
+ * provide an option to clear the selection (can be provided as a custom component)
1841
+ * - Filters specifically created for drilldown operation
1842
+ * - An option to navigate to the next drilldown dimension
1488
1843
  *
1844
+ * When an `initialDimension` is specified, the `drilldownDimension` will automatically inherit its value,
1845
+ * even before any points on the chart are selected.
1846
+ * This allows for complete control over the chart's dimensions to be handed over to the DrilldownWidget
1847
+ *
1848
+ * @example
1849
+ * An example of using the `csdk-drilldown-widget` component to plot a `csdk-column-chart`
1850
+ * over the Sample Healthcare data source hosted in a Sisense instance:
1489
1851
  * ```ts
1490
- * export const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {
1491
- * url="<instance url>" // replace with the URL of your Sisense instance
1492
- * token="<api token>" // replace with the API token of your user account
1493
- * defaultDataSource: DM.DataSource,
1494
- * };
1852
+ * // Component behavior in .component.ts
1853
+ * chart = {
1854
+ * dataOptions: {
1855
+ * category: [DM.Divisions.Divison_name],
1856
+ * value: [measures.sum(DM.Admissions.Cost_of_admission)],
1857
+ * breakBy: [],
1858
+ * },
1859
+ * dataPointContextMenu: ({ point, nativeEvent }: { point: any; nativeEvent: MouseEvent }) => {
1860
+ * this.drilldownResult?.onDataPointsSelected?.([point], nativeEvent);
1861
+ * this.drilldownResult?.onContextMenu({
1862
+ * left: nativeEvent.clientX,
1863
+ * top: nativeEvent.clientY,
1864
+ * });
1865
+ * }
1866
+ * }
1495
1867
  *
1496
- * @NgModule({
1497
- * imports: [
1498
- * BrowserModule,
1499
- * SdkUiModule,
1500
- * ],
1501
- * declarations: [AppComponent],
1502
- * providers: [
1503
- * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },
1504
- * ],
1505
- * bootstrap: [AppComponent],
1506
- * })
1868
+ * drilldownResult?: CustomDrilldownResult;
1869
+ *
1870
+ * drilldown = {
1871
+ * drilldownDimensions: [DM.Patients.Gender, DM.Admissions.Surgical_Procedure],
1872
+ * initialDimension: DM.Divisions.Divison_name,
1873
+ * drilldownChange: (drilldownResult: CustomDrilldownResult) => {
1874
+ * this.drilldownResult = drilldownResult;
1875
+ * this.chart.dataOptions = {
1876
+ * ...this.chart.dataOptions,
1877
+ * category: [drilldownResult.drilldownDimension]
1878
+ * }
1879
+ * }
1880
+ * };
1507
1881
  * ```
1508
- */
1882
+ * ```html
1883
+ * <!--Component HTML template in .component.html-->
1884
+ * <csdk-drilldown-widget
1885
+ * [drilldownDimensions]="drilldown.drilldownDimensions"
1886
+ * [initialDimension]="drilldown.initialDimension"
1887
+ * (drilldownResultChange)="drilldown.drilldownChange($event)"
1888
+ * >
1889
+ * <csdk-column-chart
1890
+ * [dataSet]="DM.DataSource"
1891
+ * [dataOptions]="chart.dataOptions"
1892
+ * [filters]="drilldownResult?.drilldownFilters || []"
1893
+ * (dataPointContextMenu)="chart.dataPointContextMenu($event)"
1894
+ * />
1895
+ * </csdk-drilldown-widget>
1896
+ * ```
1897
+ */
1898
+ class DrilldownWidgetComponent {
1899
+ /**
1900
+ * Constructor for the `DrilldownWidgetComponent`.
1901
+ *
1902
+ * @param sisenseContextService - Sisense context service
1903
+ * @param themeService - Theme service
1904
+ */
1905
+ constructor(
1906
+ /**
1907
+ * Sisense context service
1908
+ *
1909
+ * @category Constructor
1910
+ */
1911
+ sisenseContextService,
1912
+ /**
1913
+ * Theme service
1914
+ *
1915
+ * @category Constructor
1916
+ */
1917
+ themeService) {
1918
+ this.sisenseContextService = sisenseContextService;
1919
+ this.themeService = themeService;
1920
+ this.drilldownResultChange = new EventEmitter();
1921
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
1922
+ createSisenseContextConnector(this.sisenseContextService),
1923
+ createThemeContextConnector(this.themeService),
1924
+ ]);
1925
+ }
1926
+ /**
1927
+ * @internal
1928
+ */
1929
+ ngAfterViewInit() {
1930
+ this.componentAdapter.render(this.preactRef.nativeElement);
1931
+ }
1932
+ /**
1933
+ * @internal
1934
+ */
1935
+ ngOnChanges() {
1936
+ if (this.preactRef) {
1937
+ this.componentAdapter.render(this.preactRef.nativeElement);
1938
+ }
1939
+ }
1940
+ createPreactComponent() {
1941
+ const props = {
1942
+ drilldownDimensions: this.drilldownDimensions,
1943
+ initialDimension: this.initialDimension,
1944
+ config: {
1945
+ ...this.config,
1946
+ ...(this.config?.breadcrumbsComponent && {
1947
+ breadcrumbsComponent: createWrapperElementHandler(this.config.breadcrumbsComponent),
1948
+ }),
1949
+ ...(this.config?.contextMenuComponent && {
1950
+ contextMenuComponent: (contextMenuProps) => createWrapperElement(this.config.contextMenuComponent(contextMenuProps)),
1951
+ }),
1952
+ },
1953
+ };
1954
+ return createElement(DrilldownWidget, props, (customDrilldownResult) => {
1955
+ const { breadcrumbsComponent } = customDrilldownResult;
1956
+ this.drilldownResultChange.emit({
1957
+ ...customDrilldownResult,
1958
+ ...(breadcrumbsComponent && {
1959
+ breadcrumbsComponent: { render: createComponentRenderer(breadcrumbsComponent) },
1960
+ }),
1961
+ });
1962
+ return createWrapperElement(this.preactContentRef.nativeElement);
1963
+ });
1964
+ }
1965
+ /**
1966
+ * @internal
1967
+ */
1968
+ ngOnDestroy() {
1969
+ this.componentAdapter.destroy();
1970
+ }
1971
+ }
1972
+ 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 });
1973
+ DrilldownWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DrilldownWidgetComponent, selector: "csdk-drilldown-widget", inputs: { drilldownDimensions: "drilldownDimensions", 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 });
1974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownWidgetComponent, decorators: [{
1975
+ type: Component,
1976
+ args: [{
1977
+ selector: 'csdk-drilldown-widget',
1978
+ template: templateWithContent,
1979
+ }]
1980
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
1981
+ type: ViewChild,
1982
+ args: [rootId]
1983
+ }], preactContentRef: [{
1984
+ type: ViewChild,
1985
+ args: [rootContentId]
1986
+ }], drilldownDimensions: [{
1987
+ type: Input
1988
+ }], initialDimension: [{
1989
+ type: Input
1990
+ }], config: [{
1991
+ type: Input
1992
+ }], drilldownResultChange: [{
1993
+ type: Output
1994
+ }] } });
1995
+
1996
+ /**
1997
+ * Date Range Filter Tile Component
1998
+ */
1999
+ class DateRangeFilterTileComponent {
2000
+ /**
2001
+ * Constructor for the `DateRangeFilterTileComponent`.
2002
+ *
2003
+ * @param sisenseContextService - Sisense context service
2004
+ * @param themeService - Theme service
2005
+ */
2006
+ constructor(
2007
+ /**
2008
+ * Sisense context service
2009
+ *
2010
+ * @category Constructor
2011
+ */
2012
+ sisenseContextService,
2013
+ /**
2014
+ * Theme service
2015
+ *
2016
+ * @category Constructor
2017
+ */
2018
+ themeService) {
2019
+ this.sisenseContextService = sisenseContextService;
2020
+ this.themeService = themeService;
2021
+ /**
2022
+ * {@inheritDoc @sisense/sdk-ui!DateRangeFilterTileProps.onChange}
2023
+ */
2024
+ this.filterChange = new EventEmitter();
2025
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
2026
+ createSisenseContextConnector(this.sisenseContextService),
2027
+ createThemeContextConnector(this.themeService),
2028
+ ]);
2029
+ }
2030
+ /**
2031
+ * @internal
2032
+ */
2033
+ ngAfterViewInit() {
2034
+ this.componentAdapter.render(this.preactRef.nativeElement);
2035
+ }
2036
+ /**
2037
+ * @internal
2038
+ */
2039
+ ngOnChanges() {
2040
+ if (this.preactRef) {
2041
+ this.componentAdapter.render(this.preactRef.nativeElement);
2042
+ }
2043
+ }
2044
+ createPreactComponent() {
2045
+ const props = {
2046
+ title: this.title,
2047
+ attribute: this.attribute,
2048
+ dataSource: this.dataSource,
2049
+ filter: this.filter,
2050
+ earliestDate: this.earliestDate,
2051
+ lastDate: this.lastDate,
2052
+ onChange: (...[filter]) => this.filterChange.emit({ filter }),
2053
+ };
2054
+ return createElement(DateRangeFilterTile, props);
2055
+ }
2056
+ /**
2057
+ * @internal
2058
+ */
2059
+ ngOnDestroy() {
2060
+ this.componentAdapter.destroy();
2061
+ }
2062
+ }
2063
+ DateRangeFilterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeFilterTileComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
2064
+ DateRangeFilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeFilterTileComponent, selector: "csdk-date-range-filter-tile", inputs: { title: "title", attribute: "attribute", dataSource: "dataSource", filter: "filter", earliestDate: "earliestDate", lastDate: "lastDate" }, outputs: { filterChange: "filterChange" }, 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 });
2065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeFilterTileComponent, decorators: [{
2066
+ type: Component,
2067
+ args: [{
2068
+ selector: 'csdk-date-range-filter-tile',
2069
+ template,
2070
+ }]
2071
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
2072
+ type: ViewChild,
2073
+ args: [rootId]
2074
+ }], title: [{
2075
+ type: Input
2076
+ }], attribute: [{
2077
+ type: Input
2078
+ }], dataSource: [{
2079
+ type: Input
2080
+ }], filter: [{
2081
+ type: Input
2082
+ }], earliestDate: [{
2083
+ type: Input
2084
+ }], lastDate: [{
2085
+ type: Input
2086
+ }], filterChange: [{
2087
+ type: Output
2088
+ }] } });
2089
+
2090
+ /**
2091
+ * Drilldown Breadcrumbs Component
2092
+ */
2093
+ class DrilldownBreadcrumbsComponent {
2094
+ /**
2095
+ * Constructor for the `DrilldownBreadcrumbsComponent`.
2096
+ *
2097
+ * @param sisenseContextService - Sisense context service
2098
+ * @param themeService - Theme service
2099
+ */
2100
+ constructor(
2101
+ /**
2102
+ * Sisense context service
2103
+ *
2104
+ * @category Constructor
2105
+ */
2106
+ sisenseContextService,
2107
+ /**
2108
+ * Theme service
2109
+ *
2110
+ * @category Constructor
2111
+ */
2112
+ themeService) {
2113
+ this.sisenseContextService = sisenseContextService;
2114
+ this.themeService = themeService;
2115
+ /**
2116
+ * {@inheritDoc @sisense/sdk-ui!DrilldownBreadcrumbsProps.clearDrilldownSelections}
2117
+ *
2118
+ * @category Widget
2119
+ */
2120
+ this.drilldownSelectionsClear = new EventEmitter();
2121
+ /**
2122
+ * {@inheritDoc @sisense/sdk-ui!DrilldownBreadcrumbsProps.sliceDrilldownSelections}
2123
+ *
2124
+ * @category Widget
2125
+ */
2126
+ this.drilldownSelectionsSlice = new EventEmitter();
2127
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
2128
+ createSisenseContextConnector(this.sisenseContextService),
2129
+ createThemeContextConnector(this.themeService),
2130
+ ]);
2131
+ }
2132
+ /**
2133
+ * @internal
2134
+ */
2135
+ ngAfterViewInit() {
2136
+ this.componentAdapter.render(this.preactRef.nativeElement);
2137
+ }
2138
+ /**
2139
+ * @internal
2140
+ */
2141
+ ngOnChanges() {
2142
+ if (this.preactRef) {
2143
+ this.componentAdapter.render(this.preactRef.nativeElement);
2144
+ }
2145
+ }
2146
+ createPreactComponent() {
2147
+ const props = {
2148
+ filtersDisplayValues: this.filtersDisplayValues,
2149
+ currentDimension: this.currentDimension,
2150
+ clearDrilldownSelections: () => this.drilldownSelectionsClear.emit(),
2151
+ sliceDrilldownSelections: (i) => this.drilldownSelectionsSlice.emit(i),
2152
+ };
2153
+ return createElement(DrilldownBreadcrumbs, props);
2154
+ }
2155
+ /**
2156
+ * @internal
2157
+ */
2158
+ ngOnDestroy() {
2159
+ this.componentAdapter.destroy();
2160
+ }
2161
+ }
2162
+ DrilldownBreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownBreadcrumbsComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
2163
+ DrilldownBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DrilldownBreadcrumbsComponent, selector: "csdk-drilldown-breadcrumbs", inputs: { filtersDisplayValues: "filtersDisplayValues", currentDimension: "currentDimension" }, outputs: { drilldownSelectionsClear: "drilldownSelectionsClear", drilldownSelectionsSlice: "drilldownSelectionsSlice" }, 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 });
2164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownBreadcrumbsComponent, decorators: [{
2165
+ type: Component,
2166
+ args: [{
2167
+ selector: 'csdk-drilldown-breadcrumbs',
2168
+ template,
2169
+ }]
2170
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
2171
+ type: ViewChild,
2172
+ args: [rootId]
2173
+ }], filtersDisplayValues: [{
2174
+ type: Input
2175
+ }], currentDimension: [{
2176
+ type: Input
2177
+ }], drilldownSelectionsClear: [{
2178
+ type: Output
2179
+ }], drilldownSelectionsSlice: [{
2180
+ type: Output
2181
+ }] } });
2182
+
2183
+ /**
2184
+ * Context Menu Component
2185
+ */
2186
+ class ContextMenuComponent {
2187
+ /**
2188
+ * Constructor for the `ContextMenuComponent`.
2189
+ *
2190
+ * @param sisenseContextService - Sisense context service
2191
+ * @param themeService - Theme service
2192
+ */
2193
+ constructor(
2194
+ /**
2195
+ * Sisense context service
2196
+ *
2197
+ * @category Constructor
2198
+ */
2199
+ sisenseContextService,
2200
+ /**
2201
+ * Theme service
2202
+ *
2203
+ * @category Constructor
2204
+ */
2205
+ themeService) {
2206
+ this.sisenseContextService = sisenseContextService;
2207
+ this.themeService = themeService;
2208
+ /**
2209
+ * {@inheritDoc @sisense/sdk-ui!ContextMenuProps.closeContextMenu}
2210
+ */
2211
+ this.contextMenuClose = new EventEmitter();
2212
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
2213
+ createSisenseContextConnector(this.sisenseContextService),
2214
+ createThemeContextConnector(this.themeService),
2215
+ ]);
2216
+ }
2217
+ /**
2218
+ * @internal
2219
+ */
2220
+ ngAfterViewInit() {
2221
+ this.componentAdapter.render(this.preactRef.nativeElement);
2222
+ }
2223
+ /**
2224
+ * @internal
2225
+ */
2226
+ ngOnChanges() {
2227
+ if (this.preactRef) {
2228
+ this.componentAdapter.render(this.preactRef.nativeElement);
2229
+ }
2230
+ }
2231
+ createPreactComponent() {
2232
+ const props = {
2233
+ position: this.position,
2234
+ itemSections: this.itemSections,
2235
+ closeContextMenu: () => this.contextMenuClose.emit(),
2236
+ };
2237
+ return createElement(ContextMenu, props, createWrapperElement(this.preactContentRef.nativeElement));
2238
+ }
2239
+ /**
2240
+ * @internal
2241
+ */
2242
+ ngOnDestroy() {
2243
+ this.componentAdapter.destroy();
2244
+ }
2245
+ }
2246
+ ContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContextMenuComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
2247
+ ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ContextMenuComponent, selector: "csdk-context-menu", inputs: { position: "position", itemSections: "itemSections" }, outputs: { contextMenuClose: "contextMenuClose" }, 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 });
2248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContextMenuComponent, decorators: [{
2249
+ type: Component,
2250
+ args: [{
2251
+ selector: 'csdk-context-menu',
2252
+ template: templateWithContent,
2253
+ }]
2254
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
2255
+ type: ViewChild,
2256
+ args: [rootId]
2257
+ }], preactContentRef: [{
2258
+ type: ViewChild,
2259
+ args: [rootContentId]
2260
+ }], position: [{
2261
+ type: Input
2262
+ }], itemSections: [{
2263
+ type: Input
2264
+ }], contextMenuClose: [{
2265
+ type: Output
2266
+ }] } });
2267
+
2268
+ /**
2269
+ * SDK UI Module, which is a container for components.
2270
+ *
2271
+ * @example
2272
+ * Example of importing `SdkUiModule` and injecting {@link SisenseContextConfig} into your application:
2273
+ *
2274
+ * ```ts
2275
+ * export const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {
2276
+ * url="<instance url>" // replace with the URL of your Sisense instance
2277
+ * token="<api token>" // replace with the API token of your user account
2278
+ * defaultDataSource: DM.DataSource,
2279
+ * };
2280
+ *
2281
+ * @NgModule({
2282
+ * imports: [
2283
+ * BrowserModule,
2284
+ * SdkUiModule,
2285
+ * ],
2286
+ * declarations: [AppComponent],
2287
+ * providers: [
2288
+ * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },
2289
+ * ],
2290
+ * bootstrap: [AppComponent],
2291
+ * })
2292
+ * ```
2293
+ */
1509
2294
  class SdkUiModule {
1510
2295
  }
1511
2296
  SdkUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1523,8 +2308,14 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
1523
2308
  FunnelChartComponent,
1524
2309
  PolarChartComponent,
1525
2310
  TreemapChartComponent,
2311
+ SunburstChartComponent,
1526
2312
  TableWidgetComponent,
1527
- DashboardWidgetComponent], imports: [CommonModule], exports: [BasicMemberFilterTileComponent,
2313
+ DashboardWidgetComponent,
2314
+ MemberFilterTileComponent,
2315
+ DrilldownWidgetComponent,
2316
+ DateRangeFilterTileComponent,
2317
+ DrilldownBreadcrumbsComponent,
2318
+ ContextMenuComponent], imports: [CommonModule, DecoratorsModule], exports: [BasicMemberFilterTileComponent,
1528
2319
  ChartComponent,
1529
2320
  TableComponent,
1530
2321
  ChartWidgetComponent,
@@ -1538,9 +2329,15 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
1538
2329
  FunnelChartComponent,
1539
2330
  PolarChartComponent,
1540
2331
  TreemapChartComponent,
2332
+ SunburstChartComponent,
1541
2333
  TableWidgetComponent,
1542
- DashboardWidgetComponent] });
1543
- SdkUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, imports: [CommonModule] });
2334
+ DashboardWidgetComponent,
2335
+ MemberFilterTileComponent,
2336
+ DrilldownWidgetComponent,
2337
+ DateRangeFilterTileComponent,
2338
+ DrilldownBreadcrumbsComponent,
2339
+ ContextMenuComponent] });
2340
+ SdkUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, imports: [CommonModule, DecoratorsModule] });
1544
2341
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, decorators: [{
1545
2342
  type: NgModule,
1546
2343
  args: [{
@@ -1559,10 +2356,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1559
2356
  FunnelChartComponent,
1560
2357
  PolarChartComponent,
1561
2358
  TreemapChartComponent,
2359
+ SunburstChartComponent,
1562
2360
  TableWidgetComponent,
1563
2361
  DashboardWidgetComponent,
2362
+ MemberFilterTileComponent,
2363
+ DrilldownWidgetComponent,
2364
+ DateRangeFilterTileComponent,
2365
+ DrilldownBreadcrumbsComponent,
2366
+ ContextMenuComponent,
1564
2367
  ],
1565
- imports: [CommonModule],
2368
+ imports: [CommonModule, DecoratorsModule],
1566
2369
  exports: [
1567
2370
  BasicMemberFilterTileComponent,
1568
2371
  ChartComponent,
@@ -1578,52 +2381,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1578
2381
  FunnelChartComponent,
1579
2382
  PolarChartComponent,
1580
2383
  TreemapChartComponent,
2384
+ SunburstChartComponent,
1581
2385
  TableWidgetComponent,
1582
2386
  DashboardWidgetComponent,
2387
+ MemberFilterTileComponent,
2388
+ DrilldownWidgetComponent,
2389
+ DateRangeFilterTileComponent,
2390
+ DrilldownBreadcrumbsComponent,
2391
+ ContextMenuComponent,
1583
2392
  ],
1584
2393
  providers: [],
1585
2394
  }]
1586
2395
  }] });
1587
2396
 
1588
- class QueryService {
1589
- constructor(sisenseContextService) {
1590
- this.sisenseContextService = sisenseContextService;
1591
- }
1592
- /**
1593
- * Executes a data query.
1594
- *
1595
- * @param params - Query parameters
1596
- * return Query result
1597
- */
1598
- async executeQuery(params) {
1599
- const { dataSource, dimensions, measures, filters, highlights, count, offset, onBeforeQuery } = params;
1600
- const app = await this.sisenseContextService.getApp();
1601
- const data = await executeQuery({ dataSource, dimensions, measures, filters, highlights, count, offset }, app, { onBeforeQuery });
1602
- return { data };
1603
- }
1604
- /**
1605
- * Executes a data query extracted from an existing widget in the Sisense instance.
1606
- *
1607
- * @param params - Parameters to identify the target widget
1608
- * @returns Query result
1609
- */
1610
- async executeQueryByWidgetId(params) {
1611
- const app = await this.sisenseContextService.getApp();
1612
- return executeQueryByWidgetId({
1613
- ...params,
1614
- app,
1615
- });
1616
- }
1617
- }
1618
- QueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
1619
- QueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, providedIn: 'root' });
1620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, decorators: [{
1621
- type: Injectable,
1622
- args: [{
1623
- providedIn: 'root',
1624
- }]
1625
- }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
1626
-
1627
2397
  /*
1628
2398
  * Public API Surface of @sisense/sdk-ui-angular
1629
2399
  */
@@ -1632,5 +2402,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1632
2402
  * Generated bundle index. Do not edit.
1633
2403
  */
1634
2404
 
1635
- export { AreaChartComponent, BarChartComponent, BasicMemberFilterTileComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, DashboardWidgetComponent, FunnelChartComponent, IndicatorChartComponent, LineChartComponent, PieChartComponent, PolarChartComponent, QueryService, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, SdkUiModule, SisenseContextService, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TreemapChartComponent };
2405
+ export { AreaChartComponent, BarChartComponent, BasicMemberFilterTileComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, DashboardService, DashboardWidgetComponent, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FunnelChartComponent, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PolarChartComponent, QueryService, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, SdkUiModule, SisenseContextService, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TreemapChartComponent };
1636
2406
  //# sourceMappingURL=sisense-sdk-ui-angular.mjs.map