@firestitch/report 18.9.0 → 18.10.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 (186) 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/report-canvas/report-canvas.component.d.ts +3 -0
  6. package/app/reports/components/report-component/report-component.component.d.ts +35 -1
  7. package/app/reports/components/report-view-picker/report-view-picker.component.d.ts +21 -0
  8. package/app/reports/data/report.data.d.ts +20 -7
  9. package/app/reports/dialogs/component-settings/component-settings.component.d.ts +18 -3
  10. package/app/reports/dialogs/report-settings/report-settings.component.d.ts +45 -8
  11. package/app/reports/dialogs/report-view/report-view-dialog.component.d.ts +13 -0
  12. package/app/reports/drill-crumbs.d.ts +12 -0
  13. package/app/reports/export/report-export-collector.service.d.ts +13 -4
  14. package/app/reports/export/report-filter-lines.d.ts +18 -0
  15. package/app/reports/filter-settings-rules.d.ts +37 -0
  16. package/app/reports/format.d.ts +0 -1
  17. package/app/reports/interfaces/canvas-landing-input.interface.d.ts +8 -0
  18. package/app/reports/interfaces/component-data-applied.interface.d.ts +13 -0
  19. package/app/reports/interfaces/component-data-drill.interface.d.ts +22 -0
  20. package/app/reports/interfaces/filter-bar-placement.type.d.ts +1 -0
  21. package/app/reports/interfaces/filter-component-toggle-state.interface.d.ts +4 -0
  22. package/app/reports/interfaces/filter-settings-option.interface.d.ts +4 -0
  23. package/app/reports/interfaces/filter-type-select-state.interface.d.ts +5 -0
  24. package/app/reports/interfaces/report-chart-hit.interface.d.ts +5 -0
  25. package/app/reports/interfaces/report-chat-viewer-cross-filter-field.interface.d.ts +4 -0
  26. package/app/reports/interfaces/report-chat-viewer-cross-filter.interface.d.ts +7 -0
  27. package/app/reports/interfaces/report-chat-viewer-detail.interface.d.ts +4 -0
  28. package/app/reports/interfaces/report-chat-viewer-drill-step.interface.d.ts +5 -0
  29. package/app/reports/interfaces/report-chat-viewer-drill.interface.d.ts +5 -0
  30. package/app/reports/interfaces/report-chat-viewer-filter.interface.d.ts +3 -0
  31. package/app/reports/interfaces/report-chat-viewer-selection.interface.d.ts +5 -0
  32. package/app/reports/interfaces/report-chat-viewer-state.interface.d.ts +12 -0
  33. package/app/reports/interfaces/report-drill-crumb.interface.d.ts +6 -0
  34. package/app/reports/interfaces/report-drill-refusal.type.d.ts +1 -0
  35. package/app/reports/interfaces/report-drill-step.interface.d.ts +5 -0
  36. package/app/reports/interfaces/report-export-line-kind.type.d.ts +1 -0
  37. package/app/reports/interfaces/report-export-line.interface.d.ts +8 -0
  38. package/app/reports/interfaces/report-export-lines-input.interface.d.ts +9 -0
  39. package/app/reports/interfaces/report-export-snapshot.interface.d.ts +15 -0
  40. package/app/reports/interfaces/report-filter-group-changes.interface.d.ts +7 -0
  41. package/app/reports/interfaces/report-filter-line-context.interface.d.ts +8 -0
  42. package/app/reports/interfaces/report-filter-line-form.type.d.ts +1 -0
  43. package/app/reports/interfaces/report-filter-match.type.d.ts +1 -0
  44. package/app/reports/interfaces/report-filter-option-pair.interface.d.ts +4 -0
  45. package/app/reports/interfaces/report-filter-options-ask.interface.d.ts +6 -0
  46. package/app/reports/interfaces/report-filter-options-list.interface.d.ts +7 -0
  47. package/app/reports/interfaces/report-filter-options-request.interface.d.ts +6 -0
  48. package/app/reports/interfaces/report-filter-options-stream.interface.d.ts +11 -0
  49. package/app/reports/interfaces/report-filter-options.interface.d.ts +7 -0
  50. package/app/reports/interfaces/report-filter-skip.type.d.ts +1 -0
  51. package/app/reports/interfaces/report-mark-action.type.d.ts +1 -0
  52. package/app/reports/interfaces/report-mark-click.interface.d.ts +13 -0
  53. package/app/reports/interfaces/report-mark-context.interface.d.ts +6 -0
  54. package/app/reports/interfaces/report-mark-decision.interface.d.ts +6 -0
  55. package/app/reports/interfaces/report-mark-event.interface.d.ts +11 -0
  56. package/app/reports/interfaces/report-mark-point.interface.d.ts +8 -0
  57. package/app/reports/interfaces/report-temporary-state.interface.d.ts +4 -0
  58. package/app/reports/interfaces/report-tile-state.interface.d.ts +8 -0
  59. package/app/reports/interfaces/report-view-config.interface.d.ts +11 -0
  60. package/app/reports/interfaces/report-view-create.interface.d.ts +7 -0
  61. package/app/reports/interfaces/report-view-deleted.interface.d.ts +4 -0
  62. package/app/reports/interfaces/report-view-dialog-data.interface.d.ts +7 -0
  63. package/app/reports/interfaces/report-view-dropped.interface.d.ts +5 -0
  64. package/app/reports/interfaces/report-view-menu-item.interface.d.ts +10 -0
  65. package/app/reports/interfaces/report-view-summary.interface.d.ts +11 -0
  66. package/app/reports/interfaces/report-view.interface.d.ts +7 -0
  67. package/app/reports/interfaces/report-viewer-feature.type.d.ts +1 -0
  68. package/app/reports/interfaces/report-views.interface.d.ts +7 -0
  69. package/app/reports/interfaces/report.interface.d.ts +27 -16
  70. package/app/reports/interfaces/tile-load-result.interface.d.ts +4 -0
  71. package/app/reports/mark-click.d.ts +20 -0
  72. package/app/reports/option-builder.d.ts +12 -1
  73. package/app/reports/report-chat-viewer-state.d.ts +8 -0
  74. package/app/reports/report-date-presets.d.ts +2 -0
  75. package/app/reports/report-filter-items.d.ts +20 -21
  76. package/app/reports/report-tile.d.ts +2 -0
  77. package/app/reports/report-view-config.d.ts +34 -0
  78. package/app/reports/report-view-menu.d.ts +15 -0
  79. package/app/reports/report-viewer-features.d.ts +5 -0
  80. package/app/reports/services/report-filter-options.service.d.ts +26 -0
  81. package/app/reports/services/report-filter-state.service.d.ts +65 -11
  82. package/app/reports/services/report-view.service.d.ts +39 -0
  83. package/app/reports/tile-data-state.d.ts +7 -0
  84. package/app/reports/tile-loads.d.ts +4 -0
  85. package/app/reports/views/report/fs-ai-report.component.d.ts +10 -8
  86. package/app/reports/views/report/report.component.d.ts +6 -0
  87. package/esm2022/app/reports/anchor-at-point.mjs +49 -0
  88. package/esm2022/app/reports/canvas-landing-page.mjs +26 -0
  89. package/esm2022/app/reports/components/component-chart/component-chart.component.mjs +97 -5
  90. package/esm2022/app/reports/components/component-kpi/component-kpi.component.mjs +11 -4
  91. package/esm2022/app/reports/components/component-list/component-list.component.mjs +11 -5
  92. package/esm2022/app/reports/components/report-canvas/report-canvas.component.mjs +56 -40
  93. package/esm2022/app/reports/components/report-component/report-component.component.mjs +261 -65
  94. package/esm2022/app/reports/components/report-view-picker/report-view-picker.component.mjs +115 -0
  95. package/esm2022/app/reports/data/report.data.mjs +94 -14
  96. package/esm2022/app/reports/dialogs/component-settings/component-settings.component.mjs +106 -51
  97. package/esm2022/app/reports/dialogs/report-settings/report-settings.component.mjs +248 -104
  98. package/esm2022/app/reports/dialogs/report-view/report-view-dialog.component.mjs +52 -0
  99. package/esm2022/app/reports/drill-crumbs.mjs +73 -0
  100. package/esm2022/app/reports/export/report-export-collector.service.mjs +187 -117
  101. package/esm2022/app/reports/export/report-filter-lines.mjs +235 -0
  102. package/esm2022/app/reports/export/report-pdf.service.mjs +12 -7
  103. package/esm2022/app/reports/export/report-pptx.service.mjs +18 -14
  104. package/esm2022/app/reports/filter-settings-rules.mjs +290 -0
  105. package/esm2022/app/reports/format.mjs +2 -22
  106. package/esm2022/app/reports/interfaces/canvas-landing-input.interface.mjs +2 -0
  107. package/esm2022/app/reports/interfaces/component-data-applied.interface.mjs +2 -0
  108. package/esm2022/app/reports/interfaces/component-data-drill.interface.mjs +2 -0
  109. package/esm2022/app/reports/interfaces/filter-bar-placement.type.mjs +2 -0
  110. package/esm2022/app/reports/interfaces/filter-component-toggle-state.interface.mjs +2 -0
  111. package/esm2022/app/reports/interfaces/filter-settings-option.interface.mjs +2 -0
  112. package/esm2022/app/reports/interfaces/filter-type-select-state.interface.mjs +2 -0
  113. package/esm2022/app/reports/interfaces/report-chart-hit.interface.mjs +2 -0
  114. package/esm2022/app/reports/interfaces/report-chat-viewer-cross-filter-field.interface.mjs +2 -0
  115. package/esm2022/app/reports/interfaces/report-chat-viewer-cross-filter.interface.mjs +2 -0
  116. package/esm2022/app/reports/interfaces/report-chat-viewer-detail.interface.mjs +2 -0
  117. package/esm2022/app/reports/interfaces/report-chat-viewer-drill-step.interface.mjs +2 -0
  118. package/esm2022/app/reports/interfaces/report-chat-viewer-drill.interface.mjs +2 -0
  119. package/esm2022/app/reports/interfaces/report-chat-viewer-filter.interface.mjs +1 -1
  120. package/esm2022/app/reports/interfaces/report-chat-viewer-selection.interface.mjs +2 -0
  121. package/esm2022/app/reports/interfaces/report-chat-viewer-state.interface.mjs +1 -1
  122. package/esm2022/app/reports/interfaces/report-drill-crumb.interface.mjs +2 -0
  123. package/esm2022/app/reports/interfaces/report-drill-refusal.type.mjs +2 -0
  124. package/esm2022/app/reports/interfaces/report-drill-step.interface.mjs +2 -0
  125. package/esm2022/app/reports/interfaces/report-export-line-kind.type.mjs +2 -0
  126. package/esm2022/app/reports/interfaces/report-export-line.interface.mjs +2 -0
  127. package/esm2022/app/reports/interfaces/report-export-lines-input.interface.mjs +2 -0
  128. package/esm2022/app/reports/interfaces/report-export-snapshot.interface.mjs +2 -0
  129. package/esm2022/app/reports/interfaces/report-filter-group-changes.interface.mjs +2 -0
  130. package/esm2022/app/reports/interfaces/report-filter-line-context.interface.mjs +2 -0
  131. package/esm2022/app/reports/interfaces/report-filter-line-form.type.mjs +2 -0
  132. package/esm2022/app/reports/interfaces/report-filter-match.type.mjs +2 -0
  133. package/esm2022/app/reports/interfaces/report-filter-option-pair.interface.mjs +2 -0
  134. package/esm2022/app/reports/interfaces/report-filter-options-ask.interface.mjs +2 -0
  135. package/esm2022/app/reports/interfaces/report-filter-options-list.interface.mjs +2 -0
  136. package/esm2022/app/reports/interfaces/report-filter-options-request.interface.mjs +2 -0
  137. package/esm2022/app/reports/interfaces/report-filter-options-stream.interface.mjs +2 -0
  138. package/esm2022/app/reports/interfaces/report-filter-options.interface.mjs +2 -0
  139. package/esm2022/app/reports/interfaces/report-filter-skip.type.mjs +2 -0
  140. package/esm2022/app/reports/interfaces/report-mark-action.type.mjs +2 -0
  141. package/esm2022/app/reports/interfaces/report-mark-click.interface.mjs +2 -0
  142. package/esm2022/app/reports/interfaces/report-mark-context.interface.mjs +2 -0
  143. package/esm2022/app/reports/interfaces/report-mark-decision.interface.mjs +2 -0
  144. package/esm2022/app/reports/interfaces/report-mark-event.interface.mjs +2 -0
  145. package/esm2022/app/reports/interfaces/report-mark-point.interface.mjs +2 -0
  146. package/esm2022/app/reports/interfaces/report-temporary-state.interface.mjs +2 -0
  147. package/esm2022/app/reports/interfaces/report-tile-state.interface.mjs +2 -0
  148. package/esm2022/app/reports/interfaces/report-view-config.interface.mjs +2 -0
  149. package/esm2022/app/reports/interfaces/report-view-create.interface.mjs +2 -0
  150. package/esm2022/app/reports/interfaces/report-view-deleted.interface.mjs +2 -0
  151. package/esm2022/app/reports/interfaces/report-view-dialog-data.interface.mjs +2 -0
  152. package/esm2022/app/reports/interfaces/report-view-dropped.interface.mjs +2 -0
  153. package/esm2022/app/reports/interfaces/report-view-menu-item.interface.mjs +2 -0
  154. package/esm2022/app/reports/interfaces/report-view-summary.interface.mjs +2 -0
  155. package/esm2022/app/reports/interfaces/report-view.interface.mjs +2 -0
  156. package/esm2022/app/reports/interfaces/report-viewer-feature.type.mjs +2 -0
  157. package/esm2022/app/reports/interfaces/report-views.interface.mjs +2 -0
  158. package/esm2022/app/reports/interfaces/report.interface.mjs +1 -1
  159. package/esm2022/app/reports/interfaces/tile-load-result.interface.mjs +2 -0
  160. package/esm2022/app/reports/mark-click.mjs +193 -0
  161. package/esm2022/app/reports/option-builder.mjs +159 -15
  162. package/esm2022/app/reports/report-chat-viewer-state.mjs +34 -0
  163. package/esm2022/app/reports/report-date-presets.mjs +18 -0
  164. package/esm2022/app/reports/report-filter-items.mjs +263 -72
  165. package/esm2022/app/reports/report-tile.mjs +12 -0
  166. package/esm2022/app/reports/report-view-config.mjs +587 -0
  167. package/esm2022/app/reports/report-view-menu.mjs +119 -0
  168. package/esm2022/app/reports/report-viewer-features.mjs +42 -0
  169. package/esm2022/app/reports/services/report-filter-options.service.mjs +238 -0
  170. package/esm2022/app/reports/services/report-filter-state.service.mjs +668 -210
  171. package/esm2022/app/reports/services/report-view.service.mjs +218 -0
  172. package/esm2022/app/reports/tile-data-state.mjs +127 -0
  173. package/esm2022/app/reports/tile-loads.mjs +38 -0
  174. package/esm2022/app/reports/views/report/fs-ai-report.component.mjs +194 -127
  175. package/esm2022/app/reports/views/report/report.component.mjs +112 -29
  176. package/esm2022/public_api.mjs +23 -1
  177. package/fesm2022/{firestitch-report-echarts-DBMOHmBF.mjs → firestitch-report-echarts-DHEH_K_q.mjs} +2 -2
  178. package/fesm2022/{firestitch-report-echarts-DBMOHmBF.mjs.map → firestitch-report-echarts-DHEH_K_q.mjs.map} +1 -1
  179. package/fesm2022/{firestitch-report-firestitch-report-CqbXT1gh.mjs → firestitch-report-firestitch-report-ZcHTnNKq.mjs} +8222 -4447
  180. package/fesm2022/firestitch-report-firestitch-report-ZcHTnNKq.mjs.map +1 -0
  181. package/fesm2022/firestitch-report.mjs +1 -1
  182. package/package.json +1 -1
  183. package/public_api.d.ts +22 -0
  184. package/app/reports/report-url-state.d.ts +0 -19
  185. package/esm2022/app/reports/report-url-state.mjs +0 -189
  186. package/fesm2022/firestitch-report-firestitch-report-CqbXT1gh.mjs.map +0 -1
