@sisense/sdk-ui-angular 0.13.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 (67) hide show
  1. package/dist/esm2020/lib/component-wrapper-helpers/template.mjs +12 -2
  2. package/dist/esm2020/lib/components/area-chart.component.mjs +6 -2
  3. package/dist/esm2020/lib/components/bar-chart.component.mjs +6 -2
  4. package/dist/esm2020/lib/components/basic-member-filter-tile.component.mjs +1 -1
  5. package/dist/esm2020/lib/components/chart-widget.component.mjs +6 -3
  6. package/dist/esm2020/lib/components/chart.component.mjs +1 -1
  7. package/dist/esm2020/lib/components/column-chart.component.mjs +6 -2
  8. package/dist/esm2020/lib/components/context-menu.component.mjs +92 -0
  9. package/dist/esm2020/lib/components/dashboard-widget.component.mjs +10 -3
  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 +5 -2
  14. package/dist/esm2020/lib/components/index.mjs +7 -1
  15. package/dist/esm2020/lib/components/indicator-chart.component.mjs +5 -2
  16. package/dist/esm2020/lib/components/line-chart.component.mjs +5 -2
  17. package/dist/esm2020/lib/components/member-filter-tile.component.mjs +95 -0
  18. package/dist/esm2020/lib/components/pie-chart.component.mjs +6 -2
  19. package/dist/esm2020/lib/components/polar-chart.component.mjs +5 -2
  20. package/dist/esm2020/lib/components/scatter-chart.component.mjs +12 -2
  21. package/dist/esm2020/lib/components/sunburst-chart.component.mjs +86 -0
  22. package/dist/esm2020/lib/components/table-widget.component.mjs +3 -3
  23. package/dist/esm2020/lib/components/table.component.mjs +3 -3
  24. package/dist/esm2020/lib/components/treemap-chart.component.mjs +6 -2
  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 +21 -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 +887 -80
  34. package/dist/fesm2015/sisense-sdk-ui-angular.mjs.map +1 -1
  35. package/dist/fesm2020/sisense-sdk-ui-angular.mjs +887 -79
  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/area-chart.component.d.ts +3 -1
  39. package/dist/lib/components/bar-chart.component.d.ts +3 -1
  40. package/dist/lib/components/chart-widget.component.d.ts +47 -5
  41. package/dist/lib/components/column-chart.component.d.ts +9 -2
  42. package/dist/lib/components/context-menu.component.d.ts +78 -0
  43. package/dist/lib/components/dashboard-widget.component.d.ts +6 -2
  44. package/dist/lib/components/date-range-filter-tile.component.d.ts +90 -0
  45. package/dist/lib/components/drilldown-breadcrumbs.component.d.ts +86 -0
  46. package/dist/lib/components/drilldown-widget.component.d.ts +146 -0
  47. package/dist/lib/components/funnel-chart.component.d.ts +2 -1
  48. package/dist/lib/components/index.d.ts +6 -0
  49. package/dist/lib/components/indicator-chart.component.d.ts +2 -1
  50. package/dist/lib/components/line-chart.component.d.ts +2 -1
  51. package/dist/lib/components/member-filter-tile.component.d.ts +82 -0
  52. package/dist/lib/components/pie-chart.component.d.ts +3 -1
  53. package/dist/lib/components/polar-chart.component.d.ts +2 -1
  54. package/dist/lib/components/scatter-chart.component.d.ts +9 -1
  55. package/dist/lib/components/sunburst-chart.component.d.ts +69 -0
  56. package/dist/lib/components/table-widget.component.d.ts +29 -3
  57. package/dist/lib/components/table.component.d.ts +5 -5
  58. package/dist/lib/components/treemap-chart.component.d.ts +3 -1
  59. package/dist/lib/decorators/decorators.module.d.ts +9 -0
  60. package/dist/lib/decorators/trackable.decorator.d.ts +11 -0
  61. package/dist/lib/sdk-ui.module.d.ts +11 -4
  62. package/dist/lib/services/dashboard.service.d.ts +24 -0
  63. package/dist/lib/services/index.d.ts +1 -0
  64. package/dist/lib/services/query.service.d.ts +12 -0
  65. package/dist/package.json +12 -13
  66. package/dist/version.d.ts +2 -0
  67. package/package.json +18 -13
@@ -1,13 +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
- import { __awaiter } from 'tslib';
5
+ import { __awaiter, __decorate } from 'tslib';
6
6
  import { map, BehaviorSubject } from 'rxjs';
7
7
  import merge from 'ts-deepmerge';
8
+ import { trackProductEvent } from '@sisense/sdk-tracking';
8
9
 
9
10
  const rootId = 'preact';
