@quillsql/react 2.11.12 → 2.11.14

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 (81) hide show
  1. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  2. package/dist/cjs/ChartBuilder.js +1 -1
  3. package/dist/cjs/Dashboard.js +1 -1
  4. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ReportBuilder.js +354 -197
  6. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  7. package/dist/cjs/SQLEditor.js +1 -0
  8. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts.map +1 -1
  9. package/dist/cjs/components/Chart/ChartTooltipFrame.js +1 -0
  10. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  11. package/dist/cjs/components/Chart/LineChart.js +3 -0
  12. package/dist/cjs/components/Dashboard/MetricComponent.js +2 -2
  13. package/dist/cjs/components/QuillCard.d.ts.map +1 -1
  14. package/dist/cjs/components/QuillCard.js +2 -4
  15. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  16. package/dist/cjs/components/QuillSelect.js +7 -1
  17. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  18. package/dist/cjs/components/QuillTable.js +2 -2
  19. package/dist/cjs/components/ReportBuilder/AddColumnPopover.js +3 -3
  20. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +3 -0
  21. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -0
  22. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +43 -0
  23. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  24. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +10 -4
  25. package/dist/cjs/components/ReportBuilder/bigDateMap.d.ts.map +1 -1
  26. package/dist/cjs/components/ReportBuilder/bigDateMap.js +2 -1
  27. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  28. package/dist/cjs/components/ReportBuilder/convert.js +38 -12
  29. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  30. package/dist/cjs/components/ReportBuilder/ui.js +4 -3
  31. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  32. package/dist/cjs/components/ReportBuilder/util.js +7 -5
  33. package/dist/cjs/components/UiComponents.js +2 -2
  34. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  35. package/dist/cjs/internals/ReportBuilder/PivotList.js +28 -2
  36. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
  37. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  38. package/dist/cjs/internals/ReportBuilder/PivotModal.js +49 -32
  39. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  40. package/dist/cjs/utils/getDomain.js +3 -0
  41. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  42. package/dist/esm/ChartBuilder.js +1 -1
  43. package/dist/esm/Dashboard.js +1 -1
  44. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  45. package/dist/esm/ReportBuilder.js +354 -197
  46. package/dist/esm/SQLEditor.d.ts.map +1 -1
  47. package/dist/esm/SQLEditor.js +1 -0
  48. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -1
  49. package/dist/esm/components/Chart/ChartTooltipFrame.js +1 -0
  50. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  51. package/dist/esm/components/Chart/LineChart.js +3 -0
  52. package/dist/esm/components/Dashboard/MetricComponent.js +2 -2
  53. package/dist/esm/components/QuillCard.d.ts.map +1 -1
  54. package/dist/esm/components/QuillCard.js +2 -4
  55. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  56. package/dist/esm/components/QuillSelect.js +7 -1
  57. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  58. package/dist/esm/components/QuillTable.js +2 -2
  59. package/dist/esm/components/ReportBuilder/AddColumnPopover.js +3 -3
  60. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +3 -0
  61. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -0
  62. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +38 -0
  63. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  64. package/dist/esm/components/ReportBuilder/AddSortPopover.js +10 -4
  65. package/dist/esm/components/ReportBuilder/bigDateMap.d.ts.map +1 -1
  66. package/dist/esm/components/ReportBuilder/bigDateMap.js +2 -1
  67. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  68. package/dist/esm/components/ReportBuilder/convert.js +38 -12
  69. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  70. package/dist/esm/components/ReportBuilder/ui.js +4 -3
  71. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  72. package/dist/esm/components/ReportBuilder/util.js +7 -5
  73. package/dist/esm/components/UiComponents.js +2 -2
  74. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  75. package/dist/esm/internals/ReportBuilder/PivotList.js +28 -2
  76. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
  77. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  78. package/dist/esm/internals/ReportBuilder/PivotModal.js +49 -32
  79. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  80. package/dist/esm/utils/getDomain.js +3 -0
  81. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAMN,MAAM,OAAO,CAAC;AAQf,OAAO,EAGL,mBAAmB,EACnB,mBAAmB,EAEpB,MAAM,2BAA2B,CAAC;AAInC,wBAAgB,qBAAqB,CAAC,MAAM,KAAA;;;;;EAwE3C;AA2BD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IAEpC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAExE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IACrE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7D,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC9D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAQD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuCD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,cAAoC,EACpC,eAAgC,EAChC,wBAAkD,EAClD,kBAAmC,EACnC,cAA2B,EAC3B,eAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAkB,EAClB,mBAA2B,EAC3B,sBAA8B,EAC9B,oBAA4B,EAC5B,wBAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,yBAA8C,EAC9C,aAAyB,EACzB,gBAA4B,EAC5B,0BAAkC,GACnC,EAAE,cAAc,2CA8WhB;AA6JD,eAAO,MAAM,mBAAmB;;;;;;;6CAuG/B,CAAC"}
1
+ {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAMN,MAAM,OAAO,CAAC;AAQf,OAAO,EAGL,mBAAmB,EACnB,mBAAmB,EAEpB,MAAM,2BAA2B,CAAC;AAInC,wBAAgB,qBAAqB,CAAC,MAAM,KAAA;;;;;EAwE3C;AA2BD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IAEpC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAExE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IACrE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7D,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC9D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAQD,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuCD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,cAAoC,EACpC,eAAgC,EAChC,wBAAkD,EAClD,kBAAmC,EACnC,cAA2B,EAC3B,eAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAkB,EAClB,mBAA2B,EAC3B,sBAA8B,EAC9B,oBAA4B,EAC5B,wBAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,yBAA8C,EAC9C,aAAyB,EACzB,gBAA4B,EAC5B,0BAAkC,GACnC,EAAE,cAAc,2CA+WhB;AA6JD,eAAO,MAAM,mBAAmB;;;;;;;6CAuG/B,CAAC"}
@@ -160,6 +160,7 @@ function QueryEditor({ containerStyle = { height: '100vh' }, ButtonComponent = U
160
160
  clientId: publicKey,
161
161
  publicKey: publicKey,
162
162
  task: 'schema',
163
+ removeCustomerField: true,
163
164
  },
164
165
  }),
