@ic3/reporting-api 8.0.0-rc.3 → 8.0.1

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 (124) hide show
  1. package/dist/ApiUtils.d.ts +46 -8
  2. package/dist/ApiUtils.js +37 -21
  3. package/dist/ApiUtils.js.map +1 -1
  4. package/dist/INotification.d.ts +29 -8
  5. package/dist/IPluginDefinition.d.ts +9 -0
  6. package/dist/IReporting.d.ts +16 -4
  7. package/dist/IThemeManager.d.ts +14 -13
  8. package/dist/IThemeManager.js.map +1 -1
  9. package/dist/ITypes.d.ts +25 -0
  10. package/dist/ITypes.js +31 -0
  11. package/dist/ITypes.js.map +1 -0
  12. package/dist/IWidgetManager.d.ts +5 -2
  13. package/dist/LazyTreeView.d.ts +6 -1
  14. package/dist/Loader.d.ts +9 -0
  15. package/dist/Loader.js +10 -2
  16. package/dist/Loader.js.map +1 -1
  17. package/dist/PublicContext.d.ts +2 -1
  18. package/dist/PublicLayout.d.ts +7 -23
  19. package/dist/PublicTemplate.d.ts +95 -35
  20. package/dist/PublicTemplate.js +1 -10
  21. package/dist/PublicTemplate.js.map +1 -1
  22. package/dist/PublicTemplateForm.d.ts +124 -15
  23. package/dist/PublicTemplateForm.js +1 -9
  24. package/dist/PublicTemplateForm.js.map +1 -1
  25. package/dist/PublicTemplates.d.ts +61 -0
  26. package/dist/{theme/ThemeGoogleMapMarker.js → PublicTemplates.js} +1 -1
  27. package/dist/PublicTemplates.js.map +1 -0
  28. package/dist/PublicTheme.d.ts +112 -75
  29. package/dist/PublicTheme.js.map +1 -1
  30. package/dist/PublicTidyColumn.d.ts +29 -9
  31. package/dist/PublicTidyColumn.js.map +1 -1
  32. package/dist/PublicTidyHistogram.d.ts +38 -0
  33. package/dist/PublicTidyHistogram.js +6 -1
  34. package/dist/PublicTidyHistogram.js.map +1 -1
  35. package/dist/PublicTidyTable.d.ts +36 -18
  36. package/dist/PublicTidyTableInteractions.d.ts +19 -2
  37. package/dist/PublicTidyTableTypes.d.ts +28 -8
  38. package/dist/PublicTidyTableTypes.js +18 -1
  39. package/dist/PublicTidyTableTypes.js.map +1 -1
  40. package/dist/PublicTidyTree.d.ts +13 -3
  41. package/dist/PublicTidyTree.js +19 -13
  42. package/dist/PublicTidyTree.js.map +1 -1
  43. package/dist/index.d.ts +24 -0
  44. package/dist/index.js +29 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/theme/ThemeAmCharts4.d.ts +1346 -0
  47. package/dist/theme/ThemeAmCharts4.js +61 -0
  48. package/dist/theme/ThemeAmCharts4.js.map +1 -0
  49. package/dist/theme/ThemeApp.d.ts +11 -11
  50. package/dist/theme/ThemeApp.js +40 -0
  51. package/dist/theme/ThemeApp.js.map +1 -1
  52. package/dist/theme/ThemeBaseTable.d.ts +94 -0
  53. package/dist/theme/ThemeBaseTable.js +10 -0
  54. package/dist/theme/ThemeBaseTable.js.map +1 -0
  55. package/dist/theme/ThemeDatePicker.d.ts +111 -0
  56. package/dist/theme/ThemeDatePicker.js +3 -0
  57. package/dist/theme/ThemeDatePicker.js.map +1 -0
  58. package/dist/theme/ThemeEmbeddedReport.d.ts +25 -0
  59. package/dist/theme/ThemeEmbeddedReport.js +3 -0
  60. package/dist/theme/ThemeEmbeddedReport.js.map +1 -0
  61. package/dist/theme/ThemeFilter.d.ts +28 -0
  62. package/dist/theme/ThemeFilter.js +3 -0
  63. package/dist/theme/ThemeFilter.js.map +1 -0
  64. package/dist/theme/ThemeFilterAutocomplete.d.ts +31 -15
  65. package/dist/theme/ThemeFilterAutocomplete.js.map +1 -1
  66. package/dist/theme/ThemeFilterButtons.d.ts +40 -19
  67. package/dist/theme/ThemeFilterButtons.js.map +1 -1
  68. package/dist/theme/ThemeFilterCheckboxRadio.d.ts +48 -0
  69. package/dist/theme/ThemeFilterCheckboxRadio.js +23 -0
  70. package/dist/theme/ThemeFilterCheckboxRadio.js.map +1 -0
  71. package/dist/theme/ThemeFilterPanel.d.ts +84 -0
  72. package/dist/theme/ThemeFilterPanel.js +35 -0
  73. package/dist/theme/ThemeFilterPanel.js.map +1 -0
  74. package/dist/theme/ThemeFilterSlider.d.ts +42 -28
  75. package/dist/theme/ThemeFilterSlider.js +7 -7
  76. package/dist/theme/ThemeFilterSlider.js.map +1 -1
  77. package/dist/theme/ThemeFilterTree.d.ts +60 -30
  78. package/dist/theme/ThemeFilterTree.js.map +1 -1
  79. package/dist/theme/ThemeGoogle.d.ts +132 -0
  80. package/dist/theme/ThemeGoogle.js +64 -0
  81. package/dist/theme/ThemeGoogle.js.map +1 -0
  82. package/dist/theme/ThemeGoogleHeatMap.d.ts +58 -0
  83. package/dist/theme/ThemeGoogleHeatMap.js +3 -0
  84. package/dist/theme/ThemeGoogleHeatMap.js.map +1 -0
  85. package/dist/theme/ThemeGoogleKmlLayer.d.ts +40 -0
  86. package/dist/theme/ThemeGoogleKmlLayer.js +3 -0
  87. package/dist/theme/ThemeGoogleKmlLayer.js.map +1 -0
  88. package/dist/theme/ThemeGoogleMarker.d.ts +147 -0
  89. package/dist/theme/ThemeGoogleMarker.js +3 -0
  90. package/dist/theme/ThemeGoogleMarker.js.map +1 -0
  91. package/dist/theme/ThemeHtmlBox.d.ts +5 -1
  92. package/dist/theme/ThemeImage.d.ts +19 -0
  93. package/dist/theme/ThemeImage.js +3 -0
  94. package/dist/theme/ThemeImage.js.map +1 -0
  95. package/dist/theme/ThemeKpiBox.d.ts +46 -0
  96. package/dist/theme/ThemeKpiBox.js +3 -0
  97. package/dist/theme/ThemeKpiBox.js.map +1 -0
  98. package/dist/theme/ThemeKpiCard.d.ts +98 -0
  99. package/dist/theme/ThemeKpiCard.js +3 -0
  100. package/dist/theme/ThemeKpiCard.js.map +1 -0
  101. package/dist/theme/ThemeMarkdownText.d.ts +27 -0
  102. package/dist/theme/ThemeMarkdownText.js +3 -0
  103. package/dist/theme/ThemeMarkdownText.js.map +1 -0
  104. package/dist/theme/ThemePivotTable.d.ts +68 -0
  105. package/dist/theme/ThemePivotTable.js +10 -1
  106. package/dist/theme/ThemePivotTable.js.map +1 -1
  107. package/dist/theme/ThemeRepetitionWidget.d.ts +51 -0
  108. package/dist/theme/ThemeRepetitionWidget.js +3 -0
  109. package/dist/theme/ThemeRepetitionWidget.js.map +1 -0
  110. package/dist/theme/ThemeReportAppLeftPanel.d.ts +7 -0
  111. package/dist/theme/ThemeReportAppLeftPanel.js +11 -0
  112. package/dist/theme/ThemeReportAppLeftPanel.js.map +1 -0
  113. package/dist/theme/ThemeTable.d.ts +155 -2
  114. package/dist/theme/ThemeTable.js +165 -1
  115. package/dist/theme/ThemeTable.js.map +1 -1
  116. package/dist/theme/ThemeWidgetBox.d.ts +69 -0
  117. package/dist/theme/ThemeWidgetBox.js +29 -1
  118. package/dist/theme/ThemeWidgetBox.js.map +1 -1
  119. package/package.json +6 -6
  120. package/dist/theme/ThemeFilterCheckboxes.d.ts +0 -18
  121. package/dist/theme/ThemeFilterCheckboxes.js +0 -11
  122. package/dist/theme/ThemeFilterCheckboxes.js.map +0 -1
  123. package/dist/theme/ThemeGoogleMapMarker.d.ts +0 -51
  124. package/dist/theme/ThemeGoogleMapMarker.js.map +0 -1
