@multiplatform.one/frappe-ui 7.35.0 → 7.36.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.
Files changed (52) hide show
  1. package/dist/cjs/FrappeReportBuilder.cjs +9 -3
  2. package/dist/cjs/FrappeReportBuilder.native.js +12 -4
  3. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  4. package/dist/cjs/report/ReportGrid.cjs +123 -23
  5. package/dist/cjs/report/ReportGrid.native.js +126 -16
  6. package/dist/cjs/report/ReportGrid.native.js.map +1 -1
  7. package/dist/cjs/report/ReportViewToolbar.cjs +1 -1
  8. package/dist/cjs/report/ReportViewToolbar.native.js +1 -1
  9. package/dist/cjs/report/ReportViewToolbar.native.js.map +1 -1
  10. package/dist/cjs/report/reportViewModel.cjs +20 -0
  11. package/dist/cjs/report/reportViewModel.native.js +89 -0
  12. package/dist/cjs/report/reportViewModel.native.js.map +1 -1
  13. package/dist/esm/FrappeReportBuilder.mjs +11 -5
  14. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  15. package/dist/esm/FrappeReportBuilder.native.js +14 -6
  16. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  17. package/dist/esm/report/ReportGrid.mjs +125 -26
  18. package/dist/esm/report/ReportGrid.mjs.map +1 -1
  19. package/dist/esm/report/ReportGrid.native.js +128 -19
  20. package/dist/esm/report/ReportGrid.native.js.map +1 -1
  21. package/dist/esm/report/ReportViewToolbar.mjs +1 -1
  22. package/dist/esm/report/ReportViewToolbar.native.js +1 -1
  23. package/dist/esm/report/ReportViewToolbar.native.js.map +1 -1
  24. package/dist/esm/report/reportViewModel.mjs +19 -1
  25. package/dist/esm/report/reportViewModel.mjs.map +1 -1
  26. package/dist/esm/report/reportViewModel.native.js +88 -1
  27. package/dist/esm/report/reportViewModel.native.js.map +1 -1
  28. package/dist/jsx/FrappeReportBuilder.mjs +11 -5
  29. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  30. package/dist/jsx/FrappeReportBuilder.native.js +12 -4
  31. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  32. package/dist/jsx/report/ReportGrid.mjs +125 -26
  33. package/dist/jsx/report/ReportGrid.mjs.map +1 -1
  34. package/dist/jsx/report/ReportGrid.native.js +126 -16
  35. package/dist/jsx/report/ReportGrid.native.js.map +1 -1
  36. package/dist/jsx/report/ReportViewToolbar.mjs +1 -1
  37. package/dist/jsx/report/ReportViewToolbar.native.js +1 -1
  38. package/dist/jsx/report/reportViewModel.mjs +19 -1
  39. package/dist/jsx/report/reportViewModel.mjs.map +1 -1
  40. package/dist/jsx/report/reportViewModel.native.js +89 -0
  41. package/dist/jsx/report/reportViewModel.native.js.map +1 -1
  42. package/package.json +16 -16
  43. package/src/FrappeReportBuilder.tsx +29 -4
  44. package/src/report/ReportGrid.phone.spec.tsx +140 -0
  45. package/src/report/ReportGrid.tsx +218 -71
  46. package/src/report/ReportViewToolbar.tsx +1 -1
  47. package/src/report/reportViewModel.ts +38 -0
  48. package/types/FrappeReportBuilder.d.ts.map +1 -1
  49. package/types/report/ReportGrid.d.ts +19 -1
  50. package/types/report/ReportGrid.d.ts.map +1 -1
  51. package/types/report/reportViewModel.d.ts +10 -0
  52. package/types/report/reportViewModel.d.ts.map +1 -1
@@ -227,7 +227,9 @@ function FrappeReportBuilderBody({
227
227
  const own = new Set(layoutMeta.fields.map(field => field.fieldname));
228
228
  return columns.filter(column => column.fieldname === "name" || own.has(column.fieldname));
229
229
  }, [layoutMeta, readsWithoutMeta]);