@@ -0,0 +1,5 @@
1
+ export interface FilterTypeSelectState {
2
+ show: boolean;
3
+ disabled: boolean;
4
+ tooltip: string | null;
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface ReportChartHit {
2
+ seriesIndex: number | null;
3
+ seriesId: string | null;
4
+ dataIndex: number;
5
+ }
@@ -0,0 +1,4 @@
1
+ export interface ReportChatViewerCrossFilterField {
2
+ column: string;
3
+ valueLabel: string;
4
+ }
@@ -0,0 +1,7 @@
1
+ import { ReportChatViewerCrossFilterField } from './report-chat-viewer-cross-filter-field.interface';
2
+ export interface ReportChatViewerCrossFilter {
3
+ sourceComponentId: number;
4
+ fields: ReportChatViewerCrossFilterField[];
5
+ affected: number;
6
+ onPage: number;
7
+ }
@@ -0,0 +1,4 @@
1
+ export interface ReportChatViewerDetail {
2
+ componentId: number;
3
+ label: string;
4
+ }
@@ -0,0 +1,5 @@
1
+ import { ChartGranularity } from './report.interface';
2
+ export interface ReportChatViewerDrillStep {
3
+ level: ChartGranularity;
4
+ label: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ReportChatViewerDrillStep } from './report-chat-viewer-drill-step.interface';
2
+ export interface ReportChatViewerDrill {
3
+ componentId: number;
4
+ path: ReportChatViewerDrillStep[];
5
+ }
@@ -6,4 +6,7 @@ export interface ReportChatViewerFilter {
6
6
  values?: unknown[];
7
7
  value?: string;
8
8
  preset?: ReportRelativeRange;
9
+ excludeValues?: unknown[];
10
+ min?: number;
11
+ max?: number;
9
12
  }
@@ -0,0 +1,5 @@
1
+ export interface ReportChatViewerSelection {
2
+ componentId: number;
3
+ valueKey?: string | null;
4
+ text?: string | null;
5
+ }
@@ -1,7 +1,19 @@
1
+ import { ReportChatViewerCrossFilter } from './report-chat-viewer-cross-filter.interface';
2
+ import { ReportChatViewerDetail } from './report-chat-viewer-detail.interface';
3
+ import { ReportChatViewerDrill } from './report-chat-viewer-drill.interface';
1
4
  import { ReportChatViewerFilter } from './report-chat-viewer-filter.interface';
5
+ import { ReportChatViewerSelection } from './report-chat-viewer-selection.interface';
6
+ import { ReportFilterMatch } from './report-filter-match.type';
2
7
  import { ChartGranularity } from './report.interface';
3
8
  export interface ReportChatViewerState {
4
9
  granularity: ChartGranularity | null;
5
10
  selectedComponentId: number | null;
6
11
  filters: ReportChatViewerFilter[];
12
+ match?: ReportFilterMatch;
13
+ viewId?: number | null;
14
+ viewChanged?: boolean;
15
+ crossFilters?: ReportChatViewerCrossFilter[];
16
+ drills?: ReportChatViewerDrill[];
17
+ detail?: ReportChatViewerDetail | null;
18
+ selection?: ReportChatViewerSelection;
7
19
  }
@@ -0,0 +1,6 @@
1
+ import { ChartGranularity } from './report.interface';
2
+ export interface ReportDrillCrumb {
3
+ level: ChartGranularity;
4
+ value: string | number | null;
5
+ label: string | null;
6
+ }
@@ -0,0 +1 @@
1
+ export type ReportDrillRefusal = 'notDrillable' | 'topChanged' | 'notChild' | 'badValue' | 'outsideParent' | 'tooDeep';
@@ -0,0 +1,5 @@
1
+ import { ChartGranularity } from './report.interface';
2
+ export interface ReportDrillStep {
3
+ level: ChartGranularity;
4
+ value: string | number | null;
5
+ }
@@ -0,0 +1 @@
1
+ export type ReportExportLineKind = 'group' | 'groupBy' | 'cross' | 'drill';
@@ -0,0 +1,8 @@
1
+ import { ReportExportLineKind } from './report-export-line-kind.type';
2
+ export interface ReportExportLine {
3
+ kind: ReportExportLineKind;
4
+ text: string;
5
+ groupId?: number;
6
+ crossFilterId?: number;
7
+ componentId?: number;
8
+ }
@@ -0,0 +1,9 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ReportExportSnapshot } from './report-export-snapshot.interface';
3
+ import { Report, ReportFilterGroup } from './report.interface';
4
+ export interface ReportExportLinesInput {
5
+ report: Report;
6
+ snapshot: ReportExportSnapshot;
7
+ pageId: number | null;
8
+ names: (group: ReportFilterGroup, values: unknown[]) => Observable<string[]>;
9
+ }
@@ -0,0 +1,15 @@
1
+ import { ReportViewConfig } from './report-view-config.interface';
2
+ import { ReportViewerFeature } from './report-viewer-feature.type';
3
+ import { ChartGranularity, ComponentDataState, FilterGroupValue, ReportFormatContext, ReportRelativeRange, ResolvedFilterValue } from './report.interface';
4
+ export interface ReportExportSnapshot {
5
+ view: ReportViewConfig;
6
+ values: Record<number, FilterGroupValue>;
7
+ presets: Record<number, ReportRelativeRange>;
8
+ filters: Record<number, ResolvedFilterValue[]>;
9
+ valueFilters: Record<number, ResolvedFilterValue[]>;
10
+ states: Record<number, ComponentDataState>;
11
+ frequency: ChartGranularity | null;
12
+ features: ReportViewerFeature[];
13
+ formatContext: ReportFormatContext;
14
+ viewLine: string | null;
15
+ }
@@ -0,0 +1,7 @@
1
+ import { FilterGroupDefault, ReportFilterLevel } from './report.interface';
2
+ export interface ReportFilterGroupChanges {
3
+ name?: string;
4
+ label?: string;
5
+ level?: ReportFilterLevel;
6
+ default?: FilterGroupDefault | null;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { ReportLocaleTag, ReportRelativeRange } from './report.interface';
2
+ export interface ReportFilterLineContext {
3
+ locale: ReportLocaleTag;
4
+ names?: readonly string[] | null;
5
+ preset?: ReportRelativeRange | null;
6
+ pageName?: string | null;
7
+ blankLabel?: string | null;
8
+ }
@@ -0,0 +1 @@
1
+ export type ReportFilterLineForm = 'chip' | 'line';
@@ -0,0 +1 @@
1
+ export type ReportFilterMatch = 'all' | 'any';
@@ -0,0 +1,4 @@
1
+ export interface ReportFilterOptionPair {
2
+ name: string;
3
+ value: unknown;
4
+ }
@@ -0,0 +1,6 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ReportFilterOptionsList } from './report-filter-options-list.interface';
3
+ export interface ReportFilterOptionsAsk {
4
+ seq: number;
5
+ fetch: Observable<ReportFilterOptionsList>;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { ReportFilterOptionPair } from './report-filter-option-pair.interface';
2
+ export interface ReportFilterOptionsList {
3
+ seq: number;
4
+ options: ReportFilterOptionPair[];
5
+ truncated: boolean;
6
+ failed: boolean;
7
+ }
@@ -0,0 +1,6 @@
1
+ import { ResolvedFilterValue } from './report.interface';
2
+ export interface ReportFilterOptionsRequest {
3
+ filters: ResolvedFilterValue[];
4
+ matchAnyGroupIds?: number[];
5
+ selected?: (string | number)[];
6
+ }
@@ -0,0 +1,11 @@
1
+ import { Observable, Subject } from 'rxjs';
2
+ import { ReportFilterOptionsAsk } from './report-filter-options-ask.interface';
3
+ import { ReportFilterOptionsList } from './report-filter-options-list.interface';
4
+ export interface ReportFilterOptionsStream {
5
+ signature: string | null;
6
+ seq: number;
7
+ truncated: boolean;
8
+ failed: boolean;
9
+ requests$: Subject<ReportFilterOptionsAsk>;
10
+ lists$: Observable<ReportFilterOptionsList>;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { ReportFilterOption } from './report.interface';
2
+ export interface ReportFilterOptions {
3
+ options: ReportFilterOption[];
4
+ truncated: boolean;
5
+ narrowedBy: number[];
6
+ selected: ReportFilterOption[];
7
+ }
@@ -0,0 +1 @@
1
+ export type ReportFilterSkip = 'windowedAxis' | 'comparedAxis' | 'multiColumn' | 'notOwned';
@@ -0,0 +1 @@
1
+ export type ReportMarkAction = 'drill' | 'crossFilter' | 'detail';
@@ -0,0 +1,13 @@
1
+ import { ReportMarkPoint } from './report-mark-point.interface';
2
+ export interface ReportMarkClick {
3
+ componentId: number;
4
+ points: ReportMarkPoint[];
5
+ measure: string | null;
6
+ value: number | null;
7
+ additive: boolean;
8
+ pointer: {
9
+ x: number;
10
+ y: number;
11
+ type: 'mouse' | 'touch' | 'pen';
12
+ };
13
+ }
@@ -0,0 +1,6 @@
1
+ import { ReportViewerFeature } from './report-viewer-feature.type';
2
+ import { ComponentData } from './report.interface';
3
+ export interface ReportMarkContext {
4
+ data: ComponentData | null;
5
+ features: readonly ReportViewerFeature[];
6
+ }
@@ -0,0 +1,6 @@
1
+ import { ReportMarkAction } from './report-mark-action.type';
2
+ export interface ReportMarkDecision {
3
+ outcome: 'none' | 'tooltip' | 'run' | 'menu';
4
+ actions: ReportMarkAction[];
5
+ touched: string | null;
6
+ }
@@ -0,0 +1,11 @@
1
+ export interface ReportMarkEvent {
2
+ pageX?: number;
3
+ pageY?: number;
4
+ ctrlKey?: boolean;
5
+ metaKey?: boolean;
6
+ pointerType?: string;
7
+ changedTouches?: ArrayLike<{
8
+ pageX: number;
9
+ pageY: number;
10
+ }>;
11
+ }
@@ -0,0 +1,8 @@
1
+ import { ChartGranularity } from './report.interface';
2
+ export interface ReportMarkPoint {
3
+ column: string;
4
+ raw: unknown;
5
+ label: string;
6
+ period?: string;
7
+ grain?: ChartGranularity;
8
+ }
@@ -0,0 +1,4 @@
1
+ export interface ReportTemporaryState {
2
+ crossFilters: unknown[];
3
+ detail: unknown;
4
+ }
@@ -0,0 +1,8 @@
1
+ import { ReportDrillStep } from './report-drill-step.interface';
2
+ import { ReportSort } from './report.interface';
3
+ export interface ReportTileState {
4
+ sort?: ReportSort;
5
+ search?: string;
6
+ hidden?: string[];
7
+ drill?: ReportDrillStep[];
8
+ }
@@ -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
+ }
@@ -8,6 +8,10 @@ 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
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';
11
15
  export type ReportLocaleTag = string;
12
16
  export type ReportCurrencyCode = string;
13
17
  export interface Report {
@@ -26,6 +30,7 @@ export interface Report {
26
30
  pages: ReportPage[];
27
31
  master: ReportMaster | null;
28
32
  filterGroups: ReportFilterGroup[];
33
+ viewerFeatures?: ReportViewerFeature[];
29
34
  }
30
35
  export interface ReportMaster {
31
36
  id: number;
@@ -240,11 +245,12 @@ export interface ReportSort {
240
245
  column: string;
241
246
  direction?: 'asc' | 'desc';
242
247
  }
243
- export type ReportFilterType = 'dateRange' | 'select' | 'keyword';
244
- export type ReportFilterLevel = 'component' | 'report' | 'both';
248
+ export type ReportFilterType = 'dateRange' | 'select' | 'keyword' | 'numberRange';
249
+ export type ReportFilterLevel = 'component' | 'report' | 'both' | 'page';
245
250
  export interface ReportFilterableColumn {
246
251
  column: string;
247
252
  type: ReportFilterType;
253
+ types?: ReportFilterType[];
248
254
  }
249
255
  export interface ReportFilter {
250
256
  id: number;
@@ -262,6 +268,7 @@ export interface ReportFilterOption {
262
268
  }
263
269
  export interface ReportFilterGroup {
264
270
  id: number;
271
+ name?: string;
265
272
  label: string | null;
266
273
  type: ReportFilterType;
267
274
  level: ReportFilterLevel;
@@ -270,6 +277,10 @@ export interface ReportFilterGroup {
270
277
  default?: FilterGroupDefault;
271
278
  } & Record<string, unknown>;
272
279
  filters: ReportFilter[];
280
+ pageId?: number | null;
281
+ componentIds?: number[];
282
+ multiColumn?: boolean;
283
+ blankLabel?: string | null;
273
284
  }
274
285
  export interface FilterGroupDefault {
275
286
  relative?: string;
@@ -277,6 +288,9 @@ export interface FilterGroupDefault {
277
288
  end?: string;
278
289
  values?: unknown[];
279
290
  value?: string;
291
+ excludeValues?: unknown[];
292
+ min?: number;
293
+ max?: number;
280
294
  }
281
295
  export interface FilterGroupValue {
282
296
  start?: Date | string | null;
@@ -284,22 +298,11 @@ export interface FilterGroupValue {
284
298
  values?: unknown[];
285
299
  value?: string;
286
300
  preset?: string;
301
+ excludeValues?: unknown[];
302
+ min?: number | null;
303
+ max?: number | null;
287
304
  }
288
305
  export type ReportRelativeRange = 'thisWeek' | 'lastWeek' | 'last7Days' | 'last30Days' | 'last3Months' | 'last6Months' | 'last12Months' | 'thisMonth' | 'thisQuarter' | 'thisYear' | 'yearToDate';
289
- export interface ReportUrlParams {
290
- groups: Map<number, string>;
291
- listSorts: Map<number, string>;
292
- listSearches: Map<number, string>;
293
- listHidden: Map<number, string>;
294
- groupBy: string | null;
295
- }
296
- export interface ReportUrlSnapshot {
297
- groups: Map<number, FilterGroupValue | null>;
298
- listSorts: Map<number, ReportSort>;
299
- listSearches: Map<number, string>;
300
- listHidden: Map<number, string[]>;
301
- frequency: ChartGranularity | null;
302
- }
303
306
  export interface ResolvedFilterValue {
304
307
  filterId: number;
305
308
  start?: string;
@@ -307,6 +310,9 @@ export interface ResolvedFilterValue {
307
310
  values?: unknown[];
308
311
  value?: string;
309
312
  preset?: ReportRelativeRange;
313
+ excludeValues?: unknown[];
314
+ min?: number;
315
+ max?: number;
310
316
  }
311
317
  export interface ComponentDataState {
312
318
  sort?: ReportSort;
@@ -315,6 +321,9 @@ export interface ComponentDataState {
315
321
  frequency?: ChartGranularity;
316
322
  search?: string;
317
323
  hiddenColumns?: string[];
324
+ drill?: ReportDrillStep[];
325
+ matchAnyGroupIds?: number[];
326
+ unchangedIfUnreached?: true;
318
327
  }
319
328
  export interface ComponentData {
320
329
  columns: string[];
@@ -336,6 +345,8 @@ export interface ComponentData {
336
345
  windows?: Record<string, WindowMeta>;
337
346
  kpi?: ComponentKpi | null;
338
347
  partialPeriod?: string | null;
348
+ applied?: ComponentDataApplied;
349
+ drill?: ComponentDataDrill;
339
350
  }
340
351
  export type TimeframeSource = 'filter' | 'range' | 'fixed' | 'none';
341
352
  export interface ComponentTimeframe {
@@ -0,0 +1,4 @@
1
+ export interface TileLoadResult<T> {
2
+ data: T | null;
3
+ error: string | null;
4
+ }
@@ -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;