10
- 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
+ `;
11
22
 
12
23
  /**
13
24
  * Basic Member Filter Tile Component
@@ -45,7 +56,7 @@ class BasicMemberFilterTileComponent {
45
56
  }
46
57
  }
47
58
  BasicMemberFilterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicMemberFilterTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
- 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 });
49
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicMemberFilterTileComponent, decorators: [{
50
61
  type: Component,
51
62
  args: [{
@@ -150,6 +161,150 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
150
161
  }] }];
151
162
  } });
152
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
+ executeQuery(params) {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ const { dataSource, dimensions, measures, filters, highlights, count, offset, onBeforeQuery } = params;
177
+ const app = yield this.sisenseContextService.getApp();
178
+ const data = yield executeQuery({ dataSource, dimensions, measures, filters, highlights, count, offset }, app, { onBeforeQuery });
179
+ return { data };
180
+ });
181
+ }
182
+ /**
183
+ * Executes a data query extracted from an existing widget in the Sisense instance.
184
+ *
185
+ * @param params - Parameters to identify the target widget
186
+ * @returns Query result
187
+ */
188
+ executeQueryByWidgetId(params) {
189
+ return __awaiter(this, void 0, void 0, function* () {
190
+ const app = yield this.sisenseContextService.getApp();
191
+ return executeQueryByWidgetId(Object.assign(Object.assign({}, params), { app }));
192
+ });
193
+ }
194
+ };
195
+ QueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
196
+ QueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, providedIn: 'root' });
197
+ QueryService = __decorate([
198
+ TrackableService(['executeQuery', 'executeQueryByWidgetId'])
199
+ ], QueryService);
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, decorators: [{
201
+ type: Injectable,
202
+ args: [{
203
+ providedIn: 'root',
204
+ }]
205
+ }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
206
+
207
+ let DashboardService = class DashboardService {
208
+ constructor(sisenseContextService) {
209
+ this.sisenseContextService = sisenseContextService;
210
+ }
211
+ /**
212
+ * Retrieves an existing dashboard model from the Sisense instance.
213
+ *
214
+ * @param dashboardOid - Identifier of the dashboard
215
+ * @param options - Advanced configuration options
216
+ * @returns Dashboard model
217
+ */
218
+ getDashboardModel(dashboardOid, options) {
219
+ return __awaiter(this, void 0, void 0, function* () {
220
+ const app = yield this.sisenseContextService.getApp();
221
+ return getDashboardModel(app.httpClient, dashboardOid, options);
222
+ });
223
+ }
224
+ /**
225
+ * Retrieves existing dashboard models from the Sisense instance.
226
+ *
227
+ * @param options - Advanced configuration options
228
+ * @returns Dashboard models array
229
+ */
230
+ getDashboardModels(options) {
231
+ return __awaiter(this, void 0, void 0, function* () {
232
+ const app = yield this.sisenseContextService.getApp();
233
+ return getDashboardModels(app.httpClient, options);
234
+ });
235
+ }
236
+ };
237
+ DashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
238
+ DashboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, providedIn: 'root' });
239
+ DashboardService = __decorate([
240
+ TrackableService(['getDashboardModel', 'getDashboardModels'])
241
+ ], DashboardService);
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, decorators: [{
243
+ type: Injectable,
244
+ args: [{
245
+ providedIn: 'root',
246
+ }]
247
+ }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
248
+
249
+ class DecoratorsModule {
250
+ constructor(sisenseContextService) {
251
+ DecoratorsModule.sisenseContextService = sisenseContextService;
252
+ }
253
+ }
254
+ DecoratorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.NgModule });
255
+ DecoratorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule });
256
+ DecoratorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule });
257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule, decorators: [{
258
+ type: NgModule,
259
+ args: [{
260
+ declarations: [],
261
+ exports: [],
262
+ }]
263
+ }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
264
+
265
+ var packageVersion = '0.15.0';
266
+
267
+ function Trackable(target, propertyKey, descriptor) {
268
+ const originalMethod = descriptor.value;
269
+ descriptor.value = function (...args) {
270
+ track('sdkAngularServiceMethodExecuted', propertyKey);
271
+ return originalMethod.apply(this, args);
272
+ };
273
+ return descriptor;
274
+ }
275
+ function TrackableService(trackableMethods) {
276
+ return function (ServiceClass) {
277
+ trackableMethods.forEach((methodName) => {
278
+ // eslint-disable-next-line security/detect-object-injection
279
+ const original = ServiceClass.prototype[methodName];
280
+ // eslint-disable-next-line security/detect-object-injection
281
+ ServiceClass.prototype[methodName] = function (...params) {
282
+ track('sdkAngularServiceMethodExecuted', `${ServiceClass.name}.${methodName}`);
283
+ return original.apply(this, params);
284
+ };
285
+ });
286
+ };
287
+ }
288
+ function track(action, methodName) {
289
+ return __awaiter(this, void 0, void 0, function* () {
290
+ try {
291
+ const { enableTracking } = DecoratorsModule.sisenseContextService.getConfig();
292
+ const app = yield DecoratorsModule.sisenseContextService.getApp();
293
+ if (app === null || app === void 0 ? void 0 : app.httpClient) {
294
+ const payload = {
295
+ packageName: 'sdk-ui-angular',
296
+ packageVersion,
297
+ methodName,
298
+ };
299
+ void trackProductEvent(action, payload, app.httpClient, !enableTracking).catch((e) => console.warn(`An error occurred when sending the ${action} event`, e));
300
+ }
301
+ }
302
+ catch (e) {
303
+ console.warn('tracking error', e);
304
+ }
305
+ });
306
+ }
307
+
153
308
  /**
154
309
  * Token used to inject {@link ThemeConfig} into your application
155
310
  *
@@ -184,7 +339,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
184
339
  * ```
185
340
  */
186
341
  const THEME_CONFIG_TOKEN = new InjectionToken('theme configuration');
187
- class ThemeService {
342
+ let ThemeService = class ThemeService {
188
343
  constructor(sisenseContextService, themeConfig) {
189
344
  this.sisenseContextService = sisenseContextService;
190
345
  this.themeSettings$ = new BehaviorSubject(getDefaultThemeSettings());
@@ -196,7 +351,7 @@ class ThemeService {
196
351
  // apply system theme settings first
197
352
  yield this.applyThemeSettings(app.settings.serverThemeSettings);
198
353
  if (theme) {
199
- yield this.applyThemeSettings(theme);
354
+ yield this.updateThemeSettings(theme);
200
355
  }
201
356
  });
202
357
  }
@@ -225,9 +380,12 @@ class ThemeService {
225
380
  yield this.applyThemeSettings(theme);
226
381
  });
227
382
  }
228
- }
383
+ };
229
384
  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 });
230
385
  ThemeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ThemeService, providedIn: 'root' });
386
+ ThemeService = __decorate([
387
+ TrackableService(['updateThemeSettings'])
388
+ ], ThemeService);
231
389
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ThemeService, decorators: [{
232
390
  type: Injectable,
233
391
  args: [{
@@ -373,7 +531,7 @@ class ChartComponent {
373
531
  }
374
532
  }
375
533
  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 });
376
- 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 });
534
+ 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 });
377
535
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartComponent, decorators: [{
378
536
  type: Component,
379
537
  args: [{
@@ -406,7 +564,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
406
564
  }] } });
407
565
 
408
566
  /**
409
- * Table Component
567
+ * Table with aggregation and pagination.
410
568
  */
411
569
  class TableComponent {
412
570
  constructor(sisenseContextService, themeService) {
@@ -442,7 +600,7 @@ class TableComponent {
442
600
  }
443
601
  }
444
602
  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 });
445
- 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 });
603
+ 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 });
446
604
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableComponent, decorators: [{
447
605
  type: Component,
448
606
  args: [{
@@ -463,7 +621,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
463
621
  }] } });
464
622
 
465
623
  /**
466
- * Chart Widget Component
624
+ * The Chart Widget component extending {@link ChartComponent} to support widget style options.
467
625
  */
468
626
  class ChartWidgetComponent {
469
627
  constructor(sisenseContextService, themeService) {
@@ -515,6 +673,7 @@ class ChartWidgetComponent {
515
673
  drilldownOptions: this.drilldownOptions,
516
674
  title: this.title,
517
675
  description: this.description,
676
+ highlightSelectionDisabled: this.highlightSelectionDisabled,
518
677
  onBeforeRender: (_a = this.beforeRender) === null || _a === void 0 ? void 0 : _a.bind(this),
519
678
  onDataPointClick: (...[point, nativeEvent]) => this.dataPointClick.emit({ point, nativeEvent }),
520
679
  onDataPointContextMenu: (...[point, nativeEvent]) => this.dataPointContextMenu.emit({ point, nativeEvent }),
@@ -528,7 +687,7 @@ class ChartWidgetComponent {
528
687
  }
529
688
  }
530
689
  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 });
531
- 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", 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 });
690
+ 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 });
532
691
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWidgetComponent, decorators: [{
533
692
  type: Component,
534
693
  args: [{
@@ -558,6 +717,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
558
717
  type: Input
559
718
  }], description: [{
560
719
  type: Input
720
+ }], highlightSelectionDisabled: [{
721
+ type: Input
561
722
  }], beforeRender: [{
562
723
  type: Input
563
724
  }], dataPointClick: [{
@@ -569,7 +730,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
569
730
  }] } });
570
731
 
571
732
  /**
572
- * Column Chart Component
733
+ * A component representing categorical data with vertical rectangular bars
734
+ * whose heights are proportional to the values that they represent.
735
+ * See [Column Chart](https://docs.sisense.com/main/SisenseLinux/column-chart.htm) for more information.
573
736
  */
