@ic3/reporting-api 8.0.0-rc.2 → 8.0.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 (121) 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 +3 -1
  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/PublicContext.d.ts +19 -4
  15. package/dist/PublicLayout.d.ts +7 -23
  16. package/dist/PublicTemplate.d.ts +101 -41
  17. package/dist/PublicTemplate.js +1 -10
  18. package/dist/PublicTemplate.js.map +1 -1
  19. package/dist/PublicTemplateForm.d.ts +126 -15
  20. package/dist/PublicTemplateForm.js +1 -9
  21. package/dist/PublicTemplateForm.js.map +1 -1
  22. package/dist/PublicTemplates.d.ts +61 -0
  23. package/dist/{theme/ThemeGoogleMapMarker.js → PublicTemplates.js} +1 -1
  24. package/dist/PublicTemplates.js.map +1 -0
  25. package/dist/PublicTheme.d.ts +112 -75
  26. package/dist/PublicTheme.js.map +1 -1
  27. package/dist/PublicTidyColumn.d.ts +29 -9
  28. package/dist/PublicTidyColumn.js.map +1 -1
  29. package/dist/PublicTidyHistogram.d.ts +32 -0
  30. package/dist/PublicTidyHistogram.js.map +1 -1
  31. package/dist/PublicTidyMath.d.ts +2 -2
  32. package/dist/PublicTidyTable.d.ts +35 -18
  33. package/dist/PublicTidyTableInteractions.d.ts +24 -2
  34. package/dist/PublicTidyTableTypes.d.ts +28 -8
  35. package/dist/PublicTidyTableTypes.js +18 -1
  36. package/dist/PublicTidyTableTypes.js.map +1 -1
  37. package/dist/PublicTidyTree.d.ts +13 -3
  38. package/dist/PublicTidyTree.js +19 -13
  39. package/dist/PublicTidyTree.js.map +1 -1
  40. package/dist/index.d.ts +24 -0
  41. package/dist/index.js +29 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/theme/ThemeAmCharts4.d.ts +1346 -0
  44. package/dist/theme/ThemeAmCharts4.js +61 -0
  45. package/dist/theme/ThemeAmCharts4.js.map +1 -0
  46. package/dist/theme/ThemeApp.d.ts +11 -11
  47. package/dist/theme/ThemeApp.js +40 -0
  48. package/dist/theme/ThemeApp.js.map +1 -1
  49. package/dist/theme/ThemeBaseTable.d.ts +94 -0
  50. package/dist/theme/ThemeBaseTable.js +10 -0
  51. package/dist/theme/ThemeBaseTable.js.map +1 -0
  52. package/dist/theme/ThemeDatePicker.d.ts +111 -0
  53. package/dist/theme/ThemeDatePicker.js +3 -0
  54. package/dist/theme/ThemeDatePicker.js.map +1 -0
  55. package/dist/theme/ThemeEmbeddedReport.d.ts +25 -0
  56. package/dist/theme/ThemeEmbeddedReport.js +3 -0
  57. package/dist/theme/ThemeEmbeddedReport.js.map +1 -0
  58. package/dist/theme/ThemeFilter.d.ts +28 -0
  59. package/dist/theme/ThemeFilter.js +3 -0
  60. package/dist/theme/ThemeFilter.js.map +1 -0
  61. package/dist/theme/ThemeFilterAutocomplete.d.ts +31 -15
  62. package/dist/theme/ThemeFilterAutocomplete.js.map +1 -1
  63. package/dist/theme/ThemeFilterButtons.d.ts +40 -19
  64. package/dist/theme/ThemeFilterButtons.js.map +1 -1
  65. package/dist/theme/ThemeFilterCheckboxRadio.d.ts +48 -0
  66. package/dist/theme/ThemeFilterCheckboxRadio.js +23 -0
  67. package/dist/theme/ThemeFilterCheckboxRadio.js.map +1 -0
  68. package/dist/theme/ThemeFilterPanel.d.ts +84 -0
  69. package/dist/theme/ThemeFilterPanel.js +35 -0
  70. package/dist/theme/ThemeFilterPanel.js.map +1 -0
  71. package/dist/theme/ThemeFilterSlider.d.ts +42 -28
  72. package/dist/theme/ThemeFilterSlider.js +7 -7
  73. package/dist/theme/ThemeFilterSlider.js.map +1 -1
  74. package/dist/theme/ThemeFilterTree.d.ts +60 -30
  75. package/dist/theme/ThemeFilterTree.js.map +1 -1
  76. package/dist/theme/ThemeGoogle.d.ts +132 -0
  77. package/dist/theme/ThemeGoogle.js +64 -0
  78. package/dist/theme/ThemeGoogle.js.map +1 -0
  79. package/dist/theme/ThemeGoogleHeatMap.d.ts +58 -0
  80. package/dist/theme/ThemeGoogleHeatMap.js +3 -0
  81. package/dist/theme/ThemeGoogleHeatMap.js.map +1 -0
  82. package/dist/theme/ThemeGoogleKmlLayer.d.ts +40 -0
  83. package/dist/theme/ThemeGoogleKmlLayer.js +3 -0
  84. package/dist/theme/ThemeGoogleKmlLayer.js.map +1 -0
  85. package/dist/theme/ThemeGoogleMarker.d.ts +147 -0
  86. package/dist/theme/ThemeGoogleMarker.js +3 -0
  87. package/dist/theme/ThemeGoogleMarker.js.map +1 -0
  88. package/dist/theme/ThemeHtmlBox.d.ts +5 -1
  89. package/dist/theme/ThemeImage.d.ts +19 -0
  90. package/dist/theme/ThemeImage.js +3 -0
  91. package/dist/theme/ThemeImage.js.map +1 -0
  92. package/dist/theme/ThemeKpiBox.d.ts +46 -0
  93. package/dist/theme/ThemeKpiBox.js +3 -0
  94. package/dist/theme/ThemeKpiBox.js.map +1 -0
  95. package/dist/theme/ThemeKpiCard.d.ts +98 -0
  96. package/dist/theme/ThemeKpiCard.js +3 -0
  97. package/dist/theme/ThemeKpiCard.js.map +1 -0
  98. package/dist/theme/ThemeMarkdownText.d.ts +27 -0
  99. package/dist/theme/ThemeMarkdownText.js +3 -0
  100. package/dist/theme/ThemeMarkdownText.js.map +1 -0
  101. package/dist/theme/ThemePivotTable.d.ts +61 -0
  102. package/dist/theme/ThemePivotTable.js +10 -1
  103. package/dist/theme/ThemePivotTable.js.map +1 -1
  104. package/dist/theme/ThemeRepetitionWidget.d.ts +51 -0
  105. package/dist/theme/ThemeRepetitionWidget.js +3 -0
  106. package/dist/theme/ThemeRepetitionWidget.js.map +1 -0
  107. package/dist/theme/ThemeReportAppLeftPanel.d.ts +7 -0
  108. package/dist/theme/ThemeReportAppLeftPanel.js +11 -0
  109. package/dist/theme/ThemeReportAppLeftPanel.js.map +1 -0
  110. package/dist/theme/ThemeTable.d.ts +155 -2
  111. package/dist/theme/ThemeTable.js +165 -1
  112. package/dist/theme/ThemeTable.js.map +1 -1
  113. package/dist/theme/ThemeWidgetBox.d.ts +69 -0
  114. package/dist/theme/ThemeWidgetBox.js +29 -1
  115. package/dist/theme/ThemeWidgetBox.js.map +1 -1
  116. package/package.json +6 -6
  117. package/dist/theme/ThemeFilterCheckboxes.d.ts +0 -18
  118. package/dist/theme/ThemeFilterCheckboxes.js +0 -11
  119. package/dist/theme/ThemeFilterCheckboxes.js.map +0 -1
  120. package/dist/theme/ThemeGoogleMapMarker.d.ts +0 -51
  121. package/dist/theme/ThemeGoogleMapMarker.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  * Tidy Column Types
