@firestitch/report 18.9.0 → 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.
- package/app/reports/anchor-at-point.d.ts +14 -0
- package/app/reports/canvas-landing-page.d.ts +2 -0
- package/app/reports/components/component-chart/component-chart.component.d.ts +18 -2
- package/app/reports/components/component-kpi/component-kpi.component.d.ts +4 -1
- package/app/reports/components/report-canvas/report-canvas.component.d.ts +3 -0
- package/app/reports/components/report-component/report-component.component.d.ts +35 -1
- package/app/reports/components/report-view-picker/report-view-picker.component.d.ts +21 -0
- package/app/reports/data/report.data.d.ts +17 -2
- package/app/reports/dialogs/component-settings/component-settings.component.d.ts +18 -3
- package/app/reports/dialogs/report-settings/report-settings.component.d.ts +15 -6
- package/app/reports/dialogs/report-view/report-view-dialog.component.d.ts +13 -0
- package/app/reports/drill-crumbs.d.ts +12 -0
- package/app/reports/export/report-export-collector.service.d.ts +13 -4
- package/app/reports/export/report-filter-lines.d.ts +18 -0
- package/app/reports/filter-settings-rules.d.ts +33 -0
- package/app/reports/format.d.ts +0 -1
- package/app/reports/interfaces/canvas-landing-input.interface.d.ts +8 -0
- package/app/reports/interfaces/component-data-applied.interface.d.ts +13 -0
- package/app/reports/interfaces/component-data-drill.interface.d.ts +22 -0
- package/app/reports/interfaces/filter-bar-placement.type.d.ts +1 -0
- package/app/reports/interfaces/filter-component-toggle-state.interface.d.ts +4 -0
- package/app/reports/interfaces/filter-settings-option.interface.d.ts +4 -0
- package/app/reports/interfaces/filter-type-select-state.interface.d.ts +5 -0
- package/app/reports/interfaces/report-chart-hit.interface.d.ts +5 -0
- package/app/reports/interfaces/report-chat-viewer-cross-filter-field.interface.d.ts +4 -0
- package/app/reports/interfaces/report-chat-viewer-cross-filter.interface.d.ts +7 -0
- package/app/reports/interfaces/report-chat-viewer-detail.interface.d.ts +4 -0
- package/app/reports/interfaces/report-chat-viewer-drill-step.interface.d.ts +5 -0
- package/app/reports/interfaces/report-chat-viewer-drill.interface.d.ts +5 -0
- package/app/reports/interfaces/report-chat-viewer-filter.interface.d.ts +3 -0
- package/app/reports/interfaces/report-chat-viewer-selection.interface.d.ts +5 -0
- package/app/reports/interfaces/report-chat-viewer-state.interface.d.ts +12 -0
- package/app/reports/interfaces/report-drill-crumb.interface.d.ts +6 -0
- package/app/reports/interfaces/report-drill-refusal.type.d.ts +1 -0
- package/app/reports/interfaces/report-drill-step.interface.d.ts +5 -0
- package/app/reports/interfaces/report-export-line-kind.type.d.ts +1 -0
- package/app/reports/interfaces/report-export-line.interface.d.ts +8 -0
- package/app/reports/interfaces/report-export-lines-input.interface.d.ts +9 -0
- package/app/reports/interfaces/report-export-snapshot.interface.d.ts +15 -0
- package/app/reports/interfaces/report-filter-line-context.interface.d.ts +8 -0
- package/app/reports/interfaces/report-filter-line-form.type.d.ts +1 -0
- package/app/reports/interfaces/report-filter-match.type.d.ts +1 -0
- package/app/reports/interfaces/report-filter-option-pair.interface.d.ts +4 -0
- package/app/reports/interfaces/report-filter-options-ask.interface.d.ts +6 -0
- package/app/reports/interfaces/report-filter-options-list.interface.d.ts +7 -0
- package/app/reports/interfaces/report-filter-options-request.interface.d.ts +6 -0
- package/app/reports/interfaces/report-filter-options-stream.interface.d.ts +11 -0
- package/app/reports/interfaces/report-filter-options.interface.d.ts +7 -0
- package/app/reports/interfaces/report-filter-skip.type.d.ts +1 -0
- package/app/reports/interfaces/report-mark-action.type.d.ts +1 -0
- package/app/reports/interfaces/report-mark-click.interface.d.ts +13 -0
- package/app/reports/interfaces/report-mark-context.interface.d.ts +6 -0
- package/app/reports/interfaces/report-mark-decision.interface.d.ts +6 -0
- package/app/reports/interfaces/report-mark-event.interface.d.ts +11 -0
- package/app/reports/interfaces/report-mark-point.interface.d.ts +8 -0
- package/app/reports/interfaces/report-temporary-state.interface.d.ts +4 -0
- package/app/reports/interfaces/report-tile-state.interface.d.ts +8 -0
- package/app/reports/interfaces/report-url-link.interface.d.ts +4 -0
- package/app/reports/interfaces/report-url-value-name.type.d.ts +1 -0
- package/app/reports/interfaces/report-url-write.interface.d.ts +4 -0
- package/app/reports/interfaces/report-view-config.interface.d.ts +11 -0
- package/app/reports/interfaces/report-view-create.interface.d.ts +7 -0
- package/app/reports/interfaces/report-view-deleted.interface.d.ts +4 -0
- package/app/reports/interfaces/report-view-dialog-data.interface.d.ts +7 -0
- package/app/reports/interfaces/report-view-dropped.interface.d.ts +5 -0
- package/app/reports/interfaces/report-view-menu-item.interface.d.ts +10 -0
- package/app/reports/interfaces/report-view-summary.interface.d.ts +11 -0
- package/app/reports/interfaces/report-view.interface.d.ts +7 -0
- package/app/reports/interfaces/report-viewer-feature.type.d.ts +1 -0
- package/app/reports/interfaces/report-views.interface.d.ts +7 -0
- package/app/reports/interfaces/report.interface.d.ts +27 -3
- package/app/reports/interfaces/tile-load-result.interface.d.ts +4 -0
- package/app/reports/mark-click.d.ts +20 -0
- package/app/reports/option-builder.d.ts +12 -1
- package/app/reports/report-chat-viewer-state.d.ts +8 -0
- package/app/reports/report-date-presets.d.ts +2 -0
- package/app/reports/report-filter-items.d.ts +27 -22
- package/app/reports/report-tile.d.ts +2 -0
- package/app/reports/report-url-state.d.ts +27 -10
- package/app/reports/report-view-config.d.ts +36 -0
- package/app/reports/report-view-menu.d.ts +15 -0
- package/app/reports/report-viewer-features.d.ts +5 -0
- package/app/reports/services/report-filter-options.service.d.ts +26 -0
- package/app/reports/services/report-filter-state.service.d.ts +64 -1
- package/app/reports/services/report-view.service.d.ts +51 -0
- package/app/reports/tile-data-state.d.ts +7 -0
- package/app/reports/tile-loads.d.ts +4 -0
- package/app/reports/views/report/fs-ai-report.component.d.ts +9 -1
- package/app/reports/views/report/report.component.d.ts +6 -0
- package/esm2022/app/reports/anchor-at-point.mjs +49 -0
- package/esm2022/app/reports/canvas-landing-page.mjs +25 -0
- package/esm2022/app/reports/components/component-chart/component-chart.component.mjs +97 -5
- package/esm2022/app/reports/components/component-kpi/component-kpi.component.mjs +11 -4
- package/esm2022/app/reports/components/component-list/component-list.component.mjs +7 -1
- package/esm2022/app/reports/components/report-canvas/report-canvas.component.mjs +47 -32
- package/esm2022/app/reports/components/report-component/report-component.component.mjs +257 -61
- package/esm2022/app/reports/components/report-view-picker/report-view-picker.component.mjs +115 -0
- package/esm2022/app/reports/data/report.data.mjs +87 -10
- package/esm2022/app/reports/dialogs/component-settings/component-settings.component.mjs +106 -51
- package/esm2022/app/reports/dialogs/report-settings/report-settings.component.mjs +86 -90
- package/esm2022/app/reports/dialogs/report-view/report-view-dialog.component.mjs +52 -0
- package/esm2022/app/reports/drill-crumbs.mjs +73 -0
- package/esm2022/app/reports/export/report-export-collector.service.mjs +187 -117
- package/esm2022/app/reports/export/report-filter-lines.mjs +235 -0
- package/esm2022/app/reports/export/report-pdf.service.mjs +12 -7
- package/esm2022/app/reports/export/report-pptx.service.mjs +18 -14
- package/esm2022/app/reports/filter-settings-rules.mjs +283 -0
- package/esm2022/app/reports/format.mjs +2 -22
- package/esm2022/app/reports/interfaces/canvas-landing-input.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/component-data-applied.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/component-data-drill.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/filter-bar-placement.type.mjs +2 -0
- package/esm2022/app/reports/interfaces/filter-component-toggle-state.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/filter-settings-option.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/filter-type-select-state.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-chart-hit.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-chat-viewer-cross-filter-field.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-chat-viewer-cross-filter.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-chat-viewer-detail.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-chat-viewer-drill-step.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-chat-viewer-drill.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-chat-viewer-filter.interface.mjs +1 -1
- package/esm2022/app/reports/interfaces/report-chat-viewer-selection.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-chat-viewer-state.interface.mjs +1 -1
- package/esm2022/app/reports/interfaces/report-drill-crumb.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-drill-refusal.type.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-drill-step.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-export-line-kind.type.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-export-line.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-export-lines-input.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-export-snapshot.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-line-context.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-line-form.type.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-match.type.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-option-pair.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-options-ask.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-options-list.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-options-request.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-options-stream.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-options.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-filter-skip.type.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-mark-action.type.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-mark-click.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-mark-context.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-mark-decision.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-mark-event.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-mark-point.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-temporary-state.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-tile-state.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-url-link.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-url-value-name.type.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-url-write.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-view-config.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-view-create.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-view-deleted.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-view-dialog-data.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-view-dropped.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-view-menu-item.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-view-summary.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-view.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-viewer-feature.type.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-views.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report.interface.mjs +1 -1
- package/esm2022/app/reports/interfaces/tile-load-result.interface.mjs +2 -0
- package/esm2022/app/reports/mark-click.mjs +193 -0
- package/esm2022/app/reports/option-builder.mjs +159 -15
- package/esm2022/app/reports/report-chat-viewer-state.mjs +34 -0
- package/esm2022/app/reports/report-date-presets.mjs +18 -0
- package/esm2022/app/reports/report-filter-items.mjs +343 -72
- package/esm2022/app/reports/report-tile.mjs +12 -0
- package/esm2022/app/reports/report-url-state.mjs +596 -108
- package/esm2022/app/reports/report-view-config.mjs +697 -0
- package/esm2022/app/reports/report-view-menu.mjs +119 -0
- package/esm2022/app/reports/report-viewer-features.mjs +42 -0
- package/esm2022/app/reports/services/report-filter-options.service.mjs +238 -0
- package/esm2022/app/reports/services/report-filter-state.service.mjs +697 -62
- package/esm2022/app/reports/services/report-view.service.mjs +358 -0
- package/esm2022/app/reports/tile-data-state.mjs +127 -0
- package/esm2022/app/reports/tile-loads.mjs +38 -0
- package/esm2022/app/reports/views/report/fs-ai-report.component.mjs +177 -46
- package/esm2022/app/reports/views/report/report.component.mjs +103 -23
- package/esm2022/public_api.mjs +23 -1
- package/fesm2022/{firestitch-report-echarts-DBMOHmBF.mjs → firestitch-report-echarts-UBg8Wlhd.mjs} +2 -2
- package/fesm2022/{firestitch-report-echarts-DBMOHmBF.mjs.map → firestitch-report-echarts-UBg8Wlhd.mjs.map} +1 -1
- package/fesm2022/{firestitch-report-firestitch-report-CqbXT1gh.mjs → firestitch-report-firestitch-report-B1keNrcK.mjs} +9063 -4272
- package/fesm2022/firestitch-report-firestitch-report-B1keNrcK.mjs.map +1 -0
- package/fesm2022/firestitch-report.mjs +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +22 -0
- package/fesm2022/firestitch-report-firestitch-report-CqbXT1gh.mjs.map +0 -1
|
@@ -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 @@
|
|
|
1
|
+
export type ReportDrillRefusal = 'notDrillable' | 'topChanged' | 'notChild' | 'badValue' | 'outsideParent' | 'tooDeep';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ReportExportLineKind = 'group' | 'groupBy' | 'cross' | 'drill';
|
|
@@ -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,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,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 @@
|
|
|
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 @@
|
|
|
1
|
+
export type ReportUrlValueName = (groupId: number, value: unknown) => string | null;
|
|
@@ -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,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,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';
|
|
@@ -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;
|
|
@@ -270,6 +276,10 @@ export interface ReportFilterGroup {
|
|
|
270
276
|
default?: FilterGroupDefault;
|
|
271
277
|
} & Record<string, unknown>;
|
|
272
278
|
filters: ReportFilter[];
|
|
279
|
+
pageId?: number | null;
|
|
280
|
+
componentIds?: number[];
|
|
281
|
+
multiColumn?: boolean;
|
|
282
|
+
blankLabel?: string | null;
|
|
273
283
|
}
|
|
274
284
|
export interface FilterGroupDefault {
|
|
275
285
|
relative?: string;
|
|
@@ -277,6 +287,9 @@ export interface FilterGroupDefault {
|
|
|
277
287
|
end?: string;
|
|
278
288
|
values?: unknown[];
|
|
279
289
|
value?: string;
|
|
290
|
+
excludeValues?: unknown[];
|
|
291
|
+
min?: number;
|
|
292
|
+
max?: number;
|
|
280
293
|
}
|
|
281
294
|
export interface FilterGroupValue {
|
|
282
295
|
start?: Date | string | null;
|
|
@@ -284,10 +297,13 @@ export interface FilterGroupValue {
|
|
|
284
297
|
values?: unknown[];
|
|
285
298
|
value?: string;
|
|
286
299
|
preset?: string;
|
|
300
|
+
excludeValues?: unknown[];
|
|
301
|
+
min?: number | null;
|
|
302
|
+
max?: number | null;
|
|
287
303
|
}
|
|
288
304
|
export type ReportRelativeRange = 'thisWeek' | 'lastWeek' | 'last7Days' | 'last30Days' | 'last3Months' | 'last6Months' | 'last12Months' | 'thisMonth' | 'thisQuarter' | 'thisYear' | 'yearToDate';
|
|
289
305
|
export interface ReportUrlParams {
|
|
290
|
-
groups: Map<number,
|
|
306
|
+
groups: Map<number, FilterGroupDefault | null>;
|
|
291
307
|
listSorts: Map<number, string>;
|
|
292
308
|
listSearches: Map<number, string>;
|
|
293
309
|
listHidden: Map<number, string>;
|
|
@@ -307,6 +323,9 @@ export interface ResolvedFilterValue {
|
|
|
307
323
|
values?: unknown[];
|
|
308
324
|
value?: string;
|
|
309
325
|
preset?: ReportRelativeRange;
|
|
326
|
+
excludeValues?: unknown[];
|
|
327
|
+
min?: number;
|
|
328
|
+
max?: number;
|
|
310
329
|
}
|
|
311
330
|
export interface ComponentDataState {
|
|
312
331
|
sort?: ReportSort;
|
|
@@ -315,6 +334,9 @@ export interface ComponentDataState {
|
|
|
315
334
|
frequency?: ChartGranularity;
|
|
316
335
|
search?: string;
|
|
317
336
|
hiddenColumns?: string[];
|
|
337
|
+
drill?: ReportDrillStep[];
|
|
338
|
+
matchAnyGroupIds?: number[];
|
|
339
|
+
unchangedIfUnreached?: true;
|
|
318
340
|
}
|
|
319
341
|
export interface ComponentData {
|
|
320
342
|
columns: string[];
|
|
@@ -336,6 +358,8 @@ export interface ComponentData {
|
|
|
336
358
|
windows?: Record<string, WindowMeta>;
|
|
337
359
|
kpi?: ComponentKpi | null;
|
|
338
360
|
partialPeriod?: string | null;
|
|
361
|
+
applied?: ComponentDataApplied;
|
|
362
|
+
drill?: ComponentDataDrill;
|
|
339
363
|
}
|
|
340
364
|
export type TimeframeSource = 'filter' | 'range' | 'fixed' | 'none';
|
|
341
365
|
export interface ComponentTimeframe {
|
|
@@ -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[];
|
|
@@ -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
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
export declare function matchOptions(options$: Observable<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
export declare
|
|
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;
|