574
737
  class ColumnChartComponent {
575
738
  constructor() {
@@ -603,6 +766,7 @@ ColumnChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
603
766
  [dataOptions]="dataOptions"
604
767
  [filters]="filters"
605
768
  [highlights]="highlights"
769
+ [styleOptions]="styleOptions"
606
770
  [beforeRender]="beforeRender"
607
771
  (dataPointClick)="dataPointClick.emit($event)"
608
772
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -620,6 +784,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
620
784
  [dataOptions]="dataOptions"
621
785
  [filters]="filters"
622
786
  [highlights]="highlights"
787
+ [styleOptions]="styleOptions"
623
788
  [beforeRender]="beforeRender"
624
789
  (dataPointClick)="dataPointClick.emit($event)"
625
790
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -648,7 +813,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
648
813
  }] } });
649
814
 
650
815
  /**
651
- * Bar Chart Component
816
+ * A component representing categorical data with horizontal rectangular bars,
817
+ * whose lengths are proportional to the values that they represent.
818
+ * See [Bar Chart](https://docs.sisense.com/main/SisenseLinux/bar-chart.htm) for more information.
652
819
  */
653
820
  class BarChartComponent {
654
821
  constructor() {
@@ -682,6 +849,7 @@ BarChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
682
849
  [dataOptions]="dataOptions"
683
850
  [filters]="filters"
684
851
  [highlights]="highlights"
852
+ [styleOptions]="styleOptions"
685
853
  [beforeRender]="beforeRender"
686
854
  (dataPointClick)="dataPointClick.emit($event)"
687
855
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -699,6 +867,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
699
867
  [dataOptions]="dataOptions"
700
868
  [filters]="filters"
701
869
  [highlights]="highlights"
870
+ [styleOptions]="styleOptions"
702
871
  [beforeRender]="beforeRender"
703
872
  (dataPointClick)="dataPointClick.emit($event)"
704
873
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -727,7 +896,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
727
896
  }] } });
728
897
 
729
898
  /**
730
- * Area Chart Component
899
+ * A component similar to a {@link LineChartComponent},
900
+ * but with filled in areas under each line and an option to display them as stacked.
901
+ * More info on [Sisense Documentation page](https://docs.sisense.com/main/SisenseLinux/area-chart.htm).
731
902
  */
732
903
  class AreaChartComponent {
733
904
  constructor() {
@@ -761,6 +932,7 @@ AreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
761
932
  [dataOptions]="dataOptions"
762
933
  [filters]="filters"
763
934
  [highlights]="highlights"
935
+ [styleOptions]="styleOptions"
764
936
  [beforeRender]="beforeRender"
765
937
  (dataPointClick)="dataPointClick.emit($event)"
766
938
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -778,6 +950,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
778
950
  [dataOptions]="dataOptions"
779
951
  [filters]="filters"
780
952
  [highlights]="highlights"
953
+ [styleOptions]="styleOptions"
781
954
  [beforeRender]="beforeRender"
782
955
  (dataPointClick)="dataPointClick.emit($event)"
783
956
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -806,7 +979,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
806
979
  }] } });
807
980
 
808
981
  /**
809
- * Line Chart Component
982
+ * A component displaying data as a series of points connected by a line. Used to show trends or changes over time.
983
+ * See [Line Chart](https://docs.sisense.com/main/SisenseLinux/line-chart.htm) for more information.
810
984
  */
811
985
  class LineChartComponent {
812
986
  constructor() {
@@ -840,6 +1014,7 @@ LineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
840
1014
  [dataOptions]="dataOptions"
841
1015
  [filters]="filters"
842
1016
  [highlights]="highlights"
1017
+ [styleOptions]="styleOptions"
843
1018
  [beforeRender]="beforeRender"
844
1019
  (dataPointClick)="dataPointClick.emit($event)"
845
1020
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -857,6 +1032,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
857
1032
  [dataOptions]="dataOptions"
858
1033
  [filters]="filters"
859
1034
  [highlights]="highlights"
1035
+ [styleOptions]="styleOptions"
860
1036
  [beforeRender]="beforeRender"
861
1037
  (dataPointClick)="dataPointClick.emit($event)"
862
1038
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -885,7 +1061,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
885
1061
  }] } });
886
1062
 
887
1063
  /**
888
- * Indicator Chart Component
1064
+ * A component that provides various options for displaying one or two numeric values as a number, gauge or ticker.
1065
+ * See [Indicator](https://docs.sisense.com/main/SisenseLinux/indicator.htm) for more information.
889
1066
  */
890
1067
  class IndicatorChartComponent {
891
1068
  constructor() {
@@ -901,6 +1078,7 @@ IndicatorChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
901
1078
  [dataOptions]="dataOptions"
902
1079
  [filters]="filters"
903
1080
  [highlights]="highlights"
1081
+ [styleOptions]="styleOptions"
904
1082
  />
905
1083
  `, isInline: true, dependencies: [{ kind: "component", type: ChartComponent, selector: "csdk-chart", inputs: ["chartType", "dataSet", "dataOptions", "filters", "highlights", "styleOptions", "beforeRender"], outputs: ["dataPointClick", "dataPointContextMenu", "dataPointsSelect"] }] });
906
1084
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndicatorChartComponent, decorators: [{
@@ -914,6 +1092,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
914
1092
  [dataOptions]="dataOptions"
915
1093
  [filters]="filters"
916
1094
  [highlights]="highlights"
1095
+ [styleOptions]="styleOptions"
917
1096
  />
918
1097
  `,
919
1098
  }]
@@ -930,7 +1109,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
930
1109
  }] } });
931
1110
 
932
1111
  /**
933
- * Scatter Chart Component
1112
+ * A component displaying the distribution of two variables on an X-Axis, Y-Axis,
1113
+ * and two additional fields of data that are shown as colored circles scattered across the chart.
1114
+ *
1115
+ * **Point**: A field that for each of its members a scatter point is drawn. The maximum amount of data points is 500.
1116
+ *
1117
+ * **Size**: An optional field represented by the size of the circles.
1118
+ * If omitted, all scatter points are equal in size. If used, the circle sizes are relative to their values.
1119
+ *
1120
+ * See [Scatter Chart](https://docs.sisense.com/main/SisenseLinux/scatter-chart.htm) for more information.
934
1121
  */
935
1122
  class ScatterChartComponent {
936
1123
  constructor() {
@@ -964,6 +1151,7 @@ ScatterChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
964
1151
  [dataOptions]="dataOptions"
965
1152
  [filters]="filters"
966
1153
  [highlights]="highlights"
1154
+ [styleOptions]="styleOptions"
967
1155
  [beforeRender]="beforeRender"
968
1156
  (dataPointClick)="dataPointClick.emit($event)"
969
1157
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -981,6 +1169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
981
1169
  [dataOptions]="dataOptions"
982
1170
  [filters]="filters"
983
1171
  [highlights]="highlights"
1172
+ [styleOptions]="styleOptions"
984
1173
  [beforeRender]="beforeRender"
985
1174
  (dataPointClick)="dataPointClick.emit($event)"
986
1175
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1009,7 +1198,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1009
1198
  }] } });
1010
1199
 
1011
1200
  /**
1012
- * Pie Chart Component
1201
+ * A component representing data in a circular graph with the data shown as slices of a whole,
1202
+ * with each slice representing a proportion of the total.
1203
+ * See [Pie Chart](https://docs.sisense.com/main/SisenseLinux/pie-chart.htm) for more information.
1013
1204
  */