3
3
  */
4
4
  import { TidyHistogramBucketType } from "./PublicTidyHistogram";
5
- import { ITidyColumnAddValueInsert } from "./PublicTidyColumn";
5
+ import { ITidyColumn, ITidyColumnAddValueInsert } from "./PublicTidyColumn";
6
6
  import { MdxNodeIdentifier } from "./PublicTidyTable";
7
7
  export declare enum TidyColumnsType {
8
8
  /**
@@ -59,12 +59,11 @@ export declare enum ITidyColumnsSource {
59
59
  UNKNOWN = "unknown"
60
60
  }
61
61
  /**
62
- * Defines a mapping that maps columns to the coordinate system of the chart.
63
- *
64
- * The key represents the internal name for the mapping (is converted to lowercase).
65
- * undefined --> the editor sets names to undefined upon removing of a mapping.
62
+ * Defines a mapping that maps columns to the coordinate system of the widget.
63
+ * The key represents the internal lowercase-name for the mapping, e.g., axis, group, rows, columns.
64
+ * Note that a mapping can have multiple columns, for example, on the Rows.
66
65
  */
67
- export declare type ChartTemplateDataMapping = Record<string, TidyTableColumnSelector | undefined>;
66
+ export declare type ChartTemplateDataMapping = Record<string, ITidyColumn[] | undefined>;
68
67
  /**
69
68
  * Defines an index from column tag (name, mapping, role, etc..) to the name or index of the column in the table.
70
69
  * The column tag is converted to lower case.
@@ -77,7 +76,7 @@ export declare enum TidyTableMappingColumnSelectorOptions {
77
76
  ALL_MEASURES = "@IC3_ALL_MEASURES",
78
77
  ALL_AXIS = "@IC3_ALL_AXIS"
79
78
  }
80
- export declare type TidyTableColumnSelector = {
79
+ export interface TidyTableColumnIdentifier {
81
80
  /**
82
81
  * Search column by name
83
82
  */
@@ -86,7 +85,9 @@ export declare type TidyTableColumnSelector = {
86
85
  * If we want a property, the name of the column's property.
87
86
  */
88
87
  property?: string;
89
- } | TidyTableMappingColumnSelectorOptions;
88
+ }
89
+ export declare type TidyTableColumnSelector = TidyTableColumnIdentifier | TidyTableMappingColumnSelectorOptions;
90
+ export declare type IFormFieldGranularityItem = TidyTableColumnIdentifier | string;
90
91
  /**
91
92
  * Coordinate of an MDX member
92
93
  */
