@sisense/sdk-ui-angular 1.23.0 → 1.25.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 (27) hide show
  1. package/dist/esm2020/lib/components/dashboard/dashboard-by-id.component.mjs +5 -2
  2. package/dist/esm2020/lib/components/filters/date-range-filter-tile.component.mjs +2 -2
  3. package/dist/esm2020/lib/components/filters/index.mjs +2 -1
  4. package/dist/esm2020/lib/components/filters/relative-date-filter-tile.component.mjs +133 -0
  5. package/dist/esm2020/lib/sdk-ui-core-exports.mjs +1 -1
  6. package/dist/esm2020/lib/sdk-ui.module.mjs +6 -2
  7. package/dist/esm2020/lib/services/hierarchy.service.mjs +40 -0
  8. package/dist/esm2020/lib/services/index.mjs +2 -1
  9. package/dist/esm2020/lib/services/query.service.mjs +3 -3
  10. package/dist/esm2020/lib/services/widget.service.mjs +2 -2
  11. package/dist/esm2020/version.mjs +2 -2
  12. package/dist/fesm2015/sisense-sdk-ui-angular.mjs +175 -7
  13. package/dist/fesm2015/sisense-sdk-ui-angular.mjs.map +1 -1
  14. package/dist/fesm2020/sisense-sdk-ui-angular.mjs +173 -7
  15. package/dist/fesm2020/sisense-sdk-ui-angular.mjs.map +1 -1
  16. package/dist/lib/components/dashboard/dashboard-by-id.component.d.ts +7 -1
  17. package/dist/lib/components/filters/date-range-filter-tile.component.d.ts +1 -1
  18. package/dist/lib/components/filters/index.d.ts +1 -0
  19. package/dist/lib/components/filters/relative-date-filter-tile.component.d.ts +120 -0
  20. package/dist/lib/sdk-ui-core-exports.d.ts +1 -1
  21. package/dist/lib/sdk-ui.module.d.ts +13 -12
  22. package/dist/lib/services/hierarchy.service.d.ts +27 -0
  23. package/dist/lib/services/index.d.ts +1 -0
  24. package/dist/lib/services/widget.service.d.ts +6 -1
  25. package/dist/package.json +4 -4
  26. package/dist/version.d.ts +1 -1
  27. package/package.json +7 -7
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Component, ViewChild, Input, Output, InjectionToken, Injectable, Inject, NgModule, Optional } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
- import { ComponentAdapter, createElement, BasicMemberFilterTile, createContextProviderRenderer, CustomThemeProvider, CustomSisenseContextProvider, CustomPluginsProvider, createClientApplication, executeQuery, executeQueryByWidgetId, getDashboardModel, getDashboardModels, getWidgetModel, getDefaultThemeSettings, getThemeSettingsByOid, MemberFilterTile, DateRangeFilterTile, CriteriaFilterTile, Chart, Table, PivotTable, TableWidget, DashboardWidget, WidgetById, createWrapperElementHandler, createWrapperElement, DrilldownWidget, createComponentRenderer, ChartWidget, DashboardById, Dashboard, DrilldownBreadcrumbs, ContextMenu } from '@sisense/sdk-ui-preact';
4
+ import { ComponentAdapter, createElement, BasicMemberFilterTile, createContextProviderRenderer, CustomThemeProvider, CustomSisenseContextProvider, CustomPluginsProvider, createClientApplication, executeQuery, executeQueryByWidgetId, getDashboardModel, getDashboardModels, getWidgetModel, getHierarchyModels, getDefaultThemeSettings, getThemeSettingsByOid, MemberFilterTile, DateRangeFilterTile, RelativeDateFilterTile, CriteriaFilterTile, Chart, Table, PivotTable, TableWidget, DashboardWidget, WidgetById, createWrapperElementHandler, createWrapperElement, DrilldownWidget, createComponentRenderer, ChartWidget, DashboardById, Dashboard, DrilldownBreadcrumbs, ContextMenu } from '@sisense/sdk-ui-preact';
5
5
  export { boxWhiskerProcessResult, dashboardHelpers, dashboardModelTranslator, widgetModelTranslator } from '@sisense/sdk-ui-preact';
