@firestitch/report 18.8.1 → 18.10.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 (208) hide show
  1. package/app/reports/anchor-at-point.d.ts +14 -0
  2. package/app/reports/canvas-landing-page.d.ts +2 -0
  3. package/app/reports/components/component-chart/component-chart.component.d.ts +18 -2
  4. package/app/reports/components/component-kpi/component-kpi.component.d.ts +4 -1
  5. package/app/reports/components/component-text/component-text.component.d.ts +47 -2
  6. package/app/reports/components/component-text/value-embed.plugin.d.ts +67 -0
  7. package/app/reports/components/report-canvas/report-canvas.component.d.ts +37 -9
  8. package/app/reports/components/report-component/report-component.component.d.ts +45 -2
  9. package/app/reports/components/report-view-picker/report-view-picker.component.d.ts +21 -0
  10. package/app/reports/data/report.data.d.ts +18 -2
  11. package/app/reports/dialogs/component-settings/component-settings.component.d.ts +25 -2
  12. package/app/reports/dialogs/report-settings/report-settings.component.d.ts +15 -6
  13. package/app/reports/dialogs/report-view/report-view-dialog.component.d.ts +13 -0
  14. package/app/reports/drill-crumbs.d.ts +12 -0
  15. package/app/reports/enums/report-value-formula.enum.d.ts +6 -0
  16. package/app/reports/export/report-export-collector.service.d.ts +35 -4
  17. package/app/reports/export/report-export.service.d.ts +3 -1
  18. package/app/reports/export/report-filter-lines.d.ts +18 -0
  19. package/app/reports/export/report-pdf.service.d.ts +18 -2
  20. package/app/reports/export/report-pptx.service.d.ts +15 -2
  21. package/app/reports/export/report-text-layout.service.d.ts +35 -0
  22. package/app/reports/filter-settings-rules.d.ts +33 -0
  23. package/app/reports/format.d.ts +2 -1
  24. package/app/reports/interfaces/canvas-landing-input.interface.d.ts +8 -0
  25. package/app/reports/interfaces/component-data-applied.interface.d.ts +13 -0
  26. package/app/reports/interfaces/component-data-drill.interface.d.ts +22 -0
  27. package/app/reports/interfaces/filter-bar-placement.type.d.ts +1 -0
  28. package/app/reports/interfaces/filter-component-toggle-state.interface.d.ts +4 -0
  29. package/app/reports/interfaces/filter-settings-option.interface.d.ts +4 -0
  30. package/app/reports/interfaces/filter-type-select-state.interface.d.ts +5 -0
  31. package/app/reports/interfaces/report-chart-hit.interface.d.ts +5 -0
  32. package/app/reports/interfaces/report-chat-viewer-cross-filter-field.interface.d.ts +4 -0
  33. package/app/reports/interfaces/report-chat-viewer-cross-filter.interface.d.ts +7 -0
  34. package/app/reports/interfaces/report-chat-viewer-detail.interface.d.ts +4 -0
  35. package/app/reports/interfaces/report-chat-viewer-drill-step.interface.d.ts +5 -0
  36. package/app/reports/interfaces/report-chat-viewer-drill.interface.d.ts +5 -0
  37. package/app/reports/interfaces/report-chat-viewer-filter.interface.d.ts +3 -0
  38. package/app/reports/interfaces/report-chat-viewer-selection.interface.d.ts +5 -0
  39. package/app/reports/interfaces/report-chat-viewer-state.interface.d.ts +12 -0
  40. package/app/reports/interfaces/report-drill-crumb.interface.d.ts +6 -0
  41. package/app/reports/interfaces/report-drill-refusal.type.d.ts +1 -0
  42. package/app/reports/interfaces/report-drill-step.interface.d.ts +5 -0
  43. package/app/reports/interfaces/report-export-line-kind.type.d.ts +1 -0
  44. package/app/reports/interfaces/report-export-line.interface.d.ts +8 -0
  45. package/app/reports/interfaces/report-export-lines-input.interface.d.ts +9 -0
  46. package/app/reports/interfaces/report-export-snapshot.interface.d.ts +15 -0
  47. package/app/reports/interfaces/report-filter-line-context.interface.d.ts +8 -0
  48. package/app/reports/interfaces/report-filter-line-form.type.d.ts +1 -0
  49. package/app/reports/interfaces/report-filter-match.type.d.ts +1 -0
  50. package/app/reports/interfaces/report-filter-option-pair.interface.d.ts +4 -0
  51. package/app/reports/interfaces/report-filter-options-ask.interface.d.ts +6 -0
  52. package/app/reports/interfaces/report-filter-options-list.interface.d.ts +7 -0
  53. package/app/reports/interfaces/report-filter-options-request.interface.d.ts +6 -0
  54. package/app/reports/interfaces/report-filter-options-stream.interface.d.ts +11 -0
  55. package/app/reports/interfaces/report-filter-options.interface.d.ts +7 -0
  56. package/app/reports/interfaces/report-filter-skip.type.d.ts +1 -0
  57. package/app/reports/interfaces/report-mark-action.type.d.ts +1 -0
  58. package/app/reports/interfaces/report-mark-click.interface.d.ts +13 -0
  59. package/app/reports/interfaces/report-mark-context.interface.d.ts +6 -0
  60. package/app/reports/interfaces/report-mark-decision.interface.d.ts +6 -0
  61. package/app/reports/interfaces/report-mark-event.interface.d.ts +11 -0
  62. package/app/reports/interfaces/report-mark-point.interface.d.ts +8 -0
  63. package/app/reports/interfaces/report-temporary-state.interface.d.ts +4 -0
  64. package/app/reports/interfaces/report-tile-state.interface.d.ts +8 -0
  65. package/app/reports/interfaces/report-url-link.interface.d.ts +4 -0
  66. package/app/reports/interfaces/report-url-value-name.type.d.ts +1 -0
  67. package/app/reports/interfaces/report-url-write.interface.d.ts +4 -0
  68. package/app/reports/interfaces/report-view-config.interface.d.ts +11 -0
  69. package/app/reports/interfaces/report-view-create.interface.d.ts +7 -0
  70. package/app/reports/interfaces/report-view-deleted.interface.d.ts +4 -0
  71. package/app/reports/interfaces/report-view-dialog-data.interface.d.ts +7 -0
  72. package/app/reports/interfaces/report-view-dropped.interface.d.ts +5 -0
  73. package/app/reports/interfaces/report-view-menu-item.interface.d.ts +10 -0
  74. package/app/reports/interfaces/report-view-summary.interface.d.ts +11 -0
  75. package/app/reports/interfaces/report-view.interface.d.ts +7 -0
  76. package/app/reports/interfaces/report-viewer-feature.type.d.ts +1 -0
  77. package/app/reports/interfaces/report-views.interface.d.ts +7 -0
  78. package/app/reports/interfaces/report.interface.d.ts +48 -5
  79. package/app/reports/interfaces/tile-load-result.interface.d.ts +4 -0
  80. package/app/reports/layout.d.ts +2 -0
  81. package/app/reports/mark-click.d.ts +20 -0
  82. package/app/reports/option-builder.d.ts +12 -1
  83. package/app/reports/report-chat-viewer-state.d.ts +8 -0
  84. package/app/reports/report-date-presets.d.ts +2 -0
  85. package/app/reports/report-filter-items.d.ts +27 -22
  86. package/app/reports/report-tile.d.ts +2 -0
  87. package/app/reports/report-url-state.d.ts +27 -10
  88. package/app/reports/report-view-config.d.ts +36 -0
  89. package/app/reports/report-view-menu.d.ts +15 -0
  90. package/app/reports/report-viewer-features.d.ts +5 -0
  91. package/app/reports/services/report-filter-options.service.d.ts +26 -0
  92. package/app/reports/services/report-filter-state.service.d.ts +65 -2
  93. package/app/reports/services/report-view.service.d.ts +51 -0
  94. package/app/reports/text.d.ts +50 -0
  95. package/app/reports/tile-data-state.d.ts +7 -0
  96. package/app/reports/tile-loads.d.ts +4 -0
  97. package/app/reports/values.d.ts +17 -0
  98. package/app/reports/views/report/fs-ai-report.component.d.ts +9 -1
  99. package/app/reports/views/report/report.component.d.ts +6 -0
  100. package/esm2022/app/reports/anchor-at-point.mjs +49 -0
  101. package/esm2022/app/reports/canvas-landing-page.mjs +25 -0
  102. package/esm2022/app/reports/components/component-chart/component-chart.component.mjs +97 -5
  103. package/esm2022/app/reports/components/component-kpi/component-kpi.component.mjs +11 -4
  104. package/esm2022/app/reports/components/component-list/component-list.component.mjs +7 -1
  105. package/esm2022/app/reports/components/component-text/component-text.component.mjs +213 -16
  106. package/esm2022/app/reports/components/component-text/value-embed.plugin.mjs +484 -0
  107. package/esm2022/app/reports/components/report-canvas/report-canvas.component.mjs +296 -55
  108. package/esm2022/app/reports/components/report-component/report-component.component.mjs +318 -76
  109. package/esm2022/app/reports/components/report-view-picker/report-view-picker.component.mjs +115 -0
  110. package/esm2022/app/reports/data/report.data.mjs +103 -8
  111. package/esm2022/app/reports/dialogs/component-settings/component-settings.component.mjs +210 -44
  112. package/esm2022/app/reports/dialogs/report-settings/report-settings.component.mjs +86 -90
  113. package/esm2022/app/reports/dialogs/report-view/report-view-dialog.component.mjs +52 -0
  114. package/esm2022/app/reports/drill-crumbs.mjs +73 -0
  115. package/esm2022/app/reports/enums/report-value-formula.enum.mjs +14 -0
  116. package/esm2022/app/reports/export/report-export-collector.service.mjs +299 -125
  117. package/esm2022/app/reports/export/report-export.service.mjs +57 -19
  118. package/esm2022/app/reports/export/report-filter-lines.mjs +235 -0
  119. package/esm2022/app/reports/export/report-pdf.service.mjs +315 -71
  120. package/esm2022/app/reports/export/report-pptx.service.mjs +293 -71
  121. package/esm2022/app/reports/export/report-text-layout.service.mjs +241 -0
  122. package/esm2022/app/reports/filter-settings-rules.mjs +283 -0
  123. package/esm2022/app/reports/format.mjs +13 -30
  124. package/esm2022/app/reports/interfaces/canvas-landing-input.interface.mjs +2 -0
  125. package/esm2022/app/reports/interfaces/component-data-applied.interface.mjs +2 -0
  126. package/esm2022/app/reports/interfaces/component-data-drill.interface.mjs +2 -0
  127. package/esm2022/app/reports/interfaces/filter-bar-placement.type.mjs +2 -0
  128. package/esm2022/app/reports/interfaces/filter-component-toggle-state.interface.mjs +2 -0
  129. package/esm2022/app/reports/interfaces/filter-settings-option.interface.mjs +2 -0
  130. package/esm2022/app/reports/interfaces/filter-type-select-state.interface.mjs +2 -0
  131. package/esm2022/app/reports/interfaces/report-chart-hit.interface.mjs +2 -0
  132. package/esm2022/app/reports/interfaces/report-chat-viewer-cross-filter-field.interface.mjs +2 -0
  133. package/esm2022/app/reports/interfaces/report-chat-viewer-cross-filter.interface.mjs +2 -0
  134. package/esm2022/app/reports/interfaces/report-chat-viewer-detail.interface.mjs +2 -0
  135. package/esm2022/app/reports/interfaces/report-chat-viewer-drill-step.interface.mjs +2 -0
  136. package/esm2022/app/reports/interfaces/report-chat-viewer-drill.interface.mjs +2 -0
  137. package/esm2022/app/reports/interfaces/report-chat-viewer-filter.interface.mjs +1 -1
  138. package/esm2022/app/reports/interfaces/report-chat-viewer-selection.interface.mjs +2 -0
  139. package/esm2022/app/reports/interfaces/report-chat-viewer-state.interface.mjs +1 -1
  140. package/esm2022/app/reports/interfaces/report-drill-crumb.interface.mjs +2 -0
  141. package/esm2022/app/reports/interfaces/report-drill-refusal.type.mjs +2 -0
  142. package/esm2022/app/reports/interfaces/report-drill-step.interface.mjs +2 -0
  143. package/esm2022/app/reports/interfaces/report-export-line-kind.type.mjs +2 -0
  144. package/esm2022/app/reports/interfaces/report-export-line.interface.mjs +2 -0
  145. package/esm2022/app/reports/interfaces/report-export-lines-input.interface.mjs +2 -0
  146. package/esm2022/app/reports/interfaces/report-export-snapshot.interface.mjs +2 -0
  147. package/esm2022/app/reports/interfaces/report-filter-line-context.interface.mjs +2 -0
  148. package/esm2022/app/reports/interfaces/report-filter-line-form.type.mjs +2 -0
  149. package/esm2022/app/reports/interfaces/report-filter-match.type.mjs +2 -0
  150. package/esm2022/app/reports/interfaces/report-filter-option-pair.interface.mjs +2 -0
  151. package/esm2022/app/reports/interfaces/report-filter-options-ask.interface.mjs +2 -0
  152. package/esm2022/app/reports/interfaces/report-filter-options-list.interface.mjs +2 -0
  153. package/esm2022/app/reports/interfaces/report-filter-options-request.interface.mjs +2 -0
  154. package/esm2022/app/reports/interfaces/report-filter-options-stream.interface.mjs +2 -0
  155. package/esm2022/app/reports/interfaces/report-filter-options.interface.mjs +2 -0
  156. package/esm2022/app/reports/interfaces/report-filter-skip.type.mjs +2 -0
  157. package/esm2022/app/reports/interfaces/report-mark-action.type.mjs +2 -0
  158. package/esm2022/app/reports/interfaces/report-mark-click.interface.mjs +2 -0
  159. package/esm2022/app/reports/interfaces/report-mark-context.interface.mjs +2 -0
  160. package/esm2022/app/reports/interfaces/report-mark-decision.interface.mjs +2 -0
  161. package/esm2022/app/reports/interfaces/report-mark-event.interface.mjs +2 -0
  162. package/esm2022/app/reports/interfaces/report-mark-point.interface.mjs +2 -0
  163. package/esm2022/app/reports/interfaces/report-temporary-state.interface.mjs +2 -0
  164. package/esm2022/app/reports/interfaces/report-tile-state.interface.mjs +2 -0
  165. package/esm2022/app/reports/interfaces/report-url-link.interface.mjs +2 -0
  166. package/esm2022/app/reports/interfaces/report-url-value-name.type.mjs +2 -0
  167. package/esm2022/app/reports/interfaces/report-url-write.interface.mjs +2 -0
  168. package/esm2022/app/reports/interfaces/report-view-config.interface.mjs +2 -0
  169. package/esm2022/app/reports/interfaces/report-view-create.interface.mjs +2 -0
  170. package/esm2022/app/reports/interfaces/report-view-deleted.interface.mjs +2 -0
  171. package/esm2022/app/reports/interfaces/report-view-dialog-data.interface.mjs +2 -0
  172. package/esm2022/app/reports/interfaces/report-view-dropped.interface.mjs +2 -0
  173. package/esm2022/app/reports/interfaces/report-view-menu-item.interface.mjs +2 -0
  174. package/esm2022/app/reports/interfaces/report-view-summary.interface.mjs +2 -0
  175. package/esm2022/app/reports/interfaces/report-view.interface.mjs +2 -0
  176. package/esm2022/app/reports/interfaces/report-viewer-feature.type.mjs +2 -0
  177. package/esm2022/app/reports/interfaces/report-views.interface.mjs +2 -0
  178. package/esm2022/app/reports/interfaces/report.interface.mjs +1 -1
  179. package/esm2022/app/reports/interfaces/tile-load-result.interface.mjs +2 -0
  180. package/esm2022/app/reports/layout.mjs +11 -1
  181. package/esm2022/app/reports/mark-click.mjs +193 -0
  182. package/esm2022/app/reports/option-builder.mjs +159 -15
  183. package/esm2022/app/reports/report-chat-viewer-state.mjs +34 -0
  184. package/esm2022/app/reports/report-date-presets.mjs +18 -0
  185. package/esm2022/app/reports/report-filter-items.mjs +343 -72
  186. package/esm2022/app/reports/report-tile.mjs +12 -0
  187. package/esm2022/app/reports/report-url-state.mjs +596 -108
  188. package/esm2022/app/reports/report-view-config.mjs +697 -0
  189. package/esm2022/app/reports/report-view-menu.mjs +119 -0
  190. package/esm2022/app/reports/report-viewer-features.mjs +42 -0
  191. package/esm2022/app/reports/services/report-filter-options.service.mjs +238 -0
  192. package/esm2022/app/reports/services/report-filter-state.service.mjs +715 -71
  193. package/esm2022/app/reports/services/report-view.service.mjs +358 -0
  194. package/esm2022/app/reports/text.mjs +293 -85
  195. package/esm2022/app/reports/tile-data-state.mjs +127 -0
  196. package/esm2022/app/reports/tile-loads.mjs +38 -0
  197. package/esm2022/app/reports/values.mjs +183 -0
  198. package/esm2022/app/reports/views/report/fs-ai-report.component.mjs +180 -46
  199. package/esm2022/app/reports/views/report/report.component.mjs +106 -23
  200. package/esm2022/public_api.mjs +24 -1
  201. package/fesm2022/{firestitch-report-echarts-CFnbJx44.mjs → firestitch-report-echarts-UBg8Wlhd.mjs} +2 -2
  202. package/fesm2022/{firestitch-report-echarts-CFnbJx44.mjs.map → firestitch-report-echarts-UBg8Wlhd.mjs.map} +1 -1
  203. package/fesm2022/{firestitch-report-firestitch-report-CSylkyko.mjs → firestitch-report-firestitch-report-B1keNrcK.mjs} +11315 -4201
  204. package/fesm2022/firestitch-report-firestitch-report-B1keNrcK.mjs.map +1 -0
  205. package/fesm2022/firestitch-report.mjs +1 -1
  206. package/package.json +1 -1
  207. package/public_api.d.ts +23 -0
  208. package/fesm2022/firestitch-report-firestitch-report-CSylkyko.mjs.map +0 -1