@@ -19,12 +19,16 @@ import { WidgetBoxContentMessageClassKey } from "./theme/ThemeWidgetBoxContentMe
19
19
  import { ReactElement } from "react";
20
20
  import { TypographyStyleOptions } from "@mui/material/styles/createTypography";
21
21
  import { Property } from "csstype";
22
- import { FilterButtonsClassKey, FilterButtonsProps } from "./theme/ThemeFilterButtons";
23
- import { FilterSliderClassKey, FilterSliderProps } from "./theme/ThemeFilterSlider";
24
- import { GoogleMapMarkerProps } from "./theme/ThemeGoogleMapMarker";
22
+ import { FilterButtonsChartOptions, FilterButtonsClassKey } from "./theme/ThemeFilterButtons";
23
+ import { FilterSliderChartOptions, FilterSliderClassKey } from "./theme/ThemeFilterSlider";
24
+ import { GoogleMarkerVariantChartOptions } from "./theme/ThemeGoogleMarker";
25
25
  import { IPublicContext } from "./PublicContext";
26
26
  import { TableClassKey, TableProps } from "./theme/ThemeTable";
27
27
  import { PivotTableClassKey, PivotTableProps } from "./theme/ThemePivotTable";
28
+ import { Components } from "@mui/material/styles/components";
29
+ import { FilterPanelClassesKey } from "./theme/ThemeFilterPanel";
30
+ import { FilterCheckboxRadioChartOptions, FilterCheckboxRadioClassKey } from "./theme/ThemeFilterCheckboxRadio";
31
+ import { ReportAppLeftPanelClassKey } from "./theme/ThemeReportAppLeftPanel";
28
32
  export interface INoSchemaRendererOptions {
29
33
  missingSchema: string;
30
34
  }
@@ -206,28 +210,15 @@ export interface ic3PaletteOptions {
206
210
  reportAppMenu?: Property.Color;
207
211
  onHover?: (color: Property.Color) => Property.Color;
208
212
  }
209
- declare module "@mui/material/styles/createPalette" {
210
- interface Palette {
211
- ic3: ic3Palette;
212
- }
213
- interface PaletteOptions {
214
- ic3?: ic3PaletteOptions;
215
- }
216
- }
217
213
  export interface ic3Typography {
218
214
  amCharts4: TypographyStyleOptions;
219
215
  }
220
216
  export interface ic3TypographyOptions {
217
+ /**
218
+ * Typography for the amCharts plugin.
219
+ */
221
220
  amCharts4?: TypographyStyleOptions;
222
221
  }
223
- declare module "@mui/material/styles/createTypography" {
224
- interface Typography {
225
- ic3: ic3Typography;
226
- }
227
- interface TypographyOptions {
228
- ic3?: ic3TypographyOptions;
229
- }
230
- }
231
222
  export declare enum TableRowHeightOptions {
232
223
  standard = "standard",
233
224
  compact = "compact"
@@ -384,6 +375,99 @@ export interface ic3ThemeOptions {
384
375
  };
385
376
  noSchemaRenderer?: (context: IPublicContext, options: INoSchemaRendererOptions) => ReactElement;
386
377
  }