230
- const defaultFieldnames = (0, import_react.useMemo)(() => readsWithoutMeta && layoutMeta ? ["name", ...layoutMeta.fields.map(field => field.fieldname)] : (0, import_reportViewModel.defaultReportFieldnames)(layoutMeta), [layoutMeta, readsWithoutMeta]);
230
+ const compact = (0, import_theme.useLayoutSizeClass)() === "compact";
231
+ const defaultFieldnames = (0, import_react.useMemo)(() => readsWithoutMeta && layoutMeta ? ["name", ...layoutMeta.fields.map(field => field.fieldname)] : compact ? (0, import_reportViewModel.phoneReportFieldnames)(layoutMeta) : (0, import_reportViewModel.defaultReportFieldnames)(layoutMeta), [layoutMeta, readsWithoutMeta, compact]);
232
+ const fileUrl = (0, import_react.useCallback)(path => /^(?:https?:|data:|blob:)/.test(path) || !connection.baseURL ? path : `${connection.baseURL.replace(/\/$/, "")}${path.startsWith("/") ? "" : "/"}${path}`, [connection.baseURL]);
231
233
  const initialColumnsKey = JSON.stringify(initialFieldnames(initialColumns));
232
234
  const startFieldnames = (0, import_react.useMemo)(() => JSON.parse(initialColumnsKey), [initialColumnsKey]);
233
235
  const [storedColumns, setStoredColumns] = (0, import_react.useState)(void 0);
@@ -330,8 +332,9 @@ function FrappeReportBuilderBody({
330
332
  for (const column of selectedColumns) fields.add(column.fieldname);
331
333
  if (groupBy) fields.add(groupBy);
332
334
  if (chartConfig?.aggregationField) fields.add(chartConfig.aggregationField);
335
+ if (compact && layoutMeta?.image_field) fields.add(layoutMeta.image_field);
333
336
  return [...fields];
334
- }, [selectedColumns, sort.field, groupBy, chartConfig?.aggregationField]);
337
+ }, [selectedColumns, sort.field, groupBy, chartConfig?.aggregationField, compact, layoutMeta?.image_field]);
335
338
  const orderBy = (0, import_react.useMemo)(() => [{
336
339
  field: sort.field,
337
340
  order: sort.order === "asc" ? import_frappe.Order.Asc : import_frappe.Order.Desc
@@ -578,7 +581,10 @@ function FrappeReportBuilderBody({
578
581
  onOpenRow: rowsPressable ? handleOpenRow : void 0,
579
582
  onOpenLink,
580
583
  totals,
581
- groupByColumn
584
+ groupByColumn,
585
+ imageField: layoutMeta?.image_field,
586
+ titleField: layoutMeta?.title_field,
587
+ fileUrl
582
588
  })]
583
589
  });
584
590
  }
@@ -310,11 +310,15 @@ function FrappeReportBuilderBody(param) {
310
310
  return column.fieldname === "name" || own.has(column.fieldname);
311
311
  });
312
312
  }, [layoutMeta, readsWithoutMeta]);
313
+ var compact = (0, import_theme.useLayoutSizeClass)() === "compact";
313
314
  var defaultFieldnames = (0, import_react.useMemo)(function () {
314
315
  return readsWithoutMeta && layoutMeta ? ["name", ...layoutMeta.fields.map(function (field) {
315
316
  return field.fieldname;
316
- })] : (0, import_reportViewModel.defaultReportFieldnames)(layoutMeta);
317
- }, [layoutMeta, readsWithoutMeta]);
317
+ })] : compact ? (0, import_reportViewModel.phoneReportFieldnames)(layoutMeta) : (0, import_reportViewModel.defaultReportFieldnames)(layoutMeta);
318
+ }, [layoutMeta, readsWithoutMeta, compact]);
319
+ var fileUrl = (0, import_react.useCallback)(function (path) {
320
+ return /^(?:https?:|data:|blob:)/.test(path) || !connection.baseURL ? path : `${connection.baseURL.replace(/\/$/, "")}${path.startsWith("/") ? "" : "/"}${path}`;
321
+ }, [connection.baseURL]);
318
322
  var initialColumnsKey = JSON.stringify(initialFieldnames(initialColumns));
