@firestitch/report 18.6.1 → 18.8.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/components/component-chart/component-chart.component.d.ts +6 -7
- package/app/reports/components/component-kpi/component-kpi.component.d.ts +17 -9
- package/app/reports/components/component-kpi/components/sparkline/sparkline.component.d.ts +8 -0
- package/app/reports/components/component-list/component-list.component.d.ts +39 -10
- package/app/reports/components/component-note/component-note.component.d.ts +12 -0
- package/app/reports/components/report-canvas/report-canvas.component.d.ts +0 -10
- package/app/reports/components/report-component/report-component.component.d.ts +5 -12
- package/app/reports/data/report.data.d.ts +2 -3
- package/app/reports/dialogs/component-settings/component-settings.component.d.ts +34 -2
- package/app/reports/dialogs/list-columns/list-columns.component.d.ts +23 -0
- package/app/reports/dialogs/report-settings/report-locale-patch.d.ts +5 -0
- package/app/reports/dialogs/report-settings/report-settings.component.d.ts +20 -2
- package/app/reports/enums/report-change-polarity.enum.d.ts +5 -0
- package/app/reports/enums/report-chart-color.enum.d.ts +12 -0
- package/app/reports/enums/report-chart-data-labels.enum.d.ts +6 -0
- package/app/reports/enums/report-chart-date-label.enum.d.ts +5 -0
- package/app/reports/enums/report-chart-line-style.enum.d.ts +5 -0
- package/app/reports/enums/report-chart-mark-stat.enum.d.ts +6 -0
- package/app/reports/enums/report-kpi-trend.enum.d.ts +5 -0
- package/app/reports/enums/report-list-column-format.enum.d.ts +6 -0
- package/app/reports/enums/report-number-units.enum.d.ts +6 -0
- package/app/reports/enums/report-value-format.enum.d.ts +5 -0
- package/app/reports/export/offscreen-chart.d.ts +2 -2
- package/app/reports/export/report-export-collector.service.d.ts +37 -8
- package/app/reports/export/report-pdf.service.d.ts +6 -0
- package/app/reports/export/report-pptx.service.d.ts +24 -0
- package/app/reports/format.d.ts +64 -3
- package/app/reports/interfaces/report-chat-viewer-filter.interface.d.ts +2 -0
- package/app/reports/interfaces/report.interface.d.ts +205 -14
- package/app/reports/kpi-card.d.ts +48 -0
- package/app/reports/layout.d.ts +0 -9
- package/app/reports/list-config.d.ts +16 -0
- package/app/reports/option-builder.d.ts +76 -9
- package/app/reports/output-notes.d.ts +14 -0
- package/app/reports/pipes/report-date.pipe.d.ts +2 -1
- package/app/reports/pipes/report-number.pipe.d.ts +8 -0
- package/app/reports/pipes/report-output.pipe.d.ts +10 -0
- package/app/reports/report-filter-items.d.ts +5 -2
- package/app/reports/report-url-state.d.ts +4 -0
- package/app/reports/services/report-filter-state.service.d.ts +27 -2
- package/app/reports/theme/palette.d.ts +6 -0
- package/app/reports/theme/typography.d.ts +2 -0
- package/esm2022/app/reports/components/component-chart/component-chart.component.mjs +23 -20
- package/esm2022/app/reports/components/component-kpi/component-kpi.component.mjs +56 -29
- package/esm2022/app/reports/components/component-kpi/components/sparkline/sparkline.component.mjs +19 -0
- package/esm2022/app/reports/components/component-list/component-list.component.mjs +218 -32
- package/esm2022/app/reports/components/component-note/component-note.component.mjs +30 -0
- package/esm2022/app/reports/components/report-canvas/report-canvas.component.mjs +7 -61
- package/esm2022/app/reports/components/report-component/report-component.component.mjs +99 -100
- package/esm2022/app/reports/data/report.data.mjs +20 -7
- package/esm2022/app/reports/dialogs/component-settings/component-settings.component.mjs +133 -13
- package/esm2022/app/reports/dialogs/list-columns/list-columns.component.mjs +56 -0
- package/esm2022/app/reports/dialogs/report-settings/report-locale-patch.mjs +13 -0
- package/esm2022/app/reports/dialogs/report-settings/report-settings.component.mjs +138 -20
- package/esm2022/app/reports/enums/report-change-polarity.enum.mjs +11 -0
- package/esm2022/app/reports/enums/report-chart-color.enum.mjs +19 -0
- package/esm2022/app/reports/enums/report-chart-data-labels.enum.mjs +13 -0
- package/esm2022/app/reports/enums/report-chart-date-label.enum.mjs +13 -0
- package/esm2022/app/reports/enums/report-chart-line-style.enum.mjs +12 -0
- package/esm2022/app/reports/enums/report-chart-mark-stat.enum.mjs +12 -0
- package/esm2022/app/reports/enums/report-kpi-trend.enum.mjs +10 -0
- package/esm2022/app/reports/enums/report-list-column-format.enum.mjs +14 -0
- package/esm2022/app/reports/enums/report-number-units.enum.mjs +14 -0
- package/esm2022/app/reports/enums/report-value-format.enum.mjs +13 -0
- package/esm2022/app/reports/export/offscreen-chart.mjs +5 -4
- package/esm2022/app/reports/export/report-export-collector.service.mjs +186 -40
- package/esm2022/app/reports/export/report-pdf.service.mjs +332 -67
- package/esm2022/app/reports/export/report-pptx.service.mjs +765 -106
- package/esm2022/app/reports/format.mjs +917 -57
- package/esm2022/app/reports/interfaces/report-chat-viewer-filter.interface.mjs +1 -1
- package/esm2022/app/reports/interfaces/report.interface.mjs +1 -1
- package/esm2022/app/reports/kpi-card.mjs +174 -0
- package/esm2022/app/reports/layout.mjs +1 -46
- package/esm2022/app/reports/list-config.mjs +106 -0
- package/esm2022/app/reports/option-builder.mjs +1457 -117
- package/esm2022/app/reports/output-notes.mjs +158 -0
- package/esm2022/app/reports/pipes/report-date.pipe.mjs +7 -6
- package/esm2022/app/reports/pipes/report-number.pipe.mjs +25 -0
- package/esm2022/app/reports/pipes/report-output.pipe.mjs +28 -0
- package/esm2022/app/reports/report-filter-items.mjs +28 -3
- package/esm2022/app/reports/report-url-state.mjs +56 -15
- package/esm2022/app/reports/services/report-filter-state.service.mjs +274 -22
- package/esm2022/app/reports/theme/echarts.mjs +8 -2
- package/esm2022/app/reports/theme/palette.mjs +35 -1
- package/esm2022/app/reports/theme/typography.mjs +8 -1
- package/esm2022/app/reports/views/report/fs-ai-report.component.mjs +2 -2
- package/esm2022/app/reports/views/report/report.component.mjs +3 -4
- package/esm2022/public_api.mjs +10 -1
- package/fesm2022/{firestitch-report-echarts-Djtmaxj1.mjs → firestitch-report-echarts-qCBE3LqM.mjs} +9 -3
- package/fesm2022/firestitch-report-echarts-qCBE3LqM.mjs.map +1 -0
- package/fesm2022/{firestitch-report-firestitch-report-D3zseBZc.mjs → firestitch-report-firestitch-report-DbsWbE-j.mjs} +5523 -875
- package/fesm2022/firestitch-report-firestitch-report-DbsWbE-j.mjs.map +1 -0
- package/fesm2022/firestitch-report.mjs +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +9 -0
- package/fesm2022/firestitch-report-echarts-Djtmaxj1.mjs.map +0 -1
- package/fesm2022/firestitch-report-firestitch-report-D3zseBZc.mjs.map +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';
|
|
2
|
+
import { MatButton } from '@angular/material/button';
|
|
3
|
+
import { MatCheckbox } from '@angular/material/checkbox';
|
|
4
|
+
import { MAT_DIALOG_DATA, MatDialogActions, MatDialogClose, MatDialogContent, MatDialogRef, } from '@angular/material/dialog';
|
|
5
|
+
import { FsDialogModule } from '@firestitch/dialog';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@firestitch/dialog";
|
|
8
|
+
// Which of a plain list's columns the viewer sees. One checkbox per column,
|
|
9
|
+
// and the last one still checked is disabled, so the list always keeps a
|
|
10
|
+
// column. Done closes with the hidden names, in the list's order; Cancel
|
|
11
|
+
// closes with nothing. Nothing here is validated, so there is no fsForm.
|
|
12
|
+
export class ListColumnsComponent {
|
|
13
|
+
data = inject(MAT_DIALOG_DATA);
|
|
14
|
+
columns = this.data.columns;
|
|
15
|
+
hidden = signal(new Set(this.data.hidden));
|
|
16
|
+
// How many columns are still checked.
|
|
17
|
+
shownCount = computed(() => this.columns
|
|
18
|
+
.filter((column) => !this.hidden().has(column.column))
|
|
19
|
+
.length);
|
|
20
|
+
_dialogRef = inject(MatDialogRef);
|
|
21
|
+
// Whether a column's box is the last one checked, which cannot be cleared.
|
|
22
|
+
isLastShown(name) {
|
|
23
|
+
return this.shownCount() === 1 && !this.hidden().has(name);
|
|
24
|
+
}
|
|
25
|
+
toggle(name, shown) {
|
|
26
|
+
this.hidden.update((hidden) => {
|
|
27
|
+
const next = new Set(hidden);
|
|
28
|
+
if (shown) {
|
|
29
|
+
next.delete(name);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
next.add(name);
|
|
33
|
+
}
|
|
34
|
+
return next;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
done() {
|
|
38
|
+
this._dialogRef.close(this.columns
|
|
39
|
+
.map((column) => column.column)
|
|
40
|
+
.filter((name) => this.hidden().has(name)));
|
|
41
|
+
}
|
|
42
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListColumnsComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<fs-dialog>\n <fs-dialog-title>\n Columns\n </fs-dialog-title>\n <mat-dialog-content>\n <div class=\"fs-column.gap-xs\">\n @for (column of columns; track column.column) {\n <mat-checkbox\n class=\"column-option\"\n [checked]=\"!hidden().has(column.column)\"\n [disabled]=\"isLastShown(column.column)\"\n (change)=\"toggle(column.column, $event.checked)\">\n {{ column.label }}\n </mat-checkbox>\n }\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n type=\"button\"\n mat-button\n color=\"primary\"\n (click)=\"done()\">\n Done\n </button>\n <button\n type=\"button\"\n mat-button\n [mat-dialog-close]=\"undefined\">\n Cancel\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [".column-option{overflow-wrap:anywhere}\n"], dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FsDialogModule }, { kind: "component", type: i1.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout"] }, { kind: "component", type: i1.FsDialogTitleComponent, selector: "fs-dialog-title", inputs: ["close", "dockToggle", "back"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListColumnsComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
48
|
+
MatButton,
|
|
49
|
+
MatCheckbox,
|
|
50
|
+
MatDialogActions,
|
|
51
|
+
MatDialogClose,
|
|
52
|
+
MatDialogContent,
|
|
53
|
+
FsDialogModule,
|
|
54
|
+
], template: "<fs-dialog>\n <fs-dialog-title>\n Columns\n </fs-dialog-title>\n <mat-dialog-content>\n <div class=\"fs-column.gap-xs\">\n @for (column of columns; track column.column) {\n <mat-checkbox\n class=\"column-option\"\n [checked]=\"!hidden().has(column.column)\"\n [disabled]=\"isLastShown(column.column)\"\n (change)=\"toggle(column.column, $event.checked)\">\n {{ column.label }}\n </mat-checkbox>\n }\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n type=\"button\"\n mat-button\n color=\"primary\"\n (click)=\"done()\">\n Done\n </button>\n <button\n type=\"button\"\n mat-button\n [mat-dialog-close]=\"undefined\">\n Cancel\n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [".column-option{overflow-wrap:anywhere}\n"] }]
|
|
55
|
+
}] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb2x1bW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvcmVwb3J0cy9kaWFsb2dzL2xpc3QtY29sdW1ucy9saXN0LWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9yZXBvcnRzL2RpYWxvZ3MvbGlzdC1jb2x1bW5zL2xpc3QtY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUNMLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxHQUNsRixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBV3BELDRFQUE0RTtBQUM1RSx5RUFBeUU7QUFDekUseUVBQXlFO0FBQ3pFLHlFQUF5RTtBQWV6RSxNQUFNLE9BQU8sb0JBQW9CO0lBRWYsSUFBSSxHQUFHLE1BQU0sQ0FBd0IsZUFBZSxDQUFDLENBQUM7SUFFdEQsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBRTVCLE1BQU0sR0FBRyxNQUFNLENBQXNCLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVoRixzQ0FBc0M7SUFDdEIsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTztTQUNyRCxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckQsTUFBTSxDQUFDLENBQUM7SUFFTSxVQUFVLEdBQUcsTUFBTSxDQUErQyxZQUFZLENBQUMsQ0FBQztJQUVqRywyRUFBMkU7SUFDcEUsV0FBVyxDQUFDLElBQVk7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQVksRUFBRSxLQUFjO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFN0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTzthQUMvQixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7YUFDOUIsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO3dHQXRDVSxvQkFBb0I7NEZBQXBCLG9CQUFvQix3RUNyQ2pDLDIxQkFpQ0Esa0dESkksU0FBUyxpTEFDVCxXQUFXLHdWQUNYLGdCQUFnQiw0SEFDaEIsY0FBYyxxTEFDZCxnQkFBZ0Isd0dBQ2hCLGNBQWM7OzRGQUdMLG9CQUFvQjtrQkFkaEMsU0FBUztzQ0FHUyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxTQUFTO3dCQUNULFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsY0FBYztxQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3ggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQge1xuICBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ0FjdGlvbnMsIE1hdERpYWxvZ0Nsb3NlLCBNYXREaWFsb2dDb250ZW50LCBNYXREaWFsb2dSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IEZzRGlhbG9nTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGlhbG9nJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RDb2x1bW5zRGlhbG9nRGF0YSB7XG4gIC8vIFRoZSBsaXN0J3MgY29uZmlndXJlZCBjb2x1bW5zLCBpbiBvcmRlciwgZWFjaCB3aXRoIHRoZSBoZWFkaW5nIGl0IHNob3dzLlxuICBjb2x1bW5zOiB7IGNvbHVtbjogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgLy8gVGhlIG5hbWVzIG9mIHRoZSBjb2x1bW5zIHRoZSB2aWV3ZXIgaGFzIGhpZGRlbi5cbiAgaGlkZGVuOiBzdHJpbmdbXTtcbn1cblxuXG4vLyBXaGljaCBvZiBhIHBsYWluIGxpc3QncyBjb2x1bW5zIHRoZSB2aWV3ZXIgc2Vlcy4gT25lIGNoZWNrYm94IHBlciBjb2x1bW4sXG4vLyBhbmQgdGhlIGxhc3Qgb25lIHN0aWxsIGNoZWNrZWQgaXMgZGlzYWJsZWQsIHNvIHRoZSBsaXN0IGFsd2F5cyBrZWVwcyBhXG4vLyBjb2x1bW4uIERvbmUgY2xvc2VzIHdpdGggdGhlIGhpZGRlbiBuYW1lcywgaW4gdGhlIGxpc3QncyBvcmRlcjsgQ2FuY2VsXG4vLyBjbG9zZXMgd2l0aCBub3RoaW5nLiBOb3RoaW5nIGhlcmUgaXMgdmFsaWRhdGVkLCBzbyB0aGVyZSBpcyBubyBmc0Zvcm0uXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtY29sdW1ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtY29sdW1ucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdEJ1dHRvbixcbiAgICBNYXRDaGVja2JveCxcbiAgICBNYXREaWFsb2dBY3Rpb25zLFxuICAgIE1hdERpYWxvZ0Nsb3NlLFxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXG4gICAgRnNEaWFsb2dNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb2x1bW5zQ29tcG9uZW50IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YSA9IGluamVjdDxMaXN0Q29sdW1uc0RpYWxvZ0RhdGE+KE1BVF9ESUFMT0dfREFUQSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbHVtbnMgPSB0aGlzLmRhdGEuY29sdW1ucztcblxuICBwdWJsaWMgcmVhZG9ubHkgaGlkZGVuID0gc2lnbmFsPFJlYWRvbmx5U2V0PHN0cmluZz4+KG5ldyBTZXQodGhpcy5kYXRhLmhpZGRlbikpO1xuXG4gIC8vIEhvdyBtYW55IGNvbHVtbnMgYXJlIHN0aWxsIGNoZWNrZWQuXG4gIHB1YmxpYyByZWFkb25seSBzaG93bkNvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb2x1bW5zXG4gICAgLmZpbHRlcigoY29sdW1uKSA9PiAhdGhpcy5oaWRkZW4oKS5oYXMoY29sdW1uLmNvbHVtbikpXG4gICAgLmxlbmd0aCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGlhbG9nUmVmID0gaW5qZWN0PE1hdERpYWxvZ1JlZjxMaXN0Q29sdW1uc0NvbXBvbmVudCwgc3RyaW5nW10+PihNYXREaWFsb2dSZWYpO1xuXG4gIC8vIFdoZXRoZXIgYSBjb2x1bW4ncyBib3ggaXMgdGhlIGxhc3Qgb25lIGNoZWNrZWQsIHdoaWNoIGNhbm5vdCBiZSBjbGVhcmVkLlxuICBwdWJsaWMgaXNMYXN0U2hvd24obmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd25Db3VudCgpID09PSAxICYmICF0aGlzLmhpZGRlbigpLmhhcyhuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGUobmFtZTogc3RyaW5nLCBzaG93bjogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaGlkZGVuLnVwZGF0ZSgoaGlkZGVuKSA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gbmV3IFNldChoaWRkZW4pO1xuXG4gICAgICBpZiAoc2hvd24pIHtcbiAgICAgICAgbmV4dC5kZWxldGUobmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0LmFkZChuYW1lKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5leHQ7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZG9uZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UodGhpcy5jb2x1bW5zXG4gICAgICAubWFwKChjb2x1bW4pID0+IGNvbHVtbi5jb2x1bW4pXG4gICAgICAuZmlsdGVyKChuYW1lKSA9PiB0aGlzLmhpZGRlbigpLmhhcyhuYW1lKSkpO1xuICB9XG59XG4iLCI8ZnMtZGlhbG9nPlxuICA8ZnMtZGlhbG9nLXRpdGxlPlxuICAgIENvbHVtbnNcbiAgPC9mcy1kaWFsb2ctdGl0bGU+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImZzLWNvbHVtbi5nYXAteHNcIj5cbiAgICAgIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayBjb2x1bW4uY29sdW1uKSB7XG4gICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgIGNsYXNzPVwiY29sdW1uLW9wdGlvblwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCIhaGlkZGVuKCkuaGFzKGNvbHVtbi5jb2x1bW4pXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xhc3RTaG93bihjb2x1bW4uY29sdW1uKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZShjb2x1bW4uY29sdW1uLCAkZXZlbnQuY2hlY2tlZClcIj5cbiAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cImRvbmUoKVwiPlxuICAgICAgRG9uZVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwidW5kZWZpbmVkXCI+XG4gICAgICBDYW5jZWxcbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L2ZzLWRpYWxvZz5cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// The locale and currency keys for the report settings PUT: each is sent only
|
|
2
|
+
// when the dialog's value differs from the report's stored one ('' = follows
|
|
3
|
+
// the default). An untouched dialog sends neither, so a report that follows the
|
|
4
|
+
// default is never pinned to it, and a stored value the server no longer offers
|
|
5
|
+
// is never sent back to be refused: renaming such a report still saves. A
|
|
6
|
+
// changed value is sent as it is, and '' returns the report to the default.
|
|
7
|
+
export function reportLocalePatch(report, locale, currency) {
|
|
8
|
+
return {
|
|
9
|
+
...(locale !== (report.locale ?? '') ? { locale } : {}),
|
|
10
|
+
...(currency !== (report.currency ?? '') ? { currency } : {}),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWxvY2FsZS1wYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvcmVwb3J0cy9kaWFsb2dzL3JlcG9ydC1zZXR0aW5ncy9yZXBvcnQtbG9jYWxlLXBhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLDhFQUE4RTtBQUM5RSw2RUFBNkU7QUFDN0UsZ0ZBQWdGO0FBQ2hGLGdGQUFnRjtBQUNoRiwwRUFBMEU7QUFDMUUsNEVBQTRFO0FBQzVFLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsTUFBMkMsRUFDM0MsTUFBYyxFQUNkLFFBQWdCO0lBRWhCLE9BQU87UUFDTCxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZELEdBQUcsQ0FBQyxRQUFRLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDOUQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXBvcnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC5pbnRlcmZhY2UnO1xuXG5cbi8vIFRoZSBsb2NhbGUgYW5kIGN1cnJlbmN5IGtleXMgZm9yIHRoZSByZXBvcnQgc2V0dGluZ3MgUFVUOiBlYWNoIGlzIHNlbnQgb25seVxuLy8gd2hlbiB0aGUgZGlhbG9nJ3MgdmFsdWUgZGlmZmVycyBmcm9tIHRoZSByZXBvcnQncyBzdG9yZWQgb25lICgnJyA9IGZvbGxvd3Ncbi8vIHRoZSBkZWZhdWx0KS4gQW4gdW50b3VjaGVkIGRpYWxvZyBzZW5kcyBuZWl0aGVyLCBzbyBhIHJlcG9ydCB0aGF0IGZvbGxvd3MgdGhlXG4vLyBkZWZhdWx0IGlzIG5ldmVyIHBpbm5lZCB0byBpdCwgYW5kIGEgc3RvcmVkIHZhbHVlIHRoZSBzZXJ2ZXIgbm8gbG9uZ2VyIG9mZmVyc1xuLy8gaXMgbmV2ZXIgc2VudCBiYWNrIHRvIGJlIHJlZnVzZWQ6IHJlbmFtaW5nIHN1Y2ggYSByZXBvcnQgc3RpbGwgc2F2ZXMuIEFcbi8vIGNoYW5nZWQgdmFsdWUgaXMgc2VudCBhcyBpdCBpcywgYW5kICcnIHJldHVybnMgdGhlIHJlcG9ydCB0byB0aGUgZGVmYXVsdC5cbmV4cG9ydCBmdW5jdGlvbiByZXBvcnRMb2NhbGVQYXRjaChcbiAgcmVwb3J0OiBQaWNrPFJlcG9ydCwgJ2xvY2FsZScgfCAnY3VycmVuY3knPixcbiAgbG9jYWxlOiBzdHJpbmcsXG4gIGN1cnJlbmN5OiBzdHJpbmcsXG4pOiB7IGxvY2FsZT86IHN0cmluZzsgY3VycmVuY3k/OiBzdHJpbmcgfSB7XG4gIHJldHVybiB7XG4gICAgLi4uKGxvY2FsZSAhPT0gKHJlcG9ydC5sb2NhbGUgPz8gJycpID8geyBsb2NhbGUgfSA6IHt9KSxcbiAgICAuLi4oY3VycmVuY3kgIT09IChyZXBvcnQuY3VycmVuY3kgPz8gJycpID8geyBjdXJyZW5jeSB9IDoge30pLFxuICB9O1xufVxuIl19
|