@quillsql/react 2.12.40 → 2.12.41

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 (149) hide show
  1. package/dist/cjs/Chart.js +1 -1
  2. package/dist/cjs/ChartBuilder.d.ts +1 -1
  3. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  4. package/dist/cjs/ChartBuilder.js +6 -6
  5. package/dist/cjs/Dashboard.js +5 -5
  6. package/dist/cjs/ReportBuilder.d.ts +1 -1
  7. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  8. package/dist/cjs/ReportBuilder.js +111 -1588
  9. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  10. package/dist/cjs/components/Chart/BarChart.js +0 -9
  11. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  12. package/dist/cjs/components/Chart/LineChart.js +1 -11
  13. package/dist/cjs/components/Dashboard/DataLoader.js +1 -1
  14. package/dist/cjs/components/ReportBuilder/FilterModal.js +32 -32
  15. package/dist/cjs/components/ReportBuilder/convert.d.ts +5 -31
  16. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  17. package/dist/cjs/components/ReportBuilder/convert.js +1 -1
  18. package/dist/cjs/hooks/useAskQuill.d.ts +27 -0
  19. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -0
  20. package/dist/cjs/hooks/useAskQuill.js +177 -0
  21. package/dist/cjs/index.d.ts +1 -0
  22. package/dist/cjs/index.d.ts.map +1 -1
  23. package/dist/cjs/index.js +3 -1
  24. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -3
  25. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  26. package/dist/cjs/internals/ReportBuilder/PivotForm.js +4 -2
  27. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -15
  28. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  29. package/dist/cjs/internals/ReportBuilder/PivotModal.js +24 -24
  30. package/dist/cjs/models/Filter.d.ts +25 -19
  31. package/dist/cjs/models/Filter.d.ts.map +1 -1
  32. package/dist/cjs/models/Filter.js +2 -2
  33. package/dist/cjs/{components/ReportBuilder/pivot.d.ts → models/Pivot.d.ts} +13 -4
  34. package/dist/cjs/models/Pivot.d.ts.map +1 -0
  35. package/dist/cjs/models/Report.d.ts +1 -1
  36. package/dist/cjs/models/Report.d.ts.map +1 -1
  37. package/dist/cjs/models/Tables.d.ts +16 -0
  38. package/dist/cjs/models/Tables.d.ts.map +1 -1
  39. package/dist/cjs/utils/astFilterProcessing.js +27 -27
  40. package/dist/cjs/utils/astProcessing.d.ts +42 -0
  41. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  42. package/dist/cjs/utils/astProcessing.js +210 -1
  43. package/dist/cjs/utils/constants.d.ts +1 -0
  44. package/dist/cjs/utils/constants.d.ts.map +1 -1
  45. package/dist/cjs/utils/constants.js +2 -1
  46. package/dist/cjs/utils/dataFetcher.d.ts +4 -0
  47. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  48. package/dist/cjs/utils/dataFetcher.js +24 -1
  49. package/dist/cjs/utils/dates.d.ts +1 -1
  50. package/dist/cjs/utils/filterProcessing.d.ts +2 -2
  51. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  52. package/dist/cjs/utils/filterProcessing.js +6 -6
  53. package/dist/cjs/utils/pivotConstructor.d.ts +1 -1
  54. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  55. package/dist/cjs/utils/pivotConstructor.js +7 -4
  56. package/dist/cjs/utils/pivotProcessing.d.ts +4 -4
  57. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  58. package/dist/cjs/utils/pivotProcessing.js +21 -2
  59. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  60. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  61. package/dist/cjs/utils/queryConstructor.js +3 -3
  62. package/dist/cjs/utils/report.d.ts +25 -0
  63. package/dist/cjs/utils/report.d.ts.map +1 -1
  64. package/dist/cjs/utils/report.js +114 -2
  65. package/dist/cjs/utils/schema.d.ts.map +1 -1
  66. package/dist/cjs/utils/schema.js +1 -1
  67. package/dist/cjs/utils/tableProcessing.d.ts +18 -0
  68. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  69. package/dist/cjs/utils/tableProcessing.js +94 -1
  70. package/dist/esm/Chart.js +1 -1
  71. package/dist/esm/ChartBuilder.d.ts +1 -1
  72. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  73. package/dist/esm/ChartBuilder.js +6 -6
  74. package/dist/esm/Dashboard.js +5 -5
  75. package/dist/esm/ReportBuilder.d.ts +1 -1
  76. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  77. package/dist/esm/ReportBuilder.js +121 -1598
  78. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  79. package/dist/esm/components/Chart/BarChart.js +0 -9
  80. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  81. package/dist/esm/components/Chart/LineChart.js +1 -11
  82. package/dist/esm/components/Dashboard/DataLoader.js +1 -1
  83. package/dist/esm/components/ReportBuilder/FilterModal.js +32 -32
  84. package/dist/esm/components/ReportBuilder/convert.d.ts +5 -31
  85. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  86. package/dist/esm/components/ReportBuilder/convert.js +1 -1
  87. package/dist/esm/hooks/useAskQuill.d.ts +27 -0
  88. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -0
  89. package/dist/esm/hooks/useAskQuill.js +173 -0
  90. package/dist/esm/index.d.ts +1 -0
  91. package/dist/esm/index.d.ts.map +1 -1
  92. package/dist/esm/index.js +1 -0
  93. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -3
  94. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  95. package/dist/esm/internals/ReportBuilder/PivotForm.js +4 -2
  96. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -15
  97. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  98. package/dist/esm/internals/ReportBuilder/PivotModal.js +24 -24
  99. package/dist/esm/models/Filter.d.ts +25 -19
  100. package/dist/esm/models/Filter.d.ts.map +1 -1
  101. package/dist/esm/models/Filter.js +2 -2
  102. package/dist/esm/{components/ReportBuilder/pivot.d.ts → models/Pivot.d.ts} +13 -4
  103. package/dist/esm/models/Pivot.d.ts.map +1 -0
  104. package/dist/esm/models/Report.d.ts +1 -1
  105. package/dist/esm/models/Report.d.ts.map +1 -1
  106. package/dist/esm/models/Tables.d.ts +16 -0
  107. package/dist/esm/models/Tables.d.ts.map +1 -1
  108. package/dist/esm/utils/astFilterProcessing.js +27 -27
  109. package/dist/esm/utils/astProcessing.d.ts +42 -0
  110. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  111. package/dist/esm/utils/astProcessing.js +204 -0
  112. package/dist/esm/utils/constants.d.ts +1 -0
  113. package/dist/esm/utils/constants.d.ts.map +1 -1
  114. package/dist/esm/utils/constants.js +1 -0
  115. package/dist/esm/utils/dataFetcher.d.ts +4 -0
  116. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  117. package/dist/esm/utils/dataFetcher.js +22 -0
  118. package/dist/esm/utils/dates.d.ts +1 -1
  119. package/dist/esm/utils/filterProcessing.d.ts +2 -2
  120. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  121. package/dist/esm/utils/filterProcessing.js +7 -7
  122. package/dist/esm/utils/pivotConstructor.d.ts +1 -1
  123. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  124. package/dist/esm/utils/pivotConstructor.js +7 -4
  125. package/dist/esm/utils/pivotProcessing.d.ts +4 -4
  126. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  127. package/dist/esm/utils/pivotProcessing.js +19 -1
  128. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  129. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  130. package/dist/esm/utils/queryConstructor.js +3 -3
  131. package/dist/esm/utils/report.d.ts +25 -0
  132. package/dist/esm/utils/report.d.ts.map +1 -1
  133. package/dist/esm/utils/report.js +114 -3
  134. package/dist/esm/utils/schema.d.ts.map +1 -1
  135. package/dist/esm/utils/schema.js +1 -1
  136. package/dist/esm/utils/tableProcessing.d.ts +18 -0
  137. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  138. package/dist/esm/utils/tableProcessing.js +91 -1
  139. package/package.json +1 -1
  140. package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +0 -1
  141. package/dist/cjs/models/Pivots.d.ts +0 -2
  142. package/dist/cjs/models/Pivots.d.ts.map +0 -1
  143. package/dist/cjs/models/Pivots.js +0 -2
  144. package/dist/esm/components/ReportBuilder/pivot.d.ts.map +0 -1
  145. package/dist/esm/models/Pivots.d.ts +0 -2
  146. package/dist/esm/models/Pivots.d.ts.map +0 -1
  147. package/dist/esm/models/Pivots.js +0 -1
  148. /package/dist/cjs/{components/ReportBuilder/pivot.js → models/Pivot.js} +0 -0
  149. /package/dist/esm/{components/ReportBuilder/pivot.js → models/Pivot.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/BarChart.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,SAAS,EACT,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,mBAAmB,EACnB,UAAU,GACX,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,2CAsNA"}
1
+ {"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/BarChart.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,SAAS,EACT,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,mBAAmB,EACnB,UAAU,GACX,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,2CA6MA"}
@@ -29,15 +29,6 @@ function BarChart({ colors, colorMap, yAxisFields, data, containerStyle, classNa
29
29
  setFormattedData(barChartData);
30
30
  return;
31
31
  }
32
- const curData = data.map((d) => {
33
- const formatted = { ...d };
34
- // NEED TO FORMAT FOR BIG QUERY
35
- if (d[xAxisField] && typeof d[xAxisField] === 'object') {
36
- formatted[xAxisField] = d[xAxisField].value;
37
- }
38
- return formatted;
39
- });
40
- setFormattedData(curData);
41
32
  }, [data]);
