@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 { __awaiter, __decorate } from 'tslib';
7
7
  import { map, BehaviorSubject } from 'rxjs';
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';
@@ -231,7 +231,7 @@ let QueryService = class QueryService {
231
231
  return __awaiter(this, void 0, void 0, function* () {
232
232
  const { dataSource, dimensions, measures, filters, highlights, count, offset, onBeforeQuery } = params;
233
233
  const app = yield this.sisenseContextService.getApp();
234
- const { filters: filterList, relations: filterRelations } = getFilterListAndRelations(filters);
234
+ const { filters: filterList, relations: filterRelations } = getFilterListAndRelationsJaql(filters);
235
235
  const data = yield executeQuery({
236
236
  dataSource,
237
237
  dimensions,
@@ -408,6 +408,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
408
408
  }]
409
409
  }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
410
410
 
411
+ /**
412
+ * Service for working with Sisense Fusion hierarchies.
413
+ *
414
+ * @group Fusion Assets
415
+ * @fusionEmbed
416
+ */
417
+ let HierarchyService = class HierarchyService {
418
+ constructor(sisenseContextService) {
419
+ this.sisenseContextService = sisenseContextService;
420
+ }
421
+ /**
422
+ * Retrieves existing hierarchy models from the Sisense instance.
423
+ *
424
+ * @param params - Parameters to identify the target hierarchy models
425
+ * @returns Hierarchy models array
426
+ */
427
+ getHierarchyModels(params) {
428
+ return __awaiter(this, void 0, void 0, function* () {
429
+ const app = yield this.sisenseContextService.getApp();
430
+ return getHierarchyModels(app.httpClient, params, app.defaultDataSource);
431
+ });
432
+ }
433
+ };
434
+ HierarchyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
435
+ HierarchyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyService, providedIn: 'root' });
436
+ HierarchyService = __decorate([
437
+ TrackableService(['getHierarchyModels'])
438
+ ], HierarchyService);
439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HierarchyService, decorators: [{
440
+ type: Injectable,
441
+ args: [{
442
+ providedIn: 'root',
443
+ }]
444
+ }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
445
+
411
446
  class DecoratorsModule {
412
447
  constructor(sisenseContextService) {
413
448
  DecoratorsModule.sisenseContextService = sisenseContextService;
@@ -424,7 +459,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
424
459
  }]
425
460
  }], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
426
461
 
427
- var packageVersion = '1.23.0';
462
+ var packageVersion = '1.25.0';
428
463
 