6
6
  import { map, BehaviorSubject } from 'rxjs';
7
7
  import { __decorate } from 'tslib';
8
8
  import merge from 'ts-deepmerge';
9
- import { getFilterListAndRelations } from '@sisense/sdk-data';
9
+ import { getFilterListAndRelationsJaql } from '@sisense/sdk-data';
10
10
  import { trackProductEvent } from '@sisense/sdk-tracking';
11
11
 
12
12
  const rootId = 'preact';
@@ -228,7 +228,7 @@ let QueryService = class QueryService {
228
228
  async executeQuery(params) {
229
229
  const { dataSource, dimensions, measures, filters, highlights, count, offset, onBeforeQuery } = params;
230
230
  const app = await this.sisenseContextService.getApp();
231
- const { filters: filterList, relations: filterRelations } = getFilterListAndRelations(filters);
231
+ const { filters: filterList, relations: filterRelations } = getFilterListAndRelationsJaql(filters);
232
232
  const data = await executeQuery({
233
233
  dataSource,
234
234
  dimensions,
@@ -399,6 +399,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
399
399
  }]
400
400
  }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
401
401
 
402
+ /**
403
+ * Service for working with Sisense Fusion hierarchies.
404
+ *
405
+ * @group Fusion Assets
406
+ * @fusionEmbed
407
+ */
408
+ let HierarchyService = class HierarchyService {
409
+ constructor(sisenseContextService) {
410
+ this.sisenseContextService = sisenseContextService;
411
+ }
412
+ /**
413
+ * Retrieves existing hierarchy models from the Sisense instance.
414
+ *
415
+ * @param params - Parameters to identify the target hierarchy models
416
+ * @returns Hierarchy models array
417
+ */
418
+ async getHierarchyModels(params) {
419
+ const app = await this.sisenseContextService.getApp();
420
+ return getHierarchyModels(app.httpClient, params, app.defaultDataSource);
421
+ }
422
+ };
423
+ HierarchyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
424
+ HierarchyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyService, providedIn: 'root' });
425
+ HierarchyService = __decorate([
426
+ TrackableService(['getHierarchyModels'])
427
+ ], HierarchyService);
428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyService, decorators: [{
429
+ type: Injectable,
430
+ args: [{
431
+ providedIn: 'root',
432
+ }]
433
+ }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
434
+
402
435
  class DecoratorsModule {
403
436
  constructor(sisenseContextService) {
404
437
  DecoratorsModule.sisenseContextService = sisenseContextService;
@@ -415,7 +448,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
415
448
  }]
416
449
  }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
417
450
 
418
- var packageVersion = '1.23.0';
451
+ var packageVersion = '1.25.0';
419
452
 
