@quillsql/react 2.14.12 → 2.14.13
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/ReportBuilder.js +2 -2
- package/dist/cjs/hooks/useExport.d.ts +5 -2
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +12 -5
- package/dist/cjs/utils/csv.d.ts.map +1 -1
- package/dist/cjs/utils/csv.js +2 -6
- package/dist/esm/ReportBuilder.js +2 -2
- package/dist/esm/hooks/useExport.d.ts +5 -2
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +12 -5
- package/dist/esm/utils/csv.d.ts.map +1 -1
- package/dist/esm/utils/csv.js +2 -6
- package/package.json +1 -1
|
@@ -197,7 +197,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = () => void
|
|
|
197
197
|
const [pivotData, setPivotData] = (0, react_1.useState)(null);
|
|
198
198
|
const [numberOfRows, setNumberOfRows] = (0, react_1.useState)(0);
|
|
199
199
|
const [rowCountIsLoading, setRowCountIsLoading] = (0, react_1.useState)(false);
|
|
200
|
-
const reportColumnsToStateColumns = (() => {
|
|
200
|
+
const reportColumnsToStateColumns = (0, react_1.useMemo)(() => {
|
|
201
201
|
const positionMap = {};
|
|
202
202
|
columns.forEach((column, index) => {
|
|
203
203
|
positionMap[column.field] = index;
|
|
@@ -213,7 +213,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = () => void
|
|
|
213
213
|
const posB = positionMap[b.field];
|
|
214
214
|
return posA && posB ? posA - posB : 0;
|
|
215
215
|
});
|
|
216
|
-
})
|
|
216
|
+
}, [columns, reportColumns]);
|
|
217
217
|
// Pivot form states
|
|
218
218
|
const [pivotRowField, setPivotRowField] = (0, react_1.useState)(undefined);
|
|
219
219
|
const [pivotColumnField, setPivotColumnField] = (0, react_1.useState)(undefined);
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { QuillReport } from '../models/Report';
|
|
2
|
+
interface DownloadOptions {
|
|
3
|
+
usePivotRows?: boolean;
|
|
4
|
+
}
|
|
2
5
|
export declare const useExport: (reportId?: string, { CustomDocumentComponent, maximumRowsPerPage, sectionField, }?: {
|
|
3
6
|
CustomDocumentComponent?: (props: QuillPDFProps) => JSX.Element;
|
|
4
7
|
maximumRowsPerPage?: number;
|
|
5
8
|
sectionField?: string;
|
|
6
9
|
}) => {
|
|
7
|
-
downloadPDF: () => Promise<void>;
|
|
10
|
+
downloadPDF: (downloadOptions?: DownloadOptions) => Promise<void>;
|
|
8
11
|
isPDFLoading: boolean;
|
|
9
|
-
downloadCSV: () => Promise<void>;
|
|
12
|
+
downloadCSV: (downloadOptions?: DownloadOptions) => Promise<void>;
|
|
10
13
|
isCSVLoading: boolean;
|
|
11
14
|
};
|
|
12
15
|
interface QuillPDFProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAkE/C,eAAO,MAAM,SAAS,cACT,MAAM,mEAMd;IACD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC,OAAO,CAAC;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KACA;IACD,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAkE/C,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,SAAS,cACT,MAAM,mEAMd;IACD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC,OAAO,CAAC;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KACA;IACD,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,YAAY,EAAE,OAAO,CAAC;CA2RvB,CAAC;AAEF,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -98,7 +98,7 @@ sectionField, } = {}) => {
|
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
return {
|
|
101
|
-
downloadCSV: async () => {
|
|
101
|
+
downloadCSV: async (downloadOptions) => {
|
|
102
102
|
if (!client) {
|
|
103
103
|
return;
|
|
104
104
|
}
|
|
@@ -111,13 +111,17 @@ sectionField, } = {}) => {
|
|
|
111
111
|
dashboardCustomFilters[dashboardReport?.dashboardName ?? ''] ??
|
|
112
112
|
[]), reportId, getToken, tenants, flags, schemaData?.customFields);
|
|
113
113
|
(0, csv_1.downloadCSV)({
|
|
114
|
-
rows: resp.pivot && resp.pivotRows
|
|
115
|
-
|
|
114
|
+
rows: resp.pivot && resp.pivotRows && downloadOptions?.usePivotRows
|
|
115
|
+
? resp.pivotRows
|
|
116
|
+
: resp.rows,
|
|
117
|
+
fields: resp.pivot && resp.pivotColumns && downloadOptions?.usePivotRows
|
|
118
|
+
? resp.pivotColumns
|
|
119
|
+
: resp.columns,
|
|
116
120
|
name: resp.name,
|
|
117
121
|
});
|
|
118
122
|
setIsCSVLoading(false);
|
|
119
123
|
},
|
|
120
|
-
downloadPDF: async () => {
|
|
124
|
+
downloadPDF: async (downloadOptions) => {
|
|
121
125
|
setIsPDFLoading(true);
|
|
122
126
|
const filters = specificReportFilters.length > 0
|
|
123
127
|
? specificReportFilters
|
|
@@ -138,7 +142,10 @@ sectionField, } = {}) => {
|
|
|
138
142
|
return;
|
|
139
143
|
}
|
|
140
144
|
const report = fetchedReport;
|
|
141
|
-
if (report.pivot &&
|
|
145
|
+
if (report.pivot &&
|
|
146
|
+
report.pivotRows &&
|
|
147
|
+
report.pivotColumns &&
|
|
148
|
+
downloadOptions?.usePivotRows) {
|
|
142
149
|
report.rows = report.pivotRows;
|
|
143
150
|
report.columns = report.pivotColumns;
|
|
144
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,eAAO,MAAM,WAAW,SAAU;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,
|
|
1
|
+
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,eAAO,MAAM,WAAW,SAAU;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,SAuFA,CAAC"}
|
package/dist/cjs/utils/csv.js
CHANGED
|
@@ -3,11 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.downloadCSV = void 0;
|
|
4
4
|
const valueFormatter_1 = require("./valueFormatter");
|
|
5
5
|
const downloadCSV = (data) => {
|
|
6
|
-
const { rows, fields, name } = data;
|
|
7
|
-
// report.rows
|
|
8
|
-
if (rows && !rows.length) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
6
|
+
const { rows = [], fields, name } = data;
|
|
11
7
|
// if table chart, use columns and valueFormatter
|
|
12
8
|
if (fields) {
|
|
13
9
|
const newRows = [];
|
|
@@ -58,7 +54,7 @@ const downloadCSV = (data) => {
|
|
|
58
54
|
return;
|
|
59
55
|
}
|
|
60
56
|
const json = rows; // JSON data passed as a prop
|
|
61
|
-
const fieldsProcessed = Object.keys(json[0]); // Assumes all objects have same keys
|
|
57
|
+
const fieldsProcessed = Object.keys(json[0] ?? {}); // Assumes all objects have same keys
|
|
62
58
|
const csvRows = [];
|
|
63
59
|
// Header row
|
|
64
60
|
csvRows.push(fieldsProcessed.join(','));
|
|
@@ -191,7 +191,7 @@ export default function ReportBuilder({ initialTableName = '', onSubmitEditRepor
|
|
|
191
191
|
const [pivotData, setPivotData] = useState(null);
|
|
192
192
|
const [numberOfRows, setNumberOfRows] = useState(0);
|
|
193
193
|
const [rowCountIsLoading, setRowCountIsLoading] = useState(false);
|
|
194
|
-
const reportColumnsToStateColumns = (() => {
|
|
194
|
+
const reportColumnsToStateColumns = useMemo(() => {
|
|
195
195
|
const positionMap = {};
|
|
196
196
|
columns.forEach((column, index) => {
|
|
197
197
|
positionMap[column.field] = index;
|
|
@@ -207,7 +207,7 @@ export default function ReportBuilder({ initialTableName = '', onSubmitEditRepor
|
|
|
207
207
|
const posB = positionMap[b.field];
|
|
208
208
|
return posA && posB ? posA - posB : 0;
|
|
209
209
|
});
|
|
210
|
-
})
|
|
210
|
+
}, [columns, reportColumns]);
|
|
211
211
|
// Pivot form states
|
|
212
212
|
const [pivotRowField, setPivotRowField] = useState(undefined);
|
|
213
213
|
const [pivotColumnField, setPivotColumnField] = useState(undefined);
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { QuillReport } from '../models/Report';
|
|
2
|
+
interface DownloadOptions {
|
|
3
|
+
usePivotRows?: boolean;
|
|
4
|
+
}
|
|
2
5
|
export declare const useExport: (reportId?: string, { CustomDocumentComponent, maximumRowsPerPage, sectionField, }?: {
|
|
3
6
|
CustomDocumentComponent?: (props: QuillPDFProps) => JSX.Element;
|
|
4
7
|
maximumRowsPerPage?: number;
|
|
5
8
|
sectionField?: string;
|
|
6
9
|
}) => {
|
|
7
|
-
downloadPDF: () => Promise<void>;
|
|
10
|
+
downloadPDF: (downloadOptions?: DownloadOptions) => Promise<void>;
|
|
8
11
|
isPDFLoading: boolean;
|
|
9
|
-
downloadCSV: () => Promise<void>;
|
|
12
|
+
downloadCSV: (downloadOptions?: DownloadOptions) => Promise<void>;
|
|
10
13
|
isCSVLoading: boolean;
|
|
11
14
|
};
|
|
12
15
|
interface QuillPDFProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAkE/C,eAAO,MAAM,SAAS,cACT,MAAM,mEAMd;IACD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC,OAAO,CAAC;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KACA;IACD,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAkE/C,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,SAAS,cACT,MAAM,mEAMd;IACD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC,OAAO,CAAC;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KACA;IACD,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,YAAY,EAAE,OAAO,CAAC;CA2RvB,CAAC;AAEF,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -92,7 +92,7 @@ sectionField, } = {}) => {
|
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
return {
|
|
95
|
-
downloadCSV: async () => {
|
|
95
|
+
downloadCSV: async (downloadOptions) => {
|
|
96
96
|
if (!client) {
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
@@ -105,13 +105,17 @@ sectionField, } = {}) => {
|
|
|
105
105
|
dashboardCustomFilters[dashboardReport?.dashboardName ?? ''] ??
|
|
106
106
|
[]), reportId, getToken, tenants, flags, schemaData?.customFields);
|
|
107
107
|
downloadCSV({
|
|
108
|
-
rows: resp.pivot && resp.pivotRows
|
|
109
|
-
|
|
108
|
+
rows: resp.pivot && resp.pivotRows && downloadOptions?.usePivotRows
|
|
109
|
+
? resp.pivotRows
|
|
110
|
+
: resp.rows,
|
|
111
|
+
fields: resp.pivot && resp.pivotColumns && downloadOptions?.usePivotRows
|
|
112
|
+
? resp.pivotColumns
|
|
113
|
+
: resp.columns,
|
|
110
114
|
name: resp.name,
|
|
111
115
|
});
|
|
112
116
|
setIsCSVLoading(false);
|
|
113
117
|
},
|
|
114
|
-
downloadPDF: async () => {
|
|
118
|
+
downloadPDF: async (downloadOptions) => {
|
|
115
119
|
setIsPDFLoading(true);
|
|
116
120
|
const filters = specificReportFilters.length > 0
|
|
117
121
|
? specificReportFilters
|
|
@@ -132,7 +136,10 @@ sectionField, } = {}) => {
|
|
|
132
136
|
return;
|
|
133
137
|
}
|
|
134
138
|
const report = fetchedReport;
|
|
135
|
-
if (report.pivot &&
|
|
139
|
+
if (report.pivot &&
|
|
140
|
+
report.pivotRows &&
|
|
141
|
+
report.pivotColumns &&
|
|
142
|
+
downloadOptions?.usePivotRows) {
|
|
136
143
|
report.rows = report.pivotRows;
|
|
137
144
|
report.columns = report.pivotColumns;
|
|
138
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,eAAO,MAAM,WAAW,SAAU;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,
|
|
1
|
+
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,eAAO,MAAM,WAAW,SAAU;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,SAuFA,CAAC"}
|
package/dist/esm/utils/csv.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { quillFormat } from './valueFormatter';
|
|
2
2
|
export const downloadCSV = (data) => {
|
|
3
|
-
const { rows, fields, name } = data;
|
|
4
|
-
// report.rows
|
|
5
|
-
if (rows && !rows.length) {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
3
|
+
const { rows = [], fields, name } = data;
|
|
8
4
|
// if table chart, use columns and valueFormatter
|
|
9
5
|
if (fields) {
|
|
10
6
|
const newRows = [];
|
|
@@ -55,7 +51,7 @@ export const downloadCSV = (data) => {
|
|
|
55
51
|
return;
|
|
56
52
|
}
|
|
57
53
|
const json = rows; // JSON data passed as a prop
|
|
58
|
-
const fieldsProcessed = Object.keys(json[0]); // Assumes all objects have same keys
|
|
54
|
+
const fieldsProcessed = Object.keys(json[0] ?? {}); // Assumes all objects have same keys
|
|
59
55
|
const csvRows = [];
|
|
60
56
|
// Header row
|
|
61
57
|
csvRows.push(fieldsProcessed.join(','));
|