1014
1205
  class PieChartComponent {
1015
1206
  constructor() {
@@ -1043,6 +1234,7 @@ PieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
1043
1234
  [dataOptions]="dataOptions"
1044
1235
  [filters]="filters"
1045
1236
  [highlights]="highlights"
1237
+ [styleOptions]="styleOptions"
1046
1238
  [beforeRender]="beforeRender"
1047
1239
  (dataPointClick)="dataPointClick.emit($event)"
1048
1240
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1060,6 +1252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1060
1252
  [dataOptions]="dataOptions"
1061
1253
  [filters]="filters"
1062
1254
  [highlights]="highlights"
1255
+ [styleOptions]="styleOptions"
1063
1256
  [beforeRender]="beforeRender"
1064
1257
  (dataPointClick)="dataPointClick.emit($event)"
1065
1258
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1088,7 +1281,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1088
1281
  }] } });
1089
1282
 
1090
1283
  /**
1091
- * Funnel Chart Component
1284
+ * A component representing data progressively decreasing in size or quantity through a funnel shape.
1285
+ * See [Funnel Chart](https://docs.sisense.com/main/SisenseLinux/funnel-chart.htm) for more information.
1092
1286
  */
1093
1287
  class FunnelChartComponent {
1094
1288
  constructor() {
@@ -1122,6 +1316,7 @@ FunnelChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
1122
1316
  [dataOptions]="dataOptions"
1123
1317
  [filters]="filters"
1124
1318
  [highlights]="highlights"
1319
+ [styleOptions]="styleOptions"
1125
1320
  [beforeRender]="beforeRender"
1126
1321
  (dataPointClick)="dataPointClick.emit($event)"
1127
1322
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1139,6 +1334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1139
1334
  [dataOptions]="dataOptions"
1140
1335
  [filters]="filters"
1141
1336
  [highlights]="highlights"
1337
+ [styleOptions]="styleOptions"
1142
1338
  [beforeRender]="beforeRender"
1143
1339
  (dataPointClick)="dataPointClick.emit($event)"
1144
1340
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1167,7 +1363,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1167
1363
  }] } });
1168
1364
 
1169
1365
  /**
1170
- * Polar Chart Component
1366
+ * A component comparing multiple categories/variables with a spacial perspective in a radial chart.
1367
+ * See [Polar Chart](https://docs.sisense.com/main/SisenseLinux/polar-chart.htm) for more information.
1171
1368
  */
1172
1369
  class PolarChartComponent {
1173
1370
  constructor() {
@@ -1201,6 +1398,7 @@ PolarChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
1201
1398
  [dataOptions]="dataOptions"
1202
1399
  [filters]="filters"
1203
1400
  [highlights]="highlights"
1401
+ [styleOptions]="styleOptions"
1204
1402
  [beforeRender]="beforeRender"
1205
1403
  (dataPointClick)="dataPointClick.emit($event)"
1206
1404
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1218,6 +1416,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1218
1416
  [dataOptions]="dataOptions"
1219
1417
  [filters]="filters"
1220
1418
  [highlights]="highlights"
1419
+ [styleOptions]="styleOptions"
1221
1420
  [beforeRender]="beforeRender"
1222
1421
  (dataPointClick)="dataPointClick.emit($event)"
1223
1422
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1246,7 +1445,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1246
1445
  }] } });
1247
1446
 
1248
1447
  /**
1249
- * Treemap Chart Component
1448
+ * A component displaying hierarchical data in the form of nested rectangles.
1449
+ * This type of chart can be used instead of a column chart for comparing a large number of categories and sub-categories.
1450
+ * See [Treemap Chart](https://docs.sisense.com/main/SisenseLinux/treemap.htm) for more information.
1250
1451
  */
1251
1452
  class TreemapChartComponent {
1252
1453
  constructor() {
@@ -1280,6 +1481,7 @@ TreemapChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
1280
1481
  [dataOptions]="dataOptions"
1281
1482
  [filters]="filters"
1282
1483
  [highlights]="highlights"
1484
+ [styleOptions]="styleOptions"
1283
1485
  [beforeRender]="beforeRender"
1284
1486
  (dataPointClick)="dataPointClick.emit($event)"
1285
1487
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1297,6 +1499,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1297
1499
  [dataOptions]="dataOptions"
1298
1500
  [filters]="filters"
1299
1501
  [highlights]="highlights"
1502
+ [styleOptions]="styleOptions"
1503
+ [beforeRender]="beforeRender"
1504
+ (dataPointClick)="dataPointClick.emit($event)"
1505
+ (dataPointContextMenu)="dataPointContextMenu.emit($event)"
1506
+ (dataPointsSelect)="dataPointsSelect.emit($event)"
1507
+ />
1508
+ `,
1509
+ }]
1510
+ }], propDecorators: { dataSet: [{
1511
+ type: Input
1512
+ }], dataOptions: [{
1513
+ type: Input
1514
+ }], filters: [{
1515
+ type: Input
1516
+ }], highlights: [{
1517
+ type: Input
1518
+ }], styleOptions: [{
1519
+ type: Input
1520
+ }], beforeRender: [{
1521
+ type: Input
1522
+ }], dataPointClick: [{
1523
+ type: Output
1524
+ }], dataPointContextMenu: [{
1525
+ type: Output
1526
+ }], dataPointsSelect: [{
1527
+ type: Output
1528
+ }] } });
1529
+
1530
+ /**
1531
+ * A component displaying hierarchical data in the form of nested slices.
1532
+ * This type of chart can be used instead of a pie chart for comparing a large number of categories and sub-categories.
1533
+ * See [Sunburst Chart](https://docs.sisense.com/main/SisenseLinux/sunburst-widget.htm) for more information.
1534
+ */
1535
+ class SunburstChartComponent {
1536
+ constructor() {
1537
+ /**
1538
+ * {@inheritDoc @sisense/sdk-ui!SunburstChartProps.onDataPointClick}
1539
+ *
1540
+ * @category Callbacks
1541
+ */
1542
+ this.dataPointClick = new EventEmitter();
1543
+ /**
1544
+ * {@inheritDoc @sisense/sdk-ui!SunburstChartProps.onDataPointContextMenu}
1545
+ *
1546
+ * @category Callbacks
1547
+ */
1548
+ this.dataPointContextMenu = new EventEmitter();
1549
+ /**
1550
+ * {@inheritDoc @sisense/sdk-ui!SunburstChartProps.onDataPointsSelected}
1551
+ *
1552
+ * @category Callbacks
1553
+ */
1554
+ this.dataPointsSelect = new EventEmitter();
1555
+ /** @internal */
1556
+ this.chartType = 'sunburst';
1557
+ }
1558
+ }
1559
+ SunburstChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SunburstChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1560
+ 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: `
1561
+ <csdk-chart
1562
+ [chartType]="chartType"
1563
+ [dataSet]="dataSet"
1564
+ [dataOptions]="dataOptions"
1565
+ [filters]="filters"
1566
+ [highlights]="highlights"
1567
+ [styleOptions]="styleOptions"
1568
+ [beforeRender]="beforeRender"
1569
+ (dataPointClick)="dataPointClick.emit($event)"
1570
+ (dataPointContextMenu)="dataPointContextMenu.emit($event)"
1571
+ (dataPointsSelect)="dataPointsSelect.emit($event)"
1572
+ />
1573
+ `, isInline: true, dependencies: [{ kind: "component", type: ChartComponent, selector: "csdk-chart", inputs: ["chartType", "dataSet", "dataOptions", "filters", "highlights", "styleOptions", "beforeRender"], outputs: ["dataPointClick", "dataPointContextMenu", "dataPointsSelect"] }] });
1574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SunburstChartComponent, decorators: [{
1575
+ type: Component,
1576
+ args: [{
1577
+ selector: 'csdk-sunburst-chart',
1578
+ template: `
1579
+ <csdk-chart
1580
+ [chartType]="chartType"
1581
+ [dataSet]="dataSet"
1582
+ [dataOptions]="dataOptions"
1583
+ [filters]="filters"
1584
+ [highlights]="highlights"
1585
+ [styleOptions]="styleOptions"
1300
1586
  [beforeRender]="beforeRender"
1301
1587
  (dataPointClick)="dataPointClick.emit($event)"
1302
1588
  (dataPointContextMenu)="dataPointContextMenu.emit($event)"
@@ -1325,7 +1611,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1325
1611
  }] } });
