@multiplatform.one/backoffice 7.28.1 → 7.29.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/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
|
@@ -33,11 +33,10 @@ var import_react = require("@phosphor-icons/react");
|
|
|
33
33
|
var import_react2 = require("react");
|
|
34
34
|
var import_react_i18next = require("react-i18next");
|
|
35
35
|
var import_BackofficeProvider = require("../config/BackofficeProvider.cjs");
|
|
36
|
+
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
36
37
|
var import_i18n = require("../i18n/index.cjs");
|
|
37
|
-
var import_queryReportColumns = require("./queryReportColumns.cjs");
|
|
38
38
|
var import_queryReportFilterBar = require("./queryReportFilterBar.cjs");
|
|
39
39
|
var import_queryReportUrlState = require("./queryReportUrlState.cjs");
|
|
40
|
-
var import_useQueryReport = require("./useQueryReport.cjs");
|
|
41
40
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
42
41
|
const PAGE_SIZES = [20, 100, 500];
|
|
43
42
|
function QueryReportScreen({
|
|
@@ -64,7 +63,7 @@ function QueryReportScreen({
|
|
|
64
63
|
if (Object.keys(fromParam).length > 0) return fromParam;
|
|
65
64
|
return initialFilters;
|
|
66
65
|
}, [rawFiltersParam, initialFilters]);
|
|
67
|
-
const report = (0,
|
|
66
|
+
const report = (0, import_frappe_ui.useQueryReport)(reportName, {
|
|
68
67
|
fixture,
|
|
69
68
|
initialFilters: initialFilterValues
|
|
70
69
|
});
|
|
@@ -95,7 +94,7 @@ function QueryReportScreen({
|
|
|
95
94
|
};
|
|
96
95
|
if (reportChanged || !paramChanged) return;
|
|
97
96
|
const parsed = (0, import_queryReportUrlState.parseQueryReportFiltersParam)(rawFiltersParam);
|
|
98
|
-
const next = Object.keys(parsed).length > 0 ? parsed : (0,
|
|
97
|
+
const next = Object.keys(parsed).length > 0 ? parsed : (0, import_frappe_ui.defaultFilterValues)(filterMetaRef.current);
|
|
99
98
|
if ((0, import_queryReportUrlState.serializeQueryReportFiltersParam)(next) === (0, import_queryReportUrlState.serializeQueryReportFiltersParam)(filtersRef.current)) return;
|
|
100
99
|
setFilters(next);
|
|
101
100
|
}, [reportName, rawFiltersParam, setFilters]);
|
|
@@ -109,17 +108,17 @@ function QueryReportScreen({
|
|
|
109
108
|
const tableColumns = (0, import_react2.useMemo)(() => {
|
|
110
109
|
const hidden = new Set(hiddenColumns ?? []);
|
|
111
110
|
const visible = hidden.size ? report.columns.filter(column => !hidden.has(column.fieldname)) : report.columns;
|
|
112
|
-
return (0,
|
|
111
|
+
return (0, import_frappe_ui.buildQueryReportColumns)({
|
|
113
112
|
columns: visible,
|
|
114
113
|
onOpenLink: handleOpenLink
|
|
115
114
|
});
|
|
116
115
|
}, [report.columns, handleOpenLink, hiddenColumns]);
|
|
117
116
|
const title = report.meta?.report_name || reportName;
|
|
118
|
-
const hasVisibleFilters = report.filterMeta.some(filter => filter.hidden !== 1 && !(0,
|
|
117
|
+
const hasVisibleFilters = report.filterMeta.some(filter => filter.hidden !== 1 && !(0, import_frappe_ui.isEmptyFilterValue)(report.filters[filter.fieldname]));
|
|
119
118
|
const clearVisibleFilters = (0, import_react2.useCallback)(() => {
|
|
120
119
|
const next = {};
|
|
121
120
|
for (const filter of report.filterMeta) {
|
|
122
|
-
if (filter.hidden === 1 && !(0,
|
|
121
|
+
if (filter.hidden === 1 && !(0, import_frappe_ui.isEmptyFilterValue)(report.filters[filter.fieldname])) {
|
|
123
122
|
next[filter.fieldname] = report.filters[filter.fieldname];
|
|
124
123
|
}
|
|
125
124
|
}
|
|
@@ -127,9 +126,9 @@ function QueryReportScreen({
|
|
|
127
126
|
}, [report.filterMeta, report.filters, applyFilters]);
|
|
128
127
|
const handleExport = (0, import_react2.useCallback)(() => {
|
|
129
128
|
if (!import_components.isWeb || report.rows.length === 0) return;
|
|
130
|
-
(0, import_platform.downloadBlob)(new Blob([(0,
|
|
129
|
+
(0, import_platform.downloadBlob)(new Blob([(0, import_frappe_ui.buildQueryReportCsv)(report.columns, report.rows)], {
|
|
131
130
|
type: "text/csv;charset=utf-8;"
|
|
132
|
-
}), `${(0,
|
|
131
|
+
}), `${(0, import_frappe_ui.scrubFieldname)(title)}.csv`);
|
|
133
132
|
}, [report.columns, report.rows, title]);
|
|
134
133
|
const subtitle = (0, import_react2.useMemo)(() => {
|
|
135
134
|
if (report.loading) return void 0;
|
|
@@ -166,6 +165,15 @@ function QueryReportScreen({
|
|
|
166
165
|
}),
|
|
167
166
|
description: t("queryReport.disabledDescription", "Enable the report from its Report document to run it")
|
|
168
167
|
});
|
|
168
|
+
} else if (report.error && report.refused) {
|
|
169
|
+
body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
|
|
170
|
+
testID: "frappe-report-not-permitted",
|
|
171
|
+
title: t("queryReport.notPermitted", {
|
|
172
|
+
defaultValue: `You can't run "{{report}}"`,
|
|
173
|
+
report: title
|
|
174
|
+
}),
|
|
175
|
+
description: report.error.message
|
|
176
|
+
});
|
|
169
177
|
} else if (report.error) {
|
|
170
178
|
body = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
171
179
|
flex: 1,
|
|
@@ -245,25 +253,27 @@ function QueryReportScreen({
|
|
|
245
253
|
alignItems: "center",
|
|
246
254
|
children: [report.running && !report.loading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Spinner, {
|
|
247
255
|
size: "small"
|
|
248
|
-
}) : null, /* @__PURE__ */(0, import_jsx_runtime.
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
256
|
+
}) : null, report.refused ? null : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
257
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
|
|
258
|
+
size: "$2",
|
|
259
|
+
chromeless: true,
|
|
260
|
+
onPress: report.reload,
|
|
261
|
+
disabled: report.loading,
|
|
262
|
+
children: t("queryReport.refresh", "Refresh")
|
|
263
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
|
|
264
|
+
size: "$2",
|
|
265
|
+
chromeless: true,
|
|
266
|
+
icon: import_react.DownloadSimpleIcon,
|
|
267
|
+
onPress: handleExport,
|
|
268
|
+
disabled: report.loading || report.rows.length === 0,
|
|
269
|
+
children: t("queryReport.exportCsv", "Export CSV")
|
|
270
|
+
})]
|
|
261
271
|
})]
|
|
262
272
|
})
|
|
263
273
|
}), report.serverMessage ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
264
274
|
fontSize: "$2",
|
|
265
275
|
color: "$color10",
|
|
266
|
-
children: (0,
|
|
276
|
+
children: (0, import_frappe_ui.stripReportHtml)(report.serverMessage)
|
|
267
277
|
}) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
268
278
|
flex: 1,
|
|
269
279
|
minWidth: 0,
|
|
@@ -48,11 +48,10 @@ var import_react2 = require("@phosphor-icons/react");
|
|
|
48
48
|
var import_react3 = require("react");
|
|
49
49
|
var import_react_i18next = require("react-i18next");
|
|
50
50
|
var import_BackofficeProvider = require("../config/BackofficeProvider.native.js");
|
|
51
|
+
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
51
52
|
var import_i18n = require("../i18n/index.native.js");
|
|
52
|
-
var import_queryReportColumns = require("./queryReportColumns.native.js");
|
|
53
53
|
var import_queryReportFilterBar = require("./queryReportFilterBar.native.js");
|
|
54
54
|
var import_queryReportUrlState = require("./queryReportUrlState.native.js");
|
|
55
|
-
var import_useQueryReport = require("./useQueryReport.native.js");
|
|
56
55
|
var PAGE_SIZES = [20, 100, 500];
|
|
57
56
|
function QueryReportScreen(param) {
|
|
58
57
|
var {
|
|
@@ -80,7 +79,7 @@ function QueryReportScreen(param) {
|
|
|
80
79
|
if (Object.keys(fromParam).length > 0) return fromParam;
|
|
81
80
|
return initialFilters;
|
|
82
81
|
}, [rawFiltersParam, initialFilters]);
|
|
83
|
-
var report = (0,
|
|
82
|
+
var report = (0, import_frappe_ui.useQueryReport)(reportName, {
|
|
84
83
|
fixture,
|
|
85
84
|
initialFilters: initialFilterValues
|
|
86
85
|
});
|
|
@@ -112,7 +111,7 @@ function QueryReportScreen(param) {
|
|
|
112
111
|
};
|
|
113
112
|
if (reportChanged || !paramChanged) return;
|
|
114
113
|
var parsed = (0, import_queryReportUrlState.parseQueryReportFiltersParam)(rawFiltersParam);
|
|
115
|
-
var next = Object.keys(parsed).length > 0 ? parsed : (0,
|
|
114
|
+
var next = Object.keys(parsed).length > 0 ? parsed : (0, import_frappe_ui.defaultFilterValues)(filterMetaRef.current);
|
|
116
115
|
if ((0, import_queryReportUrlState.serializeQueryReportFiltersParam)(next) === (0, import_queryReportUrlState.serializeQueryReportFiltersParam)(filtersRef.current)) return;
|
|
117
116
|
setFilters(next);
|
|
118
117
|
}, [reportName, rawFiltersParam, setFilters]);
|
|
@@ -128,14 +127,14 @@ function QueryReportScreen(param) {
|
|
|
128
127
|
var visible = hidden.size ? report.columns.filter(function (column) {
|
|
129
128
|
return !hidden.has(column.fieldname);
|
|
130
129
|
}) : report.columns;
|
|
131
|
-
return (0,
|
|
130
|
+
return (0, import_frappe_ui.buildQueryReportColumns)({
|
|
132
131
|
columns: visible,
|
|
133
132
|
onOpenLink: handleOpenLink
|
|
134
133
|
});
|
|
135
134
|
}, [report.columns, handleOpenLink, hiddenColumns]);
|
|
136
135
|
var title = ((_report_meta = report.meta) === null || _report_meta === void 0 ? void 0 : _report_meta.report_name) || reportName;
|
|
137
136
|
var hasVisibleFilters = report.filterMeta.some(function (filter) {
|
|
138
|
-
return filter.hidden !== 1 && !(0,
|
|
137
|
+
return filter.hidden !== 1 && !(0, import_frappe_ui.isEmptyFilterValue)(report.filters[filter.fieldname]);
|
|
139
138
|
});
|
|
140
139
|
var clearVisibleFilters = (0, import_react3.useCallback)(function () {
|
|
141
140
|
var next = {};
|
|
@@ -145,7 +144,7 @@ function QueryReportScreen(param) {
|
|
|
145
144
|
try {
|
|
146
145
|
for (var _iterator = report.filterMeta[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
147
146
|
var filter = _step.value;
|
|
148
|
-
if (filter.hidden === 1 && !(0,
|
|
147
|
+
if (filter.hidden === 1 && !(0, import_frappe_ui.isEmptyFilterValue)(report.filters[filter.fieldname])) {
|
|
149
148
|
next[filter.fieldname] = report.filters[filter.fieldname];
|
|
150
149
|
}
|
|
151
150
|
}
|
|
@@ -167,9 +166,9 @@ function QueryReportScreen(param) {
|
|
|
167
166
|
}, [report.filterMeta, report.filters, applyFilters]);
|
|
168
167
|
var handleExport = (0, import_react3.useCallback)(function () {
|
|
169
168
|
if (!import_components.isWeb || report.rows.length === 0) return;
|
|
170
|
-
(0, import_platform.downloadBlob)(new Blob([(0,
|
|
169
|
+
(0, import_platform.downloadBlob)(new Blob([(0, import_frappe_ui.buildQueryReportCsv)(report.columns, report.rows)], {
|
|
171
170
|
type: "text/csv;charset=utf-8;"
|
|
172
|
-
}), `${(0,
|
|
171
|
+
}), `${(0, import_frappe_ui.scrubFieldname)(title)}.csv`);
|
|
173
172
|
}, [report.columns, report.rows, title]);
|
|
174
173
|
var subtitle = (0, import_react3.useMemo)(function () {
|
|
175
174
|
var _report_meta2;
|
|
@@ -207,6 +206,15 @@ function QueryReportScreen(param) {
|
|
|
207
206
|
}),
|
|
208
207
|
description: t("queryReport.disabledDescription", "Enable the report from its Report document to run it")
|
|
209
208
|
});
|
|
209
|
+
} else if (report.error && report.refused) {
|
|
210
|
+
body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
|
|
211
|
+
testID: "frappe-report-not-permitted",
|
|
212
|
+
title: t("queryReport.notPermitted", {
|
|
213
|
+
defaultValue: `You can't run "{{report}}"`,
|
|
214
|
+
report: title
|
|
215
|
+
}),
|
|
216
|
+
description: report.error.message
|
|
217
|
+
});
|
|
210
218
|
} else if (report.error) {
|
|
211
219
|
body = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
212
220
|
flex: 1,
|
|
@@ -290,25 +298,27 @@ function QueryReportScreen(param) {
|
|
|
290
298
|
alignItems: "center",
|
|
291
299
|
children: [report.running && !report.loading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Spinner, {
|
|
292
300
|
size: "small"
|
|
293
|
-
}) : null, /* @__PURE__ */(0, import_jsx_runtime.
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
301
|
+
}) : null, report.refused ? null : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
302
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
|
|
303
|
+
size: "$2",
|
|
304
|
+
chromeless: true,
|
|
305
|
+
onPress: report.reload,
|
|
306
|
+
disabled: report.loading,
|
|
307
|
+
children: t("queryReport.refresh", "Refresh")
|
|
308
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
|
|
309
|
+
size: "$2",
|
|
310
|
+
chromeless: true,
|
|
311
|
+
icon: import_react2.DownloadSimpleIcon,
|
|
312
|
+
onPress: handleExport,
|
|
313
|
+
disabled: report.loading || report.rows.length === 0,
|
|
314
|
+
children: t("queryReport.exportCsv", "Export CSV")
|
|
315
|
+
})]
|
|
306
316
|
})]
|
|
307
317
|
})
|
|
308
318
|
}), report.serverMessage ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
309
319
|
fontSize: "$2",
|
|
310
320
|
color: "$color10",
|
|
311
|
-
children: (0,
|
|
321
|
+
children: (0, import_frappe_ui.stripReportHtml)(report.serverMessage)
|
|
312
322
|
}) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
|
|
313
323
|
flex: 1,
|
|
314
324
|
minWidth: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","QueryReportScreen_exports","__export","QueryReportScreen","module","exports","import_jsx_runtime","require","import_react","import_components","import_table","import_platform","import_theme","import_react2","import_react3","import_react_i18next","import_BackofficeProvider","
|
|
1
|
+
{"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","QueryReportScreen_exports","__export","QueryReportScreen","module","exports","import_jsx_runtime","require","import_react","import_components","import_table","import_platform","import_theme","import_react2","import_react3","import_react_i18next","import_BackofficeProvider","import_frappe_ui","import_i18n","import_queryReportFilterBar","import_queryReportUrlState","PAGE_SIZES","param","reportName","fixture","initialFilters","hiddenColumns","onRowOpen","_report_meta","_report_meta1","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","knobProps","useResolvedKnobs","navigator","useBackofficeNavigator","paths","useBackofficePaths","params","useBackofficeLocation","rawFiltersParam","filters","Array","isArray","initialFilterValues","useMemo","fromParam","parseQueryReportFiltersParam","Object","keys","length","report","useQueryReport","setFilters","applyFilters","useCallback","next","_navigator_setParams","setParams","call","serializeQueryReportFiltersParam","filtersRef","useRef","current","filterMetaRef","filterMeta","lastAdopted","useEffect","last","reportChanged","paramChanged","parsed","defaultFilterValues","handleOpenLink","doctype","name","navigate","form","tableColumns","hidden","Set","visible","size","columns","filter","column","has","fieldname","buildQueryReportColumns","onOpenLink","title","meta","report_name","hasVisibleFilters","some","isEmptyFilterValue","clearVisibleFilters","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","handleExport","isWeb","rows","downloadBlob","Blob","buildQueryReportCsv","type","scrubFieldname","subtitle","_report_meta2","loading","bits","ref_doctype","push","error","missingRequired","defaultValue","count","executionTime","seconds","toFixed","join","body","jsx","YStack","flex","alignItems","justifyContent","padding","children","Spinner","disabled","EmptyState","description","refused","testID","message","jsxs","gap","intent","action","Button","theme","onPress","reload","scriptFilterGap","Text","fontSize","color","textAlign","paddingHorizontal","map","queryReportFilterLabel"],"sources":["../../../src/report/QueryReportScreen.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -22,110 +22,8 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
22
22
|
}), mod);
|
|
23
23
|
var queryReportColumns_exports = {};
|
|
24
24
|
__export(queryReportColumns_exports, {
|
|
25
|
-
buildQueryReportColumns: () => buildQueryReportColumns,
|
|
26
|
-
buildQueryReportCsv: () => buildQueryReportCsv
|
|
25
|
+
buildQueryReportColumns: () => import_frappe_ui.buildQueryReportColumns,
|
|
26
|
+
buildQueryReportCsv: () => import_frappe_ui.buildQueryReportCsv
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(queryReportColumns_exports);
|
|
29
|
-
var
|
|
30
|
-
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
31
|
-
var import_useQueryReport = require("./useQueryReport.cjs");
|
|
32
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
33
|
-
const NUMERIC_FIELDTYPES = /* @__PURE__ */new Set(["Currency", "Float", "Int", "Percent", "Duration"]);
|
|
34
|
-
function queryReportCell(column, onOpenLink) {
|
|
35
|
-
return ({
|
|
36
|
-
getValue
|
|
37
|
-
}) => {
|
|
38
|
-
const raw = getValue();
|
|
39
|
-
if (raw === null || raw === void 0 || raw === "") {
|
|
40
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
41
|
-
fontSize: "$3",
|
|
42
|
-
color: "$color8",
|
|
43
|
-
children: "\u2014"
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
if (column.fieldtype === "Check") {
|
|
47
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
48
|
-
fontSize: "$3",
|
|
49
|
-
color: raw ? "$green11" : "$color8",
|
|
50
|
-
children: raw ? "\u2713" : "\u2014"
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
const value = String(raw);
|
|
54
|
-
if (NUMERIC_FIELDTYPES.has(column.fieldtype)) {
|
|
55
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
56
|
-
fontSize: "$3",
|
|
57
|
-
color: "$color12",
|
|
58
|
-
textAlign: "right",
|
|
59
|
-
children: value
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
switch (column.fieldtype) {
|
|
63
|
-
case "Date":
|
|
64
|
-
case "Datetime":
|
|
65
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
66
|
-
fontSize: "$3",
|
|
67
|
-
color: "$color11",
|
|
68
|
-
children: (0, import_frappe_ui.formatDateCell)(value)
|
|
69
|
-
});
|
|
70
|
-
case "Link":
|
|
71
|
-
{
|
|
72
|
-
const doctype = column.options;
|
|
73
|
-
if (doctype && onOpenLink) {
|
|
74
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
75
|
-
fontSize: "$3",
|
|
76
|
-
color: "$color11",
|
|
77
|
-
textDecorationLine: "underline",
|
|
78
|
-
cursor: "pointer",
|
|
79
|
-
numberOfLines: 1,
|
|
80
|
-
role: "link",
|
|
81
|
-
onPress: event => {
|
|
82
|
-
event?.stopPropagation?.();
|
|
83
|
-
onOpenLink(doctype, value);
|
|
84
|
-
},
|
|
85
|
-
children: value
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
89
|
-
fontSize: "$3",
|
|
90
|
-
color: "$color11",
|
|
91
|
-
numberOfLines: 1,
|
|
92
|
-
children: value
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
default:
|
|
96
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
97
|
-
fontSize: "$3",
|
|
98
|
-
color: "$color11",
|
|
99
|
-
numberOfLines: 1,
|
|
100
|
-
children: (0, import_useQueryReport.stripHtml)(value)
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
function buildQueryReportColumns({
|
|
106
|
-
columns,
|
|
107
|
-
onOpenLink
|
|
108
|
-
}) {
|
|
109
|
-
return columns.map(column => ({
|
|
110
|
-
id: column.fieldname,
|
|
111
|
-
header: column.label,
|
|
112
|
-
// accessorFn (not accessorKey): report fieldnames may contain path-y
|
|
113
|
-
// characters like "assigned_to/owner" that key-based access mangles.
|
|
114
|
-
accessorFn: row => row[column.fieldname],
|
|
115
|
-
...(NUMERIC_FIELDTYPES.has(column.fieldtype) ? {
|
|
116
|
-
align: "right"
|
|
117
|
-
} : {}),
|
|
118
|
-
...(column.width ? {
|
|
119
|
-
width: column.width
|
|
120
|
-
} : {}),
|
|
121
|
-
cell: queryReportCell(column, onOpenLink)
|
|
122
|
-
}));
|
|
123
|
-
}
|
|
124
|
-
function escapeCsvCell(value) {
|
|
125
|
-
if (value === null || value === void 0) return "";
|
|
126
|
-
const text = (0, import_useQueryReport.stripHtml)(String(value));
|
|
127
|
-
return /[",\n]/.test(text) ? `"${text.replace(/"/g, '""')}"` : text;
|
|
128
|
-
}
|
|
129
|
-
function buildQueryReportCsv(columns, rows) {
|
|
130
|
-
return [columns.map(column => escapeCsvCell(column.label)).join(","), ...rows.map(row => columns.map(column => escapeCsvCell(row[column.fieldname])).join(","))].join("\n");
|
|
131
|
-
}
|
|
29
|
+
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var __create = Object.create;
|
|
4
3
|
var __defProp = Object.defineProperty;
|
|
5
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
8
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
7
|
var __export = (target, all) => {
|
|
10
8
|
for (var name in all) __defProp(target, name, {
|
|
@@ -21,139 +19,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
21
19
|
}
|
|
22
20
|
return to;
|
|
23
21
|
};
|
|
24
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
-
value: mod,
|
|
31
|
-
enumerable: true
|
|
32
|
-
}) : target, mod));
|
|
33
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
23
|
value: true
|
|
35
24
|
}), mod);
|
|
36
25
|
var queryReportColumns_exports = {};
|
|
37
26
|
__export(queryReportColumns_exports, {
|
|
38
|
-
buildQueryReportColumns: () => buildQueryReportColumns,
|
|
39
|
-
buildQueryReportCsv: () => buildQueryReportCsv
|
|
27
|
+
buildQueryReportColumns: () => import_frappe_ui.buildQueryReportColumns,
|
|
28
|
+
buildQueryReportCsv: () => import_frappe_ui.buildQueryReportCsv
|
|
40
29
|
});
|
|
41
30
|
module.exports = __toCommonJS(queryReportColumns_exports);
|
|
42
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
43
|
-
var import_react = __toESM(require("react"));
|
|
44
|
-
var import_components = require("@multiplatform.one/components");
|
|
45
31
|
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
46
|
-
var import_useQueryReport = require("./useQueryReport.native.js");
|
|
47
|
-
var NUMERIC_FIELDTYPES = /* @__PURE__ */new Set(["Currency", "Float", "Int", "Percent", "Duration"]);
|
|
48
|
-
function queryReportCell(column, onOpenLink) {
|
|
49
|
-
return function (param) {
|
|
50
|
-
var {
|
|
51
|
-
getValue
|
|
52
|
-
} = param;
|
|
53
|
-
var raw = getValue();
|
|
54
|
-
if (raw === null || raw === void 0 || raw === "") {
|
|
55
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
56
|
-
fontSize: "$3",
|
|
57
|
-
color: "$color8",
|
|
58
|
-
children: "\u2014"
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
if (column.fieldtype === "Check") {
|
|
62
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
63
|
-
fontSize: "$3",
|
|
64
|
-
color: raw ? "$green11" : "$color8",
|
|
65
|
-
children: raw ? "\u2713" : "\u2014"
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
var value = String(raw);
|
|
69
|
-
if (NUMERIC_FIELDTYPES.has(column.fieldtype)) {
|
|
70
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
71
|
-
fontSize: "$3",
|
|
72
|
-
color: "$color12",
|
|
73
|
-
textAlign: "right",
|
|
74
|
-
children: value
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
switch (column.fieldtype) {
|
|
78
|
-
case "Date":
|
|
79
|
-
case "Datetime":
|
|
80
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
81
|
-
fontSize: "$3",
|
|
82
|
-
color: "$color11",
|
|
83
|
-
children: (0, import_frappe_ui.formatDateCell)(value)
|
|
84
|
-
});
|
|
85
|
-
case "Link":
|
|
86
|
-
{
|
|
87
|
-
var doctype = column.options;
|
|
88
|
-
if (doctype && onOpenLink) {
|
|
89
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
90
|
-
fontSize: "$3",
|
|
91
|
-
color: "$color11",
|
|
92
|
-
textDecorationLine: "underline",
|
|
93
|
-
cursor: "pointer",
|
|
94
|
-
numberOfLines: 1,
|
|
95
|
-
role: "link",
|
|
96
|
-
onPress: function onPress(event) {
|
|
97
|
-
var _event_stopPropagation;
|
|
98
|
-
event === null || event === void 0 ? void 0 : (_event_stopPropagation = event.stopPropagation) === null || _event_stopPropagation === void 0 ? void 0 : _event_stopPropagation.call(event);
|
|
99
|
-
onOpenLink(doctype, value);
|
|
100
|
-
},
|
|
101
|
-
children: value
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
105
|
-
fontSize: "$3",
|
|
106
|
-
color: "$color11",
|
|
107
|
-
numberOfLines: 1,
|
|
108
|
-
children: value
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
default:
|
|
112
|
-
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
|
|
113
|
-
fontSize: "$3",
|
|
114
|
-
color: "$color11",
|
|
115
|
-
numberOfLines: 1,
|
|
116
|
-
children: (0, import_useQueryReport.stripHtml)(value)
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
function buildQueryReportColumns(param) {
|
|
122
|
-
var {
|
|
123
|
-
columns,
|
|
124
|
-
onOpenLink
|
|
125
|
-
} = param;
|
|
126
|
-
return columns.map(function (column) {
|
|
127
|
-
return {
|
|
128
|
-
id: column.fieldname,
|
|
129
|
-
header: column.label,
|
|
130
|
-
// accessorFn (not accessorKey): report fieldnames may contain path-y
|
|
131
|
-
// characters like "assigned_to/owner" that key-based access mangles.
|
|
132
|
-
accessorFn: function accessorFn(row) {
|
|
133
|
-
return row[column.fieldname];
|
|
134
|
-
},
|
|
135
|
-
...(NUMERIC_FIELDTYPES.has(column.fieldtype) ? {
|
|
136
|
-
align: "right"
|
|
137
|
-
} : {}),
|
|
138
|
-
...(column.width ? {
|
|
139
|
-
width: column.width
|
|
140
|
-
} : {}),
|
|
141
|
-
cell: queryReportCell(column, onOpenLink)
|
|
142
|
-
};
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
function escapeCsvCell(value) {
|
|
146
|
-
if (value === null || value === void 0) return "";
|
|
147
|
-
var text = (0, import_useQueryReport.stripHtml)(String(value));
|
|
148
|
-
return /[",\n]/.test(text) ? `"${text.replace(/"/g, '""')}"` : text;
|
|
149
|
-
}
|
|
150
|
-
function buildQueryReportCsv(columns, rows) {
|
|
151
|
-
return [columns.map(function (column) {
|
|
152
|
-
return escapeCsvCell(column.label);
|
|
153
|
-
}).join(","), ...rows.map(function (row) {
|
|
154
|
-
return columns.map(function (column) {
|
|
155
|
-
return escapeCsvCell(row[column.fieldname]);
|
|
156
|
-
}).join(",");
|
|
157
|
-
})].join("\n");
|
|
158
|
-
}
|
|
159
32
|
//# sourceMappingURL=queryReportColumns.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","queryReportColumns_exports","__export","buildQueryReportColumns","import_frappe_ui","buildQueryReportCsv","module","exports"],"sources":["../../../src/report/queryReportColumns.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,0BAAA;AAAAC,QAAA,CAAAD,0BAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,uBAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAD,gBAAA,CAAAC;AAAA;AAEAC,MAAA,CAAAC,OAAA,GAAAX,YAA6D,CAAAK,0BAAA","ignoreList":[]}
|
|
@@ -36,7 +36,6 @@ var import_react2 = require("react");
|
|
|
36
36
|
var import_react_i18next = require("react-i18next");
|
|
37
37
|
var import_i18n = require("../i18n/index.cjs");
|
|
38
38
|
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
39
|
-
var import_reportShapes = require("./reportShapes.cjs");
|
|
40
39
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
41
40
|
function queryReportFilterLabel(filter) {
|
|
42
41
|
return filter.label || (0, import_frappe_ui.fieldLabelFor)([], filter.fieldname);
|
|
@@ -132,7 +131,7 @@ function ReportFilterControl({
|
|
|
132
131
|
});
|
|
133
132
|
default:
|
|
134
133
|
{
|
|
135
|
-
const showClear = !disabled && !(0,
|
|
134
|
+
const showClear = !disabled && !(0, import_frappe_ui.isEmptyFilterValue)(value);
|
|
136
135
|
const clearName = t("queryReport.clearFilter", {
|
|
137
136
|
label,
|
|
138
137
|
defaultValue: `Clear ${label}`
|
|
@@ -199,7 +198,7 @@ function QueryReportFilterBar({
|
|
|
199
198
|
setDraft(next);
|
|
200
199
|
}, [filterMeta, filters]);
|
|
201
200
|
const applyValues = (0, import_react2.useCallback)(values => {
|
|
202
|
-
onApply((0,
|
|
201
|
+
onApply((0, import_frappe_ui.compactQueryReportFilters)(filterMeta, values));
|
|
203
202
|
}, [filterMeta, onApply]);
|
|
204
203
|
const setFieldValue = (0, import_react2.useCallback)((fieldname, value, commit) => {
|
|
205
204
|
const next = {
|
|
@@ -214,7 +213,7 @@ function QueryReportFilterBar({
|
|
|
214
213
|
applyValues(draftRef.current);
|
|
215
214
|
}, [applyValues]);
|
|
216
215
|
const visible = filterMeta.filter(filter => filter.hidden !== 1);
|
|
217
|
-
const hasVisibleValue = visible.some(filter => !(0,
|
|
216
|
+
const hasVisibleValue = visible.some(filter => !(0, import_frappe_ui.isEmptyFilterValue)(draft[filter.fieldname]));
|
|
218
217
|
const clearAll = (0, import_react2.useCallback)(() => {
|
|
219
218
|
const next = {
|
|
220
219
|
...draftRef.current
|