165
166
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ChartTooltipFrame.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/ChartTooltipFrame.tsx"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ,2CAkBA"}
1
+ {"version":3,"file":"ChartTooltipFrame.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/ChartTooltipFrame.tsx"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,GAAG,CAAC;CACZ,2CAmBA"}
@@ -10,6 +10,7 @@ function ChartTooltipFrame({ children, theme, }) {
10
10
  background: theme?.backgroundColor || '#ffffff',
11
11
  borderRadius: '6px',
12
12
  zIndex: 40,
13
+ display: 'block',
13
14
  boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
14
15
  }, children: children }));
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,gBAAwB,EACxB,gBAAwB,GACzB,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,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,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,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC;CAClC,kDA6OA"}
1
+ {"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,gBAAwB,EACxB,gBAAwB,GACzB,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,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,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,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,KAAK,GAAG,MAAM,CAAC;CAClC,kDAgPA"}
@@ -55,6 +55,7 @@ function LineChart({ colors, colorMap = {}, yAxisFields, data, containerStyle, x
55
55
  // Allows the users to override the color scheme on a per-chart basis.
56
56
  const getCustomColor = (index, field, gradient) => {
57
57
  let key = index === 0 ? 'primary' : 'comparison';
58
+ field = field.replace('comparison_', '');
58
59
  if (colorMap && colorMap[field]) {
59
60
  if (index === 0 && gradient === 'start')
60
61
  key = 'primaryGradientStart';
@@ -115,12 +116,14 @@ function LineChart({ colors, colorMap = {}, yAxisFields, data, containerStyle, x
115
116
  }, position: { y: 0 } }), yAxisFields.map((elem, index) => {
116
117
  // hash the color stops so they're stable, valid html ids
117
118
  const gradientStart = getCustomColor(index, elem.field, 'start') ??
119
+ getCustomColor(index, elem.field) ??
118
120
  (0, color_1.selectColor)(elem, colors, index);
119
121
  const gradientStop = getCustomColor(index, elem.field, 'stop') ?? '#00000000';
120
122
  const uniqueId = `gradient_${(0, crypto_1.hashCode)(gradientStart)}_${(0, crypto_1.hashCode)(gradientStop)}`;
121
123
  return ((0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: uniqueId, x1: "0", y1: "0", x2: "0", y2: "1", children: [(0, jsx_runtime_1.jsx)("stop", { offset: "5%", stopColor: gradientStart, stopOpacity: 0.4 }), (0, jsx_runtime_1.jsx)("stop", { offset: "95%", stopColor: gradientStop, stopOpacity: 0 })] }) }, `defs_${uniqueId}_${index}`));
122
124
  }), yAxisFields.map((elem, index) => {
123
125
  const gradientStart = (0, crypto_1.hashCode)(getCustomColor(index, elem.field, 'start') ??
126
+ getCustomColor(index, elem.field) ??
124
127
  (0, color_1.selectColor)(elem, colors, index));
125
128
  const gradientStop = (0, crypto_1.hashCode)(getCustomColor(index, elem.field, 'stop') ?? '#00000000');
126
129
  const uniqueId = `gradient_${gradientStart}_${gradientStop}`;
@@ -21,7 +21,7 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
21
21
  cursor: 'pointer',
22
22
  boxSizing: 'content-box',
23
23
  borderRadius: 8,
24
- paddingBottom: 30,
24
+ paddingBottom: isLoading ? 0 : 30,
25
25
  ...style,
26
26
  }, children: (0, jsx_runtime_1.jsx)("div", { style: {
27
27
  width: '100%',
@@ -65,7 +65,7 @@ function QuillMetricComponent({ dashboardItem, onClickDashboardItem, error, isLo
65
65
  display: 'flex',
66
66
  alignItems: 'center',
67
67
  justifyContent: 'flex-end',
68
- }, children: 'view report →' })) : null] }), isLoading ? ((0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, {})) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, {})) : data.rows?.length === 0 ||
68
+ }, children: 'view report →' })) : null] }), isLoading ? ((0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, { containerStyle: { maxHeight: '78px', height: style?.height ?? '100%' } })) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, {})) : data.rows?.length === 0 ||
69
69
  data.rows[0][data.xAxisField] === null ? ((0, jsx_runtime_1.jsx)("div", { style: {
70
70
  display: 'flex',
71
71
  flex: '1 0 auto',
@@ -1 +1 @@
1
- {"version":3,"file":"QuillCard.d.ts","sourceRoot":"","sources":["../../../src/components/QuillCard.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,UAAU,cAAc;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAkB,EAClB,SAAgB,EAChB,OAAO,EACP,SAAa,EACb,KAAU,GACX,EAAE,cAAc,2CAqEhB"}
1
+ {"version":3,"file":"QuillCard.d.ts","sourceRoot":"","sources":["../../../src/components/QuillCard.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,UAAU,cAAc;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAkB,EAClB,SAAgB,EAChB,OAAO,EACP,SAAa,EACb,KAAU,GACX,EAAE,cAAc,2CAmEhB"}
@@ -31,12 +31,10 @@ function QuillCard({ children, theme, onClick, isSelected = false, clickable = t
31
31
  e.stopPropagation();
32
32
  onClose();
33
33
  }, style: {
34
- height: 42,
35
- width: 42,
34
+ height: 40,
35
+ width: 40,
36
36
  top: 4,
37
37
  right: 4,
38
- // marginTop: -12,
39
- // marginRight: -12,
40
38
  position: 'absolute',
41
39
  cursor: 'pointer',
42
40
  border: 'none',
@@ -1 +1 @@
1
- {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,oBAAoB,2CAgMtB"}
1
+ {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,oBAAoB,2CAwMtB"}
@@ -10,7 +10,13 @@ function QuillSelectComponent({ options, value, onChange, theme, label, }) {
10
10
  (0, hooks_1.useOnClickOutside)(modalRef, (e) => {
11
11
  setShowModal(false);
12
12
  });
13
- return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative', width: 200, minWidth: 200 }, children: [label && ((0, jsx_runtime_1.jsx)("div", { style: {
13
+ return ((0, jsx_runtime_1.jsxs)("div", { style: {
14
+ position: 'relative',
15
+ width: 200,
16
+ minWidth: 200,
17
+ boxShadow: 'rgba(0, 0, 0, 0.1) 0px 1px 5px 0px',
18
+ borderRadius: '6px',
19
+ }, children: [label && ((0, jsx_runtime_1.jsx)("div", { style: {
14
20
  fontSize: 14,
15
21
  color: theme.primaryTextColor,
16
22
  fontFamily: theme.fontFamily,
@@ -1 +1 @@
1
- {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMrD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,gBAA0C,EAC1C,WAAgB,EAChB,eAAwC,EACxC,WAAW,GACZ,EAAE,mBAAmB,2CAwZrB"}
1
+ {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMrD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,gBAA0C,EAC1C,WAAgB,EAChB,eAA8B,EAC9B,WAAW,GACZ,EAAE,mBAAmB,2CAwZrB"}
@@ -8,7 +8,7 @@ const react_1 = require("react");
8
8
  const valueFormatter_1 = require("../utils/valueFormatter");
9
9
  const Context_1 = require("../Context");
10
10
  const ChartSkeleton_1 = __importDefault(require("./Chart/ChartSkeleton"));
11
- function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => (0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, {}), rowsPerPage = 10, emptyStateLabel = 'No results returned.', downloadCSV, }) {
11
+ function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => (0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
12
12
  const [activeRows, setActiveRows] = (0, react_1.useState)([]);
13
13
  const [page, setPage] = (0, react_1.useState)(1);
14
14
  const [maxPage, setMaxPage] = (0, react_1.useState)(1);
@@ -135,7 +135,7 @@ function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFil
135
135
  : undefined,
136
136
  }, children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z", clipRule: "evenodd" }) }))] }, 'sqlcol' + index))) }) }), (activeRows && activeRows.length === 0) ||
137
137
  (columns && columns.length === 0) ? ((0, jsx_runtime_1.jsx)("div", { style: {
138
- padding: '60px 0',
138
+ padding: '30px 0',
139
139
  display: 'flex',
140
140
  flex: '1 0 auto',
141
141
  margin: 'auto',
@@ -47,14 +47,14 @@ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, s
47
47
  flexDirection: 'row',
48
48
  alignItems: 'center',
49
49
  marginTop: 2,
50
- }, children: (0, jsx_runtime_1.jsx)(TextInput, { type: "text", value: search, placeholder: 'Search...', style: { margin: '8px 0', width: '100%' }, onChange: (e) => setSearch(e.target.value) }) }), (0, jsx_runtime_1.jsx)(core_1.DndContext, { sensors: sensors, collisionDetection: core_1.closestCenter, onDragEnd: handleDragEnd, children: (0, jsx_runtime_1.jsx)(sortable_1.SortableContext, { items: orderedColumnNames, strategy: sortable_1.verticalListSortingStrategy, children: (0, jsx_runtime_1.jsxs)("div", { style: {
50
+ }, children: (0, jsx_runtime_1.jsx)(TextInput, { type: "text", value: search, placeholder: 'Search...', style: { marginBottom: 6, width: '100%' }, onChange: (e) => setSearch(e.target.value) }) }), (0, jsx_runtime_1.jsx)(core_1.DndContext, { sensors: sensors, collisionDetection: core_1.closestCenter, onDragEnd: handleDragEnd, children: (0, jsx_runtime_1.jsx)(sortable_1.SortableContext, { items: orderedColumnNames, strategy: sortable_1.verticalListSortingStrategy, children: (0, jsx_runtime_1.jsxs)("div", { style: {
51
51
  display: 'flex',
52
52
  flexDirection: 'column',
53
53
  gap: 8,
54
54
  overflowY: 'auto',
55
55
  maxWidth: '300px',
56
56
  }, children: [searchResults.map((value) => {
57
- return ((0, jsx_runtime_1.jsx)(SortableItem, { theme: theme, selectedColumns: selectedColumns, setSelectedColumns: setSelectedColumns, id: value, label: value.replace('.', ' '), SelectColumn: SelectColumn, HandleButton: HandleButton }, value));
57
+ return ((0, jsx_runtime_1.jsx)(SortableItem, { theme: theme, selectedColumns: selectedColumns, setSelectedColumns: setSelectedColumns, id: value, label: value.replace('.', ' | '), SelectColumn: SelectColumn, HandleButton: HandleButton }, value));
58
58
  }), search.length > 0 && searchResults.length === 0 && ((0, jsx_runtime_1.jsx)("div", { style: { fontFamily: theme?.fontFamily }, children: "No results found" }))] }) }) }), (0, jsx_runtime_1.jsxs)("div", { style: {
59
59
  display: 'flex',
60
60
  width: '100%',
@@ -105,7 +105,7 @@ function AddColumnPopover({ onSave, orderedColumnNames, setOrderedColumnNames, s
105
105
  setPivot(null);
106
106
  }
107
107
  onSave();
108
- }, label: "Save" })] })] }));
108
+ }, label: "Select columns" })] })] }));
109
109
  }
110
110
  exports.default = AddColumnPopover;
111
111
  const SortableItem = ({ id, label, setSelectedColumns, theme, selectedColumns, SelectColumn, HandleButton, }) => {
@@ -0,0 +1,3 @@
1
+ export declare const LimitSentence: ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle, LimitPopover, EditPopover, children, }: any) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const AddLimitPopover: ({ onSave, initialLimit, isEdit, onDelete, }: any) => import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=AddLimitPopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddLimitPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddLimitPopover.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,aAAa,wGASvB,GAAG,4CAiCL,CAAC;AAEF,eAAO,MAAM,eAAe,gDAKzB,GAAG,4CAmCL,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddLimitPopover = exports.LimitSentence = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const UiComponents_1 = require("../UiComponents");
7
+ const Context_1 = require("../../Context");
8
+ const ui_1 = require("./ui");
9
+ const SORT_VALUE_TO_LABEL = {
10
+ ASC: 'ascending',
11
+ DESC: 'descending',
12
+ };
13
+ const LimitSentence = ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle = 'Edit limit', LimitPopover, EditPopover, children, }) => {
14
+ const [isOpen, setIsOpen] = (0, react_1.useState)(false);
15
+ const handleClickDelete = (e) => {
16
+ setOpenPopover(null);
17
+ handleDelete();
18
+ };
19
+ return ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(LimitPopover
20
+ // @ts-ignore
21
+ , {
22
+ // @ts-ignore
23
+ filterLabel: `limit ${limit.value[0].value}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
24
+ setIsOpen(false);
25
+ onSave(column, direction);
26
+ }, isEdit: true, onDelete: handleClickDelete, initialLimit: limit.value[0].value }), isOpen: isOpen, setIsOpen: setIsOpen, onDelete: () => {
27
+ handleDelete();
28
+ } }) }));
29
+ };
30
+ exports.LimitSentence = LimitSentence;
31
+ const AddLimitPopover = ({ onSave, initialLimit, isEdit, onDelete, }) => {
32
+ const [limit, setLimit] = (0, react_1.useState)(initialLimit || 0);
33
+ const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
34
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [(0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'row', gap: 12, padding: '6px 0px' }, children: (0, jsx_runtime_1.jsx)(ui_1.QuillTextInput, { value: limit, type: "number", style: { width: 200, minHeight: 32, padding: '6px 12px' }, onChange: (e) => {
35
+ setLimit(e.target.value);
36
+ } }) }), (0, jsx_runtime_1.jsx)("div", { style: {
37
+ display: 'flex',
38
+ flexDirection: 'row',
39
+ justifyContent: 'end',
40
+ gap: 12,
41
+ }, children: isEdit ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedSecondaryButton, { onClick: onDelete, label: "Delete" }), (0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedButton, { onClick: () => onSave(limit), label: "Edit limit" })] })) : ((0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedButton, { onClick: () => onSave(limit), label: "Add limit" })) })] }));
42
+ };
43
+ exports.AddLimitPopover = AddLimitPopover;
@@ -1 +1 @@
1
- {"version":3,"file":"AddSortPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddSortPopover.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY,iMAetB,GAAG,wDA2CL,CAAC;AAEF,eAAO,MAAM,cAAc,mDAMxB,GAAG,4CA0DL,CAAC"}
1
+ {"version":3,"file":"AddSortPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddSortPopover.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY,iMAetB,GAAG,wDA2CL,CAAC;AAEF,eAAO,MAAM,cAAc,mDAMxB,GAAG,4CAiEL,CAAC"}
@@ -6,6 +6,7 @@ const react_1 = require("react");
6
6
  const QuillSelect_1 = require("../QuillSelect");
7
7
  const UiComponents_1 = require("../UiComponents");
8
8
  const Context_1 = require("../../Context");
9
+ const textProcessing_1 = require("../../utils/textProcessing");
9
10
  const SORT_VALUE_TO_LABEL = {
10
11
  ASC: 'ascending',
11
12
  DESC: 'descending',
@@ -27,7 +28,7 @@ const SortSentence = ({ sortData, keyPrefix, columns, handleDelete, setEditPopov
27
28
  // @ts-ignore
28
29
  , {
29
30
  // @ts-ignore
30
- filterLabel: `${sortData.expr.column || sortData.expr.value} is ${SORT_VALUE_TO_LABEL[sortData.type]}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
31
+ filterLabel: `${(0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.column) || (0, textProcessing_1.snakeCaseToTitleCase)(sortData.expr.value)} ${SORT_VALUE_TO_LABEL[sortData.type]}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: (0, jsx_runtime_1.jsx)(EditPopover, { onSave: (column, direction) => {
31
32
  setIsOpen(false);
32
33
  onSave(column, direction);
33
34
  }, columns: columns, isEdit: true, onDelete: handleClickDelete, column: sortData.expr.column || sortData.expr.value }), isOpen: isOpen, setIsOpen: setIsOpen, onDelete: () => {
@@ -41,11 +42,16 @@ const AddSortPopover = ({ onSave, columns, isEdit, onDelete, column, }) => {
41
42
  const [sortColumn, setSortColumn] = (0, react_1.useState)(column || '');
42
43
  const [sortDirection, setSortDirection] = (0, react_1.useState)('ASC');
43
44
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
44
- return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [(0, jsx_runtime_1.jsx)(QuillSelect_1.QuillSelectComponent, { theme: theme, value: sortColumn, onChange: (value) => {
45
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
46
+ display: 'flex',
47
+ flexDirection: 'row',
48
+ gap: 12,
49
+ padding: '6px 0px',
50
+ }, children: [(0, jsx_runtime_1.jsx)(QuillSelect_1.QuillSelectComponent, { theme: theme, value: sortColumn, onChange: (value) => {
45
51
  setSortColumn(value);
46
52
  }, options: [
47
53
  ...columns.map((column) => ({
48
- label: column.split('.')[1],
54
+ label: (0, textProcessing_1.snakeCaseToTitleCase)(column.split('.')[1] || ''),
49
55
  value: column.split('.')[1],
50
56
  })),
51
57
  ] }), (0, jsx_runtime_1.jsx)(QuillSelect_1.QuillSelectComponent, { theme: theme, value: sortDirection, onChange: (value) => {
@@ -58,6 +64,6 @@ const AddSortPopover = ({ onSave, columns, isEdit, onDelete, column, }) => {
58
64
  flexDirection: 'row',
59
65
  justifyContent: 'end',
60
66
  gap: 12,
61
- }, children: isEdit ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedSecondaryButton, { onClick: onDelete, label: "Delete" }), (0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedButton, { onClick: () => onSave(sortColumn, sortDirection), label: "Add sort" })] })) : ((0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedButton, { onClick: () => onSave(sortColumn, sortDirection), label: "Add sort" })) })] }));
67
+ }, children: isEdit ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedSecondaryButton, { onClick: onDelete, label: "Delete" }), (0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedButton, { onClick: () => onSave(sortColumn, sortDirection), label: "Edit sort" })] })) : ((0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedButton, { onClick: () => onSave(sortColumn, sortDirection), label: "Add sort" })) })] }));
62
68
  };
63
69
  exports.AddSortPopover = AddSortPopover;
@@ -1 +1 @@
1
- {"version":3,"file":"bigDateMap.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/bigDateMap.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,eAAO,MAAM,oBAAoB;wBAoCnB,GAAG;CAmpBhB,CAAC"}
1
+ {"version":3,"file":"bigDateMap.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/bigDateMap.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,eAAO,MAAM,oBAAoB;wBAoCnB,GAAG;CAmpBhB,CAAC"}
@@ -3,13 +3,14 @@
3
3
  // and return a strinified version of the node. Used to populate the filters.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.DATE_DESCRIPTION_MAP = void 0;
6
+ const textProcessing_1 = require("../../utils/textProcessing");
6
7
  /**
7
8
  * Trims off the _at suffix of columnNames so "created_at" becomes "created"
8
9
  */
9
10
  function cleanDateFieldName(fieldName) {
10
11
  if (!fieldName)
11
12
  return undefined;
12
- return fieldName.replace('_at', '');
13
+ return (0, textProcessing_1.snakeCaseToTitleCase)(fieldName.replace('_at', ''));
13
14
  }
14
15
  /**
15
16
  * A big map of partial objects and a callback to convert each to a string.
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAMJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AASjD,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;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAuCpD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,YAAY,EAAE,SAAS,EAAE,GACxB,GAAG,CAAC,MAAM,CAwBZ;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,SAAS,mBAAc,EACvB,YAAY,EAAE,SAAS,EAAE;;;;;;;;;;;;;;EAob1B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;EA6G5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAuItE;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAY1E"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAMJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AASjD,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;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAuCpD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,YAAY,EAAE,SAAS,EAAE,GACxB,GAAG,CAAC,MAAM,CAwBZ;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,SAAS,mBAAc,EACvB,YAAY,EAAE,SAAS,EAAE;;;;;;;;;;;;;;EA8b1B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;EA6G5D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAyJtE;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAY1E"}
@@ -198,8 +198,14 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
198
198
  }
199
199
  if (columnName === '*') {
200
200
  // TODO: make valueField be a number
201
- pivot.valueField = columns[0].field;
202
- columnName = columns[0].field;
201
+ for (let i = 0; i < columns.length; i++) {
202
+ if (!isIdColumn(columns[i]?.field) &&
203
+ (0, ast_1.isNumericColumnType)(columns[i]?.fieldType)) {
204
+ pivot.valueField = columns[i].field;
205
+ columnName = columns[i].field;
206
+ break;
207
+ }
208
+ }
203
209
  }
204
210
  newColumns.push({
205
211
  type: 'expr',
@@ -277,17 +283,19 @@ function convertGroupBy(ast, prevPivot = null, schemaTables) {
277
283
  const columnName = columnNode?.value || columnNode?.column;
278
284
  // if count(*), make the value field an actual column
279
285
  if (columnName === '*') {
280
- // TODO: make valueField be a number
281
- pivot.valueField = columns[0].field;
286
+ const numericColumn = columns.find((c) => {
287
+ return (0, ast_1.isNumericColumnType)(c.fieldType) && !isIdColumn(c.field);
288
+ });
289
+ pivot.valueField = numericColumn?.field;
282
290
  pivot.aggregationType = column?.expr?.name.toLowerCase();
283
- const findByName = (x) => [x.expr?.value, x.expr?.column].includes(columns[0].field);
291
+ const findByName = (x) => [x.expr?.value, x.expr?.column].includes(numericColumn.field);
284
292
  if (!newColumns.find(findByName)) {
285
293
  newColumns.push({
286
294
  type: 'expr',
287
295
  expr: {
288
296
  type: 'column_ref',
289
297
  table: null,
290
- column: columns[0].field,
298
+ column: numericColumn?.field || '',
291
299
  },
292
300
  as: null,
293
301
  });
@@ -637,8 +645,14 @@ function convertStringComparison(node, databaseType) {
637
645
  type: 'expr_list',
638
646
  value: [
639
647
  databaseType === 'BigQuery'
640
- ? { type: 'column_ref', value: obj.left.column }
641
- : { type: 'double_quote_string', value: obj.left.column },
648
+ ? {
649
+ type: 'column_ref',
650
+ value: obj.left.column || obj.left.value,
651
+ }
652
+ : {
653
+ type: 'double_quote_string',
654
+ value: obj.left.column || obj.left.value,
655
+ },
642
656
  ],
643
657
  },
644
658
  };
@@ -675,8 +689,14 @@ function convertStringComparison(node, databaseType) {
675
689
  type: 'expr_list',
676
690
  value: [
677
691
  databaseType === 'BigQuery'
678
- ? { type: 'column_ref', value: obj.left.column }
679
- : { type: 'double_quote_string', value: obj.left.column },
692
+ ? {
693
+ type: 'column_ref',
694
+ value: obj.left.column || obj.left.value,
695
+ }
696
+ : {
697
+ type: 'double_quote_string',
698
+ value: obj.left.column || obj.left.value,
699
+ },
680
700
  ],
681
701
  },
682
702
  };
@@ -711,8 +731,14 @@ function convertStringComparison(node, databaseType) {
711
731
  type: 'expr_list',
712
732
  value: [
713
733
  databaseType === 'BigQuery'
714
- ? { type: 'column_ref', value: obj.left.column }
715
- : { type: 'double_quote_string', value: obj.left.column },
734
+ ? {
735
+ type: 'column_ref',
736
+ value: obj.left.column || obj.left.value,
737
+ }
738
+ : {
739
+ type: 'double_quote_string',
740
+ value: obj.left.column || obj.left.value,
741
+ },
716
742
  ],
717
743
  },
718
744
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ui.tsx"],"names":[],"mappings":";AAgBA;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,2BAA4B,GAAG,4CA2BtD,CAAC;AAEF,eAAO,MAAM,oBAAoB,2BAA4B,GAAG,4CA2B/D,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,GAAG,4CAuBxC,CAAC;AAEF,eAAO,MAAM,uBAAuB,uCAKjC,GAAG,4CAiBL,CAAC;AAEF,eAAO,MAAM,QAAQ,sGAoEpB,CAAC;AAGF,eAAO,MAAM,mBAAmB,cAAe,GAAG,4CAEjD,CAAC;AAGF,eAAO,MAAM,sBAAsB,cAAe,GAAG,4CAEpD,CAAC;AAGF,eAAO,MAAM,YAAY,sGAiBxB,CAAC;AAGF,eAAO,MAAM,eAAe,sGAuB3B,CAAC;AAEF,eAAO,MAAM,WAAW,2BAA4B,GAAG,4CAUtD,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,QAAQ,EACR,KAAU,EACV,OAAO,EACP,MAAM,GACP,EAAE,GAAG,2CAgDL;AAED,eAAO,MAAM,YAAY,sGAkCxB,CAAC;AAGF,eAAO,MAAM,iBAAiB,+CAwE7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gDAK3B,GAAG,4CA6CL,CAAC;AAGF,eAAO,MAAM,oBAAoB,kCAAmC,GAAG,4CAiDtE,CAAC;AAGF,eAAO,MAAM,uBAAuB,+CAMnC,CAAC;AAGF,eAAO,MAAM,sBAAsB,+CAMlC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;GAG/B,CAAC;AAEF,eAAO,MAAM,SAAS,sGAIrB,CAAC;AAEF,eAAO,MAAM,WAAW,8DAMrB,GAAG,4CAwBL,CAAC;AAEF,eAAO,MAAM,kBAAkB,4FAO5B,GAAG,4CAqBL,CAAC;AAEF,eAAO,MAAM,gBAAgB,sFAO1B,GAAG,4CAqBL,CAAC;AAEF,eAAO,MAAM,UAAU,sTAuBpB,GAAG,4CAqFL,CAAC;AAEF,eAAO,MAAM,gBAAgB,oDAK1B,GAAG,4CAeL,CAAC"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ui.tsx"],"names":[],"mappings":";AAiBA;;;;;GAKG;AAEH,eAAO,MAAM,WAAW,2BAA4B,GAAG,4CA2BtD,CAAC;AAEF,eAAO,MAAM,oBAAoB,2BAA4B,GAAG,4CA2B/D,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,GAAG,4CAuBxC,CAAC;AAEF,eAAO,MAAM,uBAAuB,uCAKjC,GAAG,4CAiBL,CAAC;AAEF,eAAO,MAAM,QAAQ,sGAoEpB,CAAC;AAGF,eAAO,MAAM,mBAAmB,cAAe,GAAG,4CAEjD,CAAC;AAGF,eAAO,MAAM,sBAAsB,cAAe,GAAG,4CAEpD,CAAC;AAGF,eAAO,MAAM,YAAY,sGAiBxB,CAAC;AAGF,eAAO,MAAM,eAAe,sGAuB3B,CAAC;AAEF,eAAO,MAAM,WAAW,2BAA4B,GAAG,4CAUtD,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,QAAQ,EACR,KAAU,EACV,OAAO,EACP,MAAM,GACP,EAAE,GAAG,2CAgDL;AAED,eAAO,MAAM,YAAY,sGAkCxB,CAAC;AAGF,eAAO,MAAM,iBAAiB,+CAwE7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gDAK3B,GAAG,4CA6CL,CAAC;AAGF,eAAO,MAAM,oBAAoB,kCAAmC,GAAG,4CAiDtE,CAAC;AAGF,eAAO,MAAM,uBAAuB,+CAMnC,CAAC;AAGF,eAAO,MAAM,sBAAsB,+CAMlC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;GAG/B,CAAC;AAEF,eAAO,MAAM,SAAS,sGAIrB,CAAC;AAEF,eAAO,MAAM,WAAW,8DAMrB,GAAG,4CAwBL,CAAC;AAEF,eAAO,MAAM,kBAAkB,4FAO5B,GAAG,4CAqBL,CAAC;AAEF,eAAO,MAAM,gBAAgB,sFAO1B,GAAG,4CAqBL,CAAC;AAEF,eAAO,MAAM,UAAU,sTAuBpB,GAAG,4CAqFL,CAAC;AAEF,eAAO,MAAM,gBAAgB,oDAK1B,GAAG,4CAeL,CAAC"}
@@ -11,6 +11,7 @@ const QuillTable_1 = __importDefault(require("../QuillTable"));
11
11
  const Context_1 = require("../../Context");
12
12
  const util_1 = require("./util");
13
13
  const csv_1 = require("../../utils/csv");
14
+ const textProcessing_1 = require("../../utils/textProcessing");
14
15
  /**
15
16
  * This file is a collection of basic UI components that conform to the shape
16
17
  * expected by the Report Builder. Where possible, we use our existing
@@ -118,7 +119,7 @@ const QuillSidebarSubHeading = ({ label }) => ((0, jsx_runtime_1.jsx)(UiComponen
118
119
  exports.QuillSidebarSubHeading = QuillSidebarSubHeading;
119
120
  // The gray thing on the left.
120
121
  exports.QuillSidebar = (0, react_1.forwardRef)(({ children, ...props }, forwardedRef) => ((0, jsx_runtime_1.jsx)("div", { style: {
121
- overflow: 'visible',
122
+ overflowX: 'visible',
122
123
  padding: '12px',
123
124
  width: '25%',
124
125
  height: '100%',
@@ -189,7 +190,7 @@ exports.QuillPopover = (0, react_1.forwardRef)(({ children, trigger, isOpen, onC
189
190
  fontSize: 18,
190
191
  margin: 0,
191
192
  textAlign: 'left',
192
- paddingBottom: 12,
193
+ marginBottom: 5,
193
194
  color: theme?.primaryTextColor,
194
195
  fontFamily: theme?.fontFamily,
195
196
  }, children: title })), children] }));
@@ -265,7 +266,7 @@ const QuillSelectColumn = ({ label, selected, setSelected, children, }) => {
265
266
  overflow: 'hidden',
266
267
  fontFamily: theme?.fontFamily,
267
268
  color: theme?.primaryTextColor,
268
- }, children: label })] })] }));
269
+ }, children: (0, textProcessing_1.snakeCaseToTitleCase)(label) })] })] }));
269
270
  };
270
271
  exports.QuillSelectColumn = QuillSelectColumn;
271
272
  // A draggable card with a grab-handle and a column name
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/util.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,qBAAqB,SAAU,GAAG,YAW9C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,WAa1C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,WAK5C;AAGD,eAAO,MAAM,WAAW,SAAU,GAAG,YAuBpC,CAAC;AAKF,eAAO,MAAM,oBAAoB,SAAU,GAAG,QAE7C,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG;;;;;;;;EAU3C;AAKD,eAAO,MAAM,eAAe,QAAS,GAAG,QAMvC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,WAiBvD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,iBAQjD;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAOf;AAQD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAOf;AAMD,eAAO,MAAM,mBAAmB,SAAU,GAAG,gBAAgB,MAAM,YA4BlE,CAAC;AAIF,eAAO,MAAM,2BAA2B,SAAU,GAAG,YAUpD,CAAC;AAIF,eAAO,MAAM,oBAAoB,SACzB,GAAG,gBACK,MAAM,KACnB,OAmBF,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,GAAG,gBAAgB,MAAM,QAYpE,CAAC;AAEF,eAAO,MAAM,4BAA4B,SAAU,GAAG,KAAG,OAUxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAU,GAAG,QA4B3C,CAAC;AAGF,eAAO,MAAM,UAAU,eAAgB,MAAM,SAe5C,CAAC;AAmBF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,UAsBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,UAgB9C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,sBAetE;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SAAU,GAAG,YAU1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,SAAU,GAAG,YAOxC,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,WAehD;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,GACV,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAyB1C;AAED,eAAO,MAAM,QAAQ,QAAS,GAAG,QAAoC,CAAC;AAEtE,eAAO,MAAM,QAAQ,MAAO,MAAM,WAA2C,CAAC;AA4L9E,eAAO,MAAM,iBAAiB,SAAU,GAAG;;;;;;;CAc1C,CAAC;AAqCF,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,OAQvE"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/util.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,qBAAqB,SAAU,GAAG,YAW9C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,WAa1C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,WAK5C;AAGD,eAAO,MAAM,WAAW,SAAU,GAAG,YAuBpC,CAAC;AAKF,eAAO,MAAM,oBAAoB,SAAU,GAAG,QAE7C,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG;;;;;;;;EAU3C;AAKD,eAAO,MAAM,eAAe,QAAS,GAAG,QAMvC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,WAiBvD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,iBAQjD;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAOf;AAQD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAOf;AAMD,eAAO,MAAM,mBAAmB,SAAU,GAAG,gBAAgB,MAAM,YA4BlE,CAAC;AAIF,eAAO,MAAM,2BAA2B,SAAU,GAAG,YAUpD,CAAC;AAIF,eAAO,MAAM,oBAAoB,SACzB,GAAG,gBACK,MAAM,KACnB,OAoBF,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,GAAG,gBAAgB,MAAM,QAYpE,CAAC;AAEF,eAAO,MAAM,4BAA4B,SAAU,GAAG,KAAG,OAUxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAU,GAAG,QA4B3C,CAAC;AAGF,eAAO,MAAM,UAAU,eAAgB,MAAM,SAe5C,CAAC;AAmBF;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,UAsBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,UAgB9C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,sBAmBtE;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SAAU,GAAG,YAU1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,SAAU,GAAG,YAOxC,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,WAehD;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,GACV,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAyB1C;AAED,eAAO,MAAM,QAAQ,QAAS,GAAG,QAAoC,CAAC;AAEtE,eAAO,MAAM,QAAQ,MAAO,MAAM,WAA2C,CAAC;AA4L9E,eAAO,MAAM,iBAAiB,SAAU,GAAG;;;;;;;CAc1C,CAAC;AAqCF,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,OAQvE"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.removeNonSelectedTableReferences = exports.getDateFilterInfo = exports.trimEndS = exports.deepCopy = exports.getPostgresBasicType = exports.showNodeAsRow = exports.isExtractEquals = exports.isDateTruncEquals = exports.tryConvertDateEquality = exports.extractSuffixToString = exports.dateTruncSuffixToString = exports.newUTCDate = exports.isColumnComparison = exports.isTheCurrentIntervalBigQuery = exports.isThePreviousInterval = exports.isTheCurrentInterval = exports.isInTheLastIntervalBigQuery = exports.isInTheLastInterval = exports.getInThePreviousIntervalSentence = exports.getInTheLastIntervalSentence = exports.getInTheCurrentIntervalSentence = exports.formatDateComparisonNode = exports.areObjectsEqualish = exports.isColumnDateish = exports.generateColumnExpr = exports.isColumnReferenceish = exports.isDateTrunc = exports.hasTopLevelOrBoolean = exports.isTopLevelBoolean = exports.isNodeEmptyCollection = void 0;
5
5
  const date_fns_1 = require("date-fns");
6
6
  const bigDateMap_1 = require("./bigDateMap");
7
+ const textProcessing_1 = require("../../utils/textProcessing");
7
8
  /**
8
9
  * A node that is "in" or "not in" where none of the variants are selected.
9
10
  */
@@ -132,7 +133,7 @@ function formatDateComparisonNode(node) {
132
133
  exports.formatDateComparisonNode = formatDateComparisonNode;
133
134
  function getInTheCurrentIntervalSentence(node, databaseType) {
134
135
  if (databaseType === 'BigQuery') {
135
- const dateColumn = node.left.args.value[0].column;
136
+ const dateColumn = (0, textProcessing_1.snakeCaseToTitleCase)(node.left.args.value[0].column);
136
137
  const periodValue = node.left.args.value[1].column.toLowerCase();
137
138
  return `${dateColumn} in the current ${periodValue}`;
138
139
  }
@@ -146,7 +147,7 @@ const BIG_QUERY_DAY_TO_INTERVAL_MAP = {
146
147
  };
147
148
  function getInTheLastIntervalSentence(node, databaseType) {
148
149
  if (databaseType === 'BigQuery') {
149
- const dateColumn = node.left.column;
150
+ const dateColumn = (0, textProcessing_1.snakeCaseToTitleCase)(node.left.column);
150
151
  const amount = node.right.args.value[1].expr.value;
151
152
  let unit = node.right.args.value[1].unit.toLowerCase();
152
153
  if (unit.includes('*')) {
@@ -159,7 +160,7 @@ function getInTheLastIntervalSentence(node, databaseType) {
159
160
  exports.getInTheLastIntervalSentence = getInTheLastIntervalSentence;
160
161
  function getInThePreviousIntervalSentence(node, databaseType) {
161
162
  if (databaseType === 'BigQuery') {
162
- const dateColumn = node.left.args.value[0].column;
163
+ const dateColumn = (0, textProcessing_1.snakeCaseToTitleCase)(node.left.args.value[0].column);
163
164
  const periodValue = node.left.args.value[1].column.toLowerCase();
164
165
  return `${dateColumn} in the previous ${periodValue}`;
165
166
  }
@@ -218,6 +219,7 @@ const isTheCurrentInterval = (node, databaseType) => {
218
219
  const isInsideOfDateTrunc = ['AND'].includes(node.operator) &&
219
220
  (node.left.operator === '=' || node.left.type === 'double_quote_string') &&
220
221
  node.right.operator === '=' &&
222
+ node.right.name &&
221
223
  node.right.name.toLowerCase() === 'date_trunc' &&
222
224
  node.args.value[0].type === 'single_quote_string' &&
223
225
  node.args.value[1].type === 'binary_expr' &&
@@ -380,14 +382,14 @@ function tryConvertDateEquality(node, databaseType) {
380
382
  if ((0, exports.isDateTruncEquals)(node)) {
381
383
  const columnNode = node.left.args.value[1];
382
384
  const columnName = columnNode.column ?? columnNode.value;
383
- const cleanColumnName = columnName.replaceAll('_at', '');
385
+ const cleanColumnName = (0, textProcessing_1.snakeCaseToTitleCase)(columnName.replaceAll('_at', ''));
384
386
  const prettyDateSuffix = dateTruncSuffixToString(node, databaseType);
385
387
  return `${cleanColumnName} ${prettyDateSuffix}`;
386
388
  }
387
389
  else if ((0, exports.isExtractEquals)(node)) {
388
390
  const columnNode = node.left.args.source;
389
391
  const columnName = columnNode.column ?? columnNode.value;
390
- const cleanColumnName = columnName.replaceAll('_at', '');
392
+ const cleanColumnName = (0, textProcessing_1.snakeCaseToTitleCase)(columnName.replaceAll('_at', ''));
391
393
  const prettyDateSuffix = extractSuffixToString(node);
392
394
  return `${cleanColumnName} ${prettyDateSuffix}`;
393
395
  }
@@ -315,8 +315,8 @@ function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, sty
315
315
  }
316
316
  exports.MemoizedModal = MemoizedModal;
317
317
  const MemoizedDeleteButton = ({ onClick, style }) => ((0, jsx_runtime_1.jsxs)("button", { className: "quill-delete-button", type: "button", onClick: onClick, style: {
318
- height: 42,
319
- width: 42,
318
+ height: 40,
319
+ width: 40,
320
320
  border: 'none',
321
321
  cursor: 'pointer',
322
322
  display: 'flex',
@@ -1 +1 @@
1
- {"version":3,"file":"PivotList.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotList.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;6CA0IrB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;6CAmFrB,CAAC"}
1
+ {"version":3,"file":"PivotList.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotList.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;6CA8MrB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;6CAmFrB,CAAC"}
@@ -4,6 +4,7 @@ exports.PivotList = exports.PivotCard = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const QuillCard_1 = require("../../components/QuillCard");
6
6
  const valueFormatter_1 = require("../../utils/valueFormatter");
7
+ const textProcessing_1 = require("../../utils/textProcessing");
7
8
  const PivotCard = ({ pivotTable, theme, index, onSelectPivot, selectedPivotIndex, onEditPivot, ButtonComponent, showEdit = false, clickable = true, onClose = () => { }, minHeight = 0, LabelComponent, TextComponent, HeaderComponent, }) => {
8
9
  const maxRowsInPivotPeak = 5;
9
10
  return ((0, jsx_runtime_1.jsx)(QuillCard_1.QuillCard, { theme: theme, onClick: () => onSelectPivot(pivotTable.pivot, index), isSelected: index === selectedPivotIndex, clickable: clickable, onClose: onClose, minHeight: minHeight, children: (0, jsx_runtime_1.jsxs)("div", { style: {
@@ -20,7 +21,32 @@ const PivotCard = ({ pivotTable, theme, index, onSelectPivot, selectedPivotIndex
20
21
  whiteSpace: 'nowrap',
21
22
  textOverflow: 'ellipsis',
22
23
  paddingBottom: 6,
23
- }, children: (0, jsx_runtime_1.jsx)(HeaderComponent, { children: pivotTable.pivot.title }) })), (0, jsx_runtime_1.jsxs)("table", { children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsx)("tr", { children: pivotTable.columns.map((column) => ((0, jsx_runtime_1.jsx)("th", { style: {
24
+ }, children: (0, jsx_runtime_1.jsx)(HeaderComponent, { children: pivotTable.pivot.title }) })), pivotTable.columns.length === 0 ? ((0, jsx_runtime_1.jsxs)("table", { children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsxs)("tr", { children: [pivotTable.pivot.rowField && ((0, jsx_runtime_1.jsx)("th", { style: {
25
+ fontWeight: 600,
26
+ paddingRight: 5,
27
+ flex: 1,
28
+ textAlign: 'left',
29
+ whiteSpace: 'nowrap',
30
+ textOverflow: 'ellipsis',
31
+ }, children: (0, jsx_runtime_1.jsx)(LabelComponent, { children: (0, textProcessing_1.snakeCaseToTitleCase)(pivotTable.pivot.rowField) }) }, pivotTable.pivot.rowField)), pivotTable.pivot.columnField && ((0, jsx_runtime_1.jsx)("th", { style: {
32
+ fontWeight: 600,
33
+ paddingRight: 5,
34
+ flex: 1,
35
+ textAlign: 'left',
36
+ whiteSpace: 'nowrap',
37
+ textOverflow: 'ellipsis',
38
+ }, children: (0, jsx_runtime_1.jsx)(LabelComponent, { children: (0, textProcessing_1.snakeCaseToTitleCase)(pivotTable.pivot.columnField) }) }, pivotTable.pivot.columnField)), !pivotTable.pivot.columnField &&
39
+ pivotTable.pivot.valueField && ((0, jsx_runtime_1.jsx)("th", { style: {
40
+ fontWeight: 600,
41
+ paddingRight: 5,
42
+ flex: 1,
43
+ textAlign: 'left',
44
+ whiteSpace: 'nowrap',
45
+ textOverflow: 'ellipsis',
46
+ }, children: (0, jsx_runtime_1.jsx)(LabelComponent, { children: (0, textProcessing_1.snakeCaseToTitleCase)(pivotTable.pivot.valueField) }) }, pivotTable.pivot.valueField))] }) }), (0, jsx_runtime_1.jsx)("div", { style: {
47
+ paddingLeft: '2px',
48
+ width: '100%',
49
+ }, children: (0, jsx_runtime_1.jsx)(TextComponent, { children: "No results" }) })] })) : ((0, jsx_runtime_1.jsxs)("table", { children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsx)("tr", { children: pivotTable.columns.map((column) => ((0, jsx_runtime_1.jsx)("th", { style: {
24
50
  fontWeight: 600,
25
51
  paddingRight: 5,
26
52
  flex: 1,
@@ -39,7 +65,7 @@ const PivotCard = ({ pivotTable, theme, index, onSelectPivot, selectedPivotIndex
39
65
  value: row[colum.field],
40
66
  format: pivotTable.pivot.valueFieldType,
41
67
  })
42
- : row[colum.field] }) }, i))) }, index))) })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
68
+ : row[colum.field] }) }, i))) }, index))) })] }))] }), (0, jsx_runtime_1.jsxs)("div", { style: {
43
69
  display: 'flex',
44
70
  justifyContent: 'space-between',
45
71
  }, children: [pivotTable.rows.length > maxRowsInPivotPeak ? ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)(TextComponent, { children: ["...", pivotTable.rows.length - maxRowsInPivotPeak < 5