@quillsql/react 2.9.7 → 2.9.9
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/AddToDashboardModal.js +8 -8
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +1 -1
- package/dist/cjs/ChartBuilder.js +5 -7
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +8 -8
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +4 -0
- package/dist/cjs/Table.js +1 -1
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +22 -22
- package/dist/esm/AddToDashboardModal.js +9 -9
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +1 -1
- package/dist/esm/ChartBuilder.js +5 -7
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +9 -9
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +4 -0
- package/dist/esm/Table.js +1 -1
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +22 -22
- package/package.json +1 -1
|
@@ -851,11 +851,11 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
851
851
|
if (resp.dateFilter.initialRange === 'LAST_90_DAYS') {
|
|
852
852
|
const filter = {
|
|
853
853
|
startDate: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }),
|
|
854
|
-
endDate:
|
|
854
|
+
endDate: (0, date_fns_1.endOfToday)(),
|
|
855
855
|
filterType: 'date_range',
|
|
856
856
|
selectedValue: [
|
|
857
857
|
(0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }),
|
|
858
|
-
|
|
858
|
+
(0, date_fns_1.endOfToday)(),
|
|
859
859
|
'90d',
|
|
860
860
|
],
|
|
861
861
|
field: 'date_range',
|
|
@@ -874,11 +874,11 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
874
874
|
else if (resp.dateFilter.initialRange === 'LAST_30_DAYS') {
|
|
875
875
|
const filter = {
|
|
876
876
|
startDate: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 30 }),
|
|
877
|
-
endDate:
|
|
877
|
+
endDate: (0, date_fns_1.endOfToday)(),
|
|
878
878
|
filterType: 'date_range',
|
|
879
879
|
selectedValue: [
|
|
880
880
|
(0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 30 }),
|
|
881
|
-
|
|
881
|
+
(0, date_fns_1.endOfToday)(),
|
|
882
882
|
't',
|
|
883
883
|
],
|
|
884
884
|
options: options,
|
|
@@ -899,9 +899,9 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
899
899
|
else if (resp.dateFilter.initialRange === 'CURRENT_MONTH') {
|
|
900
900
|
const filter = {
|
|
901
901
|
startDate: (0, date_fns_2.startOfMonth)(new Date()),
|
|
902
|
-
endDate:
|
|
902
|
+
endDate: (0, date_fns_1.endOfToday)(),
|
|
903
903
|
filterType: 'date_range',
|
|
904
|
-
selectedValue: [(0, date_fns_2.startOfMonth)(new Date()),
|
|
904
|
+
selectedValue: [(0, date_fns_2.startOfMonth)(new Date()), (0, date_fns_1.endOfToday)(), 'm'],
|
|
905
905
|
options: options,
|
|
906
906
|
field: 'date_range',
|
|
907
907
|
label: 'Date',
|
|
@@ -919,11 +919,11 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
919
919
|
else {
|
|
920
920
|
const filter = {
|
|
921
921
|
startDate: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }),
|
|
922
|
-
endDate:
|
|
922
|
+
endDate: (0, date_fns_1.endOfToday)(),
|
|
923
923
|
filterType: 'date_range',
|
|
924
924
|
selectedValue: [
|
|
925
925
|
(0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }),
|
|
926
|
-
|
|
926
|
+
(0, date_fns_1.endOfToday)(),
|
|
927
927
|
'90d',
|
|
928
928
|
],
|
|
929
929
|
options: options,
|
package/dist/cjs/Chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":";AA0HA,QAAA,MAAM,KAAK;aAcA,MAAM;aACN,GAAG;;;;;uBAKO,OAAO;eACf,OAAO;eACP,OAAO;uBACC,OAAO;6BACD,OAAO;6CAqCjC,CAAC;
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":";AA0HA,QAAA,MAAM,KAAK;aAcA,MAAM;aACN,GAAG;;;;;uBAKO,OAAO;eACf,OAAO;eACP,OAAO;uBACC,OAAO;6BACD,OAAO;6CAqCjC,CAAC;AA2hBF,eAAe,KAAK,CAAC"}
|
package/dist/cjs/Chart.js
CHANGED
|
@@ -265,7 +265,7 @@ const ChartUpdater = ({ colors, chartId, config, containerStyle, dashboard, disp
|
|
|
265
265
|
}
|
|
266
266
|
if (chartTypes.includes('table')) {
|
|
267
267
|
const data = dashboard[chartId] ? dashboard[chartId] : config;
|
|
268
|
-
return ((0, jsx_runtime_1.jsx)(Table_1.SpecialTable, { rows: pivotTable?.rows ?? data.rows ?? [], columns: pivotTable?.columns
|
|
268
|
+
return ((0, jsx_runtime_1.jsx)(Table_1.SpecialTable, { rows: pivotTable?.rows ?? data.rows ?? [], columns: pivotTable?.columns ?? data.yAxisFields ?? data.columns, height: '400px', containerStyle: {
|
|
269
269
|
...containerStyle,
|
|
270
270
|
}, theme: theme, isTableChart: true, name: data.name }));
|
|
271
271
|
}
|
package/dist/cjs/ChartBuilder.js
CHANGED
|
@@ -477,7 +477,7 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
|
|
|
477
477
|
...resp,
|
|
478
478
|
rows,
|
|
479
479
|
fields,
|
|
480
|
-
filtersApplied: dashboardFilters
|
|
480
|
+
filtersApplied: dashboardFilters,
|
|
481
481
|
},
|
|
482
482
|
});
|
|
483
483
|
}
|
|
@@ -511,12 +511,10 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
|
|
|
511
511
|
})) })] })), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)(Label, { children: "Chart type" }), (0, jsx_runtime_1.jsx)(Select, { label: 'Chart Type', value: formData.chartType, onChange: (e) => handleChange(e, 'chartType'),
|
|
512
512
|
// filter out metric for all pivots
|
|
513
513
|
// filter out bar and pie for row and column pivot
|
|
514
|
-
options: CHART_TYPES.filter((elem) => !
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
(
|
|
518
|
-
formData.pivot.columnField &&
|
|
519
|
-
(elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem })) })] })] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
514
|
+
options: CHART_TYPES.filter((elem) => !((formData.pivot && elem === 'metric') ||
|
|
515
|
+
(formData.pivot &&
|
|
516
|
+
formData.pivot.columnField &&
|
|
517
|
+
(elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem })) })] })] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
520
518
|
display: 'flex',
|
|
521
519
|
flexDirection: 'column',
|
|
522
520
|
gap: 12,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../src/DateRangePicker/dateRangePickerUtils.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../src/DateRangePicker/dateRangePickerUtils.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,WAAW,WAAY,MAAM,aAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,MAAM,UAAU,MAAM,WAEnD,CAAC;AAEF,eAAO,MAAM,2BAA2B,kBACvB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,gBAU1C,CAAC;AAEF,eAAO,MAAM,yBAAyB,kBACrB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,SAU1C,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACzB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBAWzC,CAAC;AAEF,eAAO,MAAM,YAAY,YACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACvB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBASzC,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAA;CASjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,OAAO,aAAa,GAAG,MAAM,CAAA;CAStE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,cAAc,GAAG,IAAI,CAAC;CAmBjE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,qBAAqB,EAyCjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EA+BvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,MAAM,6BAGhD,CAAC;AAEF,eAAO,MAAM,aAAa,UACjB,GAAG,QACJ,IAAI,kBACM,IAAI,GAAG,IAAI,gBACb,IAAI,GAAG,IAAI,eACZ,IAAI,GAAG,SAAS,kBACb,OAAO,QAgCxB,CAAC;AAkGF,eAAO,MAAM,eAAe,qBACR,IAAI,GAAG,IAAI,kBACb,IAAI,GAAG,IAAI,uBA0C5B,CAAC;AAyHF,eAAO,MAAM,mBAAmB,cACnB,IAAI,GAAG,IAAI,WACb,IAAI,GAAG,IAAI,WACX,MAAM,WAyChB,CAAC;;AAEF,yEAAyE"}
|
|
@@ -54,14 +54,14 @@ exports.parseEndDate = parseEndDate;
|
|
|
54
54
|
* key ending on today.
|
|
55
55
|
*/
|
|
56
56
|
exports.PRIMARY_RANGE = {
|
|
57
|
-
THIS_WEEK: { start: (0, date_fns_1.startOfWeek)((0, date_fns_1.startOfToday)()), end:
|
|
58
|
-
THIS_MONTH: { start: (0, date_fns_1.startOfMonth)((0, date_fns_1.startOfToday)()), end:
|
|
59
|
-
THIS_YEAR: { start: (0, date_fns_1.startOfYear)((0, date_fns_1.startOfToday)()), end:
|
|
60
|
-
LAST_7_DAYS: { start: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 7 }), end:
|
|
61
|
-
LAST_30_DAYS: { start: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 30 }), end:
|
|
62
|
-
LAST_90_DAYS: { start: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }), end:
|
|
63
|
-
LAST_6_MONTHS: { start: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { months: 6 }), end:
|
|
64
|
-
ALL_TIME: { start: new Date(0), end:
|
|
57
|
+
THIS_WEEK: { start: (0, date_fns_1.startOfWeek)((0, date_fns_1.startOfToday)()), end: (0, date_fns_1.endOfToday)() },
|
|
58
|
+
THIS_MONTH: { start: (0, date_fns_1.startOfMonth)((0, date_fns_1.startOfToday)()), end: (0, date_fns_1.endOfToday)() },
|
|
59
|
+
THIS_YEAR: { start: (0, date_fns_1.startOfYear)((0, date_fns_1.startOfToday)()), end: (0, date_fns_1.endOfToday)() },
|
|
60
|
+
LAST_7_DAYS: { start: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 7 }), end: (0, date_fns_1.endOfToday)() },
|
|
61
|
+
LAST_30_DAYS: { start: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 30 }), end: (0, date_fns_1.endOfToday)() },
|
|
62
|
+
LAST_90_DAYS: { start: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }), end: (0, date_fns_1.endOfToday)() },
|
|
63
|
+
LAST_6_MONTHS: { start: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { months: 6 }), end: (0, date_fns_1.endOfToday)() },
|
|
64
|
+
ALL_TIME: { start: new Date(0), end: (0, date_fns_1.endOfToday)() },
|
|
65
65
|
};
|
|
66
66
|
/**
|
|
67
67
|
* Maps between the keys of primary range and the short code.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAUxE,wBAAgB,qBAAqB,CAAC,MAAM,KAAA;;;;;
|
|
1
|
+
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAUxE,wBAAgB,qBAAqB,CAAC,MAAM,KAAA;;;;;EAwE3C;AA2BD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IAEpC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAExE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IACrE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7D,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC;AAQD,UAAU,mBAAmB;IAC3B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA+ED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,cAAoC,EACpC,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,eAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAkB,EAClB,mBAA2B,EAC3B,sBAA8B,EAC9B,oBAA4B,EAC5B,wBAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,yBAA8C,EAC9C,aAAyB,GAC1B,EAAE,cAAc,2CA2YhB"}
|
package/dist/cjs/SQLEditor.js
CHANGED
|
@@ -31,6 +31,7 @@ function convertPostgresColumn(column) {
|
|
|
31
31
|
case 1082: // date
|
|
32
32
|
case 1083: // time
|
|
33
33
|
case 1184: // timestamptz
|
|
34
|
+
case 1186: // interval
|
|
34
35
|
case 1114: // timestamp
|
|
35
36
|
format = 'MMM_dd_yyyy';
|
|
36
37
|
break;
|
|
@@ -66,6 +67,9 @@ function convertPostgresColumn(column) {
|
|
|
66
67
|
case 1184: // timestamptz
|
|
67
68
|
fieldType = 'timestamptz';
|
|
68
69
|
break;
|
|
70
|
+
case 1186: // interval
|
|
71
|
+
fieldType = 'interval';
|
|
72
|
+
break;
|
|
69
73
|
case 1114: // timestamp
|
|
70
74
|
fieldType = 'timestamp';
|
|
71
75
|
break;
|
package/dist/cjs/Table.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAEA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAkChB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAEA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAkChB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBA+BhB"}
|
|
@@ -4,42 +4,42 @@ exports.getDataFromCloud = exports.getData = void 0;
|
|
|
4
4
|
// this function gets the data either from the self hosted endpoint or
|
|
5
5
|
// our cloud server
|
|
6
6
|
async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST') {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
try {
|
|
8
|
+
if (client.queryEndpoint) {
|
|
9
|
+
// self hosted
|
|
10
|
+
const resp = await fetch(client.queryEndpoint, {
|
|
11
|
+
method: 'POST',
|
|
12
|
+
headers: {
|
|
13
|
+
...client.queryHeaders,
|
|
14
|
+
'Content-Type': 'application/json',
|
|
15
|
+
},
|
|
16
|
+
credentials: client.withCredentials ? 'include' : noCred,
|
|
17
|
+
body: JSON.stringify(hostedRequestBody),
|
|
18
|
+
});
|
|
19
19
|
const responseJson = await resp.json();
|
|
20
20
|
const result = {
|
|
21
21
|
...responseJson.data,
|
|
22
22
|
rows: responseJson?.queries?.queryResults[0]?.rows,
|
|
23
|
-
compareRows: responseJson?.queries?.queryResults[1]?.rows
|
|
23
|
+
compareRows: responseJson?.queries?.queryResults[1]?.rows,
|
|
24
24
|
};
|
|
25
25
|
return result;
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return
|
|
27
|
+
else {
|
|
28
|
+
// cloud
|
|
29
|
+
return await getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return
|
|
32
|
+
catch (e) {
|
|
33
|
+
console.error('Failed to parse JSON:', e);
|
|
34
|
+
return null;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
exports.getData = getData;
|
|
38
38
|
async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST') {
|
|
39
39
|
const environment = client?.environment;
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
{
|
|
40
|
+
const host = process.env.QUILL_SERVER_HOST ?? 'https://quill-344421.uc.r.appspot.com';
|
|
41
|
+
const url = `${host}/${cloudQueryEndpoint}`;
|
|
42
|
+
const resp = await fetch(url, {
|
|
43
43
|
method,
|
|
44
44
|
headers: {
|
|
45
45
|
Authorization: 'Bearer ',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
// @ts-nocheck
|
|
3
3
|
import React, { useContext, useEffect, useState } from 'react';
|
|
4
|
-
import { sub, startOfToday } from 'date-fns';
|
|
4
|
+
import { sub, startOfToday, endOfToday } from 'date-fns';
|
|
5
5
|
import { getData, getDataFromCloud } from './utils/dataFetcher';
|
|
6
6
|
import { ClientContext, SchemaContext, ThemeContext, DateFilterContext, DashboardContext, DashboardFiltersContext, } from './Context';
|
|
7
7
|
import { differenceInDays, differenceInHours, differenceInMonths, differenceInYears, startOfDay, startOfHour, startOfMonth, startOfYear, } from 'date-fns';
|
|
@@ -817,11 +817,11 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
817
817
|
if (resp.dateFilter.initialRange === 'LAST_90_DAYS') {
|
|
818
818
|
const filter = {
|
|
819
819
|
startDate: sub(startOfToday(), { days: 90 }),
|
|
820
|
-
endDate:
|
|
820
|
+
endDate: endOfToday(),
|
|
821
821
|
filterType: 'date_range',
|
|
822
822
|
selectedValue: [
|
|
823
823
|
sub(startOfToday(), { days: 90 }),
|
|
824
|
-
|
|
824
|
+
endOfToday(),
|
|
825
825
|
'90d',
|
|
826
826
|
],
|
|
827
827
|
field: 'date_range',
|
|
@@ -840,11 +840,11 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
840
840
|
else if (resp.dateFilter.initialRange === 'LAST_30_DAYS') {
|
|
841
841
|
const filter = {
|
|
842
842
|
startDate: sub(startOfToday(), { days: 30 }),
|
|
843
|
-
endDate:
|
|
843
|
+
endDate: endOfToday(),
|
|
844
844
|
filterType: 'date_range',
|
|
845
845
|
selectedValue: [
|
|
846
846
|
sub(startOfToday(), { days: 30 }),
|
|
847
|
-
|
|
847
|
+
endOfToday(),
|
|
848
848
|
't',
|
|
849
849
|
],
|
|
850
850
|
options: options,
|
|
@@ -865,9 +865,9 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
865
865
|
else if (resp.dateFilter.initialRange === 'CURRENT_MONTH') {
|
|
866
866
|
const filter = {
|
|
867
867
|
startDate: startOfMonth(new Date()),
|
|
868
|
-
endDate:
|
|
868
|
+
endDate: endOfToday(),
|
|
869
869
|
filterType: 'date_range',
|
|
870
|
-
selectedValue: [startOfMonth(new Date()),
|
|
870
|
+
selectedValue: [startOfMonth(new Date()), endOfToday(), 'm'],
|
|
871
871
|
options: options,
|
|
872
872
|
field: 'date_range',
|
|
873
873
|
label: 'Date',
|
|
@@ -885,11 +885,11 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
885
885
|
else {
|
|
886
886
|
const filter = {
|
|
887
887
|
startDate: sub(startOfToday(), { days: 90 }),
|
|
888
|
-
endDate:
|
|
888
|
+
endDate: endOfToday(),
|
|
889
889
|
filterType: 'date_range',
|
|
890
890
|
selectedValue: [
|
|
891
891
|
sub(startOfToday(), { days: 90 }),
|
|
892
|
-
|
|
892
|
+
endOfToday(),
|
|
893
893
|
'90d',
|
|
894
894
|
],
|
|
895
895
|
options: options,
|
package/dist/esm/Chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":";AA0HA,QAAA,MAAM,KAAK;aAcA,MAAM;aACN,GAAG;;;;;uBAKO,OAAO;eACf,OAAO;eACP,OAAO;uBACC,OAAO;6BACD,OAAO;6CAqCjC,CAAC;
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":";AA0HA,QAAA,MAAM,KAAK;aAcA,MAAM;aACN,GAAG;;;;;uBAKO,OAAO;eACf,OAAO;eACP,OAAO;uBACC,OAAO;6BACD,OAAO;6CAqCjC,CAAC;AA2hBF,eAAe,KAAK,CAAC"}
|
package/dist/esm/Chart.js
CHANGED
|
@@ -260,7 +260,7 @@ const ChartUpdater = ({ colors, chartId, config, containerStyle, dashboard, disp
|
|
|
260
260
|
}
|
|
261
261
|
if (chartTypes.includes('table')) {
|
|
262
262
|
const data = dashboard[chartId] ? dashboard[chartId] : config;
|
|
263
|
-
return (_jsx(SpecialTable, { rows: pivotTable?.rows ?? data.rows ?? [], columns: pivotTable?.columns
|
|
263
|
+
return (_jsx(SpecialTable, { rows: pivotTable?.rows ?? data.rows ?? [], columns: pivotTable?.columns ?? data.yAxisFields ?? data.columns, height: '400px', containerStyle: {
|
|
264
264
|
...containerStyle,
|
|
265
265
|
}, theme: theme, isTableChart: true, name: data.name }));
|
|
266
266
|
}
|
package/dist/esm/ChartBuilder.js
CHANGED
|
@@ -469,7 +469,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
|
|
|
469
469
|
...resp,
|
|
470
470
|
rows,
|
|
471
471
|
fields,
|
|
472
|
-
filtersApplied: dashboardFilters
|
|
472
|
+
filtersApplied: dashboardFilters,
|
|
473
473
|
},
|
|
474
474
|
});
|
|
475
475
|
}
|
|
@@ -503,12 +503,10 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
|
|
|
503
503
|
})) })] })), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Chart type" }), _jsx(Select, { label: 'Chart Type', value: formData.chartType, onChange: (e) => handleChange(e, 'chartType'),
|
|
504
504
|
// filter out metric for all pivots
|
|
505
505
|
// filter out bar and pie for row and column pivot
|
|
506
|
-
options: CHART_TYPES.filter((elem) => !
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
(
|
|
510
|
-
formData.pivot.columnField &&
|
|
511
|
-
(elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem })) })] })] }), _jsx("br", {}), _jsxs("div", { style: {
|
|
506
|
+
options: CHART_TYPES.filter((elem) => !((formData.pivot && elem === 'metric') ||
|
|
507
|
+
(formData.pivot &&
|
|
508
|
+
formData.pivot.columnField &&
|
|
509
|
+
(elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem })) })] })] }), _jsx("br", {}), _jsxs("div", { style: {
|
|
512
510
|
display: 'flex',
|
|
513
511
|
flexDirection: 'column',
|
|
514
512
|
gap: 12,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../src/DateRangePicker/dateRangePickerUtils.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../src/DateRangePicker/dateRangePickerUtils.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,eAAO,MAAM,WAAW,WAAY,MAAM,aAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,MAAM,UAAU,MAAM,WAEnD,CAAC;AAEF,eAAO,MAAM,2BAA2B,kBACvB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,gBAU1C,CAAC;AAEF,eAAO,MAAM,yBAAyB,kBACrB,MAAM,GAAG,IAAI,GAAG,SAAS,oBACtB,qBAAqB,EAAE,SAU1C,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACzB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBAWzC,CAAC;AAEF,eAAO,MAAM,YAAY,YACd,IAAI,GAAG,IAAI,GAAG,SAAS,WACvB,IAAI,GAAG,IAAI,GAAG,SAAS,yBACT,MAAM,GAAG,IAAI,GAAG,SAAS,mBAC/B,qBAAqB,EAAE,gBASzC,CAAC;AAEF;;GAEG;AACH,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAA;CASjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,OAAO,aAAa,GAAG,MAAM,CAAA;CAStE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,cAAc,GAAG,IAAI,CAAC;CAmBjE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,qBAAqB,EAyCjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,qBAAqB,EA+BvD,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,MAAM,6BAGhD,CAAC;AAEF,eAAO,MAAM,aAAa,UACjB,GAAG,QACJ,IAAI,kBACM,IAAI,GAAG,IAAI,gBACb,IAAI,GAAG,IAAI,eACZ,IAAI,GAAG,SAAS,kBACb,OAAO,QAgCxB,CAAC;AAkGF,eAAO,MAAM,eAAe,qBACR,IAAI,GAAG,IAAI,kBACb,IAAI,GAAG,IAAI,uBA0C5B,CAAC;AAyHF,eAAO,MAAM,mBAAmB,cACnB,IAAI,GAAG,IAAI,WACb,IAAI,GAAG,IAAI,WACX,MAAM,WAyChB,CAAC;;AAEF,yEAAyE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addDays, differenceInDays, format, isEqual, isToday, max, min, startOfDay, startOfMonth, startOfToday, startOfWeek, startOfYear, sub, } from 'date-fns';
|
|
1
|
+
import { addDays, differenceInDays, endOfToday, format, isEqual, isToday, max, min, startOfDay, startOfMonth, startOfToday, startOfWeek, startOfYear, sub, } from 'date-fns';
|
|
2
2
|
import { hexToRgbaWith10PercentAlpha } from '../BarList';
|
|
3
3
|
export const getWeekdays = (locale) => {
|
|
4
4
|
const firstDayOfWeek = startOfWeek(new Date());
|
|
@@ -45,14 +45,14 @@ export const parseEndDate = (endDate, maxDate, selectedDropdownValue, dropdownOp
|
|
|
45
45
|
* key ending on today.
|
|
46
46
|
*/
|
|
47
47
|
export const PRIMARY_RANGE = {
|
|
48
|
-
THIS_WEEK: { start: startOfWeek(startOfToday()), end:
|
|
49
|
-
THIS_MONTH: { start: startOfMonth(startOfToday()), end:
|
|
50
|
-
THIS_YEAR: { start: startOfYear(startOfToday()), end:
|
|
51
|
-
LAST_7_DAYS: { start: sub(startOfToday(), { days: 7 }), end:
|
|
52
|
-
LAST_30_DAYS: { start: sub(startOfToday(), { days: 30 }), end:
|
|
53
|
-
LAST_90_DAYS: { start: sub(startOfToday(), { days: 90 }), end:
|
|
54
|
-
LAST_6_MONTHS: { start: sub(startOfToday(), { months: 6 }), end:
|
|
55
|
-
ALL_TIME: { start: new Date(0), end:
|
|
48
|
+
THIS_WEEK: { start: startOfWeek(startOfToday()), end: endOfToday() },
|
|
49
|
+
THIS_MONTH: { start: startOfMonth(startOfToday()), end: endOfToday() },
|
|
50
|
+
THIS_YEAR: { start: startOfYear(startOfToday()), end: endOfToday() },
|
|
51
|
+
LAST_7_DAYS: { start: sub(startOfToday(), { days: 7 }), end: endOfToday() },
|
|
52
|
+
LAST_30_DAYS: { start: sub(startOfToday(), { days: 30 }), end: endOfToday() },
|
|
53
|
+
LAST_90_DAYS: { start: sub(startOfToday(), { days: 90 }), end: endOfToday() },
|
|
54
|
+
LAST_6_MONTHS: { start: sub(startOfToday(), { months: 6 }), end: endOfToday() },
|
|
55
|
+
ALL_TIME: { start: new Date(0), end: endOfToday() },
|
|
56
56
|
};
|
|
57
57
|
/**
|
|
58
58
|
* Maps between the keys of primary range and the short code.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAUxE,wBAAgB,qBAAqB,CAAC,MAAM,KAAA;;;;;
|
|
1
|
+
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAUxE,wBAAgB,qBAAqB,CAAC,MAAM,KAAA;;;;;EAwE3C;AA2BD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IAEpC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAExE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IACrE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7D,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC;AAQD,UAAU,mBAAmB;IAC3B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA+ED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,cAAoC,EACpC,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,eAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAkB,EAClB,mBAA2B,EAC3B,sBAA8B,EAC9B,oBAA4B,EAC5B,wBAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,yBAA8C,EAC9C,aAAyB,GAC1B,EAAE,cAAc,2CA2YhB"}
|
package/dist/esm/SQLEditor.js
CHANGED
|
@@ -25,6 +25,7 @@ export function convertPostgresColumn(column) {
|
|
|
25
25
|
case 1082: // date
|
|
26
26
|
case 1083: // time
|
|
27
27
|
case 1184: // timestamptz
|
|
28
|
+
case 1186: // interval
|
|
28
29
|
case 1114: // timestamp
|
|
29
30
|
format = 'MMM_dd_yyyy';
|
|
30
31
|
break;
|
|
@@ -60,6 +61,9 @@ export function convertPostgresColumn(column) {
|
|
|
60
61
|
case 1184: // timestamptz
|
|
61
62
|
fieldType = 'timestamptz';
|
|
62
63
|
break;
|
|
64
|
+
case 1186: // interval
|
|
65
|
+
fieldType = 'interval';
|
|
66
|
+
break;
|
|
63
67
|
case 1114: // timestamp
|
|
64
68
|
fieldType = 'timestamp';
|
|
65
69
|
break;
|
package/dist/esm/Table.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAEA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAkChB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAEA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAkChB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBA+BhB"}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
// this function gets the data either from the self hosted endpoint or
|
|
2
2
|
// our cloud server
|
|
3
3
|
export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST') {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
try {
|
|
5
|
+
if (client.queryEndpoint) {
|
|
6
|
+
// self hosted
|
|
7
|
+
const resp = await fetch(client.queryEndpoint, {
|
|
8
|
+
method: 'POST',
|
|
9
|
+
headers: {
|
|
10
|
+
...client.queryHeaders,
|
|
11
|
+
'Content-Type': 'application/json',
|
|
12
|
+
},
|
|
13
|
+
credentials: client.withCredentials ? 'include' : noCred,
|
|
14
|
+
body: JSON.stringify(hostedRequestBody),
|
|
15
|
+
});
|
|
16
16
|
const responseJson = await resp.json();
|
|
17
17
|
const result = {
|
|
18
18
|
...responseJson.data,
|
|
19
19
|
rows: responseJson?.queries?.queryResults[0]?.rows,
|
|
20
|
-
compareRows: responseJson?.queries?.queryResults[1]?.rows
|
|
20
|
+
compareRows: responseJson?.queries?.queryResults[1]?.rows,
|
|
21
21
|
};
|
|
22
22
|
return result;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return
|
|
24
|
+
else {
|
|
25
|
+
// cloud
|
|
26
|
+
return await getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return
|
|
29
|
+
catch (e) {
|
|
30
|
+
console.error('Failed to parse JSON:', e);
|
|
31
|
+
return null;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
export async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST') {
|
|
35
35
|
const environment = client?.environment;
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
{
|
|
36
|
+
const host = process.env.QUILL_SERVER_HOST ?? 'https://quill-344421.uc.r.appspot.com';
|
|
37
|
+
const url = `${host}/${cloudQueryEndpoint}`;
|
|
38
|
+
const resp = await fetch(url, {
|
|
39
39
|
method,
|
|
40
40
|
headers: {
|
|
41
41
|
Authorization: 'Bearer ',
|