@quillsql/react 2.13.39 → 2.13.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 (255) hide show
  1. package/dist/cjs/Chart.d.ts +5 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +51 -28
  4. package/dist/cjs/ChartBuilder.d.ts +13 -1
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +347 -147
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +11 -1
  9. package/dist/cjs/Context.d.ts +16 -4
  10. package/dist/cjs/Context.d.ts.map +1 -1
  11. package/dist/cjs/Context.js +57 -38
  12. package/dist/cjs/Dashboard.d.ts +6 -3
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +70 -28
  15. package/dist/cjs/QuillProvider.d.ts +4 -8
  16. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  17. package/dist/cjs/ReportBuilder.d.ts +1 -1
  18. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  19. package/dist/cjs/ReportBuilder.js +117 -45
  20. package/dist/cjs/SQLEditor.d.ts +7 -1
  21. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  22. package/dist/cjs/SQLEditor.js +53 -9
  23. package/dist/cjs/Table.d.ts +21 -1
  24. package/dist/cjs/Table.d.ts.map +1 -1
  25. package/dist/cjs/Table.js +30 -192
  26. package/dist/cjs/components/Chart/BarChart.d.ts +5 -1
  27. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  28. package/dist/cjs/components/Chart/BarChart.js +4 -3
  29. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +2 -0
  30. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  31. package/dist/cjs/components/Chart/CustomReferenceLine.js +26 -0
  32. package/dist/cjs/components/Chart/GaugeChart.d.ts +11 -0
  33. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -0
  34. package/dist/cjs/components/Chart/GaugeChart.js +198 -0
  35. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  36. package/dist/cjs/components/Chart/InternalChart.js +14 -11
  37. package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
  38. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  39. package/dist/cjs/components/Chart/LineChart.js +4 -3
  40. package/dist/cjs/components/Chart/MapChart.d.ts +36 -0
  41. package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -0
  42. package/dist/cjs/components/Chart/MapChart.js +548 -0
  43. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  44. package/dist/cjs/components/Dashboard/DataLoader.js +114 -42
  45. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  46. package/dist/cjs/components/Dashboard/MetricComponent.js +57 -54
  47. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  48. package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
  49. package/dist/cjs/components/QuillMultiSelectSectionList.js +5 -5
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
  52. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  53. package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
  54. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  55. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
  56. package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
  57. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  58. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  59. package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
  60. package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
  61. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  62. package/dist/cjs/components/ReportBuilder/convert.js +28 -7
  63. package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
  64. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  65. package/dist/cjs/components/ReportBuilder/util.js +15 -2
  66. package/dist/cjs/components/UiComponents.d.ts +4 -1
  67. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  68. package/dist/cjs/components/UiComponents.js +31 -5
  69. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  70. package/dist/cjs/hooks/useDashboard.js +11 -9
  71. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  72. package/dist/cjs/hooks/useExport.js +18 -4
  73. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  74. package/dist/cjs/hooks/useQuill.js +16 -3
  75. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  76. package/dist/cjs/hooks/useReport.js +1 -7
  77. package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
  78. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  79. package/dist/cjs/hooks/useVirtualTables.js +5 -2
  80. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  81. package/dist/cjs/internals/ReportBuilder/PivotModal.js +6 -7
  82. package/dist/cjs/models/Filter.d.ts +20 -13
  83. package/dist/cjs/models/Filter.d.ts.map +1 -1
  84. package/dist/cjs/models/Filter.js +161 -87
  85. package/dist/cjs/models/Report.d.ts +12 -1
  86. package/dist/cjs/models/Report.d.ts.map +1 -1
  87. package/dist/cjs/models/Schema.d.ts +12 -1
  88. package/dist/cjs/models/Schema.d.ts.map +1 -1
  89. package/dist/cjs/utils/astFilterProcessing.js +22 -22
  90. package/dist/cjs/utils/astProcessing.d.ts +2 -2
  91. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  92. package/dist/cjs/utils/astProcessing.js +25 -6
  93. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
  94. package/dist/cjs/utils/axisFormatter.js +25 -0
  95. package/dist/cjs/utils/color.d.ts +159 -0
  96. package/dist/cjs/utils/color.d.ts.map +1 -1
  97. package/dist/cjs/utils/color.js +14 -5
  98. package/dist/cjs/utils/columnProcessing.js +3 -3
  99. package/dist/cjs/utils/constants.d.ts +1 -0
  100. package/dist/cjs/utils/constants.d.ts.map +1 -1
  101. package/dist/cjs/utils/constants.js +2 -1
  102. package/dist/cjs/utils/dashboard.d.ts +13 -3
  103. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  104. package/dist/cjs/utils/dashboard.js +73 -16
  105. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  106. package/dist/cjs/utils/dataFetcher.js +3 -1
  107. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  108. package/dist/cjs/utils/filterProcessing.js +9 -9
  109. package/dist/cjs/utils/getDomain.d.ts +4 -1
  110. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  111. package/dist/cjs/utils/getDomain.js +11 -1
  112. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  113. package/dist/cjs/utils/pivotConstructor.js +7 -6
  114. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  115. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  116. package/dist/cjs/utils/queryConstructor.js +71 -43
  117. package/dist/cjs/utils/report.d.ts +23 -5
  118. package/dist/cjs/utils/report.d.ts.map +1 -1
  119. package/dist/cjs/utils/report.js +28 -8
  120. package/dist/cjs/utils/schema.d.ts +26 -3
  121. package/dist/cjs/utils/schema.d.ts.map +1 -1
  122. package/dist/cjs/utils/schema.js +75 -43
  123. package/dist/cjs/utils/tableProcessing.d.ts +10 -3
  124. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  125. package/dist/cjs/utils/tableProcessing.js +4 -6
  126. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  127. package/dist/cjs/utils/textProcessing.js +0 -1
  128. package/dist/esm/Chart.d.ts +5 -1
  129. package/dist/esm/Chart.d.ts.map +1 -1
  130. package/dist/esm/Chart.js +52 -29
  131. package/dist/esm/ChartBuilder.d.ts +13 -1
  132. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  133. package/dist/esm/ChartBuilder.js +352 -152
  134. package/dist/esm/ChartEditor.d.ts.map +1 -1
  135. package/dist/esm/ChartEditor.js +11 -1
  136. package/dist/esm/Context.d.ts +16 -4
  137. package/dist/esm/Context.d.ts.map +1 -1
  138. package/dist/esm/Context.js +59 -40
  139. package/dist/esm/Dashboard.d.ts +6 -3
  140. package/dist/esm/Dashboard.d.ts.map +1 -1
  141. package/dist/esm/Dashboard.js +71 -29
  142. package/dist/esm/QuillProvider.d.ts +4 -8
  143. package/dist/esm/QuillProvider.d.ts.map +1 -1
  144. package/dist/esm/ReportBuilder.d.ts +1 -1
  145. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  146. package/dist/esm/ReportBuilder.js +119 -47
  147. package/dist/esm/SQLEditor.d.ts +7 -1
  148. package/dist/esm/SQLEditor.d.ts.map +1 -1
  149. package/dist/esm/SQLEditor.js +54 -10
  150. package/dist/esm/Table.d.ts +21 -1
  151. package/dist/esm/Table.d.ts.map +1 -1
  152. package/dist/esm/Table.js +34 -196
  153. package/dist/esm/components/Chart/BarChart.d.ts +5 -1
  154. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  155. package/dist/esm/components/Chart/BarChart.js +5 -4
  156. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
  157. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  158. package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
  159. package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
  160. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
  161. package/dist/esm/components/Chart/GaugeChart.js +195 -0
  162. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  163. package/dist/esm/components/Chart/InternalChart.js +14 -11
  164. package/dist/esm/components/Chart/LineChart.d.ts +5 -1
  165. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  166. package/dist/esm/components/Chart/LineChart.js +5 -4
  167. package/dist/esm/components/Chart/MapChart.d.ts +36 -0
  168. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
  169. package/dist/esm/components/Chart/MapChart.js +541 -0
  170. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  171. package/dist/esm/components/Dashboard/DataLoader.js +114 -42
  172. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  173. package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
  174. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  175. package/dist/esm/components/Dashboard/TableComponent.js +5 -1
  176. package/dist/esm/components/QuillMultiSelectSectionList.js +5 -5
  177. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  178. package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
  179. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  180. package/dist/esm/components/QuillSelectWithCombo.js +12 -11
  181. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  182. package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
  183. package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
  184. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  185. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  186. package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
  187. package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
  188. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  189. package/dist/esm/components/ReportBuilder/convert.js +26 -7
  190. package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
  191. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  192. package/dist/esm/components/ReportBuilder/util.js +15 -2
  193. package/dist/esm/components/UiComponents.d.ts +4 -1
  194. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  195. package/dist/esm/components/UiComponents.js +29 -4
  196. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  197. package/dist/esm/hooks/useDashboard.js +11 -9
  198. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  199. package/dist/esm/hooks/useExport.js +19 -5
  200. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  201. package/dist/esm/hooks/useQuill.js +16 -3
  202. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  203. package/dist/esm/hooks/useReport.js +1 -7
  204. package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
  205. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  206. package/dist/esm/hooks/useVirtualTables.js +6 -3
  207. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  208. package/dist/esm/internals/ReportBuilder/PivotModal.js +6 -7
  209. package/dist/esm/models/Filter.d.ts +20 -13
  210. package/dist/esm/models/Filter.d.ts.map +1 -1
  211. package/dist/esm/models/Filter.js +160 -86
  212. package/dist/esm/models/Report.d.ts +12 -1
  213. package/dist/esm/models/Report.d.ts.map +1 -1
  214. package/dist/esm/models/Schema.d.ts +12 -1
  215. package/dist/esm/models/Schema.d.ts.map +1 -1
  216. package/dist/esm/utils/astFilterProcessing.js +23 -23
  217. package/dist/esm/utils/astProcessing.d.ts +2 -2
  218. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  219. package/dist/esm/utils/astProcessing.js +25 -6
  220. package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
  221. package/dist/esm/utils/axisFormatter.js +25 -0
  222. package/dist/esm/utils/color.d.ts +159 -0
  223. package/dist/esm/utils/color.d.ts.map +1 -1
  224. package/dist/esm/utils/color.js +8 -2
  225. package/dist/esm/utils/columnProcessing.js +3 -3
  226. package/dist/esm/utils/constants.d.ts +1 -0
  227. package/dist/esm/utils/constants.d.ts.map +1 -1
  228. package/dist/esm/utils/constants.js +1 -0
  229. package/dist/esm/utils/dashboard.d.ts +13 -3
  230. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  231. package/dist/esm/utils/dashboard.js +73 -16
  232. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  233. package/dist/esm/utils/dataFetcher.js +3 -1
  234. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  235. package/dist/esm/utils/filterProcessing.js +10 -10
  236. package/dist/esm/utils/getDomain.d.ts +4 -1
  237. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  238. package/dist/esm/utils/getDomain.js +11 -1
  239. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  240. package/dist/esm/utils/pivotConstructor.js +7 -6
  241. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  242. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  243. package/dist/esm/utils/queryConstructor.js +71 -43
  244. package/dist/esm/utils/report.d.ts +23 -5
  245. package/dist/esm/utils/report.d.ts.map +1 -1
  246. package/dist/esm/utils/report.js +29 -9
  247. package/dist/esm/utils/schema.d.ts +26 -3
  248. package/dist/esm/utils/schema.d.ts.map +1 -1
  249. package/dist/esm/utils/schema.js +74 -43
  250. package/dist/esm/utils/tableProcessing.d.ts +10 -3
  251. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  252. package/dist/esm/utils/tableProcessing.js +4 -6
  253. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  254. package/dist/esm/utils/textProcessing.js +0 -1
  255. package/package.json +8 -3
