@quillsql/react 2.12.52 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +5 -3
- package/dist/cjs/ChartBuilder.d.ts +10 -3
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +62 -26
- package/dist/cjs/ChartEditor.d.ts +3 -1
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +74 -16
- package/dist/cjs/Context.d.ts +17 -6
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +138 -73
- package/dist/cjs/Dashboard.d.ts +8 -4
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +146 -367
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +20 -14
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -1
- package/dist/cjs/QuillProvider.js +1 -1
- package/dist/cjs/ReportBuilder.d.ts +8 -12
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +163 -83
- package/dist/cjs/SQLEditor.d.ts +8 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +81 -28
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +6 -3
- package/dist/cjs/assets/AdjustmentsIcon.d.ts +5 -0
- package/dist/cjs/assets/AdjustmentsIcon.d.ts.map +1 -0
- package/dist/cjs/assets/AdjustmentsIcon.js +5 -0
- package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/cjs/components/Chart/ChartError.js +2 -2
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +4 -3
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +12 -12
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +2 -2
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +11 -5
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +91 -32
- package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -1
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.js +10 -3
- package/dist/cjs/components/Dashboard/util.d.ts +2 -2
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/util.js +2 -2
- package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelect.js +18 -13
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +67 -45
- package/dist/cjs/components/QuillSelect.d.ts +1 -1
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +29 -7
- package/dist/cjs/components/QuillSelectWithCombo.d.ts +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +47 -26
- package/dist/cjs/components/QuillTable.d.ts +3 -2
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +32 -19
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +2 -2
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.js +2 -2
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +17 -4
- package/dist/cjs/components/ReportBuilder/ui.d.ts +13 -8
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +15 -24
- package/dist/cjs/components/UiComponents.d.ts +17 -9
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +30 -24
- package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -2
- package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.d.ts +13 -5
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +158 -70
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +9 -3
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +15 -15
- package/dist/cjs/hooks/useVirtualTables.d.ts +12 -3
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +105 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +9 -9
- package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.js +21 -15
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +3 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +9 -9
- package/dist/cjs/models/Client.d.ts +16 -2
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/models/Dashboard.d.ts +1 -1
- package/dist/cjs/models/Dashboard.d.ts.map +1 -1
- package/dist/cjs/models/Filter.d.ts +4 -3
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +38 -1
- package/dist/cjs/utils/astProcessing.d.ts +3 -3
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +2 -7
- package/dist/cjs/utils/dashboard.d.ts +5 -5
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +90 -9
- package/dist/cjs/utils/dataFetcher.d.ts +4 -4
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +1 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +2 -8
- package/dist/cjs/utils/paginationProcessing.js +1 -1
- package/dist/cjs/utils/pivotConstructor.d.ts +2 -2
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +1 -1
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +6 -2
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +12 -9
- package/dist/cjs/utils/report.d.ts +6 -5
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +71 -25
- package/dist/cjs/utils/schema.d.ts +3 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +39 -35
- package/dist/cjs/utils/tableProcessing.d.ts +18 -11
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +44 -23
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +6 -4
- package/dist/esm/ChartBuilder.d.ts +10 -3
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +59 -26
- package/dist/esm/ChartEditor.d.ts +3 -1
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +76 -18
- package/dist/esm/Context.d.ts +17 -6
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +139 -74
- package/dist/esm/Dashboard.d.ts +8 -4
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +146 -367
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +21 -15
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -1
- package/dist/esm/QuillProvider.js +1 -1
- package/dist/esm/ReportBuilder.d.ts +8 -12
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +167 -87
- package/dist/esm/SQLEditor.d.ts +8 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +84 -31
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +7 -4
- package/dist/esm/assets/AdjustmentsIcon.d.ts +5 -0
- package/dist/esm/assets/AdjustmentsIcon.d.ts.map +1 -0
- package/dist/esm/assets/AdjustmentsIcon.js +3 -0
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/esm/components/Chart/ChartError.js +2 -2
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +4 -3
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +12 -12
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +2 -2
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.d.ts +11 -5
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +94 -35
- package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -1
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TableComponent.js +10 -3
- package/dist/esm/components/Dashboard/util.d.ts +2 -2
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/util.js +2 -2
- package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelect.js +19 -14
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +68 -46
- package/dist/esm/components/QuillSelect.d.ts +1 -1
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +30 -8
- package/dist/esm/components/QuillSelectWithCombo.d.ts +1 -1
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +48 -27
- package/dist/esm/components/QuillTable.d.ts +3 -2
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +32 -19
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -2
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +2 -2
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +17 -4
- package/dist/esm/components/ReportBuilder/ui.d.ts +13 -8
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +14 -19
- package/dist/esm/components/UiComponents.d.ts +17 -9
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +30 -24
- package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -2
- package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.d.ts +13 -5
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +158 -73
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +10 -4
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +17 -17
- package/dist/esm/hooks/useVirtualTables.d.ts +12 -3
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +106 -2
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -9
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotList.js +21 -15
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +3 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +9 -9
- package/dist/esm/models/Client.d.ts +16 -2
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/models/Dashboard.d.ts +1 -1
- package/dist/esm/models/Dashboard.d.ts.map +1 -1
- package/dist/esm/models/Filter.d.ts +4 -3
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +36 -0
- package/dist/esm/utils/astProcessing.d.ts +3 -3
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +2 -7
- package/dist/esm/utils/dashboard.d.ts +5 -5
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +90 -9
- package/dist/esm/utils/dataFetcher.d.ts +4 -4
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +1 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +2 -8
- package/dist/esm/utils/paginationProcessing.js +1 -1
- package/dist/esm/utils/pivotConstructor.d.ts +2 -2
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +1 -1
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +6 -2
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +12 -9
- package/dist/esm/utils/report.d.ts +6 -5
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +70 -25
- package/dist/esm/utils/schema.d.ts +3 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +39 -35
- package/dist/esm/utils/tableProcessing.d.ts +18 -11
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +41 -20
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function getData(client:
|
|
3
|
-
export declare function getDataFromCloud(client:
|
|
4
|
-
export declare function fetchSqlQuery(ast: any, client:
|
|
1
|
+
import { QuillProviderClient } from '../models/Client';
|
|
2
|
+
export declare function getData(client: QuillProviderClient, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method?: string, queryParam?: string): Promise<any>;
|
|
3
|
+
export declare function getDataFromCloud(client: QuillProviderClient, cloudQueryEndpoint: string, cloudRequestBody: any, method?: string): Promise<any>;
|
|
4
|
+
export declare function fetchSqlQuery(ast: any, client: QuillProviderClient, formData?: any): Promise<{
|
|
5
5
|
query: string;
|
|
6
6
|
error?: string;
|
|
7
7
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA8EvD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,gBAgJpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBA6BhB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,UAAU,EACV,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,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,GAAE,GAAU,EACjB,UAAU,GAAE,GAAU,
|
|
1
|
+
{"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,UAAU,EACV,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,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,GAAE,GAAU,EACjB,UAAU,GAAE,GAAU,OAgGvB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,iFAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBrD;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,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA"}
|
|
@@ -88,17 +88,12 @@ export function updateFilter(filter, value = null, comparison = null) {
|
|
|
88
88
|
}
|
|
89
89
|
if (comparison ||
|
|
90
90
|
(filter.comparison && filter.comparisonRange.value !== 'NO_COMPARISON')) {
|
|
91
|
-
let preset = '';
|
|
92
|
-
if (comparison) {
|
|
93
|
-
preset = filter.preset.label;
|
|
94
|
-
}
|
|
95
91
|
const key = comparison?.value || filter.comparisonRange.value;
|
|
96
92
|
let primaryRange = {
|
|
97
93
|
start: value ? value.startDate : filter.startDate,
|
|
98
94
|
end: value ? value.endDate : filter.endDate,
|
|
99
95
|
};
|
|
100
96
|
if (value && value.preset) {
|
|
101
|
-
preset = value.preset;
|
|
102
97
|
primaryRange = getRangeFromPresetOptions(value.preset, presetsOptions);
|
|
103
98
|
}
|
|
104
99
|
return {
|
|
@@ -107,7 +102,7 @@ export function updateFilter(filter, value = null, comparison = null) {
|
|
|
107
102
|
filterType: 'date_range',
|
|
108
103
|
label: 'Date',
|
|
109
104
|
field: 'date_range',
|
|
110
|
-
preset:
|
|
105
|
+
preset: filter.preset,
|
|
111
106
|
options: filter.options,
|
|
112
107
|
comparison: true,
|
|
113
108
|
comparisonRange: {
|
|
@@ -125,10 +120,9 @@ export function updateFilter(filter, value = null, comparison = null) {
|
|
|
125
120
|
start: value?.startDate || filter.startDate,
|
|
126
121
|
end: value?.endDate || filter.endDate,
|
|
127
122
|
};
|
|
128
|
-
const preset = value?.preset ? value.preset : '';
|
|
129
123
|
return {
|
|
130
124
|
...filter,
|
|
131
|
-
preset:
|
|
125
|
+
preset: filter.preset,
|
|
132
126
|
startDate: primaryRange.start,
|
|
133
127
|
endDate: primaryRange.end,
|
|
134
128
|
filterType: 'date_range',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QuillProviderClient } from '../models/Client';
|
|
2
2
|
import { Pivot } from '../models/Pivot';
|
|
3
3
|
import { QuillReportInternal } from '../models/Report';
|
|
4
|
-
export declare function generatePivotWithSQL(pivot: Pivot, report: QuillReportInternal, client:
|
|
4
|
+
export declare function generatePivotWithSQL(pivot: Pivot, report: QuillReportInternal, client: QuillProviderClient, dateBucket?: string, dateFilter?: any, distinctStrings?: any): Promise<{
|
|
5
5
|
rows: any;
|
|
6
6
|
columns: any;
|
|
7
7
|
} | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,GAAG,EAChB,eAAe,CAAC,EAAE,GAAG;;;eAuMtB"}
|
|
@@ -40,7 +40,7 @@ export async function generatePivotWithSQL(pivot, report, client, dateBucket, da
|
|
|
40
40
|
metadata: {
|
|
41
41
|
preQueries: [sqlQuery],
|
|
42
42
|
task: 'query',
|
|
43
|
-
orgId: client.
|
|
43
|
+
orgId: client.organizationId || '*',
|
|
44
44
|
clientId: client.publicKey,
|
|
45
45
|
databaseType: client?.databaseType,
|
|
46
46
|
getCustomFields: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EAAE,GACxB,MAAM,CAuCR;AAkBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,WA0BxC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,cAAc,EAAE,EACzB,YAAY,EAAE,oBAAoB;;;;
|
|
1
|
+
{"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EAAE,GACxB,MAAM,CAuCR;AAkBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,WA0BxC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,cAAc,EAAE,EACzB,YAAY,EAAE,oBAAoB;;;;EAqDnC;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE;IACf,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;CAClB,GACA,KAAK,CAqCP;AAED,eAAO,MAAM,eAAe,WAAY,GAAG,SAAS,KAAK,YA8BxD,CAAC"}
|
|
@@ -84,11 +84,15 @@ export function getPossiblePivotFieldOptions(columns, uniqueValues) {
|
|
|
84
84
|
(Object.keys(possibleValues).length === 1 &&
|
|
85
85
|
Object.keys(possibleValues)[0] === 'null');
|
|
86
86
|
if (!isNullValuesOnly &&
|
|
87
|
-
Object.keys(possibleValues).length <= MAX_PIVOT_UNIQUE_VALUES
|
|
87
|
+
Object.keys(possibleValues).length <= MAX_PIVOT_UNIQUE_VALUES &&
|
|
88
|
+
!(Object.keys(possibleValues).length === 1 &&
|
|
89
|
+
possibleValues['EXCEEDS_LIMIT'] !== undefined)) {
|
|
88
90
|
columnFields.push(column.field);
|
|
89
91
|
}
|
|
90
92
|
if (!isNullValuesOnly &&
|
|
91
|
-
Object.keys(possibleValues).length <= MAX_PIVOT_UNIQUE_VALUES
|
|
93
|
+
Object.keys(possibleValues).length <= MAX_PIVOT_UNIQUE_VALUES &&
|
|
94
|
+
!(Object.keys(possibleValues).length === 1 &&
|
|
95
|
+
possibleValues['EXCEEDS_LIMIT'] !== undefined)) {
|
|
92
96
|
rowFields.push(column.field);
|
|
93
97
|
}
|
|
94
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,iBAAiB,CAAC,EAAE,OAAO,UAgC5B;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAUrB;AAsDD,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAyBpB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MAX_PIVOT_UNIQUE_VALUES } from './constants';
|
|
1
2
|
import { isValidPivot } from './pivotProcessing';
|
|
2
3
|
function processSingleQuotes(value, databaseType) {
|
|
3
4
|
if (['postgresql', 'snowflake'].includes(databaseType.toLowerCase())) {
|
|
@@ -37,11 +38,8 @@ isPivotFieldAlias) {
|
|
|
37
38
|
if (column === '' && fallbackOnNull) {
|
|
38
39
|
return `${fallbackOnNull}`;
|
|
39
40
|
}
|
|
40
|
-
// Wrap in
|
|
41
|
-
|
|
42
|
-
return `'${column}'`;
|
|
43
|
-
}
|
|
44
|
-
return `${column}`;
|
|
41
|
+
// Wrap MySQL columns in backticks to handle whitespace
|
|
42
|
+
return `\`${column}\``;
|
|
45
43
|
}
|
|
46
44
|
const columnParts = column.split('.');
|
|
47
45
|
if (columnParts.length > 1) {
|
|
@@ -92,19 +90,24 @@ function processValueField(aggType, databaseType, valueField) {
|
|
|
92
90
|
}
|
|
93
91
|
export function generateCountQuery(fields, query, databaseType) {
|
|
94
92
|
let countQuery = [];
|
|
93
|
+
let cteQuery = `WITH querytable AS (${query.replace(';', '')}) `;
|
|
94
|
+
let cte = [];
|
|
95
95
|
switch (databaseType.toLowerCase()) {
|
|
96
96
|
case 'mysql':
|
|
97
|
-
|
|
98
|
-
return
|
|
97
|
+
cte = fields.map((field, index) => {
|
|
98
|
+
return `, distinct_cte_${index} AS (SELECT DISTINCT ${processColumnReference(field, databaseType)} FROM querytable LIMIT ${MAX_PIVOT_UNIQUE_VALUES + 1})`;
|
|
99
|
+
});
|
|
100
|
+
countQuery = fields.map((field, index) => {
|
|
101
|
+
return `SELECT '${field}' AS ${processColumnReference('field', databaseType)}, COUNT(*) AS ${processColumnReference('count', databaseType)} FROM distinct_cte_${index}`;
|
|
99
102
|
});
|
|
103
|
+
cteQuery += cte.join(' ');
|
|
100
104
|
break;
|
|
101
105
|
default:
|
|
102
106
|
countQuery = fields.map((field) => {
|
|
103
107
|
return `SELECT '${field}' AS ${processColumnReference('field', databaseType)}, COUNT(DISTINCT ${processColumnReference(field, databaseType)}) AS ${processColumnReference('count', databaseType)} FROM querytable`;
|
|
104
108
|
});
|
|
105
109
|
}
|
|
106
|
-
return
|
|
107
|
-
countQuery.join(' UNION ALL '));
|
|
110
|
+
return cteQuery + countQuery.join(' UNION ALL ');
|
|
108
111
|
}
|
|
109
112
|
export function generateDistinctQuery(stringFields, query, databaseType) {
|
|
110
113
|
switch (databaseType.toLowerCase()) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QuillProviderClient } from '../models/Client';
|
|
2
2
|
import { ColumnInternal } from '../models/Columns';
|
|
3
3
|
import { Pivot } from '../models/Pivot';
|
|
4
4
|
import { QuillReport, QuillReportInternal } from '../models/Report';
|
|
@@ -23,19 +23,20 @@ export type ReportBuilderInfo = {
|
|
|
23
23
|
};
|
|
24
24
|
export declare const EMPTY_REPORT: QuillReport;
|
|
25
25
|
export declare const EMPTY_INTERNAL_REPORT: QuillReportInternal;
|
|
26
|
-
export declare function fetchReport(reportId: string, client:
|
|
26
|
+
export declare function fetchReport(reportId: string, client: QuillProviderClient, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, dateBucket?: string, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean): Promise<{
|
|
27
27
|
report: QuillReportInternal;
|
|
28
28
|
error?: string;
|
|
29
29
|
}>;
|
|
30
|
+
export declare function fetchReportRowCount(reportId: string, client: QuillProviderClient, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, customFields?: any): Promise<number | undefined>;
|
|
30
31
|
export declare function saveReport({ report, dashboardItemId, client, }: {
|
|
31
32
|
report: any;
|
|
32
33
|
dashboardItemId?: string;
|
|
33
|
-
client:
|
|
34
|
+
client: QuillProviderClient;
|
|
34
35
|
}): Promise<any>;
|
|
35
36
|
export declare const formatRowsFromReport: (report: any) => any;
|
|
36
37
|
export declare function convertInternalReportToReport(report: QuillReportInternal): QuillReport;
|
|
37
|
-
export declare const fetchReportBuilderDataFromAST: (baseAst: any, formData: any, schema: Table[], client:
|
|
38
|
+
export declare const fetchReportBuilderDataFromAST: (baseAst: any, formData: any, schema: Table[], client: QuillProviderClient, pivot?: Pivot, previousFormData?: any, currentTable?: string, previousRelevant?: {
|
|
38
39
|
uniqueStrings: UniqueValuesByTable;
|
|
39
40
|
dateRanges: DateRangesByColumn;
|
|
40
|
-
}, report?: QuillReportInternal, customFields?: any) => Promise<ReportBuilderInfo>;
|
|
41
|
+
}, report?: QuillReportInternal, customFields?: any, skipUniqueValues?: boolean, skipRowCount?: boolean, processing?: AdditionalProcessing) => Promise<ReportBuilderInfo>;
|
|
41
42
|
//# sourceMappingURL=report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EACL,oBAAoB,EAIrB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAkB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,mBAGnC,CAAC;AA2BF,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,GAAG,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmI1D;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,CAAC,EAAE,GAAG,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkC7B;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EACN,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,GAAG,OAAO,CAAC,GAAG,CAAC,CA4Cf;AAED,eAAO,MAAM,oBAAoB,WAAY,GAAG,QAkB/C,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,GAC1B,WAAW,CAsDb;AAED,eAAO,MAAM,6BAA6B,YAC/B,GAAG,YACF,GAAG,UACL,KAAK,EAAE,UACP,mBAAmB,UACnB,KAAK,qBACM,GAAG,iBACP,MAAM,qBACF;IACjB,aAAa,EAAE,mBAAmB,CAAC;IACnC,UAAU,EAAE,kBAAkB,CAAC;CAChC,WACQ,mBAAmB,iBACb,GAAG,qBACC,OAAO,iBACX,OAAO,eACT,oBAAoB,KAChC,QAAQ,iBAAiB,CAgK3B,CAAC"}
|
package/dist/esm/utils/report.js
CHANGED
|
@@ -13,7 +13,7 @@ import { internalLog } from './logging';
|
|
|
13
13
|
import { mergeComparisonRange } from './merge';
|
|
14
14
|
import { DEFAULT_PAGINATION } from './paginationProcessing';
|
|
15
15
|
import { isPivotPossible, isValidPivot } from './pivotProcessing';
|
|
16
|
-
import { fetchTableByAST, getRelevantInfoFromQuery, } from './tableProcessing';
|
|
16
|
+
import { fetchTableByAST, getDateRangeByColumns, getRelevantInfoFromQuery, } from './tableProcessing';
|
|
17
17
|
import { snakeAndCamelCaseToTitleCase } from './textProcessing';
|
|
18
18
|
import { quillFormat } from './valueFormatter';
|
|
19
19
|
export const EMPTY_REPORT = {
|
|
@@ -61,7 +61,7 @@ function extractAllReportValuesFromQuillInternalReport(reportInternal) {
|
|
|
61
61
|
template: reportInternal.template,
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
|
-
export async function fetchReport(reportId, client, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields) {
|
|
64
|
+
export async function fetchReport(reportId, client, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly) {
|
|
65
65
|
let reportInfo = undefined;
|
|
66
66
|
let errorMessage = undefined;
|
|
67
67
|
try {
|
|
@@ -70,14 +70,16 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
70
70
|
metadata: {
|
|
71
71
|
reportId,
|
|
72
72
|
dashboardItemId: reportId,
|
|
73
|
-
orgId: client.
|
|
73
|
+
orgId: client.organizationId || '*',
|
|
74
74
|
clientId: client.publicKey,
|
|
75
75
|
task: useReportTask ? 'report' : 'item',
|
|
76
76
|
databaseType: client.databaseType,
|
|
77
|
-
filters: filters,
|
|
77
|
+
filters: filters.map((filter) => ({ ...filter, options: undefined })),
|
|
78
78
|
customFields,
|
|
79
79
|
additionalProcessing,
|
|
80
80
|
useNewNodeSql: true,
|
|
81
|
+
rowsOnly,
|
|
82
|
+
rowCountOnly,
|
|
81
83
|
},
|
|
82
84
|
};
|
|
83
85
|
const cloudBody = {
|
|
@@ -113,8 +115,11 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
113
115
|
// Ensure the report columns don't reference any columns that aren't present in the rows
|
|
114
116
|
const observedColumns = reportInfo?.rows[0]
|
|
115
117
|
? Object.keys(reportInfo.rows[0])
|
|
116
|
-
:
|
|
117
|
-
if (
|
|
118
|
+
: null;
|
|
119
|
+
if (observedColumns &&
|
|
120
|
+
reportInfo &&
|
|
121
|
+
!reportInfo.pivot &&
|
|
122
|
+
!reportInfo.pivotColumns &&
|
|
118
123
|
useReportTask &&
|
|
119
124
|
reportInfo.columns?.filter((col) => !observedColumns.includes(col.field))
|
|
120
125
|
?.length > 0) {
|
|
@@ -131,7 +136,7 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
131
136
|
if (error instanceof DataLoadError) {
|
|
132
137
|
if (error.data.useReportTask) {
|
|
133
138
|
internalLog('USING ITEM AS BACKUP');
|
|
134
|
-
const { report, error } = await fetchReport(reportId, client, false, filters, additionalProcessing, dateBucket, customFields);
|
|
139
|
+
const { report, error } = await fetchReport(reportId, client, false, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly);
|
|
135
140
|
reportInfo = report;
|
|
136
141
|
errorMessage = error;
|
|
137
142
|
}
|
|
@@ -158,12 +163,37 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
158
163
|
}
|
|
159
164
|
return { report: reportInfo || EMPTY_INTERNAL_REPORT, error: errorMessage };
|
|
160
165
|
}
|
|
166
|
+
export async function fetchReportRowCount(reportId, client, useReportTask = true, filters = [], additionalProcessing, customFields) {
|
|
167
|
+
// Remove extra fields on each filter so we don't confuse the backend.
|
|
168
|
+
const hostedBody = {
|
|
169
|
+
metadata: {
|
|
170
|
+
reportId,
|
|
171
|
+
dashboardItemId: reportId,
|
|
172
|
+
orgId: client.organizationId || '*',
|
|
173
|
+
clientId: client.publicKey,
|
|
174
|
+
task: useReportTask ? 'report' : 'item',
|
|
175
|
+
databaseType: client.databaseType,
|
|
176
|
+
filters: filters.map((filter) => ({ ...filter, options: undefined })),
|
|
177
|
+
customFields,
|
|
178
|
+
additionalProcessing,
|
|
179
|
+
useNewNodeSql: true,
|
|
180
|
+
rowCountOnly: true,
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
const cloudBody = {
|
|
184
|
+
id: reportId,
|
|
185
|
+
filters: filters,
|
|
186
|
+
useNewNodeSql: true,
|
|
187
|
+
};
|
|
188
|
+
const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data');
|
|
189
|
+
return resp.rowCount;
|
|
190
|
+
}
|
|
161
191
|
export async function saveReport({ report, dashboardItemId, client, }) {
|
|
162
|
-
const { publicKey,
|
|
192
|
+
const { publicKey, organizationId, databaseType } = client;
|
|
163
193
|
const cloudBody = {
|
|
164
194
|
...report,
|
|
165
195
|
dashboardItemId,
|
|
166
|
-
customerId:
|
|
196
|
+
customerId: organizationId || '*',
|
|
167
197
|
useNewNodeSql: true,
|
|
168
198
|
};
|
|
169
199
|
// @ts-ignore
|
|
@@ -181,14 +211,14 @@ export async function saveReport({ report, dashboardItemId, client, }) {
|
|
|
181
211
|
clientId: publicKey,
|
|
182
212
|
databaseType: databaseType,
|
|
183
213
|
...cloudBody,
|
|
184
|
-
orgId:
|
|
214
|
+
orgId: organizationId || '*',
|
|
185
215
|
useNewNodeSql: true,
|
|
186
216
|
},
|
|
187
217
|
};
|
|
188
|
-
const searchParams = new URLSearchParams(
|
|
218
|
+
const searchParams = new URLSearchParams(organizationId
|
|
189
219
|
? {
|
|
190
220
|
clientId: publicKey,
|
|
191
|
-
customerId:
|
|
221
|
+
customerId: organizationId,
|
|
192
222
|
}
|
|
193
223
|
: { clientId: publicKey }).toString();
|
|
194
224
|
return await getData(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
|
|
@@ -265,7 +295,7 @@ export function convertInternalReportToReport(report) {
|
|
|
265
295
|
return EMPTY_REPORT;
|
|
266
296
|
}
|
|
267
297
|
}
|
|
268
|
-
export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client, pivot, previousFormData, currentTable, previousRelevant, report, customFields) => {
|
|
298
|
+
export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client, pivot, previousFormData, currentTable, previousRelevant, report, customFields, skipUniqueValues, skipRowCount, processing) => {
|
|
269
299
|
let newRows = [];
|
|
270
300
|
let newColumns = [];
|
|
271
301
|
let newRowCount = 0;
|
|
@@ -276,7 +306,7 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
276
306
|
let table = '';
|
|
277
307
|
let error;
|
|
278
308
|
const relevantInfo = previousRelevant ?? { uniqueStrings: {}, dateRanges: {} };
|
|
279
|
-
|
|
309
|
+
let query = '';
|
|
280
310
|
try {
|
|
281
311
|
const tables = getTableNames(baseAst);
|
|
282
312
|
table = tables[0] ? tables[0] : '';
|
|
@@ -284,7 +314,7 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
284
314
|
if (!table || !tableInfo) {
|
|
285
315
|
throw new Error('No table found;');
|
|
286
316
|
}
|
|
287
|
-
const tableData = await fetchTableByAST({ ...baseAst, where: formData }, client, { page: DEFAULT_PAGINATION });
|
|
317
|
+
const tableData = await fetchTableByAST({ ...baseAst, where: formData }, client, processing ?? { page: DEFAULT_PAGINATION }, undefined, skipRowCount);
|
|
288
318
|
if (tableData.error) {
|
|
289
319
|
throw new Error(tableData.error);
|
|
290
320
|
}
|
|
@@ -308,17 +338,32 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
308
338
|
}),
|
|
309
339
|
columnInternal: tableData.columns,
|
|
310
340
|
};
|
|
311
|
-
const queryResult = await fetchSqlQuery({
|
|
312
|
-
...createBasicSelectASTFromColumns(tableInfo.columns, table),
|
|
313
|
-
where: formData,
|
|
314
|
-
}, client, formData);
|
|
315
|
-
if (queryResult.error) {
|
|
316
|
-
throw new Error(queryResult.error);
|
|
317
|
-
}
|
|
318
341
|
if (table !== currentTable || previousFormData !== formData) {
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
|
|
342
|
+
const queryResult = await fetchSqlQuery({
|
|
343
|
+
...createBasicSelectASTFromColumns(tableInfo.columns, table),
|
|
344
|
+
where: formData,
|
|
345
|
+
}, client, formData);
|
|
346
|
+
if (queryResult.error) {
|
|
347
|
+
throw new Error(queryResult.error);
|
|
348
|
+
}
|
|
349
|
+
query = queryResult.query;
|
|
350
|
+
if (!skipUniqueValues) {
|
|
351
|
+
const { uniqueStrings, dateRanges } = await getRelevantInfoFromQuery(tableInfo.columns, client, queryResult.query, customFields);
|
|
352
|
+
relevantInfo.uniqueStrings[table] = uniqueStrings ?? {};
|
|
353
|
+
relevantInfo.dateRanges = dateRanges ?? {};
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
const dateColumns = tableInfo.columns.filter((column) => {
|
|
357
|
+
return column.fieldType === 'date';
|
|
358
|
+
});
|
|
359
|
+
if (dateColumns.length > 0) {
|
|
360
|
+
const dateRanges = await getDateRangeByColumns(dateColumns, queryResult.query, client, customFields ?? []);
|
|
361
|
+
if (dateRanges === null) {
|
|
362
|
+
throw new Error("Couldn't fetch date ranges");
|
|
363
|
+
}
|
|
364
|
+
relevantInfo.dateRanges = dateRanges ?? {};
|
|
365
|
+
}
|
|
366
|
+
}
|
|
322
367
|
}
|
|
323
368
|
if (!!relevantInfo.error) {
|
|
324
369
|
throw new Error(relevantInfo.error);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QuillProviderClient } from '../models/Client';
|
|
2
2
|
import { Table } from '../models/Tables';
|
|
3
|
-
export declare const getCustomFieldInfo: (client:
|
|
4
|
-
export declare const getSchemaInfoWithCustomFields: (client:
|
|
3
|
+
export declare const getCustomFieldInfo: (client: QuillProviderClient, caller?: string) => Promise<any[]>;
|
|
4
|
+
export declare const getSchemaInfoWithCustomFields: (client: QuillProviderClient, caller?: string, tableIds?: string[]) => Promise<{
|
|
5
5
|
schemaData: Table[];
|
|
6
6
|
customFieldsByTable: any;
|
|
7
7
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAyDzC,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,oCAqF5B,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,mBAAmB,8BAEhB,MAAM,EAAE,KAClB,QAAQ;IAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,mBAAmB,EAAE,GAAG,CAAA;CAAE,CAoD3D,CAAC"}
|
package/dist/esm/utils/schema.js
CHANGED
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
import { convertColumnInfoToColumnInternal } from './columnProcessing';
|
|
2
|
-
const triggerSoftUpdate = async (
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
};
|
|
2
|
+
// const triggerSoftUpdate = async (
|
|
3
|
+
// client: QuillProviderClient,
|
|
4
|
+
// tables: Table[],
|
|
5
|
+
// ) => {
|
|
6
|
+
// const { queryEndpoint, queryHeaders, publicKey, withCredentials } = client;
|
|
7
|
+
// tables.forEach(async (table: Table) => {
|
|
8
|
+
// // if (table.isSelectStar) {
|
|
9
|
+
// fetch(`${queryEndpoint}?update-view`, {
|
|
10
|
+
// method: 'POST',
|
|
11
|
+
// headers: {
|
|
12
|
+
// ...queryHeaders,
|
|
13
|
+
// 'Content-Type': 'application/json',
|
|
14
|
+
// },
|
|
15
|
+
// credentials: withCredentials ? 'include' : 'omit',
|
|
16
|
+
// body: JSON.stringify({
|
|
17
|
+
// metadata: {
|
|
18
|
+
// preQueries: [table.viewQuery.replace(/;/, '')],
|
|
19
|
+
// clientId: publicKey,
|
|
20
|
+
// publicKey: publicKey,
|
|
21
|
+
// task: 'update-view',
|
|
22
|
+
// name: table.name,
|
|
23
|
+
// id: table._id,
|
|
24
|
+
// runQueryConfig: { getColumns: true },
|
|
25
|
+
// },
|
|
26
|
+
// }),
|
|
27
|
+
// });
|
|
28
|
+
// // }
|
|
29
|
+
// });
|
|
30
|
+
// };
|
|
28
31
|
const parseResponse = (results) => {
|
|
29
32
|
if (results.data?.data) {
|
|
30
33
|
if (results.data.data.queries &&
|
|
@@ -49,7 +52,7 @@ const parseResponse = (results) => {
|
|
|
49
52
|
export const getCustomFieldInfo = async (client, caller = 'se') => {
|
|
50
53
|
let customFieldsByTableUnique = [];
|
|
51
54
|
try {
|
|
52
|
-
const { queryEndpoint, queryHeaders, publicKey, databaseType,
|
|
55
|
+
const { queryEndpoint, queryHeaders, publicKey, databaseType, organizationId, } = client;
|
|
53
56
|
if ((databaseType && databaseType.toLowerCase() !== 'postgresql') ||
|
|
54
57
|
!['665610862cf7a3000be66453'].includes(publicKey)) {
|
|
55
58
|
throw new Error('CUSTOM FIELDS IS ONLY ALLOWED FOR POSTGRESQL DATABASES');
|
|
@@ -67,7 +70,7 @@ export const getCustomFieldInfo = async (client, caller = 'se') => {
|
|
|
67
70
|
publicKey,
|
|
68
71
|
task: 'custom-field-records',
|
|
69
72
|
databaseType: databaseType,
|
|
70
|
-
orgId:
|
|
73
|
+
orgId: organizationId,
|
|
71
74
|
},
|
|
72
75
|
}),
|
|
73
76
|
});
|
|
@@ -111,11 +114,11 @@ export const getCustomFieldInfo = async (client, caller = 'se') => {
|
|
|
111
114
|
}
|
|
112
115
|
return customFieldsByTableUnique;
|
|
113
116
|
};
|
|
114
|
-
export const getSchemaInfoWithCustomFields = async (client, caller = 'se') => {
|
|
115
|
-
const { queryEndpoint, queryHeaders, publicKey,
|
|
117
|
+
export const getSchemaInfoWithCustomFields = async (client, caller = 'se', tableIds) => {
|
|
118
|
+
const { queryEndpoint, queryHeaders, publicKey, organizationId, withCredentials, } = client;
|
|
116
119
|
let customFieldsByTableUnique = [];
|
|
117
120
|
let getCustomFields = true;
|
|
118
|
-
if (!
|
|
121
|
+
if (!organizationId || organizationId !== '*') {
|
|
119
122
|
try {
|
|
120
123
|
customFieldsByTableUnique = await getCustomFieldInfo(client, caller);
|
|
121
124
|
}
|
|
@@ -136,12 +139,13 @@ export const getSchemaInfoWithCustomFields = async (client, caller = 'se') => {
|
|
|
136
139
|
publicKey: publicKey,
|
|
137
140
|
task: 'schema',
|
|
138
141
|
removeCustomerField: true,
|
|
139
|
-
getCustomFields: !client.
|
|
140
|
-
client.
|
|
142
|
+
getCustomFields: !client.organizationId ||
|
|
143
|
+
client.organizationId === '*' ||
|
|
141
144
|
(customFieldsByTableUnique.length === 0 && !getCustomFields)
|
|
142
145
|
? false
|
|
143
146
|
: true,
|
|
144
|
-
orgId: client.
|
|
147
|
+
orgId: client.organizationId || '*',
|
|
148
|
+
tableIds,
|
|
145
149
|
customFieldsByTable: customFieldsByTableUnique,
|
|
146
150
|
gatherSchemaData: '665610862cf7a3000be66453' === publicKey ? true : false,
|
|
147
151
|
},
|
|
@@ -150,7 +154,7 @@ export const getSchemaInfoWithCustomFields = async (client, caller = 'se') => {
|
|
|
150
154
|
const result = await response.json();
|
|
151
155
|
const parsedData = parseResponse(result);
|
|
152
156
|
const converted = convertSchemaInfoToTable(parsedData);
|
|
153
|
-
triggerSoftUpdate(client, converted);
|
|
157
|
+
// triggerSoftUpdate(client, converted);
|
|
154
158
|
return {
|
|
155
159
|
schemaData: converted,
|
|
156
160
|
customFieldsByTable: customFieldsByTableUnique,
|