@@ -235,6 +236,11 @@ export declare enum SelectionBehaviour {
235
236
  * Select all items in the filter.
236
237
  */
237
238
  SELECT_ALL = "SELECT_ALL",
239
+ /**
240
+ * Easy to guess
241
+ */
242
+ SELECT_FIRST = "SELECT_FIRST",
243
+ SELECT_LAST = "SELECT_LAST",
238
244
  /**
239
245
  * Select no items in the filter and clear the event.
240
246
  */
@@ -313,6 +319,9 @@ export interface ConvertToTypeParseSettings {
313
319
  dateFormat?: string;
314
320
  listSeparator?: string;
315
321
  }
322
+ /**
323
+ * Interface for adding a single row to a tidy table
324
+ */
316
325
  export interface ITotalRowValues {
317
326
  /**
318
327
  * Keys as column names.
@@ -323,4 +332,15 @@ export interface ITotalRowValues {
323
332
  */
324
333
  totalTexts: Record<string, ITidyColumnAddValueInsert>;
325
334
  }
335
+ /**
336
+ * If we have (date)times available, then
337
+ * YES -> always use them
338
+ * NO -> never use them
339
+ * AUTO -> use them if the level is a date or datetime (in MDX, these are levels of type DAY, HOUR, MINUTE, SECOND).
340
+ */
341
+ export declare enum UseDatetimeAxis {
342
+ YES = "YES",
343
+ NO = "NO",
344
+ AUTO = "AUTO"
345
+ }
326
346
  export {};
@@ -3,7 +3,7 @@
3
3
  * Tidy Column Types
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.InterpolationType = exports.SortingType = exports.SelectionBehaviour = exports.IAmcharts4DataKey = exports.TidyTableMappingColumnSelectorOptions = exports.ITidyColumnsSource = exports.TidyColumnsType = void 0;
6
+ exports.UseDatetimeAxis = exports.InterpolationType = exports.SortingType = exports.SelectionBehaviour = exports.IAmcharts4DataKey = exports.TidyTableMappingColumnSelectorOptions = exports.ITidyColumnsSource = exports.TidyColumnsType = void 0;
7
7
  var TidyColumnsType;
8
8
  (function (TidyColumnsType) {
9
9
  /**
@@ -93,6 +93,11 @@ var SelectionBehaviour;
93
93
  * Select all items in the filter.
94
94
  */
95
95
  SelectionBehaviour["SELECT_ALL"] = "SELECT_ALL";
96
+ /**
97
+ * Easy to guess
98
+ */
99
+ SelectionBehaviour["SELECT_FIRST"] = "SELECT_FIRST";
100
+ SelectionBehaviour["SELECT_LAST"] = "SELECT_LAST";
96
101
  /**
97
102
  * Select no items in the filter and clear the event.
98
103
  */
@@ -124,4 +129,16 @@ var InterpolationType;
124
129
  InterpolationType["HSL"] = "hsl";
125
130
  InterpolationType["LAB"] = "lab";
126
131
  })(InterpolationType = exports.InterpolationType || (exports.InterpolationType = {}));
132
+ /**
133
+ * If we have (date)times available, then
134
+ * YES -> always use them
135
+ * NO -> never use them
136
+ * AUTO -> use them if the level is a date or datetime (in MDX, these are levels of type DAY, HOUR, MINUTE, SECOND).
137
+ */
138
+ var UseDatetimeAxis;
139
+ (function (UseDatetimeAxis) {
140
+ UseDatetimeAxis["YES"] = "YES";
141
+ UseDatetimeAxis["NO"] = "NO";
142
+ UseDatetimeAxis["AUTO"] = "AUTO";
143
+ })(UseDatetimeAxis = exports.UseDatetimeAxis || (exports.UseDatetimeAxis = {}));
127
144
  //# sourceMappingURL=PublicTidyTableTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTidyTableTypes.js","sourceRoot":"","sources":["../src/PublicTidyTableTypes.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAMH,IAAY,eA0DX;AA1DD,WAAY,eAAe;IACvB;;OAEG;IACH,kCAAe,CAAA;IAEf,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;IAErB;;OAEG;IACH,sDAAmC,CAAA;IAEnC;;OAEG;IACH,wCAAqB,CAAA;IAErB;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,0CAAuB,CAAA;IAEvB;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,kCAAe,CAAA;IAEf;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,8BAAW,CAAA;AACf,CAAC,EA1DW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA0D1B;AAkBD,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,yCAAmB,CAAA;AACvB,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B;AAgBD,IAAY,qCAQX;AARD,WAAY,qCAAqC;IAE7C,yDAAgB,CAAA;IAChB,yEAAgC,CAAA;IAChC,6EAAoC,CAAA;IACpC,2EAAkC,CAAA;IAClC,mEAA0B,CAAA;AAE9B,CAAC,EARW,qCAAqC,GAArC,6CAAqC,KAArC,6CAAqC,QAQhD;AAgED,IAAY,iBAgBX;AAhBD,WAAY,iBAAiB;IACzB;;;OAGG;IACH,kCAAa,CAAA;IAEb;;OAEG;IACH,gCAAW,CAAA;IAEX;;OAEG;IACH,+BAAU,CAAA;AACd,CAAC,EAhBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAgB5B;AA6GD,IAAY,kBA8BX;AA9BD,WAAY,kBAAkB;IAC1B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,+CAAyB,CAAA;IAEzB;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,6CAAuB,CAAA;IAEvB;;OAEG;IACH,yDAAmC,CAAA;AACvC,CAAC,EA9BW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QA8B7B;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;IACzB,wCAAuB,CAAA;AAC3B,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAsDD,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,gCAAW,CAAA;AACf,CAAC,EANW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAM5B"}
1
+ {"version":3,"file":"PublicTidyTableTypes.js","sourceRoot":"","sources":["../src/PublicTidyTableTypes.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAMH,IAAY,eA0DX;AA1DD,WAAY,eAAe;IACvB;;OAEG;IACH,kCAAe,CAAA;IAEf,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;IAErB;;OAEG;IACH,sDAAmC,CAAA;IAEnC;;OAEG;IACH,wCAAqB,CAAA;IAErB;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,0CAAuB,CAAA;IAEvB;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,kCAAe,CAAA;IAEf;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,8BAAW,CAAA;AACf,CAAC,EA1DW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA0D1B;AAkBD,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,yCAAmB,CAAA;AACvB,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B;AAeD,IAAY,qCAQX;AARD,WAAY,qCAAqC;IAE7C,yDAAgB,CAAA;IAChB,yEAAgC,CAAA;IAChC,6EAAoC,CAAA;IACpC,2EAAkC,CAAA;IAClC,mEAA0B,CAAA;AAE9B,CAAC,EARW,qCAAqC,GAArC,6CAAqC,KAArC,6CAAqC,QAQhD;AAwED,IAAY,iBAgBX;AAhBD,WAAY,iBAAiB;IACzB;;;OAGG;IACH,kCAAa,CAAA;IAEb;;OAEG;IACH,gCAAW,CAAA;IAEX;;OAEG;IACH,+BAAU,CAAA;AACd,CAAC,EAhBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAgB5B;AA6GD,IAAY,kBAqCX;AArCD,WAAY,kBAAkB;IAC1B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,+CAAyB,CAAA;IAEzB;;OAEG;IACH,mDAA6B,CAAA;IAE7B,iDAA2B,CAAA;IAE3B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,6CAAuB,CAAA;IAEvB;;OAEG;IACH,yDAAmC,CAAA;AACvC,CAAC,EArCW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAqC7B;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;AAC7B,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAsDD,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,gCAAW,CAAA;AACf,CAAC,EANW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAM5B;AAyBD;;;;;GAKG;AACH,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,8BAAW,CAAA;IACX,4BAAS,CAAA;IACT,gCAAa,CAAA;AACjB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
@@ -19,6 +19,10 @@ export interface TidyTreeNode {
19
19
  * children of this tree
20
20
  */
21
21
  children: TidyTreeNode[];
22
+ /**
23
+ * True if and only if the node is the root node
24
+ */
25
+ isRoot: boolean;
22
26
  }
23
27
  declare type ArrayReducer<T> = (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T;
24
28
  /**
@@ -53,14 +57,20 @@ export declare class TidyTree {
53
57
  */
54
58
  static getUniqueId(node: TidyTreeNode, levelDepth: number): string;
55
59
  /**
56
- * Performs the specified action on each node of the tree
57
- * if callbackfn return false, it will not perform a foreach on it's children
60
+ * Performs the specified action on each node of the tree.
61
+ * If callbackfn return false, it will not perform a foreach on it's children.
62
+ * The callback function does not run for the root node.
63
+ * Leveldepth = number of nodes between node and the root node.
58
64
  */
59
- forEach(callbackfn: (node: TidyTreeNode, levelDepth: number, parentNode: TidyTreeNode, nodeChildrenIdx: number) => boolean | void): void;
65
+ forEach<T>(callbackfn: ForEachNodeCallbackFn<T>, getTopParentStat?: (topParentNode: TidyTreeNode) => T): void;
60
66
  /**
61
67
  * aggregates all children measures values on parents using aggregation function recursively
62
68
  * aggrfn is sum by default
63
69
  */
64
70
  getNodeValue<T>(node: TidyTreeNode, measure: ITidyBaseColumn<T>, aggrfn?: ArrayReducer<T>): T;
65
71
  }
72
+ /**
73
+ * Top parent node = the node that is a direct child of root and of which node is a descendant.
74
+ */
75
+ export declare type ForEachNodeCallbackFn<T> = (node: TidyTreeNode, levelDepth: number, parent: TidyTreeNode, nodeChildrenIdx: number, parentSummary?: T) => boolean | void;
66
76
  export {};
@@ -26,11 +26,7 @@ exports.TidyTree = void 0;
26
26
  */
27
27
  class TidyTree {
28
28
  constructor(root) {
29
- this.root = root !== null && root !== void 0 ? root : {
30
- rowIds: [],
31
- nodeLabel: 'root',
32
- children: [],
33
- };
29
+ this.root = Object.assign({ rowIds: [], nodeLabel: 'root', children: [], isRoot: true }, root);
34
30
  }
35
31
  /**
36
32
  * A unique id for each node of the tree
@@ -40,18 +36,25 @@ class TidyTree {
40
36
  return levelDepth + "--" + node.nodeLabel + "--" + node.rowIds[0];
41
37
  }
42
38
  /**
43
- * Performs the specified action on each node of the tree
44
- * if callbackfn return false, it will not perform a foreach on it's children
39
+ * Performs the specified action on each node of the tree.
40
+ * If callbackfn return false, it will not perform a foreach on it's children.
41
+ * The callback function does not run for the root node.
42
+ * Leveldepth = number of nodes between node and the root node.
45
43
  */
46
- forEach(callbackfn) {
47
- function forEachNested(children, levelDepth, parent, callbackfn) {
44
+ forEach(callbackfn, getTopParentStat) {
45
+ function forEachNested(children, levelDepth, parent, callbackfn, topParentStat) {
48
46
  children.forEach((node, idx) => {
49
- if (callbackfn(node, levelDepth, parent, idx) !== false) {
50
- forEachNested(node.children, levelDepth + 1, node, callbackfn);
47
+ if (callbackfn(node, levelDepth, parent, idx, topParentStat) !== false) {
48
+ forEachNested(node.children, levelDepth + 1, node, callbackfn, topParentStat);
51
49
  }
52
50
  });
53
51
  }
54
- forEachNested(this.root.children, 1, this.root, callbackfn);
52
+ this.root.children.forEach((topParentNode, idx) => {
53
+ const topParentSummary = getTopParentStat != null ? getTopParentStat(topParentNode) : undefined;
54
+ if (callbackfn(topParentNode, 0, this.root, idx, topParentSummary) !== false) {
55
+ forEachNested(topParentNode.children, 1, topParentNode, callbackfn, topParentSummary);
56
+ }
57
+ });
55
58
  }
56
59
  /**
57
60
  * aggregates all children measures values on parents using aggregation function recursively
@@ -62,8 +65,11 @@ class TidyTree {
62
65
  if ((_a = node.originalColumn) === null || _a === void 0 ? void 0 : _a.isHierarchy()) {
63
66
  return measure.getValue(node.rowIds[0]);
64
67
  }
65
- const values = node.rowIds.map(i => measure.getValue(i));
66
68
  const aggregateValues = aggrfn !== null && aggrfn !== void 0 ? aggrfn : sumAggregation;
69
+ if (node.isRoot) {
70
+ return [...measure.getValues()].reduce(aggregateValues);
71
+ }
72
+ const values = node.rowIds.map(i => measure.getValue(i));
67
73
  return values.reduce(aggregateValues);
68
74
  }
69
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTidyTree.js","sourceRoot":"","sources":["../src/PublicTidyTree.ts"],"names":[],"mappings":";;;AA8BA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,QAAQ;IAIjB,YAAY,IAAmB;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI;YAChB,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,EAAE;SACf,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAkB,EAAE,UAAkB;QACrD,OAAO,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,UAAyH;QAC7H,SAAS,aAAa,CAAC,QAAwB,EAAE,UAAkB,EAAE,MAAoB,EAAE,UAAyH;YAChN,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC3B,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,KAAK,EAAE;oBACrD,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;iBAClE;YACL,CAAC,CAAC,CAAA;QACN,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,YAAY,CAAI,IAAkB,EAAE,OAA2B,EAAE,MAAwB;;QACrF,IAAI,MAAA,IAAI,CAAC,cAAc,0CAAE,WAAW,EAAE,EAAE;YACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3C;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,cAAc,CAAC;QACjD,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;CACJ;AAhDD,4BAgDC;AAED,SAAS,cAAc,CAAC,CAAM,EAAE,CAAM;IAClC,IAAI,CAAC,IAAI,IAAI;QACT,OAAO,CAAC,CAAC;IACb,IAAI,CAAC,IAAI,IAAI;QACT,OAAO,CAAC,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"PublicTidyTree.js","sourceRoot":"","sources":["../src/PublicTidyTree.ts"],"names":[],"mappings":";;;AAmCA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,QAAQ;IAIjB,YAAY,IAAmB;QAC3B,IAAI,CAAC,IAAI,mBACL,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,EAAE,EACZ,MAAM,EAAE,IAAI,IACT,IAAI,CACV,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAkB,EAAE,UAAkB;QACrD,OAAO,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAI,UAAoC,EAAE,gBAAqD;QAElG,SAAS,aAAa,CAAC,QAAwB,EAAE,UAAkB,EAAE,MAAoB,EAAE,UAAoC,EAAE,aAAiB;YAC9I,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC3B,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC,KAAK,KAAK,EAAE;oBACpE,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;iBACjF;YACL,CAAC,CAAC,CAAA;QACN,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE;YAC9C,MAAM,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,KAAK,KAAK,EAAE;gBAC1E,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;aACzF;QACL,CAAC,CAAC,CAAC;IAEP,CAAC;IAED;;;OAGG;IACH,YAAY,CAAI,IAAkB,EAAE,OAA2B,EAAE,MAAwB;;QACrF,IAAI,MAAA,IAAI,CAAC,cAAc,0CAAE,WAAW,EAAE,EAAE;YACpC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3C;QACD,MAAM,eAAe,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,cAAc,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SAC3D;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;CACJ;AA9DD,4BA8DC;AAED,SAAS,cAAc,CAAC,CAAM,EAAE,CAAM;IAClC,IAAI,CAAC,IAAI,IAAI;QACT,OAAO,CAAC,CAAC;IACb,IAAI,CAAC,IAAI,IAAI;QACT,OAAO,CAAC,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from "./IReporting";
8
8
  export * from "./IThemeManager";
9
9
  export * from "./ITidyTableTransformation";
10
10
  export * from "./ITidyTableTransformationManager";
11
+ export * from "./ITypes";
11
12
  export * from "./IVersionedPluginDefinition";
12
13
  export * from "./IWidgetDefaultsManager";
13
14
  export * from "./IWidgetVariantManager";
@@ -20,6 +21,7 @@ export * from "./PublicI18n";
20
21
  export * from "./PublicLayout";
21
22
  export * from "./PublicTemplate";
22
23
  export * from "./PublicTemplateForm";
24
+ export * from "./PublicTemplates";
23
25
  export * from "./PublicTheme";
24
26
  export * from "./PublicTidyColumn";
25
27
  export * from "./PublicTidyMath";
@@ -31,13 +33,35 @@ export * from "./PublicTidyHistogram";
31
33
  export * from "./RemoteContainerUtils";
32
34
  export * from "./ReportingVersion";
33
35
  export * from "./theme/ThemeAlertDialog";
36
+ export * from "./theme/ThemeAmCharts4";
34
37
  export * from "./theme/ThemeApp";
38
+ export * from "./theme/ThemeBaseTable";
39
+ export * from "./theme/ThemeDatePicker";
35
40
  export * from "./theme/ThemeDrilldownUserSelectMenu";
41
+ export * from "./theme/ThemeEmbeddedReport";
36
42
  export * from "./theme/ThemeErrorRenderer";
43
+ export * from "./theme/ThemeFilterAutocomplete";
44
+ export * from "./theme/ThemeFilterButtons";
45
+ export * from "./theme/ThemeFilterCheckboxRadio";
46
+ export * from "./theme/ThemeFilterPanel";
47
+ export * from "./theme/ThemeFilterSlider";
48
+ export * from "./theme/ThemeFilterTree";
49
+ export * from "./theme/ThemeGoogle";
50
+ export * from "./theme/ThemeGoogleHeatMap";
51
+ export * from "./theme/ThemeGoogleKmlLayer";
52
+ export * from "./theme/ThemeGoogleMarker";
37
53
  export * from "./theme/ThemeHtmlBox";
54
+ export * from "./theme/ThemeImage";
55
+ export * from "./theme/ThemeKpiBox";
56
+ export * from "./theme/ThemeKpiCard";
38
57
  export * from "./theme/ThemeLayout";
39
58
  export * from "./theme/ThemeLayoutPage";
59
+ export * from "./theme/ThemeMarkdownText";
60
+ export * from "./theme/ThemePivotTable";
61
+ export * from "./theme/ThemeRepetitionWidget";
40
62
  export * from "./theme/ThemeReportAppBar";
41
63
  export * from "./theme/ThemeReportAppMenu";
64
+ export * from "./theme/ThemeTable";
65
+ export * from "./theme/ThemeReportAppLeftPanel";
42
66
  export * from "./theme/ThemeWidgetBox";
43
67
  export * from "./theme/ThemeWidgetBoxContentMessage";
package/dist/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -20,6 +24,7 @@ __exportStar(require("./IReporting"), exports);
20
24
  __exportStar(require("./IThemeManager"), exports);
21
25
  __exportStar(require("./ITidyTableTransformation"), exports);
22
26
  __exportStar(require("./ITidyTableTransformationManager"), exports);
27
+ __exportStar(require("./ITypes"), exports);
23
28
  __exportStar(require("./IVersionedPluginDefinition"), exports);
24
29
  __exportStar(require("./IWidgetDefaultsManager"), exports);
25
30
  __exportStar(require("./IWidgetVariantManager"), exports);
@@ -32,6 +37,7 @@ __exportStar(require("./PublicI18n"), exports);
32
37
  __exportStar(require("./PublicLayout"), exports);
33
38
  __exportStar(require("./PublicTemplate"), exports);
34
39
  __exportStar(require("./PublicTemplateForm"), exports);
40
+ __exportStar(require("./PublicTemplates"), exports);
35
41
  __exportStar(require("./PublicTheme"), exports);
36
42
  __exportStar(require("./PublicTidyColumn"), exports);
37
43
  __exportStar(require("./PublicTidyMath"), exports);
@@ -43,14 +49,36 @@ __exportStar(require("./PublicTidyHistogram"), exports);
43
49
  __exportStar(require("./RemoteContainerUtils"), exports);
44
50
  __exportStar(require("./ReportingVersion"), exports);
45
51
  __exportStar(require("./theme/ThemeAlertDialog"), exports);
52
+ __exportStar(require("./theme/ThemeAmCharts4"), exports);
46
53
  __exportStar(require("./theme/ThemeApp"), exports);
54
+ __exportStar(require("./theme/ThemeBaseTable"), exports);
55
+ __exportStar(require("./theme/ThemeDatePicker"), exports);
47
56
  __exportStar(require("./theme/ThemeDrilldownUserSelectMenu"), exports);
57
+ __exportStar(require("./theme/ThemeEmbeddedReport"), exports);
48
58
  __exportStar(require("./theme/ThemeErrorRenderer"), exports);
59
+ __exportStar(require("./theme/ThemeFilterAutocomplete"), exports);
60
+ __exportStar(require("./theme/ThemeFilterButtons"), exports);
61
+ __exportStar(require("./theme/ThemeFilterCheckboxRadio"), exports);
62
+ __exportStar(require("./theme/ThemeFilterPanel"), exports);
63
+ __exportStar(require("./theme/ThemeFilterSlider"), exports);
64
+ __exportStar(require("./theme/ThemeFilterTree"), exports);
65
+ __exportStar(require("./theme/ThemeGoogle"), exports);
66
+ __exportStar(require("./theme/ThemeGoogleHeatMap"), exports);
67
+ __exportStar(require("./theme/ThemeGoogleKmlLayer"), exports);
68
+ __exportStar(require("./theme/ThemeGoogleMarker"), exports);
49
69
  __exportStar(require("./theme/ThemeHtmlBox"), exports);
70
+ __exportStar(require("./theme/ThemeImage"), exports);
71
+ __exportStar(require("./theme/ThemeKpiBox"), exports);
72
+ __exportStar(require("./theme/ThemeKpiCard"), exports);
50
73
  __exportStar(require("./theme/ThemeLayout"), exports);
51
74
  __exportStar(require("./theme/ThemeLayoutPage"), exports);
75
+ __exportStar(require("./theme/ThemeMarkdownText"), exports);
76
+ __exportStar(require("./theme/ThemePivotTable"), exports);
77
+ __exportStar(require("./theme/ThemeRepetitionWidget"), exports);
52
78
  __exportStar(require("./theme/ThemeReportAppBar"), exports);
53
79
  __exportStar(require("./theme/ThemeReportAppMenu"), exports);
80
+ __exportStar(require("./theme/ThemeTable"), exports);
81
+ __exportStar(require("./theme/ThemeReportAppLeftPanel"), exports);
54
82
  __exportStar(require("./theme/ThemeWidgetBox"), exports);
55
83
  __exportStar(require("./theme/ThemeWidgetBoxContentMessage"), exports);
56
84
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B;AAC1B,yDAAuC;AACvC,kDAAgC;AAChC,sDAAoC;AACpC,sDAAoC;AACpC,+CAA6B;AAC7B,kDAAgC;AAChC,6DAA0C;AAC1C,oEAAiD;AACjD,+DAA6C;AAC7C,2DAAyC;AACzC,0DAAwC;AACxC,mDAAiC;AACjC,iDAA+B;AAC/B,2CAAyB;AACzB,iDAA+B;AAC/B,kDAAgC;AAChC,+CAA6B;AAC7B,iDAA+B;AAC/B,mDAAiC;AACjC,uDAAqC;AACrC,gDAA8B;AAC9B,qDAAmC;AACnC,mDAAiC;AACjC,oDAAkC;AAClC,gEAA8C;AAC9C,yDAAuC;AACvC,mDAAiC;AACjC,wDAAsC;AACtC,yDAAuC;AACvC,qDAAmC;AAEnC,2DAAwC;AACxC,mDAAgC;AAChC,uEAAoD;AACpD,6DAA0C;AAC1C,uDAAoC;AACpC,sDAAmC;AACnC,0DAAuC;AACvC,4DAAyC;AACzC,6DAA0C;AAC1C,yDAAsC;AACtC,uEAAoD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B;AAC1B,yDAAuC;AACvC,kDAAgC;AAChC,sDAAoC;AACpC,sDAAoC;AACpC,+CAA6B;AAC7B,kDAAgC;AAChC,6DAA0C;AAC1C,oEAAiD;AACjD,2CAAwB;AACxB,+DAA6C;AAC7C,2DAAyC;AACzC,0DAAwC;AACxC,mDAAiC;AACjC,iDAA+B;AAC/B,2CAAyB;AACzB,iDAA+B;AAC/B,kDAAgC;AAChC,+CAA6B;AAC7B,iDAA+B;AAC/B,mDAAiC;AACjC,uDAAqC;AACrC,oDAAkC;AAClC,gDAA8B;AAC9B,qDAAmC;AACnC,mDAAiC;AACjC,oDAAkC;AAClC,gEAA8C;AAC9C,yDAAuC;AACvC,mDAAiC;AACjC,wDAAsC;AACtC,yDAAuC;AACvC,qDAAmC;AAEnC,2DAAyC;AACzC,yDAAuC;AACvC,mDAAiC;AACjC,yDAAuC;AACvC,0DAAwC;AACxC,uEAAqD;AACrD,8DAA4C;AAC5C,6DAA2C;AAC3C,kEAAgD;AAChD,6DAA2C;AAC3C,mEAAiD;AACjD,2DAAyC;AACzC,4DAA0C;AAC1C,0DAAwC;AACxC,sDAAoC;AACpC,6DAA2C;AAC3C,8DAA4C;AAC5C,4DAA0C;AAC1C,uDAAqC;AACrC,qDAAmC;AACnC,sDAAoC;AACpC,uDAAqC;AACrC,sDAAoC;AACpC,0DAAwC;AACxC,4DAA0C;AAC1C,0DAAwC;AACxC,gEAA8C;AAC9C,4DAA0C;AAC1C,6DAA2C;AAC3C,qDAAmC;AACnC,kEAAgD;AAChD,yDAAuC;AACvC,uEAAqD"}