@multiplatform.one/frappe-ui 7.28.1 → 7.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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,228 @@
|
|
|
1
|
+
import { Chip, DropdownMenu, Popover, PopoverContent, XStack, YStack } from "@multiplatform.one/components";
|
|
2
|
+
import { Button, Input } from "@multiplatform.one/forms";
|
|
3
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
4
|
+
import { ColumnsIcon, DownloadSimpleIcon, FloppyDiskIcon, RowsIcon, StackIcon } from "@phosphor-icons/react";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
import { useTranslation } from "react-i18next";
|
|
7
|
+
import { filterTupleLabel } from "../filterFields.mjs";
|
|
8
|
+
import { dialogBodyMinWidth, overlayListMaxHeight } from "../measures.mjs";
|
|
9
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
function ReportViewToolbar({
|
|
11
|
+
columns,
|
|
12
|
+
selected,
|
|
13
|
+
onToggleColumn,
|
|
14
|
+
onResetColumns,
|
|
15
|
+
groupBy,
|
|
16
|
+
onGroupByChange,
|
|
17
|
+
baseFilters,
|
|
18
|
+
onClearBaseFilters,
|
|
19
|
+
columnFilterCount,
|
|
20
|
+
onClearColumnFilters,
|
|
21
|
+
savedReports,
|
|
22
|
+
currentReport,
|
|
23
|
+
onSelectReport,
|
|
24
|
+
onSaveReport,
|
|
25
|
+
onDeleteReport,
|
|
26
|
+
onExport,
|
|
27
|
+
exportDisabled
|
|
28
|
+
}) {
|
|
29
|
+
const {
|
|
30
|
+
t
|
|
31
|
+
} = useTranslation();
|
|
32
|
+
const {
|
|
33
|
+
knobProps
|
|
34
|
+
} = useResolvedKnobs();
|
|
35
|
+
const [saveOpen, setSaveOpen] = useState(false);
|
|
36
|
+
const [saveName, setSaveName] = useState("");
|
|
37
|
+
const selectedSet = new Set(selected);
|
|
38
|
+
const groupByColumn = groupBy ? columns.find(column => column.fieldname === groupBy) : void 0;
|
|
39
|
+
const currentSummary = currentReport ? savedReports.find(report => report.name === currentReport) : void 0;
|
|
40
|
+
const handleSaveAs = () => {
|
|
41
|
+
const name = saveName.trim();
|
|
42
|
+
if (!name || !onSaveReport) return;
|
|
43
|
+
onSaveReport(name);
|
|
44
|
+
setSaveOpen(false);
|
|
45
|
+
setSaveName("");
|
|
46
|
+
};
|
|
47
|
+
return /* @__PURE__ */jsxs(XStack, {
|
|
48
|
+
alignItems: "center",
|
|
49
|
+
flexWrap: "wrap",
|
|
50
|
+
gap: "$2",
|
|
51
|
+
...knobProps.panelPadding,
|
|
52
|
+
paddingVertical: "$2",
|
|
53
|
+
children: [/* @__PURE__ */jsxs(DropdownMenu, {
|
|
54
|
+
children: [/* @__PURE__ */jsx(DropdownMenu.Trigger, {
|
|
55
|
+
asChild: true,
|
|
56
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
57
|
+
size: "$3",
|
|
58
|
+
chromeless: true,
|
|
59
|
+
icon: ColumnsIcon,
|
|
60
|
+
children: t("report.columns", {
|
|
61
|
+
defaultValue: "Columns ({{enabled}}/{{total}})",
|
|
62
|
+
enabled: selected.length,
|
|
63
|
+
total: columns.length
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
}), /* @__PURE__ */jsxs(DropdownMenu.Content, {
|
|
67
|
+
maxHeight: overlayListMaxHeight,
|
|
68
|
+
children: [/* @__PURE__ */jsx(DropdownMenu.Label, {
|
|
69
|
+
children: t("report.pickColumns", "Report columns")
|
|
70
|
+
}), columns.map(column => {
|
|
71
|
+
const isSelected = selectedSet.has(column.fieldname);
|
|
72
|
+
const lastSelected = isSelected && selected.length === 1;
|
|
73
|
+
return /* @__PURE__ */jsx(DropdownMenu.CheckboxItem, {
|
|
74
|
+
checked: isSelected,
|
|
75
|
+
disabled: lastSelected,
|
|
76
|
+
disabledReason: lastSelected ? t("report.lastColumn", "At least one column stays visible") : void 0,
|
|
77
|
+
onCheckedChange: () => onToggleColumn(column.fieldname),
|
|
78
|
+
children: column.label
|
|
79
|
+
}, column.fieldname);
|
|
80
|
+
}), /* @__PURE__ */jsx(DropdownMenu.Separator, {}), /* @__PURE__ */jsx(DropdownMenu.Item, {
|
|
81
|
+
onSelect: onResetColumns,
|
|
82
|
+
children: t("report.resetColumns", "Reset to default columns")
|
|
83
|
+
})]
|
|
84
|
+
})]
|
|
85
|
+
}), /* @__PURE__ */jsxs(DropdownMenu, {
|
|
86
|
+
children: [/* @__PURE__ */jsx(DropdownMenu.Trigger, {
|
|
87
|
+
asChild: true,
|
|
88
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
89
|
+
size: "$3",
|
|
90
|
+
chromeless: true,
|
|
91
|
+
icon: RowsIcon,
|
|
92
|
+
children: groupByColumn ? t("report.groupByActive", {
|
|
93
|
+
defaultValue: "Group by: {{field}}",
|
|
94
|
+
field: groupByColumn.label
|
|
95
|
+
}) : t("report.groupBy", "Group by")
|
|
96
|
+
})
|
|
97
|
+
}), /* @__PURE__ */jsxs(DropdownMenu.Content, {
|
|
98
|
+
maxHeight: overlayListMaxHeight,
|
|
99
|
+
children: [/* @__PURE__ */jsx(DropdownMenu.CheckboxItem, {
|
|
100
|
+
checked: !groupBy,
|
|
101
|
+
closeOnSelect: true,
|
|
102
|
+
onCheckedChange: () => onGroupByChange(null),
|
|
103
|
+
children: t("report.groupByNone", "No grouping")
|
|
104
|
+
}), /* @__PURE__ */jsx(DropdownMenu.Separator, {}), columns.map(column => /* @__PURE__ */jsx(DropdownMenu.CheckboxItem, {
|
|
105
|
+
checked: groupBy === column.fieldname,
|
|
106
|
+
closeOnSelect: true,
|
|
107
|
+
onCheckedChange: () => onGroupByChange(column.fieldname),
|
|
108
|
+
children: column.label
|
|
109
|
+
}, column.fieldname))]
|
|
110
|
+
})]
|
|
111
|
+
}), (onSaveReport || savedReports.length > 0) && /* @__PURE__ */jsxs(DropdownMenu, {
|
|
112
|
+
children: [/* @__PURE__ */jsx(DropdownMenu.Trigger, {
|
|
113
|
+
asChild: true,
|
|
114
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
115
|
+
size: "$3",
|
|
116
|
+
chromeless: true,
|
|
117
|
+
icon: StackIcon,
|
|
118
|
+
children: currentSummary ? t("report.savedReportActive", {
|
|
119
|
+
defaultValue: "Report: {{name}}",
|
|
120
|
+
name: currentSummary.reportName
|
|
121
|
+
}) : t("report.savedReport", "Select Report")
|
|
122
|
+
})
|
|
123
|
+
}), /* @__PURE__ */jsxs(DropdownMenu.Content, {
|
|
124
|
+
maxHeight: overlayListMaxHeight,
|
|
125
|
+
children: [/* @__PURE__ */jsx(DropdownMenu.CheckboxItem, {
|
|
126
|
+
checked: !currentReport,
|
|
127
|
+
closeOnSelect: true,
|
|
128
|
+
onCheckedChange: () => onSelectReport(null),
|
|
129
|
+
children: t("report.savedReportNone", "New report (unsaved)")
|
|
130
|
+
}), savedReports.length > 0 && /* @__PURE__ */jsx(DropdownMenu.Separator, {}), savedReports.map(report => /* @__PURE__ */jsx(DropdownMenu.CheckboxItem, {
|
|
131
|
+
checked: currentReport === report.name,
|
|
132
|
+
closeOnSelect: true,
|
|
133
|
+
onCheckedChange: () => onSelectReport(report.name),
|
|
134
|
+
children: report.reportName
|
|
135
|
+
}, report.name)), currentSummary && onDeleteReport && /* @__PURE__ */jsxs(Fragment, {
|
|
136
|
+
children: [/* @__PURE__ */jsx(DropdownMenu.Separator, {}), /* @__PURE__ */jsx(DropdownMenu.Item, {
|
|
137
|
+
destructive: true,
|
|
138
|
+
onSelect: () => onDeleteReport(currentSummary.name),
|
|
139
|
+
children: t("report.deleteReport", {
|
|
140
|
+
defaultValue: "Delete \u201C{{name}}\u201D",
|
|
141
|
+
name: currentSummary.reportName
|
|
142
|
+
})
|
|
143
|
+
})]
|
|
144
|
+
})]
|
|
145
|
+
})]
|
|
146
|
+
}), currentSummary && onSaveReport && /* @__PURE__ */jsx(Button, {
|
|
147
|
+
size: "$3",
|
|
148
|
+
icon: FloppyDiskIcon,
|
|
149
|
+
onPress: () => onSaveReport(currentSummary.name),
|
|
150
|
+
children: t("report.save", "Save")
|
|
151
|
+
}), onSaveReport && /* @__PURE__ */jsxs(Popover, {
|
|
152
|
+
placement: "bottom-start",
|
|
153
|
+
open: saveOpen,
|
|
154
|
+
onOpenChange: setSaveOpen,
|
|
155
|
+
children: [/* @__PURE__ */jsx(Popover.Trigger, {
|
|
156
|
+
asChild: true,
|
|
157
|
+
children: /* @__PURE__ */jsx(Button, {
|
|
158
|
+
size: "$3",
|
|
159
|
+
chromeless: !!currentSummary,
|
|
160
|
+
icon: currentSummary ? void 0 : FloppyDiskIcon,
|
|
161
|
+
children: t("report.saveAs", "Save As\u2026")
|
|
162
|
+
})
|
|
163
|
+
}), /* @__PURE__ */jsxs(PopoverContent, {
|
|
164
|
+
...knobProps.panelPadding,
|
|
165
|
+
children: [/* @__PURE__ */jsx(Popover.Arrow, {
|
|
166
|
+
borderWidth: 1,
|
|
167
|
+
borderColor: "$borderColor"
|
|
168
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
169
|
+
gap: "$2",
|
|
170
|
+
alignItems: "center",
|
|
171
|
+
minWidth: dialogBodyMinWidth,
|
|
172
|
+
children: [/* @__PURE__ */jsx(YStack, {
|
|
173
|
+
flex: 1,
|
|
174
|
+
minWidth: 0,
|
|
175
|
+
children: /* @__PURE__ */jsx(Input, {
|
|
176
|
+
size: "$3",
|
|
177
|
+
compact: true,
|
|
178
|
+
value: saveName,
|
|
179
|
+
onChangeText: setSaveName,
|
|
180
|
+
placeholder: t("report.reportNamePlaceholder", "New report name"),
|
|
181
|
+
inputProps: {
|
|
182
|
+
"aria-label": t("report.reportNamePlaceholder", "New report name")
|
|
183
|
+
}
|
|
184
|
+
})
|
|
185
|
+
}), /* @__PURE__ */jsx(Button, {
|
|
186
|
+
size: "$3",
|
|
187
|
+
accent: true,
|
|
188
|
+
disabled: !saveName.trim(),
|
|
189
|
+
disabledReason: t("report.saveNeedsName", "Name the report to save it"),
|
|
190
|
+
disabledReasonPlacement: "inline",
|
|
191
|
+
onPress: handleSaveAs,
|
|
192
|
+
children: t("report.save", "Save")
|
|
193
|
+
})]
|
|
194
|
+
})]
|
|
195
|
+
})]
|
|
196
|
+
}), /* @__PURE__ */jsx(XStack, {
|
|
197
|
+
flex: 1
|
|
198
|
+
}), baseFilters.map((tuple, index) => /* @__PURE__ */jsx(Chip, {
|
|
199
|
+
size: "$2",
|
|
200
|
+
variant: "subtle",
|
|
201
|
+
color: "gray",
|
|
202
|
+
children: filterTupleLabel([...columns], tuple)
|
|
203
|
+
}, `${tuple[0]}-${index}`)), onClearBaseFilters && baseFilters.length > 0 && /* @__PURE__ */jsx(Button, {
|
|
204
|
+
size: "$3",
|
|
205
|
+
chromeless: true,
|
|
206
|
+
onPress: onClearBaseFilters,
|
|
207
|
+
children: t("report.clearFilters", "Clear filters")
|
|
208
|
+
}), columnFilterCount > 0 && /* @__PURE__ */jsx(Button, {
|
|
209
|
+
size: "$3",
|
|
210
|
+
chromeless: true,
|
|
211
|
+
onPress: onClearColumnFilters,
|
|
212
|
+
children: t("report.clearColumnFilters", {
|
|
213
|
+
defaultValue: "Clear column filters ({{count}})",
|
|
214
|
+
count: columnFilterCount
|
|
215
|
+
})
|
|
216
|
+
}), onExport && /* @__PURE__ */jsx(Button, {
|
|
217
|
+
size: "$3",
|
|
218
|
+
icon: DownloadSimpleIcon,
|
|
219
|
+
disabled: exportDisabled,
|
|
220
|
+
disabledReason: exportDisabled ? t("report.exportEmpty", "No rows to export") : void 0,
|
|
221
|
+
disabledReasonPlacement: "inline",
|
|
222
|
+
onPress: onExport,
|
|
223
|
+
children: t("report.export", "Export CSV")
|
|
224
|
+
})]
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
export { ReportViewToolbar };
|
|
228
|
+
//# sourceMappingURL=ReportViewToolbar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Chip","DropdownMenu","Popover","PopoverContent","XStack","YStack","Button","Input","useResolvedKnobs","ColumnsIcon","DownloadSimpleIcon","FloppyDiskIcon","RowsIcon","StackIcon","useState","useTranslation","filterTupleLabel","dialogBodyMinWidth","overlayListMaxHeight","Fragment","jsx","jsxs","ReportViewToolbar","columns","selected","onToggleColumn","onResetColumns","groupBy","onGroupByChange","baseFilters","onClearBaseFilters","columnFilterCount","onClearColumnFilters","savedReports","currentReport","onSelectReport","onSaveReport","onDeleteReport","onExport","exportDisabled","t","knobProps","saveOpen","setSaveOpen","saveName","setSaveName","selectedSet","Set","groupByColumn","find","column","fieldname","currentSummary","report","name","handleSaveAs","trim","alignItems","flexWrap","gap","panelPadding","paddingVertical","children","Trigger","asChild","size","chromeless","icon","defaultValue","enabled","length","total","Content","maxHeight","Label","map","isSelected","has","lastSelected","CheckboxItem","checked","disabled","disabledReason","onCheckedChange","label","Separator","Item","onSelect","field","closeOnSelect","reportName","destructive","onPress","placement","open","onOpenChange","Arrow","borderWidth","borderColor","minWidth","flex","compact","value","onChangeText","placeholder","inputProps","accent","disabledReasonPlacement","tuple","index","variant","color","count"],"sources":["../../../src/report/ReportViewToolbar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Chip, DropdownMenu, Popover, PopoverContent, XStack, YStack } from "@multiplatform.one/components";
|
|
3
|
+
import { Button, Input } from "@multiplatform.one/forms";
|
|
4
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
5
|
+
import { ColumnsIcon, DownloadSimpleIcon, FloppyDiskIcon, RowsIcon, StackIcon } from "@phosphor-icons/react";
|
|
6
|
+
import React, { useState } from "react";
|
|
7
|
+
import { useTranslation } from "react-i18next";
|
|
8
|
+
import { filterTupleLabel } from "../filterFields.native.js";
|
|
9
|
+
import { dialogBodyMinWidth, overlayListMaxHeight } from "../measures.native.js";
|
|
10
|
+
function ReportViewToolbar(param) {
|
|
11
|
+
var {
|
|
12
|
+
columns,
|
|
13
|
+
selected,
|
|
14
|
+
onToggleColumn,
|
|
15
|
+
onResetColumns,
|
|
16
|
+
groupBy,
|
|
17
|
+
onGroupByChange,
|
|
18
|
+
baseFilters,
|
|
19
|
+
onClearBaseFilters,
|
|
20
|
+
columnFilterCount,
|
|
21
|
+
onClearColumnFilters,
|
|
22
|
+
savedReports,
|
|
23
|
+
currentReport,
|
|
24
|
+
onSelectReport,
|
|
25
|
+
onSaveReport,
|
|
26
|
+
onDeleteReport,
|
|
27
|
+
onExport,
|
|
28
|
+
exportDisabled
|
|
29
|
+
} = param;
|
|
30
|
+
var {
|
|
31
|
+
t
|
|
32
|
+
} = useTranslation();
|
|
33
|
+
var {
|
|
34
|
+
knobProps
|
|
35
|
+
} = useResolvedKnobs();
|
|
36
|
+
var [saveOpen, setSaveOpen] = useState(false);
|
|
37
|
+
var [saveName, setSaveName] = useState("");
|
|
38
|
+
var selectedSet = new Set(selected);
|
|
39
|
+
var groupByColumn = groupBy ? columns.find(function (column) {
|
|
40
|
+
return column.fieldname === groupBy;
|
|
41
|
+
}) : void 0;
|
|
42
|
+
var currentSummary = currentReport ? savedReports.find(function (report) {
|
|
43
|
+
return report.name === currentReport;
|
|
44
|
+
}) : void 0;
|
|
45
|
+
var handleSaveAs = function handleSaveAs2() {
|
|
46
|
+
var name = saveName.trim();
|
|
47
|
+
if (!name || !onSaveReport) return;
|
|
48
|
+
onSaveReport(name);
|
|
49
|
+
setSaveOpen(false);
|
|
50
|
+
setSaveName("");
|
|
51
|
+
};
|
|
52
|
+
return /* @__PURE__ */_jsxs(XStack, {
|
|
53
|
+
alignItems: "center",
|
|
54
|
+
flexWrap: "wrap",
|
|
55
|
+
gap: "$2",
|
|
56
|
+
...knobProps.panelPadding,
|
|
57
|
+
paddingVertical: "$2",
|
|
58
|
+
children: [/* Column add/remove picker (persisted per doctype) */
|
|
59
|
+
/* @__PURE__ */_jsxs(DropdownMenu, {
|
|
60
|
+
children: [/* @__PURE__ */_jsx(DropdownMenu.Trigger, {
|
|
61
|
+
asChild: true,
|
|
62
|
+
children: /* @__PURE__ */_jsx(Button, {
|
|
63
|
+
size: "$3",
|
|
64
|
+
chromeless: true,
|
|
65
|
+
icon: ColumnsIcon,
|
|
66
|
+
children: t("report.columns", {
|
|
67
|
+
defaultValue: "Columns ({{enabled}}/{{total}})",
|
|
68
|
+
enabled: selected.length,
|
|
69
|
+
total: columns.length
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
}), /* @__PURE__ */_jsxs(DropdownMenu.Content, {
|
|
73
|
+
maxHeight: overlayListMaxHeight,
|
|
74
|
+
children: [/* @__PURE__ */_jsx(DropdownMenu.Label, {
|
|
75
|
+
children: t("report.pickColumns", "Report columns")
|
|
76
|
+
}), columns.map(function (column) {
|
|
77
|
+
var isSelected = selectedSet.has(column.fieldname);
|
|
78
|
+
var lastSelected = isSelected && selected.length === 1;
|
|
79
|
+
return /* @__PURE__ */_jsx(DropdownMenu.CheckboxItem, {
|
|
80
|
+
checked: isSelected,
|
|
81
|
+
disabled: lastSelected,
|
|
82
|
+
disabledReason: lastSelected ? t("report.lastColumn", "At least one column stays visible") : void 0,
|
|
83
|
+
onCheckedChange: function onCheckedChange() {
|
|
84
|
+
return onToggleColumn(column.fieldname);
|
|
85
|
+
},
|
|
86
|
+
children: column.label
|
|
87
|
+
}, column.fieldname);
|
|
88
|
+
}), /* @__PURE__ */_jsx(DropdownMenu.Separator, {}), /* @__PURE__ */_jsx(DropdownMenu.Item, {
|
|
89
|
+
onSelect: onResetColumns,
|
|
90
|
+
children: t("report.resetColumns", "Reset to default columns")
|
|
91
|
+
})]
|
|
92
|
+
})]
|
|
93
|
+
}), /* Group-by (rendered as in-grid group header rows) */
|
|
94
|
+
/* @__PURE__ */_jsxs(DropdownMenu, {
|
|
95
|
+
children: [/* @__PURE__ */_jsx(DropdownMenu.Trigger, {
|
|
96
|
+
asChild: true,
|
|
97
|
+
children: /* @__PURE__ */_jsx(Button, {
|
|
98
|
+
size: "$3",
|
|
99
|
+
chromeless: true,
|
|
100
|
+
icon: RowsIcon,
|
|
101
|
+
children: groupByColumn ? t("report.groupByActive", {
|
|
102
|
+
defaultValue: "Group by: {{field}}",
|
|
103
|
+
field: groupByColumn.label
|
|
104
|
+
}) : t("report.groupBy", "Group by")
|
|
105
|
+
})
|
|
106
|
+
}), /* @__PURE__ */_jsxs(DropdownMenu.Content, {
|
|
107
|
+
maxHeight: overlayListMaxHeight,
|
|
108
|
+
children: [/* @__PURE__ */_jsx(DropdownMenu.CheckboxItem, {
|
|
109
|
+
checked: !groupBy,
|
|
110
|
+
closeOnSelect: true,
|
|
111
|
+
onCheckedChange: function onCheckedChange() {
|
|
112
|
+
return onGroupByChange(null);
|
|
113
|
+
},
|
|
114
|
+
children: t("report.groupByNone", "No grouping")
|
|
115
|
+
}), /* @__PURE__ */_jsx(DropdownMenu.Separator, {}), columns.map(function (column) {
|
|
116
|
+
return /* @__PURE__ */_jsx(DropdownMenu.CheckboxItem, {
|
|
117
|
+
checked: groupBy === column.fieldname,
|
|
118
|
+
closeOnSelect: true,
|
|
119
|
+
onCheckedChange: function onCheckedChange() {
|
|
120
|
+
return onGroupByChange(column.fieldname);
|
|
121
|
+
},
|
|
122
|
+
children: column.label
|
|
123
|
+
}, column.fieldname);
|
|
124
|
+
})]
|
|
125
|
+
})]
|
|
126
|
+
}), /* Saved-report selector (desk "Select Report": Report Builder docs) */
|
|
127
|
+
(onSaveReport || savedReports.length > 0) && /* @__PURE__ */_jsxs(DropdownMenu, {
|
|
128
|
+
children: [/* @__PURE__ */_jsx(DropdownMenu.Trigger, {
|
|
129
|
+
asChild: true,
|
|
130
|
+
children: /* @__PURE__ */_jsx(Button, {
|
|
131
|
+
size: "$3",
|
|
132
|
+
chromeless: true,
|
|
133
|
+
icon: StackIcon,
|
|
134
|
+
children: currentSummary ? t("report.savedReportActive", {
|
|
135
|
+
defaultValue: "Report: {{name}}",
|
|
136
|
+
name: currentSummary.reportName
|
|
137
|
+
}) : t("report.savedReport", "Select Report")
|
|
138
|
+
})
|
|
139
|
+
}), /* @__PURE__ */_jsxs(DropdownMenu.Content, {
|
|
140
|
+
maxHeight: overlayListMaxHeight,
|
|
141
|
+
children: [/* @__PURE__ */_jsx(DropdownMenu.CheckboxItem, {
|
|
142
|
+
checked: !currentReport,
|
|
143
|
+
closeOnSelect: true,
|
|
144
|
+
onCheckedChange: function onCheckedChange() {
|
|
145
|
+
return onSelectReport(null);
|
|
146
|
+
},
|
|
147
|
+
children: t("report.savedReportNone", "New report (unsaved)")
|
|
148
|
+
}), savedReports.length > 0 && /* @__PURE__ */_jsx(DropdownMenu.Separator, {}), savedReports.map(function (report) {
|
|
149
|
+
return /* @__PURE__ */_jsx(DropdownMenu.CheckboxItem, {
|
|
150
|
+
checked: currentReport === report.name,
|
|
151
|
+
closeOnSelect: true,
|
|
152
|
+
onCheckedChange: function onCheckedChange() {
|
|
153
|
+
return onSelectReport(report.name);
|
|
154
|
+
},
|
|
155
|
+
children: report.reportName
|
|
156
|
+
}, report.name);
|
|
157
|
+
}), currentSummary && onDeleteReport && /* @__PURE__ */_jsxs(_Fragment, {
|
|
158
|
+
children: [/* @__PURE__ */_jsx(DropdownMenu.Separator, {}), /* @__PURE__ */_jsx(DropdownMenu.Item, {
|
|
159
|
+
destructive: true,
|
|
160
|
+
onSelect: function onSelect() {
|
|
161
|
+
return onDeleteReport(currentSummary.name);
|
|
162
|
+
},
|
|
163
|
+
children: t("report.deleteReport", {
|
|
164
|
+
defaultValue: "Delete \u201C{{name}}\u201D",
|
|
165
|
+
name: currentSummary.reportName
|
|
166
|
+
})
|
|
167
|
+
})]
|
|
168
|
+
})]
|
|
169
|
+
})]
|
|
170
|
+
}), /* Save (overwrite the selected report) + Save As (new Report doc) */
|
|
171
|
+
currentSummary && onSaveReport && /* @__PURE__ */_jsx(Button, {
|
|
172
|
+
size: "$3",
|
|
173
|
+
icon: FloppyDiskIcon,
|
|
174
|
+
onPress: function onPress() {
|
|
175
|
+
return onSaveReport(currentSummary.name);
|
|
176
|
+
},
|
|
177
|
+
children: t("report.save", "Save")
|
|
178
|
+
}), onSaveReport && /* @__PURE__ */_jsxs(Popover, {
|
|
179
|
+
placement: "bottom-start",
|
|
180
|
+
open: saveOpen,
|
|
181
|
+
onOpenChange: setSaveOpen,
|
|
182
|
+
children: [/* @__PURE__ */_jsx(Popover.Trigger, {
|
|
183
|
+
asChild: true,
|
|
184
|
+
children: /* @__PURE__ */_jsx(Button, {
|
|
185
|
+
size: "$3",
|
|
186
|
+
chromeless: !!currentSummary,
|
|
187
|
+
icon: currentSummary ? void 0 : FloppyDiskIcon,
|
|
188
|
+
children: t("report.saveAs", "Save As\u2026")
|
|
189
|
+
})
|
|
190
|
+
}),
|
|
191
|
+
/* House overlay surface (elevatedSurface knob recipe) — raw
|
|
192
|
+
Popover.Content has no `elevate` variant in tamagui 2.0, so the
|
|
193
|
+
bare boolean leaked to the DOM (LC-46 class). */
|
|
194
|
+
/* @__PURE__ */
|
|
195
|
+
_jsxs(PopoverContent, {
|
|
196
|
+
...knobProps.panelPadding,
|
|
197
|
+
children: [/* @__PURE__ */_jsx(Popover.Arrow, {
|
|
198
|
+
borderWidth: 1,
|
|
199
|
+
borderColor: "$borderColor"
|
|
200
|
+
}), /* @__PURE__ */_jsxs(XStack, {
|
|
201
|
+
gap: "$2",
|
|
202
|
+
alignItems: "center",
|
|
203
|
+
minWidth: dialogBodyMinWidth,
|
|
204
|
+
children: [/* @__PURE__ */_jsx(YStack, {
|
|
205
|
+
flex: 1,
|
|
206
|
+
minWidth: 0,
|
|
207
|
+
children: /* @__PURE__ */_jsx(Input, {
|
|
208
|
+
size: "$3",
|
|
209
|
+
compact: true,
|
|
210
|
+
value: saveName,
|
|
211
|
+
onChangeText: setSaveName,
|
|
212
|
+
placeholder: t("report.reportNamePlaceholder", "New report name"),
|
|
213
|
+
inputProps: {
|
|
214
|
+
"aria-label": t("report.reportNamePlaceholder", "New report name")
|
|
215
|
+
}
|
|
216
|
+
})
|
|
217
|
+
}), /* @__PURE__ */_jsx(Button, {
|
|
218
|
+
size: "$3",
|
|
219
|
+
accent: true,
|
|
220
|
+
disabled: !saveName.trim(),
|
|
221
|
+
disabledReason: t("report.saveNeedsName", "Name the report to save it"),
|
|
222
|
+
disabledReasonPlacement: "inline",
|
|
223
|
+
onPress: handleSaveAs,
|
|
224
|
+
children: t("report.save", "Save")
|
|
225
|
+
})]
|
|
226
|
+
})]
|
|
227
|
+
})]
|
|
228
|
+
}), /* @__PURE__ */_jsx(XStack, {
|
|
229
|
+
flex: 1
|
|
230
|
+
}), /* Base filter chips (?f= deep link) */
|
|
231
|
+
baseFilters.map(function (tuple, index) {
|
|
232
|
+
return /* @__PURE__ */_jsx(Chip, {
|
|
233
|
+
size: "$2",
|
|
234
|
+
variant: "subtle",
|
|
235
|
+
color: "gray",
|
|
236
|
+
children: filterTupleLabel([...columns], tuple)
|
|
237
|
+
}, `${tuple[0]}-${index}`);
|
|
238
|
+
}), onClearBaseFilters && baseFilters.length > 0 && /* @__PURE__ */_jsx(Button, {
|
|
239
|
+
size: "$3",
|
|
240
|
+
chromeless: true,
|
|
241
|
+
onPress: onClearBaseFilters,
|
|
242
|
+
children: t("report.clearFilters", "Clear filters")
|
|
243
|
+
}), /* Column filter-row summary + clear-all */
|
|
244
|
+
columnFilterCount > 0 && /* @__PURE__ */_jsx(Button, {
|
|
245
|
+
size: "$3",
|
|
246
|
+
chromeless: true,
|
|
247
|
+
onPress: onClearColumnFilters,
|
|
248
|
+
children: t("report.clearColumnFilters", {
|
|
249
|
+
defaultValue: "Clear column filters ({{count}})",
|
|
250
|
+
count: columnFilterCount
|
|
251
|
+
})
|
|
252
|
+
}), onExport && /* @__PURE__ */_jsx(Button, {
|
|
253
|
+
size: "$3",
|
|
254
|
+
icon: DownloadSimpleIcon,
|
|
255
|
+
disabled: exportDisabled,
|
|
256
|
+
disabledReason: exportDisabled ? t("report.exportEmpty", "No rows to export") : void 0,
|
|
257
|
+
disabledReasonPlacement: "inline",
|
|
258
|
+
onPress: onExport,
|
|
259
|
+
children: t("report.export", "Export CSV")
|
|
260
|
+
})]
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
export { ReportViewToolbar };
|
|
264
|
+
//# sourceMappingURL=ReportViewToolbar.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Chip","DropdownMenu","Popover","PopoverContent","XStack","YStack","Button","Input","useResolvedKnobs","ColumnsIcon","DownloadSimpleIcon","FloppyDiskIcon","RowsIcon","StackIcon","React","useState","useTranslation","filterTupleLabel","dialogBodyMinWidth","overlayListMaxHeight","ReportViewToolbar","param","columns","selected","onToggleColumn","onResetColumns","groupBy","onGroupByChange","baseFilters","onClearBaseFilters","columnFilterCount","onClearColumnFilters","savedReports","currentReport","onSelectReport","onSaveReport","onDeleteReport","onExport","exportDisabled","t","knobProps","saveOpen","setSaveOpen","saveName","setSaveName","selectedSet","Set","groupByColumn","find","column","fieldname","currentSummary","report","name","handleSaveAs","handleSaveAs2","trim","alignItems","flexWrap","gap","panelPadding","paddingVertical","children","Trigger","asChild","size","chromeless","icon","defaultValue","enabled","length","total","Content","maxHeight","Label","map","isSelected","has","lastSelected","CheckboxItem","checked","disabled","disabledReason","onCheckedChange","label","Separator","Item","onSelect","field","closeOnSelect","reportName","destructive","onPress","placement","open","onOpenChange","Arrow","borderWidth","borderColor","minWidth","flex"],"sources":["../../../src/report/ReportViewToolbar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|