@quillsql/react 2.13.41 → 2.13.43
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/ChartBuilder.d.ts +18 -3
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +186 -89
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +46 -16
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +0 -1
- package/dist/cjs/ReportBuilder.d.ts +2 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +74 -4
- package/dist/cjs/SQLEditor.d.ts +2 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +43 -3
- package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/GaugeChart.js +70 -12
- package/dist/cjs/components/Chart/InternalChart.js +1 -1
- package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/MapChart.js +65 -7
- package/dist/cjs/components/UiComponents.d.ts +2 -2
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +5 -4
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +1 -1
- package/dist/cjs/models/Columns.d.ts +1 -0
- package/dist/cjs/models/Columns.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.d.ts +2 -1
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +12 -6
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +4 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +12 -6
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +8 -6
- package/dist/cjs/utils/schema.d.ts +4 -2
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +7 -3
- package/dist/cjs/utils/tableProcessing.d.ts +2 -0
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +33 -3
- package/dist/cjs/utils/valueFormatter.d.ts +1 -0
- package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/valueFormatter.js +55 -1
- package/dist/esm/ChartBuilder.d.ts +18 -3
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +187 -91
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +46 -16
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +0 -1
- package/dist/esm/ReportBuilder.d.ts +2 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +74 -4
- package/dist/esm/SQLEditor.d.ts +2 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +43 -3
- package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/GaugeChart.js +33 -8
- package/dist/esm/components/Chart/InternalChart.js +1 -1
- package/dist/esm/components/Chart/MapChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/MapChart.js +30 -5
- package/dist/esm/components/UiComponents.d.ts +2 -2
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +5 -4
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +1 -1
- package/dist/esm/models/Columns.d.ts +1 -0
- package/dist/esm/models/Columns.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.d.ts +2 -1
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +13 -7
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +4 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +12 -6
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +9 -7
- package/dist/esm/utils/schema.d.ts +4 -2
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +7 -3
- package/dist/esm/utils/tableProcessing.d.ts +2 -0
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +33 -3
- package/dist/esm/utils/valueFormatter.d.ts +1 -0
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
- package/dist/esm/utils/valueFormatter.js +53 -0
- package/package.json +6 -1
|
@@ -196,7 +196,7 @@ const fetchDistinctStrings = async (query, client, tenants, customFields, filter
|
|
|
196
196
|
// @ts-ignore
|
|
197
197
|
dateField: filters?.find((filter) => filter.filterType === 'date_range')?.dateField,
|
|
198
198
|
dashboardName,
|
|
199
|
-
tenants
|
|
199
|
+
tenants,
|
|
200
200
|
},
|
|
201
201
|
};
|
|
202
202
|
const cloudBody = { query };
|
|
@@ -308,6 +308,7 @@ export const fetchResultsByQuery = async ({ query, client, tenants, processing,
|
|
|
308
308
|
let error = undefined;
|
|
309
309
|
let rowCount = undefined;
|
|
310
310
|
let itemQuery = undefined;
|
|
311
|
+
let referencedTables = undefined;
|
|
311
312
|
try {
|
|
312
313
|
if (pivot) {
|
|
313
314
|
const pivotData = await generatePivotWithSQL({
|
|
@@ -398,6 +399,20 @@ export const fetchResultsByQuery = async ({ query, client, tenants, processing,
|
|
|
398
399
|
columns = resp.fields.map((elem) => convertPostgresColumn(elem));
|
|
399
400
|
rows = resp.rows;
|
|
400
401
|
itemQuery = resp.itemQuery;
|
|
402
|
+
referencedTables = resp.referencedTables;
|
|
403
|
+
if (customFields) {
|
|
404
|
+
const tables = referencedTables ?? [];
|
|
405
|
+
tables.forEach((table) => {
|
|
406
|
+
const _customFields = customFields?.[table] ?? [];
|
|
407
|
+
columns.forEach((col) => {
|
|
408
|
+
if (_customFields.some((field) => {
|
|
409
|
+
return field.field === col.field;
|
|
410
|
+
})) {
|
|
411
|
+
col.inferFormat = true;
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
});
|
|
415
|
+
}
|
|
401
416
|
}
|
|
402
417
|
}
|
|
403
418
|
catch (e) {
|
|
@@ -408,7 +423,7 @@ export const fetchResultsByQuery = async ({ query, client, tenants, processing,
|
|
|
408
423
|
if (client.databaseType && client.databaseType.toLowerCase() === 'bigquery') {
|
|
409
424
|
parseValueFromBigQueryDates(rows, columns);
|
|
410
425
|
}
|
|
411
|
-
return { rows, columns, rowCount, error, itemQuery };
|
|
426
|
+
return { rows, columns, rowCount, error, itemQuery, referencedTables };
|
|
412
427
|
};
|
|
413
428
|
export const fetchResultsByReport = async ({ reportId, client, tenants, processing, filters, customFields, rowsOnly, rowCountOnly, abortSignal, pivot, pivotQuery, comparisonPivotQuery, getPivotRowCount = true, }) => {
|
|
414
429
|
if (pivot && pivotQuery) {
|
|
@@ -502,6 +517,7 @@ export const fetchTableByAST = async (ast, client, tenants, processing, customFi
|
|
|
502
517
|
let rowCount;
|
|
503
518
|
let error;
|
|
504
519
|
let itemQuery;
|
|
520
|
+
let referencedTables;
|
|
505
521
|
try {
|
|
506
522
|
const hostedBody = {
|
|
507
523
|
metadata: {
|
|
@@ -532,6 +548,20 @@ export const fetchTableByAST = async (ast, client, tenants, processing, customFi
|
|
|
532
548
|
columns = resp.fields.map((elem) => convertPostgresColumn(elem));
|
|
533
549
|
rows = gatheredRows;
|
|
534
550
|
itemQuery = resp.itemQuery;
|
|
551
|
+
referencedTables = resp.referencedTables;
|
|
552
|
+
if (customFields) {
|
|
553
|
+
const tables = referencedTables ?? [];
|
|
554
|
+
tables.forEach((table) => {
|
|
555
|
+
const _customFields = customFields?.[table] ?? [];
|
|
556
|
+
columns.forEach((col) => {
|
|
557
|
+
if (_customFields.some((field) => {
|
|
558
|
+
return field.field === col.field;
|
|
559
|
+
})) {
|
|
560
|
+
col.inferFormat = true;
|
|
561
|
+
}
|
|
562
|
+
});
|
|
563
|
+
});
|
|
564
|
+
}
|
|
535
565
|
}
|
|
536
566
|
catch (e) {
|
|
537
567
|
rows = [];
|
|
@@ -542,7 +572,7 @@ export const fetchTableByAST = async (ast, client, tenants, processing, customFi
|
|
|
542
572
|
if (client.databaseType && client.databaseType.toLowerCase() === 'bigquery') {
|
|
543
573
|
parseValueFromBigQueryDates(rows, columns);
|
|
544
574
|
}
|
|
545
|
-
return { rows, columns, rowCount, error, itemQuery };
|
|
575
|
+
return { rows, columns, rowCount, error, itemQuery, referencedTables };
|
|
546
576
|
};
|
|
547
577
|
export const convertUniqueValuesByColumnToUniqueValueStrings = (uniqueValuesByColumns) => {
|
|
548
578
|
return Object.keys(uniqueValuesByColumns).reduce((acc, column) => {
|
|
@@ -23,6 +23,7 @@ export declare const quillFormat: ({ value, format, }: {
|
|
|
23
23
|
value: any;
|
|
24
24
|
format: string;
|
|
25
25
|
}) => string;
|
|
26
|
+
export declare const quillAutoFormat: (value: any) => string;
|
|
26
27
|
export declare function getValidDate(dateString: string): Date | undefined;
|
|
27
28
|
export declare const compareValues: (a: {
|
|
28
29
|
[key: string]: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAO/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,uDAMxB,KAAK,KAAG,MA8CV,CAAC;AAEF,eAAO,MAAM,WAAW,uBAGrB;IACD,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,MAkDH,CAAC;AAgPF,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,oBAG9C;AAED,eAAO,MAAM,aAAa,MACrB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,KACtB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,UACjB,MAAM,KACb,MAkDF,CAAC"}
|
|
1
|
+
{"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAO/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,uDAMxB,KAAK,KAAG,MA8CV,CAAC;AAEF,eAAO,MAAM,WAAW,uBAGrB;IACD,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,MAkDH,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,GAAG,KAAG,MA+D5C,CAAC;AAgPF,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,oBAG9C;AAED,eAAO,MAAM,aAAa,MACrB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,KACtB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,UACjB,MAAM,KACb,MAkDF,CAAC"}
|
|
@@ -115,6 +115,59 @@ export const quillFormat = ({ value, format, }) => {
|
|
|
115
115
|
return formatString(value);
|
|
116
116
|
}
|
|
117
117
|
};
|
|
118
|
+
export const quillAutoFormat = (value) => {
|
|
119
|
+
// Handle null/undefined cases
|
|
120
|
+
if (value === null || value === undefined) {
|
|
121
|
+
return '-';
|
|
122
|
+
}
|
|
123
|
+
// Handle boolean values
|
|
124
|
+
if (typeof value === 'boolean') {
|
|
125
|
+
return value.toString();
|
|
126
|
+
}
|
|
127
|
+
// Handle date strings
|
|
128
|
+
if (typeof value === 'string') {
|
|
129
|
+
// Check if it's a date string
|
|
130
|
+
const dateValue = new Date(value);
|
|
131
|
+
if (isValid(dateValue)) {
|
|
132
|
+
// Standard date
|
|
133
|
+
return quillFormat({ value, format: 'MMM_dd_yyyy' });
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// Handle numbers
|
|
137
|
+
if (typeof value === 'number' || !isNaN(parseFloat(value))) {
|
|
138
|
+
const num = parseFloat(value);
|
|
139
|
+
// Percentage detection (if number is between 0 and 1)
|
|
140
|
+
if (num >= 0 && num <= 1) {
|
|
141
|
+
return quillFormat({ value: num, format: 'percent' });
|
|
142
|
+
}
|
|
143
|
+
// Currency detection (look for common patterns)
|
|
144
|
+
if (typeof value === 'string' &&
|
|
145
|
+
(value.includes('$') || value.toLowerCase().includes('usd'))) {
|
|
146
|
+
// Check if it has cents
|
|
147
|
+
return value.includes('.')
|
|
148
|
+
? quillFormat({ value: num, format: 'dollar_cents' })
|
|
149
|
+
: quillFormat({ value: num, format: 'dollar_amount' });
|
|
150
|
+
}
|
|
151
|
+
// General number formatting
|
|
152
|
+
if (Number.isInteger(num)) {
|
|
153
|
+
return quillFormat({ value: num, format: 'whole_number' });
|
|
154
|
+
}
|
|
155
|
+
// Check decimal places
|
|
156
|
+
const decimalPlaces = num.toString().split('.')[1]?.length || 0;
|
|
157
|
+
if (decimalPlaces === 1) {
|
|
158
|
+
return quillFormat({ value: num, format: 'one_decimal_place' });
|
|
159
|
+
}
|
|
160
|
+
if (decimalPlaces >= 2) {
|
|
161
|
+
return quillFormat({ value: num, format: 'two_decimal_places' });
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// Handle arrays and objects
|
|
165
|
+
if (typeof value === 'object') {
|
|
166
|
+
return JSON.stringify(value);
|
|
167
|
+
}
|
|
168
|
+
// Default to string formatting
|
|
169
|
+
return quillFormat({ value, format: 'string' });
|
|
170
|
+
};
|
|
118
171
|
/**
|
|
119
172
|
* HELPER FUNCTION DEFINITIONS
|
|
120
173
|
**/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quillsql/react",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.43",
|
|
4
4
|
"exports": {
|
|
5
5
|
".": {
|
|
6
6
|
"import": "./dist/esm/index.js",
|
|
@@ -28,6 +28,11 @@
|
|
|
28
28
|
"@dnd-kit/utilities": "^3.2.2",
|
|
29
29
|
"@monaco-editor/react": "^4.5.1",
|
|
30
30
|
"big.js": "^6.2.1",
|
|
31
|
+
"d3-geo": "2.0.2",
|
|
32
|
+
"d3-interpolate": "3.0.1",
|
|
33
|
+
"d3-scale": "4.0.2",
|
|
34
|
+
"d3-selection": "2.0.0",
|
|
35
|
+
"d3-shape": "3.2.0",
|
|
31
36
|
"date-fns": "^2.29.3",
|
|
32
37
|
"date-fns-tz": "^2.0.0",
|
|
33
38
|
"fast-deep-equal": "^3.1.3",
|