1326
1612
 
1327
1613
  /**
1328
- * Table Widget Component
1614
+ * The Table Widget component extending {@link TableComponent} component to support widget style options.
1329
1615
  *
1330
1616
  * @internal
1331
1617
  */
@@ -1363,7 +1649,7 @@ class TableWidgetComponent {
1363
1649
  }
1364
1650
  }
1365
1651
  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 });
1366
- 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 });
1652
+ 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 });
1367
1653
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableWidgetComponent, decorators: [{
1368
1654
  type: Component,
1369
1655
  args: [{
@@ -1390,7 +1676,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1390
1676
  }] } });
1391
1677
 
1392
1678
  /**
1393
- * Dashboard Widget Component
1679
+ * The Dashboard Widget component, which is a thin wrapper on {@link ChartWidgetComponent},
1680
+ * used to render a widget created in the Sisense instance.
1394
1681
  */
1395
1682
  class DashboardWidgetComponent {
1396
1683
  constructor(sisenseContextService, themeService) {
@@ -1419,10 +1706,12 @@ class DashboardWidgetComponent {
1419
1706
  filters: this.filters,
1420
1707
  highlights: this.highlights,
1421
1708
  filtersMergeStrategy: this.filtersMergeStrategy,
1709
+ includeDashboardFilters: this.includeDashboardFilters,
1422
1710
  title: this.title,
1423
1711
  description: this.description,
1424
1712
  styleOptions: this.styleOptions,
1425
1713
  widgetStyleOptions: this.widgetStyleOptions,
1714
+ highlightSelectionDisabled: this.highlightSelectionDisabled,
1426
1715
  drilldownOptions: this.drilldownOptions,
1427
1716
  };
1428
1717
  return createElement(DashboardWidget, props);
@@ -1433,7 +1722,7 @@ class DashboardWidgetComponent {
1433
1722
  }
1434
1723
  }
1435
1724
  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 });
1436
- 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 });
1725
+ 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 });
1437
1726
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetComponent, decorators: [{
1438
1727
  type: Component,
1439
1728
  args: [{
@@ -1453,6 +1742,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1453
1742
  type: Input
1454
1743
  }], filtersMergeStrategy: [{
1455
1744
  type: Input
1745
+ }], includeDashboardFilters: [{
1746
+ type: Input
1456
1747
  }], title: [{
1457
1748
  type: Input
1458
1749
  }], description: [{
@@ -1461,36 +1752,556 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1461
1752
  type: Input
1462
1753
  }], widgetStyleOptions: [{
1463
1754
  type: Input
1755
+ }], highlightSelectionDisabled: [{
1756
+ type: Input
1464
1757
  }], drilldownOptions: [{
1465
1758
  type: Input
1466
1759
  }] } });
1467
1760
 
