@quillsql/react 2.13.35 → 2.13.37

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.
Files changed (196) hide show
  1. package/dist/cjs/Chart.d.ts +0 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +17 -14
  4. package/dist/cjs/ChartBuilder.d.ts +1 -0
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +178 -96
  7. package/dist/cjs/Context.d.ts.map +1 -1
  8. package/dist/cjs/Context.js +6 -8
  9. package/dist/cjs/Dashboard.d.ts +2 -1
  10. package/dist/cjs/Dashboard.d.ts.map +1 -1
  11. package/dist/cjs/Dashboard.js +18 -8
  12. package/dist/cjs/ReportBuilder.d.ts +2 -0
  13. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  14. package/dist/cjs/ReportBuilder.js +398 -271
  15. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  16. package/dist/cjs/SQLEditor.js +33 -11
  17. package/dist/cjs/Table.d.ts.map +1 -1
  18. package/dist/cjs/Table.js +17 -1
  19. package/dist/cjs/components/Chart/InternalChart.d.ts +0 -1
  20. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  21. package/dist/cjs/components/Chart/InternalChart.js +6 -7
  22. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  23. package/dist/cjs/components/Dashboard/DataLoader.js +75 -30
  24. package/dist/cjs/components/Dashboard/MetricComponent.d.ts +1 -1
  25. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  26. package/dist/cjs/components/Dashboard/MetricComponent.js +98 -106
  27. package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +1 -1
  28. package/dist/cjs/components/QuillMultiSelectSectionList.js +21 -16
  29. package/dist/cjs/components/QuillMultiSelectWithCombo.js +18 -8
  30. package/dist/cjs/components/QuillSelectWithCombo.js +17 -7
  31. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +1 -1
  32. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  33. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +2 -2
  34. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +16 -4
  35. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  36. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +9 -18
  37. package/dist/cjs/components/UiComponents.d.ts +2 -1
  38. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  39. package/dist/cjs/components/UiComponents.js +44 -28
  40. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  41. package/dist/cjs/hooks/useAskQuill.js +28 -4
  42. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  43. package/dist/cjs/hooks/useQuill.js +9 -1
  44. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  45. package/dist/cjs/hooks/useVirtualTables.js +11 -35
  46. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  47. package/dist/cjs/internals/ReportBuilder/PivotForm.js +14 -2
  48. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +12 -11
  49. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  50. package/dist/cjs/internals/ReportBuilder/PivotModal.js +63 -18
  51. package/dist/cjs/models/Client.d.ts +4 -5
  52. package/dist/cjs/models/Client.d.ts.map +1 -1
  53. package/dist/cjs/models/Pivot.d.ts +10 -0
  54. package/dist/cjs/models/Pivot.d.ts.map +1 -1
  55. package/dist/cjs/models/Report.d.ts +13 -1
  56. package/dist/cjs/models/Report.d.ts.map +1 -1
  57. package/dist/cjs/utils/astFilterProcessing.d.ts +1 -1
  58. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
  59. package/dist/cjs/utils/astFilterProcessing.js +799 -64
  60. package/dist/cjs/utils/astProcessing.d.ts +4 -1
  61. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  62. package/dist/cjs/utils/astProcessing.js +2 -2
  63. package/dist/cjs/utils/client.d.ts.map +1 -1
  64. package/dist/cjs/utils/client.js +6 -3
  65. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  66. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  67. package/dist/cjs/utils/columnProcessing.js +1 -0
  68. package/dist/cjs/utils/dashboard.d.ts +2 -1
  69. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  70. package/dist/cjs/utils/dashboard.js +38 -10
  71. package/dist/cjs/utils/filterProcessing.d.ts +1 -1
  72. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  73. package/dist/cjs/utils/merge.d.ts +16 -0
  74. package/dist/cjs/utils/merge.d.ts.map +1 -1
  75. package/dist/cjs/utils/merge.js +210 -0
  76. package/dist/cjs/utils/paginationProcessing.d.ts +1 -1
  77. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -1
  78. package/dist/cjs/utils/paginationProcessing.js +3 -2
  79. package/dist/cjs/utils/pivotConstructor.d.ts +19 -9
  80. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  81. package/dist/cjs/utils/pivotConstructor.js +90 -34
  82. package/dist/cjs/utils/queryConstructor.d.ts +8 -1
  83. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  84. package/dist/cjs/utils/queryConstructor.js +276 -310
  85. package/dist/cjs/utils/report.d.ts +25 -12
  86. package/dist/cjs/utils/report.d.ts.map +1 -1
  87. package/dist/cjs/utils/report.js +13 -7
  88. package/dist/cjs/utils/schema.d.ts +1 -1
  89. package/dist/cjs/utils/schema.d.ts.map +1 -1
  90. package/dist/cjs/utils/schema.js +3 -32
  91. package/dist/cjs/utils/tableProcessing.d.ts +43 -13
  92. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  93. package/dist/cjs/utils/tableProcessing.js +140 -75
  94. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  95. package/dist/cjs/utils/textProcessing.js +10 -1
  96. package/dist/cjs/utils/valueFormatter.d.ts +2 -1
  97. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  98. package/dist/cjs/utils/valueFormatter.js +18 -14
  99. package/dist/esm/Chart.d.ts +0 -1
  100. package/dist/esm/Chart.d.ts.map +1 -1
  101. package/dist/esm/Chart.js +0 -6
  102. package/dist/esm/ChartBuilder.d.ts +1 -0
  103. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  104. package/dist/esm/ChartBuilder.js +179 -97
  105. package/dist/esm/Context.d.ts.map +1 -1
  106. package/dist/esm/Context.js +7 -9
  107. package/dist/esm/Dashboard.d.ts +2 -1
  108. package/dist/esm/Dashboard.d.ts.map +1 -1
  109. package/dist/esm/Dashboard.js +1 -1
  110. package/dist/esm/ReportBuilder.d.ts +2 -0
  111. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  112. package/dist/esm/ReportBuilder.js +399 -272
  113. package/dist/esm/SQLEditor.d.ts.map +1 -1
  114. package/dist/esm/SQLEditor.js +33 -11
  115. package/dist/esm/Table.d.ts.map +1 -1
  116. package/dist/esm/Table.js +17 -1
  117. package/dist/esm/components/Chart/InternalChart.d.ts +0 -1
  118. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  119. package/dist/esm/components/Chart/InternalChart.js +6 -6
  120. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  121. package/dist/esm/components/Dashboard/DataLoader.js +75 -30
  122. package/dist/esm/components/Dashboard/MetricComponent.d.ts +1 -1
  123. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  124. package/dist/esm/components/Dashboard/MetricComponent.js +98 -106
  125. package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +1 -1
  126. package/dist/esm/components/QuillMultiSelectSectionList.js +5 -12
  127. package/dist/esm/components/QuillMultiSelectWithCombo.js +1 -1
  128. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +1 -1
  129. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  130. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -2
  131. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +16 -4
  132. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  133. package/dist/esm/components/ReportBuilder/AddSortPopover.js +9 -18
  134. package/dist/esm/components/UiComponents.d.ts +2 -1
  135. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  136. package/dist/esm/components/UiComponents.js +27 -21
  137. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  138. package/dist/esm/hooks/useAskQuill.js +28 -4
  139. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  140. package/dist/esm/hooks/useQuill.js +10 -2
  141. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  142. package/dist/esm/hooks/useVirtualTables.js +12 -36
  143. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  144. package/dist/esm/internals/ReportBuilder/PivotForm.js +14 -2
  145. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +12 -11
  146. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  147. package/dist/esm/internals/ReportBuilder/PivotModal.js +63 -18
  148. package/dist/esm/models/Client.d.ts +4 -5
  149. package/dist/esm/models/Client.d.ts.map +1 -1
  150. package/dist/esm/models/Pivot.d.ts +10 -0
  151. package/dist/esm/models/Pivot.d.ts.map +1 -1
  152. package/dist/esm/models/Report.d.ts +13 -1
  153. package/dist/esm/models/Report.d.ts.map +1 -1
  154. package/dist/esm/utils/astFilterProcessing.d.ts +1 -1
  155. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
  156. package/dist/esm/utils/astFilterProcessing.js +799 -64
  157. package/dist/esm/utils/astProcessing.d.ts +4 -1
  158. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  159. package/dist/esm/utils/astProcessing.js +2 -2
  160. package/dist/esm/utils/client.d.ts.map +1 -1
  161. package/dist/esm/utils/client.js +6 -3
  162. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  163. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  164. package/dist/esm/utils/columnProcessing.js +1 -1
  165. package/dist/esm/utils/dashboard.d.ts +2 -1
  166. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  167. package/dist/esm/utils/dashboard.js +39 -11
  168. package/dist/esm/utils/filterProcessing.d.ts +1 -1
  169. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  170. package/dist/esm/utils/merge.d.ts +16 -0
  171. package/dist/esm/utils/merge.d.ts.map +1 -1
  172. package/dist/esm/utils/merge.js +207 -0
  173. package/dist/esm/utils/paginationProcessing.d.ts +1 -1
  174. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -1
  175. package/dist/esm/utils/paginationProcessing.js +3 -2
  176. package/dist/esm/utils/pivotConstructor.d.ts +19 -9
  177. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  178. package/dist/esm/utils/pivotConstructor.js +91 -35
  179. package/dist/esm/utils/queryConstructor.d.ts +8 -1
  180. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  181. package/dist/esm/utils/queryConstructor.js +274 -314
  182. package/dist/esm/utils/report.d.ts +25 -12
  183. package/dist/esm/utils/report.d.ts.map +1 -1
  184. package/dist/esm/utils/report.js +13 -7
  185. package/dist/esm/utils/schema.d.ts +1 -1
  186. package/dist/esm/utils/schema.d.ts.map +1 -1
  187. package/dist/esm/utils/schema.js +1 -30
  188. package/dist/esm/utils/tableProcessing.d.ts +43 -13
  189. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  190. package/dist/esm/utils/tableProcessing.js +140 -75
  191. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  192. package/dist/esm/utils/textProcessing.js +10 -1
  193. package/dist/esm/utils/valueFormatter.d.ts +2 -1
  194. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  195. package/dist/esm/utils/valueFormatter.js +18 -14
  196. package/package.json +1 -1
