@multiplatform.one/frappe-ui 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/dist/cjs/FrappeCalendar.cjs +3 -2
- package/dist/cjs/FrappeCalendar.native.js +3 -2
- package/dist/cjs/FrappeCalendar.native.js.map +1 -1
- package/dist/cjs/FrappeForm.cjs +148 -464
- package/dist/cjs/FrappeForm.native.js +152 -633
- package/dist/cjs/FrappeForm.native.js.map +1 -1
- package/dist/cjs/FrappeListView.cjs +5 -27
- package/dist/cjs/FrappeListView.native.js +11 -32
- package/dist/cjs/FrappeListView.native.js.map +1 -1
- package/dist/cjs/FrappeReportBuilder.cjs +523 -309
- package/dist/cjs/FrappeReportBuilder.native.js +658 -353
- package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
- package/dist/cjs/FrappeReportView.cjs +35 -234
- package/dist/cjs/FrappeReportView.native.js +39 -283
- package/dist/cjs/FrappeReportView.native.js.map +1 -1
- package/dist/cjs/dependsOn.cjs +2 -2
- package/dist/cjs/dependsOn.native.js +1 -2
- package/dist/cjs/dependsOn.native.js.map +1 -1
- package/dist/cjs/fields/shared/EditorPreviewPanes.cjs +2 -2
- package/dist/cjs/fields/shared/EditorPreviewPanes.native.js +2 -2
- package/dist/cjs/fields/shared/EditorPreviewPanes.native.js.map +1 -1
- package/dist/cjs/formEngine/docPermissions.cjs +20 -0
- package/dist/cjs/formEngine/docPermissions.native.js +69 -0
- package/dist/cjs/formEngine/docPermissions.native.js.map +1 -1
- package/dist/cjs/formEngine/index.cjs +2 -0
- package/dist/cjs/formEngine/index.native.js +2 -0
- package/dist/cjs/formEngine/index.native.js.map +1 -1
- package/dist/cjs/index.cjs +67 -7
- package/dist/cjs/index.native.js +67 -7
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/liveErrors.cjs +8 -2
- package/dist/cjs/liveErrors.native.js +8 -2
- package/dist/cjs/liveErrors.native.js.map +1 -1
- package/dist/cjs/measures.cjs +31 -0
- package/dist/cjs/measures.native.js +34 -0
- package/dist/cjs/measures.native.js.map +1 -0
- package/dist/cjs/recordShape.cjs +103 -0
- package/dist/cjs/recordShape.native.js +115 -0
- package/dist/cjs/recordShape.native.js.map +1 -0
- package/dist/cjs/report/ReportGrid.cjs +453 -0
- package/dist/cjs/report/ReportGrid.native.js +510 -0
- package/dist/cjs/report/ReportGrid.native.js.map +1 -0
- package/dist/cjs/report/ReportViewToolbar.cjs +253 -0
- package/dist/cjs/report/ReportViewToolbar.native.js +303 -0
- package/dist/cjs/report/ReportViewToolbar.native.js.map +1 -0
- package/dist/cjs/report/queryReport.cjs +444 -0
- package/dist/cjs/report/queryReport.native.js +588 -0
- package/dist/cjs/report/queryReport.native.js.map +1 -0
- package/dist/cjs/report/queryReportColumns.cjs +131 -0
- package/dist/cjs/report/queryReportColumns.native.js +159 -0
- package/dist/cjs/report/queryReportColumns.native.js.map +1 -0
- package/dist/cjs/report/reportViewModel.cjs +386 -0
- package/dist/cjs/report/reportViewModel.native.js +657 -0
- package/dist/cjs/report/reportViewModel.native.js.map +1 -0
- package/dist/cjs/report/savedReports.cjs +137 -0
- package/dist/cjs/report/savedReports.native.js +169 -0
- package/dist/cjs/report/savedReports.native.js.map +1 -0
- package/dist/cjs/report/useFrappeReport.cjs +184 -0
- package/dist/cjs/report/useFrappeReport.native.js +214 -0
- package/dist/cjs/report/useFrappeReport.native.js.map +1 -0
- package/dist/cjs/report/useQueryReport.cjs +201 -0
- package/dist/cjs/report/useQueryReport.native.js +233 -0
- package/dist/cjs/report/useQueryReport.native.js.map +1 -0
- package/dist/cjs/useFrappeForm.cjs +558 -0
- package/dist/cjs/useFrappeForm.native.js +714 -0
- package/dist/cjs/useFrappeForm.native.js.map +1 -0
- package/dist/esm/FrappeCalendar.mjs +4 -3
- package/dist/esm/FrappeCalendar.mjs.map +1 -1
- package/dist/esm/FrappeCalendar.native.js +4 -3
- package/dist/esm/FrappeCalendar.native.js.map +1 -1
- package/dist/esm/FrappeForm.mjs +151 -467
- package/dist/esm/FrappeForm.mjs.map +1 -1
- package/dist/esm/FrappeForm.native.js +155 -636
- package/dist/esm/FrappeForm.native.js.map +1 -1
- package/dist/esm/FrappeListView.mjs +6 -28
- package/dist/esm/FrappeListView.mjs.map +1 -1
- package/dist/esm/FrappeListView.native.js +12 -33
- package/dist/esm/FrappeListView.native.js.map +1 -1
- package/dist/esm/FrappeReportBuilder.mjs +526 -312
- package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
- package/dist/esm/FrappeReportBuilder.native.js +661 -356
- package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
- package/dist/esm/FrappeReportView.mjs +30 -229
- package/dist/esm/FrappeReportView.mjs.map +1 -1
- package/dist/esm/FrappeReportView.native.js +34 -278
- package/dist/esm/FrappeReportView.native.js.map +1 -1
- package/dist/esm/dependsOn.mjs +2 -2
- package/dist/esm/dependsOn.mjs.map +1 -1
- package/dist/esm/dependsOn.native.js +1 -2
- package/dist/esm/dependsOn.native.js.map +1 -1
- package/dist/esm/fields/shared/EditorPreviewPanes.mjs +2 -2
- package/dist/esm/fields/shared/EditorPreviewPanes.mjs.map +1 -1
- package/dist/esm/fields/shared/EditorPreviewPanes.native.js +2 -2
- package/dist/esm/fields/shared/EditorPreviewPanes.native.js.map +1 -1
- package/dist/esm/formEngine/docPermissions.mjs +19 -1
- package/dist/esm/formEngine/docPermissions.mjs.map +1 -1
- package/dist/esm/formEngine/docPermissions.native.js +68 -1
- package/dist/esm/formEngine/docPermissions.native.js.map +1 -1
- package/dist/esm/formEngine/index.mjs +2 -2
- package/dist/esm/formEngine/index.mjs.map +1 -1
- package/dist/esm/formEngine/index.native.js +2 -2
- package/dist/esm/formEngine/index.native.js.map +1 -1
- package/dist/esm/index.mjs +16 -4
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +16 -4
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/liveErrors.mjs +8 -3
- package/dist/esm/liveErrors.mjs.map +1 -1
- package/dist/esm/liveErrors.native.js +8 -3
- package/dist/esm/liveErrors.native.js.map +1 -1
- package/dist/esm/measures.mjs +5 -0
- package/dist/esm/measures.mjs.map +1 -0
- package/dist/esm/measures.native.js +5 -0
- package/dist/esm/measures.native.js.map +1 -0
- package/dist/esm/recordShape.mjs +74 -0
- package/dist/esm/recordShape.mjs.map +1 -0
- package/dist/esm/recordShape.native.js +83 -0
- package/dist/esm/recordShape.native.js.map +1 -0
- package/dist/esm/report/ReportGrid.mjs +428 -0
- package/dist/esm/report/ReportGrid.mjs.map +1 -0
- package/dist/esm/report/ReportGrid.native.js +471 -0
- package/dist/esm/report/ReportGrid.native.js.map +1 -0
- package/dist/esm/report/ReportViewToolbar.mjs +228 -0
- package/dist/esm/report/ReportViewToolbar.mjs.map +1 -0
- package/dist/esm/report/ReportViewToolbar.native.js +264 -0
- package/dist/esm/report/ReportViewToolbar.native.js.map +1 -0
- package/dist/esm/report/queryReport.mjs +404 -0
- package/dist/esm/report/queryReport.mjs.map +1 -0
- package/dist/esm/report/queryReport.native.js +545 -0
- package/dist/esm/report/queryReport.native.js.map +1 -0
- package/dist/esm/report/queryReportColumns.mjs +105 -0
- package/dist/esm/report/queryReportColumns.mjs.map +1 -0
- package/dist/esm/report/queryReportColumns.native.js +119 -0
- package/dist/esm/report/queryReportColumns.native.js.map +1 -0
- package/dist/esm/report/reportViewModel.mjs +343 -0
- package/dist/esm/report/reportViewModel.mjs.map +1 -0
- package/dist/esm/report/reportViewModel.native.js +611 -0
- package/dist/esm/report/reportViewModel.native.js.map +1 -0
- package/dist/esm/report/savedReports.mjs +112 -0
- package/dist/esm/report/savedReports.mjs.map +1 -0
- package/dist/esm/report/savedReports.native.js +141 -0
- package/dist/esm/report/savedReports.native.js.map +1 -0
- package/dist/esm/report/useFrappeReport.mjs +158 -0
- package/dist/esm/report/useFrappeReport.mjs.map +1 -0
- package/dist/esm/report/useFrappeReport.native.js +185 -0
- package/dist/esm/report/useFrappeReport.native.js.map +1 -0
- package/dist/esm/report/useQueryReport.mjs +176 -0
- package/dist/esm/report/useQueryReport.mjs.map +1 -0
- package/dist/esm/report/useQueryReport.native.js +205 -0
- package/dist/esm/report/useQueryReport.native.js.map +1 -0
- package/dist/esm/useFrappeForm.mjs +533 -0
- package/dist/esm/useFrappeForm.mjs.map +1 -0
- package/dist/esm/useFrappeForm.native.js +686 -0
- package/dist/esm/useFrappeForm.native.js.map +1 -0
- package/dist/jsx/FrappeCalendar.mjs +4 -3
- package/dist/jsx/FrappeCalendar.mjs.map +1 -1
- package/dist/jsx/FrappeCalendar.native.js +3 -2
- package/dist/jsx/FrappeCalendar.native.js.map +1 -1
- package/dist/jsx/FrappeForm.mjs +151 -467
- package/dist/jsx/FrappeForm.mjs.map +1 -1
- package/dist/jsx/FrappeForm.native.js +152 -633
- package/dist/jsx/FrappeForm.native.js.map +1 -1
- package/dist/jsx/FrappeListView.mjs +6 -28
- package/dist/jsx/FrappeListView.mjs.map +1 -1
- package/dist/jsx/FrappeListView.native.js +11 -32
- package/dist/jsx/FrappeListView.native.js.map +1 -1
- package/dist/jsx/FrappeReportBuilder.mjs +526 -312
- package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
- package/dist/jsx/FrappeReportBuilder.native.js +658 -353
- package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
- package/dist/jsx/FrappeReportView.mjs +30 -229
- package/dist/jsx/FrappeReportView.mjs.map +1 -1
- package/dist/jsx/FrappeReportView.native.js +39 -283
- package/dist/jsx/FrappeReportView.native.js.map +1 -1
- package/dist/jsx/dependsOn.mjs +2 -2
- package/dist/jsx/dependsOn.mjs.map +1 -1
- package/dist/jsx/dependsOn.native.js +1 -2
- package/dist/jsx/dependsOn.native.js.map +1 -1
- package/dist/jsx/fields/shared/EditorPreviewPanes.mjs +2 -2
- package/dist/jsx/fields/shared/EditorPreviewPanes.mjs.map +1 -1
- package/dist/jsx/fields/shared/EditorPreviewPanes.native.js +2 -2
- package/dist/jsx/fields/shared/EditorPreviewPanes.native.js.map +1 -1
- package/dist/jsx/formEngine/docPermissions.mjs +19 -1
- package/dist/jsx/formEngine/docPermissions.mjs.map +1 -1
- package/dist/jsx/formEngine/docPermissions.native.js +69 -0
- package/dist/jsx/formEngine/docPermissions.native.js.map +1 -1
- package/dist/jsx/formEngine/index.mjs +2 -2
- package/dist/jsx/formEngine/index.mjs.map +1 -1
- package/dist/jsx/formEngine/index.native.js +2 -0
- package/dist/jsx/formEngine/index.native.js.map +1 -1
- package/dist/jsx/index.js +16 -4
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +16 -4
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +67 -7
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/liveErrors.mjs +8 -3
- package/dist/jsx/liveErrors.mjs.map +1 -1
- package/dist/jsx/liveErrors.native.js +8 -2
- package/dist/jsx/liveErrors.native.js.map +1 -1
- package/dist/jsx/measures.mjs +5 -0
- package/dist/jsx/measures.mjs.map +1 -0
- package/dist/jsx/measures.native.js +34 -0
- package/dist/jsx/measures.native.js.map +1 -0
- package/dist/jsx/recordShape.mjs +74 -0
- package/dist/jsx/recordShape.mjs.map +1 -0
- package/dist/jsx/recordShape.native.js +115 -0
- package/dist/jsx/recordShape.native.js.map +1 -0
- package/dist/jsx/report/ReportGrid.mjs +428 -0
- package/dist/jsx/report/ReportGrid.mjs.map +1 -0
- package/dist/jsx/report/ReportGrid.native.js +510 -0
- package/dist/jsx/report/ReportGrid.native.js.map +1 -0
- package/dist/jsx/report/ReportViewToolbar.mjs +228 -0
- package/dist/jsx/report/ReportViewToolbar.mjs.map +1 -0
- package/dist/jsx/report/ReportViewToolbar.native.js +303 -0
- package/dist/jsx/report/ReportViewToolbar.native.js.map +1 -0
- package/dist/jsx/report/queryReport.mjs +404 -0
- package/dist/jsx/report/queryReport.mjs.map +1 -0
- package/dist/jsx/report/queryReport.native.js +588 -0
- package/dist/jsx/report/queryReport.native.js.map +1 -0
- package/dist/jsx/report/queryReportColumns.mjs +105 -0
- package/dist/jsx/report/queryReportColumns.mjs.map +1 -0
- package/dist/jsx/report/queryReportColumns.native.js +159 -0
- package/dist/jsx/report/queryReportColumns.native.js.map +1 -0
- package/dist/jsx/report/reportViewModel.mjs +343 -0
- package/dist/jsx/report/reportViewModel.mjs.map +1 -0
- package/dist/jsx/report/reportViewModel.native.js +657 -0
- package/dist/jsx/report/reportViewModel.native.js.map +1 -0
- package/dist/jsx/report/savedReports.mjs +112 -0
- package/dist/jsx/report/savedReports.mjs.map +1 -0
- package/dist/jsx/report/savedReports.native.js +169 -0
- package/dist/jsx/report/savedReports.native.js.map +1 -0
- package/dist/jsx/report/useFrappeReport.mjs +158 -0
- package/dist/jsx/report/useFrappeReport.mjs.map +1 -0
- package/dist/jsx/report/useFrappeReport.native.js +214 -0
- package/dist/jsx/report/useFrappeReport.native.js.map +1 -0
- package/dist/jsx/report/useQueryReport.mjs +176 -0
- package/dist/jsx/report/useQueryReport.mjs.map +1 -0
- package/dist/jsx/report/useQueryReport.native.js +233 -0
- package/dist/jsx/report/useQueryReport.native.js.map +1 -0
- package/dist/jsx/useFrappeForm.mjs +533 -0
- package/dist/jsx/useFrappeForm.mjs.map +1 -0
- package/dist/jsx/useFrappeForm.native.js +714 -0
- package/dist/jsx/useFrappeForm.native.js.map +1 -0
- package/package.json +16 -16
- package/src/FrappeCalendar.tsx +8 -2
- package/src/FrappeForm.stories.tsx +52 -0
- package/src/FrappeForm.tsx +176 -565
- package/src/FrappeListView.cards.stories.tsx +3 -6
- package/src/FrappeListView.tsx +15 -55
- package/src/FrappeReportBuilder.stories.tsx +34 -7
- package/src/FrappeReportBuilder.tsx +790 -380
- package/src/FrappeReportView.spec.tsx +10 -6
- package/src/FrappeReportView.stories.tsx +20 -1
- package/src/FrappeReportView.tsx +89 -415
- package/src/dependsOn.ts +4 -1
- package/src/fields/shared/EditorPreviewPanes.tsx +2 -2
- package/src/formEngine/docPermissions.spec.ts +36 -1
- package/src/formEngine/docPermissions.ts +34 -0
- package/src/formEngine/index.ts +8 -1
- package/src/frappeRemainder.designLaw.spec.ts +9 -1
- package/src/frappeRoutes.spec.tsx +9 -0
- package/src/frappeViews.designLaw.spec.ts +15 -2
- package/src/guestFallback.spec.tsx +236 -0
- package/src/index.ts +117 -16
- package/src/liveErrors.spec.ts +10 -0
- package/src/liveErrors.ts +16 -3
- package/src/measures.ts +11 -0
- package/src/recordShape.spec.ts +100 -0
- package/src/recordShape.ts +133 -0
- package/src/report/ReportGrid.spec.tsx +175 -0
- package/src/report/ReportGrid.tsx +530 -0
- package/src/report/ReportViewToolbar.spec.tsx +90 -0
- package/src/report/ReportViewToolbar.tsx +314 -0
- package/src/report/queryReport.spec.ts +483 -0
- package/src/report/queryReport.ts +722 -0
- package/src/report/queryReportColumns.tsx +123 -0
- package/src/report/reportViewModel.spec.ts +393 -0
- package/src/report/reportViewModel.ts +617 -0
- package/src/report/savedReports.ts +172 -0
- package/src/report/seam.spec.ts +216 -0
- package/src/report/useFrappeReport.ts +241 -0
- package/src/report/useQueryReport.spec.tsx +131 -0
- package/src/report/useQueryReport.ts +309 -0
- package/src/useFrappeForm.spec.tsx +209 -0
- package/src/useFrappeForm.ts +778 -0
- package/types/FrappeCalendar.d.ts.map +1 -1
- package/types/FrappeForm.d.ts +21 -1
- package/types/FrappeForm.d.ts.map +1 -1
- package/types/FrappeListView.d.ts.map +1 -1
- package/types/FrappeReportBuilder.d.ts +66 -16
- package/types/FrappeReportBuilder.d.ts.map +1 -1
- package/types/FrappeReportView.d.ts +9 -127
- package/types/FrappeReportView.d.ts.map +1 -1
- package/types/dependsOn.d.ts.map +1 -1
- package/types/formEngine/docPermissions.d.ts +14 -0
- package/types/formEngine/docPermissions.d.ts.map +1 -1
- package/types/formEngine/index.d.ts +1 -1
- package/types/formEngine/index.d.ts.map +1 -1
- package/types/index.d.ts +15 -3
- package/types/index.d.ts.map +1 -1
- package/types/liveErrors.d.ts +9 -1
- package/types/liveErrors.d.ts.map +1 -1
- package/types/measures.d.ts +3 -0
- package/types/measures.d.ts.map +1 -0
- package/types/recordShape.d.ts +45 -0
- package/types/recordShape.d.ts.map +1 -0
- package/types/report/ReportGrid.d.ts +20 -0
- package/types/report/ReportGrid.d.ts.map +1 -0
- package/types/report/ReportViewToolbar.d.ts +31 -0
- package/types/report/ReportViewToolbar.d.ts.map +1 -0
- package/types/report/queryReport.d.ts +181 -0
- package/types/report/queryReport.d.ts.map +1 -0
- package/types/report/queryReportColumns.d.ts +12 -0
- package/types/report/queryReportColumns.d.ts.map +1 -0
- package/types/report/reportViewModel.d.ts +146 -0
- package/types/report/reportViewModel.d.ts.map +1 -0
- package/types/report/savedReports.d.ts +27 -0
- package/types/report/savedReports.d.ts.map +1 -0
- package/types/report/useFrappeReport.d.ts +60 -0
- package/types/report/useFrappeReport.d.ts.map +1 -0
- package/types/report/useQueryReport.d.ts +37 -0
- package/types/report/useQueryReport.d.ts.map +1 -0
- package/types/useFrappeForm.d.ts +142 -0
- package/types/useFrappeForm.d.ts.map +1 -0
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var ReportViewToolbar_exports = {};
|
|
24
|
+
__export(ReportViewToolbar_exports, {
|
|
25
|
+
ReportViewToolbar: () => ReportViewToolbar
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(ReportViewToolbar_exports);
|
|
28
|
+
var import_components = require("@multiplatform.one/components");
|
|
29
|
+
var import_forms = require("@multiplatform.one/forms");
|
|
30
|
+
var import_theme = require("@multiplatform.one/theme");
|
|
31
|
+
var import_react = require("@phosphor-icons/react");
|
|
32
|
+
var import_react2 = require("react");
|
|
33
|
+
var import_react_i18next = require("react-i18next");
|
|
34
|
+
var import_filterFields = require("../filterFields.cjs");
|
|
35
|
+
var import_measures = require("../measures.cjs");
|
|
36
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
|
+
function ReportViewToolbar({
|
|
38
|
+
columns,
|
|
39
|
+
selected,
|
|
40
|
+
onToggleColumn,
|
|
41
|
+
onResetColumns,
|
|
42
|
+
groupBy,
|
|
43
|
+
onGroupByChange,
|
|
44
|
+
baseFilters,
|
|
45
|
+
onClearBaseFilters,
|
|
46
|
+
columnFilterCount,
|
|
47
|
+
onClearColumnFilters,
|
|
48
|
+
savedReports,
|
|
49
|
+
currentReport,
|
|
50
|
+
onSelectReport,
|
|
51
|
+
onSaveReport,
|
|
52
|
+
onDeleteReport,
|
|
53
|
+
onExport,
|
|
54
|
+
exportDisabled
|
|
55
|
+
}) {
|
|
56
|
+
const {
|
|
57
|
+
t
|
|
58
|
+
} = (0, import_react_i18next.useTranslation)();
|
|
59
|
+
const {
|
|
60
|
+
knobProps
|
|
61
|
+
} = (0, import_theme.useResolvedKnobs)();
|
|
62
|
+
const [saveOpen, setSaveOpen] = (0, import_react2.useState)(false);
|
|
63
|
+
const [saveName, setSaveName] = (0, import_react2.useState)("");
|
|
64
|
+
const selectedSet = new Set(selected);
|
|
65
|
+
const groupByColumn = groupBy ? columns.find(column => column.fieldname === groupBy) : void 0;
|
|
66
|
+
const currentSummary = currentReport ? savedReports.find(report => report.name === currentReport) : void 0;
|
|
67
|
+
const handleSaveAs = () => {
|
|
68
|
+
const name = saveName.trim();
|
|
69
|
+
if (!name || !onSaveReport) return;
|
|
70
|
+
onSaveReport(name);
|
|
71
|
+
setSaveOpen(false);
|
|
72
|
+
setSaveName("");
|
|
73
|
+
};
|
|
74
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
75
|
+
alignItems: "center",
|
|
76
|
+
flexWrap: "wrap",
|
|
77
|
+
gap: "$2",
|
|
78
|
+
...knobProps.panelPadding,
|
|
79
|
+
paddingVertical: "$2",
|
|
80
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu, {
|
|
81
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Trigger, {
|
|
82
|
+
asChild: true,
|
|
83
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
84
|
+
size: "$3",
|
|
85
|
+
chromeless: true,
|
|
86
|
+
icon: import_react.ColumnsIcon,
|
|
87
|
+
children: t("report.columns", {
|
|
88
|
+
defaultValue: "Columns ({{enabled}}/{{total}})",
|
|
89
|
+
enabled: selected.length,
|
|
90
|
+
total: columns.length
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu.Content, {
|
|
94
|
+
maxHeight: import_measures.overlayListMaxHeight,
|
|
95
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Label, {
|
|
96
|
+
children: t("report.pickColumns", "Report columns")
|
|
97
|
+
}), columns.map(column => {
|
|
98
|
+
const isSelected = selectedSet.has(column.fieldname);
|
|
99
|
+
const lastSelected = isSelected && selected.length === 1;
|
|
100
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
101
|
+
checked: isSelected,
|
|
102
|
+
disabled: lastSelected,
|
|
103
|
+
disabledReason: lastSelected ? t("report.lastColumn", "At least one column stays visible") : void 0,
|
|
104
|
+
onCheckedChange: () => onToggleColumn(column.fieldname),
|
|
105
|
+
children: column.label
|
|
106
|
+
}, column.fieldname);
|
|
107
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Separator, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Item, {
|
|
108
|
+
onSelect: onResetColumns,
|
|
109
|
+
children: t("report.resetColumns", "Reset to default columns")
|
|
110
|
+
})]
|
|
111
|
+
})]
|
|
112
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu, {
|
|
113
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Trigger, {
|
|
114
|
+
asChild: true,
|
|
115
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
116
|
+
size: "$3",
|
|
117
|
+
chromeless: true,
|
|
118
|
+
icon: import_react.RowsIcon,
|
|
119
|
+
children: groupByColumn ? t("report.groupByActive", {
|
|
120
|
+
defaultValue: "Group by: {{field}}",
|
|
121
|
+
field: groupByColumn.label
|
|
122
|
+
}) : t("report.groupBy", "Group by")
|
|
123
|
+
})
|
|
124
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu.Content, {
|
|
125
|
+
maxHeight: import_measures.overlayListMaxHeight,
|
|
126
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
127
|
+
checked: !groupBy,
|
|
128
|
+
closeOnSelect: true,
|
|
129
|
+
onCheckedChange: () => onGroupByChange(null),
|
|
130
|
+
children: t("report.groupByNone", "No grouping")
|
|
131
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Separator, {}), columns.map(column => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
132
|
+
checked: groupBy === column.fieldname,
|
|
133
|
+
closeOnSelect: true,
|
|
134
|
+
onCheckedChange: () => onGroupByChange(column.fieldname),
|
|
135
|
+
children: column.label
|
|
136
|
+
}, column.fieldname))]
|
|
137
|
+
})]
|
|
138
|
+
}), (onSaveReport || savedReports.length > 0) && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu, {
|
|
139
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Trigger, {
|
|
140
|
+
asChild: true,
|
|
141
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
142
|
+
size: "$3",
|
|
143
|
+
chromeless: true,
|
|
144
|
+
icon: import_react.StackIcon,
|
|
145
|
+
children: currentSummary ? t("report.savedReportActive", {
|
|
146
|
+
defaultValue: "Report: {{name}}",
|
|
147
|
+
name: currentSummary.reportName
|
|
148
|
+
}) : t("report.savedReport", "Select Report")
|
|
149
|
+
})
|
|
150
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu.Content, {
|
|
151
|
+
maxHeight: import_measures.overlayListMaxHeight,
|
|
152
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
153
|
+
checked: !currentReport,
|
|
154
|
+
closeOnSelect: true,
|
|
155
|
+
onCheckedChange: () => onSelectReport(null),
|
|
156
|
+
children: t("report.savedReportNone", "New report (unsaved)")
|
|
157
|
+
}), savedReports.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Separator, {}), savedReports.map(report => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
158
|
+
checked: currentReport === report.name,
|
|
159
|
+
closeOnSelect: true,
|
|
160
|
+
onCheckedChange: () => onSelectReport(report.name),
|
|
161
|
+
children: report.reportName
|
|
162
|
+
}, report.name)), currentSummary && onDeleteReport && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
163
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Separator, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Item, {
|
|
164
|
+
destructive: true,
|
|
165
|
+
onSelect: () => onDeleteReport(currentSummary.name),
|
|
166
|
+
children: t("report.deleteReport", {
|
|
167
|
+
defaultValue: "Delete \u201C{{name}}\u201D",
|
|
168
|
+
name: currentSummary.reportName
|
|
169
|
+
})
|
|
170
|
+
})]
|
|
171
|
+
})]
|
|
172
|
+
})]
|
|
173
|
+
}), currentSummary && onSaveReport && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
174
|
+
size: "$3",
|
|
175
|
+
icon: import_react.FloppyDiskIcon,
|
|
176
|
+
onPress: () => onSaveReport(currentSummary.name),
|
|
177
|
+
children: t("report.save", "Save")
|
|
178
|
+
}), onSaveReport && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Popover, {
|
|
179
|
+
placement: "bottom-start",
|
|
180
|
+
open: saveOpen,
|
|
181
|
+
onOpenChange: setSaveOpen,
|
|
182
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Popover.Trigger, {
|
|
183
|
+
asChild: true,
|
|
184
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
185
|
+
size: "$3",
|
|
186
|
+
chromeless: !!currentSummary,
|
|
187
|
+
icon: currentSummary ? void 0 : import_react.FloppyDiskIcon,
|
|
188
|
+
children: t("report.saveAs", "Save As\u2026")
|
|
189
|
+
})
|
|
190
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.PopoverContent, {
|
|
191
|
+
...knobProps.panelPadding,
|
|
192
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Popover.Arrow, {
|
|
193
|
+
borderWidth: 1,
|
|
194
|
+
borderColor: "$borderColor"
|
|
195
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
196
|
+
gap: "$2",
|
|
197
|
+
alignItems: "center",
|
|
198
|
+
minWidth: import_measures.dialogBodyMinWidth,
|
|
199
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
|
|
200
|
+
flex: 1,
|
|
201
|
+
minWidth: 0,
|
|
202
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Input, {
|
|
203
|
+
size: "$3",
|
|
204
|
+
compact: true,
|
|
205
|
+
value: saveName,
|
|
206
|
+
onChangeText: setSaveName,
|
|
207
|
+
placeholder: t("report.reportNamePlaceholder", "New report name"),
|
|
208
|
+
inputProps: {
|
|
209
|
+
"aria-label": t("report.reportNamePlaceholder", "New report name")
|
|
210
|
+
}
|
|
211
|
+
})
|
|
212
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
213
|
+
size: "$3",
|
|
214
|
+
accent: true,
|
|
215
|
+
disabled: !saveName.trim(),
|
|
216
|
+
disabledReason: t("report.saveNeedsName", "Name the report to save it"),
|
|
217
|
+
disabledReasonPlacement: "inline",
|
|
218
|
+
onPress: handleSaveAs,
|
|
219
|
+
children: t("report.save", "Save")
|
|
220
|
+
})]
|
|
221
|
+
})]
|
|
222
|
+
})]
|
|
223
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
|
|
224
|
+
flex: 1
|
|
225
|
+
}), baseFilters.map((tuple, index) => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Chip, {
|
|
226
|
+
size: "$2",
|
|
227
|
+
variant: "subtle",
|
|
228
|
+
color: "gray",
|
|
229
|
+
children: (0, import_filterFields.filterTupleLabel)([...columns], tuple)
|
|
230
|
+
}, `${tuple[0]}-${index}`)), onClearBaseFilters && baseFilters.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
231
|
+
size: "$3",
|
|
232
|
+
chromeless: true,
|
|
233
|
+
onPress: onClearBaseFilters,
|
|
234
|
+
children: t("report.clearFilters", "Clear filters")
|
|
235
|
+
}), columnFilterCount > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
236
|
+
size: "$3",
|
|
237
|
+
chromeless: true,
|
|
238
|
+
onPress: onClearColumnFilters,
|
|
239
|
+
children: t("report.clearColumnFilters", {
|
|
240
|
+
defaultValue: "Clear column filters ({{count}})",
|
|
241
|
+
count: columnFilterCount
|
|
242
|
+
})
|
|
243
|
+
}), onExport && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
244
|
+
size: "$3",
|
|
245
|
+
icon: import_react.DownloadSimpleIcon,
|
|
246
|
+
disabled: exportDisabled,
|
|
247
|
+
disabledReason: exportDisabled ? t("report.exportEmpty", "No rows to export") : void 0,
|
|
248
|
+
disabledReasonPlacement: "inline",
|
|
249
|
+
onPress: onExport,
|
|
250
|
+
children: t("report.export", "Export CSV")
|
|
251
|
+
})]
|
|
252
|
+
});
|
|
253
|
+
}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
18
|
+
get: () => from[key],
|
|
19
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
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
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
+
value: true
|
|
35
|
+
}), mod);
|
|
36
|
+
var ReportViewToolbar_exports = {};
|
|
37
|
+
__export(ReportViewToolbar_exports, {
|
|
38
|
+
ReportViewToolbar: () => ReportViewToolbar
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(ReportViewToolbar_exports);
|
|
41
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
42
|
+
var import_components = require("@multiplatform.one/components");
|
|
43
|
+
var import_forms = require("@multiplatform.one/forms");
|
|
44
|
+
var import_theme = require("@multiplatform.one/theme");
|
|
45
|
+
var import_react = require("@phosphor-icons/react");
|
|
46
|
+
var import_react2 = __toESM(require("react"));
|
|
47
|
+
var import_react_i18next = require("react-i18next");
|
|
48
|
+
var import_filterFields = require("../filterFields.native.js");
|
|
49
|
+
var import_measures = require("../measures.native.js");
|
|
50
|
+
function ReportViewToolbar(param) {
|
|
51
|
+
var {
|
|
52
|
+
columns,
|
|
53
|
+
selected,
|
|
54
|
+
onToggleColumn,
|
|
55
|
+
onResetColumns,
|
|
56
|
+
groupBy,
|
|
57
|
+
onGroupByChange,
|
|
58
|
+
baseFilters,
|
|
59
|
+
onClearBaseFilters,
|
|
60
|
+
columnFilterCount,
|
|
61
|
+
onClearColumnFilters,
|
|
62
|
+
savedReports,
|
|
63
|
+
currentReport,
|
|
64
|
+
onSelectReport,
|
|
65
|
+
onSaveReport,
|
|
66
|
+
onDeleteReport,
|
|
67
|
+
onExport,
|
|
68
|
+
exportDisabled
|
|
69
|
+
} = param;
|
|
70
|
+
var {
|
|
71
|
+
t
|
|
72
|
+
} = (0, import_react_i18next.useTranslation)();
|
|
73
|
+
var {
|
|
74
|
+
knobProps
|
|
75
|
+
} = (0, import_theme.useResolvedKnobs)();
|
|
76
|
+
var [saveOpen, setSaveOpen] = (0, import_react2.useState)(false);
|
|
77
|
+
var [saveName, setSaveName] = (0, import_react2.useState)("");
|
|
78
|
+
var selectedSet = new Set(selected);
|
|
79
|
+
var groupByColumn = groupBy ? columns.find(function (column) {
|
|
80
|
+
return column.fieldname === groupBy;
|
|
81
|
+
}) : void 0;
|
|
82
|
+
var currentSummary = currentReport ? savedReports.find(function (report) {
|
|
83
|
+
return report.name === currentReport;
|
|
84
|
+
}) : void 0;
|
|
85
|
+
var handleSaveAs = function handleSaveAs2() {
|
|
86
|
+
var name = saveName.trim();
|
|
87
|
+
if (!name || !onSaveReport) return;
|
|
88
|
+
onSaveReport(name);
|
|
89
|
+
setSaveOpen(false);
|
|
90
|
+
setSaveName("");
|
|
91
|
+
};
|
|
92
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
93
|
+
alignItems: "center",
|
|
94
|
+
flexWrap: "wrap",
|
|
95
|
+
gap: "$2",
|
|
96
|
+
...knobProps.panelPadding,
|
|
97
|
+
paddingVertical: "$2",
|
|
98
|
+
children: [/* Column add/remove picker (persisted per doctype) */
|
|
99
|
+
/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu, {
|
|
100
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Trigger, {
|
|
101
|
+
asChild: true,
|
|
102
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
103
|
+
size: "$3",
|
|
104
|
+
chromeless: true,
|
|
105
|
+
icon: import_react.ColumnsIcon,
|
|
106
|
+
children: t("report.columns", {
|
|
107
|
+
defaultValue: "Columns ({{enabled}}/{{total}})",
|
|
108
|
+
enabled: selected.length,
|
|
109
|
+
total: columns.length
|
|
110
|
+
})
|
|
111
|
+
})
|
|
112
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu.Content, {
|
|
113
|
+
maxHeight: import_measures.overlayListMaxHeight,
|
|
114
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Label, {
|
|
115
|
+
children: t("report.pickColumns", "Report columns")
|
|
116
|
+
}), columns.map(function (column) {
|
|
117
|
+
var isSelected = selectedSet.has(column.fieldname);
|
|
118
|
+
var lastSelected = isSelected && selected.length === 1;
|
|
119
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
120
|
+
checked: isSelected,
|
|
121
|
+
disabled: lastSelected,
|
|
122
|
+
disabledReason: lastSelected ? t("report.lastColumn", "At least one column stays visible") : void 0,
|
|
123
|
+
onCheckedChange: function onCheckedChange() {
|
|
124
|
+
return onToggleColumn(column.fieldname);
|
|
125
|
+
},
|
|
126
|
+
children: column.label
|
|
127
|
+
}, column.fieldname);
|
|
128
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Separator, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Item, {
|
|
129
|
+
onSelect: onResetColumns,
|
|
130
|
+
children: t("report.resetColumns", "Reset to default columns")
|
|
131
|
+
})]
|
|
132
|
+
})]
|
|
133
|
+
}), /* Group-by (rendered as in-grid group header rows) */
|
|
134
|
+
/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu, {
|
|
135
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Trigger, {
|
|
136
|
+
asChild: true,
|
|
137
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
138
|
+
size: "$3",
|
|
139
|
+
chromeless: true,
|
|
140
|
+
icon: import_react.RowsIcon,
|
|
141
|
+
children: groupByColumn ? t("report.groupByActive", {
|
|
142
|
+
defaultValue: "Group by: {{field}}",
|
|
143
|
+
field: groupByColumn.label
|
|
144
|
+
}) : t("report.groupBy", "Group by")
|
|
145
|
+
})
|
|
146
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu.Content, {
|
|
147
|
+
maxHeight: import_measures.overlayListMaxHeight,
|
|
148
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
149
|
+
checked: !groupBy,
|
|
150
|
+
closeOnSelect: true,
|
|
151
|
+
onCheckedChange: function onCheckedChange() {
|
|
152
|
+
return onGroupByChange(null);
|
|
153
|
+
},
|
|
154
|
+
children: t("report.groupByNone", "No grouping")
|
|
155
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Separator, {}), columns.map(function (column) {
|
|
156
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
157
|
+
checked: groupBy === column.fieldname,
|
|
158
|
+
closeOnSelect: true,
|
|
159
|
+
onCheckedChange: function onCheckedChange() {
|
|
160
|
+
return onGroupByChange(column.fieldname);
|
|
161
|
+
},
|
|
162
|
+
children: column.label
|
|
163
|
+
}, column.fieldname);
|
|
164
|
+
})]
|
|
165
|
+
})]
|
|
166
|
+
}), /* Saved-report selector (desk "Select Report": Report Builder docs) */
|
|
167
|
+
(onSaveReport || savedReports.length > 0) && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu, {
|
|
168
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Trigger, {
|
|
169
|
+
asChild: true,
|
|
170
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
171
|
+
size: "$3",
|
|
172
|
+
chromeless: true,
|
|
173
|
+
icon: import_react.StackIcon,
|
|
174
|
+
children: currentSummary ? t("report.savedReportActive", {
|
|
175
|
+
defaultValue: "Report: {{name}}",
|
|
176
|
+
name: currentSummary.reportName
|
|
177
|
+
}) : t("report.savedReport", "Select Report")
|
|
178
|
+
})
|
|
179
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DropdownMenu.Content, {
|
|
180
|
+
maxHeight: import_measures.overlayListMaxHeight,
|
|
181
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
182
|
+
checked: !currentReport,
|
|
183
|
+
closeOnSelect: true,
|
|
184
|
+
onCheckedChange: function onCheckedChange() {
|
|
185
|
+
return onSelectReport(null);
|
|
186
|
+
},
|
|
187
|
+
children: t("report.savedReportNone", "New report (unsaved)")
|
|
188
|
+
}), savedReports.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Separator, {}), savedReports.map(function (report) {
|
|
189
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.CheckboxItem, {
|
|
190
|
+
checked: currentReport === report.name,
|
|
191
|
+
closeOnSelect: true,
|
|
192
|
+
onCheckedChange: function onCheckedChange() {
|
|
193
|
+
return onSelectReport(report.name);
|
|
194
|
+
},
|
|
195
|
+
children: report.reportName
|
|
196
|
+
}, report.name);
|
|
197
|
+
}), currentSummary && onDeleteReport && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
198
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Separator, {}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.DropdownMenu.Item, {
|
|
199
|
+
destructive: true,
|
|
200
|
+
onSelect: function onSelect() {
|
|
201
|
+
return onDeleteReport(currentSummary.name);
|
|
202
|
+
},
|
|
203
|
+
children: t("report.deleteReport", {
|
|
204
|
+
defaultValue: "Delete \u201C{{name}}\u201D",
|
|
205
|
+
name: currentSummary.reportName
|
|
206
|
+
})
|
|
207
|
+
})]
|
|
208
|
+
})]
|
|
209
|
+
})]
|
|
210
|
+
}), /* Save (overwrite the selected report) + Save As (new Report doc) */
|
|
211
|
+
currentSummary && onSaveReport && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
212
|
+
size: "$3",
|
|
213
|
+
icon: import_react.FloppyDiskIcon,
|
|
214
|
+
onPress: function onPress() {
|
|
215
|
+
return onSaveReport(currentSummary.name);
|
|
216
|
+
},
|
|
217
|
+
children: t("report.save", "Save")
|
|
218
|
+
}), onSaveReport && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Popover, {
|
|
219
|
+
placement: "bottom-start",
|
|
220
|
+
open: saveOpen,
|
|
221
|
+
onOpenChange: setSaveOpen,
|
|
222
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Popover.Trigger, {
|
|
223
|
+
asChild: true,
|
|
224
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
225
|
+
size: "$3",
|
|
226
|
+
chromeless: !!currentSummary,
|
|
227
|
+
icon: currentSummary ? void 0 : import_react.FloppyDiskIcon,
|
|
228
|
+
children: t("report.saveAs", "Save As\u2026")
|
|
229
|
+
})
|
|
230
|
+
}),
|
|
231
|
+
/* House overlay surface (elevatedSurface knob recipe) — raw
|
|
232
|
+
Popover.Content has no `elevate` variant in tamagui 2.0, so the
|
|
233
|
+
bare boolean leaked to the DOM (LC-46 class). */
|
|
234
|
+
/* @__PURE__ */
|
|
235
|
+
(0, import_jsx_runtime.jsxs)(import_components.PopoverContent, {
|
|
236
|
+
...knobProps.panelPadding,
|
|
237
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Popover.Arrow, {
|
|
238
|
+
borderWidth: 1,
|
|
239
|
+
borderColor: "$borderColor"
|
|
240
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
|
|
241
|
+
gap: "$2",
|
|
242
|
+
alignItems: "center",
|
|
243
|
+
minWidth: import_measures.dialogBodyMinWidth,
|
|
244
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
|
|
245
|
+
flex: 1,
|
|
246
|
+
minWidth: 0,
|
|
247
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Input, {
|
|
248
|
+
size: "$3",
|
|
249
|
+
compact: true,
|
|
250
|
+
value: saveName,
|
|
251
|
+
onChangeText: setSaveName,
|
|
252
|
+
placeholder: t("report.reportNamePlaceholder", "New report name"),
|
|
253
|
+
inputProps: {
|
|
254
|
+
"aria-label": t("report.reportNamePlaceholder", "New report name")
|
|
255
|
+
}
|
|
256
|
+
})
|
|
257
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
258
|
+
size: "$3",
|
|
259
|
+
accent: true,
|
|
260
|
+
disabled: !saveName.trim(),
|
|
261
|
+
disabledReason: t("report.saveNeedsName", "Name the report to save it"),
|
|
262
|
+
disabledReasonPlacement: "inline",
|
|
263
|
+
onPress: handleSaveAs,
|
|
264
|
+
children: t("report.save", "Save")
|
|
265
|
+
})]
|
|
266
|
+
})]
|
|
267
|
+
})]
|
|
268
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
|
|
269
|
+
flex: 1
|
|
270
|
+
}), /* Base filter chips (?f= deep link) */
|
|
271
|
+
baseFilters.map(function (tuple, index) {
|
|
272
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Chip, {
|
|
273
|
+
size: "$2",
|
|
274
|
+
variant: "subtle",
|
|
275
|
+
color: "gray",
|
|
276
|
+
children: (0, import_filterFields.filterTupleLabel)([...columns], tuple)
|
|
277
|
+
}, `${tuple[0]}-${index}`);
|
|
278
|
+
}), onClearBaseFilters && baseFilters.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
279
|
+
size: "$3",
|
|
280
|
+
chromeless: true,
|
|
281
|
+
onPress: onClearBaseFilters,
|
|
282
|
+
children: t("report.clearFilters", "Clear filters")
|
|
283
|
+
}), /* Column filter-row summary + clear-all */
|
|
284
|
+
columnFilterCount > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
285
|
+
size: "$3",
|
|
286
|
+
chromeless: true,
|
|
287
|
+
onPress: onClearColumnFilters,
|
|
288
|
+
children: t("report.clearColumnFilters", {
|
|
289
|
+
defaultValue: "Clear column filters ({{count}})",
|
|
290
|
+
count: columnFilterCount
|
|
291
|
+
})
|
|
292
|
+
}), onExport && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
|
|
293
|
+
size: "$3",
|
|
294
|
+
icon: import_react.DownloadSimpleIcon,
|
|
295
|
+
disabled: exportDisabled,
|
|
296
|
+
disabledReason: exportDisabled ? t("report.exportEmpty", "No rows to export") : void 0,
|
|
297
|
+
disabledReasonPlacement: "inline",
|
|
298
|
+
onPress: onExport,
|
|
299
|
+
children: t("report.export", "Export CSV")
|
|
300
|
+
})]
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
//# sourceMappingURL=ReportViewToolbar.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","ReportViewToolbar_exports","__export","ReportViewToolbar","module","exports","import_jsx_runtime","require","import_components","import_forms","import_theme","import_react","import_react2","import_react_i18next","import_filterFields","import_measures","param","columns","selected","onToggleColumn","onResetColumns","groupBy","onGroupByChange","baseFilters","onClearBaseFilters","columnFilterCount","onClearColumnFilters","savedReports","currentReport","onSelectReport","onSaveReport","onDeleteReport","onExport","exportDisabled","t","useTranslation","knobProps","useResolvedKnobs","saveOpen","setSaveOpen","useState","saveName","setSaveName","selectedSet","Set","groupByColumn","find","column","fieldname","currentSummary","report","name","handleSaveAs","handleSaveAs2","trim","jsxs","XStack","alignItems","flexWrap","gap","panelPadding","paddingVertical","children","DropdownMenu","jsx","Trigger","asChild","Button","size","chromeless","icon","ColumnsIcon","defaultValue","enabled","length","total","Content","maxHeight","overlayListMaxHeight","Label","map","isSelected","has","lastSelected","CheckboxItem","checked","disabled","disabledReason","onCheckedChange","label","Separator","Item","onSelect","RowsIcon","field","closeOnSelect","StackIcon","reportName","Fragment","destructive","FloppyDiskIcon","onPress","Popover","placement","open","onOpenChange"],"sources":["../../../src/report/ReportViewToolbar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|