1468
1761
  /**
1469
- * SDK UI Module, which is a container for components.
1762
+ * Member Filter Tile Component
1763
+ */
1764
+ class MemberFilterTileComponent {
1765
+ /**
1766
+ * Constructor for the `MemberFilterTileComponent`.
1767
+ *
1768
+ * @param sisenseContextService - Sisense context service
1769
+ * @param themeService - Theme service
1770
+ */
1771
+ constructor(
1772
+ /**
1773
+ * Sisense context service
1774
+ *
1775
+ * @category Constructor
1776
+ */
1777
+ sisenseContextService,
1778
+ /**
1779
+ * Theme service
1780
+ *
1781
+ * @category Constructor
1782
+ */
1783
+ themeService) {
1784
+ this.sisenseContextService = sisenseContextService;
1785
+ this.themeService = themeService;
1786
+ /**
1787
+ * {@inheritDoc @sisense/sdk-ui!MemberFilterTileProps.onChange}
1788
+ */
1789
+ this.filterChange = new EventEmitter();
1790
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
1791
+ createSisenseContextConnector(this.sisenseContextService),
1792
+ createThemeContextConnector(this.themeService),
1793
+ ]);
1794
+ }
1795
+ /**
1796
+ * @internal
1797
+ */
1798
+ ngAfterViewInit() {
1799
+ this.componentAdapter.render(this.preactRef.nativeElement);
1800
+ }
1801
+ /**
1802
+ * @internal
1803
+ */
1804
+ ngOnChanges() {
1805
+ if (this.preactRef) {
1806
+ this.componentAdapter.render(this.preactRef.nativeElement);
1807
+ }
1808
+ }
1809
+ createPreactComponent() {
1810
+ const props = {
1811
+ title: this.title,
1812
+ dataSource: this.dataSource,
1813
+ attribute: this.attribute,
1814
+ filter: this.filter,
1815
+ onChange: (...[filter]) => this.filterChange.emit({ filter }),
1816
+ };
1817
+ return createElement(MemberFilterTile, props);
1818
+ }
1819
+ /**
1820
+ * @internal
1821
+ */
1822
+ ngOnDestroy() {
1823
+ this.componentAdapter.destroy();
1824
+ }
1825
+ }
1826
+ 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 });
1827
+ 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 });
1828
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MemberFilterTileComponent, decorators: [{
1829
+ type: Component,
1830
+ args: [{
1831
+ selector: 'csdk-member-filter-tile',
1832
+ template,
1833
+ }]
1834
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
1835
+ type: ViewChild,
1836
+ args: [rootId]
1837
+ }], title: [{
1838
+ type: Input
1839
+ }], dataSource: [{
1840
+ type: Input
1841
+ }], attribute: [{
1842
+ type: Input
1843
+ }], filter: [{
1844
+ type: Input
1845
+ }], filterChange: [{
1846
+ type: Output
1847
+ }] } });
1848
+
1849
+ /**
1850
+ * An Angular component designed to add drilldown functionality to any type of chart.
1470
1851
  *
1471
- * @example
1472
- * Example of importing `SdkUiModule` and injecting {@link SisenseContextConfig} into your application:
1852
+ * It acts as a wrapper around a given chart component, enhancing it with drilldown capabilities
1853
+ *
1854
+ * The widget offers several features including:
1855
+ * - A context menu for initiating drilldown actions (can be provided as a custom component)
1856
+ * - Breadcrumbs that not only allow for drilldown selection slicing but also
1857
+ * provide an option to clear the selection (can be provided as a custom component)
1858
+ * - Filters specifically created for drilldown operation
1859
+ * - An option to navigate to the next drilldown dimension
1473
1860
  *
1861
+ * When an `initialDimension` is specified, the `drilldownDimension` will automatically inherit its value,
1862
+ * even before any points on the chart are selected.
1863
+ * This allows for complete control over the chart's dimensions to be handed over to the DrilldownWidget
1864
+ *
1865
+ * @example
1866
+ * An example of using the `csdk-drilldown-widget` component to plot a `csdk-column-chart`
1867
+ * over the Sample Healthcare data source hosted in a Sisense instance:
1474
1868
  * ```ts
1475
- * export const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {
1476
- * url="<instance url>" // replace with the URL of your Sisense instance
1477
- * token="<api token>" // replace with the API token of your user account
1478
- * defaultDataSource: DM.DataSource,
1479
- * };
1869
+ * // Component behavior in .component.ts
1870
+ * chart = {
1871
+ * dataOptions: {
1872
+ * category: [DM.Divisions.Divison_name],
1873
+ * value: [measures.sum(DM.Admissions.Cost_of_admission)],
1874
+ * breakBy: [],
1875
+ * },
1876
+ * dataPointContextMenu: ({ point, nativeEvent }: { point: any; nativeEvent: MouseEvent }) => {
1877
+ * this.drilldownResult?.onDataPointsSelected?.([point], nativeEvent);
1878
+ * this.drilldownResult?.onContextMenu({
1879
+ * left: nativeEvent.clientX,
1880
+ * top: nativeEvent.clientY,
1881
+ * });
1882
+ * }
1883
+ * }
1480
1884
  *
1481
- * @NgModule({
1482
- * imports: [
1483
- * BrowserModule,
1484
- * SdkUiModule,
1485
- * ],
1486
- * declarations: [AppComponent],
1487
- * providers: [
1488
- * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },
1489
- * ],
1490
- * bootstrap: [AppComponent],
1491
- * })
1885
+ * drilldownResult?: CustomDrilldownResult;
1886
+ *
1887
+ * drilldown = {
1888
+ * drilldownDimensions: [DM.Patients.Gender, DM.Admissions.Surgical_Procedure],
1889
+ * initialDimension: DM.Divisions.Divison_name,
1890
+ * drilldownChange: (drilldownResult: CustomDrilldownResult) => {
1891
+ * this.drilldownResult = drilldownResult;
1892
+ * this.chart.dataOptions = {
1893
+ * ...this.chart.dataOptions,
1894
+ * category: [drilldownResult.drilldownDimension]
1895
+ * }
1896
+ * }
1897
+ * };
1492
1898
  * ```
1493
- */
1899
+ * ```html
1900
+ * <!--Component HTML template in .component.html-->
1901
+ * <csdk-drilldown-widget
1902
+ * [drilldownDimensions]="drilldown.drilldownDimensions"
1903
+ * [initialDimension]="drilldown.initialDimension"
1904
+ * (drilldownResultChange)="drilldown.drilldownChange($event)"
1905
+ * >
1906
+ * <csdk-column-chart
1907
+ * [dataSet]="DM.DataSource"
1908
+ * [dataOptions]="chart.dataOptions"
1909
+ * [filters]="drilldownResult?.drilldownFilters || []"
1910
+ * (dataPointContextMenu)="chart.dataPointContextMenu($event)"
1911
+ * />
1912
+ * </csdk-drilldown-widget>
1913
+ * ```
1914
+ */
1915
+ class DrilldownWidgetComponent {
1916
+ /**
1917
+ * Constructor for the `DrilldownWidgetComponent`.
1918
+ *
1919
+ * @param sisenseContextService - Sisense context service
1920
+ * @param themeService - Theme service
1921
+ */
1922
+ constructor(
1923
+ /**
1924
+ * Sisense context service
1925
+ *
1926
+ * @category Constructor
1927
+ */
1928
+ sisenseContextService,
1929
+ /**
1930
+ * Theme service
1931
+ *
1932
+ * @category Constructor
1933
+ */
1934
+ themeService) {
1935
+ this.sisenseContextService = sisenseContextService;
1936
+ this.themeService = themeService;
1937
+ this.drilldownResultChange = new EventEmitter();
1938
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
1939
+ createSisenseContextConnector(this.sisenseContextService),
1940
+ createThemeContextConnector(this.themeService),
1941
+ ]);
1942
+ }
1943
+ /**
1944
+ * @internal
1945
+ */
1946
+ ngAfterViewInit() {
1947
+ this.componentAdapter.render(this.preactRef.nativeElement);
1948
+ }
1949
+ /**
1950
+ * @internal
1951
+ */
1952
+ ngOnChanges() {
1953
+ if (this.preactRef) {
1954
+ this.componentAdapter.render(this.preactRef.nativeElement);
1955
+ }
1956
+ }
1957
+ createPreactComponent() {
1958
+ var _a, _b;
1959
+ const props = {
1960
+ drilldownDimensions: this.drilldownDimensions,
1961
+ initialDimension: this.initialDimension,
1962
+ config: Object.assign(Object.assign(Object.assign({}, this.config), (((_a = this.config) === null || _a === void 0 ? void 0 : _a.breadcrumbsComponent) && {
1963
+ breadcrumbsComponent: createWrapperElementHandler(this.config.breadcrumbsComponent),
1964
+ })), (((_b = this.config) === null || _b === void 0 ? void 0 : _b.contextMenuComponent) && {
1965
+ contextMenuComponent: (contextMenuProps) => createWrapperElement(this.config.contextMenuComponent(contextMenuProps)),
1966
+ })),
1967
+ };
1968
+ return createElement(DrilldownWidget, props, (customDrilldownResult) => {
1969
+ const { breadcrumbsComponent } = customDrilldownResult;
1970
+ this.drilldownResultChange.emit(Object.assign(Object.assign({}, customDrilldownResult), (breadcrumbsComponent && {
1971
+ breadcrumbsComponent: { render: createComponentRenderer(breadcrumbsComponent) },
1972
+ })));
1973
+ return createWrapperElement(this.preactContentRef.nativeElement);
1974
+ });
1975
+ }
1976
+ /**
1977
+ * @internal
1978
+ */
1979
+ ngOnDestroy() {
1980
+ this.componentAdapter.destroy();
1981
+ }
1982
+ }
1983
+ 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 });
1984
+ 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 });
1985
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownWidgetComponent, decorators: [{
1986
+ type: Component,
1987
+ args: [{
1988
+ selector: 'csdk-drilldown-widget',
1989
+ template: templateWithContent,
1990
+ }]
1991
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
1992
+ type: ViewChild,
1993
+ args: [rootId]
1994
+ }], preactContentRef: [{
1995
+ type: ViewChild,
1996
+ args: [rootContentId]
1997
+ }], drilldownDimensions: [{
1998
+ type: Input
1999
+ }], initialDimension: [{
2000
+ type: Input
2001
+ }], config: [{
2002
+ type: Input
2003
+ }], drilldownResultChange: [{
2004
+ type: Output
2005
+ }] } });
2006
+
2007
+ /**
2008
+ * Date Range Filter Tile Component
2009
+ */
2010
+ class DateRangeFilterTileComponent {
2011
+ /**
2012
+ * Constructor for the `DateRangeFilterTileComponent`.
2013
+ *
2014
+ * @param sisenseContextService - Sisense context service
2015
+ * @param themeService - Theme service
2016
+ */
2017
+ constructor(
2018
+ /**
2019
+ * Sisense context service
2020
+ *
2021
+ * @category Constructor
2022
+ */
2023
+ sisenseContextService,
2024
+ /**
2025
+ * Theme service
2026
+ *
2027
+ * @category Constructor
2028
+ */
2029
+ themeService) {
2030
+ this.sisenseContextService = sisenseContextService;
2031
+ this.themeService = themeService;
2032
+ /**
2033
+ * {@inheritDoc @sisense/sdk-ui!DateRangeFilterTileProps.onChange}
2034
+ */
2035
+ this.filterChange = new EventEmitter();
2036
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
2037
+ createSisenseContextConnector(this.sisenseContextService),
2038
+ createThemeContextConnector(this.themeService),
2039
+ ]);
2040
+ }
2041
+ /**
2042
+ * @internal
2043
+ */
2044
+ ngAfterViewInit() {
2045
+ this.componentAdapter.render(this.preactRef.nativeElement);
2046
+ }
2047
+ /**
2048
+ * @internal
2049
+ */
2050
+ ngOnChanges() {
2051
+ if (this.preactRef) {
2052
+ this.componentAdapter.render(this.preactRef.nativeElement);
2053
+ }
2054
+ }
2055
+ createPreactComponent() {
2056
+ const props = {
2057
+ title: this.title,
2058
+ attribute: this.attribute,
2059
+ dataSource: this.dataSource,
2060
+ filter: this.filter,
2061
+ earliestDate: this.earliestDate,
2062
+ lastDate: this.lastDate,
2063
+ onChange: (...[filter]) => this.filterChange.emit({ filter }),
2064
+ };
2065
+ return createElement(DateRangeFilterTile, props);
2066
+ }
2067
+ /**
2068
+ * @internal
2069
+ */
2070
+ ngOnDestroy() {
2071
+ this.componentAdapter.destroy();
2072
+ }
2073
+ }
2074
+ 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 });
2075
+ 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 });
2076
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeFilterTileComponent, decorators: [{
2077
+ type: Component,
2078
+ args: [{
2079
+ selector: 'csdk-date-range-filter-tile',
2080
+ template,
2081
+ }]
2082
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
2083
+ type: ViewChild,
2084
+ args: [rootId]
2085
+ }], title: [{
2086
+ type: Input
2087
+ }], attribute: [{
2088
+ type: Input
2089
+ }], dataSource: [{
2090
+ type: Input
2091
+ }], filter: [{
2092
+ type: Input
2093
+ }], earliestDate: [{
2094
+ type: Input
2095
+ }], lastDate: [{
2096
+ type: Input
2097
+ }], filterChange: [{
2098
+ type: Output
2099
+ }] } });
2100
+
2101
+ /**
2102
+ * Drilldown Breadcrumbs Component
2103
+ */
2104
+ class DrilldownBreadcrumbsComponent {
2105
+ /**
2106
+ * Constructor for the `DrilldownBreadcrumbsComponent`.
2107
+ *
2108
+ * @param sisenseContextService - Sisense context service
2109
+ * @param themeService - Theme service
2110
+ */
2111
+ constructor(
2112
+ /**
2113
+ * Sisense context service
2114
+ *
2115
+ * @category Constructor
2116
+ */
2117
+ sisenseContextService,
2118
+ /**
2119
+ * Theme service
2120
+ *
2121
+ * @category Constructor
2122
+ */
2123
+ themeService) {
2124
+ this.sisenseContextService = sisenseContextService;
2125
+ this.themeService = themeService;
2126
+ /**
2127
+ * {@inheritDoc @sisense/sdk-ui!DrilldownBreadcrumbsProps.clearDrilldownSelections}
2128
+ *
2129
+ * @category Widget
2130
+ */
2131
+ this.drilldownSelectionsClear = new EventEmitter();
2132
+ /**
2133
+ * {@inheritDoc @sisense/sdk-ui!DrilldownBreadcrumbsProps.sliceDrilldownSelections}
2134
+ *
2135
+ * @category Widget
2136
+ */
2137
+ this.drilldownSelectionsSlice = new EventEmitter();
2138
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
2139
+ createSisenseContextConnector(this.sisenseContextService),
2140
+ createThemeContextConnector(this.themeService),
2141
+ ]);
2142
+ }
2143
+ /**
2144
+ * @internal
2145
+ */
2146
+ ngAfterViewInit() {
2147
+ this.componentAdapter.render(this.preactRef.nativeElement);
2148
+ }
2149
+ /**
2150
+ * @internal
2151
+ */
2152
+ ngOnChanges() {
2153
+ if (this.preactRef) {
2154
+ this.componentAdapter.render(this.preactRef.nativeElement);
2155
+ }
2156
+ }
2157
+ createPreactComponent() {
2158
+ const props = {
2159
+ filtersDisplayValues: this.filtersDisplayValues,
2160
+ currentDimension: this.currentDimension,
2161
+ clearDrilldownSelections: () => this.drilldownSelectionsClear.emit(),
2162
+ sliceDrilldownSelections: (i) => this.drilldownSelectionsSlice.emit(i),
2163
+ };
2164
+ return createElement(DrilldownBreadcrumbs, props);
2165
+ }
2166
+ /**
2167
+ * @internal
2168
+ */
2169
+ ngOnDestroy() {
2170
+ this.componentAdapter.destroy();
2171
+ }
2172
+ }
2173
+ 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 });
2174
+ 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 });
2175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownBreadcrumbsComponent, decorators: [{
2176
+ type: Component,
2177
+ args: [{
2178
+ selector: 'csdk-drilldown-breadcrumbs',
2179
+ template,
2180
+ }]
2181
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
2182
+ type: ViewChild,
2183
+ args: [rootId]
2184
+ }], filtersDisplayValues: [{
2185
+ type: Input
2186
+ }], currentDimension: [{
2187
+ type: Input
2188
+ }], drilldownSelectionsClear: [{
2189
+ type: Output
2190
+ }], drilldownSelectionsSlice: [{
2191
+ type: Output
2192
+ }] } });
2193
+
2194
+ /**
2195
+ * Context Menu Component
2196
+ */
2197
+ class ContextMenuComponent {
2198
+ /**
2199
+ * Constructor for the `ContextMenuComponent`.
2200
+ *
2201
+ * @param sisenseContextService - Sisense context service
2202
+ * @param themeService - Theme service
2203
+ */
2204
+ constructor(
2205
+ /**
2206
+ * Sisense context service
2207
+ *
2208
+ * @category Constructor
2209
+ */
2210
+ sisenseContextService,
2211
+ /**
2212
+ * Theme service
2213
+ *
2214
+ * @category Constructor
2215
+ */
2216
+ themeService) {
2217
+ this.sisenseContextService = sisenseContextService;
2218
+ this.themeService = themeService;
2219
+ /**
2220
+ * {@inheritDoc @sisense/sdk-ui!ContextMenuProps.closeContextMenu}
2221
+ */
2222
+ this.contextMenuClose = new EventEmitter();
2223
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
2224
+ createSisenseContextConnector(this.sisenseContextService),
2225
+ createThemeContextConnector(this.themeService),
2226
+ ]);
2227
+ }
2228
+ /**
2229
+ * @internal
2230
+ */
2231
+ ngAfterViewInit() {
2232
+ this.componentAdapter.render(this.preactRef.nativeElement);
2233
+ }
2234
+ /**
2235
+ * @internal
2236
+ */
2237
+ ngOnChanges() {
2238
+ if (this.preactRef) {
2239
+ this.componentAdapter.render(this.preactRef.nativeElement);
2240
+ }
2241
+ }
2242
+ createPreactComponent() {
2243
+ const props = {
2244
+ position: this.position,
2245
+ itemSections: this.itemSections,
2246
+ closeContextMenu: () => this.contextMenuClose.emit(),
2247
+ };
2248
+ return createElement(ContextMenu, props, createWrapperElement(this.preactContentRef.nativeElement));
2249
+ }
2250
+ /**
2251
+ * @internal
2252
+ */
2253
+ ngOnDestroy() {
2254
+ this.componentAdapter.destroy();
2255
+ }
2256
+ }
2257
+ 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 });
2258
+ 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 });
2259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContextMenuComponent, decorators: [{
2260
+ type: Component,
2261
+ args: [{
2262
+ selector: 'csdk-context-menu',
2263
+ template: templateWithContent,
2264
+ }]
2265
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
2266
+ type: ViewChild,
2267
+ args: [rootId]
2268
+ }], preactContentRef: [{
2269
+ type: ViewChild,
2270
+ args: [rootContentId]
2271
+ }], position: [{
2272
+ type: Input
2273
+ }], itemSections: [{
2274
+ type: Input
2275
+ }], contextMenuClose: [{
2276
+ type: Output
2277
+ }] } });
2278
+
2279
+ /**
2280
+ * SDK UI Module, which is a container for components.
2281
+ *
2282
+ * @example
2283
+ * Example of importing `SdkUiModule` and injecting {@link SisenseContextConfig} into your application:
2284
+ *
2285
+ * ```ts
2286
+ * export const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {
2287
+ * url="<instance url>" // replace with the URL of your Sisense instance
2288
+ * token="<api token>" // replace with the API token of your user account
2289
+ * defaultDataSource: DM.DataSource,
2290
+ * };
2291
+ *
2292
+ * @NgModule({
2293
+ * imports: [
2294
+ * BrowserModule,
2295
+ * SdkUiModule,
2296
+ * ],
2297
+ * declarations: [AppComponent],
2298
+ * providers: [
2299
+ * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },
2300
+ * ],
2301
+ * bootstrap: [AppComponent],
2302
+ * })
2303
+ * ```
2304
+ */
1494
2305
  class SdkUiModule {
1495
2306
  }