42
33
  const getCustomColor = (field) => {
43
34
  const key = field.startsWith('comparison_') ? 'comparison' : 'primary';
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgC7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,mBAA6B,EAC7B,sBAAsB,EACtB,mBAA8B,EAC9B,UAAU,GACX,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,2CAuQA"}
1
+ {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgC7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,mBAA6B,EAC7B,sBAAsB,EACtB,mBAA8B,EAC9B,UAAU,GACX,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,2CA4PA"}
@@ -42,17 +42,7 @@ function LineChart({ colors, colorMap = {}, yAxisFields, data, containerStyle, c
42
42
  setFormattedData(createLineForEmptyChart(yAxisFields, dateFilter, xAxisField, xAxisFormat));
43
43
  return;
44
44
  }
45
- let newData = [...data];
46
- if (typeof data[0][xAxisField] === 'object') {
47
- newData = data.map((d) => {
48
- const formatted = { ...d };
49
- // NEED TO FORMAT FOR BIG QUERY
50
- if (d[xAxisField] && typeof d[xAxisField] === 'object') {
51
- formatted[xAxisField] = d[xAxisField].value;
52
- }
53
- return formatted;
54
- });
55
- }
45
+ const newData = [...data];
56
46
  if (newData.length === 1) {
57
47
  const point = { ...newData[0] };
58
48
  newData.push(point);
@@ -11,7 +11,7 @@ const tableProcessing_1 = require("../../utils/tableProcessing");
11
11
  const constructReportFromItem = (item) => {
12
12
  return {
13
13
  ...report_1.EMPTY_REPORT,
14
- id: item._id,
14
+ id: item._id ?? '',
15
15
  name: item.name,
16
16
  dashboardName: item.dashboardName,
17
17
  rows: [],
@@ -16,20 +16,20 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
16
16
  const [field, setField] = (0, react_1.useState)(filter ? filter.field : '');
17
17
  const [fieldOptions, setFieldOptions] = (0, react_1.useState)([]);
18
18
  const [fieldValues, setFieldValues] = (0, react_1.useState)([]);
19
- const [type, setType] = (0, react_1.useState)(filter ? filter.type : '');
19
+ const [type, setType] = (0, react_1.useState)(filter ? filter.filterType : '');
20
20
  const [value, setValue] = (0, react_1.useState)(filter
21
- ? filter.name === 'date-filter'
21
+ ? filter.filterType === 'date-filter'
22
22
  ? filter.value.value
23
23
  : filter.value
24
24
  : undefined);
25
- const [selectedOptions, setSelectedOptions] = (0, react_1.useState)(filter && filter.name === 'string-in-filter'
25
+ const [selectedOptions, setSelectedOptions] = (0, react_1.useState)(filter && filter.filterType === 'string-in-filter'
26
26
  ? filter.value.map((val) => {
27
27
  return { label: val, value: val };
28
28
  })
29
29
  : []);
30
30
  const [operator, setOperator] = (0, react_1.useState)(filter ? filter.operator : '');
31
31
  const [operatorOptions, setOperatorOptions] = (0, react_1.useState)([]);
32
- const [unit, setUnit] = (0, react_1.useState)(filter && filter.name === 'date-filter' ? filter.value.unit : '');
32
+ const [unit, setUnit] = (0, react_1.useState)(filter && filter.filterType === 'date-filter' ? filter.value.unit : '');
33
33
  const [unitOptions, setUnitOptions] = (0, react_1.useState)([]);
34
34
  const [startDate, setStartDate] = (0, react_1.useState)(filter && filter.value?.startDate
35
35
  ? filter.value.startDate.substring(0, 10)
@@ -41,7 +41,7 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
41
41
  const [table, setTable] = (0, react_1.useState)('');
42
42
  // Define all supported operator options for each field type
43
43
  const allOperatorOptions = {
44
- [Filter_1.FieldTypes.Numeric]: [
44
+ [Filter_1.FieldTypes.Number]: [
45
45
  Filter_1.NumberOperator.EqualTo,
46
46
  Filter_1.NumberOperator.NotEqualTo,
47
47
  Filter_1.NumberOperator.GreaterThan,
@@ -82,7 +82,7 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
82
82
  // Effect hook to initialize or update fieldValues based on selected field
83
83
  (0, react_1.useEffect)(() => {
84
84
  if (filter) {
85
- if (filter.name === 'string-in-filter') {
85
+ if (filter.filterType === 'string-in-filter') {
86
86
  setSelectedOptions(filter.value.map((val) => {
87
87
  return { label: val, value: val };
88
88
  }));
@@ -143,7 +143,7 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
143
143
  setOperator(Filter_1.DateOperator.InTheLast);
144
144
  setValue('90');
145
145
  break;
146
- case 'numeric':
146
+ case 'number':
147
147
  setOperator(Filter_1.NumberOperator.EqualTo);
148
148
  setValue('0');
149
149
  break;
@@ -270,8 +270,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
270
270
  }
271
271
  onSubmitFilter({
272
272
  field,
273
- name: Filter_1.FilterNames.DateFilter,
274
- type: Filter_1.FieldTypes.Date,
273
+ filterType: Filter_1.FilterNames.DateFilter,
274
+ fieldType: Filter_1.FieldTypes.Date,
275
275
  operator: operator,
276
276
  value: { value: value, unit: unit },
277
277
  table,
@@ -284,8 +284,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
284
284
  }
285
285
  onSubmitFilter({
286
286
  field,
287
- name: Filter_1.FilterNames.DateFilter,
288
- type: Filter_1.FieldTypes.Date,
287
+ filterType: Filter_1.FilterNames.DateFilter,
288
+ fieldType: Filter_1.FieldTypes.Date,
289
289
  operator: operator,
290
290
  value: { value: 0, unit: unit },
291
291
  table,
@@ -298,8 +298,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
298
298
  }
299
299
  onSubmitFilter({
300
300
  field,
301
- name: Filter_1.FilterNames.DateCustomFilter,
302
- type: Filter_1.FieldTypes.Date,
301
+ filterType: Filter_1.FilterNames.DateCustomFilter,
302
+ fieldType: Filter_1.FieldTypes.Date,
303
303
  operator: operator,
304
304
  value: { startDate, endDate },
305
305
  table,
@@ -319,8 +319,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
319
319
  }
320
320
  onSubmitFilter({
321
321
  field,
322
- name: Filter_1.FilterNames.DateComparisonFilter,
323
- type: Filter_1.FieldTypes.Date,
322
+ filterType: Filter_1.FilterNames.DateComparisonFilter,
323
+ fieldType: Filter_1.FieldTypes.Date,
324
324
  operator: operator,
325
325
  value,
326
326
  table,
@@ -330,8 +330,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
330
330
  case Filter_1.NullOperator.IsNull:
331
331
  onSubmitFilter({
332
332
  field,
333
- name: Filter_1.FilterNames.NullFilter,
334
- type: Filter_1.FieldTypes.Null,
333
+ filterType: Filter_1.FilterNames.NullFilter,
334
+ fieldType: Filter_1.FieldTypes.Null,
335
335
  operator: operator,
336
336
  value: null,
337
337
  table,
@@ -349,8 +349,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
349
349
  }
350
350
  onSubmitFilter({
351
351
  field,
352
- name: Filter_1.FilterNames.StringInFilter,
353
- type: Filter_1.FieldTypes.String,
352
+ filterType: Filter_1.FilterNames.StringInFilter,
353
+ fieldType: Filter_1.FieldTypes.String,
354
354
  operator: operator,
355
355
  value: selectedOptions.map((val) => val.label),
356
356
  table,
@@ -360,8 +360,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
360
360
  case Filter_1.NullOperator.IsNull:
361
361
  onSubmitFilter({
362
362
  field,
363
- name: Filter_1.FilterNames.NullFilter,
364
- type: Filter_1.FieldTypes.Null,
363
+ filterType: Filter_1.FilterNames.NullFilter,
364
+ fieldType: Filter_1.FieldTypes.Null,
365
365
  operator: operator,
366
366
  value: null,
367
367
  table,
@@ -374,22 +374,22 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
374
374
  }
375
375
  onSubmitFilter({
376
376
  field,
377
- name: Filter_1.FilterNames.StringFilter,
378
- type: Filter_1.FieldTypes.String,
377
+ filterType: Filter_1.FilterNames.StringFilter,
378
+ fieldType: Filter_1.FieldTypes.String,
379
379
  operator: operator,
380
380
  value,
381
381
  table,
382
382
  });
383
383
  }
384
384
  break;
385
- case 'numeric':
385
+ case 'number':
386
386
  switch (operator) {
387
387
  case Filter_1.NullOperator.IsNotNull:
388
388
  case Filter_1.NullOperator.IsNull:
389
389
  onSubmitFilter({
390
390
  field,
391
- name: Filter_1.FilterNames.NullFilter,
392
- type: Filter_1.FieldTypes.Null,
391
+ filterType: Filter_1.FilterNames.NullFilter,
392
+ fieldType: Filter_1.FieldTypes.Null,
393
393
  operator: operator,
394
394
  value: null,
395
395
  table,
@@ -404,8 +404,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
404
404
  }
405
405
  onSubmitFilter({
406
406
  field,
407
- name: Filter_1.FilterNames.NumericFilter,
408
- type: Filter_1.FieldTypes.Numeric,
407
+ filterType: Filter_1.FilterNames.NumericFilter,
408
+ fieldType: Filter_1.FieldTypes.Number,
409
409
  operator: operator,
410
410
  value,
411
411
  table,
@@ -418,8 +418,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
418
418
  case Filter_1.NullOperator.IsNull:
419
419
  onSubmitFilter({
420
420
  field,
421
- name: Filter_1.FilterNames.NullFilter,
422
- type: Filter_1.FieldTypes.Null,
421
+ filterType: Filter_1.FilterNames.NullFilter,
422
+ fieldType: Filter_1.FieldTypes.Null,
423
423
  operator: operator,
424
424
  value: null,
425
425
  table,
@@ -429,8 +429,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
429
429
  case Filter_1.BoolOperator.NotEqualTo:
430
430
  onSubmitFilter({
431
431
  field,
432
- name: Filter_1.FilterNames.BooleanFilter,
433
- type: Filter_1.FieldTypes.Boolean,
432
+ filterType: Filter_1.FilterNames.BooleanFilter,
433
+ fieldType: Filter_1.FieldTypes.Boolean,
434
434
  operator: operator,
435
435
  value: value,
436
436
  table,
@@ -1,7 +1,7 @@
1
1
  import { NodeSQLParser as NSP, AST } from './ast';
2
- import { Pivot } from './pivot';
3
2
  import { TableInfo } from './schema';
4
3
  import { ColumnInternal } from '../../models/Columns';
4
+ import { Pivot } from '../../models/Pivot';
5
5
  export declare function convertDateComparison(node: NSP.Select): NSP.Select;
6
6
  export declare function recursiveSearchAndReplace(node: any, search: string, replace: string): void;
7
7
  export declare function recursiveSearchAndReplaceByKey(node: any, search: string, replace: string, searchKey: string): void;
@@ -22,37 +22,11 @@ export declare function convertASTToPivotData(ast: NSP.Select, columnInfo: Colum
22
22
  * Processes the AST and builds up a new pivot, given the old AST, the old pivot
23
23
  * and a list of tables in the schema.
24
24
  */
25
- export declare function convertGroupBy(ast: AST, prevPivot: Pivot | undefined, schemaTables: TableInfo[]): {
26
- ast: NSP.Insert_Replace | NSP.Update | NSP.Delete | NSP.Alter | NSP.Use | NSP.Create | NSP.Drop | NSP.BigQuery;
27
- pivot: Pivot;
25
+ export declare function convertGroupBy(ast: AST, schemaTables: TableInfo[], prevPivot?: Pivot): {
26
+ ast: NSP.Use | NSP.Create | NSP.Update | NSP.Insert_Replace | NSP.Alter | NSP.Delete | NSP.Drop | NSP.BigQuery;
27
+ pivot: Pivot | undefined;
28
28
  } | {
29
- pivot: {
30
- aggregationType: "count" | "average" | "avg" | "min" | "max" | "sum";
31
- valueField: string;
32
- valueFieldType?: string | undefined;
33
- rowField?: string | undefined;
34
- rowFieldType?: string | undefined;
35
- columnField?: string | undefined;
36
- sort: boolean;
37
- sortDirection: "ASC" | "DESC";
38
- sortField?: string | undefined;
39
- sortFieldType?: string | undefined;
40
- } | null;
41
- ast: Partial<NSP.Select>;
42
- } | {
43
- pivot: {
44
- title: string;
45
- aggregationType: "count" | "average" | "avg" | "min" | "max" | "sum";
46
- valueField: string;
47
- valueFieldType?: string | undefined;
48
- rowField?: string | undefined;
49
- rowFieldType?: string | undefined;
50
- columnField?: string | undefined;
51
- sort: boolean;
52
- sortDirection: "ASC" | "DESC";
53
- sortField?: string | undefined;
54
- sortFieldType?: string | undefined;
55
- };
29
+ pivot: Pivot | null;
56
30
  ast: Partial<NSP.Select>;
57
31
  };
58
32
  export declare function convertStringComparison(node: any, databaseType: string): any;
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAOJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAStD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAuBlE;AAGD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,QAahB;AAGD,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,QAalB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAoDpD;AAUD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,YAAY,EAAE,SAAS,EAAE,GACxB,GAAG,CAAC,MAAM,CA8BZ;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAkBrE;AAmID,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,UAAU,EAAE,cAAc,EAAE,GAC3B,KAAK,GAAG,IAAI,CAmFd;AA+BD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,SAAS,mBAAc,EACvB,YAAY,EAAE,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2F1B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAyNtE;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAY1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,OA+C5C"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAOJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQ3C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAuBlE;AAGD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,QAahB;AAGD,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,QAalB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAoDpD;AAUD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,YAAY,EAAE,SAAS,EAAE,GACxB,GAAG,CAAC,MAAM,CA8BZ;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAkBrE;AAmID,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,UAAU,EAAE,cAAc,EAAE,GAC3B,KAAK,GAAG,IAAI,CAmFd;AA+BD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,SAAS,EAAE,EACzB,SAAS,CAAC,EAAE,KAAK;;;;;;EA2FlB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAyNtE;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAY1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,OA+C5C"}
@@ -376,7 +376,7 @@ function addValueFieldToPivot(newAst, pivot, columns) {
376
376
  * Processes the AST and builds up a new pivot, given the old AST, the old pivot
377
377
  * and a list of tables in the schema.
378
378
  */
379
- function convertGroupBy(ast, prevPivot = null, schemaTables) {
379
+ function convertGroupBy(ast, schemaTables, prevPivot) {
380
380
  if (!(0, ast_1.isSelect)(ast))
381
381
  return { ast, pivot: prevPivot };
382
382
  let newAst = {};
@@ -0,0 +1,27 @@
1
+ import { Pivot } from '../models/Pivot';
2
+ import { FilterTreeNode as FilterTree } from '../utils/astFilterProcessing';
3
+ import { FieldTypes } from '../models/Filter';
4
+ interface Column {
5
+ label: string;
6
+ field: string;
7
+ format: string;
8
+ fieldType: FieldTypes;
9
+ }
10
+ export declare const useAskQuill: () => {
11
+ data: {
12
+ rows: any[];
13
+ columns: Column[];
14
+ pivot: Pivot | null;
15
+ pivotRowFields: string[];
16
+ pivotColumnFields: string[];
17
+ pivotValueFields: string[];
18
+ filterTree: FilterTree | null;
19
+ };
20
+ loading: boolean;
21
+ error: string | undefined;
22
+ ask: (query: string) => Promise<any | undefined>;
23
+ onChangePivot: (pivot: Pivot) => void;
24
+ onChangeFilterTree: (filterTree: FilterTree) => void;
25
+ };
26
+ export {};
27
+ //# sourceMappingURL=useAskQuill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAskQuill.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAskQuill.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAEL,cAAc,IAAI,UAAU,EAE7B,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,UAAU,CAAC;CACvB;AA6BD,eAAO,MAAM,WAAW;UAChB;QACJ,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;KAE/B;aACQ,OAAO;WACT,MAAM,GAAG,SAAS;iBACZ,MAAM,KAAK,QAAQ,GAAG,GAAG,SAAS,CAAC;2BACzB,KAAK,KAAK,IAAI;qCACJ,UAAU,KAAK,IAAI;CA+LrD,CAAC"}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useAskQuill = void 0;
4
+ const react_1 = require("react");
5
+ const Context_1 = require("../Context");
6
+ const astProcessing_1 = require("../utils/astProcessing");
7
+ const report_1 = require("../utils/report");
8
+ const astFilterProcessing_1 = require("../utils/astFilterProcessing");
9
+ const pivotProcessing_1 = require("../utils/pivotProcessing");
10
+ const columnProcessing_1 = require("../utils/columnProcessing");
11
+ const Filter_1 = require("../models/Filter");
12
+ function convertColumnInternalToAboveType(columns) {
13
+ return columns.map((column) => {
14
+ let convertedFieldType = Filter_1.FieldTypes.String;
15
+ if (column.jsType === Filter_1.FieldTypes.Date) {
16
+ convertedFieldType = Filter_1.FieldTypes.Date;
17
+ }
18
+ else if (column.jsType === Filter_1.FieldTypes.Number) {
19
+ convertedFieldType = Filter_1.FieldTypes.Number;
20
+ }
21
+ else if (column.jsType === Filter_1.FieldTypes.String) {
22
+ convertedFieldType = Filter_1.FieldTypes.String;
23
+ }
24
+ else if (column.jsType === Filter_1.FieldTypes.Boolean ||
25
+ column.jsType === 'bool') {
26
+ convertedFieldType = Filter_1.FieldTypes.Boolean;
27
+ }
28
+ else if (column.jsType === Filter_1.FieldTypes.Null) {
29
+ convertedFieldType = Filter_1.FieldTypes.Null;
30
+ }
31
+ return {
32
+ label: column.label,
33
+ field: column.field,
34
+ format: column.format,
35
+ fieldType: convertedFieldType,
36
+ };
37
+ });
38
+ }
39
+ const useAskQuill = () => {
40
+ const [client] = (0, react_1.useContext)(Context_1.ClientContext);
41
+ const [schema] = (0, react_1.useContext)(Context_1.SchemaContext);
42
+ const [astInfo, setAstInfo] = (0, react_1.useState)(undefined);
43
+ const [data, setData] = (0, react_1.useState)({
44
+ rows: [],
45
+ columns: [],
46
+ pivot: null,
47
+ filterTree: null,
48
+ // uniqueValues: {},
49
+ pivotRowFields: [],
50
+ pivotColumnFields: [],
51
+ pivotValueFields: [],
52
+ });
53
+ const [loading, setLoading] = (0, react_1.useState)(false);
54
+ const [error, setError] = (0, react_1.useState)(undefined);
55
+ const [ask, setAsk] = (0, react_1.useState)(async () => undefined);
56
+ const askHelper = async (query) => {
57
+ if (!query) {
58
+ setLoading(false);
59
+ setError('Please supply a prompt.');
60
+ return;
61
+ }
62
+ let astInfo = {};
63
+ let reportBuilderInfo = undefined;
64
+ let possibleColumns = { rowFields: [], columnFields: [], valueFields: [] };
65
+ let curFilterTree = null;
66
+ setLoading(true);
67
+ try {
68
+ setLoading(true);
69
+ astInfo = await (0, astProcessing_1.fetchAndProcessASTFromPrompt)(query, schema, client);
70
+ if (astInfo.error) {
71
+ throw new Error(astInfo.error);
72
+ }
73
+ reportBuilderInfo = await (0, report_1.fetchReportBuilderDataFromAST)(astInfo.ast, astInfo.whereAST, schema, client, astInfo.pivot);
74
+ if (!reportBuilderInfo) {
75
+ throw new Error('Error fetching report');
76
+ }
77
+ const tableName = reportBuilderInfo.table;
78
+ const tableInfo = schema.find((table) => table.name === tableName);
79
+ if (!tableInfo) {
80
+ throw new Error('Table not found');
81
+ }
82
+ const columnInternal = tableInfo.columns.map((column) => (0, columnProcessing_1.convertColumnInfoToColumnInternal)(column));
83
+ possibleColumns = (0, pivotProcessing_1.getPossiblePivotFieldOptions)(columnInternal, reportBuilderInfo.uniqueValues[reportBuilderInfo.table] || {});
84
+ curFilterTree = (0, astFilterProcessing_1.astToFilterTree)(astInfo.whereAST, client.databaseType.toLowerCase());
85
+ }
86
+ catch (err) {
87
+ if (err instanceof Error) {
88
+ setError(err.message);
89
+ setLoading(false);
90
+ }
91
+ return;
92
+ }
93
+ const convertedColumns = convertColumnInternalToAboveType(reportBuilderInfo?.pivotData?.columns || reportBuilderInfo?.columns || []);
94
+ setData({
95
+ rows: reportBuilderInfo?.pivotData?.rows || reportBuilderInfo?.rows || [],
96
+ columns: convertedColumns,
97
+ pivot: astInfo.pivot,
98
+ pivotRowFields: possibleColumns.rowFields || [],
99
+ pivotColumnFields: possibleColumns.columnFields || [],
100
+ pivotValueFields: possibleColumns.valueFields || [],
101
+ filterTree: curFilterTree,
102
+ });
103
+ setAstInfo(astInfo);
104
+ setLoading(false);
105
+ };
106
+ const onChangePivot = async (newPivot) => {
107
+ if (!data) {
108
+ return;
109
+ }
110
+ let reportBuilderInfo = undefined;
111
+ try {
112
+ setLoading(true);
113
+ reportBuilderInfo = await (0, report_1.fetchReportBuilderDataFromAST)(astInfo.ast, astInfo.whereAST, schema, client, newPivot);
114
+ setLoading(false);
115
+ if (!reportBuilderInfo) {
116
+ throw new Error('Error fetching report builder data');
117
+ }
118
+ }
119
+ catch (err) {
120
+ if (err instanceof Error) {
121
+ setError(err.message);
122
+ setLoading(false);
123
+ }
124
+ }
125
+ const convertedColumns = convertColumnInternalToAboveType(reportBuilderInfo?.pivotData?.columns || reportBuilderInfo?.columns || []);
126
+ setData({
127
+ ...data,
128
+ rows: reportBuilderInfo?.pivotData?.rows || reportBuilderInfo?.rows || [],
129
+ columns: convertedColumns,
130
+ pivot: newPivot,
131
+ pivotRowFields: data?.pivotRowFields || [],
132
+ pivotColumnFields: data?.pivotColumnFields || [],
133
+ pivotValueFields: data?.pivotValueFields || [],
134
+ });
135
+ setAstInfo({ ...astInfo, pivot: newPivot });
136
+ setLoading(false);
137
+ };
138
+ const onChangeFilterTree = async (filterTree) => {
139
+ if (!data) {
140
+ return;
141
+ }
142
+ let reportBuilderInfo = {};
143
+ try {
144
+ const filterAst = (0, astFilterProcessing_1.filterTreeToAst)(filterTree, client.databaseType.toLowerCase());
145
+ setLoading(true);
146
+ reportBuilderInfo = await (0, report_1.fetchReportBuilderDataFromAST)(astInfo.ast, filterAst, schema, client, data.pivot || undefined);
147
+ setLoading(false);
148
+ }
149
+ catch (err) {
150
+ if (err instanceof Error) {
151
+ setError(err.message);
152
+ setLoading(false);
153
+ }
154
+ }
155
+ setData({
156
+ ...data,
157
+ rows: reportBuilderInfo?.pivotData?.rows || reportBuilderInfo?.rows || [],
158
+ columns: reportBuilderInfo?.pivotData?.columns ||
159
+ reportBuilderInfo?.columns ||
160
+ [],
161
+ filterTree,
162
+ });
163
+ setLoading(false);
164
+ };
165
+ (0, react_1.useEffect)(() => {
166
+ setAsk(() => askHelper);
167
+ }, [schema]);
168
+ return {
169
+ data,
170
+ loading,
171
+ error,
172
+ ask,
173
+ onChangePivot,
174
+ onChangeFilterTree,
175
+ };
176
+ };
177
+ exports.useAskQuill = useAskQuill;
@@ -18,6 +18,7 @@ export { useDashboard } from './hooks/useDashboard';
18
18
  export { useQuill, usePivot } from './hooks/useQuill';
19
19
  export { useExport } from './hooks/useExport';
20
20
  export { useMemoizedRows } from './hooks/useFormat';
21
+ export { useAskQuill } from './hooks/useAskQuill';
21
22
  export { downloadCSV } from './utils/csv';
22
23
  export { ThemeContext } from './Context';
23
24
  export type { TextInputComponentProps, ButtonComponentProps, DeleteButtonComponentProps, SelectComponentProps, PopoverComponentProps, TabsComponentProps, CheckboxComponentProps, SidebarComponentProps, ContainerComponentProps, HeaderComponentProps, LabelComponentProps, TextComponentProps, Option, ModalComponentProps, HeaderProps, } from './components/UiComponents';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GACV,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GACV,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Calculation = exports.ThemeContext = exports.downloadCSV = exports.useMemoizedRows = exports.useExport = exports.usePivot = exports.useQuill = exports.useDashboard = exports.format = exports.ChartEditor = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.Table = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
6
+ exports.Calculation = exports.ThemeContext = exports.downloadCSV = exports.useAskQuill = exports.useMemoizedRows = exports.useExport = exports.usePivot = exports.useQuill = exports.useDashboard = exports.format = exports.ChartEditor = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.Table = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
7
7
  // src/index.ts
8
8
  var Dashboard_1 = require("./Dashboard");
9
9
  Object.defineProperty(exports, "Dashboard", { enumerable: true, get: function () { return __importDefault(Dashboard_1).default; } });
@@ -31,6 +31,8 @@ var useExport_1 = require("./hooks/useExport");
31
31
  Object.defineProperty(exports, "useExport", { enumerable: true, get: function () { return useExport_1.useExport; } });
32
32
  var useFormat_1 = require("./hooks/useFormat");
33
33
  Object.defineProperty(exports, "useMemoizedRows", { enumerable: true, get: function () { return useFormat_1.useMemoizedRows; } });
34
+ var useAskQuill_1 = require("./hooks/useAskQuill");
35
+ Object.defineProperty(exports, "useAskQuill", { enumerable: true, get: function () { return useAskQuill_1.useAskQuill; } });
34
36
  var csv_1 = require("./utils/csv");
35
37
  Object.defineProperty(exports, "downloadCSV", { enumerable: true, get: function () { return csv_1.downloadCSV; } });
36
38
  var Context_1 = require("./Context");
@@ -11,14 +11,14 @@ interface PivotFormProps {
11
11
  setPivotAggregation: any;
12
12
  columns: ColumnInternal[];
13
13
  uniqueValues?: any;
14
- onDelete: any;
15
- SecondaryButtonComponent: (props: {
14
+ onDelete?: any;
15
+ SecondaryButtonComponent?: (props: {
16
16
  onClick: () => void;
17
17
  label: string;
18
18
  disabled?: boolean;
19
19
  icon?: ReactNode;
20
20
  }) => JSX.Element;
21
- SelectComponent: any;
21
+ SelectComponent?: any;
22
22
  PivotColumnContainer?: (props: {
23
23
  children: ReactNode;
24
24
  }) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"PivotForm.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotForm.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAU,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI9D,UAAU,cAAc;IACtB,aAAa,EAAE,GAAG,CAAC;IACnB,gBAAgB,EAAE,GAAG,CAAC;IACtB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,GAAG,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,GAAG,CAAC;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,wBAAwB,EAAE,CAAC,KAAK,EAAE;QAChC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;CACxE;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,eAAe,EACf,oBAAgD,GACjD,EAAE,cAAc,2CA0GhB"}
1
+ {"version":3,"file":"PivotForm.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotForm.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAU,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM9D,UAAU,cAAc;IACtB,aAAa,EAAE,GAAG,CAAC;IACnB,gBAAgB,EAAE,GAAG,CAAC;IACtB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,GAAG,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,GAAG,CAAC;IACzB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;CACxE;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,wBAA+C,EAC/C,eAA+C,EAC/C,oBAAgD,GACjD,EAAE,cAAc,2CA4GhB"}
@@ -6,7 +6,9 @@ const UiComponents_1 = require("../../components/UiComponents");
6
6
  const textProcessing_1 = require("../../utils/textProcessing");
7
7
  const ChartBuilder_1 = require("../../ChartBuilder");
8
8
  const pivotProcessing_1 = require("../../utils/pivotProcessing");
9
- function PivotForm({ pivotRowField, setPivotRowField, pivotColumnField, setPivotColumnField, pivotValueField, setPivotValueField, pivotAggregation, setPivotAggregation, columns, uniqueValues, onDelete, SecondaryButtonComponent, SelectComponent, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, }) {
9
+ const ui_1 = require("../../components/ReportBuilder/ui");
10
+ const QuillSelectWithCombo_1 = require("../../components/QuillSelectWithCombo");
11
+ function PivotForm({ pivotRowField, setPivotRowField, pivotColumnField, setPivotColumnField, pivotValueField, setPivotValueField, pivotAggregation, setPivotAggregation, columns, uniqueValues, onDelete, SecondaryButtonComponent = ui_1.QuillSecondaryButton, SelectComponent = QuillSelectWithCombo_1.QuillSelectComponentWithCombo, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, }) {
10
12
  const [allowedColumnFields, setAllowedColumnFields] = (0, react_1.useState)([]);
11
13
  const [allowedRowFields, setAllowedRowFields] = (0, react_1.useState)([]);
12
14
  const [allowedValueFields, setAllowedValueFields] = (0, react_1.useState)([]);
@@ -60,6 +62,6 @@ function PivotForm({ pivotRowField, setPivotRowField, pivotColumnField, setPivot
60
62
  display: 'flex',
61
63
  alignItems: 'flex-start',
62
64
  flexDirection: 'column',
63
- }, children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: onDelete, label: "Delete Pivot" }) })] }));
65
+ }, children: onDelete && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: onDelete, label: "Delete Pivot" })) })] }));
64
66
  }
65
67
  exports.default = PivotForm;
@@ -2,21 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { ButtonComponentProps } from '../../components/UiComponents';
3
3
  import { ColumnInternal } from '../../models/Columns';
4
4
  import { AxisFormat } from '../../Dashboard';
5
- export interface Pivot {
6
- rowField: string;
7
- rowFieldType: string;
8
- columnField?: string;
9
- columnFieldType?: string;
10
- valueField: string;
11
- valueFieldType?: string;
12
- aggregationType: string;
13
- title?: string;
14
- triggerButtonText?: string;
15
- sort?: string;
16
- sortDirection?: string;
17
- sortField?: string;
18
- sortFieldType?: string;
19
- }
5
+ import { Pivot } from '../../models/Pivot';
20
6
  export interface PivotModalProps {
21
7
  pivotRowField: any;
22
8
  setPivotRowField: any;