@@ -0,0 +1,4 @@
1
+ export interface ReportUrlLink {
2
+ viewId?: number | null;
3
+ personalViewId?: number | null;
4
+ }
@@ -0,0 +1 @@
1
+ export type ReportUrlValueName = (groupId: number, value: unknown) => string | null;
@@ -0,0 +1,4 @@
1
+ export interface ReportUrlWrite {
2
+ params: Record<string, string>;
3
+ tooLong: boolean;
4
+ }
@@ -0,0 +1,11 @@
1
+ import { ReportFilterMatch } from './report-filter-match.type';
2
+ import { ReportTileState } from './report-tile-state.interface';
3
+ import { ChartGranularity, FilterGroupDefault } from './report.interface';
4
+ export interface ReportViewConfig {
5
+ v: number;
6
+ pageId?: number;
7
+ groupBy?: ChartGranularity;
8
+ match?: ReportFilterMatch;
9
+ groups?: Record<number, FilterGroupDefault | null>;
10
+ tiles?: Record<number, ReportTileState>;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { ReportViewConfig } from './report-view-config.interface';
2
+ export interface ReportViewCreate {
3
+ name: string;
4
+ config: ReportViewConfig;
5
+ shared?: boolean;
6
+ personalDefault?: boolean;
7
+ }
@@ -0,0 +1,4 @@
1
+ export interface ReportViewDeleted {
2
+ id: number;
3
+ state: string;
4
+ }
@@ -0,0 +1,7 @@
1
+ import { Observable } from 'rxjs';
2
+ export interface ReportViewDialogData {
3
+ title: string;
4
+ name: string;
5
+ note: string | null;
6
+ save: (name: string) => Observable<unknown>;
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface ReportViewDropped {
2
+ groups: number[];
3
+ tiles: number[];
4
+ page: boolean;
5
+ }
@@ -0,0 +1,10 @@
1
+ export interface ReportViewMenuItem {
2
+ kind: 'view' | 'saveChanges' | 'saveAsNew' | 'rename' | 'setDefault' | 'clearDefault' | 'share' | 'unshare' | 'delete' | 'resetToView' | 'resetToDefaults';
3
+ label: string;
4
+ disabled: boolean;
5
+ tooltip: string | null;
6
+ divider: boolean;
7
+ viewId: number | null;
8
+ open: boolean;
9
+ icon: 'star' | 'people' | null;
10
+ }
@@ -0,0 +1,11 @@
1
+ export interface ReportViewSummary {
2
+ id: number;
3
+ name: string;
4
+ shared: boolean;
5
+ mine: boolean;
6
+ personalDefault: boolean;
7
+ ownerName: string | null;
8
+ canChange: boolean;
9
+ canDelete: boolean;
10
+ modifyDate: string;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { ReportViewConfig } from './report-view-config.interface';
2
+ import { ReportViewDropped } from './report-view-dropped.interface';
3
+ import { ReportViewSummary } from './report-view-summary.interface';
4
+ export interface ReportView extends ReportViewSummary {
5
+ config: ReportViewConfig;
6
+ dropped: ReportViewDropped;
7
+ }
@@ -0,0 +1 @@
1
+ export type ReportViewerFeature = 'excludeValues' | 'numberRange' | 'matchAny' | 'pageScope' | 'cascadingOptions' | 'scopeFilters' | 'views' | 'drill' | 'crossFilter' | 'detail';
@@ -0,0 +1,7 @@
1
+ import { ReportViewSummary } from './report-view-summary.interface';
2
+ import { ReportView } from './report-view.interface';
3
+ export interface ReportViews {
4
+ views: ReportViewSummary[];
5
+ canShare: boolean;
6
+ myDefault: ReportView | null;
7
+ }
@@ -7,6 +7,11 @@ import { ReportChartMarkStat } from '../enums/report-chart-mark-stat.enum';
7
7
  import { ReportListColumnFormat } from '../enums/report-list-column-format.enum';
8
8
  import { ReportNumberUnits } from '../enums/report-number-units.enum';
9
9
  import { ReportValueFormat } from '../enums/report-value-format.enum';
10
+ import { ReportValueFormula } from '../enums/report-value-formula.enum';
11
+ import { ComponentDataApplied } from './component-data-applied.interface';
12
+ import { ComponentDataDrill } from './component-data-drill.interface';
13
+ import { ReportDrillStep } from './report-drill-step.interface';
14
+ import { ReportViewerFeature } from './report-viewer-feature.type';
10
15
  export type ReportLocaleTag = string;
11
16
  export type ReportCurrencyCode = string;
12
17
  export interface Report {
@@ -25,10 +30,12 @@ export interface Report {
25
30
  pages: ReportPage[];
26
31
  master: ReportMaster | null;
27
32
  filterGroups: ReportFilterGroup[];
33
+ viewerFeatures?: ReportViewerFeature[];
28
34
  }
29
35
  export interface ReportMaster {
30
36
  id: number;
31
37
  components: ReportComponent[];
38
+ values?: ReportComponent[];
32
39
  }
33
40
  export interface ReportFormatContext {
34
41
  locale: ReportLocaleTag;
@@ -75,8 +82,9 @@ export interface ReportPage {
75
82
  order: number;
76
83
  masterHidden: boolean;
77
84
  components: ReportComponent[];
85
+ values?: ReportComponent[];
78
86
  }
79
- export type ReportComponentType = 'chart' | 'list' | 'kpi' | 'text';
87
+ export type ReportComponentType = 'chart' | 'list' | 'kpi' | 'text' | 'value';
80
88
  export interface ReportComponent {
81
89
  id: number;
82
90
  type: ReportComponentType;
@@ -87,7 +95,7 @@ export interface ReportComponent {
87
95
  h: number;
88
96
  autoHeight: boolean;
89
97
  sql: string | null;
90
- config: ChartConfig & ListConfig & KpiConfig & TextConfig & ComponentLayoutConfig & Record<string, unknown>;
98
+ config: ChartConfig & ListConfig & KpiConfig & TextConfig & ValueConfig & ComponentLayoutConfig & Record<string, unknown>;
91
99
  filters: ReportFilter[];
92
100
  }
93
101
  export interface ReportComponentSql {
@@ -101,6 +109,22 @@ export interface ReportComponentSql {
101
109
  export interface TextConfig {
102
110
  html?: string;
103
111
  }
112
+ export interface ValueConfig {
113
+ key?: string;
114
+ formula?: ValueFormulaConfig | null;
115
+ }
116
+ export interface ValueFormulaConfig {
117
+ op: ReportValueFormula;
118
+ of: string[];
119
+ signed?: boolean | null;
120
+ }
121
+ export interface ReportPageValue {
122
+ id: number;
123
+ key: string;
124
+ value: number | string | null;
125
+ error: string | null;
126
+ role?: OutputRole | null;
127
+ }
104
128
  export interface ComponentLayoutConfig {
105
129
  padding?: ComponentPadding;
106
130
  }
@@ -221,11 +245,12 @@ export interface ReportSort {
221
245
  column: string;
222
246
  direction?: 'asc' | 'desc';
223
247
  }
224
- export type ReportFilterType = 'dateRange' | 'select' | 'keyword';
225
- export type ReportFilterLevel = 'component' | 'report' | 'both';
248
+ export type ReportFilterType = 'dateRange' | 'select' | 'keyword' | 'numberRange';
249
+ export type ReportFilterLevel = 'component' | 'report' | 'both' | 'page';
226
250
  export interface ReportFilterableColumn {
227
251
  column: string;
228
252
  type: ReportFilterType;
253
+ types?: ReportFilterType[];
229
254
  }
230
255
  export interface ReportFilter {
231
256
  id: number;
@@ -251,6 +276,10 @@ export interface ReportFilterGroup {
251
276
  default?: FilterGroupDefault;
252
277
  } & Record<string, unknown>;
253
278
  filters: ReportFilter[];
279
+ pageId?: number | null;
280
+ componentIds?: number[];
281
+ multiColumn?: boolean;
282
+ blankLabel?: string | null;
254
283
  }
255
284
  export interface FilterGroupDefault {
256
285
  relative?: string;
@@ -258,6 +287,9 @@ export interface FilterGroupDefault {
258
287
  end?: string;
259
288
  values?: unknown[];
260
289
  value?: string;
290
+ excludeValues?: unknown[];
291
+ min?: number;
292
+ max?: number;
261
293
  }
262
294
  export interface FilterGroupValue {
263
295
  start?: Date | string | null;
@@ -265,10 +297,13 @@ export interface FilterGroupValue {
265
297
  values?: unknown[];
266
298
  value?: string;
267
299
  preset?: string;
300
+ excludeValues?: unknown[];
301
+ min?: number | null;
302
+ max?: number | null;
268
303
  }
269
304
  export type ReportRelativeRange = 'thisWeek' | 'lastWeek' | 'last7Days' | 'last30Days' | 'last3Months' | 'last6Months' | 'last12Months' | 'thisMonth' | 'thisQuarter' | 'thisYear' | 'yearToDate';
270
305
  export interface ReportUrlParams {
271
- groups: Map<number, string>;
306
+ groups: Map<number, FilterGroupDefault | null>;
272
307
  listSorts: Map<number, string>;
273
308
  listSearches: Map<number, string>;
274
309
  listHidden: Map<number, string>;
@@ -288,6 +323,9 @@ export interface ResolvedFilterValue {
288
323
  values?: unknown[];
289
324
  value?: string;
290
325
  preset?: ReportRelativeRange;
326
+ excludeValues?: unknown[];
327
+ min?: number;
328
+ max?: number;
291
329
  }
292
330
  export interface ComponentDataState {
293
331
  sort?: ReportSort;
@@ -296,6 +334,9 @@ export interface ComponentDataState {
296
334
  frequency?: ChartGranularity;
297
335
  search?: string;
298
336
  hiddenColumns?: string[];
337
+ drill?: ReportDrillStep[];
338
+ matchAnyGroupIds?: number[];
339
+ unchangedIfUnreached?: true;
299
340
  }
300
341
  export interface ComponentData {
301
342
  columns: string[];
@@ -317,6 +358,8 @@ export interface ComponentData {
317
358
  windows?: Record<string, WindowMeta>;
318
359
  kpi?: ComponentKpi | null;
319
360
  partialPeriod?: string | null;
361
+ applied?: ComponentDataApplied;
362
+ drill?: ComponentDataDrill;
320
363
  }
321
364
  export type TimeframeSource = 'filter' | 'range' | 'fixed' | 'none';
322
365
  export interface ComponentTimeframe {
@@ -0,0 +1,4 @@
1
+ export interface TileLoadResult<T> {
2
+ data: T | null;
3
+ error: string | null;
4
+ }
@@ -1,4 +1,6 @@
1
+ import { ReportComponent } from './interfaces/report.interface';
1
2
  export declare const DEFAULT_COMPONENT_PADDING = 0.125;
3
+ export declare function componentPaddingCss(component: ReportComponent): string;
2
4
  export declare const DEFAULT_HEADING_SIZE = 16;
3
5
  export declare const PAGE_DIMENSION_MIN = 1;
4
6
  export declare const PAGE_DIMENSION_MAX = 50;
@@ -0,0 +1,20 @@
1
+ import { ComponentDataDrill } from './interfaces/component-data-drill.interface';
2
+ import { ReportChartHit } from './interfaces/report-chart-hit.interface';
3
+ import { ReportDrillStep } from './interfaces/report-drill-step.interface';
4
+ import { ReportMarkAction } from './interfaces/report-mark-action.type';
5
+ import { ReportMarkClick } from './interfaces/report-mark-click.interface';
6
+ import { ReportMarkContext } from './interfaces/report-mark-context.interface';
7
+ import { ReportMarkDecision } from './interfaces/report-mark-decision.interface';
8
+ import { ReportMarkEvent } from './interfaces/report-mark-event.interface';
9
+ import { ReportMarkPoint } from './interfaces/report-mark-point.interface';
10
+ import { ComponentData, ReportComponent, ReportFormatContext } from './interfaces/report.interface';
11
+ export declare const MARK_ACTION_LABELS: Record<ReportMarkAction, string>;
12
+ export declare function markPointer(event: ReportMarkEvent | null | undefined): ReportMarkClick['pointer'];
13
+ export declare function chartMarkClick(component: ReportComponent, data: ComponentData, context: ReportFormatContext, hit: ReportChartHit, event: ReportMarkEvent | null | undefined): ReportMarkClick | null;
14
+ export declare function kpiMarkClick(component: ReportComponent, data: ComponentData | null, event: ReportMarkEvent | null | undefined): ReportMarkClick;
15
+ export declare function tileMarkActions(context: ReportMarkContext): ReportMarkAction[];
16
+ export declare function markActions(click: ReportMarkClick, context: ReportMarkContext): ReportMarkAction[];
17
+ export declare function decideMarkClick(click: ReportMarkClick, actions: readonly ReportMarkAction[], touched: string | null): ReportMarkDecision;
18
+ export declare function markKey(click: ReportMarkClick): string;
19
+ export declare function drillPoint(click: ReportMarkClick, drill: ComponentDataDrill | null | undefined): ReportMarkPoint | null;
20
+ export declare function drillDownPath(drill: ComponentDataDrill | null | undefined, click: ReportMarkClick): ReportDrillStep[] | null;
@@ -4,6 +4,7 @@ import { ReportChartDateLabel } from './enums/report-chart-date-label.enum';
4
4
  import { ReportChartLineStyle } from './enums/report-chart-line-style.enum';
5
5
  import { ReportChartMarkStat } from './enums/report-chart-mark-stat.enum';
6
6
  import { AxisChartType, ChartConfig, ChartGranularity, ChartMeasure, ChartValueAxis, ComponentData, LegendPosition, ListColumn, ListConfig, ReportComponent, ReportFormatContext, ReportLocaleTag, WaterfallStepKind } from './interfaces/report.interface';
7
+ import { ReportMarkAction } from './interfaces/report-mark-action.type';
7
8
  export declare const PERCENT_AXIS_MAX = 1;
8
9
  export declare const PERCENT_AXIS_INTERVAL = 0.25;
9
10
  export declare const RANK_AXIS_MIN = 1;
@@ -40,6 +41,8 @@ export declare function colorByColumn(config: ChartConfig): string | undefined;
40
41
  export interface ExtractedChartSeries {
41
42
  categories: string[];
42
43
  series: ExtractedChartSeriesItem[];
44
+ rawCategories: unknown[];
45
+ rawGroups: unknown[];
43
46
  }
44
47
  export interface ExtractedChartSeriesItem {
45
48
  name: string;
@@ -49,6 +52,10 @@ export interface ExtractedChartSeriesItem {
49
52
  measureIndex: number;
50
53
  }
51
54
  export declare function extractChartSeries(component: ReportComponent, data: ComponentData): ExtractedChartSeries;
55
+ export declare function chartColumns(config: ChartConfig, data: ComponentData): {
56
+ xColumn: string;
57
+ groupColumn: string | undefined;
58
+ };
52
59
  export declare function seriesColor(series: ExtractedChartSeriesItem): string | undefined;
53
60
  export declare function seriesHex(series: ExtractedChartSeriesItem, index: number): string;
54
61
  export declare function measureLineStyle(measure: ChartMeasure | undefined): ReportChartLineStyle | undefined;
@@ -74,13 +81,17 @@ export interface ExtractedWaterfall {
74
81
  }
75
82
  export declare const WATERFALL_TOTAL_LABEL = "Total";
76
83
  export declare function extractWaterfall(component: ReportComponent, data: ComponentData): ExtractedWaterfall;
77
- export declare function buildChartOption(component: ReportComponent, data: ComponentData, context: ReportFormatContext): EChartsOption;
84
+ export declare function buildChartOption(component: ReportComponent, data: ComponentData, context: ReportFormatContext, legendSelected?: Readonly<Record<string, boolean>>, actions?: readonly ReportMarkAction[]): EChartsOption;
85
+ export declare function markActionHint(actions: readonly ReportMarkAction[]): string | null;
86
+ export declare function partialSegmentId(owner: number): string;
87
+ export declare function partialSegmentOwner(seriesId: string | null | undefined): number | null;
78
88
  export declare function priorSeriesStyles(config: ChartConfig, data: ComponentData, extracted: ExtractedChartSeries): {
79
89
  colors: string[];
80
90
  priors: boolean[];
81
91
  } | null;
82
92
  export declare function rankValueAxes(extracted: ExtractedChartSeries, data: ComponentData, config: ChartConfig): boolean[];
83
93
  export declare function referencePeak(references: DrawnReference[], axisIndex: ValueAxisIndex): number;
94
+ export declare function categoryAxisTitle(config: ChartConfig, data: ComponentData): string | undefined;
84
95
  export declare function resolveLegendPosition(config: ChartConfig, seriesCount: number, colorBy?: boolean): LegendPosition;
85
96
  export declare function dataLabelOption(mode: ReportChartDataLabels | undefined, formatter: DataLabelFormatter): SeriesDataLabels | null;
86
97
  export declare function valueAxisRange(axis: ChartValueAxis | undefined): {
@@ -0,0 +1,8 @@
1
+ import { ReportChatViewerDrill } from './interfaces/report-chat-viewer-drill.interface';
2
+ import { ReportChatViewerState } from './interfaces/report-chat-viewer-state.interface';
3
+ import { ReportViewConfig } from './interfaces/report-view-config.interface';
4
+ import { ReportLocaleTag } from './interfaces/report.interface';
5
+ export declare const CHAT_DRILLS_MAX = 10;
6
+ export declare const CHAT_LABEL_MAX = 100;
7
+ export declare function chatViewerMatch(snapshot: ReportViewConfig): Pick<ReportChatViewerState, 'match'>;
8
+ export declare function chatViewerDrills(snapshot: ReportViewConfig, locale: ReportLocaleTag): ReportChatViewerDrill[];
@@ -0,0 +1,2 @@
1
+ import { Provider } from '@angular/core';
2
+ export declare function provideReportDatePicker(): Provider;
@@ -1,34 +1,38 @@
1
1
  import { IFilterConfigItem } from '@firestitch/filter';
2
2
  import { Observable } from 'rxjs';
3
3
  import { ReportData } from './data/report.data';
4
+ import { ReportFilterMatch } from './interfaces/report-filter-match.type';
5
+ import { ReportFilterOptionPair } from './interfaces/report-filter-option-pair.interface';
6
+ import { ReportViewerFeature } from './interfaces/report-viewer-feature.type';
4
7
  import { ChartGranularity, FilterGroupValue, Report, ReportFilterGroup, ReportLocaleTag } from './interfaces/report.interface';
8
+ import { ReportFilterOptionsService } from './services/report-filter-options.service';
5
9
  export declare function dateBoundString(value: Date | string | null | undefined): string | undefined;
6
10
  export declare function dateBoundLabel(value: Date | string | null | undefined, locale: ReportLocaleTag): string | null;
7
11
  export declare function dateFromBound(value: string | null | undefined): Date | null;
8
12
  export declare function dateToBound(value: Date | null | undefined): string | null;
9
13
  export declare function relativeLabel(relative: string): string;
10
- export declare const GROUP_PARAM_PREFIX = "g";
11
- export declare function groupItemName(group: Pick<ReportFilterGroup, 'id'>): string;
12
14
  export declare const GROUP_BY_ITEM = "groupBy";
13
- export declare function loadGroupOptions(group: ReportFilterGroup, reportData: ReportData, reportId: number): Observable<{
14
- name: string;
15
- value: unknown;
16
- }[]>;
17
- export declare function resolveOptionValues(options$: Observable<{
18
- name: string;
19
- value: unknown;
20
- }[]>, values: unknown[]): Observable<{
21
- name: string;
22
- value: unknown;
23
- }[]>;
24
- export declare function matchOptions(options$: Observable<{
25
- name: string;
26
- value: unknown;
27
- }[]>, keyword?: string): Observable<{
28
- name: string;
29
- value: unknown;
30
- }[]>;
31
- export declare function filterItemForGroup(group: ReportFilterGroup, reportData: ReportData, reportId: number, initial?: FilterGroupValue): IFilterConfigItem;
15
+ export declare const VIEW_PARAM = "rv";
16
+ export declare const PERSONAL_VIEW_PARAM = "rpv";
17
+ export declare const FORMAT_PARAM = "rf";
18
+ export declare const PAGE_PARAM = "page";
19
+ export type ItemRangeEnd = 'min' | 'max' | 'from' | 'to';
20
+ export declare function itemRangeName(name: string, end: ItemRangeEnd): string;
21
+ export declare function groupParamKeys(groups: readonly Pick<ReportFilterGroup, 'id' | 'label' | 'filters'>[]): Map<number, string>;
22
+ export declare function groupParamKey(group: Pick<ReportFilterGroup, 'id' | 'label' | 'filters'>, groups: readonly Pick<ReportFilterGroup, 'id' | 'label' | 'filters'>[]): string;
23
+ export declare function groupItemName(group: ReportFilterGroup, report: Report | null): string;
24
+ export declare function loadGroupOptions(group: ReportFilterGroup, reportData: ReportData, reportId: number): Observable<ReportFilterOptionPair[]>;
25
+ export declare function resolveOptionValues(options$: Observable<ReportFilterOptionPair[]>, values: unknown[], label?: (value: unknown) => string | null): Observable<ReportFilterOptionPair[]>;
26
+ export declare function matchOptions(options$: Observable<ReportFilterOptionPair[]>, keyword?: string): Observable<ReportFilterOptionPair[]>;
27
+ export declare const OPTIONS_TRUNCATED_NOTE = "Showing the first 500. Type to narrow.";
28
+ export declare const OPTIONS_FAILED_NOTE = "Could not load the list.";
29
+ export declare function filterItemForGroup(group: ReportFilterGroup, options: ReportFilterOptionsService, report: Report | null, initial?: FilterGroupValue, features?: readonly ReportViewerFeature[]): IFilterConfigItem;
30
+ export declare function isMatchAnyGroup(group: ReportFilterGroup, pageId: number | null): boolean;
31
+ export declare function reportBarGroups(report: Report | null, pageId: number | null): ReportFilterGroup[];
32
+ export declare function hasPageGroup(report: Report | null): boolean;
33
+ export declare const MATCH_ITEM = "match";
34
+ export declare function matchFilterItem(report: Report | null, groups: ReportFilterGroup[], pageId: number | null, match: ReportFilterMatch): IFilterConfigItem | null;
35
+ export declare function matchFromQuery(query: Record<string, unknown>): ReportFilterMatch;
32
36
  export declare const LIST_SEARCH_ITEM = "listSearch";
33
37
  export declare const LIST_SEARCH_MAX_LENGTH = 100;
34
38
  export declare function listSearchItem(value: string | null): IFilterConfigItem;
@@ -36,7 +40,8 @@ export declare function hasTimeSeriesChart(report: Report | null): boolean;
36
40
  export declare function isGranularityOffered(report: Report, granularity: ChartGranularity | null): boolean;
37
41
  export declare function groupByFilterItem(report: Report, initial?: ChartGranularity | null): IFilterConfigItem | null;
38
42
  export declare function groupBySignature(report: Report | null): string;
39
- export declare function groupValuesFromQuery(query: Record<string, any>, groups: ReportFilterGroup[]): {
43
+ export declare function groupValuesFromQuery(query: Record<string, any>, groups: ReportFilterGroup[], report: Report | null): {
40
44
  groupId: number;
41
45
  value: FilterGroupValue | null;
42
46
  }[];
47
+ export declare function groupValueSignature(value: FilterGroupValue | null | undefined): string;
@@ -0,0 +1,2 @@
1
+ import { ReportComponent } from './interfaces/report.interface';
2
+ export declare function isTile(component: Pick<ReportComponent, 'type'> | null | undefined): boolean;
@@ -1,19 +1,36 @@
1
1
  import { ParamMap, Params } from '@angular/router';
2
- import { FilterGroupValue, ReportFilterType, ReportSort, ReportUrlParams, ReportUrlSnapshot } from './interfaces/report.interface';
3
- export { GROUP_PARAM_PREFIX } from './report-filter-items';
2
+ import { ReportDrillStep } from './interfaces/report-drill-step.interface';
3
+ import { ReportUrlLink } from './interfaces/report-url-link.interface';
4
+ import { ReportUrlValueName } from './interfaces/report-url-value-name.type';
5
+ import { ReportUrlWrite } from './interfaces/report-url-write.interface';
6
+ import { ReportViewConfig } from './interfaces/report-view-config.interface';
7
+ import { FilterGroupDefault, ReportFilterGroup, ReportFilterType, ReportSort, ReportUrlParams, ReportUrlSnapshot } from './interfaces/report.interface';
8
+ export { FORMAT_PARAM, PERSONAL_VIEW_PARAM, VIEW_PARAM } from './report-filter-items';
4
9
  export declare const LIST_SORT_PARAM_PREFIX = "s";
5
- export declare const DATE_RANGE_SEPARATOR = "..";
6
10
  export declare const LIST_SEARCH_PARAM_PREFIX = "q";
7
11
  export declare const LIST_HIDDEN_PARAM_PREFIX = "h";
12
+ export declare const DRILL_PARAM_PREFIX = "d";
13
+ export declare const MATCH_PARAM = "match";
14
+ export declare const URL_FORMAT = 2;
15
+ export declare const DRILL_STEP_SEPARATOR = ":";
16
+ export declare const PICK_SEPARATOR = ",";
17
+ export declare const PICK_NAME_SEPARATOR = ":";
18
+ export declare const REPORT_URL_MAX_LENGTH = 2000;
19
+ export declare const URL_TOO_LONG_MESSAGE = "This filter is too long for a link; save a view to share it.";
8
20
  export declare const OWNED_PARAM: RegExp;
9
- export declare function readReportUrlParams(params: ParamMap): ReportUrlParams;
21
+ type UrlGroup = Pick<ReportFilterGroup, 'id' | 'type' | 'label' | 'filters'>;
22
+ export declare function readReportUrlParams(params: ParamMap, groups: readonly UrlGroup[]): ReportUrlParams;
23
+ export declare function paramsToViewConfig(params: Params, groups: readonly UrlGroup[]): ReportViewConfig;
24
+ export declare function viewConfigToParams(config: ReportViewConfig, groups: readonly UrlGroup[], link?: ReportUrlLink, name?: ReportUrlValueName): ReportUrlWrite;
25
+ export declare function readReportUrlLink(params: Params): ReportUrlLink;
26
+ export declare function hasReportUrlState(params: Params, groups: readonly UrlGroup[]): boolean;
27
+ export declare function reportParamsToClear(current: ParamMap, groups: readonly UrlGroup[]): Params;
28
+ export declare function urlValueNames(current: ParamMap, groups: readonly UrlGroup[]): ReportUrlValueName;
10
29
  export declare function encodeColumnList(names: readonly string[]): string;
11
30
  export declare function decodeColumnList(raw: string): string[];
12
- export declare function decodeFilterValue(type: ReportFilterType, raw: string, resolveRelative: (name: string) => {
13
- start: Date;
14
- end: Date;
15
- } | null): FilterGroupValue | null | undefined;
16
- export declare function encodeFilterValue(value: FilterGroupValue | null): string;
31
+ export declare function groupValueParams(type: ReportFilterType | undefined, key: string, value: FilterGroupDefault | null, name?: (value: unknown) => string | null): Record<string, string>;
17
32
  export declare function encodeSort(sort: ReportSort): string;
18
33
  export declare function decodeSort(raw: string): ReportSort | null;
19
- export declare function buildReportUrlParams(snapshot: ReportUrlSnapshot, current: ParamMap): Params;
34
+ export declare function encodeDrillPath(path: readonly ReportDrillStep[]): string;
35
+ export declare function decodeDrillPath(raw: string): ReportDrillStep[];
36
+ export declare function buildReportUrlParams(snapshot: ReportUrlSnapshot, current: ParamMap, groups: readonly UrlGroup[], name?: ReportUrlValueName): Params;
@@ -0,0 +1,36 @@
1
+ import { ReportChatViewerState } from './interfaces/report-chat-viewer-state.interface';
2
+ import { ReportDrillStep } from './interfaces/report-drill-step.interface';
3
+ import { ReportViewConfig } from './interfaces/report-view-config.interface';
4
+ import { ReportViewSummary } from './interfaces/report-view-summary.interface';
5
+ import { ReportView } from './interfaces/report-view.interface';
6
+ import { ChartGranularity, FilterGroupDefault, FilterGroupValue, ReportFilterType, ReportRelativeRange, ReportSort } from './interfaces/report.interface';
7
+ export declare const REPORT_VIEW_CONFIG_VERSION = 1;
8
+ export declare const VIEW_CONFIG_MAX_BYTES: number;
9
+ export declare const VIEW_CONFIG_MAX_GROUPS = 100;
10
+ export declare const VIEW_CONFIG_MAX_TILES = 200;
11
+ export declare const GROUP_VALUE_MAX_PICKS = 500;
12
+ export declare const DRILL_MAX_DEPTH = 5;
13
+ export declare const RELATIVE_RANGE_NAMES: ReportRelativeRange[];
14
+ export declare function isRelativeRange(name: unknown): name is ReportRelativeRange;
15
+ export declare function isChartGranularity(value: unknown): value is ChartGranularity;
16
+ export declare function isCalendarDay(text: string): boolean;
17
+ export declare function numberFromText(text: string): number | null;
18
+ export declare function groupValueFromArray(value: Record<string, unknown>, type: ReportFilterType): FilterGroupDefault;
19
+ export declare function groupValueFromStored(value: unknown, type: ReportFilterType): FilterGroupDefault | null;
20
+ export declare function viewConfigFromArray(input: unknown): ReportViewConfig;
21
+ export declare function toStoredGroupValue(type: ReportFilterType, value: FilterGroupValue | null | undefined): FilterGroupDefault | null;
22
+ export declare function toLiveGroupValue(type: ReportFilterType, stored: FilterGroupDefault | null | undefined, resolveRelative: (name: string) => {
23
+ start: Date;
24
+ end: Date;
25
+ } | null): FilterGroupValue | null;
26
+ export declare function viewDiffers(base: ReportViewConfig, current: ReportViewConfig, authored?: ReportViewConfig | null): boolean;
27
+ export declare function sameStoredGroupValue(a: FilterGroupDefault | null | undefined, b: FilterGroupDefault | null | undefined): boolean;
28
+ export declare function cleanDrillPath(path: readonly unknown[] | null | undefined): ReportDrillStep[];
29
+ export declare function sameDrillPath(a: readonly ReportDrillStep[] | null | undefined, b: readonly ReportDrillStep[] | null | undefined): boolean;
30
+ export declare function viewConfigDiff(base: ReportViewConfig, current: ReportViewConfig, authored: ReportViewConfig | null, authoredSort: (componentId: number) => ReportSort | null): ReportViewConfig | null;
31
+ export declare function withStoredKeys(stored: ReportViewConfig | null | undefined, screen: ReportViewConfig): ReportViewConfig;
32
+ export declare function viewDroppedCount(view: Pick<ReportView, 'config' | 'dropped'>, applied: ReportViewConfig): number;
33
+ export declare function viewDroppedMessage(count: number, canChange?: boolean): string | null;
34
+ export declare const VIEW_NOT_AVAILABLE_MESSAGE = "The view in this link is not available.";
35
+ export declare function chatViewFields(openView: Pick<ReportViewSummary, 'id'> | null, viewChanged: boolean): Pick<ReportChatViewerState, 'viewId' | 'viewChanged'>;
36
+ export declare function finiteNumber(value: unknown): number | undefined;
@@ -0,0 +1,15 @@
1
+ import { ReportViewMenuItem } from './interfaces/report-view-menu-item.interface';
2
+ import { ReportViewSummary } from './interfaces/report-view-summary.interface';
3
+ export declare const VIEWS_LABEL = "Views";
4
+ export declare const EDITED_TOOLTIP = "The screen differs from this view";
5
+ export declare const SAVE_AS_TITLE = "Save as new view";
6
+ export declare const RENAME_TITLE = "Rename view";
7
+ export declare const CROSS_FILTER_NOTE = "Cross-filters are temporary and are not saved.";
8
+ export declare const VIEW_NAME_BLANK = "Enter a name";
9
+ export declare const VIEW_NAME_MAX_LENGTH = 100;
10
+ export declare function viewMenuItems(open: ReportViewSummary | null, views: readonly ReportViewSummary[], edited: boolean, canShare: boolean): ReportViewMenuItem[];
11
+ export declare function pickerLabel(open: Pick<ReportViewSummary, 'name'> | null, edited: boolean): string;
12
+ export declare function pickerTooltip(open: Pick<ReportViewSummary, 'name'> | null, edited: boolean): string | null;
13
+ export declare function deletePromptText(view: Pick<ReportViewSummary, 'name' | 'shared'>): string;
14
+ export declare function saveDialogNote(hasCrossFilter: boolean): string | null;
15
+ export declare function viewNameError(name: string | null | undefined): string | null;
@@ -0,0 +1,5 @@
1
+ import { ReportViewerFeature } from './interfaces/report-viewer-feature.type';
2
+ import { ReportFilterGroup } from './interfaces/report.interface';
3
+ export declare const VIEWER_FEATURES: readonly ReportViewerFeature[];
4
+ export declare function offeredViewerFeatures(served: readonly ReportViewerFeature[] | null | undefined): ReportViewerFeature[];
5
+ export declare function offersExclude(group: Pick<ReportFilterGroup, 'type' | 'multiColumn'>, features: readonly ReportViewerFeature[] | null | undefined): boolean;
@@ -0,0 +1,26 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ReportFilterOptionPair } from '../interfaces/report-filter-option-pair.interface';
3
+ import { Report, ReportFilterGroup } from '../interfaces/report.interface';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ReportFilterOptionsService {
6
+ private _reportData;
7
+ private _filterState;
8
+ private _destroyRef;
9
+ private _streams;
10
+ private _labels;
11
+ private _asked;
12
+ private _loaded;
13
+ options(group: ReportFilterGroup, report: Report | null): Observable<ReportFilterOptionPair[]>;
14
+ label(groupId: number, value: unknown): string | null;
15
+ truncated(groupId: number): boolean;
16
+ failed(groupId: number): boolean;
17
+ private _ask;
18
+ private _request;
19
+ private _fetch;
20
+ private _stream;
21
+ private _syncLoad;
22
+ private _remember;
23
+ private _askedFor;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReportFilterOptionsService, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<ReportFilterOptionsService>;
26
+ }