1496
2307
  SdkUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -1508,8 +2319,14 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
1508
2319
  FunnelChartComponent,
1509
2320
  PolarChartComponent,
1510
2321
  TreemapChartComponent,
2322
+ SunburstChartComponent,
1511
2323
  TableWidgetComponent,
1512
- DashboardWidgetComponent], imports: [CommonModule], exports: [BasicMemberFilterTileComponent,
2324
+ DashboardWidgetComponent,
2325
+ MemberFilterTileComponent,
2326
+ DrilldownWidgetComponent,
2327
+ DateRangeFilterTileComponent,
2328
+ DrilldownBreadcrumbsComponent,
2329
+ ContextMenuComponent], imports: [CommonModule, DecoratorsModule], exports: [BasicMemberFilterTileComponent,
1513
2330
  ChartComponent,
1514
2331
  TableComponent,
1515
2332
  ChartWidgetComponent,
@@ -1523,9 +2340,15 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
1523
2340
  FunnelChartComponent,
1524
2341
  PolarChartComponent,
1525
2342
  TreemapChartComponent,
2343
+ SunburstChartComponent,
1526
2344
  TableWidgetComponent,
1527
- DashboardWidgetComponent] });
1528
- SdkUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, imports: [CommonModule] });
2345
+ DashboardWidgetComponent,
2346
+ MemberFilterTileComponent,
2347
+ DrilldownWidgetComponent,
2348
+ DateRangeFilterTileComponent,
2349
+ DrilldownBreadcrumbsComponent,
2350
+ ContextMenuComponent] });
2351
+ SdkUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, imports: [CommonModule, DecoratorsModule] });
1529
2352
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, decorators: [{
1530
2353
  type: NgModule,
1531
2354
  args: [{
@@ -1544,10 +2367,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1544
2367
  FunnelChartComponent,
1545
2368
  PolarChartComponent,
1546
2369
  TreemapChartComponent,
2370
+ SunburstChartComponent,
1547
2371
  TableWidgetComponent,
1548
2372
  DashboardWidgetComponent,
2373
+ MemberFilterTileComponent,
2374
+ DrilldownWidgetComponent,
2375
+ DateRangeFilterTileComponent,
2376
+ DrilldownBreadcrumbsComponent,
2377
+ ContextMenuComponent,
1549
2378
  ],
1550
- imports: [CommonModule],
2379
+ imports: [CommonModule, DecoratorsModule],
1551
2380
  exports: [
1552
2381
  BasicMemberFilterTileComponent,
1553
2382
  ChartComponent,
@@ -1563,41 +2392,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1563
2392
  FunnelChartComponent,
1564
2393
  PolarChartComponent,
1565
2394
  TreemapChartComponent,
2395
+ SunburstChartComponent,
1566
2396
  TableWidgetComponent,
1567
2397
  DashboardWidgetComponent,
2398
+ MemberFilterTileComponent,
2399
+ DrilldownWidgetComponent,
2400
+ DateRangeFilterTileComponent,
2401
+ DrilldownBreadcrumbsComponent,
2402
+ ContextMenuComponent,
1568
2403
  ],
1569
2404
  providers: [],
1570
2405
  }]
1571
2406
  }] });