319
323
  var startFieldnames = (0, import_react.useMemo)(function () {
320
324
  return JSON.parse(initialColumnsKey);
@@ -474,8 +478,9 @@ function FrappeReportBuilderBody(param) {
474
478
  }
475
479
  if (groupBy) fields.add(groupBy);
476
480
  if (chartConfig === null || chartConfig === void 0 ? void 0 : chartConfig.aggregationField) fields.add(chartConfig.aggregationField);
481
+ if (compact && (layoutMeta === null || layoutMeta === void 0 ? void 0 : layoutMeta.image_field)) fields.add(layoutMeta.image_field);
477
482
  return [...fields];
478
- }, [selectedColumns, sort.field, groupBy, chartConfig === null || chartConfig === void 0 ? void 0 : chartConfig.aggregationField]);
483
+ }, [selectedColumns, sort.field, groupBy, chartConfig === null || chartConfig === void 0 ? void 0 : chartConfig.aggregationField, compact, layoutMeta === null || layoutMeta === void 0 ? void 0 : layoutMeta.image_field]);
479
484
  var orderBy = (0, import_react.useMemo)(function () {
480
485
  return [{
481
486
  field: sort.field,
@@ -736,7 +741,10 @@ function FrappeReportBuilderBody(param) {
736
741
  onOpenRow: rowsPressable ? handleOpenRow : void 0,
737
742
  onOpenLink,
738
743
  totals,
739
- groupByColumn
744
+ groupByColumn,
745
+ imageField: layoutMeta === null || layoutMeta === void 0 ? void 0 : layoutMeta.image_field,
746
+ titleField: layoutMeta === null || layoutMeta === void 0 ? void 0 : layoutMeta.title_field,
747
+ fileUrl
740
748
  })]
741
749
  });
742
750
  }
