@firestitch/report 18.10.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.
- package/app/reports/data/report.data.d.ts +3 -5
- package/app/reports/dialogs/report-settings/report-settings.component.d.ts +30 -2
- package/app/reports/filter-settings-rules.d.ts +4 -0
- package/app/reports/interfaces/report-filter-group-changes.interface.d.ts +7 -0
- package/app/reports/interfaces/report.interface.d.ts +1 -14
- package/app/reports/report-filter-items.d.ts +2 -8
- package/app/reports/report-view-config.d.ts +1 -3
- package/app/reports/services/report-filter-state.service.d.ts +5 -14
- package/app/reports/services/report-view.service.d.ts +1 -13
- package/app/reports/views/report/fs-ai-report.component.d.ts +2 -8
- package/esm2022/app/reports/canvas-landing-page.mjs +7 -6
- package/esm2022/app/reports/components/component-list/component-list.component.mjs +5 -5
- package/esm2022/app/reports/components/report-canvas/report-canvas.component.mjs +13 -12
- package/esm2022/app/reports/components/report-component/report-component.component.mjs +9 -9
- package/esm2022/app/reports/data/report.data.mjs +8 -5
- package/esm2022/app/reports/dialogs/report-settings/report-settings.component.mjs +169 -21
- package/esm2022/app/reports/filter-settings-rules.mjs +8 -1
- package/esm2022/app/reports/interfaces/canvas-landing-input.interface.mjs +1 -1
- package/esm2022/app/reports/interfaces/report-filter-group-changes.interface.mjs +2 -0
- package/esm2022/app/reports/interfaces/report-temporary-state.interface.mjs +1 -1
- package/esm2022/app/reports/interfaces/report-view-config.interface.mjs +1 -1
- package/esm2022/app/reports/interfaces/report.interface.mjs +1 -1
- package/esm2022/app/reports/report-date-presets.mjs +2 -2
- package/esm2022/app/reports/report-filter-items.mjs +25 -105
- package/esm2022/app/reports/report-view-config.mjs +6 -116
- package/esm2022/app/reports/services/report-filter-state.service.mjs +92 -269
- package/esm2022/app/reports/services/report-view.service.mjs +25 -165
- package/esm2022/app/reports/views/report/fs-ai-report.component.mjs +56 -120
- package/esm2022/app/reports/views/report/report.component.mjs +11 -8
- package/fesm2022/{firestitch-report-echarts-UBg8Wlhd.mjs → firestitch-report-echarts-DHEH_K_q.mjs} +2 -2
- package/fesm2022/{firestitch-report-echarts-UBg8Wlhd.mjs.map → firestitch-report-echarts-DHEH_K_q.mjs.map} +1 -1
- package/fesm2022/{firestitch-report-firestitch-report-B1keNrcK.mjs → firestitch-report-firestitch-report-ZcHTnNKq.mjs} +454 -1470
- package/fesm2022/firestitch-report-firestitch-report-ZcHTnNKq.mjs.map +1 -0
- package/fesm2022/firestitch-report.mjs +1 -1
- package/package.json +1 -1
- package/app/reports/interfaces/report-url-link.interface.d.ts +0 -4
- package/app/reports/interfaces/report-url-value-name.type.d.ts +0 -1
- package/app/reports/interfaces/report-url-write.interface.d.ts +0 -4
- package/app/reports/report-url-state.d.ts +0 -36
- package/esm2022/app/reports/interfaces/report-url-link.interface.mjs +0 -2
- package/esm2022/app/reports/interfaces/report-url-value-name.type.mjs +0 -2
- package/esm2022/app/reports/interfaces/report-url-write.interface.mjs +0 -2
- package/esm2022/app/reports/report-url-state.mjs +0 -677
- package/fesm2022/firestitch-report-firestitch-report-B1keNrcK.mjs.map +0 -1
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { RequestConfig } from '@firestitch/api';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { ReportExportLine } from '../interfaces/report-export-line.interface';
|
|
4
|
+
import { ReportFilterGroupChanges } from '../interfaces/report-filter-group-changes.interface';
|
|
4
5
|
import { ReportFilterOptionsRequest } from '../interfaces/report-filter-options-request.interface';
|
|
5
6
|
import { ReportFilterOptions } from '../interfaces/report-filter-options.interface';
|
|
6
7
|
import { ReportViewCreate } from '../interfaces/report-view-create.interface';
|
|
7
8
|
import { ReportViewDeleted } from '../interfaces/report-view-deleted.interface';
|
|
8
9
|
import { ReportView } from '../interfaces/report-view.interface';
|
|
9
10
|
import { ReportViews } from '../interfaces/report-views.interface';
|
|
10
|
-
import { ChartGranularity, ComponentDataState, ComponentExportResponse,
|
|
11
|
+
import { ChartGranularity, ComponentDataState, ComponentExportResponse, ReportComponentSql, ReportLocales, ReportPageValue, ReportTree, ResolvedFilterValue } from '../interfaces/report.interface';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export declare class ReportData<T = any> {
|
|
13
14
|
private _api;
|
|
@@ -87,10 +88,7 @@ export declare class ReportData<T = any> {
|
|
|
87
88
|
saveSettings(settings: {
|
|
88
89
|
semanticBuildConcurrency: number;
|
|
89
90
|
}, config?: RequestConfig): Observable<T>;
|
|
90
|
-
updateFilterGroup(reportId: number, groupId: number, changes:
|
|
91
|
-
level?: ReportFilterLevel;
|
|
92
|
-
default?: FilterGroupDefault | null;
|
|
93
|
-
}, config?: RequestConfig): Observable<T>;
|
|
91
|
+
updateFilterGroup(reportId: number, groupId: number, changes: ReportFilterGroupChanges, config?: RequestConfig): Observable<T>;
|
|
94
92
|
filterOptionsNarrowed(reportId: number, filterId: number, body: ReportFilterOptionsRequest, config?: RequestConfig): Observable<ReportFilterOptions>;
|
|
95
93
|
views(reportId: number, config?: RequestConfig): Observable<ReportViews>;
|
|
96
94
|
view(reportId: number, reportViewId: number, config?: RequestConfig): Observable<ReportView>;
|
|
@@ -7,9 +7,18 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
export interface ReportSettingsResult {
|
|
8
8
|
action: 'saved' | 'deleted';
|
|
9
9
|
}
|
|
10
|
+
interface FilterFieldRefusal {
|
|
11
|
+
value: string;
|
|
12
|
+
message: string;
|
|
13
|
+
}
|
|
10
14
|
interface FilterDefaultRow {
|
|
11
15
|
group: ReportFilterGroup;
|
|
16
|
+
heading: string;
|
|
12
17
|
label: string;
|
|
18
|
+
name: string;
|
|
19
|
+
showName: boolean;
|
|
20
|
+
labelRefusal: FilterFieldRefusal | null;
|
|
21
|
+
nameRefusal: FilterFieldRefusal | null;
|
|
13
22
|
period: string;
|
|
14
23
|
periodOptions: FilterSettingsOption[];
|
|
15
24
|
start: Date | null;
|
|
@@ -33,7 +42,8 @@ interface LocaleSelectOption {
|
|
|
33
42
|
label: string;
|
|
34
43
|
}
|
|
35
44
|
export declare class ReportSettingsComponent implements OnInit {
|
|
36
|
-
selectedTab: string
|
|
45
|
+
readonly selectedTab: import("@angular/core").WritableSignal<string>;
|
|
46
|
+
readonly wrote: import("@angular/core").WritableSignal<boolean>;
|
|
37
47
|
name: string;
|
|
38
48
|
pageWidth: number | string;
|
|
39
49
|
pageHeight: number | string;
|
|
@@ -54,14 +64,24 @@ export declare class ReportSettingsComponent implements OnInit {
|
|
|
54
64
|
readonly filterRows: import("@angular/core").WritableSignal<FilterDefaultRow[]>;
|
|
55
65
|
readonly fixedDatesPeriod = "fixed";
|
|
56
66
|
readonly boundScale = 6;
|
|
67
|
+
readonly namePattern: RegExp;
|
|
68
|
+
readonly namePatternMessage = "A name starts with a letter and holds only letters and digits.";
|
|
69
|
+
readonly nameMaxLength = 50;
|
|
70
|
+
readonly labelMaxLength = 200;
|
|
71
|
+
readonly labelInputId: typeof labelInputId;
|
|
72
|
+
readonly nameInputId: typeof nameInputId;
|
|
57
73
|
readonly minBoundValidator: (control: AbstractControl, max: unknown) => void;
|
|
58
74
|
readonly maxBoundValidator: (control: AbstractControl, min: unknown) => void;
|
|
75
|
+
readonly refusalValidator: (control: AbstractControl, refusal: FilterFieldRefusal | null) => void;
|
|
59
76
|
private readonly _data;
|
|
60
77
|
private readonly _dialogRef;
|
|
61
78
|
private readonly _reportData;
|
|
62
79
|
private readonly _message;
|
|
63
80
|
private readonly _prompt;
|
|
64
81
|
private readonly _destroyRef;
|
|
82
|
+
private readonly _injector;
|
|
83
|
+
private readonly _document;
|
|
84
|
+
private _refusedInputId;
|
|
65
85
|
private readonly _serverHasLocale;
|
|
66
86
|
private readonly _localesSettled;
|
|
67
87
|
private readonly _filtersReady;
|
|
@@ -70,11 +90,17 @@ export declare class ReportSettingsComponent implements OnInit {
|
|
|
70
90
|
private readonly _appliedCurrency;
|
|
71
91
|
ngOnInit(): void;
|
|
72
92
|
patchRow(row: FilterDefaultRow, patch: Partial<FilterDefaultRow>): void;
|
|
93
|
+
focusRefusal(): void;
|
|
73
94
|
delete(): void;
|
|
74
|
-
save: () => Observable<
|
|
95
|
+
save: () => Observable<any[]>;
|
|
75
96
|
private _pageDimension;
|
|
76
97
|
private _timezoneSetting;
|
|
77
98
|
private _storedOption;
|
|
99
|
+
private _groupChanges;
|
|
100
|
+
private _namesOrLabels;
|
|
101
|
+
private _renameOrder;
|
|
102
|
+
private _saveNamed;
|
|
103
|
+
private _showRefusal;
|
|
78
104
|
private _throwBoundsError;
|
|
79
105
|
private _buildFilterRows;
|
|
80
106
|
private _filterRow;
|
|
@@ -83,4 +109,6 @@ export declare class ReportSettingsComponent implements OnInit {
|
|
|
83
109
|
static ɵfac: i0.ɵɵFactoryDeclaration<ReportSettingsComponent, never>;
|
|
84
110
|
static ɵcmp: i0.ɵɵComponentDeclaration<ReportSettingsComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
85
111
|
}
|
|
112
|
+
declare function labelInputId(groupId: number): string;
|
|
113
|
+
declare function nameInputId(groupId: number): string;
|
|
86
114
|
export {};
|
|
@@ -10,6 +10,10 @@ export declare const PAGE_FILTER_TOOLTIP = "A page filter shows in the page bar
|
|
|
10
10
|
export declare const COMPONENT_TOGGLE_TOOLTIP = "Show on this component";
|
|
11
11
|
export declare const FIXED_DATES_PERIOD = "fixed";
|
|
12
12
|
export declare const DEFAULT_BOUND_SCALE = 6;
|
|
13
|
+
export declare const FILTER_NAME_PATTERN: RegExp;
|
|
14
|
+
export declare const FILTER_NAME_PATTERN_MESSAGE = "A name starts with a letter and holds only letters and digits.";
|
|
15
|
+
export declare const FILTER_NAME_MAX_LENGTH = 50;
|
|
16
|
+
export declare const FILTER_LABEL_MAX_LENGTH = 200;
|
|
13
17
|
export declare function parseDefaultBound(raw: unknown): number | null;
|
|
14
18
|
export declare function boundsError(min: number | null, max: number | null): string | null;
|
|
15
19
|
export declare function typeSelectState(types: ReportFilterType[] | null | undefined, hasFilterOnThisComponent: boolean, features: ReportViewerFeature[] | null | undefined): FilterTypeSelectState;
|
|
@@ -268,6 +268,7 @@ export interface ReportFilterOption {
|
|
|
268
268
|
}
|
|
269
269
|
export interface ReportFilterGroup {
|
|
270
270
|
id: number;
|
|
271
|
+
name?: string;
|
|
271
272
|
label: string | null;
|
|
272
273
|
type: ReportFilterType;
|
|
273
274
|
level: ReportFilterLevel;
|
|
@@ -302,20 +303,6 @@ export interface FilterGroupValue {
|
|
|
302
303
|
max?: number | null;
|
|
303
304
|
}
|
|
304
305
|
export type ReportRelativeRange = 'thisWeek' | 'lastWeek' | 'last7Days' | 'last30Days' | 'last3Months' | 'last6Months' | 'last12Months' | 'thisMonth' | 'thisQuarter' | 'thisYear' | 'yearToDate';
|
|
305
|
-
export interface ReportUrlParams {
|
|
306
|
-
groups: Map<number, FilterGroupDefault | null>;
|
|
307
|
-
listSorts: Map<number, string>;
|
|
308
|
-
listSearches: Map<number, string>;
|
|
309
|
-
listHidden: Map<number, string>;
|
|
310
|
-
groupBy: string | null;
|
|
311
|
-
}
|
|
312
|
-
export interface ReportUrlSnapshot {
|
|
313
|
-
groups: Map<number, FilterGroupValue | null>;
|
|
314
|
-
listSorts: Map<number, ReportSort>;
|
|
315
|
-
listSearches: Map<number, string>;
|
|
316
|
-
listHidden: Map<number, string[]>;
|
|
317
|
-
frequency: ChartGranularity | null;
|
|
318
|
-
}
|
|
319
306
|
export interface ResolvedFilterValue {
|
|
320
307
|
filterId: number;
|
|
321
308
|
start?: string;
|
|
@@ -12,15 +12,9 @@ export declare function dateFromBound(value: string | null | undefined): Date |
|
|
|
12
12
|
export declare function dateToBound(value: Date | null | undefined): string | null;
|
|
13
13
|
export declare function relativeLabel(relative: string): string;
|
|
14
14
|
export declare const GROUP_BY_ITEM = "groupBy";
|
|
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
15
|
export type ItemRangeEnd = 'min' | 'max' | 'from' | 'to';
|
|
20
16
|
export declare function itemRangeName(name: string, end: ItemRangeEnd): string;
|
|
21
|
-
export declare function
|
|
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;
|
|
17
|
+
export declare function groupItemName(group: Pick<ReportFilterGroup, 'id'>): string;
|
|
24
18
|
export declare function loadGroupOptions(group: ReportFilterGroup, reportData: ReportData, reportId: number): Observable<ReportFilterOptionPair[]>;
|
|
25
19
|
export declare function resolveOptionValues(options$: Observable<ReportFilterOptionPair[]>, values: unknown[], label?: (value: unknown) => string | null): Observable<ReportFilterOptionPair[]>;
|
|
26
20
|
export declare function matchOptions(options$: Observable<ReportFilterOptionPair[]>, keyword?: string): Observable<ReportFilterOptionPair[]>;
|
|
@@ -40,7 +34,7 @@ export declare function hasTimeSeriesChart(report: Report | null): boolean;
|
|
|
40
34
|
export declare function isGranularityOffered(report: Report, granularity: ChartGranularity | null): boolean;
|
|
41
35
|
export declare function groupByFilterItem(report: Report, initial?: ChartGranularity | null): IFilterConfigItem | null;
|
|
42
36
|
export declare function groupBySignature(report: Report | null): string;
|
|
43
|
-
export declare function groupValuesFromQuery(query: Record<string, any>, groups: ReportFilterGroup[]
|
|
37
|
+
export declare function groupValuesFromQuery(query: Record<string, any>, groups: ReportFilterGroup[]): {
|
|
44
38
|
groupId: number;
|
|
45
39
|
value: FilterGroupValue | null;
|
|
46
40
|
}[];
|
|
@@ -3,7 +3,7 @@ import { ReportDrillStep } from './interfaces/report-drill-step.interface';
|
|
|
3
3
|
import { ReportViewConfig } from './interfaces/report-view-config.interface';
|
|
4
4
|
import { ReportViewSummary } from './interfaces/report-view-summary.interface';
|
|
5
5
|
import { ReportView } from './interfaces/report-view.interface';
|
|
6
|
-
import { ChartGranularity, FilterGroupDefault, FilterGroupValue, ReportFilterType, ReportRelativeRange
|
|
6
|
+
import { ChartGranularity, FilterGroupDefault, FilterGroupValue, ReportFilterType, ReportRelativeRange } from './interfaces/report.interface';
|
|
7
7
|
export declare const REPORT_VIEW_CONFIG_VERSION = 1;
|
|
8
8
|
export declare const VIEW_CONFIG_MAX_BYTES: number;
|
|
9
9
|
export declare const VIEW_CONFIG_MAX_GROUPS = 100;
|
|
@@ -27,10 +27,8 @@ export declare function viewDiffers(base: ReportViewConfig, current: ReportViewC
|
|
|
27
27
|
export declare function sameStoredGroupValue(a: FilterGroupDefault | null | undefined, b: FilterGroupDefault | null | undefined): boolean;
|
|
28
28
|
export declare function cleanDrillPath(path: readonly unknown[] | null | undefined): ReportDrillStep[];
|
|
29
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
30
|
export declare function withStoredKeys(stored: ReportViewConfig | null | undefined, screen: ReportViewConfig): ReportViewConfig;
|
|
32
31
|
export declare function viewDroppedCount(view: Pick<ReportView, 'config' | 'dropped'>, applied: ReportViewConfig): number;
|
|
33
32
|
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
33
|
export declare function chatViewFields(openView: Pick<ReportViewSummary, 'id'> | null, viewChanged: boolean): Pick<ReportChatViewerState, 'viewId' | 'viewChanged'>;
|
|
36
34
|
export declare function finiteNumber(value: unknown): number | undefined;
|
|
@@ -3,7 +3,7 @@ import { ReportChatViewerFilter } from '../interfaces/report-chat-viewer-filter.
|
|
|
3
3
|
import { ReportDrillStep } from '../interfaces/report-drill-step.interface';
|
|
4
4
|
import { ReportFilterMatch } from '../interfaces/report-filter-match.type';
|
|
5
5
|
import { ReportViewConfig } from '../interfaces/report-view-config.interface';
|
|
6
|
-
import { ChartGranularity, FilterGroupDefault, FilterGroupValue, Report, ReportComponent, ReportFilterGroup, ReportFormatContext, ReportRelativeRange, ReportSort,
|
|
6
|
+
import { ChartGranularity, FilterGroupDefault, FilterGroupValue, Report, ReportComponent, ReportFilterGroup, ReportFormatContext, ReportRelativeRange, ReportSort, ResolvedFilterValue } from '../interfaces/report.interface';
|
|
7
7
|
import { ComponentDataState } from '../interfaces/report.interface';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export declare function sameDefault(a: FilterGroupDefault | null, b: FilterGroupDefault | null): boolean;
|
|
@@ -42,7 +42,7 @@ export declare class ReportFilterStateService {
|
|
|
42
42
|
private _serverSearches;
|
|
43
43
|
private _listSearchChanged$;
|
|
44
44
|
private _changed$;
|
|
45
|
-
private
|
|
45
|
+
private _stateChanged$;
|
|
46
46
|
private _revision;
|
|
47
47
|
private _stateVersion;
|
|
48
48
|
private _appliedVersion;
|
|
@@ -54,7 +54,7 @@ export declare class ReportFilterStateService {
|
|
|
54
54
|
private _drillChanged$;
|
|
55
55
|
private _baseConfig;
|
|
56
56
|
private _temporary;
|
|
57
|
-
init(report: Report
|
|
57
|
+
init(report: Report): void;
|
|
58
58
|
value(groupId: number): FilterGroupValue | undefined;
|
|
59
59
|
setValue(groupId: number, value: FilterGroupValue | null): void;
|
|
60
60
|
resolveRelative(name: string): {
|
|
@@ -72,8 +72,7 @@ export declare class ReportFilterStateService {
|
|
|
72
72
|
hiddenColumns(componentId: number): readonly string[];
|
|
73
73
|
setHiddenColumns(componentId: number, names: readonly string[]): void;
|
|
74
74
|
listSearchChanges(componentId: number): Observable<void>;
|
|
75
|
-
|
|
76
|
-
urlSnapshot(report: Report): ReportUrlSnapshot;
|
|
75
|
+
changes(): Observable<void>;
|
|
77
76
|
isFilterDisabled(filterId: number): boolean;
|
|
78
77
|
toggleFilter(filterId: number, groupId: number): void;
|
|
79
78
|
changesFor(component: ReportComponent): Observable<number | null>;
|
|
@@ -89,27 +88,20 @@ export declare class ReportFilterStateService {
|
|
|
89
88
|
adoptDrill(componentId: number, path: readonly ReportDrillStep[]): boolean;
|
|
90
89
|
snapshot(): ReportViewConfig;
|
|
91
90
|
authoredConfig(): ReportViewConfig;
|
|
92
|
-
apply(config: ReportViewConfig | null,
|
|
91
|
+
apply(config: ReportViewConfig | null, pageId?: number | null): void;
|
|
93
92
|
resetToBase(): void;
|
|
94
93
|
setBaseToScreen(): void;
|
|
95
94
|
clearBase(): void;
|
|
96
95
|
resetGroupsToBase(groupIds: readonly number[]): void;
|
|
97
96
|
groupsDifferFromBase(groupIds: readonly number[]): boolean;
|
|
98
|
-
rewriteUrl(): void;
|
|
99
97
|
tileState(component: ReportComponent): ComponentDataState;
|
|
100
98
|
livePreset(groupId: number): ReportRelativeRange | null;
|
|
101
99
|
private _resolvedFields;
|
|
102
100
|
private _livePreset;
|
|
103
101
|
private _seed;
|
|
104
|
-
private _restore;
|
|
105
|
-
private _restoreGroups;
|
|
106
|
-
private _restoreListSorts;
|
|
107
|
-
private _restoreListSearches;
|
|
108
|
-
private _restoreListHidden;
|
|
109
102
|
private _dropUnsearchable;
|
|
110
103
|
private _prune;
|
|
111
104
|
private _withPreset;
|
|
112
|
-
private _isDefault;
|
|
113
105
|
private _listComponents;
|
|
114
106
|
private _sortableColumns;
|
|
115
107
|
private _defaultValue;
|
|
@@ -120,7 +112,6 @@ export declare class ReportFilterStateService {
|
|
|
120
112
|
private _applyLayer;
|
|
121
113
|
private _applyGroups;
|
|
122
114
|
private _applyGroup;
|
|
123
|
-
private _rollingValue;
|
|
124
115
|
private _seedAuthored;
|
|
125
116
|
private _clearTiles;
|
|
126
117
|
private _applyTile;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { ParamMap, Params } from '@angular/router';
|
|
2
1
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { ReportUrlValueName } from '../interfaces/report-url-value-name.type';
|
|
4
2
|
import { ReportViewCreate } from '../interfaces/report-view-create.interface';
|
|
5
3
|
import { ReportViewDeleted } from '../interfaces/report-view-deleted.interface';
|
|
6
4
|
import { ReportViewSummary } from '../interfaces/report-view-summary.interface';
|
|
@@ -20,9 +18,8 @@ export declare class ReportViewService {
|
|
|
20
18
|
private _canShare;
|
|
21
19
|
private _openView;
|
|
22
20
|
private _reportId;
|
|
23
|
-
private _tooLongShown;
|
|
24
21
|
serves(report: Report | null): boolean;
|
|
25
|
-
open(report: Report,
|
|
22
|
+
open(report: Report, pageId: number | null): Observable<void>;
|
|
26
23
|
refresh(report: Report): void;
|
|
27
24
|
pick(reportViewId: number): Observable<ReportView>;
|
|
28
25
|
openDefaults(): void;
|
|
@@ -32,20 +29,11 @@ export declare class ReportViewService {
|
|
|
32
29
|
share(shared: boolean): Observable<ReportView>;
|
|
33
30
|
setDefault(personalDefault: boolean): Observable<ReportView>;
|
|
34
31
|
deleteOpen(): Observable<ReportViewDeleted>;
|
|
35
|
-
urlParams(current: ParamMap, name?: ReportUrlValueName): Params;
|
|
36
32
|
private _start;
|
|
37
|
-
private _openDefault;
|
|
38
|
-
private _openLink;
|
|
39
33
|
private _openOn;
|
|
40
34
|
private _changeOpen;
|
|
41
35
|
private _putRow;
|
|
42
36
|
private _readViews;
|
|
43
|
-
private _readView;
|
|
44
|
-
private _linkWrite;
|
|
45
|
-
private _linkDays;
|
|
46
|
-
private _groupDays;
|
|
47
|
-
private _reportGroups;
|
|
48
|
-
private _authoredSort;
|
|
49
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<ReportViewService, never>;
|
|
50
38
|
static ɵprov: i0.ɵɵInjectableDeclaration<ReportViewService>;
|
|
51
39
|
}
|
|
@@ -6,7 +6,6 @@ export declare class FsAiReportComponent {
|
|
|
6
6
|
readonly reportId: import("@angular/core").InputSignal<number>;
|
|
7
7
|
readonly basePath: import("@angular/core").InputSignal<string>;
|
|
8
8
|
readonly pageQueryParam: import("@angular/core").InputSignal<string>;
|
|
9
|
-
readonly urlState: import("@angular/core").InputSignal<boolean>;
|
|
10
9
|
readonly deleted: import("@angular/core").OutputEmitterRef<number>;
|
|
11
10
|
readonly renamed: import("@angular/core").OutputEmitterRef<Report>;
|
|
12
11
|
readonly pageChanged: import("@angular/core").OutputEmitterRef<number>;
|
|
@@ -24,7 +23,6 @@ export declare class FsAiReportComponent {
|
|
|
24
23
|
private _canvas?;
|
|
25
24
|
private _reportData;
|
|
26
25
|
private _reportAiChatData;
|
|
27
|
-
private _router;
|
|
28
26
|
private _route;
|
|
29
27
|
private _filterState;
|
|
30
28
|
private _filterOptions;
|
|
@@ -35,9 +33,7 @@ export declare class FsAiReportComponent {
|
|
|
35
33
|
private _dialog;
|
|
36
34
|
private _destroyRef;
|
|
37
35
|
private _zone;
|
|
38
|
-
private
|
|
39
|
-
private _pageReported;
|
|
40
|
-
private _pageWrite$;
|
|
36
|
+
private _openedReportId;
|
|
41
37
|
private readonly _barVersion;
|
|
42
38
|
constructor();
|
|
43
39
|
toggleEditMode(): void;
|
|
@@ -56,10 +52,8 @@ export declare class FsAiReportComponent {
|
|
|
56
52
|
private _chatViewerState;
|
|
57
53
|
private _resizeTo;
|
|
58
54
|
private _pageIdFromUrl;
|
|
59
|
-
private _writeUrl;
|
|
60
55
|
private _loadReport;
|
|
61
56
|
private _openReport;
|
|
62
|
-
private _urlParams;
|
|
63
57
|
private _openAppliedPage;
|
|
64
58
|
private _reportGroups;
|
|
65
59
|
private _buildReportConfig;
|
|
@@ -67,5 +61,5 @@ export declare class FsAiReportComponent {
|
|
|
67
61
|
private _groupByItem;
|
|
68
62
|
private _matchItem;
|
|
69
63
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsAiReportComponent, never>;
|
|
70
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsAiReportComponent, "fs-ai-report", never, { "reportId": { "alias": "reportId"; "required": false; "isSignal": true; }; "basePath": { "alias": "basePath"; "required": false; "isSignal": true; }; "pageQueryParam": { "alias": "pageQueryParam"; "required": false; "isSignal": true; };
|
|
64
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsAiReportComponent, "fs-ai-report", never, { "reportId": { "alias": "reportId"; "required": false; "isSignal": true; }; "basePath": { "alias": "basePath"; "required": false; "isSignal": true; }; "pageQueryParam": { "alias": "pageQueryParam"; "required": false; "isSignal": true; }; }, { "deleted": "deleted"; "renamed": "renamed"; "pageChanged": "pageChanged"; }, never, never, true, never>;
|
|
71
65
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// Which page the canvas opens when its report input changes.
|
|
2
2
|
//
|
|
3
3
|
// - The same report with more pages than before: a page was just added in
|
|
4
|
-
// this tab, so the canvas lands on the last page. The
|
|
5
|
-
// beat it: that is
|
|
6
|
-
// - Otherwise the
|
|
7
|
-
//
|
|
4
|
+
// this tab, so the canvas lands on the last page. The asked-for page does
|
|
5
|
+
// not beat it: that is a stale value the host still holds.
|
|
6
|
+
// - Otherwise the asked-for page (a ?page= the report opened with, or the
|
|
7
|
+
// open view's), when the report has it.
|
|
8
|
+
// - Another report that asks for no page it has opens on its first page:
|
|
8
9
|
// the old report's page number means nothing there.
|
|
9
|
-
// - The same report keeps the page it shows when the
|
|
10
|
+
// - The same report keeps the page it shows when the asked-for page does not
|
|
10
11
|
// resolve (it may still be loading); an index past the last page falls
|
|
11
12
|
// back to the first.
|
|
12
13
|
export function canvasLandingPage(input) {
|
|
@@ -22,4 +23,4 @@ export function canvasLandingPage(input) {
|
|
|
22
23
|
const index = sameReport ? input.activePageIndex : 0;
|
|
23
24
|
return index < pageCount ? index : 0;
|
|
24
25
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLWxhbmRpbmctcGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvcmVwb3J0cy9jYW52YXMtbGFuZGluZy1wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLDZEQUE2RDtBQUM3RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLDRFQUE0RTtBQUM1RSw2REFBNkQ7QUFDN0QsMEVBQTBFO0FBQzFFLDBDQUEwQztBQUMxQyx5RUFBeUU7QUFDekUsc0RBQXNEO0FBQ3RELDZFQUE2RTtBQUM3RSx5RUFBeUU7QUFDekUsdUJBQXVCO0FBQ3ZCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUF5QjtJQUN6RCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN2QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztJQUU3RCxJQUFJLFVBQVUsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNyRixPQUFPLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9FLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXJELE9BQU8sS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbnZhc0xhbmRpbmdJbnB1dCB9IGZyb20gJy4vaW50ZXJmYWNlcy9jYW52YXMtbGFuZGluZy1pbnB1dC5pbnRlcmZhY2UnO1xuXG5cbi8vIFdoaWNoIHBhZ2UgdGhlIGNhbnZhcyBvcGVucyB3aGVuIGl0cyByZXBvcnQgaW5wdXQgY2hhbmdlcy5cbi8vXG4vLyAtIFRoZSBzYW1lIHJlcG9ydCB3aXRoIG1vcmUgcGFnZXMgdGhhbiBiZWZvcmU6IGEgcGFnZSB3YXMganVzdCBhZGRlZCBpblxuLy8gICB0aGlzIHRhYiwgc28gdGhlIGNhbnZhcyBsYW5kcyBvbiB0aGUgbGFzdCBwYWdlLiBUaGUgYXNrZWQtZm9yIHBhZ2UgZG9lc1xuLy8gICBub3QgYmVhdCBpdDogdGhhdCBpcyBhIHN0YWxlIHZhbHVlIHRoZSBob3N0IHN0aWxsIGhvbGRzLlxuLy8gLSBPdGhlcndpc2UgdGhlIGFza2VkLWZvciBwYWdlIChhID9wYWdlPSB0aGUgcmVwb3J0IG9wZW5lZCB3aXRoLCBvciB0aGVcbi8vICAgb3BlbiB2aWV3J3MpLCB3aGVuIHRoZSByZXBvcnQgaGFzIGl0LlxuLy8gLSBBbm90aGVyIHJlcG9ydCB0aGF0IGFza3MgZm9yIG5vIHBhZ2UgaXQgaGFzIG9wZW5zIG9uIGl0cyBmaXJzdCBwYWdlOlxuLy8gICB0aGUgb2xkIHJlcG9ydCdzIHBhZ2UgbnVtYmVyIG1lYW5zIG5vdGhpbmcgdGhlcmUuXG4vLyAtIFRoZSBzYW1lIHJlcG9ydCBrZWVwcyB0aGUgcGFnZSBpdCBzaG93cyB3aGVuIHRoZSBhc2tlZC1mb3IgcGFnZSBkb2VzIG5vdFxuLy8gICByZXNvbHZlIChpdCBtYXkgc3RpbGwgYmUgbG9hZGluZyk7IGFuIGluZGV4IHBhc3QgdGhlIGxhc3QgcGFnZSBmYWxsc1xuLy8gICBiYWNrIHRvIHRoZSBmaXJzdC5cbmV4cG9ydCBmdW5jdGlvbiBjYW52YXNMYW5kaW5nUGFnZShpbnB1dDogQ2FudmFzTGFuZGluZ0lucHV0KTogbnVtYmVyIHtcbiAgY29uc3QgcGFnZUNvdW50ID0gaW5wdXQucGFnZUlkcy5sZW5ndGg7XG4gIGNvbnN0IHNhbWVSZXBvcnQgPSBpbnB1dC5yZXBvcnRJZCA9PT0gaW5wdXQucHJldmlvdXNSZXBvcnRJZDtcblxuICBpZiAoc2FtZVJlcG9ydCAmJiBpbnB1dC5wcmV2aW91c1BhZ2VDb3VudCA+IDAgJiYgcGFnZUNvdW50ID4gaW5wdXQucHJldmlvdXNQYWdlQ291bnQpIHtcbiAgICByZXR1cm4gcGFnZUNvdW50IC0gMTtcbiAgfVxuXG4gIGNvbnN0IGxpbmtlZCA9IGlucHV0LnBhZ2VJZCA9PSBudWxsID8gLTEgOiBpbnB1dC5wYWdlSWRzLmluZGV4T2YoaW5wdXQucGFnZUlkKTtcbiAgaWYgKGxpbmtlZCA+IC0xKSB7XG4gICAgcmV0dXJuIGxpbmtlZDtcbiAgfVxuXG4gIGNvbnN0IGluZGV4ID0gc2FtZVJlcG9ydCA/IGlucHV0LmFjdGl2ZVBhZ2VJbmRleCA6IDA7XG5cbiAgcmV0dXJuIGluZGV4IDwgcGFnZUNvdW50ID8gaW5kZXggOiAwO1xufVxuIl19
|