@quillsql/react 2.13.48 → 2.13.49
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/Chart.d.ts +2 -2
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +28 -41
- package/dist/cjs/ChartBuilder.d.ts +2 -2
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +157 -134
- package/dist/cjs/ChartEditor.d.ts +2 -2
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +3 -1
- package/dist/cjs/Context.d.ts +10 -3
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +324 -249
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +10 -23
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +0 -3
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +472 -96
- package/dist/cjs/QuillProvider.d.ts +3 -1
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -2
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +19 -10
- package/dist/cjs/SQLEditor.d.ts +1 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +50 -16
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +20 -7
- package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +2 -1
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +1 -1
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -1
- package/dist/cjs/components/Chart/CustomReferenceLine.js +7 -6
- package/dist/cjs/components/Chart/GaugeChart.d.ts +1 -1
- package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/GaugeChart.js +62 -35
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +30 -33
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +3 -1
- package/dist/cjs/components/Chart/MapChart.d.ts +3 -3
- package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/MapChart.js +62 -34
- package/dist/cjs/components/Chart/PieChart.d.ts +3 -1
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/PieChart.js +80 -39
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +4 -20
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +4 -4
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +31 -14
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +2 -2
- package/dist/cjs/components/Dashboard/util.d.ts +1 -1
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/util.js +7 -6
- package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectSectionList.js +32 -22
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +186 -159
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +83 -75
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +18 -11
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.js +3 -4
- package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -2
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +4 -7
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.js +5 -1
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +96 -58
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +23 -13
- package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +8 -10
- package/dist/cjs/hooks/useReport.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +16 -22
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +19 -7
- package/dist/cjs/models/Client.d.ts +0 -1
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/models/Data.d.ts +20 -0
- package/dist/cjs/models/Data.d.ts.map +1 -0
- package/dist/cjs/models/Data.js +2 -0
- package/dist/cjs/models/Filter.d.ts +42 -4
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Pivot.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.d.ts +3 -2
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +28 -37
- package/dist/cjs/utils/client.d.ts +3 -2
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +38 -39
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +14 -3
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +2 -1
- package/dist/cjs/utils/dashboard.d.ts +3 -2
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +30 -12
- package/dist/cjs/utils/dataFetcher.d.ts +8 -5
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +189 -65
- package/dist/cjs/utils/filterProcessing.d.ts +2 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +24 -38
- package/dist/cjs/utils/getDomain.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +15 -11
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +3 -5
- package/dist/cjs/utils/queryConstructor.js +1 -1
- package/dist/cjs/utils/report.d.ts +10 -7
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +52 -60
- package/dist/cjs/utils/schema.d.ts +4 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +30 -44
- package/dist/cjs/utils/tableProcessing.d.ts +16 -10
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +91 -90
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +2 -1
- package/dist/cjs/utils/ui.d.ts.map +1 -1
- package/dist/esm/Chart.d.ts +2 -2
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +30 -43
- package/dist/esm/ChartBuilder.d.ts +2 -2
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +158 -135
- package/dist/esm/ChartEditor.d.ts +2 -2
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +4 -2
- package/dist/esm/Context.d.ts +10 -3
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +326 -251
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +12 -25
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +0 -3
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +471 -95
- package/dist/esm/QuillProvider.d.ts +3 -1
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -2
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +21 -12
- package/dist/esm/SQLEditor.d.ts +1 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +53 -19
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +21 -8
- package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +2 -1
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts +1 -1
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -1
- package/dist/esm/components/Chart/CustomReferenceLine.js +8 -7
- package/dist/esm/components/Chart/GaugeChart.d.ts +1 -1
- package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/GaugeChart.js +64 -37
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +32 -35
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +3 -1
- package/dist/esm/components/Chart/MapChart.d.ts +3 -3
- package/dist/esm/components/Chart/MapChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/MapChart.js +67 -39
- package/dist/esm/components/Chart/PieChart.d.ts +3 -1
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.js +80 -39
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +5 -21
- package/dist/esm/components/Dashboard/DashboardSection.js +2 -2
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardTemplate.js +3 -2
- package/dist/esm/components/Dashboard/DataLoader.d.ts +4 -4
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +32 -15
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +2 -2
- package/dist/esm/components/Dashboard/util.d.ts +1 -1
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/util.js +8 -7
- package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectSectionList.js +32 -22
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +187 -160
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +85 -77
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +18 -11
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterStack.js +3 -4
- package/dist/esm/components/ReportBuilder/ui.d.ts +2 -2
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +4 -7
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.js +6 -2
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +98 -60
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +25 -15
- package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +9 -11
- package/dist/esm/hooks/useReport.d.ts.map +1 -1
- package/dist/esm/hooks/useReport.js +1 -1
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +17 -23
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +20 -8
- package/dist/esm/models/Client.d.ts +0 -1
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/models/Data.d.ts +20 -0
- package/dist/esm/models/Data.d.ts.map +1 -0
- package/dist/esm/models/Data.js +1 -0
- package/dist/esm/models/Filter.d.ts +42 -4
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Pivot.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.d.ts +3 -2
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +28 -37
- package/dist/esm/utils/client.d.ts +3 -2
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +38 -39
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +14 -3
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/dashboard.d.ts +3 -2
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +31 -13
- package/dist/esm/utils/dataFetcher.d.ts +8 -5
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +187 -65
- package/dist/esm/utils/filterProcessing.d.ts +2 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +25 -39
- package/dist/esm/utils/getDomain.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.d.ts +2 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +16 -12
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +5 -7
- package/dist/esm/utils/queryConstructor.js +1 -1
- package/dist/esm/utils/report.d.ts +10 -7
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +53 -61
- package/dist/esm/utils/schema.d.ts +4 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +30 -44
- package/dist/esm/utils/tableProcessing.d.ts +16 -10
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +93 -92
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +2 -1
- package/dist/esm/utils/ui.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REFERENCE_LINE = exports.SINGLE_TENANT = exports.ALL_TENANTS = exports.QUILL_QUERY_ENDPOINT = exports.QUILL_SERVER = exports.MAX_PIVOT_UNIQUE_VALUES = exports.MAX_COLUMN_ROWS_LIMIT = void 0;
|
|
3
|
+
exports.REFERENCE_LINE = exports.SAVED_QUERIES_DASHBOARD = exports.SINGLE_TENANT = exports.ALL_TENANTS = exports.QUILL_QUERY_ENDPOINT = exports.QUILL_SERVER = exports.MAX_PIVOT_UNIQUE_VALUES = exports.MAX_COLUMN_ROWS_LIMIT = void 0;
|
|
4
4
|
exports.MAX_COLUMN_ROWS_LIMIT = 500;
|
|
5
5
|
exports.MAX_PIVOT_UNIQUE_VALUES = 250;
|
|
6
6
|
exports.QUILL_SERVER = typeof process !== 'undefined' && process.env
|
|
@@ -11,4 +11,5 @@ exports.QUILL_QUERY_ENDPOINT = typeof process !== 'undefined' && process.env
|
|
|
11
11
|
: '/cloud';
|
|
12
12
|
exports.ALL_TENANTS = 'QUILL_ALL_TENANTS';
|
|
13
13
|
exports.SINGLE_TENANT = 'QUILL_SINGLE_TENANT';
|
|
14
|
+
exports.SAVED_QUERIES_DASHBOARD = 'quill-saved-queries';
|
|
14
15
|
exports.REFERENCE_LINE = 'QUILL_REFERENCE_LINE';
|
|
@@ -9,11 +9,12 @@ import { CustomField } from '../models/Schema';
|
|
|
9
9
|
* interface to build amazing dashboards on top of.
|
|
10
10
|
* @param item
|
|
11
11
|
*/
|
|
12
|
-
export declare function cleanDashboardItem({ item, dashboardFilters, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, }: {
|
|
12
|
+
export declare function cleanDashboardItem({ item, dashboardFilters, getToken, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, }: {
|
|
13
13
|
item: {
|
|
14
14
|
[key: string]: any;
|
|
15
15
|
} | undefined;
|
|
16
16
|
dashboardFilters: any;
|
|
17
|
+
getToken: () => Promise<string>;
|
|
17
18
|
client: QuillProviderClient;
|
|
18
19
|
dateBucket?: string;
|
|
19
20
|
additionalProcessing?: AdditionalProcessing;
|
|
@@ -22,7 +23,7 @@ export declare function cleanDashboardItem({ item, dashboardFilters, client, dat
|
|
|
22
23
|
} | null;
|
|
23
24
|
skipPivotFetch?: boolean;
|
|
24
25
|
}): Promise<QuillReportInternal>;
|
|
25
|
-
export declare function getDashboard(dashboardName: string, client: QuillProviderClient, tenants?: {
|
|
26
|
+
export declare function getDashboard(dashboardName: string, client: QuillProviderClient, getToken: () => Promise<string>, tenants?: {
|
|
26
27
|
tenantField: string;
|
|
27
28
|
tenantIds: (string | number)[];
|
|
28
29
|
}[] | (string | number)[], flags?: string[]): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAuB/C;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,cAAc,GACf,EAAE;IACD,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,GAAG,CAAC;IACtB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,YAAY,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuL/B;AA8ID,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,OAAO,CAAC,EACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,CA6Cd"}
|
|
@@ -34,7 +34,7 @@ const defaultDashboardItem = {
|
|
|
34
34
|
* interface to build amazing dashboards on top of.
|
|
35
35
|
* @param item
|
|
36
36
|
*/
|
|
37
|
-
async function cleanDashboardItem({ item, dashboardFilters, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, }) {
|
|
37
|
+
async function cleanDashboardItem({ item, dashboardFilters, getToken, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, }) {
|
|
38
38
|
if (!item)
|
|
39
39
|
return defaultDashboardItem;
|
|
40
40
|
if (!item.rows) {
|
|
@@ -102,7 +102,7 @@ async function cleanDashboardItem({ item, dashboardFilters, client, dateBucket,
|
|
|
102
102
|
],
|
|
103
103
|
}
|
|
104
104
|
: undefined,
|
|
105
|
-
}, dashboardFilters, client, dateBucket, additionalProcessing, item.dashboardName);
|
|
105
|
+
}, dashboardFilters, getToken, client, dateBucket, additionalProcessing, item.dashboardName);
|
|
106
106
|
}
|
|
107
107
|
catch (e) {
|
|
108
108
|
pivotTable = undefined;
|
|
@@ -205,7 +205,7 @@ async function cleanDashboardItem({ item, dashboardFilters, client, dateBucket,
|
|
|
205
205
|
/**
|
|
206
206
|
* Extract and transform the data from itemInfo.
|
|
207
207
|
*/
|
|
208
|
-
async function getPivotTable(report, dashboardFilters, client, dateBucketInitial, additionalProcessing, dashboardName, tenants) {
|
|
208
|
+
async function getPivotTable(report, dashboardFilters, getToken, client, dateBucketInitial, additionalProcessing, dashboardName, tenants) {
|
|
209
209
|
if (!report)
|
|
210
210
|
return undefined;
|
|
211
211
|
const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.operator === 'BETWEEN');
|
|
@@ -274,6 +274,7 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
|
|
|
274
274
|
dashboardName,
|
|
275
275
|
tenants,
|
|
276
276
|
additionalProcessing,
|
|
277
|
+
getToken,
|
|
277
278
|
});
|
|
278
279
|
return pivotTable;
|
|
279
280
|
}
|
|
@@ -292,6 +293,7 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
|
|
|
292
293
|
tenants,
|
|
293
294
|
dateFilter,
|
|
294
295
|
additionalProcessing,
|
|
296
|
+
getToken,
|
|
295
297
|
})
|
|
296
298
|
: undefined;
|
|
297
299
|
}
|
|
@@ -318,25 +320,41 @@ function extractPivotedYAxis(pivotTable, itemInfo, config = undefined) {
|
|
|
318
320
|
// }
|
|
319
321
|
// return fields;
|
|
320
322
|
}
|
|
321
|
-
async function getDashboard(dashboardName, client, tenants, flags) {
|
|
322
|
-
const
|
|
323
|
+
async function getDashboard(dashboardName, client, getToken, tenants, flags) {
|
|
324
|
+
const { data: resp } = await (0, dataFetcher_1.quillFetch)({
|
|
325
|
+
client,
|
|
326
|
+
task: 'dashboard',
|
|
323
327
|
metadata: {
|
|
324
328
|
name: dashboardName,
|
|
325
|
-
task: 'dashboard',
|
|
326
329
|
clientId: client.publicKey,
|
|
327
330
|
databaseType: client.databaseType,
|
|
328
331
|
useNewNodeSql: true,
|
|
329
332
|
tenants,
|
|
330
333
|
flags,
|
|
331
334
|
},
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
publicKey: client.publicKey,
|
|
335
|
-
name: dashboardName,
|
|
336
|
-
}).toString();
|
|
337
|
-
const resp = await (0, dataFetcher_1.getData)(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
|
|
335
|
+
getToken,
|
|
336
|
+
});
|
|
338
337
|
return {
|
|
339
338
|
...resp,
|
|
340
339
|
createdAt: resp.createdAt && new Date(resp.createdAt),
|
|
340
|
+
dateFilter: resp.dateFilter
|
|
341
|
+
? {
|
|
342
|
+
...resp.dateFilter,
|
|
343
|
+
presetOptions: resp.dateFilter.presetOptions?.map((preset) => ({
|
|
344
|
+
...preset,
|
|
345
|
+
loopStart: preset.loopStart
|
|
346
|
+
? new Date(preset.loopStart)
|
|
347
|
+
: undefined,
|
|
348
|
+
loopEnd: preset.loopEnd ? new Date(preset.loopEnd) : undefined,
|
|
349
|
+
})),
|
|
350
|
+
defaultPresetRanges: resp.dateFilter.defaultPresetRanges?.map((preset) => ({
|
|
351
|
+
...preset,
|
|
352
|
+
loopStart: preset.loopStart
|
|
353
|
+
? new Date(preset.loopStart)
|
|
354
|
+
: undefined,
|
|
355
|
+
loopEnd: preset.loopEnd ? new Date(preset.loopEnd) : undefined,
|
|
356
|
+
})),
|
|
357
|
+
}
|
|
358
|
+
: undefined,
|
|
341
359
|
};
|
|
342
360
|
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { QuillProviderClient } from '../models/Client';
|
|
2
|
-
|
|
3
|
-
export declare
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { QuillFetchOptions, QuillResults } from '../models/Data';
|
|
3
|
+
export declare const quillFetch: ({ client, task, method, metadata, abortSignal, credentials, urlParameters, getToken, }: QuillFetchOptions) => Promise<QuillResults>;
|
|
4
|
+
export declare const parseFetchResponse: (client: QuillProviderClient, task: string, response: QuillResults, getToken: () => Promise<string>) => Promise<any>;
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Use quillFetch instead. If post fetch parsing is required, use parseFetchResponse.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getData(client: QuillProviderClient, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method: string | undefined, getToken: () => Promise<string>, queryParam?: string, abortSignal?: AbortSignal): Promise<any>;
|
|
9
|
+
export declare function fetchSqlQuery(ast: any, client: QuillProviderClient, getToken: () => Promise<string>, formData?: any): Promise<{
|
|
7
10
|
query: string;
|
|
8
11
|
error?: string;
|
|
9
12
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA6EjE,eAAO,MAAM,UAAU,2FASpB,iBAAiB,KAAG,OAAO,CAAC,YAAY,CAuD1C,CAAC;AAIF,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,QACrB,MAAM,YACF,YAAY,YACZ,MAAM,OAAO,CAAC,MAAM,CAAC,iBA0EhC,CAAC;AAEF;;GAEG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,oBAAS,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,WAAW,gBAgL1B;AA+CD,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiB5C"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseFetchResponse = exports.quillFetch = void 0;
|
|
3
4
|
exports.getData = getData;
|
|
4
|
-
exports.useQuillCloud = useQuillCloud;
|
|
5
5
|
exports.fetchSqlQuery = fetchSqlQuery;
|
|
6
|
-
const react_1 = require("react");
|
|
7
6
|
const constants_1 = require("./constants");
|
|
8
|
-
const Context_1 = require("../Context");
|
|
9
7
|
function fetchQuillData(responseData) {
|
|
10
8
|
if (!responseData) {
|
|
11
9
|
return null;
|
|
@@ -37,39 +35,161 @@ function parseData(rows, queryType) {
|
|
|
37
35
|
return rows;
|
|
38
36
|
}
|
|
39
37
|
}
|
|
40
|
-
async function testSqlViewState(
|
|
38
|
+
async function testSqlViewState(client, referencedTables, getToken) {
|
|
41
39
|
let errorMessage = null;
|
|
42
40
|
await Promise.all(referencedTables.map(async (table) => {
|
|
43
41
|
if (!table) {
|
|
44
42
|
return;
|
|
45
43
|
}
|
|
46
|
-
const
|
|
44
|
+
const { data: resp } = await (0, exports.quillFetch)({
|
|
45
|
+
client,
|
|
46
|
+
task: 'test-view',
|
|
47
47
|
metadata: {
|
|
48
48
|
tables: [table],
|
|
49
|
-
|
|
50
|
-
clientId: hostedRequestBody.metadata.clientId,
|
|
49
|
+
clientId: client.clientId,
|
|
51
50
|
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const resp = await getData(client, 'test-view', 'same-origin', hostedBody, cloudBody);
|
|
51
|
+
getToken,
|
|
52
|
+
});
|
|
55
53
|
if (resp.success === false) {
|
|
56
54
|
const brokenBody = {
|
|
57
55
|
metadata: {
|
|
58
56
|
table: table,
|
|
59
57
|
task: 'set-broken-view',
|
|
60
|
-
clientId:
|
|
58
|
+
clientId: client.clientId,
|
|
61
59
|
},
|
|
62
60
|
};
|
|
63
|
-
|
|
61
|
+
(0, exports.quillFetch)({
|
|
62
|
+
client,
|
|
63
|
+
task: 'set-broken-view',
|
|
64
|
+
metadata: brokenBody,
|
|
65
|
+
credentials: 'same-origin',
|
|
66
|
+
getToken,
|
|
67
|
+
});
|
|
64
68
|
errorMessage = `Virtual Table Error: '${table}' is out of sync with datasource.`;
|
|
65
69
|
}
|
|
66
70
|
}));
|
|
67
71
|
return errorMessage;
|
|
68
72
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
const quillFetch = async ({ client, task, method = 'POST', metadata, abortSignal, credentials = 'omit', urlParameters, getToken, }) => {
|
|
74
|
+
const token = await getToken();
|
|
75
|
+
const queryString = urlParameters ?? `task=${task}`;
|
|
76
|
+
const endpoint = client.queryEndpoint
|
|
77
|
+
? `${client.queryEndpoint}?${queryString}`
|
|
78
|
+
: `${constants_1.QUILL_SERVER}${constants_1.QUILL_QUERY_ENDPOINT}?${queryString}`;
|
|
79
|
+
try {
|
|
80
|
+
const response = await fetch(endpoint, {
|
|
81
|
+
method,
|
|
82
|
+
headers: {
|
|
83
|
+
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
|
84
|
+
...client.queryHeaders,
|
|
85
|
+
'Content-Type': 'application/json',
|
|
86
|
+
'Vercel-Env': process.env.NEXT_PUBLIC_VERCEL_ENV ?? 'production',
|
|
87
|
+
},
|
|
88
|
+
body: JSON.stringify({
|
|
89
|
+
metadata: {
|
|
90
|
+
task,
|
|
91
|
+
clientId: client.clientId,
|
|
92
|
+
...metadata,
|
|
93
|
+
},
|
|
94
|
+
}),
|
|
95
|
+
credentials: client.withCredentials ? 'include' : credentials,
|
|
96
|
+
signal: abortSignal,
|
|
97
|
+
});
|
|
98
|
+
if (!response.ok) {
|
|
99
|
+
throw new Error('API request failed');
|
|
100
|
+
}
|
|
101
|
+
let result = await response.json();
|
|
102
|
+
// Not sure if this is required, but putting it here just in case
|
|
103
|
+
// based on other lines of code I've seen
|
|
104
|
+
// Probably happens if self-hosted endpoint was not set up correctly and
|
|
105
|
+
// the response was wrapped in an additional data object
|
|
106
|
+
if (result.data?.data &&
|
|
107
|
+
(result.data.queries || result.data.status || result.data.error)) {
|
|
108
|
+
result = result.data;
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
data: result.data,
|
|
112
|
+
queries: result.queries,
|
|
113
|
+
status: result.status,
|
|
114
|
+
error: result.error,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
if (e instanceof Error && e.name === 'AbortError') {
|
|
119
|
+
throw e;
|
|
120
|
+
}
|
|
121
|
+
console.error('Failed to fetch:', e);
|
|
122
|
+
return { error: 'Failed to fetch data' };
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
exports.quillFetch = quillFetch;
|
|
126
|
+
// This function parses the response from the fetch call,
|
|
127
|
+
// which is what getData used to do after fetching data
|
|
128
|
+
const parseFetchResponse = async (client, task, response, getToken) => {
|
|
129
|
+
try {
|
|
130
|
+
if (response.status === 'error' || response.data?.error) {
|
|
131
|
+
let errorPrefix = 'Error: ';
|
|
132
|
+
let errorMessage = 'Failed to fetch report: ' + (response.error || response.data?.error);
|
|
133
|
+
if (task === 'query' || task === 'patterns') {
|
|
134
|
+
errorPrefix = response.error?.includes('Query Parsing Error')
|
|
135
|
+
? ''
|
|
136
|
+
: 'SQL Error: ';
|
|
137
|
+
errorMessage = errorPrefix + response.error;
|
|
138
|
+
}
|
|
139
|
+
else if (response.error?.includes('Virtual Table Error')) {
|
|
140
|
+
errorMessage = response.error;
|
|
141
|
+
}
|
|
142
|
+
let adminErrorMessage = undefined;
|
|
143
|
+
if (response?.data?.referencedTables) {
|
|
144
|
+
adminErrorMessage =
|
|
145
|
+
(await testSqlViewState(client, response.data.referencedTables, getToken)) ?? undefined;
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
success: false,
|
|
149
|
+
errorMessage,
|
|
150
|
+
adminErrorMessage,
|
|
151
|
+
data: response,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
if (response.error) {
|
|
155
|
+
return {
|
|
156
|
+
success: false,
|
|
157
|
+
errorMessage: response.error,
|
|
158
|
+
...response,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
const result = {
|
|
162
|
+
...response.data,
|
|
163
|
+
};
|
|
164
|
+
const fields = response.queries?.queryResults[0]?.fields;
|
|
165
|
+
const rows = response.queries?.queryResults[0]?.rows;
|
|
166
|
+
const compareRows = response.queries?.queryResults[1]?.rows;
|
|
167
|
+
if (fields) {
|
|
168
|
+
result.fields = fields;
|
|
169
|
+
}
|
|
170
|
+
if (rows) {
|
|
171
|
+
result.rows = rows;
|
|
172
|
+
}
|
|
173
|
+
if (compareRows && task !== 'report') {
|
|
174
|
+
result.compareRows = compareRows;
|
|
175
|
+
}
|
|
176
|
+
if (response.data?.queryOrder) {
|
|
177
|
+
response.data.queryOrder.forEach((queryKey, index) => {
|
|
178
|
+
result[queryKey] = parseData(response.queries?.queryResults?.[index]?.rows, queryKey);
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return result;
|
|
182
|
+
}
|
|
183
|
+
catch (e) {
|
|
184
|
+
console.error('Failed to parse response:', e);
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
exports.parseFetchResponse = parseFetchResponse;
|
|
189
|
+
/**
|
|
190
|
+
* @deprecated Use quillFetch instead. If post fetch parsing is required, use parseFetchResponse.
|
|
191
|
+
*/
|
|
192
|
+
async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', getToken, queryParam, abortSignal) {
|
|
73
193
|
if (!client) {
|
|
74
194
|
return null;
|
|
75
195
|
}
|
|
@@ -110,7 +230,7 @@ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cl
|
|
|
110
230
|
processedData.data &&
|
|
111
231
|
processedData.data.referencedTables) {
|
|
112
232
|
adminErrorMessage =
|
|
113
|
-
(await testSqlViewState(
|
|
233
|
+
(await testSqlViewState(client, processedData.data.referencedTables, getToken)) ?? undefined;
|
|
114
234
|
}
|
|
115
235
|
return {
|
|
116
236
|
success: false,
|
|
@@ -219,58 +339,62 @@ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cl
|
|
|
219
339
|
return null;
|
|
220
340
|
}
|
|
221
341
|
}
|
|
222
|
-
function useQuillCloud() {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
342
|
+
// export function useQuillCloud() {
|
|
343
|
+
// const { tenants, flags } = useContext(TenantContext);
|
|
344
|
+
// const getDataFromCloud = async (
|
|
345
|
+
// client: QuillProviderClient,
|
|
346
|
+
// cloudQueryEndpoint: string,
|
|
347
|
+
// cloudRequestBody: any,
|
|
348
|
+
// method = 'POST',
|
|
349
|
+
// abortSignal?: AbortSignal,
|
|
350
|
+
// ) => {
|
|
351
|
+
// try {
|
|
352
|
+
// const url = `${QUILL_SERVER}/${cloudQueryEndpoint}`;
|
|
353
|
+
// const resp = await fetch(url, {
|
|
354
|
+
// method,
|
|
355
|
+
// headers: {
|
|
356
|
+
// Authorization: 'Bearer ',
|
|
357
|
+
// 'Content-Type': 'application/json',
|
|
358
|
+
// },
|
|
359
|
+
// body:
|
|
360
|
+
// method === 'POST'
|
|
361
|
+
// ? JSON.stringify({
|
|
362
|
+
// ...cloudRequestBody,
|
|
363
|
+
// ...{
|
|
364
|
+
// publicKey: client?.publicKey,
|
|
365
|
+
// tenants: tenants,
|
|
366
|
+
// flags: flags,
|
|
367
|
+
// },
|
|
368
|
+
// })
|
|
369
|
+
// : null,
|
|
370
|
+
// signal: abortSignal,
|
|
371
|
+
// });
|
|
372
|
+
// return await resp.json();
|
|
373
|
+
// } catch (e) {
|
|
374
|
+
// if (e instanceof Error && e.name === 'AbortError') {
|
|
375
|
+
// throw e;
|
|
376
|
+
// }
|
|
377
|
+
// console.error('Failed to parse JSON:', e);
|
|
378
|
+
// return null;
|
|
379
|
+
// }
|
|
380
|
+
// };
|
|
381
|
+
// return {
|
|
382
|
+
// getDataFromCloud,
|
|
383
|
+
// };
|
|
384
|
+
// }
|
|
385
|
+
async function fetchSqlQuery(ast, client, getToken, formData) {
|
|
260
386
|
try {
|
|
261
387
|
const where = formData ? formData : ast?.where || null;
|
|
262
|
-
const
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
388
|
+
const { data } = await (0, exports.quillFetch)({
|
|
389
|
+
client,
|
|
390
|
+
task: 'sqlify',
|
|
391
|
+
metadata: {
|
|
392
|
+
clientId: client.clientId,
|
|
393
|
+
useNewNodeSql: true,
|
|
268
394
|
ast: { ...ast, where },
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
}),
|
|
395
|
+
},
|
|
396
|
+
getToken,
|
|
272
397
|
});
|
|
273
|
-
const data = await response.json();
|
|
274
398
|
return { query: data.query };
|
|
275
399
|
}
|
|
276
400
|
catch (error) {
|
|
@@ -2,6 +2,7 @@ import { FieldType, InternalFilter, DashboardDateFilter, Filter, DashboardFilter
|
|
|
2
2
|
import { QuillReport } from '../models/Report';
|
|
3
3
|
import { FilterTreeNode } from './astFilterProcessing';
|
|
4
4
|
import { ReportBuilderState } from '../models/ReportBuilder';
|
|
5
|
+
import { QuillProviderClient } from '../models/Client';
|
|
5
6
|
export declare function findAndProcessDateFilter(filters: any[]): any;
|
|
6
7
|
export declare function processFilterFromBackend(filter: any): any;
|
|
7
8
|
export declare function updateFilter(filter: any, value: any | undefined, comparison: any | undefined, dashboardName: string): any;
|
|
@@ -22,7 +23,7 @@ export declare function filterStackToFilterTree(stack: any[]): FilterTreeNode |
|
|
|
22
23
|
/**
|
|
23
24
|
* This function uses the baseAst and forms a SQL query using the a filters array
|
|
24
25
|
*/
|
|
25
|
-
export declare function buildQueryFromFilters(reportBuilderState: ReportBuilderState, filters: FilterTreeNode[],
|
|
26
|
+
export declare function buildQueryFromFilters(reportBuilderState: ReportBuilderState, filters: FilterTreeNode[], client: QuillProviderClient, getToken: () => Promise<string>): Promise<{
|
|
26
27
|
success: boolean;
|
|
27
28
|
query?: string;
|
|
28
29
|
error?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,mBAAmB,EACnB,MAAM,EAEN,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAG,YAAO,EACjB,UAAU,EAAE,GAAG,YAAO,EACtB,aAAa,EAAE,MAAM,OAqFtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,cA0DhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,cAAc,EAAE,EACzB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiC/D;AAED,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,mBAAmB,GACvC,mBAAmB,CAkKrB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CAgDP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAkDpD,CAAC"}
|
|
@@ -17,6 +17,7 @@ const Filter_1 = require("../models/Filter");
|
|
|
17
17
|
const astFilterProcessing_1 = require("./astFilterProcessing");
|
|
18
18
|
const textProcessing_1 = require("./textProcessing");
|
|
19
19
|
const reportBuilder_1 = require("./reportBuilder");
|
|
20
|
+
const dataFetcher_1 = require("./dataFetcher");
|
|
20
21
|
function findAndProcessDateFilter(filters) {
|
|
21
22
|
let dateFilter = filters.find((filter) => filter.filterType === 'date_range');
|
|
22
23
|
if (dateFilter) {
|
|
@@ -83,25 +84,8 @@ function updateFilter(filter, value = null, comparison = null, dashboardName) {
|
|
|
83
84
|
}
|
|
84
85
|
if (filter.filterType === 'date' || filter.filterType === 'date_range') {
|
|
85
86
|
let presetsOptions = dateRangePickerUtils_1.defaultOptionsV2;
|
|
86
|
-
if (filter.
|
|
87
|
-
presetsOptions = filter.
|
|
88
|
-
if (!elem.isStatic) {
|
|
89
|
-
return {
|
|
90
|
-
label: elem.label,
|
|
91
|
-
value: elem.value,
|
|
92
|
-
startDate: (dateRangePickerUtils_1.PRIMARY_RANGE[elem.value] ??
|
|
93
|
-
dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS']).startDate,
|
|
94
|
-
endDate: (dateRangePickerUtils_1.PRIMARY_RANGE[elem.value] ??
|
|
95
|
-
dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS']).endDate,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
return {
|
|
99
|
-
label: elem.label,
|
|
100
|
-
value: elem.value,
|
|
101
|
-
startDate: new Date(elem.startDate),
|
|
102
|
-
endDate: new Date(elem.endDate),
|
|
103
|
-
};
|
|
104
|
-
});
|
|
87
|
+
if (filter.presetOptions || filter.defaultPresetRanges) {
|
|
88
|
+
presetsOptions = (0, dateRangePickerUtils_1.convertPresetOptionsToSelectableList)(filter.presetOptions ?? [], filter.defaultPresetRanges ?? []);
|
|
105
89
|
}
|
|
106
90
|
if (comparison ||
|
|
107
91
|
(filter.comparison && filter.comparisonRange.value !== 'NO_COMPARISON')) {
|
|
@@ -321,29 +305,26 @@ function filterStackToFilterTree(stack) {
|
|
|
321
305
|
/**
|
|
322
306
|
* This function uses the baseAst and forms a SQL query using the a filters array
|
|
323
307
|
*/
|
|
324
|
-
async function buildQueryFromFilters(reportBuilderState, filters,
|
|
308
|
+
async function buildQueryFromFilters(reportBuilderState, filters, client, getToken) {
|
|
325
309
|
const subTree = filterStackToFilterTree(filters);
|
|
326
310
|
let whereNode = null;
|
|
327
311
|
if (subTree) {
|
|
328
|
-
whereNode = (0, astFilterProcessing_1.filterTreeToAst)(subTree, client.databaseType
|
|
312
|
+
whereNode = (0, astFilterProcessing_1.filterTreeToAst)(subTree, client.databaseType?.toLowerCase() || 'postgresql');
|
|
329
313
|
}
|
|
330
|
-
const ast = (0, reportBuilder_1.reportBuilderStateToAst)({ ...reportBuilderState, filterStack: filters }, client.databaseType
|
|
314
|
+
const ast = (0, reportBuilder_1.reportBuilderStateToAst)({ ...reportBuilderState, filterStack: filters }, client.databaseType?.toLowerCase() || 'postgresql');
|
|
331
315
|
const queryAst = { ...ast, where: whereNode };
|
|
332
316
|
try {
|
|
333
|
-
const
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
body: JSON.stringify({
|
|
339
|
-
ast: queryAst,
|
|
340
|
-
publicKey: client.publicKey,
|
|
317
|
+
const { data } = await (0, dataFetcher_1.quillFetch)({
|
|
318
|
+
client,
|
|
319
|
+
task: 'sqlify',
|
|
320
|
+
metadata: {
|
|
321
|
+
clientId: client.clientId,
|
|
341
322
|
useNewNodeSql: true,
|
|
342
|
-
|
|
343
|
-
|
|
323
|
+
ast: queryAst,
|
|
324
|
+
},
|
|
325
|
+
getToken,
|
|
344
326
|
});
|
|
345
|
-
const
|
|
346
|
-
const query = data.query;
|
|
327
|
+
const query = data?.query;
|
|
347
328
|
return { success: true, query };
|
|
348
329
|
}
|
|
349
330
|
catch (error) {
|
|
@@ -520,7 +501,8 @@ function mergeCustomFilters(filters, customFilters) {
|
|
|
520
501
|
value: 'LAST_30_DAYS',
|
|
521
502
|
},
|
|
522
503
|
dashboardName: 'none',
|
|
523
|
-
|
|
504
|
+
presetOptions: [],
|
|
505
|
+
defaultPresetRanges: [],
|
|
524
506
|
preset: {
|
|
525
507
|
label: 'Last 30 Days',
|
|
526
508
|
value: 'LAST_30_DAYS',
|
|
@@ -558,8 +540,7 @@ function filtersAreEquivalent(filters1, filters2) {
|
|
|
558
540
|
const createDefaultDateFilter = (filter, reports, dashboardName) => {
|
|
559
541
|
const comparisonRangeStart = getComparisonRange(filter, 'startDate');
|
|
560
542
|
const comparisonRangeEnd = getComparisonRange(filter, 'endDate');
|
|
561
|
-
const range =
|
|
562
|
-
dateRangePickerUtils_1.PRIMARY_RANGE[filter.primaryRange?.value ?? 'LAST_30_DAYS'] ??
|
|
543
|
+
const range = dateRangePickerUtils_1.PRIMARY_RANGE[filter.primaryRange?.value ?? 'LAST_30_DAYS'] ??
|
|
563
544
|
dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS'];
|
|
564
545
|
return filter
|
|
565
546
|
? {
|
|
@@ -594,7 +575,12 @@ const createDefaultDateFilter = (filter, reports, dashboardName) => {
|
|
|
594
575
|
};
|
|
595
576
|
exports.createDefaultDateFilter = createDefaultDateFilter;
|
|
596
577
|
const getComparisonRange = (dateFilter, rangeType) => {
|
|
597
|
-
const range = dateFilter?.
|
|
578
|
+
const range = (0, dateRangePickerUtils_1.convertPresetOptionsToSelectableList)(dateFilter?.presetOptions ?? [], dateFilter?.defaultPresetRanges ?? []).find((option) => option.value === dateFilter?.primaryRange?.value) ??
|
|
579
|
+
dateRangePickerUtils_1.PRIMARY_RANGE[dateFilter?.primaryRange?.value ?? 'LAST_30_DAYS'] ??
|
|
580
|
+
dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS'];
|
|
581
|
+
if (!range.startDate || !range.endDate) {
|
|
582
|
+
return undefined;
|
|
583
|
+
}
|
|
598
584
|
return (dateFilter?.comparisonRange?.[rangeType] ??
|
|
599
585
|
dateRangePickerUtils_1.COMPARISON_RANGE[dateFilter?.defaultComparisonRange ??
|
|
600
586
|
'NO_COMPARISON']({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDomain.d.ts","sourceRoot":"","sources":["../../../src/utils/getDomain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,
|
|
1
|
+
{"version":3,"file":"getDomain.d.ts","sourceRoot":"","sources":["../../../src/utils/getDomain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,GAAG,EAAE,EACb,cAAc,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,GAAG,SAAS,GAC/D,MAAM,EAAE,CA6CV"}
|
|
@@ -2,7 +2,7 @@ import { QuillProviderClient } from '../models/Client';
|
|
|
2
2
|
import { Pivot, PivotData } from '../models/Pivot';
|
|
3
3
|
import { QuillReportInternal } from '../models/Report';
|
|
4
4
|
import { AdditionalProcessing } from './tableProcessing';
|
|
5
|
-
export declare function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFilter, distinctStrings, dashboardName, tenants, additionalProcessing, pivotQuery, comparisonPivotQuery, getPivotRowCount, caller, }: {
|
|
5
|
+
export declare function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFilter, distinctStrings, dashboardName, tenants, additionalProcessing, pivotQuery, comparisonPivotQuery, getPivotRowCount, caller, getToken, }: {
|
|
6
6
|
pivot: Pivot;
|
|
7
7
|
report?: QuillReportInternal;
|
|
8
8
|
client: QuillProviderClient;
|
|
@@ -19,6 +19,7 @@ export declare function generatePivotWithSQL({ pivot, report, client, dateBucket
|
|
|
19
19
|
comparisonPivotQuery?: string;
|
|
20
20
|
getPivotRowCount?: boolean;
|
|
21
21
|
caller?: string;
|
|
22
|
+
getToken: () => Promise<string>;
|
|
22
23
|
}): Promise<PivotData>;
|
|
23
24
|
export declare function disambiguatedValueField(pivot: Pivot): string | undefined;
|
|
24
25
|
//# sourceMappingURL=pivotConstructor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAYvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAsB,oBAAoB,CAAC,EACzC,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAuB,EACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAYvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAsB,oBAAoB,CAAC,EACzC,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAuB,EACvB,MAAM,EACN,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EACJ;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC,GAAG,OAAO,CAAC,SAAS,CAAC,CA6WrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,sBAYnD"}
|