378
+ interface ic3BaseComponents {
379
+ AlertDialog?: {
380
+ styleOverrides?: ComponentsOverrides["AlertDialog"];
381
+ };
382
+ App?: {
383
+ styleOverrides?: ComponentsOverrides["App"];
384
+ };
385
+ DrilldownUserSelectMenu?: {
386
+ styleOverrides?: ComponentsOverrides["DrilldownUserSelectMenu"];
387
+ };
388
+ ErrorRenderer?: {
389
+ styleOverrides?: ComponentsOverrides["ErrorRenderer"];
390
+ };
391
+ FilterCheckbox?: {
392
+ styleOverrides?: ComponentsOverrides["FilterCheckbox"];
393
+ variants?: ComponentsVariants["FilterCheckbox"];
394
+ };
395
+ FilterButtons?: {
396
+ styleOverrides?: ComponentsOverrides["FilterButtons"];
397
+ variants?: ComponentsVariants["FilterButtons"];
398
+ };
399
+ FilterPanel?: {
400
+ variants?: ComponentsVariants['FilterPanel'];
401
+ styleOverrides?: ComponentsOverrides["FilterPanel"];
402
+ };
403
+ FilterSlider?: {
404
+ styleOverrides?: ComponentsOverrides["FilterSlider"];
405
+ variants?: ComponentsVariants["FilterSlider"];
406
+ };
407
+ GoogleMarker?: {
408
+ variants?: ComponentsVariants['GoogleMarker'];
409
+ };
410
+ HtmlBox?: {
411
+ styleOverrides?: ComponentsOverrides["HtmlBox"];
412
+ variants?: ComponentsVariants["HtmlBox"];
413
+ };
414
+ Layout?: {
415
+ styleOverrides?: ComponentsOverrides["Layout"];
416
+ };
417
+ LayoutPage?: {
418
+ styleOverrides?: ComponentsOverrides["LayoutPage"];
419
+ };
420
+ PivotTable?: {
421
+ variants?: ComponentsVariants['PivotTable'];
422
+ styleOverrides?: ComponentsOverrides["PivotTable"];
423
+ };
424
+ ReportAppBar?: {
425
+ styleOverrides?: ComponentsOverrides["ReportAppBar"];
426
+ };
427
+ ReportAppLeftPanel?: {
428
+ styleOverrides?: ComponentsOverrides["ReportAppLeftPanel"];
429
+ };
430
+ ReportAppMenu?: {
431
+ styleOverrides?: ComponentsOverrides["ReportAppMenu"];
432
+ };
433
+ Table?: {
434
+ variants?: ComponentsVariants['Table'];
435
+ styleOverrides?: ComponentsOverrides["Table"];
436
+ };
437
+ WidgetBox?: {
438
+ variants?: ComponentsVariants['WidgetBox'];
439
+ styleOverrides?: ComponentsOverrides["WidgetBox"];
440
+ };
441
+ WidgetBoxContentMessage?: {
442
+ styleOverrides?: ComponentsOverrides["WidgetBoxContentMessage"];
443
+ };
444
+ }
445
+ /**
446
+ * For Typing purpose extending MUI Theme with ic3 components
447
+ */
448
+ export interface ic3Components extends ic3BaseComponents, Components {
449
+ }
450
+ /**
451
+ *
452
+ * MUI Module augmentation
453
+ *
454
+ */
455
+ declare module "@mui/material/styles/createPalette" {
456
+ interface Palette {
457
+ ic3: ic3Palette;
458
+ }
459
+ interface PaletteOptions {
460
+ ic3?: ic3PaletteOptions;
461
+ }
462
+ }
463
+ declare module "@mui/material/styles/createTypography" {
464
+ interface Typography {
465
+ ic3: ic3Typography;
466
+ }
467
+ interface TypographyOptions {
468
+ ic3?: ic3TypographyOptions;
469
+ }
470
+ }
387
471
  declare module '@mui/material/styles/createTheme' {
388
472
  interface Theme {
389
473
  ic3: ic3Theme;
@@ -399,59 +483,7 @@ declare module '@mui/material/styles/createTheme' {
399
483
  * All Components using Material-UI like variants (using styled)
400
484
  */
401
485
  declare module '@mui/material/styles/components' {
402
- interface Components {
403
- AlertDialog?: {
404
- styleOverrides?: ComponentsOverrides["AlertDialog"];
405
- };
406
- App?: {
407
- styleOverrides?: ComponentsOverrides["App"];
408
- };
409
- DrilldownUserSelectMenu?: {
410
- styleOverrides?: ComponentsOverrides["DrilldownUserSelectMenu"];
411
- };
412
- ErrorRenderer?: {
413
- styleOverrides?: ComponentsOverrides["ErrorRenderer"];
414
- };
415
- FilterButtons?: {
416
- styleOverrides?: ComponentsOverrides["FilterButtons"];
417
- variants?: ComponentsVariants["FilterButtons"];
418
- };
419
- FilterSlider?: {
420
- styleOverrides?: ComponentsOverrides["FilterSlider"];
421
- variants?: ComponentsVariants["FilterSlider"];
422
- };
423
- GoogleMapMarker?: {
424
- variants?: ComponentsVariants['GoogleMapMarker'];
425
- };
426
- HtmlBox?: {
427
- styleOverrides?: ComponentsOverrides["HtmlBox"];
428
- variants?: ComponentsVariants["HtmlBox"];
429
- };
430
- Layout?: {
431
- styleOverrides?: ComponentsOverrides["Layout"];
432
- };
433
- LayoutPage?: {
434
- styleOverrides?: ComponentsOverrides["LayoutPage"];
435
- };
436
- PivotTable?: {
437
- styleOverrides?: ComponentsOverrides["PivotTable"];
438
- };
439
- ReportAppBar?: {
440
- styleOverrides?: ComponentsOverrides["ReportAppBar"];
441
- };
442
- ReportAppMenu?: {
443
- styleOverrides?: ComponentsOverrides["ReportAppMenu"];
444
- };
445
- Table?: {
446
- styleOverrides?: ComponentsOverrides["Table"];
447
- };
448
- WidgetBox?: {
449
- variants?: ComponentsVariants['WidgetBox'];
450
- styleOverrides?: ComponentsOverrides["WidgetBox"];
451
- };
452
- WidgetBoxContentMessage?: {
453
- styleOverrides?: ComponentsOverrides["WidgetBoxContentMessage"];
454
- };
486
+ interface Components extends ic3BaseComponents {
455
487
  }
456
488
  }
457
489
  declare module '@mui/material/styles/overrides' {
@@ -460,7 +492,9 @@ declare module '@mui/material/styles/overrides' {
460
492
  App: AppClassKey;
461
493
  DrilldownUserSelectMenu: DrilldownUserSelectMenuClassKey;
462
494
  ErrorRenderer: ErrorRendererClassKey;
495
+ FilterCheckbox: FilterCheckboxRadioClassKey;
463
496
  FilterButtons: FilterButtonsClassKey;
497
+ FilterPanel: FilterPanelClassesKey;
464
498
  FilterSlider: FilterSliderClassKey;
465
499
  HtmlBox: HtmlBoxClassKey;
466
500
  Layout: LayoutClassKey;
@@ -471,13 +505,16 @@ declare module '@mui/material/styles/overrides' {
471
505
  Table: TableClassKey;
472
506
  WidgetBox: WidgetBoxClassKey;
473
507
  WidgetBoxContentMessage: WidgetBoxContentMessageClassKey;
508
+ ReportAppLeftPanel: ReportAppLeftPanelClassKey;
474
509
  }
475
510
  }
476
511
  declare module '@mui/material/styles/props' {
477
512
  interface ComponentsPropsList {
478
- FilterButtons: FilterButtonsProps;
479
- FilterSlider: FilterSliderProps;
480
- GoogleMapMarker: GoogleMapMarkerProps;
513
+ FilterCheckbox: FilterCheckboxRadioChartOptions;
514
+ FilterButtons: FilterButtonsChartOptions;
515
+ FilterPanel: Record<never, any>;
516
+ FilterSlider: FilterSliderChartOptions;
517
+ GoogleMarker: GoogleMarkerVariantChartOptions;
481
518
  HtmlBox: HtmlBoxProps;
482
519
  PivotTable: PivotTableProps;
483
520
  Table: TableProps;
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTheme.js","sourceRoot":"","sources":["../src/PublicTheme.ts"],"names":[],"mappings":";;;AAgSA,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,8CAAqB,CAAA;IACrB,4CAAmB,CAAA;AACvB,CAAC,EAHW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAGhC"}
1
+ {"version":3,"file":"PublicTheme.js","sourceRoot":"","sources":["../src/PublicTheme.ts"],"names":[],"mappings":";;;AAyQA,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,8CAAqB,CAAA;IACrB,4CAAmB,CAAA;AACvB,CAAC,EAHW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAGhC"}
@@ -6,13 +6,13 @@ import { Property } from "csstype";
6
6
  import { AppNotification } from "./INotification";
7
7
  export interface ITidyColumnTypedValue {
8
8
  value: any;
9
+ fValue?: string;
9
10
  type: TidyColumnsType;
10
11
  }
11
12
  export declare type ITidyColumnAddValue = ITidyColumnAddValueInsert | ITidyColumnAddValueCopyRow;
12
13
  export interface ITidyColumnAddValueInsert {
13
14
  options: "INSERT";
14
15
  value: ITidyColumnTypedValue;
15
- fValue?: string;
16
16
  }
17
17
  export interface ITidyColumnAddValueCopyRow {
18
18
  options: "COPY_ROW";
@@ -138,6 +138,10 @@ export interface ITidyBaseColumnReadonly<T> {
138
138
  * Return the type of the column
139
139
  */
140
140
  getType(): AllowedColumnType<T>;
141
+ /**
142
+ * e.g., List<T>.
143
+ */
144
+ getTypeParam(): TidyColumnsType | undefined;
141
145
  /**
142
146
  * E.g., datetime column: YEAR, ...
143
147
  */
@@ -196,9 +200,12 @@ export interface ITidyBaseColumnReadonly<T> {
196
200
  /**
197
201
  * Apply a function to the groups of unique values in this column
198
202
  *
199
- * @return a map with the string value and the row indices in the group.
203
+ * @param useMdxUniqueName If true, use MDX-unique names to construct groups. Default = use column values.
204
+ *
205
+ * @return a map with getRowIdentifier for the group -> row indices in the group.
206
+ *
200
207
  */
201
- groupBy(): Map<string, number[]>;
208
+ groupBy(useMdxUniqueName?: boolean): Map<string, number[]>;
202
209
  /**
203
210
  * Same as reIndex but creating a new column leaving this column untouched.
204
211
  *
@@ -210,6 +217,7 @@ export interface ITidyBaseColumnReadonly<T> {
210
217
  * Base interface for nullable column.
211
218
  */
212
219
  export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
220
+ isSameDimensionality(other: ITidyBaseColumn<any>): boolean;
213
221
  getErrors(): (TidyCellError | undefined)[];
214
222
  /**
215
223
  * If an error occurred in the calculation of cells for a column, then the error can be
@@ -378,6 +386,11 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
378
386
  * @param caption set this as the caption of the column.
379
387
  */
380
388
  setCaption(caption: string): void;
389
+ /**
390
+ * Returns true if and only if the column has a caption different from the default. The default caption is the
391
+ * columns name.
392
+ */
393
+ hasCaption(): boolean;
381
394
  /**
382
395
  * Convert the column to another type. This modifies the values to be of that type.
383
396
  *
@@ -407,11 +420,12 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
407
420
  */
408
421
  apply<P>(fun: (value: T, index: number) => P, newType?: AllowedColumnType<P>): void;
409
422
  /**
410
- * Inserts are sorted according to the insertion indices.
423
+ * Insert values at a row index.
424
+ * Structure: Map: row idx -> values to insert
411
425
  *
412
426
  * e.g., add totals.
413
427
  */
414
- insertValues(inserts: Map<number, ITidyColumnAddValue>): void;
428
+ insertValues(inserts: Map<number, ITidyColumnAddValue[]>): void;
415
429
  /**
416
430
  * Repeat the values in the column.
417
431
  *
@@ -545,14 +559,20 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
545
559
  * Cell decoration
546
560
  */
547
561
  setCellDecoration(decoration: PublicTidyColumnCellDecoration): void;
562
+ /**
563
+ * Returns true if and only if the column represents the underlying MDX structure.
564
+ * Always false for non-mdx columns.
565
+ */
566
+ isMdxStructureIntact(): boolean;
567
+ }
568
+ export interface PublicTidyColumnCellDecorationRenderedOptions {
569
+ cellWidth?: number;
570
+ cellHeight: number;
548
571
  }
549
572
  export declare type PublicTidyColumnCellDecoration = Partial<{
550
573
  handlesCellsOnError: boolean;
551
574
  appliesToCell: (rowIdx: number) => boolean;
552
- rendered: (rowIdx: number, sizing?: {
553
- width: number;
554
- height: number;
555
- }) => React.ReactElement;
575
+ rendered: (rowIdx: number, options?: PublicTidyColumnCellDecorationRenderedOptions) => React.ReactElement;
556
576
  cssStyles: (rowIdx: number) => Record<string, any> | undefined;
557
577
  }>;
558
578
  export declare type ITidyColumn = ITidyBaseColumn<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTidyColumn.js","sourceRoot":"","sources":["../src/PublicTidyColumn.ts"],"names":[],"mappings":";;;AA6CA;;GAEG;AACH,IAAY,0BA4EX;AA5ED,WAAY,0BAA0B;IAElC;;OAEG;IACH,sEAAwC,CAAA;IAExC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;;OAGG;IACH,yEAA2C,CAAA;IAE3C;;OAEG;IACH,oDAAsB,CAAA;IAEtB;;;;OAIG;IACH,yEAA2C,CAAA;IAE3C;;;;OAIG;IACH,+EAAiD,CAAA;IAEjD;;OAEG;IACH,qDAAuB,CAAA;IAEvB;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,6DAA+B,CAAA;IAE/B;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,iDAAmB,CAAA;IAEnB;;OAEG;IACH,gDAAkB,CAAA;IAElB;;OAEG;IACH,iDAAmB,CAAA;AACvB,CAAC,EA5EW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QA4ErC;AAEY,QAAA,6BAA6B,GAAG,IAAI,GAAG,CAAS;IAEzD,0BAA0B,CAAC,qBAAqB;IAChD,0BAA0B,CAAC,UAAU;IAErC,0BAA0B,CAAC,mBAAmB;IAE9C,0BAA0B,CAAC,mBAAmB;IAC9C,0BAA0B,CAAC,SAAS;IAEpC,0BAA0B,CAAC,OAAO;IAClC,0BAA0B,CAAC,OAAO;CAErC,CAAC,CAAC;AA4mBU,QAAA,4BAA4B,GAA8B;IAEnE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAC;CAE7C,CAAC;AAEW,QAAA,8BAA8B,GAA8B;IAErE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,8CAA8C;CAEjD,CAAC"}
1
+ {"version":3,"file":"PublicTidyColumn.js","sourceRoot":"","sources":["../src/PublicTidyColumn.ts"],"names":[],"mappings":";;;AA6CA;;GAEG;AACH,IAAY,0BA4EX;AA5ED,WAAY,0BAA0B;IAElC;;OAEG;IACH,sEAAwC,CAAA;IAExC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;;OAGG;IACH,yEAA2C,CAAA;IAE3C;;OAEG;IACH,oDAAsB,CAAA;IAEtB;;;;OAIG;IACH,yEAA2C,CAAA;IAE3C;;;;OAIG;IACH,+EAAiD,CAAA;IAEjD;;OAEG;IACH,qDAAuB,CAAA;IAEvB;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,6DAA+B,CAAA;IAE/B;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,iDAAmB,CAAA;IAEnB;;OAEG;IACH,gDAAkB,CAAA;IAElB;;OAEG;IACH,iDAAmB,CAAA;AACvB,CAAC,EA5EW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QA4ErC;AAEY,QAAA,6BAA6B,GAAG,IAAI,GAAG,CAAS;IAEzD,0BAA0B,CAAC,qBAAqB;IAChD,0BAA0B,CAAC,UAAU;IAErC,0BAA0B,CAAC,mBAAmB;IAE9C,0BAA0B,CAAC,mBAAmB;IAC9C,0BAA0B,CAAC,SAAS;IAEpC,0BAA0B,CAAC,OAAO;IAClC,0BAA0B,CAAC,OAAO;CAErC,CAAC,CAAC;AAwoBU,QAAA,4BAA4B,GAA8B;IAEnE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAC;CAE7C,CAAC;AAEW,QAAA,8BAA8B,GAA8B;IAErE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,8CAA8C;CAEjD,CAAC"}
@@ -12,13 +12,51 @@ export declare enum TidyHistogramBucketType {
12
12
  RIGHT_CLOSED = "rightClosed"
13
13
  }
14
14
  export interface TidyHistogramOptions extends FormFieldObject {
15
+ /**
16
+ * Bucket Mode.
17
+ *
18
+ * Automatically create buckets or define them yourself.
19
+ */
15
20
  binType: "automatic" | "userDefined";
21
+ /**
22
+ * Bucket Count.
23
+ *
24
+ * The number of buckets to auto generate.
25
+ */
16
26
  numberOfBins: number;
27
+ /**
28
+ * Custom Buckets.
29
+ *
30
+ * A list of objects `{from,to,name}`. Each object describes the range `from < x <= to`. No `from` or `to`
31
+ * means that the range is unbounded on that side.
32
+ */
17
33
  customBins: string;
34
+ /**
35
+ * Sort Buckets.
36
+ *
37
+ * Sort the buckets in this order. The sort uses the `from` of each bucket.
38
+ */
18
39
  sortBins: SortingType;
40
+ /**
41
+ * Bucket Name Format.
42
+ *
43
+ * How to format the names for the bucket. If there is a name in the user defined specification,
44
+ * then the bucket takes that name.
45
+ */
19
46
  bucketFormat: TidyHistogramBucketFormat;
47
+ /**
48
+ * Bucket Type.
49
+ *
50
+ * Which side of the bucket is closed?
51
+ */
20
52
  intervalType: TidyHistogramBucketType;
53
+ /**
54
+ * Include row ids of the rows that are in the bucket. Added in the table as a column with array values. E.g.,
55
+ * value [0,4,5] means rows 0, 4 and 5 are in the bucket.
56
+ */
57
+ includeRowIds?: boolean;
21
58
  }
22
59
  export declare const TidyHistogramMetaOptions: (group?: string | undefined, hideSort?: boolean) => FormFields<TidyHistogramOptions>;
23
60
  export declare const TidyHistogramBucketColName = "bucket";
24
61
  export declare const TidyHistogramCountColName = "count";
62
+ export declare const TidyHistogramRowIdsName = "rowIds";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TidyHistogramCountColName = exports.TidyHistogramBucketColName = exports.TidyHistogramMetaOptions = exports.TidyHistogramBucketType = exports.TidyHistogramBucketFormat = void 0;
3
+ exports.TidyHistogramRowIdsName = exports.TidyHistogramCountColName = exports.TidyHistogramBucketColName = exports.TidyHistogramMetaOptions = exports.TidyHistogramBucketType = exports.TidyHistogramBucketFormat = void 0;
4
4
  const PublicTidyTableTypes_1 = require("./PublicTidyTableTypes");
5
5
  var TidyHistogramBucketFormat;
6
6
  (function (TidyHistogramBucketFormat) {
@@ -68,10 +68,15 @@ const TidyHistogramMetaOptions = (group, hideSort = false) => {
68
68
  optionValues: Object.values(TidyHistogramBucketType),
69
69
  optionName: "TidyHistogramBucketType"
70
70
  }
71
+ },
72
+ "includeRowIds": {
73
+ fieldType: 'boolean',
74
+ visibility: false,
71
75
  }
72
76
  };
73
77
  };
74
78
  exports.TidyHistogramMetaOptions = TidyHistogramMetaOptions;
75
79
  exports.TidyHistogramBucketColName = "bucket";
76
80
  exports.TidyHistogramCountColName = "count";
81
+ exports.TidyHistogramRowIdsName = "rowIds";
77
82
  //# sourceMappingURL=PublicTidyHistogram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTidyHistogram.js","sourceRoot":"","sources":["../src/PublicTidyHistogram.ts"],"names":[],"mappings":";;;AAAA,iEAAmD;AAGnD,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACjC,kDAAqB,CAAA;IACrB,2DAA8B,CAAA;IAC9B,4EAA+C,CAAA;IAC/C,mDAAsB,CAAA;IACtB,+CAAkB,CAAA;AACtB,CAAC,EANW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAMpC;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IAC/B,qDAA0B,CAAA;IAC1B,uDAA4B,CAAA;AAChC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC;AAWM,MAAM,wBAAwB,GAAG,CAAC,KAAc,EAAE,QAAQ,GAAG,KAAK,EAAoC,EAAE;IAC3G,OAAO;QACH,SAAS,EAAE;YACP,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE;gBACR,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;gBAC1C,UAAU,EAAE,kBAAkB;aACjC;YACD,YAAY,EAAE,WAAW;SAC5B;QACD,cAAc,EAAE;YACZ,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,SAAS;YACpB,mBAAmB,EAAE,cAAc,CAAC,EAAE,CAAC,cAAc,KAAK,WAAW;SACxE;QACD,YAAY,EAAE;YACV,KAAK;YACL,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,gDAAgD;YAC9D,SAAS,EAAE,SAAS;YACpB,mBAAmB,EAAE,cAAc,CAAC,EAAE,CAAC,cAAc,KAAK,aAAa;SAC1E;QACD,UAAU,EAAE;YACR,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,kCAAW,CAAC;gBACxC,UAAU,EAAE,aAAa;aAC5B;YACD,YAAY,EAAE,kCAAW,CAAC,SAAS;YACnC,UAAU,EAAE,CAAC,QAAQ;SACxB;QACD,cAAc,EAAE;YACZ,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,yBAAyB,CAAC,QAAQ;YAChD,UAAU,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC;gBACtD,UAAU,EAAE,2BAA2B;aAC1C;SACJ;QACD,cAAc,EAAE;YACZ,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,uBAAuB,CAAC,YAAY;YAClD,UAAU,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC;gBACpD,UAAU,EAAE,yBAAyB;aACxC;SACJ;KACJ,CAAA;AACL,CAAC,CAAA;AAvDY,QAAA,wBAAwB,4BAuDpC;AAEY,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AACtC,QAAA,yBAAyB,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"PublicTidyHistogram.js","sourceRoot":"","sources":["../src/PublicTidyHistogram.ts"],"names":[],"mappings":";;;AAAA,iEAAmD;AAGnD,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACjC,kDAAqB,CAAA;IACrB,2DAA8B,CAAA;IAC9B,4EAA+C,CAAA;IAC/C,mDAAsB,CAAA;IACtB,+CAAkB,CAAA;AACtB,CAAC,EANW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAMpC;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IAC/B,qDAA0B,CAAA;IAC1B,uDAA4B,CAAA;AAChC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC;AAuDM,MAAM,wBAAwB,GAAG,CAAC,KAAc,EAAE,QAAQ,GAAG,KAAK,EAAoC,EAAE;IAC3G,OAAO;QACH,SAAS,EAAE;YACP,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE;gBACR,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;gBAC1C,UAAU,EAAE,kBAAkB;aACjC;YACD,YAAY,EAAE,WAAW;SAC5B;QACD,cAAc,EAAE;YACZ,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,SAAS;YACpB,mBAAmB,EAAE,cAAc,CAAC,EAAE,CAAC,cAAc,KAAK,WAAW;SACxE;QACD,YAAY,EAAE;YACV,KAAK;YACL,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,gDAAgD;YAC9D,SAAS,EAAE,SAAS;YACpB,mBAAmB,EAAE,cAAc,CAAC,EAAE,CAAC,cAAc,KAAK,aAAa;SAC1E;QACD,UAAU,EAAE;YACR,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,kCAAW,CAAC;gBACxC,UAAU,EAAE,aAAa;aAC5B;YACD,YAAY,EAAE,kCAAW,CAAC,SAAS;YACnC,UAAU,EAAE,CAAC,QAAQ;SACxB;QACD,cAAc,EAAE;YACZ,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,yBAAyB,CAAC,QAAQ;YAChD,UAAU,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC;gBACtD,UAAU,EAAE,2BAA2B;aAC1C;SACJ;QACD,cAAc,EAAE;YACZ,KAAK;YACL,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,uBAAuB,CAAC,YAAY;YAClD,UAAU,EAAE;gBACR,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC;gBACpD,UAAU,EAAE,yBAAyB;aACxC;SACJ;QACD,eAAe,EAAE;YACb,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,KAAK;SACpB;KACJ,CAAA;AACL,CAAC,CAAA;AA3DY,QAAA,wBAAwB,4BA2DpC;AAEY,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AACtC,QAAA,yBAAyB,GAAG,OAAO,CAAC;AACpC,QAAA,uBAAuB,GAAG,QAAQ,CAAC"}
@@ -1,7 +1,6 @@
1
- import { AxisCoordinate, IAmCharts4Data, IAmCharts4DataTreeMap, ITotalRowValues, SortingType, TidyColumnIndex, TidyColumnsType, TidyTableColumnSelector } from "./PublicTidyTableTypes";
1
+ import { AxisCoordinate, ChartTemplateDataMapping, IAmCharts4Data, IAmCharts4DataTreeMap, ITotalRowValues, SortingType, TidyColumnIndex, TidyColumnsType, TidyTableColumnIdentifier, TidyTableColumnSelector } from "./PublicTidyTableTypes";
2
2
  import { AllowedColumnType, ITidyBaseColumn, ITidyBaseColumnReadonly, ITidyCharacterColumn, ITidyColumn, ITidyNumericColumn, ITidyUnknownColumn } from "./PublicTidyColumn";
3
3
  import { TidyTree } from "./PublicTidyTree";
4
- import { SelectionGranularityOptions } from "./PublicTemplate";
5
4
  import { TidyHistogramOptions } from "./PublicTidyHistogram";
6
5
  import { IPublicContext } from "./PublicContext";
7
6
  /**
@@ -35,6 +34,7 @@ export interface ITidyTable {
35
34
  * Get the query uid
36
35
  */
37
36
  getQueryUid(): number;
37
+ isSameDimensionality(other: ITidyTable): boolean;
38
38
  asPivotTableForExcel(nullValue: any): ITidyColumn[];
39
39
  /**
40
40
  * Return all columns in the table
@@ -87,24 +87,30 @@ export interface ITidyTable {
87
87
  * @param alias mapping name
88
88
  */
89
89
  getColumnByAlias(alias: string): ITidyColumn;
90
+ /**
91
+ * @see {getOptionalColumnByRole}
92
+ * @param role mapping name
93
+ * @returns list of columns with the role 'role'.
94
+ */
95
+ getColumnsByRole(role: string): ITidyColumn[];
90
96
  /**
91
97
  * @see {getColumnByAlias}
92
98
  */
93
99
  getOptionalColumnByAlias(alias: string): ITidyColumn | undefined;
94
100
  /**
95
- * Get the coordinate of the column using the alias for the mapping
96
- * @param alias the name of the mapping
101
+ * @see {getColumnByAlias}
97
102
  */
98
- getOptionalColumnCoordinateByAlias(alias: string): TidyTableColumnSelector | undefined;
103
+ getOptionalColumnsByAlias(alias: string): ITidyColumn[] | undefined;
99
104
  /**
100
- * @param granularityOption , if valid a SelectionGranularityOptions
105
+ * Get the coordinate of the column using the alias for the mapping
106
+ * @param alias the name of the mapping
101
107
  */
102
- getOptionalColumnBySelectionGranularity(granularityOption: string | SelectionGranularityOptions): ITidyColumn[] | undefined;
108
+ getOptionalColumnCoordinateByAlias(alias: string): TidyTableColumnIdentifier | undefined;
103
109
  /**
104
- * Get column(s) using a selector
105
- * @param selector coordinate to the column or property.
110
+ * Get columns using a selector
111
+ * @param selector selector object
106
112
  */
107
- getColumnBySelector(selector?: TidyTableColumnSelector): ITidyColumn[] | undefined;
113
+ getColumnsBySelector(selector: TidyTableColumnSelector | TidyTableColumnSelector[]): ITidyColumn[];
108
114
  /**
109
115
  * Get a column using the coordinate of an axis.
110
116
  * @param coordinate
@@ -219,18 +225,19 @@ export interface ITidyTable {
219
225
  */
220
226
  buildTidyTree(treeColumns: ITidyColumn[], rootLabel?: string, expandHierarchicalColumn?: boolean): TidyTree;
221
227
  /**
222
- * Construct list of tidy tables
228
+ * Group the table by some of its columns
223
229
  * @param columns groupIdx and groupRows for each unique value in this(ese) column(s)
230
+ * @param useMdxUniqueName If true, use MDX-unique names to construct groups. Default = use column values.
224
231
  * @returns an map with indexes for each group.
225
232
  */
226
- groupBy(columns: ITidyColumn[]): number[][];
233
+ groupBy(columns: ITidyColumn[], useMdxUniqueName?: boolean): number[][];
227
234
  /**
228
- * Pivot a tidy table from wide to long format. See https://pandas.pydata.org/docs/reference/api/pandas.melt.html.
235
+ * Pivot a tidy table from wide to long format. See pivot longer in the documentation.
229
236
  * @param columns columns to melt.
230
- * @param namesCaption name of the column to which the variable name are melted.
231
- * @param valuesCaption name of the column to which the values are melted.
237
+ * @param variableName name of the column to which the variable name are melted.
238
+ * @param valuesName name of the column to which the values are melted.
232
239
  */
233
- melt(columns: ITidyColumn[], namesCaption?: string, valuesCaption?: string): void;
240
+ melt(columns: ITidyColumn[], variableName?: string, valuesName?: string): void;
234
241
  /**
235
242
  * Pivot a tidy table from long to wide format
236
243
  * Duplicated rows are discarded.
@@ -288,7 +295,7 @@ export interface ITidyTable {
288
295
  * @param level this column expands the axis so that widgets can plot level-like charts using guides. This expansion
289
296
  * follows the patters axis-label[level-label].
290
297
  */
291
- toAmcharts4Data<F extends string>(category: ITidyColumn, value: Record<F, ITidyColumn | undefined>, group?: ITidyColumn, level?: ITidyColumn): IAmCharts4Data[];
298
+ toAmcharts4Data<F extends string>(category: ITidyColumn, value: Record<F, ITidyColumn | undefined>, group?: ITidyColumn | ITidyColumn[], level?: ITidyColumn): IAmCharts4Data[];
292
299
  /**
293
300
  * Creates a data object for the Amcharts treemap
294
301
  * @param level0 names for the parent nodes
@@ -439,6 +446,7 @@ export interface ITidyTable {
439
446
  isTotalRow(rowIdx: number): boolean;
440
447
  /**
441
448
  * Transform the table to a table where each row is a bucket in the histogram for that group.
449
+ * Returns a new tidy table. Function does not mutate old tidy table and its columns.
442
450
  *
443
451
  * @see TidyHistogramBucketColName
444
452
  * @see TidyHistogramCountColName
@@ -448,7 +456,7 @@ export interface ITidyTable {
448
456
  * Create a histogram bucket column from the value column.
449
457
  */
450
458
  toHistogramBucketColumn(context: IPublicContext, valueCol: ITidyBaseColumnReadonly<number | null>, options: TidyHistogramOptions): ITidyColumn;
451
- addTotalRows(totals: Map<number, ITotalRowValues>): void;
459
+ addTotalRows(totals: Map<number, ITotalRowValues[]>): void;
452
460
  /**
453
461
  * Get a column by its role as defined in the mdxBuilderSettings.
454
462
  * @param role name of the axis-role
@@ -461,4 +469,14 @@ export interface ITidyTable {
461
469
  getLevelDepthR(nodeInfo: MdxNodeIdentifier): any;
462
470
  hasMdxChildren(nodeInfo: MdxNodeIdentifier): boolean;
463
471
  isLeaf(nodeInfo: MdxNodeIdentifier): any;
472
+ /**
473
+ * Sort the tidy table pivot style
474
+ */
475
+ sortLikePivotTable(sortingColumn: ITidyColumn, type: SortingType, rowIds: number[]): void;
476
+ /**
477
+ * The tidy table internally keeps track how columns are mapped to roles. If you apply a transformation
478
+ * in the widget template, you can update the mapping after whith this function.
479
+ * @param mapping new mapping = {old mapping , ...mapping}
480
+ */
481
+ updateMapping(mapping: ChartTemplateDataMapping): void;
464
482
  }
@@ -33,7 +33,7 @@ export interface ITidyTableInteractionSelection {
33
33
  /**
34
34
  * Sets the selection at the creation of the widget
35
35
  */
36
- initializeSelection(): void;
36
+ initializeSelection(isRangeSelection?: boolean): void;
37
37
  /**
38
38
  * Returns true if the selection if empty. Returns false otherwise.
39
39
  */
@@ -44,6 +44,12 @@ export interface ITidyTableInteractionSelection {
44
44
  * @param rowIdx the index of the row
45
45
  */
46
46
  isSelected(rowIdx: number): boolean;
47
+ /**
48
+ * For the sankey diagram, a row is selected if connecting nodes are in the selection.
49
+ * @param rowIdx the index of the row
50
+ * @param column selection should be in this column
51
+ */
52
+ isSelectedSankey(rowIdx: number, column: ITidyColumn): boolean;
47
53
  /**
48
54
  *
49
55
  * @param column
@@ -158,6 +164,10 @@ export interface ITidyTableInteractionEvent {
158
164
  * register a callback that will be called each time an event is send to the channel bound to the actionName
159
165
  */
160
166
  onNotification(actionName: string, callback: (event: any) => void): void;
167
+ /**
168
+ * Should the interactions be based on rowIds or on row values? Default = true = rowIds.
169
+ */
170
+ useHitRowIdxInSelection(value: boolean): void;
161
171
  }
162
172
  export interface ITidyTableInteraction extends ITidyTableInteractionSelection, ITidyTableInteractionEvent, ITidyTableDrilldown {
163
173
  /**
@@ -168,6 +178,11 @@ export interface ITidyTableInteraction extends ITidyTableInteractionSelection, I
168
178
  * This does not fire any event...for now
169
179
  */
170
180
  handleRowHit(rowIdx: number, event: TidyEvent | undefined): void;
181
+ /**
182
+ * Handles a row hit for the sankey diagram. The sankey differs from normal selection because it makes a tuple,
183
+ * not a set.
184
+ */
185
+ handleRowHitSankey(rowIdx: number, column: ITidyColumn, event: TidyEvent | undefined): void;
171
186
  /**
172
187
  * Collapsed / Expand
173
188
  */
@@ -184,7 +199,7 @@ export interface ITidyTableInteraction extends ITidyTableInteractionSelection, I
184
199
  * Is the node loading
185
200
  */
186
201
  isLoading(column: ITidyColumn, rowIdx: number): boolean;
187
- setSelectionColumns(columns: ITidyColumn[]): void;
202
+ setSelectionColumns(columns: ITidyColumn[] | ((oldColumns: ITidyColumn[]) => ITidyColumn[])): void;
188
203
  /**
189
204
  * Change the default drilldown column.
190
205
  * @param column column to use for the drill-downs. Use undefined to reset to default.
@@ -201,4 +216,6 @@ export interface ITidyTableInteraction extends ITidyTableInteractionSelection, I
201
216
  asLazyTreeViewLoader(column: ITidyColumn): ILazyTreeViewLoader;
202
217
  getCompactedSelectionNames(): string[] | undefined;
203
218
  isSelectable(col: ITidyColumn): boolean;
219
+ getSelectedRows(): number[];
220
+ setSortSelectionToColumnOrder(value: boolean): void;
204
221
  }