420
453
  function Trackable(target, propertyKey, descriptor) {
421
454
  const originalMethod = descriptor.value;
@@ -680,7 +713,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
680
713
  * @example
681
714
  * ```html
682
715
  * <csdk-date-range-filter-tile
683
- * title="dateRangeFilterTileProps.title"
716
+ * [title]="dateRangeFilterTileProps.title"
684
717
  * [attribute]="dateRangeFilterTileProps.attribute"
685
718
  * [filter]="dateRangeFilterTileProps.filter"
686
719
  * (filterChange)="dateRangeFilterTileProps.setFilter($event)"
@@ -806,6 +839,132 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
806
839
  type: Output
807
840
  }] } });
808
841
 
842
+ /**
843
+ * Relative Date Filter Tile Component
844
+ *
845
+ * @example
846
+ * ```html
847
+ * <csdk-relative-date-filter-tile
848
+ * [title]="relativeDateFilterTileProps.title"
849
+ * [arrangement]="relativeDateFilterTileProps.arrangement"
850
+ * [filter]="relativeDateFilterTileProps.filter"
851
+ * (filterChange)="relativeDateFilterTileProps.setFilter($event)"
852
+ * />
853
+ * ```
854
+ * ```ts
855
+ * import { Component } from '@angular/core';
856
+ * import { Filter, filterFactory } from '@sisense/sdk-data';
857
+ * import * as DM from '../../assets/sample-healthcare-model';
858
+ *
859
+ * @Component({
860
+ * selector: 'app-filters',
861
+ * templateUrl: './filters.component.html',
862
+ * styleUrls: ['./filters.component.scss'],
863
+ * })
864
+ * export class FiltersComponent {
865
+ * DM = DM;
866
+ *
867
+ * relativeDateFilterTileProps = {
868
+ * title: 'Relative Date Filter',
869
+ * arrangement: 'vertical',
870
+ * filter: filterFactory.dateRelativeTo(DM.ER.Date.Days, 0, 150),
871
+ * setFilter({ filter }: { filter: Filter | null }) {
872
+ * console.log(filter);
873
+ * if (filter) {
874
+ * this.filter = filter;
875
+ * }
876
+ * },
877
+ * };
878
+ * }
879
+ * ```
880
+ * <img src="media://angular-relative-date-filter-tile-example.png" width="600px" />
881
+ * @group Filter Tiles
882
+ */
883
+ class RelativeDateFilterTileComponent {
884
+ /**
885
+ * Constructor for the `RelativeDateFilterTileComponent`.
886
+ *
887
+ * @param sisenseContextService - Sisense context service
888
+ * @param themeService - Theme service
889
+ */
890
+ constructor(
891
+ /**
892
+ * Sisense context service
893
+ *
894
+ * @category Constructor
895
+ */
896
+ sisenseContextService,
897
+ /**
898
+ * Theme service
899
+ *
900
+ * @category Constructor
901
+ */
902
+ themeService) {
903
+ this.sisenseContextService = sisenseContextService;
904
+ this.themeService = themeService;
905
+ /**
906
+ * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.onUpdate}
907
+ */
908
+ this.filterChange = new EventEmitter();
909
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
910
+ createSisenseContextConnector(this.sisenseContextService),
911
+ createThemeContextConnector(this.themeService),
912
+ ]);
913
+ }
914
+ /**
915
+ * @internal
916
+ */
917
+ ngAfterViewInit() {
918
+ this.componentAdapter.render(this.preactRef.nativeElement);
919
+ }
920
+ /**
921
+ * @internal
922
+ */
923
+ ngOnChanges() {
924
+ if (this.preactRef) {
925
+ this.componentAdapter.render(this.preactRef.nativeElement);
926
+ }
927
+ }
928
+ createPreactComponent() {
929
+ const props = {
930
+ title: this.title,
931
+ filter: this.filter,
932
+ arrangement: this.arrangement,
933
+ limit: this.limit,
934
+ onUpdate: (...[filter]) => this.filterChange.emit({ filter }),
935
+ };
936
+ return createElement(RelativeDateFilterTile, props);
937
+ }
938
+ /**
939
+ * @internal
940
+ */
941
+ ngOnDestroy() {
942
+ this.componentAdapter.destroy();
943
+ }
944
+ }
945
+ RelativeDateFilterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RelativeDateFilterTileComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
946
+ RelativeDateFilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RelativeDateFilterTileComponent, selector: "csdk-relative-date-filter-tile", inputs: { title: "title", filter: "filter", arrangement: "arrangement", limit: "limit" }, 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 });
947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RelativeDateFilterTileComponent, decorators: [{
948
+ type: Component,
949
+ args: [{
950
+ selector: 'csdk-relative-date-filter-tile',
951
+ template,
952
+ }]
953
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
954
+ type: ViewChild,
955
+ args: [rootId]
956
+ }], title: [{
957
+ type: Input
958
+ }], filter: [{
959
+ type: Input
960
+ }], arrangement: [{
961
+ type: Input
962
+ }], limit: [{
963
+ type: Input
964
+ }], filterChange: [{
965
+ type: Output
966
+ }] } });
967
+
809
968
  /**
810
969
  * Criteria Filter Tile Component
811
970
  *
@@ -3965,6 +4124,7 @@ class DashboardByIdComponent {
3965
4124
  createPreactComponent() {
3966
4125
  const props = {
3967
4126
  dashboardOid: this.dashboardOid,
4127
+ persist: this.persist,
3968
4128
  };
3969
4129
  return createElement(DashboardById, props);
3970
4130
  }
@@ -3976,7 +4136,7 @@ class DashboardByIdComponent {
3976
4136
  }
3977
4137
  }
3978
4138
  DashboardByIdComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardByIdComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }, { token: PluginsService }], target: i0.ɵɵFactoryTarget.Component });
3979
- DashboardByIdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DashboardByIdComponent, selector: "csdk-dashboard-by-id", inputs: { dashboardOid: "dashboardOid" }, 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 });
4139
+ DashboardByIdComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DashboardByIdComponent, selector: "csdk-dashboard-by-id", inputs: { dashboardOid: "dashboardOid", persist: "persist" }, 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 });
3980
4140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardByIdComponent, decorators: [{
3981
4141
  type: Component,
3982
4142
  args: [{
@@ -3988,6 +4148,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3988
4148
  args: [rootId]
3989
4149
  }], dashboardOid: [{
3990
4150
  type: Input
4151
+ }], persist: [{
4152
+ type: Input
3991
4153
  }] } });
3992
4154
 
3993
4155
  /**
@@ -4363,6 +4525,7 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
4363
4525
  MemberFilterTileComponent,
4364
4526
  DrilldownWidgetComponent,
4365
4527
  DateRangeFilterTileComponent,
4528
+ RelativeDateFilterTileComponent,
4366
4529
  CriteriaFilterTileComponent,
4367
4530
  DrilldownBreadcrumbsComponent,
4368
4531
  ContextMenuComponent,
@@ -4393,6 +4556,7 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
4393
4556
  MemberFilterTileComponent,
4394
4557
  DrilldownWidgetComponent,
4395
4558
  DateRangeFilterTileComponent,
4559
+ RelativeDateFilterTileComponent,
4396
4560
  CriteriaFilterTileComponent,
4397
4561
  DrilldownBreadcrumbsComponent,
4398
4562
  ContextMenuComponent,
@@ -4429,6 +4593,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4429
4593
  MemberFilterTileComponent,
4430
4594
  DrilldownWidgetComponent,
4431
4595
  DateRangeFilterTileComponent,
4596
+ RelativeDateFilterTileComponent,
4432
4597
  CriteriaFilterTileComponent,
4433
4598
  DrilldownBreadcrumbsComponent,
4434
4599
  ContextMenuComponent,
@@ -4463,6 +4628,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4463
4628
  MemberFilterTileComponent,
4464
4629
  DrilldownWidgetComponent,
4465
4630
  DateRangeFilterTileComponent,
4631
+ RelativeDateFilterTileComponent,
4466
4632
  CriteriaFilterTileComponent,
4467
4633
  DrilldownBreadcrumbsComponent,
4468
4634
  ContextMenuComponent,
@@ -4511,5 +4677,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4511
4677
  * Generated bundle index. Do not edit.
4512
4678
  */
4513
4679
 
4514
- export { AreaChartComponent, AreaRangeChartComponent, AreamapChartComponent, BarChartComponent, BasicMemberFilterTileComponent, BoxplotChartComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, CriteriaFilterTileComponent, DashboardByIdComponent, DashboardComponent, DashboardService, DashboardWidgetComponent, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FunnelChartComponent, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PivotTableComponent, PluginsService, PolarChartComponent, QueryService, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, ScattermapChartComponent, SdkUiModule, SisenseContextService, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TreemapChartComponent, WidgetByIdComponent, WidgetService };
4680
+ export { AreaChartComponent, AreaRangeChartComponent, AreamapChartComponent, BarChartComponent, BasicMemberFilterTileComponent, BoxplotChartComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, CriteriaFilterTileComponent, DashboardByIdComponent, DashboardComponent, DashboardService, DashboardWidgetComponent, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FunnelChartComponent, HierarchyService, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PivotTableComponent, PluginsService, PolarChartComponent, QueryService, RelativeDateFilterTileComponent, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, ScattermapChartComponent, SdkUiModule, SisenseContextService, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TreemapChartComponent, WidgetByIdComponent, WidgetService };
4515
4681
  //# sourceMappingURL=sisense-sdk-ui-angular.mjs.map