@multiplatform.one/backoffice 7.28.1 → 7.29.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/README.md +1 -1
- package/dist/cjs/desk/DeskSurface.native.js.map +1 -1
- package/dist/cjs/form/DocFormScreen.cjs +167 -224
- package/dist/cjs/form/DocFormScreen.native.js +182 -259
- package/dist/cjs/form/DocFormScreen.native.js.map +1 -1
- package/dist/cjs/i18n/en.cjs +1 -0
- package/dist/cjs/i18n/en.native.js +1 -0
- package/dist/cjs/i18n/en.native.js.map +1 -1
- package/dist/cjs/list/ListBulkActionsBar.cjs +30 -18
- package/dist/cjs/list/ListBulkActionsBar.native.js +43 -31
- package/dist/cjs/list/ListBulkActionsBar.native.js.map +1 -1
- package/dist/cjs/list/sidebar-section.cjs +15 -7
- package/dist/cjs/list/sidebar-section.native.js +16 -7
- package/dist/cjs/list/sidebar-section.native.js.map +1 -1
- package/dist/cjs/report/DoctypeReportView.cjs +20 -374
- package/dist/cjs/report/DoctypeReportView.native.js +23 -455
- package/dist/cjs/report/DoctypeReportView.native.js.map +1 -1
- package/dist/cjs/report/QueryReportScreen.cjs +33 -23
- package/dist/cjs/report/QueryReportScreen.native.js +33 -23
- package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
- package/dist/cjs/report/queryReportColumns.cjs +3 -105
- package/dist/cjs/report/queryReportColumns.native.js +2 -129
- package/dist/cjs/report/queryReportColumns.native.js.map +1 -1
- package/dist/cjs/report/queryReportFilterBar.cjs +3 -4
- package/dist/cjs/report/queryReportFilterBar.native.js +3 -4
- package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
- package/dist/cjs/report/queryReportUrlState.cjs +2 -2
- package/dist/cjs/report/queryReportUrlState.native.js +2 -2
- package/dist/cjs/report/queryReportUrlState.native.js.map +1 -1
- package/dist/cjs/report/report-grid.cjs +2 -426
- package/dist/cjs/report/report-grid.native.js +1 -479
- package/dist/cjs/report/report-grid.native.js.map +1 -1
- package/dist/cjs/report/report-toolbar.cjs +2 -228
- package/dist/cjs/report/report-toolbar.native.js +1 -274
- package/dist/cjs/report/report-toolbar.native.js.map +1 -1
- package/dist/cjs/report/reportShapes.cjs +12 -383
- package/dist/cjs/report/reportShapes.native.js +12 -501
- package/dist/cjs/report/reportShapes.native.js.map +1 -1
- package/dist/cjs/report/reportViewModel.cjs +20 -360
- package/dist/cjs/report/reportViewModel.native.js +19 -627
- package/dist/cjs/report/reportViewModel.native.js.map +1 -1
- package/dist/cjs/report/savedReports.cjs +2 -106
- package/dist/cjs/report/savedReports.native.js +1 -132
- package/dist/cjs/report/savedReports.native.js.map +1 -1
- package/dist/cjs/report/useQueryReport.cjs +11 -219
- package/dist/cjs/report/useQueryReport.native.js +11 -244
- package/dist/cjs/report/useQueryReport.native.js.map +1 -1
- package/dist/cjs/shared/measures.cjs +3 -5
- package/dist/cjs/shared/measures.native.js +3 -5
- package/dist/cjs/shared/measures.native.js.map +1 -1
- package/dist/cjs/views/ReportView.cjs +3 -256
- package/dist/cjs/views/ReportView.native.js +3 -382
- package/dist/cjs/views/ReportView.native.js.map +1 -1
- package/dist/cjs/views/report-controls.cjs +6 -6
- package/dist/cjs/views/report-controls.native.js +6 -6
- package/dist/cjs/views/report-controls.native.js.map +1 -1
- package/dist/esm/desk/DeskSurface.mjs.map +1 -1
- package/dist/esm/desk/DeskSurface.native.js.map +1 -1
- package/dist/esm/form/DocFormScreen.mjs +169 -226
- package/dist/esm/form/DocFormScreen.mjs.map +1 -1
- package/dist/esm/form/DocFormScreen.native.js +184 -261
- package/dist/esm/form/DocFormScreen.native.js.map +1 -1
- package/dist/esm/i18n/en.mjs +1 -0
- package/dist/esm/i18n/en.mjs.map +1 -1
- package/dist/esm/i18n/en.native.js +1 -0
- package/dist/esm/i18n/en.native.js.map +1 -1
- package/dist/esm/list/ListBulkActionsBar.mjs +31 -19
- package/dist/esm/list/ListBulkActionsBar.mjs.map +1 -1
- package/dist/esm/list/ListBulkActionsBar.native.js +37 -25
- package/dist/esm/list/ListBulkActionsBar.native.js.map +1 -1
- package/dist/esm/list/sidebar-section.mjs +16 -8
- package/dist/esm/list/sidebar-section.mjs.map +1 -1
- package/dist/esm/list/sidebar-section.native.js +17 -8
- package/dist/esm/list/sidebar-section.native.js.map +1 -1
- package/dist/esm/report/DoctypeReportView.mjs +21 -375
- package/dist/esm/report/DoctypeReportView.mjs.map +1 -1
- package/dist/esm/report/DoctypeReportView.native.js +24 -456
- package/dist/esm/report/DoctypeReportView.native.js.map +1 -1
- package/dist/esm/report/QueryReportScreen.mjs +26 -16
- package/dist/esm/report/QueryReportScreen.mjs.map +1 -1
- package/dist/esm/report/QueryReportScreen.native.js +26 -16
- package/dist/esm/report/QueryReportScreen.native.js.map +1 -1
- package/dist/esm/report/queryReportColumns.mjs +1 -103
- package/dist/esm/report/queryReportColumns.mjs.map +1 -1
- package/dist/esm/report/queryReportColumns.native.js +1 -117
- package/dist/esm/report/queryReportColumns.native.js.map +1 -1
- package/dist/esm/report/queryReportFilterBar.mjs +1 -2
- package/dist/esm/report/queryReportFilterBar.mjs.map +1 -1
- package/dist/esm/report/queryReportFilterBar.native.js +1 -2
- package/dist/esm/report/queryReportFilterBar.native.js.map +1 -1
- package/dist/esm/report/queryReportUrlState.mjs +1 -1
- package/dist/esm/report/queryReportUrlState.native.js +1 -1
- package/dist/esm/report/report-grid.mjs +1 -425
- package/dist/esm/report/report-grid.mjs.map +1 -1
- package/dist/esm/report/report-grid.native.js +1 -468
- package/dist/esm/report/report-grid.native.js.map +1 -1
- package/dist/esm/report/report-toolbar.mjs +2 -228
- package/dist/esm/report/report-toolbar.mjs.map +1 -1
- package/dist/esm/report/report-toolbar.native.js +2 -264
- package/dist/esm/report/report-toolbar.native.js.map +1 -1
- package/dist/esm/report/reportShapes.mjs +2 -373
- package/dist/esm/report/reportShapes.mjs.map +1 -1
- package/dist/esm/report/reportShapes.native.js +2 -491
- package/dist/esm/report/reportShapes.native.js.map +1 -1
- package/dist/esm/report/reportViewModel.mjs +2 -342
- package/dist/esm/report/reportViewModel.mjs.map +1 -1
- package/dist/esm/report/reportViewModel.native.js +2 -610
- package/dist/esm/report/reportViewModel.native.js.map +1 -1
- package/dist/esm/report/savedReports.mjs +1 -105
- package/dist/esm/report/savedReports.mjs.map +1 -1
- package/dist/esm/report/savedReports.native.js +1 -132
- package/dist/esm/report/savedReports.native.js.map +1 -1
- package/dist/esm/report/useQueryReport.mjs +2 -210
- package/dist/esm/report/useQueryReport.mjs.map +1 -1
- package/dist/esm/report/useQueryReport.native.js +2 -235
- package/dist/esm/report/useQueryReport.native.js.map +1 -1
- package/dist/esm/shared/measures.mjs +1 -3
- package/dist/esm/shared/measures.mjs.map +1 -1
- package/dist/esm/shared/measures.native.js +1 -3
- package/dist/esm/shared/measures.native.js.map +1 -1
- package/dist/esm/views/ReportView.mjs +3 -256
- package/dist/esm/views/ReportView.mjs.map +1 -1
- package/dist/esm/views/ReportView.native.js +3 -382
- package/dist/esm/views/ReportView.native.js.map +1 -1
- package/dist/esm/views/report-controls.mjs +3 -3
- package/dist/esm/views/report-controls.mjs.map +1 -1
- package/dist/esm/views/report-controls.native.js +3 -3
- package/dist/esm/views/report-controls.native.js.map +1 -1
- package/dist/jsx/desk/DeskSurface.mjs.map +1 -1
- package/dist/jsx/desk/DeskSurface.native.js.map +1 -1
- package/dist/jsx/form/DocFormScreen.mjs +169 -226
- package/dist/jsx/form/DocFormScreen.mjs.map +1 -1
- package/dist/jsx/form/DocFormScreen.native.js +182 -259
- package/dist/jsx/form/DocFormScreen.native.js.map +1 -1
- package/dist/jsx/i18n/en.mjs +1 -0
- package/dist/jsx/i18n/en.mjs.map +1 -1
- package/dist/jsx/i18n/en.native.js +1 -0
- package/dist/jsx/i18n/en.native.js.map +1 -1
- package/dist/jsx/list/ListBulkActionsBar.mjs +31 -19
- package/dist/jsx/list/ListBulkActionsBar.mjs.map +1 -1
- package/dist/jsx/list/ListBulkActionsBar.native.js +43 -31
- package/dist/jsx/list/ListBulkActionsBar.native.js.map +1 -1
- package/dist/jsx/list/sidebar-section.mjs +16 -8
- package/dist/jsx/list/sidebar-section.mjs.map +1 -1
- package/dist/jsx/list/sidebar-section.native.js +16 -7
- package/dist/jsx/list/sidebar-section.native.js.map +1 -1
- package/dist/jsx/report/DoctypeReportView.mjs +21 -375
- package/dist/jsx/report/DoctypeReportView.mjs.map +1 -1
- package/dist/jsx/report/DoctypeReportView.native.js +23 -455
- package/dist/jsx/report/DoctypeReportView.native.js.map +1 -1
- package/dist/jsx/report/QueryReportScreen.mjs +26 -16
- package/dist/jsx/report/QueryReportScreen.mjs.map +1 -1
- package/dist/jsx/report/QueryReportScreen.native.js +33 -23
- package/dist/jsx/report/QueryReportScreen.native.js.map +1 -1
- package/dist/jsx/report/queryReportColumns.mjs +1 -103
- package/dist/jsx/report/queryReportColumns.mjs.map +1 -1
- package/dist/jsx/report/queryReportColumns.native.js +2 -129
- package/dist/jsx/report/queryReportColumns.native.js.map +1 -1
- package/dist/jsx/report/queryReportFilterBar.mjs +1 -2
- package/dist/jsx/report/queryReportFilterBar.mjs.map +1 -1
- package/dist/jsx/report/queryReportFilterBar.native.js +3 -4
- package/dist/jsx/report/queryReportFilterBar.native.js.map +1 -1
- package/dist/jsx/report/queryReportUrlState.mjs +1 -1
- package/dist/jsx/report/queryReportUrlState.native.js +2 -2
- package/dist/jsx/report/queryReportUrlState.native.js.map +1 -1
- package/dist/jsx/report/report-grid.mjs +1 -425
- package/dist/jsx/report/report-grid.mjs.map +1 -1
- package/dist/jsx/report/report-grid.native.js +1 -479
- package/dist/jsx/report/report-grid.native.js.map +1 -1
- package/dist/jsx/report/report-toolbar.mjs +2 -228
- package/dist/jsx/report/report-toolbar.mjs.map +1 -1
- package/dist/jsx/report/report-toolbar.native.js +1 -274
- package/dist/jsx/report/report-toolbar.native.js.map +1 -1
- package/dist/jsx/report/reportShapes.mjs +2 -373
- package/dist/jsx/report/reportShapes.mjs.map +1 -1
- package/dist/jsx/report/reportShapes.native.js +12 -501
- package/dist/jsx/report/reportShapes.native.js.map +1 -1
- package/dist/jsx/report/reportViewModel.mjs +2 -342
- package/dist/jsx/report/reportViewModel.mjs.map +1 -1
- package/dist/jsx/report/reportViewModel.native.js +19 -627
- package/dist/jsx/report/reportViewModel.native.js.map +1 -1
- package/dist/jsx/report/savedReports.mjs +1 -105
- package/dist/jsx/report/savedReports.mjs.map +1 -1
- package/dist/jsx/report/savedReports.native.js +1 -132
- package/dist/jsx/report/savedReports.native.js.map +1 -1
- package/dist/jsx/report/useQueryReport.mjs +2 -210
- package/dist/jsx/report/useQueryReport.mjs.map +1 -1
- package/dist/jsx/report/useQueryReport.native.js +11 -244
- package/dist/jsx/report/useQueryReport.native.js.map +1 -1
- package/dist/jsx/shared/measures.mjs +1 -3
- package/dist/jsx/shared/measures.mjs.map +1 -1
- package/dist/jsx/shared/measures.native.js +3 -5
- package/dist/jsx/shared/measures.native.js.map +1 -1
- package/dist/jsx/views/ReportView.mjs +3 -256
- package/dist/jsx/views/ReportView.mjs.map +1 -1
- package/dist/jsx/views/ReportView.native.js +3 -382
- package/dist/jsx/views/ReportView.native.js.map +1 -1
- package/dist/jsx/views/report-controls.mjs +3 -3
- package/dist/jsx/views/report-controls.mjs.map +1 -1
- package/dist/jsx/views/report-controls.native.js +6 -6
- package/dist/jsx/views/report-controls.native.js.map +1 -1
- package/package.json +12 -12
- package/src/backofficeScreens.designLaw.spec.ts +0 -5
- package/src/desk/DeskSurface.tsx +4 -7
- package/src/form/DocFormScreen.chrome.spec.ts +77 -0
- package/src/form/DocFormScreen.guest.screen.spec.tsx +175 -0
- package/src/form/DocFormScreen.rights.spec.tsx +7 -3
- package/src/form/DocFormScreen.tsx +214 -315
- package/src/i18n/en.ts +1 -0
- package/src/list/ListBulkActionsBar.rights.spec.tsx +134 -0
- package/src/list/ListBulkActionsBar.screen.spec.tsx +7 -1
- package/src/list/ListBulkActionsBar.tsx +76 -57
- package/src/list/ListFilterBar.screen.spec.tsx +14 -13
- package/src/list/sidebar-section.tsx +11 -3
- package/src/report/DoctypeReportView.tsx +28 -550
- package/src/report/QueryReportScreen.spec.tsx +75 -1
- package/src/report/QueryReportScreen.tsx +38 -22
- package/src/report/queryReportColumns.tsx +4 -123
- package/src/report/queryReportFilterBar.tsx +3 -5
- package/src/report/queryReportUrlState.ts +1 -1
- package/src/report/report-grid.tsx +4 -529
- package/src/report/report-toolbar.tsx +4 -308
- package/src/report/reportShapes.ts +25 -613
- package/src/report/reportShim.spec.ts +162 -0
- package/src/report/reportViewModel.ts +32 -605
- package/src/report/savedReports.ts +4 -161
- package/src/report/useQueryReport.ts +9 -347
- package/src/shared/measures.ts +3 -11
- package/src/views/ReportView.screen.spec.tsx +25 -20
- package/src/views/ReportView.tsx +7 -439
- package/src/views/report-controls.tsx +12 -20
- package/types/desk/DeskSurface.d.ts.map +1 -1
- package/types/form/DocFormScreen.d.ts +2 -2
- package/types/form/DocFormScreen.d.ts.map +1 -1
- package/types/i18n/en.d.ts +1 -0
- package/types/i18n/en.d.ts.map +1 -1
- package/types/list/ListBulkActionsBar.d.ts.map +1 -1
- package/types/list/sidebar-section.d.ts.map +1 -1
- package/types/report/DoctypeReportView.d.ts.map +1 -1
- package/types/report/QueryReportScreen.d.ts +1 -1
- package/types/report/QueryReportScreen.d.ts.map +1 -1
- package/types/report/queryReportColumns.d.ts +2 -11
- package/types/report/queryReportColumns.d.ts.map +1 -1
- package/types/report/queryReportFilterBar.d.ts +1 -1
- package/types/report/queryReportFilterBar.d.ts.map +1 -1
- package/types/report/queryReportUrlState.d.ts +1 -1
- package/types/report/queryReportUrlState.d.ts.map +1 -1
- package/types/report/report-grid.d.ts +2 -19
- package/types/report/report-grid.d.ts.map +1 -1
- package/types/report/report-toolbar.d.ts +2 -29
- package/types/report/report-toolbar.d.ts.map +1 -1
- package/types/report/reportShapes.d.ts +2 -115
- package/types/report/reportShapes.d.ts.map +1 -1
- package/types/report/reportViewModel.d.ts +2 -135
- package/types/report/reportViewModel.d.ts.map +1 -1
- package/types/report/savedReports.d.ts +2 -18
- package/types/report/savedReports.d.ts.map +1 -1
- package/types/report/useQueryReport.d.ts +2 -35
- package/types/report/useQueryReport.d.ts.map +1 -1
- package/types/shared/measures.d.ts +1 -2
- package/types/shared/measures.d.ts.map +1 -1
- package/types/views/ReportView.d.ts +3 -22
- package/types/views/ReportView.d.ts.map +1 -1
- package/types/views/report-controls.d.ts +2 -5
- package/types/views/report-controls.d.ts.map +1 -1
- package/src/report/report-grid.spec.tsx +0 -175
- package/src/report/report-toolbar.spec.tsx +0 -90
- package/src/report/reportShapes.spec.ts +0 -391
- package/src/report/reportViewModel.spec.ts +0 -393
|
@@ -1,79 +1,22 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { Order, useFrappeCollection, useLiveQuery } from "@multiplatform.one/frappe";
|
|
5
|
-
import { downloadBlob } from "@multiplatform.one/platform";
|
|
6
|
-
import { storage } from "@multiplatform.one/store";
|
|
7
|
-
import { DataTablePagination } from "@multiplatform.one/table";
|
|
8
|
-
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
9
|
-
import { useTranslation } from "react-i18next";
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FrappeReportBuilder, parseReportFiltersParam } from "@multiplatform.one/frappe-ui";
|
|
3
|
+
import React, { useCallback, useMemo } from "react";
|
|
10
4
|
import { useBackofficeLocation, useBackofficeNavigator, useBackofficePaths } from "../config/BackofficeProvider.native.js";
|
|
11
|
-
import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.native.js";
|
|
12
5
|
import { useDeskScope } from "../desk/scope.native.js";
|
|
13
|
-
import { useDoctypeMeta } from "../shared/useDoctypeMeta.native.js";
|
|
14
|
-
import { useViewConnection } from "../views/connection.native.js";
|
|
15
6
|
import { ViewError, ViewLoading } from "../views/ViewStates.native.js";
|
|
16
|
-
import { ReportGrid } from "./report-grid.native.js";
|
|
17
|
-
import { ReportToolbar } from "./report-toolbar.native.js";
|
|
18
|
-
import { useSavedReports } from "./savedReports.native.js";
|
|
19
|
-
import { DEFAULT_REPORT_PAGE_SIZE, REPORT_PAGE_SIZES, buildGridRows, buildReportCsv, columnFilterTuples, computeTotals, defaultReportFieldnames, orderReportRows, parseReportFiltersParam, reportColumnsFromMeta, resolveSelectedColumns } from "./reportViewModel.native.js";
|
|
20
|
-
function _instanceof(left, right) {
|
|
21
|
-
"@swc/helpers - instanceof";
|
|
22
|
-
|
|
23
|
-
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
24
|
-
return !!right[Symbol.hasInstance](left);
|
|
25
|
-
} else {
|
|
26
|
-
return left instanceof right;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
var EMPTY_FILTERS = [];
|
|
30
|
-
var COLUMN_FILTER_DEBOUNCE_MS = 350;
|
|
31
|
-
function columnsStorageKey(doctype) {
|
|
32
|
-
return `backoffice.report.columns.${doctype}`;
|
|
33
|
-
}
|
|
34
|
-
async function readStoredColumns(doctype) {
|
|
35
|
-
try {
|
|
36
|
-
var raw = await Promise.resolve(storage.getItem(columnsStorageKey(doctype)));
|
|
37
|
-
if (!raw) return void 0;
|
|
38
|
-
var parsed = JSON.parse(raw);
|
|
39
|
-
if (Array.isArray(parsed) && parsed.every(function (entry) {
|
|
40
|
-
return typeof entry === "string";
|
|
41
|
-
})) {
|
|
42
|
-
return parsed;
|
|
43
|
-
}
|
|
44
|
-
} catch (unused) {}
|
|
45
|
-
return void 0;
|
|
46
|
-
}
|
|
47
|
-
function persistStoredColumns(doctype, fieldnames) {
|
|
48
|
-
try {
|
|
49
|
-
void Promise.resolve(storage.setItem(columnsStorageKey(doctype), JSON.stringify(fieldnames)));
|
|
50
|
-
} catch (unused) {}
|
|
51
|
-
}
|
|
52
7
|
function DoctypeReportView(param) {
|
|
53
8
|
var {
|
|
54
9
|
doctype,
|
|
55
10
|
filtersParam,
|
|
56
11
|
initialFilters
|
|
57
12
|
} = param;
|
|
58
|
-
var _ref, _ref1, _ref2;
|
|
59
13
|
var _params_report;
|
|
60
|
-
var {
|
|
61
|
-
t
|
|
62
|
-
} = useTranslation(BACKOFFICE_I18N_NAMESPACE);
|
|
63
14
|
var deskScope = useDeskScope();
|
|
64
15
|
var navigator = useBackofficeNavigator();
|
|
65
16
|
var paths = useBackofficePaths();
|
|
66
17
|
var {
|
|
67
18
|
params
|
|
68
19
|
} = useBackofficeLocation();
|
|
69
|
-
var connection = useViewConnection();
|
|
70
|
-
var fixtureMode = Boolean(connection === null || connection === void 0 ? void 0 : connection.fixtures);
|
|
71
|
-
var {
|
|
72
|
-
meta,
|
|
73
|
-
loading: metaLoading,
|
|
74
|
-
error: metaError
|
|
75
|
-
} = useDoctypeMeta(doctype);
|
|
76
|
-
var savedReports = useSavedReports(doctype);
|
|
77
20
|
var rawReportParam = typeof params.report === "string" ? params.report : (_params_report = params.report) === null || _params_report === void 0 ? void 0 : _params_report[0];
|
|
78
21
|
var currentReport = useMemo(function () {
|
|
79
22
|
if (!rawReportParam) return null;
|
|
@@ -83,412 +26,37 @@ function DoctypeReportView(param) {
|
|
|
83
26
|
return rawReportParam;
|
|
84
27
|
}
|
|
85
28
|
}, [rawReportParam]);
|
|
86
|
-
var allColumns = useMemo(function () {
|
|
87
|
-
return reportColumnsFromMeta(meta);
|
|
88
|
-
}, [meta]);
|
|
89
|
-
var defaultFieldnames = useMemo(function () {
|
|
90
|
-
return defaultReportFieldnames(meta);
|
|
91
|
-
}, [meta]);
|
|
92
|
-
var [storedColumns, setStoredColumns] = useState(void 0);
|
|
93
|
-
var [selectedOverride, setSelectedOverride] = useState(null);
|
|
94
|
-
useEffect(function () {
|
|
95
|
-
if (fixtureMode) return;
|
|
96
|
-
var cancelled = false;
|
|
97
|
-
void readStoredColumns(doctype).then(function (stored) {
|
|
98
|
-
if (!cancelled) setStoredColumns(stored);
|
|
99
|
-
});
|
|
100
|
-
return function () {
|
|
101
|
-
cancelled = true;
|
|
102
|
-
};
|
|
103
|
-
}, [doctype, fixtureMode]);
|
|
104
|
-
var selectedFieldnames = (_ref = selectedOverride !== null && selectedOverride !== void 0 ? selectedOverride : storedColumns) !== null && _ref !== void 0 ? _ref : defaultFieldnames;
|
|
105
|
-
var selectedColumns = useMemo(function () {
|
|
106
|
-
return resolveSelectedColumns(allColumns, selectedFieldnames);
|
|
107
|
-
}, [allColumns, selectedFieldnames]);
|
|
108
29
|
var urlFilters = useMemo(function () {
|
|
109
30
|
return parseReportFiltersParam(filtersParam);
|
|
110
31
|
}, [filtersParam]);
|
|
111
|
-
var
|
|
112
|
-
var [reportFilters, setReportFilters] = useState(null);
|
|
113
|
-
var baseFilters = filtersCleared ? EMPTY_FILTERS : (_ref1 = (_ref2 = reportFilters !== null && reportFilters !== void 0 ? reportFilters : urlFilters) !== null && _ref2 !== void 0 ? _ref2 : initialFilters) !== null && _ref1 !== void 0 ? _ref1 : EMPTY_FILTERS;
|
|
114
|
-
var [filterDrafts, setFilterDrafts] = useState({});
|
|
115
|
-
var [committedFilters, setCommittedFilters] = useState({});
|
|
116
|
-
useEffect(function () {
|
|
117
|
-
var handle = setTimeout(function () {
|
|
118
|
-
setCommittedFilters(function (previous) {
|
|
119
|
-
return JSON.stringify(previous) === JSON.stringify(filterDrafts) ? previous : filterDrafts;
|
|
120
|
-
});
|
|
121
|
-
}, COLUMN_FILTER_DEBOUNCE_MS);
|
|
122
|
-
return function () {
|
|
123
|
-
return clearTimeout(handle);
|
|
124
|
-
};
|
|
125
|
-
}, [filterDrafts]);
|
|
126
|
-
var columnTuples = useMemo(function () {
|
|
127
|
-
return columnFilterTuples(selectedColumns, committedFilters);
|
|
128
|
-
}, [selectedColumns, committedFilters]);
|
|
129
|
-
var effectiveFilters = useMemo(function () {
|
|
130
|
-
return [...deskScope, ...baseFilters, ...columnTuples];
|
|
131
|
-
}, [deskScope, baseFilters, columnTuples]);
|
|
132
|
-
var metaSort = useMemo(function () {
|
|
133
|
-
return {
|
|
134
|
-
field: ((meta === null || meta === void 0 ? void 0 : meta.sort_field) || "modified").split(" ")[0],
|
|
135
|
-
order: ((meta === null || meta === void 0 ? void 0 : meta.sort_order) || "DESC").toLowerCase() === "asc" ? "asc" : "desc"
|
|
136
|
-
};
|
|
137
|
-
}, [meta === null || meta === void 0 ? void 0 : meta.sort_field, meta === null || meta === void 0 ? void 0 : meta.sort_order]);
|
|
138
|
-
var [sortOverride, setSortOverride] = useState(null);
|
|
139
|
-
var sort = sortOverride !== null && sortOverride !== void 0 ? sortOverride : metaSort;
|
|
140
|
-
var [groupBy, setGroupBy] = useState(null);
|
|
141
|
-
var [pageSize, setPageSize] = useState(DEFAULT_REPORT_PAGE_SIZE);
|
|
142
|
-
var [page, setPage] = useState(0);
|
|
143
|
-
useEffect(function () {
|
|
144
|
-
setSelectedOverride(null);
|
|
145
|
-
setStoredColumns(void 0);
|
|
146
|
-
setSortOverride(null);
|
|
147
|
-
setGroupBy(null);
|
|
148
|
-
setPage(0);
|
|
149
|
-
setPageSize(DEFAULT_REPORT_PAGE_SIZE);
|
|
150
|
-
setFilterDrafts({});
|
|
151
|
-
setCommittedFilters({});
|
|
152
|
-
setFiltersCleared(false);
|
|
153
|
-
setReportFilters(null);
|
|
154
|
-
}, [doctype]);
|
|
155
|
-
useEffect(function () {
|
|
156
|
-
return setFiltersCleared(false);
|
|
157
|
-
}, [filtersParam]);
|
|
158
|
-
var filtersKey = useMemo(function () {
|
|
159
|
-
return JSON.stringify(effectiveFilters);
|
|
160
|
-
}, [effectiveFilters]);
|
|
161
|
-
useEffect(function () {
|
|
162
|
-
setPage(0);
|
|
163
|
-
}, [filtersKey, pageSize, groupBy]);
|
|
164
|
-
useEffect(function () {
|
|
165
|
-
if (!currentReport) {
|
|
166
|
-
setReportFilters(null);
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
var cancelled = false;
|
|
170
|
-
void savedReports.load(currentReport).then(function (config) {
|
|
171
|
-
var _config_groupBy;
|
|
172
|
-
if (cancelled || !config) return;
|
|
173
|
-
setSelectedOverride(config.fieldnames.length > 0 ? config.fieldnames : null);
|
|
174
|
-
setReportFilters(config.filters);
|
|
175
|
-
setFilterDrafts({});
|
|
176
|
-
setCommittedFilters({});
|
|
177
|
-
setFiltersCleared(false);
|
|
178
|
-
if (config.sort) setSortOverride(config.sort);
|
|
179
|
-
if (config.pageSize && REPORT_PAGE_SIZES.some(function (size) {
|
|
180
|
-
return size === config.pageSize;
|
|
181
|
-
})) {
|
|
182
|
-
setPageSize(config.pageSize);
|
|
183
|
-
}
|
|
184
|
-
setGroupBy((_config_groupBy = config.groupBy) !== null && _config_groupBy !== void 0 ? _config_groupBy : null);
|
|
185
|
-
});
|
|
186
|
-
return function () {
|
|
187
|
-
cancelled = true;
|
|
188
|
-
};
|
|
189
|
-
},
|
|
190
|
-
// savedReports.load changes identity with its report list; reloading the
|
|
191
|
-
// config on list refreshes would clobber in-progress edits — key on the
|
|
192
|
-
// selected report (and doctype via load's closure) only.
|
|
193
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
194
|
-
[currentReport, doctype]);
|
|
195
|
-
var handleToggleColumn = useCallback(function (fieldname) {
|
|
196
|
-
setSelectedOverride(function (previous) {
|
|
197
|
-
var _ref3;
|
|
198
|
-
var current = (_ref3 = previous !== null && previous !== void 0 ? previous : storedColumns) !== null && _ref3 !== void 0 ? _ref3 : defaultFieldnames;
|
|
199
|
-
var next = current.includes(fieldname) ? current.length === 1 ? current : current.filter(function (entry) {
|
|
200
|
-
return entry !== fieldname;
|
|
201
|
-
}) : [...current, fieldname];
|
|
202
|
-
if (!fixtureMode && !currentReport) persistStoredColumns(doctype, next);
|
|
203
|
-
return next;
|
|
204
|
-
});
|
|
205
|
-
}, [storedColumns, defaultFieldnames, fixtureMode, currentReport, doctype]);
|
|
206
|
-
var handleResetColumns = useCallback(function () {
|
|
207
|
-
setSelectedOverride(defaultFieldnames);
|
|
208
|
-
setStoredColumns(void 0);
|
|
209
|
-
if (!fixtureMode) persistStoredColumns(doctype, defaultFieldnames);
|
|
210
|
-
}, [defaultFieldnames, fixtureMode, doctype]);
|
|
211
|
-
var fetchFields = useMemo(function () {
|
|
212
|
-
var fields = /* @__PURE__ */new Set(["name", sort.field]);
|
|
213
|
-
var _iteratorNormalCompletion = true,
|
|
214
|
-
_didIteratorError = false,
|
|
215
|
-
_iteratorError = void 0;
|
|
216
|
-
try {
|
|
217
|
-
for (var _iterator = selectedColumns[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
218
|
-
var column = _step.value;
|
|
219
|
-
fields.add(column.fieldname);
|
|
220
|
-
}
|
|
221
|
-
} catch (err) {
|
|
222
|
-
_didIteratorError = true;
|
|
223
|
-
_iteratorError = err;
|
|
224
|
-
} finally {
|
|
225
|
-
try {
|
|
226
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
227
|
-
_iterator.return();
|
|
228
|
-
}
|
|
229
|
-
} finally {
|
|
230
|
-
if (_didIteratorError) {
|
|
231
|
-
throw _iteratorError;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
if (groupBy) fields.add(groupBy);
|
|
236
|
-
return [...fields];
|
|
237
|
-
}, [selectedColumns, sort.field, groupBy]);
|
|
238
|
-
var [syncError, setSyncError] = useState(null);
|
|
239
|
-
var handleSyncError = useCallback(function (error) {
|
|
240
|
-
setSyncError(_instanceof(error, Error) ? error : new Error(String(error)));
|
|
241
|
-
}, []);
|
|
242
|
-
var [retryGen, setRetryGen] = useState(0);
|
|
243
|
-
var collectionConfig = useMemo(function () {
|
|
244
|
-
return connection && meta && retryGen >= 0 ? connection : void 0;
|
|
245
|
-
}, [connection, meta, retryGen]);
|
|
246
|
-
var collection = useFrappeCollection(collectionConfig, doctype, {
|
|
247
|
-
fields: fetchFields,
|
|
248
|
-
filters: effectiveFilters,
|
|
249
|
-
orderBy: {
|
|
250
|
-
field: sort.field,
|
|
251
|
-
order: sort.order === "asc" ? Order.Asc : Order.Desc
|
|
252
|
-
},
|
|
253
|
-
onSyncError: handleSyncError
|
|
254
|
-
});
|
|
255
|
-
useEffect(function () {
|
|
256
|
-
return setSyncError(null);
|
|
257
|
-
}, [collection]);
|
|
258
|
-
var {
|
|
259
|
-
data: rowsData,
|
|
260
|
-
isLoading: rowsLoading
|
|
261
|
-
} = useLiveQuery(function (q) {
|
|
262
|
-
return collection ? q.from({
|
|
263
|
-
_report: collection
|
|
264
|
-
}) : null;
|
|
265
|
-
}, [collection]);
|
|
266
|
-
var orderedRows = useMemo(function () {
|
|
267
|
-
return orderReportRows(rowsData !== null && rowsData !== void 0 ? rowsData : [], sort, groupBy);
|
|
268
|
-
}, [rowsData, sort, groupBy]);
|
|
269
|
-
var total = orderedRows.length;
|
|
270
|
-
var pageCount = Math.max(1, Math.ceil(total / pageSize));
|
|
271
|
-
var effectivePage = Math.min(page, pageCount - 1);
|
|
272
|
-
var gridRows = useMemo(function () {
|
|
273
|
-
return buildGridRows(orderedRows, effectivePage * pageSize, pageSize, groupBy);
|
|
274
|
-
}, [orderedRows, effectivePage, pageSize, groupBy]);
|
|
275
|
-
var totals = useMemo(function () {
|
|
276
|
-
return computeTotals(selectedColumns, orderedRows);
|
|
277
|
-
}, [selectedColumns, orderedRows]);
|
|
278
|
-
var groupByColumn = groupBy ? allColumns.find(function (column) {
|
|
279
|
-
return column.fieldname === groupBy;
|
|
280
|
-
}) : void 0;
|
|
281
|
-
var handleOpenRow = useCallback(function (name) {
|
|
282
|
-
return navigator.navigate(paths.form(doctype, name));
|
|
283
|
-
}, [navigator, paths, doctype]);
|
|
284
|
-
var handleOpenLink = useCallback(function (targetDoctype, name) {
|
|
32
|
+
var openForm = useCallback(function (targetDoctype, name) {
|
|
285
33
|
return navigator.navigate(paths.form(targetDoctype, name));
|
|
286
34
|
}, [navigator, paths]);
|
|
287
|
-
var
|
|
35
|
+
var selectReport = useCallback(function (name) {
|
|
288
36
|
var base = paths.view(doctype, "report");
|
|
289
37
|
navigator.replace(name ? `${base}?report=${encodeURIComponent(name)}` : base);
|
|
290
|
-
if (!name) {
|
|
291
|
-
setReportFilters(null);
|
|
292
|
-
setSelectedOverride(null);
|
|
293
|
-
setSortOverride(null);
|
|
294
|
-
setGroupBy(null);
|
|
295
|
-
}
|
|
296
38
|
}, [navigator, paths, doctype]);
|
|
297
|
-
var
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
void
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
})
|
|
317
|
-
});
|
|
318
|
-
if (savedName !== currentReport) handleSelectReport(savedName);
|
|
319
|
-
}).catch(function (error) {
|
|
320
|
-
notify({
|
|
321
|
-
severity: "error",
|
|
322
|
-
scope: "page",
|
|
323
|
-
body: _instanceof(error, Error) ? error.message : t("report.saveFailed", "Could not save the report")
|
|
324
|
-
});
|
|
325
|
-
});
|
|
326
|
-
}, [savedReports, selectedFieldnames, effectiveFilters, sort, pageSize, groupBy, totals.length, currentReport, handleSelectReport, t]);
|
|
327
|
-
var handleDeleteReport = useCallback(function (name) {
|
|
328
|
-
void savedReports.remove(name).then(function () {
|
|
329
|
-
notify({
|
|
330
|
-
severity: "success",
|
|
331
|
-
scope: "page",
|
|
332
|
-
body: t("report.deleteDone", {
|
|
333
|
-
defaultValue: "Deleted report \u201C{{name}}\u201D",
|
|
334
|
-
name
|
|
335
|
-
})
|
|
336
|
-
});
|
|
337
|
-
if (name === currentReport) handleSelectReport(null);
|
|
338
|
-
}).catch(function (error) {
|
|
339
|
-
notify({
|
|
340
|
-
severity: "error",
|
|
341
|
-
scope: "page",
|
|
342
|
-
body: _instanceof(error, Error) ? error.message : t("report.deleteFailed", "Could not delete the report")
|
|
343
|
-
});
|
|
344
|
-
});
|
|
345
|
-
}, [savedReports, currentReport, handleSelectReport, t]);
|
|
346
|
-
var handleExport = useCallback(function () {
|
|
347
|
-
if (!isWeb) {
|
|
348
|
-
notify({
|
|
349
|
-
severity: "warning",
|
|
350
|
-
scope: "page",
|
|
351
|
-
body: t("report.exportUnsupported", "CSV export needs a browser download \u2014 not available on this platform yet")
|
|
39
|
+
var clearUrlFilters = useCallback(function () {
|
|
40
|
+
if (urlFilters) navigator.replace(paths.view(doctype, "report"));
|
|
41
|
+
}, [urlFilters, navigator, paths, doctype]);
|
|
42
|
+
return /* @__PURE__ */_jsx(FrappeReportBuilder, {
|
|
43
|
+
doctype,
|
|
44
|
+
filters: urlFilters !== null && urlFilters !== void 0 ? urlFilters : initialFilters,
|
|
45
|
+
scopeFilters: deskScope,
|
|
46
|
+
onClearFilters: clearUrlFilters,
|
|
47
|
+
report: currentReport,
|
|
48
|
+
onReportChange: selectReport,
|
|
49
|
+
onOpenRow: function onOpenRow(name) {
|
|
50
|
+
return openForm(doctype, name);
|
|
51
|
+
},
|
|
52
|
+
onOpenLink: openForm,
|
|
53
|
+
loading: /* @__PURE__ */_jsx(ViewLoading, {}),
|
|
54
|
+
error: function error(error) {
|
|
55
|
+
return /* @__PURE__ */_jsx(ViewError, {
|
|
56
|
+
doctype,
|
|
57
|
+
error
|
|
352
58
|
});
|
|
353
|
-
return;
|
|
354
59
|
}
|
|
355
|
-
downloadBlob(new Blob([buildReportCsv(selectedColumns, orderedRows)], {
|
|
356
|
-
type: "text/csv;charset=utf-8;"
|
|
357
|
-
}), `${doctype}_report.csv`);
|
|
358
|
-
notify({
|
|
359
|
-
severity: "success",
|
|
360
|
-
scope: "page",
|
|
361
|
-
body: t("report.exportDone", {
|
|
362
|
-
count: orderedRows.length,
|
|
363
|
-
defaultValue_one: "Exported {{count}} row to CSV",
|
|
364
|
-
defaultValue_other: "Exported {{count}} rows to CSV"
|
|
365
|
-
})
|
|
366
|
-
});
|
|
367
|
-
}, [selectedColumns, orderedRows, doctype, t]);
|
|
368
|
-
var handleColumnFilterChange = useCallback(function (fieldname, value) {
|
|
369
|
-
setFilterDrafts(function (previous) {
|
|
370
|
-
if (value === "") {
|
|
371
|
-
if (!(fieldname in previous)) return previous;
|
|
372
|
-
var {
|
|
373
|
-
[fieldname]: _dropped,
|
|
374
|
-
...rest
|
|
375
|
-
} = previous;
|
|
376
|
-
return rest;
|
|
377
|
-
}
|
|
378
|
-
return {
|
|
379
|
-
...previous,
|
|
380
|
-
[fieldname]: value
|
|
381
|
-
};
|
|
382
|
-
});
|
|
383
|
-
}, []);
|
|
384
|
-
var handleClearColumnFilters = useCallback(function () {
|
|
385
|
-
setFilterDrafts({});
|
|
386
|
-
setCommittedFilters({});
|
|
387
|
-
}, []);
|
|
388
|
-
var activeColumnFilterCount = columnTuples.length;
|
|
389
|
-
if (metaLoading && !meta) return /* @__PURE__ */_jsx(ViewLoading, {});
|
|
390
|
-
if (metaError && !meta) return /* @__PURE__ */_jsx(ViewError, {
|
|
391
|
-
doctype,
|
|
392
|
-
error: metaError
|
|
393
|
-
});
|
|
394
|
-
var body;
|
|
395
|
-
if (syncError) {
|
|
396
|
-
body = /* @__PURE__ */_jsx(EmptyState, {
|
|
397
|
-
intent: "error",
|
|
398
|
-
title: t("report.loadFailed", "Couldn't load report rows"),
|
|
399
|
-
description: syncError.message,
|
|
400
|
-
action: /* @__PURE__ */_jsx(Button, {
|
|
401
|
-
size: "$3",
|
|
402
|
-
onPress: function onPress() {
|
|
403
|
-
setSyncError(null);
|
|
404
|
-
setRetryGen(function (generation) {
|
|
405
|
-
return generation + 1;
|
|
406
|
-
});
|
|
407
|
-
},
|
|
408
|
-
children: t("report.retry", "Retry")
|
|
409
|
-
})
|
|
410
|
-
});
|
|
411
|
-
} else if (rowsLoading && total === 0) {
|
|
412
|
-
body = /* @__PURE__ */_jsx(ViewLoading, {});
|
|
413
|
-
} else if (total === 0) {
|
|
414
|
-
var hasFilters = effectiveFilters.length > 0;
|
|
415
|
-
body = /* @__PURE__ */_jsx(EmptyState, {
|
|
416
|
-
title: t("report.emptyTitle", "No results"),
|
|
417
|
-
description: hasFilters ? t("report.emptyFiltered", "No rows match the current filters") : t("report.emptyDescription", {
|
|
418
|
-
defaultValue: "There are no {{doctype}} records yet",
|
|
419
|
-
doctype
|
|
420
|
-
}),
|
|
421
|
-
action: hasFilters ? /* @__PURE__ */_jsx(Button, {
|
|
422
|
-
size: "$3",
|
|
423
|
-
onPress: function onPress() {
|
|
424
|
-
handleClearColumnFilters();
|
|
425
|
-
handleClearBaseFilters();
|
|
426
|
-
},
|
|
427
|
-
children: t("report.clearAllFilters", "Clear all filters")
|
|
428
|
-
}) : void 0
|
|
429
|
-
});
|
|
430
|
-
} else {
|
|
431
|
-
body = /* @__PURE__ */_jsx(ReportGrid, {
|
|
432
|
-
columns: selectedColumns,
|
|
433
|
-
rows: gridRows,
|
|
434
|
-
sort,
|
|
435
|
-
onSortChange: setSortOverride,
|
|
436
|
-
columnFilters: filterDrafts,
|
|
437
|
-
onColumnFilterChange: handleColumnFilterChange,
|
|
438
|
-
onOpenRow: handleOpenRow,
|
|
439
|
-
onOpenLink: handleOpenLink,
|
|
440
|
-
totals,
|
|
441
|
-
groupByColumn
|
|
442
|
-
});
|
|
443
|
-
}
|
|
444
|
-
var content = /* @__PURE__ */_jsxs(YStack, {
|
|
445
|
-
flex: 1,
|
|
446
|
-
minWidth: 0,
|
|
447
|
-
children: [/* @__PURE__ */_jsx(ReportToolbar, {
|
|
448
|
-
columns: allColumns,
|
|
449
|
-
selected: selectedFieldnames,
|
|
450
|
-
onToggleColumn: handleToggleColumn,
|
|
451
|
-
onResetColumns: handleResetColumns,
|
|
452
|
-
groupBy,
|
|
453
|
-
onGroupByChange: setGroupBy,
|
|
454
|
-
baseFilters,
|
|
455
|
-
onClearBaseFilters: baseFilters.length > 0 ? handleClearBaseFilters : void 0,
|
|
456
|
-
columnFilterCount: activeColumnFilterCount,
|
|
457
|
-
onClearColumnFilters: handleClearColumnFilters,
|
|
458
|
-
savedReports: savedReports.reports,
|
|
459
|
-
currentReport,
|
|
460
|
-
onSelectReport: handleSelectReport,
|
|
461
|
-
onSaveReport: handleSaveReport,
|
|
462
|
-
onDeleteReport: handleDeleteReport,
|
|
463
|
-
onExport: handleExport,
|
|
464
|
-
exportDisabled: total === 0
|
|
465
|
-
}), /* @__PURE__ */_jsx(YStack, {
|
|
466
|
-
flex: 1,
|
|
467
|
-
minWidth: 0,
|
|
468
|
-
paddingHorizontal: "$3",
|
|
469
|
-
children: body
|
|
470
|
-
}), total > 0 && !syncError && /* @__PURE__ */_jsx(YStack, {
|
|
471
|
-
paddingHorizontal: "$3",
|
|
472
|
-
paddingVertical: "$2",
|
|
473
|
-
children: /* @__PURE__ */_jsx(DataTablePagination, {
|
|
474
|
-
pagination: {
|
|
475
|
-
pageIndex: effectivePage,
|
|
476
|
-
pageSize,
|
|
477
|
-
totalCount: total,
|
|
478
|
-
totalPages: pageCount
|
|
479
|
-
},
|
|
480
|
-
onPaginationChange: function onPaginationChange(next) {
|
|
481
|
-
setPage(next.pageIndex);
|
|
482
|
-
setPageSize(next.pageSize);
|
|
483
|
-
},
|
|
484
|
-
pageSizeOptions: [...REPORT_PAGE_SIZES],
|
|
485
|
-
compact: true
|
|
486
|
-
})
|
|
487
|
-
})]
|
|
488
|
-
});
|
|
489
|
-
return isWeb ? content : /* @__PURE__ */_jsx(ScrollView, {
|
|
490
|
-
flex: 1,
|
|
491
|
-
children: content
|
|
492
60
|
});
|
|
493
61
|
}
|
|
494
62
|
export { DoctypeReportView };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","EmptyState","ScrollView","YStack","isWeb","notify","Button","Order","useFrappeCollection","useLiveQuery","downloadBlob","storage","DataTablePagination","React","useCallback","useEffect","useMemo","useState","useTranslation","useBackofficeLocation","useBackofficeNavigator","useBackofficePaths","BACKOFFICE_I18N_NAMESPACE","useDeskScope","useDoctypeMeta","useViewConnection","ViewError","ViewLoading","ReportGrid","ReportToolbar","useSavedReports","DEFAULT_REPORT_PAGE_SIZE","REPORT_PAGE_SIZES","buildGridRows","buildReportCsv","columnFilterTuples","computeTotals","defaultReportFieldnames","orderReportRows","parseReportFiltersParam","reportColumnsFromMeta","resolveSelectedColumns","_instanceof","left","right","Symbol","hasInstance","EMPTY_FILTERS","COLUMN_FILTER_DEBOUNCE_MS","columnsStorageKey","doctype","readStoredColumns","raw","Promise","resolve","getItem","parsed","JSON","parse","Array","isArray","every","entry","unused","persistStoredColumns","fieldnames","setItem","stringify","DoctypeReportView","param","filtersParam","initialFilters","_ref","_ref1","_ref2","_params_report","t","deskScope","navigator","paths","params","connection","fixtureMode","Boolean","fixtures","meta","loading","metaLoading","error","metaError","savedReports","rawReportParam","report","currentReport","decodeURIComponent","allColumns","defaultFieldnames","storedColumns","setStoredColumns","selectedOverride","setSelectedOverride","cancelled","then","stored","selectedFieldnames","selectedColumns","urlFilters","filtersCleared","setFiltersCleared","reportFilters","setReportFilters","baseFilters","filterDrafts","setFilterDrafts","committedFilters","setCommittedFilters","handle","setTimeout","previous","clearTimeout","columnTuples","effectiveFilters","metaSort","field","sort_field","split","order","sort_order","toLowerCase","sortOverride","setSortOverride","sort","groupBy","setGroupBy","pageSize","setPageSize","page","setPage","filtersKey","load","config","_config_groupBy","length","filters","some","size","handleToggleColumn","fieldname","_ref3","current","next","includes","filter","handleResetColumns","fetchFields","fields","Set","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","done","column","value","add","err","return","syncError","setSyncError","handleSyncError","Error","String","retryGen","setRetryGen","collectionConfig","collection","orderBy","Asc","Desc","onSyncError","data","rowsData","isLoading","rowsLoading","q","from","_report","orderedRows","total","pageCount","Math","max","ceil","effectivePage","min","gridRows","totals","groupByColumn","find","handleOpenRow","name","navigate","form","handleOpenLink","targetDoctype","handleSelectReport","base","view","replace","encodeURIComponent","handleClearBaseFilters","handleSaveReport","save","addTotals","savedName","severity","scope","body","defaultValue","catch","message","handleDeleteReport","remove","handleExport","Blob","type","count","defaultValue_one","defaultValue_other"],"sources":["../../../src/report/DoctypeReportView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","FrappeReportBuilder","parseReportFiltersParam","React","useCallback","useMemo","useBackofficeLocation","useBackofficeNavigator","useBackofficePaths","useDeskScope","ViewError","ViewLoading","DoctypeReportView","param","doctype","filtersParam","initialFilters","_params_report","deskScope","navigator","paths","params","rawReportParam","report","currentReport","decodeURIComponent","unused","urlFilters","openForm","targetDoctype","name","navigate","form","selectReport","base","view","replace","encodeURIComponent","clearUrlFilters","filters","scopeFilters","onClearFilters","onReportChange","onOpenRow"],"sources":["../../../src/report/DoctypeReportView.tsx"],"sourcesContent":[null],"mappings":"AAKA,SAASA,GAAA,IAAAC,IAAA,2BAAqB;AAC9B,SAAgBC,mBAAa,EAAAC,uBAAe;AAC5C,OAAAC,KAAA,IAAAC,WAAA,EAAAC,OAAA;AAAA,SACEC,qBAAA,EAAAC,sBAAA,EAAAC,kBAAA;AAAA,SACAC,YAAA;AAAA,SACAC,SAAA,EAAAC,WAAA;AAAA,SACKC,kBAAAC,KAAA;EACP;IAAAC,OAAS;IAAAC,YAAoB;IAAAC;EAAA,IAAAH,KAAA;EAE7B,IAAAI,cAAoB;EA+DL,IAAAC,SAAA,GAAAT,YAAA;EAhDR,IAAAU,SAAS,GAAAZ,sBAAkB;EAChC,IAAAa,KAAA,GAAAZ,kBAAA;EACA;IAAAa;EAAA,IAAAf,qBAAA;EACA,IAAAgB,cAAA,UAAAD,MAAA,CAAAE,MAAA,gBAAAF,MAAA,CAAAE,MAAA,IAAAN,cAAA,GAAAI,MAAA,CAAAE,MAAA,cAAAN,cAAA,uBAAAA,cAAA;EACF,IAA2BO,aAAA,GAAAnB,OAAA;IACzB,IAAM,CAAAiB,cAAY,aAAa;IAC/B,IAAM;MACN,OAAMG,kBAAQ,CAAAH,cAAmB;IACjC,SAAQI,MAAO,EAAI;MAInB,OAAMJ,cAAiB;IACvB;EACE,IACAA,cAAI,CACF;EAAwC,IAC1CK,UAAQ,GAAAtB,OAAA;IACN,OAAAH,uBAAO,CAAAa,YAAA;EAAA,GACT,CACFA,YAAI,CACJ;EAEA,IAAAa,QAAM,GAAAxB,WAAW,WAAAyB,aAAA,EAAAC,IAAA;IACf,OAACX,SAAuB,CAAAY,QAAiB,CAAAX,KAAA,CAAAY,IAAU,CAAAH,aAAe,EAAAC,IAAK;EAAoB,GAC1F,CACHX,SAAA,EACAC,KAAM,CAAe,CACnB;EACE,IAAAa,YAAM,GAAO7B,WAAW,WAAS0B,IAAA,EAAQ;IACzC,IAAAI,IAAA,GAAAd,KAAU,CAAAe,IAAQ,CAAArB,OAAO,EAAG,QAAI;IAClCK,SAAA,CAAAiB,OAAA,CAAAN,IAAA,MAAAI,IAAA,WAAAG,kBAAA,CAAAP,IAAA,MAAAI,IAAA;EAAA,GACC,CACHf,SAAA,EACAC,KAAM,EACJN,OAAI,CACN;EAEA,IAAAwB,eACE,GAAAlC,WAAA;IAAC,IAAAuB,UAAA,EAAAR,SAAA,CAAAiB,OAAA,CAAAhB,KAAA,CAAAe,IAAA,CAAArB,OAAA;EAAA,IAAAa,UACC,EAAAR,SACA,EAAuBC,KACvB,EAAcN,OACd,CAAgB;EACR,OACR,eAAgBd,IAAA,CAAAC,mBAAA;IAAAa,OAChB;IAA2CyB,OAC3C,EAAAZ,UAAY,aAAAA,UAAA,cAAAA,UAAA,GAAAX,cAAA;IAAAwB,YACH,EAAAtB,SAAA;IAAauB,cACd,EAAAH,eAAU;IAA2Cf,MAAA,EAAAC,aAAA;IAC/DkB,cAAA,EAAAT,YAAA;IAEJU,SAAA,WAAAA,UAAAb,IAAA","ignoreList":[]}
|
|
@@ -6,12 +6,11 @@ import { DownloadSimpleIcon } from "@phosphor-icons/react";
|
|
|
6
6
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
7
7
|
import { useTranslation } from "react-i18next";
|
|
8
8
|
import { useBackofficeLocation, useBackofficeNavigator, useBackofficePaths } from "../config/BackofficeProvider.mjs";
|
|
9
|
+
import { buildQueryReportColumns, buildQueryReportCsv, defaultFilterValues, isEmptyFilterValue, scrubFieldname, stripReportHtml as stripHtml, useQueryReport } from "@multiplatform.one/frappe-ui";
|
|
9
10
|
import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
|
|
10
|
-
import { buildQueryReportColumns, buildQueryReportCsv } from "./queryReportColumns.mjs";
|
|
11
11
|
import { QueryReportFilterBar, queryReportFilterLabel } from "./queryReportFilterBar.mjs";
|
|
12
12
|
import { parseQueryReportFiltersParam, serializeQueryReportFiltersParam } from "./queryReportUrlState.mjs";
|
|
13
|
-
import {
|
|
14
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
14
|
const PAGE_SIZES = [20, 100, 500];
|
|
16
15
|
function QueryReportScreen({
|
|
17
16
|
reportName,
|
|
@@ -139,6 +138,15 @@ function QueryReportScreen({
|
|
|
139
138
|
}),
|
|
140
139
|
description: t("queryReport.disabledDescription", "Enable the report from its Report document to run it")
|
|
141
140
|
});
|
|
141
|
+
} else if (report.error && report.refused) {
|
|
142
|
+
body = /* @__PURE__ */jsx(EmptyState, {
|
|
143
|
+
testID: "frappe-report-not-permitted",
|
|
144
|
+
title: t("queryReport.notPermitted", {
|
|
145
|
+
defaultValue: `You can't run "{{report}}"`,
|
|
146
|
+
report: title
|
|
147
|
+
}),
|
|
148
|
+
description: report.error.message
|
|
149
|
+
});
|
|
142
150
|
} else if (report.error) {
|
|
143
151
|
body = /* @__PURE__ */jsxs(YStack, {
|
|
144
152
|
flex: 1,
|
|
@@ -218,19 +226,21 @@ function QueryReportScreen({
|
|
|
218
226
|
alignItems: "center",
|
|
219
227
|
children: [report.running && !report.loading ? /* @__PURE__ */jsx(Spinner, {
|
|
220
228
|
size: "small"
|
|
221
|
-
}) : null, /* @__PURE__ */
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
229
|
+
}) : null, report.refused ? null : /* @__PURE__ */jsxs(Fragment, {
|
|
230
|
+
children: [/* @__PURE__ */jsx(Button, {
|
|
231
|
+
size: "$2",
|
|
232
|
+
chromeless: true,
|
|
233
|
+
onPress: report.reload,
|
|
234
|
+
disabled: report.loading,
|
|
235
|
+
children: t("queryReport.refresh", "Refresh")
|
|
236
|
+
}), /* @__PURE__ */jsx(Button, {
|
|
237
|
+
size: "$2",
|
|
238
|
+
chromeless: true,
|
|
239
|
+
icon: DownloadSimpleIcon,
|
|
240
|
+
onPress: handleExport,
|
|
241
|
+
disabled: report.loading || report.rows.length === 0,
|
|
242
|
+
children: t("queryReport.exportCsv", "Export CSV")
|
|
243
|
+
})]
|
|
234
244
|
})]
|
|
235
245
|
})
|
|
236
246
|
}), report.serverMessage ? /* @__PURE__ */jsx(Text, {
|