1572
2407
 
1573
- class QueryService {
1574
- constructor(sisenseContextService) {
1575
- this.sisenseContextService = sisenseContextService;
1576
- }
1577
- executeQuery(params) {
1578
- return __awaiter(this, void 0, void 0, function* () {
1579
- const { dataSource, dimensions, measures, filters, highlights, count, offset, onBeforeQuery } = params;
1580
- const app = yield this.sisenseContextService.getApp();
1581
- const data = yield executeQuery({ dataSource, dimensions, measures, filters, highlights, count, offset }, app, { onBeforeQuery });
1582
- return { data };
1583
- });
1584
- }
1585
- executeQueryByWidgetId(params) {
1586
- return __awaiter(this, void 0, void 0, function* () {
1587
- const app = yield this.sisenseContextService.getApp();
1588
- return executeQueryByWidgetId(Object.assign(Object.assign({}, params), { app }));
1589
- });
1590
- }
1591
- }
1592
- QueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
1593
- QueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, providedIn: 'root' });
1594
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, decorators: [{
1595
- type: Injectable,
1596
- args: [{
1597
- providedIn: 'root',
1598
- }]
1599
- }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
1600
-
1601
2408
  /*
1602
2409
  * Public API Surface of @sisense/sdk-ui-angular
1603
2410
  */
@@ -1606,5 +2413,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1606
2413
  * Generated bundle index. Do not edit.
1607
2414
  */
1608
2415
 
1609
- 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 };
2416
+ 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 };
1610
2417
  //# sourceMappingURL=sisense-sdk-ui-angular.mjs.map