@@ -1 +1 @@
1
- {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","FrappeReportBuilder_exports","__export","FrappeReportBuilder","module","exports","import_jsx_runtime","require","import_components","import_frappe","import_forms","import_platform","import_store","import_table","import_theme","import_react","import_react_i18next","import_FrappeNotConfigured","import_FrappeProvider","import_liveErrors","import_recordShape","import_ReportGrid","import_ReportViewToolbar","import_reportViewModel","import_savedReports","import_useFrappeRows","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","EMPTY_FILTERS","COLUMN_FILTER_DEBOUNCE_MS","columnsStorageKey","doctype","readStoredColumns","raw","Promise","resolve","storage","getItem","parsed","JSON","parse","Array","isArray","every","entry","unused","persistStoredColumns","fieldnames","setItem","stringify","toReportFilters","filters","length","tuples","Object","entries","map","param","field","initialFieldnames","columns","flatMap","column","enabled","fieldname","asFieldType","fieldtype","_frappeFieldTypes_find","frappeFieldTypes","find","known","refusedMetaFields","initialColumns","recordFields","declared","label","recordKeyLabel","filter","read_only","in_list_view","asError","error","Error","String","groupField","groupBy","aggregateGroups","rows","config","groups","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","row","key","bucket","get","push","set","err","return","numbers","numbers2","group","row2","Number","aggregationField","aggregation","reduce","sum","Math","min","max","canDownloadCsv","document","createElement","Blob","URL","createObjectURL","props","_props_baseURL","useFrappeConfig","baseURL","fixtures","jsx","FrappeNotConfigured","FrappeReportBuilderBody","scopeFilters","onClearFilters","initialGroupBy","showChart","onOpenRow","onRowPress","onOpenLink","report","reportProp","onReportChange","onExport","loading","loadingFallback","errorFallback","auth","syncOptions","stackProps","_ref","_ref1","_ref2","t","useTranslation","knobProps","useResolvedKnobs","finalBaseURL","finalAuth","finalSyncOptions","fixtureMode","Boolean","connection","useMemo","socketPort","siteName","socketBaseURL","realtime","meta","isLoading","metaLoading","metaError","useDocTypeMeta","metaRefused","isPermissionError","initialColumnsJson","declaresColumns","recordShape","useRecordShape","layoutMeta","fields","readsWithoutMeta","savedReports","useSavedReports","_connection_baseURL","internalReport","setInternalReport","useState","currentReport","allColumns","reportColumnsFromMeta","own","Set","has","defaultFieldnames","defaultReportFieldnames","initialColumnsKey","startFieldnames","storedColumns","setStoredColumns","selectedOverride","setSelectedOverride","useEffect","cancelled","then","stored","selectedFieldnames","selectedColumns","resolveSelectedColumns","filtersKey","propFilters","filtersCleared","setFiltersCleared","reportFilters","setReportFilters","baseFilters","filterDrafts","setFilterDrafts","committedFilters","setCommittedFilters","handle","setTimeout","previous","clearTimeout","columnTuples","columnFilterTuples","scopeKey","scope","effectiveFilters","metaSort","sort_field","split","order","sort_order","toLowerCase","sortOverride","setSortOverride","sort","startGroupBy","chartConfig","setGroupBy","pageSize","setPageSize","DEFAULT_REPORT_PAGE_SIZE","page","setPage","effectiveFiltersKey","load","saved","_saved_groupBy","REPORT_PAGE_SIZES","some","size","handleToggleColumn","useCallback","_ref3","_ref12","current","includes","handleResetColumns","fetchFields","add","orderBy","Order","Asc","Desc","rowsData","syncError","rowsLoading","useFrappeRows","limit","mapError","orderedRows","orderReportRows","total","pageCount","ceil","effectivePage","gridRows","buildGridRows","totals","computeTotals","groupByColumn","chartData","rowsPressable","handleOpenRow","name","index","findIndex","handleSelectReport","handleClearBaseFilters","handleSaveReport","save","addTotals","savedName","notify","severity","body","defaultValue","catch","message"],"sources":["../../src/FrappeReportBuilder.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","FrappeReportBuilder_exports","__export","FrappeReportBuilder","module","exports","import_jsx_runtime","require","import_components","import_frappe","import_forms","import_platform","import_store","import_table","import_theme","import_react","import_react_i18next","import_FrappeNotConfigured","import_FrappeProvider","import_liveErrors","import_recordShape","import_ReportGrid","import_ReportViewToolbar","import_reportViewModel","import_savedReports","import_useFrappeRows","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","EMPTY_FILTERS","COLUMN_FILTER_DEBOUNCE_MS","columnsStorageKey","doctype","readStoredColumns","raw","Promise","resolve","storage","getItem","parsed","JSON","parse","Array","isArray","every","entry","unused","persistStoredColumns","fieldnames","setItem","stringify","toReportFilters","filters","length","tuples","Object","entries","map","param","field","initialFieldnames","columns","flatMap","column","enabled","fieldname","asFieldType","fieldtype","_frappeFieldTypes_find","frappeFieldTypes","find","known","refusedMetaFields","initialColumns","recordFields","declared","label","recordKeyLabel","filter","read_only","in_list_view","asError","error","Error","String","groupField","groupBy","aggregateGroups","rows","config","groups","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","row","key","bucket","get","push","set","err","return","numbers","numbers2","group","row2","Number","aggregationField","aggregation","reduce","sum","Math","min","max","canDownloadCsv","document","createElement","Blob","URL","createObjectURL","props","_props_baseURL","useFrappeConfig","baseURL","fixtures","jsx","FrappeNotConfigured","FrappeReportBuilderBody","scopeFilters","onClearFilters","initialGroupBy","showChart","onOpenRow","onRowPress","onOpenLink","report","reportProp","onReportChange","onExport","loading","loadingFallback","errorFallback","auth","syncOptions","stackProps","_ref","_ref1","_ref2","t","useTranslation","knobProps","useResolvedKnobs","finalBaseURL","finalAuth","finalSyncOptions","fixtureMode","Boolean","connection","useMemo","socketPort","siteName","socketBaseURL","realtime","meta","isLoading","metaLoading","metaError","useDocTypeMeta","metaRefused","isPermissionError","initialColumnsJson","declaresColumns","recordShape","useRecordShape","layoutMeta","fields","readsWithoutMeta","savedReports","useSavedReports","_connection_baseURL","internalReport","setInternalReport","useState","currentReport","allColumns","reportColumnsFromMeta","own","Set","has","compact","useLayoutSizeClass","defaultFieldnames","phoneReportFieldnames","defaultReportFieldnames","fileUrl","useCallback","path","test","replace","startsWith","initialColumnsKey","startFieldnames","storedColumns","setStoredColumns","selectedOverride","setSelectedOverride","useEffect","cancelled","then","stored","selectedFieldnames","selectedColumns","resolveSelectedColumns","filtersKey","propFilters","filtersCleared","setFiltersCleared","reportFilters","setReportFilters","baseFilters","filterDrafts","setFilterDrafts","committedFilters","setCommittedFilters","handle","setTimeout","previous","clearTimeout","columnTuples","columnFilterTuples","scopeKey","scope","effectiveFilters","metaSort","sort_field","split","order","sort_order","toLowerCase","sortOverride","setSortOverride","sort","startGroupBy","chartConfig","setGroupBy","pageSize","setPageSize","DEFAULT_REPORT_PAGE_SIZE","page","setPage","effectiveFiltersKey","load","saved","_saved_groupBy","REPORT_PAGE_SIZES","some","size","handleToggleColumn","_ref3","_ref12","current","includes","handleResetColumns","fetchFields","add","image_field","orderBy","Order","Asc","Desc","rowsData","syncError","rowsLoading","useFrappeRows","limit","mapError","orderedRows","orderReportRows","total","pageCount","ceil","effectivePage","gridRows","buildGridRows","totals","computeTotals","groupByColumn","chartData","rowsPressable","handleOpenRow","name","index","findIndex","handleSelectReport","handleClearBaseFilters","handleSaveReport","save","addTotals","savedName","notify","severity","body","defaultValue","catch","message"],"sources":["../../src/FrappeReportBuilder.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -22,7 +22,8 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var ReportGrid_exports = {};
24
24
  __export(ReportGrid_exports, {
25
- ReportGrid: () => ReportGrid
25
+ ReportGrid: () => ReportGrid,
26
+ reportColumnUnit: () => reportColumnUnit
26
27
  });
27
28
  module.exports = __toCommonJS(ReportGrid_exports);
28
29
  var import_components = require("@multiplatform.one/components");
@@ -32,10 +33,34 @@ var import_theme = require("@multiplatform.one/theme");
32
33
  var import_react = require("@phosphor-icons/react");
33
34
  var import_react2 = require("react");
34
35
  var import_react_i18next = require("react-i18next");
36
+ var import_fieldRegistry = require("../fieldRegistry.cjs");
35
37
  var import_listFormat = require("../list/listFormat.cjs");
36
38
  var import_reportViewModel = require("./reportViewModel.cjs");
37
39
  var import_jsx_runtime = require("react/jsx-runtime");
38
40
  const ROW_NUMBER_WIDTH = 56;
41
+ function fitColumns(columns, rows, titleFieldname, viewportWidth) {
42
+ if (viewportWidth <= 0) return [...columns];
43
+ const data = rows.flatMap(row => row.kind === "row" ? [row.row] : []);
44
+ const fitted = (0, import_table.resolveSimpleTableColumns)(columns.map(column => ({
45
+ accessorKey: column.fieldname,
46
+ header: column.label,
47
+ type: import_reportViewModel.REPORT_NUMERIC_FIELDTYPES.has(column.fieldtype) ? "number" : "text",
48
+ ...(column.fieldname === titleFieldname ? {
49
+ width: {
50
+ flex: 1,
51
+ min: "$10"
52
+ }
53
+ } : import_reportViewModel.REPORT_NUMERIC_FIELDTYPES.has(column.fieldtype) ? {
54
+ width: "$8"
55
+ } : {
56
+ width: "$11"
57
+ })
58
+ })), data, viewportWidth, token => Number((0, import_components.getTokenValue)(token, "size")));
59
+ return columns.map((column, index) => ({
60
+ ...column,
61
+ width: fitted[index]?.width ?? column.width
62
+ }));
63
+ }
39
64
  const INTERACTIVE_SELECTOR = ["a[href]", "button", "input", "select", "textarea", "label", '[contenteditable="true"]', '[role="button"]', '[role="checkbox"]', '[role="combobox"]', '[role="link"]', '[role="menuitem"]', '[role="option"]', '[role="radio"]', '[role="slider"]', '[role="spinbutton"]', '[role="switch"]', '[role="textbox"]', "[aria-expanded]"].join(", ");
40
65
  function isInteractiveInnerTarget(target, boundary) {
41
66
  if (typeof Element === "undefined") return false;
@@ -50,6 +75,21 @@ function isInteractiveInnerTarget(target, boundary) {
50
75
  }
51
76
  return false;
52
77
  }
78
+ function reportColumnUnit(column) {
79
+ if (!import_reportViewModel.REPORT_NUMERIC_FIELDTYPES.has(column.fieldtype)) return {
80
+ label: column.label
81
+ };
82
+ if (column.fieldtype === "Currency" || column.fieldtype === "Percent") {
83
+ return {
84
+ label: column.label
85
+ };
86
+ }
87
+ const split = (0, import_fieldRegistry.splitUnitLabel)(column.label);
88
+ return {
89
+ label: String(split.label),
90
+ unit: split.unit
91
+ };
92
+ }
53
93
  function alignToJustify(align) {
54
94
  return align === "right" ? "flex-end" : align === "center" ? "center" : "flex-start";
55
95
  }
@@ -72,7 +112,8 @@ function formatNumericCell(value, fieldtype) {
72
112
  function ReportCellValue({
73
113
  column,
74
114
  row,
75
- onOpenLink
115
+ onOpenLink,
116
+ fileUrl
76
117
  }) {
77
118
  const raw = row[column.fieldname];
78
119
  if (raw === null || raw === void 0 || raw === "") {
@@ -91,11 +132,26 @@ function ReportCellValue({
91
132
  }
92
133
  if (import_reportViewModel.REPORT_NUMERIC_FIELDTYPES.has(column.fieldtype)) {
93
134
  const numeric = Number(raw);
94
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
135
+ const {
136
+ unit
137
+ } = reportColumnUnit(column);
138
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Text, {
95
139
  fontSize: "$3",
96
140
  color: "$color12",
97
141
  fontFamily: "$mono",
98
- children: Number.isFinite(numeric) ? formatNumericCell(numeric, column.fieldtype) : String(raw)
142
+ numberOfLines: 1,
143
+ children: [Number.isFinite(numeric) ? formatNumericCell(numeric, column.fieldtype) : String(raw), unit ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
144
+ color: "$color10",
145
+ children: ` ${unit}`
146
+ }) : null]
147
+ });
148
+ }
149
+ if (column.fieldtype === "Attach Image" && typeof raw === "string") {
150
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Image, {
151
+ src: fileUrl ? fileUrl(raw) : raw,
152
+ alt: "",
153
+ size: "extraSmall",
154
+ framed: true
99
155
  });
100
156
  }
101
157
  const value = String(raw);
@@ -143,7 +199,7 @@ function ReportCellValue({
143
199
  }
144
200
  }
145
201
  function ReportGrid({
146
- columns,
202
+ columns: columnsIn,
147
203
  rows,
148
204
  sort,
149
205
  onSortChange,
@@ -152,11 +208,19 @@ function ReportGrid({
152
208
  onOpenRow,
153
209
  onOpenLink,
154
210
  totals,
155
- groupByColumn
211
+ groupByColumn,
212
+ imageField,
213
+ titleField,
214
+ fileUrl
156
215
  }) {
157
216
  const {
158
217
  t
159
218
  } = (0, import_react_i18next.useTranslation)();
219
+ const compact = (0, import_theme.useLayoutSizeClass)() === "compact";
220
+ const [viewportWidth, setViewportWidth] = (0, import_react2.useState)(0);
221
+ const titleFieldname = titleField ?? columnsIn[0]?.fieldname;
222
+ const columns = compact ? fitColumns(columnsIn, rows, titleFieldname, viewportWidth) : columnsIn;
223
+ const rowNumberWidth = compact ? 0 : ROW_NUMBER_WIDTH;
160
224
  const handleSortPress = (0, import_react2.useCallback)(fieldname => {
161
225
  if (sort.field === fieldname) {
162
226
  onSortChange({
@@ -245,12 +309,16 @@ function ReportGrid({
245
309
  };
246
310
  }, [onOpenRow, effectiveRowAnchor, isSSR, t]);
247
311
  const totalsByField = new Map(totals.map(total => [total.fieldname, total]));
248
- const gridWidth = ROW_NUMBER_WIDTH + columns.reduce((sum, column) => sum + column.width, 0);
312
+ const gridWidth = rowNumberWidth + columns.reduce((sum, column) => sum + column.width, 0);
249
313
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.ScrollView, {
250
314
  horizontal: true,
251
315
  showsHorizontalScrollIndicator: true,
252
316
  flexGrow: 0,
253
317
  flexShrink: 1,
318
+ onLayout: event => {
319
+ const width = Math.floor(event.nativeEvent.layout.width);
320
+ setViewportWidth(previous => previous === width ? previous : width);
321
+ },
254
322
  children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table, {
255
323
  minWidth: gridWidth,
256
324
  width: gridWidth,
@@ -261,7 +329,7 @@ function ReportGrid({
261
329
  },
262
330
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table.Head, {
263
331
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table.Row, {
264
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.HeaderCell, {
332
+ children: [compact ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.HeaderCell, {
265
333
  cellWidth: ROW_NUMBER_WIDTH,
266
334
  "aria-label": t("report.rowNumber", "Row number"),
267
335
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
@@ -308,7 +376,7 @@ function ReportGrid({
308
376
  fontSize: "$3",
309
377
  fontWeight: "400",
310
378
  numberOfLines: 1,
311
- children: column.label
379
+ children: reportColumnUnit(column).label
312
380
  }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.View, {
313
381
  "aria-hidden": true,
314
382
  role: "presentation",
@@ -327,7 +395,7 @@ function ReportGrid({
327
395
  })
328
396
  }, column.fieldname);
329
397
  })]
330
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table.Row, {
398
+ }), compact ? null : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table.Row, {
331
399
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.HeaderCell, {
332
400
  cellWidth: ROW_NUMBER_WIDTH,
333
401
  paddingVertical: "$1.5"
@@ -393,7 +461,7 @@ function ReportGrid({
393
461
  ...(onOpenRow ? getRowPressProps(gridRow.row, pressCursor) : {
394
462
  "aria-label": gridRow.row.name
395
463
  }),
396
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
464
+ children: [compact ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
397
465
  cellWidth: ROW_NUMBER_WIDTH,
398
466
  paddingVertical: "$2",
399
467
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
@@ -402,16 +470,36 @@ function ReportGrid({
402
470
  fontFamily: "$mono",
403
471
  children: gridRow.index
404
472
  })
405
- }), columns.map(column => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
406
- cellWidth: column.width,
407
- paddingVertical: "$2",
408
- justifyContent: alignToJustify(column.align),
409
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ReportCellValue, {
410
- column,
411
- row: gridRow.row,
412
- onOpenLink
413
- })
414
- }, column.fieldname))]
473
+ }), columns.map(column => {
474
+ const image = compact && imageField && column.fieldname === titleFieldname ? gridRow.row[imageField] : void 0;
475
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
476
+ cellWidth: column.width,
477
+ paddingVertical: "$2",
478
+ justifyContent: alignToJustify(column.align),
479
+ children: typeof image === "string" && image ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
480
+ gap: "$2",
481
+ alignItems: "center",
482
+ minWidth: "$0",
483
+ flexShrink: 1,
484
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Image, {
485
+ src: fileUrl ? fileUrl(image) : image,
486
+ alt: "",
487
+ size: "extraSmall",
488
+ framed: true
489
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(ReportCellValue, {
490
+ column,
491
+ row: gridRow.row,
492
+ onOpenLink,
493
+ fileUrl
494
+ })]
495
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(ReportCellValue, {
496
+ column,
497
+ row: gridRow.row,
498
+ onOpenLink,
499
+ fileUrl
500
+ })
501
+ }, column.fieldname);
502
+ })]
415
503
  }, gridRow.key)
416
504
  );
417
505
  });
@@ -421,7 +509,7 @@ function ReportGrid({
421
509
  borderTopColor: "$color6",
422
510
  children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table.Row, {
423
511
  backgroundColor: "$color2",
424
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
512
+ children: [compact ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
425
513
  cellWidth: ROW_NUMBER_WIDTH,
426
514
  paddingVertical: "$2",
427
515
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
@@ -430,8 +518,20 @@ function ReportGrid({
430
518
  color: "$color10",
431
519
  children: t("report.totals", "Totals")
432
520
  })
433
- }), columns.map(column => {
521
+ }), columns.map((column, columnIndex) => {
434
522
  const total = totalsByField.get(column.fieldname);
523
+ if (compact && columnIndex === 0 && !total) {
524
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
525
+ cellWidth: column.width,
526
+ paddingVertical: "$2",
527
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
528
+ fontSize: "$2",
529
+ fontWeight: "400",
530
+ color: "$color10",
531
+ children: t("report.totals", "Totals")
532
+ })
533
+ }, column.fieldname);
534
+ }
435
535
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
436
536
  cellWidth: column.width,
437
537
  paddingVertical: "$2",