429
464
  function Trackable(target, propertyKey, descriptor) {
430
465
  const originalMethod = descriptor.value;
@@ -700,7 +735,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
700
735
  * @example
701
736
  * ```html
702
737
  * <csdk-date-range-filter-tile
703
- * title="dateRangeFilterTileProps.title"
738
+ * [title]="dateRangeFilterTileProps.title"
704
739
  * [attribute]="dateRangeFilterTileProps.attribute"
705
740
  * [filter]="dateRangeFilterTileProps.filter"
706
741
  * (filterChange)="dateRangeFilterTileProps.setFilter($event)"
@@ -826,6 +861,132 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
826
861
  type: Output
827
862
  }] } });
828
863
 
864
+ /**
865
+ * Relative Date Filter Tile Component
866
+ *
867
+ * @example
868
+ * ```html
869
+ * <csdk-relative-date-filter-tile
870
+ * [title]="relativeDateFilterTileProps.title"
871
+ * [arrangement]="relativeDateFilterTileProps.arrangement"
872
+ * [filter]="relativeDateFilterTileProps.filter"
873
+ * (filterChange)="relativeDateFilterTileProps.setFilter($event)"
874
+ * />
875
+ * ```
876
+ * ```ts
877
+ * import { Component } from '@angular/core';
878
+ * import { Filter, filterFactory } from '@sisense/sdk-data';
879
+ * import * as DM from '../../assets/sample-healthcare-model';
880
+ *
881
+ * @Component({
882
+ * selector: 'app-filters',
883
+ * templateUrl: './filters.component.html',
884
+ * styleUrls: ['./filters.component.scss'],
885
+ * })
886
+ * export class FiltersComponent {
887
+ * DM = DM;
888
+ *
889
+ * relativeDateFilterTileProps = {
890
+ * title: 'Relative Date Filter',
891
+ * arrangement: 'vertical',
892
+ * filter: filterFactory.dateRelativeTo(DM.ER.Date.Days, 0, 150),
893
+ * setFilter({ filter }: { filter: Filter | null }) {
894
+ * console.log(filter);
895
+ * if (filter) {
896
+ * this.filter = filter;
897
+ * }
898
+ * },
899
+ * };
900
+ * }
901
+ * ```
902
+ * <img src="media://angular-relative-date-filter-tile-example.png" width="600px" />
903
+ * @group Filter Tiles
904
+ */
905
+ class RelativeDateFilterTileComponent {
906
+ /**
907
+ * Constructor for the `RelativeDateFilterTileComponent`.
908
+ *
909
+ * @param sisenseContextService - Sisense context service
910
+ * @param themeService - Theme service
911
+ */
912
+ constructor(
913
+ /**
914
+ * Sisense context service
915
+ *
916
+ * @category Constructor
917
+ */
918
+ sisenseContextService,
919
+ /**
920
+ * Theme service
921
+ *
922
+ * @category Constructor
923
+ */
924
+ themeService) {
925
+ this.sisenseContextService = sisenseContextService;
926
+ this.themeService = themeService;
927
+ /**
928
+ * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.onUpdate}
929
+ */
930
+ this.filterChange = new EventEmitter();
931
+ this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
932
+ createSisenseContextConnector(this.sisenseContextService),
933
+ createThemeContextConnector(this.themeService),
934
+ ]);
935
+ }
936
+ /**
937
+ * @internal
938
+ */
939
+ ngAfterViewInit() {
940
+ this.componentAdapter.render(this.preactRef.nativeElement);
941
+ }
942
+ /**
943
+ * @internal
944
+ */
945
+ ngOnChanges() {
946
+ if (this.preactRef) {
947
+ this.componentAdapter.render(this.preactRef.nativeElement);
948
+ }
949
+ }
950
+ createPreactComponent() {
951
+ const props = {
952
+ title: this.title,
953
+ filter: this.filter,
954
+ arrangement: this.arrangement,
955
+ limit: this.limit,
956
+ onUpdate: (...[filter]) => this.filterChange.emit({ filter }),
957
+ };
958
+ return createElement(RelativeDateFilterTile, props);
959
+ }
960
+ /**
961
+ * @internal
962
+ */
963
+ ngOnDestroy() {
964
+ this.componentAdapter.destroy();
965
+ }
966
+ }
967
+ 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 });
968
+ 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 });
969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RelativeDateFilterTileComponent, decorators: [{
970
+ type: Component,
971
+ args: [{
972
+ selector: 'csdk-relative-date-filter-tile',
973
+ template,
974
+ }]
975
+ }], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
976
+ type: ViewChild,
977
+ args: [rootId]
978
+ }], title: [{
979
+ type: Input
980
+ }], filter: [{
981
+ type: Input
982
+ }], arrangement: [{
983
+ type: Input
984
+ }], limit: [{
985
+ type: Input
986
+ }], filterChange: [{
987
+ type: Output
988
+ }] } });
989
+
829
990
  /**
830
991
  * Criteria Filter Tile Component
831
992
  *
@@ -3981,6 +4142,7 @@ class DashboardByIdComponent {
3981
4142
  createPreactComponent() {
3982
4143
  const props = {
3983
4144
  dashboardOid: this.dashboardOid,
4145
+ persist: this.persist,
3984
4146
  };
3985
4147
  return createElement(DashboardById, props);
3986
4148
  }
@@ -3992,7 +4154,7 @@ class DashboardByIdComponent {
3992
4154
  }
3993
4155
  }
3994
4156
  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 });
3995
- 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 });
4157
+ 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 });
3996
4158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardByIdComponent, decorators: [{
3997
4159
  type: Component,
3998
4160
  args: [{
@@ -4004,6 +4166,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4004
4166
  args: [rootId]
4005
4167
  }], dashboardOid: [{
4006
4168
  type: Input
4169
+ }], persist: [{
4170
+ type: Input
4007
4171
  }] } });
4008
4172
 
4009
4173
  /**
@@ -4379,6 +4543,7 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
4379
4543
  MemberFilterTileComponent,
4380
4544
  DrilldownWidgetComponent,
4381
4545
  DateRangeFilterTileComponent,
4546
+ RelativeDateFilterTileComponent,
4382
4547
  CriteriaFilterTileComponent,
4383
4548
  DrilldownBreadcrumbsComponent,
4384
4549
  ContextMenuComponent,
@@ -4409,6 +4574,7 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
4409
4574
  MemberFilterTileComponent,
4410
4575
  DrilldownWidgetComponent,
4411
4576
  DateRangeFilterTileComponent,
4577
+ RelativeDateFilterTileComponent,
4412
4578
  CriteriaFilterTileComponent,
4413
4579
  DrilldownBreadcrumbsComponent,
4414
4580
  ContextMenuComponent,
@@ -4445,6 +4611,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4445
4611
  MemberFilterTileComponent,
4446
4612
  DrilldownWidgetComponent,
4447
4613
  DateRangeFilterTileComponent,
4614
+ RelativeDateFilterTileComponent,
4448
4615
  CriteriaFilterTileComponent,
4449
4616
  DrilldownBreadcrumbsComponent,
4450
4617
  ContextMenuComponent,
@@ -4479,6 +4646,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4479
4646
  MemberFilterTileComponent,
4480
4647
  DrilldownWidgetComponent,
4481
4648
  DateRangeFilterTileComponent,
4649
+ RelativeDateFilterTileComponent,
4482
4650
  CriteriaFilterTileComponent,
4483
4651
  DrilldownBreadcrumbsComponent,
4484
4652
  ContextMenuComponent,
@@ -4527,5 +4695,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4527
4695
  * Generated bundle index. Do not edit.
4528
4696
  */
4529
4697
 
4530
- 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 };
4698
+ 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 };
4531
4699
  //# sourceMappingURL=sisense-sdk-ui-angular.mjs.map