@@ -2,6 +2,17 @@ import { Table } from './Tables';
2
2
  export type SchemaData = {
3
3
  schema: Table[];
4
4
  isSchemaLoading: boolean;
5
- customFields: any[] | null;
5
+ customFields: {
6
+ [tableName: string]: CustomField[];
7
+ } | null;
8
+ schemaWithCustomFields: Table[];
9
+ };
10
+ export type CustomField = {
11
+ viewName: string;
12
+ refTable: string;
13
+ field: string;
14
+ refColumn?: string;
15
+ type?: string;
16
+ refField?: string;
6
17
  };
7
18
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5D,sBAAsB,EAAE,KAAK,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BoolOperator, DateOperator, FieldType, FilterType, NullOperator, NumberOperator, StringOperator, TimeUnit, } from '../models/Filter';
1
+ import { BoolOperator, DateOperator, FieldType, InternalFilterType, NullOperator, NumberOperator, StringOperator, TimeUnit, } from '../models/Filter';
2
2
  import { format, isValid, parse, subDays, subHours, subMonths, subWeeks, subYears, } from 'date-fns';
3
3
  import { isBoolType, isDateType, isNumberType, isStringType, } from './columnProcessing';
4
4
  // Map SQL string operators to corresponding StringOperator enums
@@ -93,34 +93,34 @@ function mapOperatorToFilterName(operator, fieldType) {
93
93
  case FieldType.Date:
94
94
  switch (operator) {
95
95
  case DateOperator.Custom:
96
- return FilterType.DateCustomFilter;
96
+ return InternalFilterType.DateCustomFilter;
97
97
  case DateOperator.EqualTo:
98
98
  case DateOperator.GreaterThan:
99
99
  case DateOperator.GreaterThanOrEqualTo:
100
100
  case DateOperator.LessThan:
101
101
  case DateOperator.LessThanOrEqualTo:
102
102
  case DateOperator.NotEqualTo:
103
- return FilterType.DateComparisonFilter;
103
+ return InternalFilterType.DateComparisonFilter;
104
104
  case DateOperator.InTheCurrent:
105
105
  case DateOperator.InTheLast:
106
106
  case DateOperator.InThePrevious:
107
- return FilterType.DateFilter;
107
+ return InternalFilterType.DateFilter;
108
108
  }
109
109
  // fallthrough
110
110
  case FieldType.String:
111
111
  switch (operator) {
112
112
  case StringOperator.Is:
113
113
  case StringOperator.IsNot:
114
- return FilterType.StringInFilter;
114
+ return InternalFilterType.StringInFilter;
115
115
  default:
116
- return FilterType.StringFilter;
116
+ return InternalFilterType.StringFilter;
117
117
  }
118
118
  case FieldType.Number:
119
- return FilterType.NumericFilter;
119
+ return InternalFilterType.NumericFilter;
120
120
  case FieldType.Null:
121
- return FilterType.NullFilter;
121
+ return InternalFilterType.NullFilter;
122
122
  case FieldType.Boolean:
123
- return FilterType.BooleanFilter;
123
+ return InternalFilterType.BooleanFilter;
124
124
  default:
125
125
  console.error(`Could not determine filter name: {operator: ${operator}, fieldType: ${fieldType}}`);
126
126
  return null;
@@ -8700,7 +8700,7 @@ export const astToFilter = (ast, db, columns) => {
8700
8700
  }
8701
8701
  // Finally, with the operator, field, and filter name, return the corresponding Filter object
8702
8702
  switch (filterName) {
8703
- case FilterType.StringFilter:
8703
+ case InternalFilterType.StringFilter:
8704
8704
  return {
8705
8705
  field: (lowerFunctionToField(field, db) ?? '').replaceAll('%', ''),
8706
8706
  filterType: filterName,
@@ -8708,7 +8708,7 @@ export const astToFilter = (ast, db, columns) => {
8708
8708
  operator: mappedOperator,
8709
8709
  value: (lowerFunctionToField(right, db) ?? '').replaceAll('%', ''),
8710
8710
  };
8711
- case FilterType.StringInFilter:
8711
+ case InternalFilterType.StringInFilter:
8712
8712
  return {
8713
8713
  field: (lowerFunctionToField(field, db) ?? '').replaceAll('%', ''),
8714
8714
  filterType: filterName,
@@ -8716,7 +8716,7 @@ export const astToFilter = (ast, db, columns) => {
8716
8716
  operator: mappedOperator,
8717
8717
  value: right.value.map((v) => (lowerFunctionToField(v, db) ?? '').replaceAll('%', '')),
8718
8718
  };
8719
- case FilterType.NumericFilter:
8719
+ case InternalFilterType.NumericFilter:
8720
8720
  return {
8721
8721
  field: field,
8722
8722
  filterType: filterName,
@@ -8724,7 +8724,7 @@ export const astToFilter = (ast, db, columns) => {
8724
8724
  operator: mappedOperator,
8725
8725
  value: Number(right.value),
8726
8726
  };
8727
- case FilterType.NullFilter:
8727
+ case InternalFilterType.NullFilter:
8728
8728
  return {
8729
8729
  field: field,
8730
8730
  filterType: filterName,
@@ -8732,7 +8732,7 @@ export const astToFilter = (ast, db, columns) => {
8732
8732
  operator: mappedOperator,
8733
8733
  value: null,
8734
8734
  };
8735
- case FilterType.DateCustomFilter: {
8735
+ case InternalFilterType.DateCustomFilter: {
8736
8736
  const rightExprList = right;
8737
8737
  const values = parseBetweenDates(rightExprList.value);
8738
8738
  if (!values) {
@@ -8747,7 +8747,7 @@ export const astToFilter = (ast, db, columns) => {
8747
8747
  value: values,
8748
8748
  };
8749
8749
  }
8750
- case FilterType.DateComparisonFilter: {
8750
+ case InternalFilterType.DateComparisonFilter: {
8751
8751
  const numericDateComparison = reverseOperatorMap(operator, FieldType.Number);
8752
8752
  if (numericDateComparison) {
8753
8753
  if (!right.value ||
@@ -8759,7 +8759,7 @@ export const astToFilter = (ast, db, columns) => {
8759
8759
  if (numericDateComparison === NumberOperator.EqualTo) {
8760
8760
  return {
8761
8761
  field: field,
8762
- filterType: FilterType.DateCustomFilter,
8762
+ filterType: InternalFilterType.DateCustomFilter,
8763
8763
  fieldType: FieldType.Date,
8764
8764
  operator: DateOperator.Custom,
8765
8765
  value: { startDate: right.value, endDate: right.value },
@@ -8767,7 +8767,7 @@ export const astToFilter = (ast, db, columns) => {
8767
8767
  }
8768
8768
  return {
8769
8769
  field: field,
8770
- filterType: FilterType.DateComparisonFilter,
8770
+ filterType: InternalFilterType.DateComparisonFilter,
8771
8771
  fieldType: FieldType.Date,
8772
8772
  operator: numericDateComparison,
8773
8773
  value: right.value,
@@ -8776,7 +8776,7 @@ export const astToFilter = (ast, db, columns) => {
8776
8776
  }
8777
8777
  }
8778
8778
  // fallthrough
8779
- case FilterType.DateFilter: {
8779
+ case InternalFilterType.DateFilter: {
8780
8780
  const { operator: dateOperator, value } = parseDateOperatorAndValue(ast, db);
8781
8781
  if (!value) {
8782
8782
  return null;
@@ -8793,14 +8793,14 @@ export const astToFilter = (ast, db, columns) => {
8793
8793
  else {
8794
8794
  return {
8795
8795
  field: field,
8796
- filterType: FilterType.DateCustomFilter,
8796
+ filterType: InternalFilterType.DateCustomFilter,
8797
8797
  fieldType: FieldType.Date,
8798
8798
  operator: DateOperator.Custom,
8799
8799
  value: value.value,
8800
8800
  };
8801
8801
  }
8802
8802
  }
8803
- case FilterType.BooleanFilter: {
8803
+ case InternalFilterType.BooleanFilter: {
8804
8804
  const value = right.value !== undefined &&
8805
8805
  ['boolean', 'string'].includes(typeof right.value)
8806
8806
  ? Boolean(right.value)
@@ -8925,7 +8925,7 @@ export const filterToAst = (filter, db) => {
8925
8925
  }
8926
8926
  case FieldType.Date:
8927
8927
  switch (filter.filterType) {
8928
- case FilterType.DateCustomFilter:
8928
+ case InternalFilterType.DateCustomFilter:
8929
8929
  return {
8930
8930
  type: 'binary_expr',
8931
8931
  operator: mappedOperator,
@@ -8950,7 +8950,7 @@ export const filterToAst = (filter, db) => {
8950
8950
  ],
8951
8951
  },
8952
8952
  };
8953
- case FilterType.DateFilter:
8953
+ case InternalFilterType.DateFilter:
8954
8954
  switch (filter.operator) {
8955
8955
  case DateOperator.InTheLast:
8956
8956
  switch (db) {
@@ -10796,7 +10796,7 @@ export const filterToAst = (filter, db) => {
10796
10796
  default:
10797
10797
  return null;
10798
10798
  }
10799
- case FilterType.DateComparisonFilter:
10799
+ case InternalFilterType.DateComparisonFilter:
10800
10800
  switch (filter.operator) {
10801
10801
  case DateOperator.EqualTo:
10802
10802
  return {
@@ -24,7 +24,7 @@ export declare function getColumnAndTableInfo(tableAliasMap: {
24
24
  tableName: string;
25
25
  columnName: string;
26
26
  } | undefined;
27
- export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: Table[], tableAliasMap: any): {
27
+ export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: Table[], tableAliasMap: any, skipStar?: boolean): {
28
28
  [table: string]: string[];
29
29
  };
30
30
  export declare const isSubquery: (node: any) => boolean;
@@ -69,7 +69,7 @@ export declare const fetchASTFromQuillReport: (report: QuillReportInternal, clie
69
69
  schema?: Table[];
70
70
  error?: string;
71
71
  }>;
72
- export declare function getTablesHelper(ast: any, allTables: Table[]): {
72
+ export declare function getTablesHelper(ast: any, allTables: Table[], skipStar?: boolean): {
73
73
  referencedTablesAndColumns: {
74
74
  name: string;
75
75
  columns: {
@@ -1 +1 @@
1
- {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { getTableNames } from '../components/ReportBuilder/ast';
2
2
  import { convertBigQuery, convertGroupBy, convertOrderBy, convertRemoveSimpleParentheses, convertStringComparison, convertUnaryToBinary, convertWildcardColumns, } from '../components/ReportBuilder/convert';
3
3
  import { deepCopy, removeNonSelectedTableReferences, removeTableNameAlias, } from '../components/ReportBuilder/util';
4
+ import { getFieldFromExpression } from './astFilterProcessing';
4
5
  import { QUILL_SERVER } from './constants';
5
6
  import { getUniqueStringValues } from './tableProcessing';
6
7
  export function getSelectFromAST(ast) {
@@ -169,9 +170,10 @@ export function getColumnAndTableInfo(tableAliasMap, column, schemaInfo) {
169
170
  }
170
171
  return { tableName, columnName };
171
172
  }
172
- export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
173
+ export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap, skipStar = false) {
173
174
  const referencedColumns = {};
174
- if (ast?.columns === '*' || ast?.columns?.[0]?.expr?.column === '*') {
175
+ if (!skipStar &&
176
+ (ast?.columns === '*' || ast?.columns?.[0]?.expr?.column === '*')) {
175
177
  // Be sure to select everything from stars
176
178
  const tableList = ast.from.map((table) => recursiveSearchByKey(table, 'table'));
177
179
  tableList.forEach((table) => {
@@ -251,6 +253,23 @@ export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
251
253
  }
252
254
  });
253
255
  }
256
+ // Look through the orderby's
257
+ if (ast.orderby) {
258
+ const allColumnReferencesInOrderBy = ast.orderby.map((orderby) => ({
259
+ field: getFieldFromExpression(orderby.expr ?? orderby),
260
+ table: orderby.expr?.table,
261
+ }));
262
+ allColumnReferencesInOrderBy.forEach((column) => {
263
+ const table = column.table || ast.from?.length === 1 ? ast.from[0].table : '';
264
+ if (!table) {
265
+ return;
266
+ }
267
+ if (!referencedColumns[table]) {
268
+ referencedColumns[table] = [];
269
+ }
270
+ referencedColumns[table].push(column.field);
271
+ });
272
+ }
254
273
  for (const table in referencedColumns) {
255
274
  referencedColumns[table] = Array.from(new Set(referencedColumns[table]));
256
275
  }
@@ -377,7 +396,7 @@ export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, pre
377
396
  }
378
397
  ast = ast.length ? ast[0] : ast;
379
398
  newAst = convertBigQuery(ast);
380
- newAst = removeTableNameAlias(newAst);
399
+ newAst = removeTableNameAlias(newAst, schema);
381
400
  newAst = convertWildcardColumns(newAst, schema); // must go before groupby
382
401
  ({ ast: newAst, pivot } = convertGroupBy(newAst, schema, prevPivot, prevTable));
383
402
  newAst = convertOrderBy(newAst, schema);
@@ -471,7 +490,7 @@ const POSTGRES_DATE_TYPES = [
471
490
  'time',
472
491
  'timetz',
473
492
  ];
474
- export function getTablesHelper(ast, allTables) {
493
+ export function getTablesHelper(ast, allTables, skipStar) {
475
494
  const tableAliasMap = createTableNameToTableAliasMap(ast);
476
495
  const tablesInQuery = Object.values(tableAliasMap);
477
496
  // Remove all aliased tables (with statements and subqueries)
@@ -479,7 +498,7 @@ export function getTablesHelper(ast, allTables) {
479
498
  .filter((table) => tablesInQuery.includes(table.displayName))
480
499
  .map((table) => table.displayName);
481
500
  // Get non with statement column references
482
- let referencedColumns = getColumnsByTableFromASTAndSchema(ast, allTables, tableAliasMap);
501
+ let referencedColumns = getColumnsByTableFromASTAndSchema(ast, allTables, tableAliasMap, skipStar);
483
502
  referencedColumns = Object.keys(referencedColumns)
484
503
  .filter((table) => onlyReferenceTables.includes(table))
485
504
  .reduce((obj, key) => {
@@ -491,7 +510,7 @@ export function getTablesHelper(ast, allTables) {
491
510
  for (const withStmt of ast.with) {
492
511
  const astFrom = withStmt.stmt.from ?? withStmt.stmt.ast.from;
493
512
  if (astFrom) {
494
- const withReferencedColumns = getColumnsByTableFromASTAndSchema(withStmt.stmt.ast ?? withStmt.stmt, allTables, tableAliasMap);
513
+ const withReferencedColumns = getColumnsByTableFromASTAndSchema(withStmt.stmt.ast ?? withStmt.stmt, allTables, tableAliasMap, skipStar);
495
514
  // @ts-ignore
496
515
  Object.keys(withReferencedColumns).forEach((tableName) => {
497
516
  if (referencedColumns[tableName]) {
@@ -1 +1 @@
1
- {"version":3,"file":"axisFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/axisFormatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,6BAA8B,KAAK,KAAG,MAwC/D,CAAC"}
1
+ {"version":3,"file":"axisFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/axisFormatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,6BAA8B,KAAK,KAAG,MA4C/D,CAAC"}
@@ -23,6 +23,10 @@ export const axisFormatter = ({ value, field, fields }) => {
23
23
  return formatDollarAmount(value);
24
24
  case 'whole_number':
25
25
  return formatWholeNumber(value);
26
+ case 'two_decimal_places':
27
+ return formatDecimal2(value);
28
+ case 'one_decimal_place':
29
+ return formatDecimal1(value);
26
30
  case 'string':
27
31
  return formatString(value);
28
32
  case 'yyyy':
@@ -60,6 +64,26 @@ const formatString = (value) => {
60
64
  }
61
65
  return value.toString();
62
66
  };
67
+ const formatterDecimal2 = new Intl.NumberFormat('en-US', {
68
+ style: 'decimal',
69
+ maximumFractionDigits: 2,
70
+ });
71
+ /**
72
+ * Formats the value as a number with two decimal places.
73
+ */
74
+ const formatDecimal2 = (value) => {
75
+ return formatterDecimal2.format(Number(value));
76
+ };
77
+ const formatterDecimal1 = new Intl.NumberFormat('en-US', {
78
+ style: 'decimal',
79
+ maximumFractionDigits: 1,
80
+ });
81
+ /**
82
+ * Formats the value as a number with one decimal place.
83
+ */
84
+ const formatDecimal1 = (value) => {
85
+ return formatterDecimal1.format(Number(value));
86
+ };
63
87
  // Formats large numbers like 12345.67 -> $12K
64
88
  const formatterBigDollars = new Intl.NumberFormat('en-US', {
65
89
  style: 'currency',
@@ -99,6 +123,7 @@ const formatDollarAmount = (value) => {
99
123
  const formatterBigWholeNumber = new Intl.NumberFormat('en-US', {
100
124
  minimumSignificantDigits: 1,
101
125
  maximumSignificantDigits: 2,
126
+ maximumFractionDigits: 0,
102
127
  notation: 'compact',
103
128
  compactDisplay: 'short',
104
129
  });
@@ -15,7 +15,166 @@ export type Color = (typeof colorValues)[number];
15
15
  * @param index the index of this element in colors
16
16
  */
17
17
  export declare function selectColor(element: any, colors: string[], index: number): string;
18
+ /**
19
+ * Transform a hex string to an RGB array.
20
+ *
21
+ * Examples:
22
+ * - #8661f2 -> [134, 97, 242]
23
+ * - #1661ea2e -> [22, 97, 234, 46]
24
+ *
25
+ * TODO: Add support for triplet-style hex codes like this:
26
+ * - #123 -> #112233 -> [17, 34, 51]
27
+ */
28
+ export declare function hexToRGB(hex: string): number[];
29
+ export declare function RGBToHex(rgb: number[]): string;
18
30
  export declare function namedColorToHex(color: string): string;
31
+ /**
32
+ * A comprehensive map of all the CSS named-colors that modern browsers will
33
+ * recognize, and converts them into their hex values.
34
+ */
35
+ export declare const COLOR_TO_HEX: {
36
+ aliceblue: string;
37
+ antiquewhite: string;
38
+ aqua: string;
39
+ aquamarine: string;
40
+ azure: string;
41
+ beige: string;
42
+ bisque: string;
43
+ black: string;
44
+ blanchedalmond: string;
45
+ blue: string;
46
+ blueviolet: string;
47
+ brown: string;
48
+ burlywood: string;
49
+ cadetblue: string;
50
+ chartreuse: string;
51
+ chocolate: string;
52
+ coral: string;
53
+ cornflowerblue: string;
54
+ cornsilk: string;
55
+ crimson: string;
56
+ cyan: string;
57
+ darkblue: string;
58
+ darkcyan: string;
59
+ darkgoldenrod: string;
60
+ darkgray: string;
61
+ darkgreen: string;
62
+ darkkhaki: string;
63
+ darkmagenta: string;
64
+ darkolivegreen: string;
65
+ darkorange: string;
66
+ darkorchid: string;
67
+ darkred: string;
68
+ darksalmon: string;
69
+ darkseagreen: string;
70
+ darkslateblue: string;
71
+ darkslategray: string;
72
+ darkturquoise: string;
73
+ darkviolet: string;
74
+ deeppink: string;
75
+ deepskyblue: string;
76
+ dimgray: string;
77
+ dodgerblue: string;
78
+ firebrick: string;
79
+ floralwhite: string;
80
+ forestgreen: string;
81
+ fuchsia: string;
82
+ gainsboro: string;
83
+ ghostwhite: string;
84
+ gold: string;
85
+ goldenrod: string;
86
+ gray: string;
87
+ green: string;
88
+ greenyellow: string;
89
+ honeydew: string;
90
+ hotpink: string;
91
+ indianred: string;
92
+ indigo: string;
93
+ ivory: string;
94
+ khaki: string;
95
+ lavender: string;
96
+ lavenderblush: string;
97
+ lawngreen: string;
98
+ lemonchiffon: string;
99
+ lightblue: string;
100
+ lightcoral: string;
101
+ lightcyan: string;
102
+ lightgoldenrodyellow: string;
103
+ lightgrey: string;
104
+ lightgreen: string;
105
+ lightpink: string;
106
+ lightsalmon: string;
107
+ lightseagreen: string;
108
+ lightskyblue: string;
109
+ lightslategray: string;
110
+ lightsteelblue: string;
111
+ lightyellow: string;
112
+ lime: string;
113
+ limegreen: string;
114
+ linen: string;
115
+ magenta: string;
116
+ maroon: string;
117
+ mediumaquamarine: string;
118
+ mediumblue: string;
119
+ mediumorchid: string;
120
+ mediumpurple: string;
121
+ mediumseagreen: string;
122
+ mediumslateblue: string;
123
+ mediumspringgreen: string;
124
+ mediumturquoise: string;
125
+ mediumvioletred: string;
126
+ midnightblue: string;
127
+ mintcream: string;
128
+ mistyrose: string;
129
+ moccasin: string;
130
+ navajowhite: string;
131
+ navy: string;
132
+ oldlace: string;
133
+ olive: string;
134
+ olivedrab: string;
135
+ orange: string;
136
+ orangered: string;
137
+ orchid: string;
138
+ palegoldenrod: string;
139
+ palegreen: string;
140
+ paleturquoise: string;
141
+ palevioletred: string;
142
+ papayawhip: string;
143
+ peachpuff: string;
144
+ peru: string;
145
+ pink: string;
146
+ plum: string;
147
+ powderblue: string;
148
+ purple: string;
149
+ rebeccapurple: string;
150
+ red: string;
151
+ rosybrown: string;
152
+ royalblue: string;
153
+ saddlebrown: string;
154
+ salmon: string;
155
+ sandybrown: string;
156
+ seagreen: string;
157
+ seashell: string;
158
+ sienna: string;
159
+ silver: string;
160
+ skyblue: string;
161
+ slateblue: string;
162
+ slategray: string;
163
+ snow: string;
164
+ springgreen: string;
165
+ steelblue: string;
166
+ tan: string;
167
+ teal: string;
168
+ thistle: string;
169
+ tomato: string;
170
+ turquoise: string;
171
+ violet: string;
172
+ wheat: string;
173
+ white: string;
174
+ whitesmoke: string;
175
+ yellow: string;
176
+ yellowgreen: string;
177
+ };
19
178
  /**
20
179
  * Converts an RGB color value to HSL. Conversion formula
21
180
  * adapted from http://en.wikipedia.org/wiki/HSL_color_space.
@@ -1 +1 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/utils/color.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAwBV;AA6ED,QAAA,MAAM,WAAW,mKAkBP,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAuBxE;AAyDD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,UAK5C;AAwJD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YA4B9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YAuB9C"}
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/utils/color.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAwBV;AA6ED,QAAA,MAAM,WAAW,mKAkBP,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,UAuBxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB9C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAK9C;AAoBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,UAK5C;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8IxB,CAAC;AAIF;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YA4B9C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,YAuB9C"}
@@ -152,7 +152,7 @@ export function selectColor(element, colors, index) {
152
152
  * TODO: Add support for triplet-style hex codes like this:
153
153
  * - #123 -> #112233 -> [17, 34, 51]
154
154
  */
155
- function hexToRGB(hex) {
155
+ export function hexToRGB(hex) {
156
156
  // Matches 3-4 pairs of hex digits with an optional leading `#` character
157
157
  const regex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;
158
158
  const result = regex.exec(hex);
@@ -176,6 +176,12 @@ function hexToRGB(hex) {
176
176
  }
177
177
  return [128, 128, 128]; // unknown color, return 'gray'
178
178
  }
179
+ export function RGBToHex(rgb) {
180
+ return `#${rgb
181
+ .map((c) => Math.round(c).toString(16).padStart(2, '0'))
182
+ .join('')
183
+ .toUpperCase()}`;
184
+ }
179
185
  /**
180
186
  * Converts an RGB object to grayscale.
181
187
  *
@@ -204,7 +210,7 @@ export function namedColorToHex(color) {
204
210
  * A comprehensive map of all the CSS named-colors that modern browsers will
205
211
  * recognize, and converts them into their hex values.
206
212
  */
207
- const COLOR_TO_HEX = {
213
+ export const COLOR_TO_HEX = {
208
214
  aliceblue: '#f0f8ff',
209
215
  antiquewhite: '#faebd7',
210
216
  aqua: '#00ffff',
@@ -294,7 +294,7 @@ export function processColumnName(columnName) {
294
294
  return removeBigQuerySpecialChars(columnName);
295
295
  }
296
296
  export function isStringType(fieldType) {
297
- return ['string', 'varchar', 'text', 'char', 'bpchar', 'citext'].includes(fieldType);
297
+ return ['string', 'varchar', 'text', 'char', 'bpchar', 'citext'].includes(fieldType?.toLowerCase());
298
298
  }
299
299
  export function isDateType(fieldType) {
300
300
  return [
@@ -304,7 +304,7 @@ export function isDateType(fieldType) {
304
304
  'timestamptz',
305
305
  'timestamp',
306
306
  'interval',
307
- ].includes(fieldType);
307
+ ].includes(fieldType?.toLowerCase());
308
308
  }
309
309
  export function isNumberType(fieldType) {
310
310
  return [
@@ -318,7 +318,7 @@ export function isNumberType(fieldType) {
318
318
  'smallint',
319
319
  'float2',
320
320
  'float16',
321
- ].includes(fieldType);
321
+ ].includes(fieldType?.toLowerCase());
322
322
  }
323
323
  export function isBoolType(fieldType) {
324
324
  return ['bool', 'boolean'].includes(fieldType);
@@ -4,4 +4,5 @@ export declare const QUILL_SERVER: string;
4
4
  export declare const QUILL_QUERY_ENDPOINT: string;
5
5
  export declare const ALL_TENANTS = "QUILL_ALL_TENANTS";
6
6
  export declare const SINGLE_TENANT = "QUILL_SINGLE_TENANT";
7
+ export declare const REFERENCE_LINE = "QUILL_REFERENCE_LINE";
7
8
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,YAAY,QAGoB,CAAC;AAC9C,eAAO,MAAM,oBAAoB,QAGnB,CAAC;AACf,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,aAAa,wBAAwB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,YAAY,QAGoB,CAAC;AAC9C,eAAO,MAAM,oBAAoB,QAGnB,CAAC;AACf,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,aAAa,wBAAwB,CAAC;AACnD,eAAO,MAAM,cAAc,yBAAyB,CAAC"}
@@ -8,3 +8,4 @@ export const QUILL_QUERY_ENDPOINT = typeof process !== 'undefined' && process.en
8
8
  : '/cloud';
9
9
  export const ALL_TENANTS = 'QUILL_ALL_TENANTS';
10
10
  export const SINGLE_TENANT = 'QUILL_SINGLE_TENANT';
11
+ export const REFERENCE_LINE = 'QUILL_REFERENCE_LINE';
@@ -1,6 +1,7 @@
1
1
  import { QuillReportInternal } from '../models/Report';
2
2
  import { QuillProviderClient } from '../models/Client';
3
3
  import { AdditionalProcessing } from './tableProcessing';
4
+ import { CustomField } from '../models/Schema';
4
5
  /**
5
6
  * Returns a cleaned version of the dashboard item we store in state. We clean
6
7
  * the dashboard item so that we aren't exposing unnecessary details to the
@@ -8,9 +9,18 @@ import { AdditionalProcessing } from './tableProcessing';
8
9
  * interface to build amazing dashboards on top of.
9
10
  * @param item
10
11
  */
11
- export declare function cleanDashboardItem(item: {
12
- [key: string]: any;
13
- } | undefined, dashboardFilters: any, client: QuillProviderClient, dateBucket?: string, additionalProcessing?: AdditionalProcessing): Promise<QuillReportInternal>;
12
+ export declare function cleanDashboardItem({ item, dashboardFilters, client, dateBucket, additionalProcessing, customFields, }: {
13
+ item: {
14
+ [key: string]: any;
15
+ } | undefined;
16
+ dashboardFilters: any;
17
+ client: QuillProviderClient;
18
+ dateBucket?: string;
19
+ additionalProcessing?: AdditionalProcessing;
20
+ customFields?: {
21
+ [tableName: string]: CustomField[];
22
+ } | null;
23
+ }): Promise<QuillReportInternal>;
14
24
  export declare function getDashboard(dashboardName: string, client: QuillProviderClient, tenants?: {
15
25
  tenantField: string;
16
26
  tenantIds: (string | number)[];
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AA2BzD;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EACxC,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,GAC1C,OAAO,CAAC,mBAAmB,CAAC,CA+F9B;AA0ID,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,CA6Bd"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAMzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAsB/C;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,oBAAoB,EACpB,YAAY,GACb,EAAE;IACD,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,GAAG,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,YAAY,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9D,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6J/B;AA2ID,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,CA6Bd"}