@@ -54,7 +54,10 @@ export declare const createBasicSelectASTFromColumns: (columns: ColumnInternal[]
54
54
  orderby: null;
55
55
  limit: null;
56
56
  };
57
- export declare const fetchAndProcessASTFromPrompt: (aiPrompt: string, schema: Table[], client: QuillProviderClient, prevPivot?: Pivot, currentQuery?: string, prevTable?: string, dashboardName?: string) => Promise<{
57
+ export declare const fetchAndProcessASTFromPrompt: (aiPrompt: string, schema: Table[], client: QuillProviderClient, prevPivot?: Pivot, currentQuery?: string, prevTable?: string, dashboardName?: string, tenants?: {
58
+ tenantField: string;
59
+ tenantIds: (string | number)[];
60
+ }[] | (string | number)[]) => Promise<{
58
61
  ast: any;
59
62
  pivot: Pivot | null | undefined;
60
63
  whereAST: any;
@@ -1 +1 @@
1
- {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"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"}
@@ -327,7 +327,7 @@ export const createBasicSelectASTFromColumns = (columns, tableName) => {
327
327
  };
328
328
  };
329
329
  //TODO: Move all fetches to a /sdk route
330
- export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, prevPivot, currentQuery, prevTable, dashboardName) => {
330
+ export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, prevPivot, currentQuery, prevTable, dashboardName, tenants) => {
331
331
  let res, data, ast, newAst, pivot;
332
332
  let numRetries = 0;
333
333
  let whereAST;
@@ -392,7 +392,7 @@ export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, pre
392
392
  if (!tableInfo) {
393
393
  throw new Error('Table info not found');
394
394
  }
395
- const uniqueValues = await getUniqueStringValues(tableInfo.columns, processedName, client, undefined, undefined, undefined, undefined, dashboardName);
395
+ const uniqueValues = await getUniqueStringValues(tableInfo.columns, processedName, client, tenants, undefined, undefined, undefined, undefined, dashboardName);
396
396
  newAst = convertUnaryToBinary(newAst);
397
397
  newAst = removeNonSelectedTableReferences(newAst, processedName, tableInfo.columns.map((col) => col.field), uniqueValues);
398
398
  if (pivot) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,MAM1B,CAAC;AAEF,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,eAAe,UAAQ,EACvB,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CAAC,MAAM,GAAG;IAAE,cAAc,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAgDtD;AAED,wBAAsB,kBAAkB,CAAC,EACvC,aAAa,EACb,YAAY,EACZ,eAAe,EACf,MAAM,EACN,QAAQ,GACT,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,WAAW,GAAG;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;;;GAyCA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,MAK1B,CAAC;AAEF,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,eAAe,UAAQ,EACvB,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CAAC,MAAM,GAAG;IAAE,cAAc,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAoDtD;AAED,wBAAsB,kBAAkB,CAAC,EACvC,aAAa,EACb,YAAY,EACZ,eAAe,EACf,MAAM,EACN,QAAQ,GACT,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,WAAW,GAAG;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;;;GAyCA"}
@@ -2,7 +2,6 @@ export const EMPTY_CLIENT = {
2
2
  name: '',
3
3
  _id: '',
4
4
  databaseType: '',
5
- adminCustomerId: '',
6
5
  domainName: '',
7
6
  };
8
7
  export async function fetchClient(publicKey, queryEndpoint, withCredentials = false, queryHeaders) {
@@ -26,7 +25,10 @@ export async function fetchClient(publicKey, queryEndpoint, withCredentials = fa
26
25
  });
27
26
  const json = await response.json();
28
27
  result = json.data?.data?.client || json.data?.client;
29
- clientTenantIds = await Promise.all(result.allTenantTypes?.map(async (tenant) => {
28
+ if (!result) {
29
+ throw new Error('No client found');
30
+ }
31
+ clientTenantIds = await Promise.all(result?.allTenantTypes?.map(async (tenant) => {
30
32
  return await getClientTenantIds({
31
33
  queryEndpoint,
32
34
  queryHeaders,
@@ -38,10 +40,11 @@ export async function fetchClient(publicKey, queryEndpoint, withCredentials = fa
38
40
  }
39
41
  catch (error) {
40
42
  console.error('ERROR:', error);
43
+ throw error;
41
44
  }
42
45
  return {
43
46
  ...result,
44
- allTenantTypes: result.allTenantTypes?.map((tenant) => ({
47
+ allTenantTypes: result?.allTenantTypes?.map((tenant) => ({
45
48
  ...tenant,
46
49
  tenantIds: clientTenantIds?.find((clientTenant) => clientTenant.id === tenant.id)
47
50
  ?.tenantIds || [],
@@ -13,6 +13,7 @@ interface ConvertPostgresColumnParamsWithField {
13
13
  type ConvertPostgresColumnParams = ConvertPostgresColumnParamsWithColumnInternal | ConvertPostgresColumnParamsWithField;
14
14
  export declare function convertPostgresColumn(field: ConvertPostgresColumnParams): ColumnInternal;
15
15
  export declare function convertColumnInfoToColumnInternal(columnInfo: ColumnInfo): ColumnInternal;
16
+ export declare function fieldTypeToDataTypeID(fieldType: string): number;
16
17
  export declare function convertFieldTypeToJSType(fieldType: string): string;
17
18
  export declare function convertFormatToJsType(column: Column): string;
18
19
  export declare function processColumnName(columnName: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,UAAU,6CAA6C;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,oCAAoC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,2BAA2B,GAC5B,6CAA6C,GAC7C,oCAAoC,CAAC;AAEzC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,2BAA2B,GACjC,cAAc,CAmJhB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AAsED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIvD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAavD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,eAAO,MAAM,cAAc,WACjB,mBAAmB,oBACT,eAAe,EAAE,UAqDpC,CAAC"}
1
+ {"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,UAAU,6CAA6C;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,oCAAoC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,2BAA2B,GAC5B,6CAA6C,GAC7C,oCAAoC,CAAC;AAEzC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,2BAA2B,GACjC,cAAc,CAmJhB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AA0BD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA0C/D;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwDlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIvD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CASrD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAavD;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,eAAO,MAAM,cAAc,WACjB,mBAAmB,oBACT,eAAe,EAAE,UAqDpC,CAAC"}
@@ -179,7 +179,7 @@ function fieldTypeToFormat(fieldType) {
179
179
  return 'string';
180
180
  }
181
181
  }
182
- function fieldTypeToDataTypeID(fieldType) {
182
+ export function fieldTypeToDataTypeID(fieldType) {
183
183
  switch (fieldType) {
184
184
  case 'bool':
185
185
  return 16;
@@ -1,5 +1,6 @@
1
1
  import { QuillReportInternal } from '../models/Report';
2
2
  import { QuillProviderClient } from '../models/Client';
3
+ import { AdditionalProcessing } from './tableProcessing';
3
4
  /**
4
5
  * Returns a cleaned version of the dashboard item we store in state. We clean
5
6
  * the dashboard item so that we aren't exposing unnecessary details to the
@@ -9,7 +10,7 @@ import { QuillProviderClient } from '../models/Client';
9
10
  */
10
11
  export declare function cleanDashboardItem(item: {
11
12
  [key: string]: any;
12
- } | undefined, dashboardFilters: any, client: QuillProviderClient, dateBucket?: string): Promise<QuillReportInternal>;
13
+ } | undefined, dashboardFilters: any, client: QuillProviderClient, dateBucket?: string, additionalProcessing?: AdditionalProcessing): Promise<QuillReportInternal>;
13
14
  export declare function getDashboard(dashboardName: string, client: QuillProviderClient, tenants?: {
14
15
  tenantField: string;
15
16
  tenantIds: (string | number)[];
@@ -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;AAWvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAuBvD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EACxC,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAiE9B;AA4HD,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,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,CA6Bd"}
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;AA2BzD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EACxC,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,GAC1C,OAAO,CAAC,mBAAmB,CAAC,CAyE9B;AAuID,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,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,CA6Bd"}
@@ -1,8 +1,9 @@
1
1
  import { generatePivotTable, generatePivotTableYAxis, } from '../internals/ReportBuilder/PivotModal';
2
- import { snakeAndCamelCaseToTitleCase } from './textProcessing';
2
+ import { snakeAndCamelCaseToTitleCase, snakeCaseToTitleCase, } from './textProcessing';
3
3
  import { getData } from './dataFetcher';
4
4
  import { getDateBucketFromRange } from './dates';
5
5
  import { generatePivotWithSQL } from './pivotConstructor';
6
+ import { convertFieldTypeToJSType, fieldTypeToDataTypeID, processColumnName, } from './columnProcessing';
6
7
  const defaultDashboardItem = {
7
8
  id: '',
8
9
  name: '',
@@ -29,7 +30,7 @@ const defaultDashboardItem = {
29
30
  * interface to build amazing dashboards on top of.
30
31
  * @param item
31
32
  */
32
- export async function cleanDashboardItem(item, dashboardFilters, client, dateBucket) {
33
+ export async function cleanDashboardItem(item, dashboardFilters, client, dateBucket, additionalProcessing) {
33
34
  if (!item)
34
35
  return defaultDashboardItem;
35
36
  if (!item.rows) {
@@ -45,7 +46,7 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
45
46
  let pivotTable;
46
47
  let pivotError;
47
48
  try {
48
- pivotTable = await getPivotTable(item, dashboardFilters, client, dateBucket, item.dashboardName);
49
+ pivotTable = await getPivotTable(item, dashboardFilters, client, dateBucket, additionalProcessing, item.dashboardName);
49
50
  }
50
51
  catch (e) {
51
52
  pivotTable = undefined;
@@ -70,7 +71,11 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
70
71
  columnInternal: processedColumns,
71
72
  chartType: item.chartType,
72
73
  dateField: item.dateField,
73
- pivot: pivotError ? undefined : item.pivot,
74
+ pivot: pivotError
75
+ ? undefined
76
+ : item.pivot
77
+ ? { ...item.pivot, columnValues: item.distinctStrings }
78
+ : undefined,
74
79
  yAxisFields: pivotTable
75
80
  ? extractPivotedYAxis(pivotTable, item)
76
81
  : item.yAxisFields,
@@ -82,10 +87,13 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
82
87
  filterMap: item.filterMap,
83
88
  flags: item.flags,
84
89
  rowCount: item.rowCount ? parseInt(item.rowCount) : item.rows.length,
90
+ pivotRowCount: pivotTable ? pivotTable.rowCount : undefined,
85
91
  template: item.template,
86
92
  sort: item.sort,
87
93
  itemQuery: item.itemQuery,
88
94
  queryString: item.queryString,
95
+ pivotQuery: pivotTable?.pivotQuery,
96
+ comparisonPivotQuery: pivotTable?.comparisonPivotQuery,
89
97
  referencedTables: item?.referencedTables || [],
90
98
  referencedColumns: item?.referencedColumns || {},
91
99
  error: item.error ?? pivotError,
@@ -94,7 +102,7 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
94
102
  /**
95
103
  * Extract and transform the data from itemInfo.
96
104
  */
97
- async function getPivotTable(report, dashboardFilters, client, dateBucketInitial, dashboardName, tenants) {
105
+ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial, additionalProcessing, dashboardName, tenants) {
98
106
  if (!report)
99
107
  return undefined;
100
108
  const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.operator === 'BETWEEN');
@@ -110,20 +118,27 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
110
118
  if (pivot.rowField) {
111
119
  columns.push({
112
120
  field: pivot.rowField,
113
- label: pivot.rowField.charAt(0).toUpperCase() + pivot.rowField.slice(1),
114
- format: pivot.rowFieldType,
121
+ label: snakeCaseToTitleCase(processColumnName(pivot.rowField)),
122
+ format: pivot.rowFieldType || 'string',
123
+ jsType: convertFieldTypeToJSType(pivot.rowFieldType || 'string'),
124
+ fieldType: pivot.rowFieldType || 'string',
125
+ dataTypeID: fieldTypeToDataTypeID(pivot.rowFieldType || 'string'),
115
126
  });
116
127
  }
117
128
  if (pivot.valueField) {
118
129
  columns.push({
119
130
  field: pivot.valueField,
120
- label: pivot.valueField.charAt(0).toUpperCase() +
121
- pivot.valueField.slice(1),
122
- format: pivot.valueFieldType,
131
+ label: snakeCaseToTitleCase(processColumnName(pivot.valueField)),
132
+ format: pivot.valueFieldType || 'string',
133
+ jsType: convertFieldTypeToJSType(pivot.valueFieldType || 'string'),
134
+ fieldType: pivot.valueFieldType || 'string',
135
+ dataTypeID: fieldTypeToDataTypeID(pivot.valueFieldType || 'string'),
123
136
  });
124
137
  }
125
138
  return {
126
139
  rows: [],
140
+ rowCount: 0,
141
+ pivotQuery: '',
127
142
  columns: columns,
128
143
  };
129
144
  }
@@ -142,7 +157,17 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
142
157
  if (!dateBucket && filterDateRange) {
143
158
  dateBucket = getDateBucketFromRange(filterDateRange);
144
159
  }
145
- const pivotTable = await generatePivotWithSQL(pivot, report, client, dateBucket, dateFilter, report.distinctStrings, undefined, dashboardName, tenants);
160
+ const pivotTable = await generatePivotWithSQL({
161
+ pivot,
162
+ report,
163
+ client,
164
+ dateBucket,
165
+ dateFilter,
166
+ distinctStrings: report.distinctStrings,
167
+ dashboardName,
168
+ tenants,
169
+ additionalProcessing,
170
+ });
146
171
  return pivotTable;
147
172
  }
148
173
  catch (e) {
@@ -155,8 +180,11 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
155
180
  pivot,
156
181
  report,
157
182
  client,
183
+ uniqueValues: report.distinctStrings,
158
184
  dashboardName,
159
185
  tenants,
186
+ dateFilter,
187
+ additionalProcessing,
160
188
  })
161
189
  : undefined;
162
190
  }
@@ -3,7 +3,7 @@ import { QuillReport } from '../models/Report';
3
3
  import { FilterTreeNode } from './astFilterProcessing';
4
4
  export declare function findAndProcessDateFilter(filters: any[]): any;
5
5
  export declare function processFilterFromBackend(filter: any): any;
6
- export declare function updateFilter(filter: any, value: any, comparison: any, dashboardName: string): any;
6
+ export declare function updateFilter(filter: any, value: any | undefined, comparison: any | undefined, dashboardName: string): any;
7
7
  export declare const getType: (t: string) => FieldType;
8
8
  /**
9
9
  * Returns a sentence to describe a Filter
@@ -1 +1 @@
1
- {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,mBAAmB,EACnB,MAAM,EAEN,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,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,EAAE,GAAU,EACjB,UAAU,EAAE,GAAU,EACtB,aAAa,EAAE,MAAM,OAmGtB;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,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,CA4B/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,CA+CP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE;IACpD,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAChD,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAqDpD,CAAC"}
1
+ {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,mBAAmB,EACnB,MAAM,EAEN,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,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,EAAE,GAAG,YAAO,EACjB,UAAU,EAAE,GAAG,YAAO,EACtB,aAAa,EAAE,MAAM,OAmGtB;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,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,CA4B/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,CA+CP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE;IACpD,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAChD,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAqDpD,CAAC"}
@@ -1,2 +1,18 @@
1
+ import { Pivot } from '../models/Pivot';
1
2
  export declare function mergeComparisonRange(resp: any): any;
3
+ export declare function dateAdder(date: Date | string, interval: string): Date;
4
+ export declare function mergeComparisonPivotColumns({ pivot, rows, compRows, }: {
5
+ pivot: Pivot;
6
+ rows: any[];
7
+ compRows: any[];
8
+ }): any[];
9
+ export declare function mergeComparisonPivotRows({ pivot, rows, compRows, databaseType, dateBucket, comparisonInterval, columnFieldValues, }: {
10
+ pivot: Pivot;
11
+ rows: any[];
12
+ compRows: any[];
13
+ databaseType: string;
14
+ dateBucket?: string;
15
+ comparisonInterval?: string;
16
+ columnFieldValues?: string[];
17
+ }): any[];
2
18
  //# sourceMappingURL=merge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/utils/merge.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAgBnD"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/utils/merge.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAgBnD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAsBrE;AAyBD,wBAAgB,2BAA2B,CAAC,EAC1C,KAAK,EACL,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB,GAAG,GAAG,EAAE,CAMR;AAED,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,iBAAiB,GAClB,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,GAAG,GAAG,EAAE,CAyBR"}
@@ -1,3 +1,6 @@
1
+ import { add, startOfDay, startOfMonth, startOfWeek, startOfYear, } from 'date-fns';
2
+ import { isStringType } from './columnProcessing';
3
+ import { utcToZonedTime } from 'date-fns-tz';
1
4
  export function mergeComparisonRange(resp) {
2
5
  if (resp.chartType === 'table')
3
6
  return resp;
@@ -17,3 +20,207 @@ export function mergeComparisonRange(resp) {
17
20
  });
18
21
  return { ...resp, rows: newRows };
19
22
  }
23
+ export function dateAdder(date, interval) {
24
+ const match = interval.match(/^(\d+)\s+(day|month|year)$/);
25
+ if (!match) {
26
+ throw new Error(`Invalid interval format: ${interval}`);
27
+ }
28
+ const [, valueStr, unit] = match;
29
+ if (!valueStr || !unit) {
30
+ throw new Error('Could not parse interval');
31
+ }
32
+ const value = parseInt(valueStr, 10);
33
+ const parsedDate = typeof date === 'string' ? new Date(date) : date;
34
+ switch (unit) {
35
+ case 'day':
36
+ return add(parsedDate, { days: value });
37
+ case 'month':
38
+ return add(parsedDate, { months: value });
39
+ case 'year':
40
+ return add(parsedDate, { years: value });
41
+ default:
42
+ throw new Error(`Unsupported interval unit: ${unit}`);
43
+ }
44
+ }
45
+ function dateTrunc(date, granularity = 'day', databaseType) {
46
+ const weekStartsOn = databaseType === 'mssql' ? 0 : 1;
47
+ const timeZone = 'UTC'; // standardize
48
+ const zonedDate = utcToZonedTime(date, timeZone);
49
+ switch (granularity.toLowerCase()) {
50
+ case 'week':
51
+ return startOfWeek(zonedDate, { weekStartsOn });
52
+ case 'month':
53
+ return startOfMonth(zonedDate);
54
+ case 'day':
55
+ return startOfDay(zonedDate);
56
+ case 'year':
57
+ return startOfYear(zonedDate);
58
+ default:
59
+ throw new Error(`Unsupported granularity: ${granularity}`);
60
+ }
61
+ }
62
+ export function mergeComparisonPivotColumns({ pivot, rows, compRows, }) {
63
+ if (!compRows || !compRows.length)
64
+ return rows;
65
+ const mappedCompRows = compRows
66
+ .filter((compRow) => compRow.name !== pivot.rowField)
67
+ .map((compRow) => ({ ...compRow, name: `comparison_${compRow.name}` }));
68
+ return rows.concat(mappedCompRows);
69
+ }
70
+ export function mergeComparisonPivotRows({ pivot, rows, compRows, databaseType, dateBucket, comparisonInterval, columnFieldValues, }) {
71
+ if (!compRows || !compRows.length)
72
+ return rows;
73
+ if (pivot.columnField && columnFieldValues && columnFieldValues.length > 0) {
74
+ return merge2DPivotRows(pivot, rows, compRows, columnFieldValues, databaseType, dateBucket, comparisonInterval);
75
+ }
76
+ if (pivot.rowField) {
77
+ return merge1DPivotRows(pivot, rows, compRows, databaseType, dateBucket, comparisonInterval);
78
+ }
79
+ return mergeAggregatedRows(pivot, rows, compRows);
80
+ }
81
+ function merge2DPivotRows(pivot, rows, compRows, columnFieldValues, databaseType, dateBucket, comparisonInterval) {
82
+ if (!pivot || !pivot.columnField) {
83
+ return [];
84
+ }
85
+ if (isStringType(pivot.rowFieldType || '') || !pivot.rowFieldType) {
86
+ return merge2DStringPivotRows(pivot, rows, compRows, columnFieldValues);
87
+ }
88
+ return merge2DDatePivotRows(pivot, rows, compRows, columnFieldValues, databaseType, dateBucket, comparisonInterval);
89
+ }
90
+ function merge2DStringPivotRows(pivot, rows, compRows, columnFieldValues) {
91
+ if (!pivot.rowField || !pivot.valueField) {
92
+ return rows;
93
+ }
94
+ return rows.map((row) => {
95
+ const matchingCompRow = compRows.find((compRow) => compRow[pivot.rowField] === row[pivot.rowField]);
96
+ const comparisonFields = columnFieldValues.reduce((acc, fieldValue) => {
97
+ acc[`comparison_${fieldValue}`] = matchingCompRow
98
+ ? matchingCompRow[fieldValue] || null
99
+ : null;
100
+ return acc;
101
+ }, {});
102
+ return {
103
+ ...row,
104
+ ...comparisonFields,
105
+ };
106
+ });
107
+ }
108
+ function merge2DDatePivotRows(pivot, rows, compRows, columnFieldValues, databaseType, dateBucket, comparisonInterval) {
109
+ if (!comparisonInterval || !pivot.rowField) {
110
+ return rows;
111
+ }
112
+ return rows.map((row) => {
113
+ // Truncate the row date to match the SQL behavior
114
+ const rowDate = typeof row[pivot.rowField] === 'string'
115
+ ? new Date(row[pivot.rowField])
116
+ : row[pivot.rowField];
117
+ const truncatedRowDate = dateTrunc(rowDate, dateBucket, databaseType);
118
+ // Find a matching compRow where adding the interval matches the truncatedRowDate
119
+ const matchingCompRow = compRows.find((compRow) => {
120
+ const comparisonDateWithInterval = dateAdder(compRow[pivot.rowField], comparisonInterval);
121
+ const truncatedCompRowDate = dateTrunc(comparisonDateWithInterval, dateBucket, databaseType);
122
+ return (truncatedRowDate.toISOString() === truncatedCompRowDate.toISOString());
123
+ });
124
+ // Create comparison fields for each column value
125
+ const comparisonFields = columnFieldValues.reduce((acc, fieldValue) => {
126
+ acc[`comparison_${fieldValue}`] = matchingCompRow
127
+ ? matchingCompRow[fieldValue] || null
128
+ : null;
129
+ return acc;
130
+ }, {});
131
+ return {
132
+ ...row,
133
+ ...comparisonFields,
134
+ };
135
+ });
136
+ }
137
+ function merge1DPivotRows(pivot, rows, compRows, databaseType, dateBucket, comparisonInterval) {
138
+ if (isStringType(pivot.rowFieldType || '') || !pivot.rowFieldType) {
139
+ return merge1DStringPivotRows(pivot, rows, compRows);
140
+ }
141
+ return merge1DDatePivotRows(pivot, rows, compRows, databaseType, dateBucket, comparisonInterval);
142
+ }
143
+ function merge1DStringPivotRows(pivot, rows, compRows) {
144
+ if (!pivot.rowField || !pivot.valueField) {
145
+ return rows;
146
+ }
147
+ return rows.map((row) => {
148
+ const matchingCompRow = compRows.find((compRow) => compRow[pivot.rowField] === row[pivot.rowField]);
149
+ let aggregationSuffix = '';
150
+ // match 'percentage' casing
151
+ if (matchingCompRow && pivot.aggregationType === 'percentage') {
152
+ if (matchingCompRow[`${pivot.valueField}_Percentage`]) {
153
+ aggregationSuffix = '_Percentage';
154
+ }
155
+ else if (matchingCompRow[`${pivot.valueField}_PERCENTAGE`]) {
156
+ aggregationSuffix = '_PERCENTAGE';
157
+ }
158
+ else {
159
+ aggregationSuffix = '_percentage';
160
+ }
161
+ }
162
+ // Return the merged row with the value from compRows, or null if no match is found
163
+ return {
164
+ ...row,
165
+ [`comparison_${pivot.valueField}${aggregationSuffix}`]: matchingCompRow
166
+ ? matchingCompRow[`${pivot.valueField}${aggregationSuffix}`]
167
+ : null,
168
+ };
169
+ });
170
+ }
171
+ function merge1DDatePivotRows(pivot, rows, compRows, databaseType, dateBucket, comparisonInterval) {
172
+ if (!comparisonInterval || !pivot.rowField) {
173
+ return rows;
174
+ }
175
+ return rows.map((row) => {
176
+ // Truncate the row date to match the SQL behavior
177
+ const rowDate = typeof row[pivot.rowField] === 'string'
178
+ ? new Date(row[pivot.rowField])
179
+ : row[pivot.rowField];
180
+ const truncatedRowDate = dateTrunc(rowDate, dateBucket, databaseType);
181
+ // Find a matching compRow where adding the interval matches the truncatedRowDate
182
+ const matchingCompRow = compRows.find((compRow) => {
183
+ const comparisonDateWithInterval = dateAdder(compRow[`${pivot.rowField}`], comparisonInterval);
184
+ const truncatedCompRowDate = dateTrunc(comparisonDateWithInterval, dateBucket, databaseType);
185
+ return (truncatedRowDate.toISOString() === truncatedCompRowDate.toISOString());
186
+ });
187
+ let aggregationSuffix = '';
188
+ // match 'percentage' casing
189
+ if (matchingCompRow && pivot.aggregationType === 'percentage') {
190
+ if (matchingCompRow[`${pivot.valueField}_Percentage`]) {
191
+ aggregationSuffix = '_Percentage';
192
+ }
193
+ else if (matchingCompRow[`${pivot.valueField}_PERCENTAGE`]) {
194
+ aggregationSuffix = '_PERCENTAGE';
195
+ }
196
+ else {
197
+ aggregationSuffix = '_percentage';
198
+ }
199
+ }
200
+ return {
201
+ ...row,
202
+ [`comparison_${pivot.valueField}${aggregationSuffix}`]: matchingCompRow?.[`${pivot.valueField}${aggregationSuffix}`] || null,
203
+ };
204
+ });
205
+ }
206
+ function mergeAggregatedRows(pivot, rows, compRows) {
207
+ return rows.map((row, i) => {
208
+ let aggregationSuffix = '';
209
+ // match 'percentage' casing
210
+ if (compRows[i] && pivot.aggregationType === 'percentage') {
211
+ if (compRows[i][`${pivot.valueField}_Percentage`]) {
212
+ aggregationSuffix = '_Percentage';
213
+ }
214
+ else if (compRows[i][`${pivot.valueField}_PERCENTAGE`]) {
215
+ aggregationSuffix = '_PERCENTAGE';
216
+ }
217
+ else {
218
+ aggregationSuffix = '_percentage';
219
+ }
220
+ }
221
+ const compRow = {
222
+ [`comparison_${pivot.valueField}${aggregationSuffix}`]: compRows[i]?.[`${pivot.valueField}${aggregationSuffix}`],
223
+ };
224
+ return { ...row, ...compRow };
225
+ });
226
+ }
@@ -1,5 +1,5 @@
1
1
  import { Pagination } from '../models/Pagination';
2
2
  export declare const DEFAULT_PAGINATION: Pagination;
3
- export declare function shouldFetchMore(pagination: Pagination, page: number, maxPage: number): boolean;
3
+ export declare function shouldFetchMore(pagination: Pagination, page: number, maxPage: number, currentRowCount?: number): boolean;
4
4
  export declare function shouldSortInMemory(pagination: Pagination, rowCount?: number): boolean;
5
5
  //# sourceMappingURL=paginationProcessing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paginationProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/paginationProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,kBAAkB,EAAE,UAIhC,CAAC;AAEF,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,WAehB;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,WAK3E"}
1
+ {"version":3,"file":"paginationProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/paginationProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,kBAAkB,EAAE,UAIhC,CAAC;AAEF,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,WAkBzB;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,WAK3E"}
@@ -3,8 +3,9 @@ export const DEFAULT_PAGINATION = {
3
3
  rowsPerPage: 10,
4
4
  rowsPerRequest: 600,
5
5
  };
6
- export function shouldFetchMore(pagination, page, maxPage) {
7
- if (!pagination) {
6
+ export function shouldFetchMore(pagination, page, maxPage, currentRowCount) {
7
+ if (!pagination ||
8
+ (currentRowCount && currentRowCount >= pagination.rowsPerPage * (page + 1))) {
8
9
  return false;
9
10
  }
10
11
  const indexAdjustedPage = page;
@@ -1,12 +1,22 @@
1
1
  import { QuillProviderClient } from '../models/Client';
2
- import { ColumnInternal } from '../models/Columns';
3
- import { Pivot } from '../models/Pivot';
2
+ import { Pivot, PivotData } from '../models/Pivot';
4
3
  import { QuillReportInternal } from '../models/Report';
5
- export declare function generatePivotWithSQL(pivot: Pivot, report: QuillReportInternal, client: QuillProviderClient, dateBucket?: string, dateFilter?: any, distinctStrings?: string[], rowLimit?: number, dashboardName?: string, tenants?: {
6
- tenantField: string;
7
- tenantIds: (string | number)[];
8
- }[] | (string | number)[]): Promise<{
9
- rows: any[];
10
- columns: ColumnInternal[];
11
- }>;
4
+ import { AdditionalProcessing } from './tableProcessing';
5
+ export declare function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFilter, distinctStrings, dashboardName, tenants, additionalProcessing, pivotQuery, comparisonPivotQuery, getPivotRowCount, }: {
6
+ pivot: Pivot;
7
+ report?: QuillReportInternal;
8
+ client: QuillProviderClient;
9
+ dateBucket?: string;
10
+ dateFilter?: any;
11
+ distinctStrings?: string[];
12
+ dashboardName?: string;
13
+ tenants?: {
14
+ tenantField: string;
15
+ tenantIds: (string | number)[];
16
+ }[] | (string | number)[];
17
+ additionalProcessing?: AdditionalProcessing;
18
+ pivotQuery?: string;
19
+ comparisonPivotQuery?: string;
20
+ getPivotRowCount?: boolean;
21
+ }): Promise<PivotData>;
12
22
  //# 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,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,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,MAAM,EAAE,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,EACtB,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,GACtB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CA8OrD"}
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,GACxB,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;CAC5B,GAAG,OAAO,CAAC,SAAS,CAAC,CAiVrB"}