@quillsql/react 2.9.1 → 2.9.3

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 (309) hide show
  1. package/dist/AddToDashboardModal.d.ts +1 -0
  2. package/dist/AddToDashboardModal.d.ts.map +1 -1
  3. package/dist/AddToDashboardModal.js +152 -181
  4. package/dist/AddToDashboardModal.js.map +1 -1
  5. package/dist/BarList.d.ts +1 -0
  6. package/dist/BarList.js +36 -44
  7. package/dist/Chart.d.ts +5 -24
  8. package/dist/Chart.d.ts.map +1 -1
  9. package/dist/Chart.js +203 -802
  10. package/dist/Chart.js.map +1 -1
  11. package/dist/ChartBuilder.d.ts +1 -0
  12. package/dist/ChartBuilder.d.ts.map +1 -1
  13. package/dist/ChartBuilder.js +89 -91
  14. package/dist/ChartBuilder.js.map +1 -1
  15. package/dist/ChartEditor.d.ts +1 -0
  16. package/dist/ChartEditor.d.ts.map +1 -1
  17. package/dist/ChartEditor.js +23 -22
  18. package/dist/ChartEditor.js.map +1 -1
  19. package/dist/Context.d.ts +20 -0
  20. package/dist/Context.d.ts.map +1 -1
  21. package/dist/Context.js +82 -62
  22. package/dist/Context.js.map +1 -1
  23. package/dist/Dashboard.d.ts +4 -1
  24. package/dist/Dashboard.d.ts.map +1 -1
  25. package/dist/Dashboard.js +238 -336
  26. package/dist/Dashboard.js.map +1 -1
  27. package/dist/DateRangePicker/Calendar.d.ts +1 -0
  28. package/dist/DateRangePicker/Calendar.js +41 -46
  29. package/dist/DateRangePicker/DateRangePicker.d.ts +1 -0
  30. package/dist/DateRangePicker/DateRangePicker.js +32 -61
  31. package/dist/DateRangePicker/DateRangePickerButton.d.ts +1 -0
  32. package/dist/DateRangePicker/DateRangePickerButton.js +14 -17
  33. package/dist/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
  34. package/dist/DateRangePicker/dateRangePickerUtils.js +76 -90
  35. package/dist/DateRangePicker/index.d.ts +1 -0
  36. package/dist/DateRangePicker/index.js +1 -9
  37. package/dist/PieChart.d.ts +1 -0
  38. package/dist/PieChart.js +35 -70
  39. package/dist/QuillProvider.d.ts +1 -0
  40. package/dist/QuillProvider.js +4 -7
  41. package/dist/ReportBuilder.d.ts +1 -0
  42. package/dist/ReportBuilder.js +120 -129
  43. package/dist/SQLEditor.d.ts +1 -0
  44. package/dist/SQLEditor.js +56 -65
  45. package/dist/SQLEditor.js.map +1 -1
  46. package/dist/Table.d.ts +1 -0
  47. package/dist/Table.d.ts.map +1 -1
  48. package/dist/Table.js +65 -65
  49. package/dist/Table.js.map +1 -1
  50. package/dist/TableChart.d.ts +1 -0
  51. package/dist/TableChart.js +17 -45
  52. package/dist/api/ServerClient.d.ts +30 -0
  53. package/dist/api/ServerClient.d.ts.map +1 -0
  54. package/dist/api/ServerClient.js +39 -0
  55. package/dist/api/ServerClient.js.map +1 -0
  56. package/dist/assets/ArrowDownHeadIcon.d.ts +1 -0
  57. package/dist/assets/ArrowDownHeadIcon.js +3 -6
  58. package/dist/assets/ArrowDownIcon.d.ts +1 -0
  59. package/dist/assets/ArrowDownIcon.js +3 -6
  60. package/dist/assets/ArrowDownRightIcon.d.ts +1 -0
  61. package/dist/assets/ArrowDownRightIcon.js +3 -6
  62. package/dist/assets/ArrowLeftHeadIcon.d.ts +1 -0
  63. package/dist/assets/ArrowLeftHeadIcon.js +3 -6
  64. package/dist/assets/ArrowRightHeadIcon.d.ts +1 -0
  65. package/dist/assets/ArrowRightHeadIcon.js +3 -6
  66. package/dist/assets/ArrowRightIcon.d.ts +1 -0
  67. package/dist/assets/ArrowRightIcon.js +3 -6
  68. package/dist/assets/ArrowUpHeadIcon.d.ts +1 -0
  69. package/dist/assets/ArrowUpHeadIcon.js +3 -6
  70. package/dist/assets/ArrowUpIcon.d.ts +1 -0
  71. package/dist/assets/ArrowUpIcon.js +3 -6
  72. package/dist/assets/ArrowUpRightIcon.d.ts +1 -0
  73. package/dist/assets/ArrowUpRightIcon.js +3 -6
  74. package/dist/assets/CalendarIcon.d.ts +1 -0
  75. package/dist/assets/CalendarIcon.js +3 -6
  76. package/dist/assets/CalendarNormalIcon.d.ts +1 -0
  77. package/dist/assets/CalendarNormalIcon.js +3 -6
  78. package/dist/assets/DoubleArrowLeftHeadIcon.d.ts +1 -0
  79. package/dist/assets/DoubleArrowLeftHeadIcon.js +3 -6
  80. package/dist/assets/DoubleArrowRightHeadIcon.d.ts +1 -0
  81. package/dist/assets/DoubleArrowRightHeadIcon.js +3 -6
  82. package/dist/assets/ExclamationFilledIcon.d.ts +1 -0
  83. package/dist/assets/ExclamationFilledIcon.js +3 -6
  84. package/dist/assets/FilterIcon.d.ts +1 -0
  85. package/dist/assets/FilterIcon.js +3 -6
  86. package/dist/assets/LoadingSpinner.d.ts +1 -0
  87. package/dist/assets/LoadingSpinner.js +3 -6
  88. package/dist/assets/RefreshIcon.d.ts +1 -0
  89. package/dist/assets/RefreshIcon.js +3 -6
  90. package/dist/assets/SearchIcon.d.ts +1 -0
  91. package/dist/assets/SearchIcon.js +3 -6
  92. package/dist/assets/UpLeftArrowsIcon.d.ts +1 -0
  93. package/dist/assets/UpLeftArrowsIcon.js +3 -6
  94. package/dist/assets/XCircleIcon.d.ts +1 -0
  95. package/dist/assets/XCircleIcon.js +3 -6
  96. package/dist/assets/XIcon.d.ts +1 -0
  97. package/dist/assets/XIcon.js +3 -6
  98. package/dist/assets/index.d.ts +1 -0
  99. package/dist/assets/index.js +21 -49
  100. package/dist/components/Banner/index.d.ts +1 -0
  101. package/dist/components/Banner/index.js +6 -10
  102. package/dist/components/BigModal/BigModal.d.ts +1 -0
  103. package/dist/components/BigModal/BigModal.js +13 -39
  104. package/dist/components/Chart/BarChart.d.ts +15 -0
  105. package/dist/components/Chart/BarChart.d.ts.map +1 -0
  106. package/dist/components/Chart/BarChart.js +57 -0
  107. package/dist/components/Chart/BarChart.js.map +1 -0
  108. package/dist/components/Chart/ChartTooltip.d.ts +29 -0
  109. package/dist/components/Chart/ChartTooltip.d.ts.map +1 -0
  110. package/dist/components/Chart/ChartTooltip.js +229 -0
  111. package/dist/components/Chart/ChartTooltip.js.map +1 -0
  112. package/dist/components/Chart/ChartTooltipFrame.d.ts +6 -0
  113. package/dist/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
  114. package/dist/components/Chart/ChartTooltipFrame.js +12 -0
  115. package/dist/components/Chart/ChartTooltipFrame.js.map +1 -0
  116. package/dist/components/Chart/ChartTooltipGroup.d.ts +11 -0
  117. package/dist/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
  118. package/dist/components/Chart/ChartTooltipGroup.js +23 -0
  119. package/dist/components/Chart/ChartTooltipGroup.js.map +1 -0
  120. package/dist/components/Chart/ChartTooltipRow.d.ts +8 -0
  121. package/dist/components/Chart/ChartTooltipRow.d.ts.map +1 -0
  122. package/dist/components/Chart/ChartTooltipRow.js +41 -0
  123. package/dist/components/Chart/ChartTooltipRow.js.map +1 -0
  124. package/dist/components/Chart/LineChart.d.ts +13 -0
  125. package/dist/components/Chart/LineChart.d.ts.map +1 -0
  126. package/dist/components/Chart/LineChart.js +68 -0
  127. package/dist/components/Chart/LineChart.js.map +1 -0
  128. package/dist/components/Dropdown/Dropdown.d.ts +1 -0
  129. package/dist/components/Dropdown/Dropdown.js +24 -53
  130. package/dist/components/Dropdown/DropdownItem.d.ts +1 -0
  131. package/dist/components/Dropdown/DropdownItem.js +9 -35
  132. package/dist/components/Dropdown/index.d.ts +1 -0
  133. package/dist/components/Dropdown/index.js +2 -11
  134. package/dist/components/Modal/Modal.d.ts +1 -0
  135. package/dist/components/Modal/Modal.js +13 -39
  136. package/dist/components/Modal/index.d.ts +1 -0
  137. package/dist/components/Modal/index.js +1 -9
  138. package/dist/components/QuillCard.d.ts +1 -0
  139. package/dist/components/QuillCard.js +8 -13
  140. package/dist/components/ReportBuilder/ColumnSelector.d.ts +24 -6
  141. package/dist/components/ReportBuilder/ColumnSelector.d.ts.map +1 -1
  142. package/dist/components/ReportBuilder/ColumnSelector.js +56 -8
  143. package/dist/components/ReportBuilder/ColumnSelector.js.map +1 -0
  144. package/dist/components/ReportBuilder/FiltersModal.d.ts +40 -0
  145. package/dist/components/ReportBuilder/FiltersModal.d.ts.map +1 -0
  146. package/dist/components/ReportBuilder/FiltersModal.js +273 -0
  147. package/dist/components/ReportBuilder/FiltersModal.js.map +1 -0
  148. package/dist/components/ReportBuilder/SortModal.d.ts +28 -0
  149. package/dist/components/ReportBuilder/SortModal.d.ts.map +1 -0
  150. package/dist/components/ReportBuilder/SortModal.js +41 -0
  151. package/dist/components/ReportBuilder/SortModal.js.map +1 -0
  152. package/dist/components/SqlTextEditor.d.ts +1 -0
  153. package/dist/components/SqlTextEditor.js +4 -11
  154. package/dist/components/UiComponents.d.ts +1 -0
  155. package/dist/components/UiComponents.js +37 -51
  156. package/dist/components/selectUtils.d.ts +1 -0
  157. package/dist/components/selectUtils.js +6 -17
  158. package/dist/contexts/BaseColorContext.d.ts +1 -0
  159. package/dist/contexts/BaseColorContext.js +3 -6
  160. package/dist/contexts/HoveredValueContext.d.ts +1 -0
  161. package/dist/contexts/HoveredValueContext.js +3 -6
  162. package/dist/contexts/RootStylesContext.d.ts +1 -0
  163. package/dist/contexts/RootStylesContext.js +3 -6
  164. package/dist/contexts/SelectedValueContext.d.ts +1 -0
  165. package/dist/contexts/SelectedValueContext.js +3 -6
  166. package/dist/contexts/index.d.ts +1 -0
  167. package/dist/contexts/index.js +4 -15
  168. package/dist/hooks/index.d.ts +1 -0
  169. package/dist/hooks/index.js +4 -15
  170. package/dist/hooks/useDashboard.d.ts +1 -0
  171. package/dist/hooks/useDashboard.js +10 -15
  172. package/dist/hooks/useInternalState.d.ts +1 -0
  173. package/dist/hooks/useInternalState.js +3 -6
  174. package/dist/hooks/useOnClickOutside.d.ts +1 -0
  175. package/dist/hooks/useOnClickOutside.js +3 -6
  176. package/dist/hooks/useOnWindowResize.d.ts +1 -0
  177. package/dist/hooks/useOnWindowResize.js +4 -7
  178. package/dist/hooks/useQuill.d.ts +3 -2
  179. package/dist/hooks/useQuill.d.ts.map +1 -1
  180. package/dist/hooks/useQuill.js +37 -28
  181. package/dist/hooks/useQuill.js.map +1 -1
  182. package/dist/hooks/useSelectOnKeyDown.d.ts +1 -0
  183. package/dist/hooks/useSelectOnKeyDown.js +4 -7
  184. package/dist/index.d.ts +1 -0
  185. package/dist/index.js +13 -33
  186. package/dist/internals/ReportBuilder/PivotList.d.ts +1 -0
  187. package/dist/internals/ReportBuilder/PivotList.js +14 -20
  188. package/dist/internals/ReportBuilder/PivotModal.d.ts +3 -2
  189. package/dist/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  190. package/dist/internals/ReportBuilder/PivotModal.js +280 -115
  191. package/dist/internals/ReportBuilder/PivotModal.js.map +1 -1
  192. package/dist/internals/ReportBuilder/PivotModal.spec.d.ts +1 -0
  193. package/dist/internals/ReportBuilder/PivotModal.spec.js +70 -73
  194. package/dist/lib/font.d.ts +1 -0
  195. package/dist/lib/font.js +2 -6
  196. package/dist/lib/index.d.ts +1 -0
  197. package/dist/lib/index.js +3 -20
  198. package/dist/lib/inputTypes.d.ts +1 -0
  199. package/dist/lib/inputTypes.js +1 -3
  200. package/dist/lib/utils.d.ts +1 -0
  201. package/dist/lib/utils.js +8 -19
  202. package/dist/test-data/tables.d.ts.map +1 -1
  203. package/dist/test-data/tables.js +27 -585
  204. package/dist/test-data/tables.js.map +1 -0
  205. package/dist/utils/aggregate.d.ts +1 -0
  206. package/dist/utils/aggregate.js +28 -35
  207. package/dist/utils/ast.d.ts +18 -0
  208. package/dist/utils/ast.d.ts.map +1 -0
  209. package/dist/utils/ast.js +310 -0
  210. package/dist/utils/ast.js.map +1 -0
  211. package/dist/utils/axisFormatter.d.ts +1 -0
  212. package/dist/utils/axisFormatter.js +19 -24
  213. package/dist/utils/color.d.ts +13 -0
  214. package/dist/utils/color.d.ts.map +1 -0
  215. package/dist/utils/color.js +247 -0
  216. package/dist/utils/color.js.map +1 -0
  217. package/dist/utils/colorToHex.d.ts +1 -0
  218. package/dist/utils/colorToHex.js +1 -5
  219. package/dist/utils/crypto.d.ts +2 -0
  220. package/dist/utils/crypto.d.ts.map +1 -0
  221. package/dist/utils/crypto.js +6 -0
  222. package/dist/utils/crypto.js.map +1 -0
  223. package/dist/utils/dataFetcher.d.ts +1 -0
  224. package/dist/utils/dataFetcher.d.ts.map +1 -1
  225. package/dist/utils/dataFetcher.js +8 -9
  226. package/dist/utils/dataFetcher.js.map +1 -1
  227. package/dist/utils/dates.d.ts +10 -0
  228. package/dist/utils/dates.d.ts.map +1 -0
  229. package/dist/utils/dates.js +32 -0
  230. package/dist/utils/dates.js.map +1 -0
  231. package/dist/utils/downloadCSV.d.ts +1 -0
  232. package/dist/utils/downloadCSV.js +1 -6
  233. package/dist/utils/getDomain.d.ts +8 -0
  234. package/dist/utils/getDomain.d.ts.map +1 -0
  235. package/dist/utils/getDomain.js +28 -0
  236. package/dist/utils/getDomain.js.map +1 -0
  237. package/dist/utils/merge.d.ts +2 -0
  238. package/dist/utils/merge.d.ts.map +1 -0
  239. package/dist/utils/merge.js +45 -0
  240. package/dist/utils/merge.js.map +1 -0
  241. package/dist/utils/schema.d.ts +7 -2
  242. package/dist/utils/schema.d.ts.map +1 -1
  243. package/dist/utils/schema.js +13 -7
  244. package/dist/utils/schema.js.map +1 -0
  245. package/dist/utils/sorting.d.ts +5 -0
  246. package/dist/utils/sorting.d.ts.map +1 -0
  247. package/dist/utils/sorting.js +14 -0
  248. package/dist/utils/sorting.js.map +1 -0
  249. package/dist/utils/textFormatting.d.ts.map +1 -1
  250. package/dist/utils/textFormatting.js +0 -1
  251. package/dist/utils/textFormatting.js.map +1 -0
  252. package/dist/utils/valueFormatter.d.ts +1 -0
  253. package/dist/utils/valueFormatter.js +19 -24
  254. package/dist/utils/valueFormatterCSV.d.ts +1 -0
  255. package/dist/utils/valueFormatterCSV.js +19 -24
  256. package/package.json +2 -3
  257. package/dist/DateRangePicker/Calendar.js.map +0 -1
  258. package/dist/DateRangePicker/dateRangePickerUtils.js.map +0 -1
  259. package/dist/DateRangePicker/index.js.map +0 -1
  260. package/dist/PieChart.js.map +0 -1
  261. package/dist/QuillProvider.js.map +0 -1
  262. package/dist/assets/ArrowDownIcon.js.map +0 -1
  263. package/dist/assets/ArrowDownRightIcon.js.map +0 -1
  264. package/dist/assets/ArrowLeftHeadIcon.js.map +0 -1
  265. package/dist/assets/ArrowRightHeadIcon.js.map +0 -1
  266. package/dist/assets/ArrowRightIcon.js.map +0 -1
  267. package/dist/assets/ArrowUpHeadIcon.js.map +0 -1
  268. package/dist/assets/ArrowUpIcon.js.map +0 -1
  269. package/dist/assets/ArrowUpRightIcon.js.map +0 -1
  270. package/dist/assets/CalendarIcon.js.map +0 -1
  271. package/dist/assets/CalendarNormalIcon.js.map +0 -1
  272. package/dist/assets/DoubleArrowLeftHeadIcon.js.map +0 -1
  273. package/dist/assets/DoubleArrowRightHeadIcon.js.map +0 -1
  274. package/dist/assets/ExclamationFilledIcon.js.map +0 -1
  275. package/dist/assets/FilterIcon.js.map +0 -1
  276. package/dist/assets/LoadingSpinner.js.map +0 -1
  277. package/dist/assets/RefreshIcon.js.map +0 -1
  278. package/dist/assets/SearchIcon.js.map +0 -1
  279. package/dist/assets/UpLeftArrowsIcon.js.map +0 -1
  280. package/dist/assets/XCircleIcon.js.map +0 -1
  281. package/dist/assets/XIcon.js.map +0 -1
  282. package/dist/assets/index.js.map +0 -1
  283. package/dist/components/BigModal/BigModal.js.map +0 -1
  284. package/dist/components/Dropdown/Dropdown.js.map +0 -1
  285. package/dist/components/Dropdown/DropdownItem.js.map +0 -1
  286. package/dist/components/Dropdown/index.js.map +0 -1
  287. package/dist/components/Modal/Modal.js.map +0 -1
  288. package/dist/components/Modal/index.js.map +0 -1
  289. package/dist/components/QuillCard.js.map +0 -1
  290. package/dist/components/selectUtils.js.map +0 -1
  291. package/dist/contexts/BaseColorContext.js.map +0 -1
  292. package/dist/contexts/HoveredValueContext.js.map +0 -1
  293. package/dist/contexts/RootStylesContext.js.map +0 -1
  294. package/dist/contexts/SelectedValueContext.js.map +0 -1
  295. package/dist/contexts/index.js.map +0 -1
  296. package/dist/hooks/index.js.map +0 -1
  297. package/dist/hooks/useDashboard.js.map +0 -1
  298. package/dist/hooks/useInternalState.js.map +0 -1
  299. package/dist/hooks/useOnClickOutside.js.map +0 -1
  300. package/dist/hooks/useOnWindowResize.js.map +0 -1
  301. package/dist/hooks/useSelectOnKeyDown.js.map +0 -1
  302. package/dist/index.js.map +0 -1
  303. package/dist/internals/ReportBuilder/PivotModal.spec.js.map +0 -1
  304. package/dist/lib/font.js.map +0 -1
  305. package/dist/lib/index.js.map +0 -1
  306. package/dist/lib/inputTypes.js.map +0 -1
  307. package/dist/lib/utils.js.map +0 -1
  308. package/dist/utils/aggregate.js.map +0 -1
  309. package/dist/utils/downloadCSV.js.map +0 -1
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aggregate = exports.aggregate2 = exports.whatIsProbablyTheType = void 0;
4
1
  // @ts-nocheck
5
- const ReportBuilder_1 = require("../ReportBuilder");
6
- const Dashboard_1 = require("../Dashboard");
7
- const date_fns_1 = require("date-fns");
2
+ import { getPostgresBasicType } from '../ReportBuilder';
3
+ import { COMPARISON_OPTIONS } from '../Dashboard';
4
+ import { add, sub, startOfWeek, startOfDay, startOfMonth, startOfYear, parse, } from 'date-fns';
8
5
  function findTimePeriod(dateFilter) {
9
6
  if (!dateFilter) {
10
7
  return null;
@@ -53,7 +50,7 @@ function findTimePeriod(dateFilter) {
53
50
  else
54
51
  return 'year';
55
52
  }
56
- function whatIsProbablyTheType(data, fieldName) {
53
+ export function whatIsProbablyTheType(data, fieldName) {
57
54
  const counts = {
58
55
  date: 0,
59
56
  number: 0,
@@ -87,15 +84,14 @@ function whatIsProbablyTheType(data, fieldName) {
87
84
  const maxType = Object.keys(counts).reduce((a, b) => counts[a] > counts[b] ? a : b);
88
85
  return maxType;
89
86
  }
90
- exports.whatIsProbablyTheType = whatIsProbablyTheType;
91
- function aggregate2(dashboardItem, bucketFields, dateFilter) {
87
+ export function aggregate2(dashboardItem, bucketFields, dateFilter) {
92
88
  const timePeriod = findTimePeriod(dateFilter);
93
89
  const rows = dashboardItem.rows;
94
90
  const xAxisLabel = timePeriod;
95
91
  const xAxisField = timePeriod;
96
92
  if (!bucketFields.length || !rows.length)
97
93
  return { ...dashboardItem, bucketedRows: [] };
98
- if ((0, ReportBuilder_1.getPostgresBasicType)(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'string') {
94
+ if (getPostgresBasicType(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'string') {
99
95
  const stringField = bucketFields[0].field;
100
96
  const aggregation = {};
101
97
  // let aggregatedArray;
@@ -126,7 +122,7 @@ function aggregate2(dashboardItem, bucketFields, dateFilter) {
126
122
  bucketedRows: aggregatedArray,
127
123
  };
128
124
  }
129
- else if ((0, ReportBuilder_1.getPostgresBasicType)(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'date') {
125
+ else if (getPostgresBasicType(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'date') {
130
126
  const dateField = bucketFields[0].field;
131
127
  let xAxisFormat;
132
128
  switch (timePeriod) {
@@ -200,8 +196,7 @@ function aggregate2(dashboardItem, bucketFields, dateFilter) {
200
196
  return dashboardItem;
201
197
  }
202
198
  }
203
- exports.aggregate2 = aggregate2;
204
- function aggregate(dashboardItem, bucketFields, dateFilter) {
199
+ export function aggregate(dashboardItem, bucketFields, dateFilter) {
205
200
  const timePeriod = dateFilter && Object.keys(dateFilter).length
206
201
  ? findTimePeriod(dateFilter)
207
202
  : 'month';
@@ -216,7 +211,7 @@ function aggregate(dashboardItem, bucketFields, dateFilter) {
216
211
  //TODO: allow comparison for nonbucketed
217
212
  return { ...dashboardItem, bucketedRows: [] };
218
213
  }
219
- if ((0, ReportBuilder_1.getPostgresBasicType)(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'string') {
214
+ if (getPostgresBasicType(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'string') {
220
215
  const stringField = bucketFields[0].field;
221
216
  const aggregation = {};
222
217
  rows.forEach(row => {
@@ -245,7 +240,7 @@ function aggregate(dashboardItem, bucketFields, dateFilter) {
245
240
  bucketedRows: aggregatedArray,
246
241
  };
247
242
  }
248
- else if ((0, ReportBuilder_1.getPostgresBasicType)(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'date') {
243
+ else if (getPostgresBasicType(dashboardItem.fields.find(field => field.name === bucketFields[0].field)) === 'date') {
249
244
  const dateField = bucketFields[0].field;
250
245
  let interval;
251
246
  let xAxisFormat;
@@ -273,19 +268,19 @@ function aggregate(dashboardItem, bucketFields, dateFilter) {
273
268
  let formattedDate;
274
269
  switch (timePeriod) {
275
270
  case 'day': {
276
- formattedDate = (0, date_fns_1.startOfDay)(firstEntryDate);
271
+ formattedDate = startOfDay(firstEntryDate);
277
272
  break;
278
273
  }
279
274
  case 'week': {
280
- formattedDate = (0, date_fns_1.startOfWeek)(firstEntryDate, { weekStartsOn: 1 });
275
+ formattedDate = startOfWeek(firstEntryDate, { weekStartsOn: 1 });
281
276
  break;
282
277
  }
283
278
  case 'month': {
284
- formattedDate = (0, date_fns_1.startOfMonth)(firstEntryDate);
279
+ formattedDate = startOfMonth(firstEntryDate);
285
280
  break;
286
281
  }
287
282
  case 'year': {
288
- formattedDate = (0, date_fns_1.startOfYear)(firstEntryDate);
283
+ formattedDate = startOfYear(firstEntryDate);
289
284
  break;
290
285
  }
291
286
  default:
@@ -298,27 +293,27 @@ function aggregate(dashboardItem, bucketFields, dateFilter) {
298
293
  dashboardItem.yAxisFields.forEach(yAxisField => {
299
294
  aggregation[iteratedDate][yAxisField.field] = 0;
300
295
  });
301
- iteratedDate = (0, date_fns_1.add)(iteratedDate, interval);
296
+ iteratedDate = add(iteratedDate, interval);
302
297
  }
303
298
  // TODO MAKE WORK WITH MULTIPLE Y AXIS FIELDS
304
299
  rows.forEach(row => {
305
- const date = (0, date_fns_1.parse)(row[dateField], 'yyyy-MM-dd', new Date());
300
+ const date = parse(row[dateField], 'yyyy-MM-dd', new Date());
306
301
  let formattedDate;
307
302
  switch (timePeriod) {
308
303
  case 'day': {
309
- formattedDate = (0, date_fns_1.startOfDay)(date);
304
+ formattedDate = startOfDay(date);
310
305
  break;
311
306
  }
312
307
  case 'week': {
313
- formattedDate = (0, date_fns_1.startOfWeek)(date, { weekStartsOn: 1 });
308
+ formattedDate = startOfWeek(date, { weekStartsOn: 1 });
314
309
  break;
315
310
  }
316
311
  case 'month': {
317
- formattedDate = (0, date_fns_1.startOfMonth)(date);
312
+ formattedDate = startOfMonth(date);
318
313
  break;
319
314
  }
320
315
  case 'year': {
321
- formattedDate = (0, date_fns_1.startOfYear)(date);
316
+ formattedDate = startOfYear(date);
322
317
  break;
323
318
  }
324
319
  default:
@@ -348,35 +343,35 @@ function aggregate(dashboardItem, bucketFields, dateFilter) {
348
343
  dateFilter.comparison &&
349
344
  dateFilter.comparisonRange.value !== 'NO_COMPARISON' &&
350
345
  dashboardItem.compareRows) {
351
- const offset = Dashboard_1.COMPARISON_OPTIONS.find(option => {
346
+ const offset = COMPARISON_OPTIONS.find(option => {
352
347
  return option.value === dateFilter.comparisonRange.value;
353
348
  })?.offset;
354
349
  aggregatedArray.forEach(row => {
355
350
  dashboardItem.yAxisFields.forEach(yAxisField => {
356
351
  row[yAxisField.field + '2'] = 0;
357
352
  });
358
- row[xAxisField + '2'] = (0, date_fns_1.sub)(new Date(row[timePeriod]), offset).toISOString();
353
+ row[xAxisField + '2'] = sub(new Date(row[timePeriod]), offset).toISOString();
359
354
  });
360
355
  compareRows.sort((a, b) => new Date(a[dateField]) - new Date(b[dateField]));
361
356
  compareRows.forEach((row, index) => {
362
- let date = (0, date_fns_1.parse)(row[dateField], 'yyyy-MM-dd', new Date());
363
- date = (0, date_fns_1.add)(date, offset);
357
+ let date = parse(row[dateField], 'yyyy-MM-dd', new Date());
358
+ date = add(date, offset);
364
359
  let formattedDate;
365
360
  switch (timePeriod) {
366
361
  case 'day': {
367
- formattedDate = (0, date_fns_1.startOfDay)(date);
362
+ formattedDate = startOfDay(date);
368
363
  break;
369
364
  }
370
365
  case 'week': {
371
- formattedDate = (0, date_fns_1.startOfWeek)(date, { weekStartsOn: 1 });
366
+ formattedDate = startOfWeek(date, { weekStartsOn: 1 });
372
367
  break;
373
368
  }
374
369
  case 'month': {
375
- formattedDate = (0, date_fns_1.startOfMonth)(date);
370
+ formattedDate = startOfMonth(date);
376
371
  break;
377
372
  }
378
373
  case 'year': {
379
- formattedDate = (0, date_fns_1.startOfYear)(date);
374
+ formattedDate = startOfYear(date);
380
375
  break;
381
376
  }
382
377
  default:
@@ -426,5 +421,3 @@ function aggregate(dashboardItem, bucketFields, dateFilter) {
426
421
  return dashboardItem;
427
422
  }
428
423
  }
429
- exports.aggregate = aggregate;
430
- //# sourceMappingURL=aggregate.js.map
@@ -0,0 +1,18 @@
1
+ import { ColumnSelectorInfo } from '../components/ReportBuilder/ColumnSelector';
2
+ export interface AST {
3
+ with: any;
4
+ type: string;
5
+ options: any;
6
+ distinct: any;
7
+ columns: any;
8
+ into: any;
9
+ from: any;
10
+ where: any;
11
+ groupby: any;
12
+ having: any;
13
+ orderby: any;
14
+ limit: any;
15
+ window: any;
16
+ }
17
+ export declare function generateAST(selectedTable: any, filters: any[], columnSelectorInfo: ColumnSelectorInfo, dateColumn: string, databaseType: string, includeDateColumn?: boolean): AST | undefined;
18
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/utils/ast.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAGhF,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,GAAG,CAAC;CACb;AAED,wBAAgB,WAAW,CACzB,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,GAAG,EAAE,EACd,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,iBAAiB,UAAO,mBAmKzB"}
@@ -0,0 +1,310 @@
1
+ import { reportBuilderOptions } from '../DateRangePicker/dateRangePickerUtils';
2
+ import { format } from 'date-fns';
3
+ export function generateAST(selectedTable, filters, columnSelectorInfo, dateColumn, databaseType, includeDateColumn = true) {
4
+ if (selectedTable && (filters.length || columnSelectorInfo.tableName)) {
5
+ const newAST = {
6
+ with: null,
7
+ type: 'select',
8
+ options: null,
9
+ distinct: null,
10
+ columns: columnSelectorInfo.columns
11
+ ? columnSelectorInfo.columns.map((col) => ({
12
+ type: 'expr',
13
+ expr: {
14
+ type: 'column_ref',
15
+ table: null,
16
+ column: col.name,
17
+ array_index: null,
18
+ },
19
+ }))
20
+ : '*',
21
+ into: { position: null },
22
+ from: columnSelectorInfo.tableName
23
+ ? [{ db: null, table: columnSelectorInfo.tableName, as: null }]
24
+ : [{ db: null, table: selectedTable.displayName, as: null }],
25
+ // where: newDateWhereAST(dateColumn, dateRange || defaultDateRange),
26
+ where: null,
27
+ groupby: null,
28
+ having: null,
29
+ orderby: null,
30
+ limit: null,
31
+ window: null,
32
+ };
33
+ // FILTERS
34
+ for (let i = 0; i < filters.length; i++) {
35
+ const filter = filters[i];
36
+ const { column, columnType, stringFilterValues, numberStart, numberEnd, filterDateRange, } = filter;
37
+ let newCondition;
38
+ let stringCondition;
39
+ if (column === dateColumn && !includeDateColumn) {
40
+ continue;
41
+ }
42
+ if (columnType === 'string') {
43
+ stringFilterValues.forEach((stringFilter) => {
44
+ const filterValue = stringFilter.isLike
45
+ ? `%${stringFilter.value}%`
46
+ : stringFilter.value;
47
+ let curCondition = {
48
+ type: 'binary_expr',
49
+ operator: 'LIKE',
50
+ left: {
51
+ type: 'function',
52
+ name: 'UPPER',
53
+ args: {
54
+ type: 'expr_list',
55
+ value: [
56
+ {
57
+ type: 'column_ref',
58
+ table: null,
59
+ column: column,
60
+ },
61
+ ],
62
+ },
63
+ },
64
+ right: {
65
+ type: 'function',
66
+ name: 'UPPER',
67
+ args: {
68
+ type: 'expr_list',
69
+ value: [
70
+ {
71
+ type: 'string',
72
+ value: filterValue,
73
+ },
74
+ ],
75
+ },
76
+ },
77
+ };
78
+ if (!stringCondition) {
79
+ stringCondition = curCondition;
80
+ }
81
+ else {
82
+ stringCondition = {
83
+ type: 'binary_expr',
84
+ operator: 'OR',
85
+ left: stringCondition,
86
+ right: curCondition,
87
+ parentheses: true,
88
+ };
89
+ }
90
+ });
91
+ newCondition = stringCondition;
92
+ }
93
+ else if (columnType === 'number') {
94
+ if (numberStart && numberEnd) {
95
+ newCondition = {
96
+ type: 'binary_expr',
97
+ operator: 'BETWEEN',
98
+ left: {
99
+ type: 'column_ref',
100
+ table: null,
101
+ column: column,
102
+ },
103
+ right: {
104
+ type: 'expr_list',
105
+ value: [
106
+ { type: 'number', value: numberStart },
107
+ { type: 'number', value: numberEnd },
108
+ ],
109
+ },
110
+ };
111
+ }
112
+ else if (numberStart) {
113
+ newCondition = {
114
+ type: 'binary_expr',
115
+ operator: '>=',
116
+ left: {
117
+ type: 'column_ref',
118
+ table: null,
119
+ column: column,
120
+ },
121
+ right: {
122
+ type: 'number',
123
+ value: numberStart,
124
+ },
125
+ };
126
+ }
127
+ else {
128
+ newCondition = {
129
+ type: 'binary_expr',
130
+ operator: '<=',
131
+ left: {
132
+ type: 'column_ref',
133
+ table: null,
134
+ column: column,
135
+ },
136
+ right: {
137
+ type: 'number',
138
+ value: numberEnd,
139
+ },
140
+ };
141
+ }
142
+ }
143
+ else if (columnType === 'date') {
144
+ newCondition = newDateWhereAST(column, filterDateRange, databaseType);
145
+ }
146
+ if (!newAST.where)
147
+ newAST.where = { parentheses: true, ...newCondition };
148
+ else {
149
+ newAST.where = {
150
+ type: 'binary_expr',
151
+ operator: 'AND',
152
+ left: newAST.where,
153
+ right: newCondition,
154
+ parentheses: true,
155
+ };
156
+ }
157
+ }
158
+ return newAST;
159
+ }
160
+ }
161
+ const newDateWhereAST = (column, dateRange, databaseType) => {
162
+ // all time means no filter
163
+ if (dateRange[2] === 'at') {
164
+ return null;
165
+ }
166
+ // if using preset
167
+ if (dateRange[2]) {
168
+ const timeInterval = reportBuilderOptions.find((elem) => elem.value === dateRange[2])?.dayInterval;
169
+ switch (databaseType) {
170
+ case 'BigQuery': {
171
+ return {
172
+ type: 'binary_expr',
173
+ operator: 'BETWEEN',
174
+ left: {
175
+ type: 'function',
176
+ name: 'Date',
177
+ args: {
178
+ type: 'expr_list',
179
+ value: [
180
+ {
181
+ type: 'column_ref',
182
+ table: null,
183
+ column: column,
184
+ },
185
+ ],
186
+ },
187
+ over: null,
188
+ },
189
+ right: {
190
+ type: 'expr_list',
191
+ value: [
192
+ {
193
+ type: 'function',
194
+ name: 'DATE_SUB',
195
+ args: {
196
+ type: 'expr_list',
197
+ value: [
198
+ {
199
+ type: 'function',
200
+ name: 'CURRENT_DATE',
201
+ args: {
202
+ type: 'expr_list',
203
+ value: [],
204
+ },
205
+ over: null,
206
+ },
207
+ {
208
+ type: 'interval',
209
+ expr: {
210
+ type: 'number',
211
+ value: timeInterval,
212
+ },
213
+ unit: 'day',
214
+ },
215
+ ],
216
+ },
217
+ over: null,
218
+ },
219
+ {
220
+ type: 'function',
221
+ name: 'CURRENT_DATE',
222
+ args: {
223
+ type: 'expr_list',
224
+ value: [],
225
+ },
226
+ over: null,
227
+ },
228
+ ],
229
+ },
230
+ };
231
+ }
232
+ default: {
233
+ return {
234
+ type: 'binary_expr',
235
+ operator: 'AND',
236
+ left: {
237
+ type: 'binary_expr',
238
+ operator: '>=',
239
+ left: {
240
+ type: 'column_ref',
241
+ table: null,
242
+ column: column,
243
+ },
244
+ right: {
245
+ type: 'binary_expr',
246
+ operator: '-',
247
+ left: {
248
+ type: 'function',
249
+ name: 'now',
250
+ args: {
251
+ type: 'expr_list',
252
+ value: [],
253
+ },
254
+ },
255
+ right: {
256
+ type: 'interval',
257
+ expr: {
258
+ type: 'single_quote_string',
259
+ value: `${timeInterval} day`,
260
+ },
261
+ unit: '',
262
+ },
263
+ },
264
+ },
265
+ right: {
266
+ type: 'binary_expr',
267
+ operator: '<=',
268
+ left: {
269
+ type: 'column_ref',
270
+ table: null,
271
+ column: column,
272
+ },
273
+ right: {
274
+ type: 'function',
275
+ name: 'now',
276
+ args: {
277
+ type: 'expr_list',
278
+ value: [],
279
+ },
280
+ },
281
+ },
282
+ };
283
+ }
284
+ }
285
+ }
286
+ else {
287
+ return {
288
+ type: 'binary_expr',
289
+ operator: 'BETWEEN',
290
+ left: {
291
+ type: 'column_ref',
292
+ table: null,
293
+ column: column,
294
+ },
295
+ right: {
296
+ type: 'expr_list',
297
+ value: [
298
+ {
299
+ type: 'single_quote_string',
300
+ value: format(new Date(dateRange[0]), 'MM/dd/yyyy'),
301
+ },
302
+ {
303
+ type: 'single_quote_string',
304
+ value: format(new Date(dateRange[1]), 'MM/dd/yyyy'),
305
+ },
306
+ ],
307
+ },
308
+ };
309
+ }
310
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/utils/ast.ts"],"names":[],"mappings":"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"}
@@ -17,3 +17,4 @@ type Props = {
17
17
  */
18
18
  export declare const axisFormatter: ({ value, field, fields, }: Props) => string | number | boolean;
19
19
  export {};
20
+ //# sourceMappingURL=axisFormatter.d.ts.map
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.axisFormatter = void 0;
4
- const date_fns_1 = require("date-fns");
5
- const date_fns_tz_1 = require("date-fns-tz");
1
+ import { endOfWeek, format, getWeek, isValid, startOfWeek } from 'date-fns';
2
+ import { utcToZonedTime } from 'date-fns-tz';
6
3
  /**
7
4
  * Pretty-prints the given values to their nice-looking string form.
8
5
  *
9
6
  * The axis formatter will print a shorter version of the valueFormatter, which
10
7
  * fits nicely along the X or Y axes.
11
8
  */
12
- const axisFormatter = ({ value, field, fields, }) => {
9
+ export const axisFormatter = ({ value, field, fields, }) => {
13
10
  if (field === undefined || field === null)
14
11
  return '';
15
12
  if (value === undefined || value === null)
@@ -40,7 +37,6 @@ const axisFormatter = ({ value, field, fields, }) => {
40
37
  }
41
38
  return value.toString(); // by default make this value a string
42
39
  };
43
- exports.axisFormatter = axisFormatter;
44
40
  /**
45
41
  * HELPER FUNCTION DEFINITIONS
46
42
  **/
@@ -150,41 +146,40 @@ const formatPercent = (value) => {
150
146
  // Converts the value to a UTC date with the given format string. If the
151
147
  // resulting date is invalid, it returns "Invalid date".
152
148
  const _getUTCDateHelper = (value, fmt) => {
153
- const utcDate = (0, date_fns_tz_1.utcToZonedTime)(new Date(value), 'UTC');
154
- if (!(0, date_fns_1.isValid)(utcDate))
149
+ const utcDate = utcToZonedTime(new Date(value), 'UTC');
150
+ if (!isValid(utcDate))
155
151
  return 'Invalid date';
156
- return (0, date_fns_1.format)(utcDate, fmt);
152
+ return format(utcDate, fmt);
157
153
  };
158
154
  const format_YYYY = (value) => _getUTCDateHelper(value, 'yyyy');
159
155
  const format_MMM_yyyy = (value) => _getUTCDateHelper(value, 'MMM yyyy');
160
156
  const format_hh_ap_pm = (value) => _getUTCDateHelper(value, 'hh:mm aa');
161
157
  const format_MMM_dd_yyyy = (value) => _getUTCDateHelper(value, 'dd MMM yyyy');
162
158
  const format_MMM_dd_MMM_dd = (value) => {
163
- const utcDate = (0, date_fns_tz_1.utcToZonedTime)(new Date(value), 'UTC');
164
- if (!(0, date_fns_1.isValid)(utcDate))
159
+ const utcDate = utcToZonedTime(new Date(value), 'UTC');
160
+ if (!isValid(utcDate))
165
161
  return 'Invalid date';
166
- const monday = (0, date_fns_1.startOfWeek)(utcDate, { weekStartsOn: 1 });
167
- const sunday = (0, date_fns_1.endOfWeek)(utcDate, { weekStartsOn: 1 });
162
+ const monday = startOfWeek(utcDate, { weekStartsOn: 1 });
163
+ const sunday = endOfWeek(utcDate, { weekStartsOn: 1 });
168
164
  // Check if start and end are in the same month
169
- if ((0, date_fns_1.format)(monday, 'MMM') === (0, date_fns_1.format)(sunday, 'MMM')) {
170
- return `${(0, date_fns_1.format)(monday, 'MMM dd')} - ${(0, date_fns_1.format)(sunday, 'dd')}`;
165
+ if (format(monday, 'MMM') === format(sunday, 'MMM')) {
166
+ return `${format(monday, 'MMM dd')} - ${format(sunday, 'dd')}`;
171
167
  }
172
168
  else {
173
- return `${(0, date_fns_1.format)(monday, 'MMM dd')} - ${(0, date_fns_1.format)(sunday, 'MMM dd')}`;
169
+ return `${format(monday, 'MMM dd')} - ${format(sunday, 'MMM dd')}`;
174
170
  }
175
171
  };
176
172
  const format_MMM_dd_hh_mm_ap_pm = (value) => {
177
- const utcDate = (0, date_fns_tz_1.utcToZonedTime)(new Date(value), 'UTC');
178
- if (!(0, date_fns_1.isValid)(utcDate))
173
+ const utcDate = utcToZonedTime(new Date(value), 'UTC');
174
+ if (!isValid(utcDate))
179
175
  return 'Invalid date';
180
176
  const formatStr = utcDate.getMinutes() === 0 ? 'MMM do h a' : 'MMM do h:mm a';
181
- const res = (0, date_fns_1.format)(utcDate, formatStr);
177
+ const res = format(utcDate, formatStr);
182
178
  return res.slice(0, -2) + res.slice(-2).toLowerCase();
183
179
  };
184
180
  const format_wo_yyyy = (value) => {
185
- const utcDate = (0, date_fns_tz_1.utcToZonedTime)(new Date(value), 'UTC');
186
- if (!(0, date_fns_1.isValid)(utcDate))
181
+ const utcDate = utcToZonedTime(new Date(value), 'UTC');
182
+ if (!isValid(utcDate))
187
183
  return 'Invalid date';
188
- return `${(0, date_fns_1.getWeek)(utcDate)},${utcDate.getFullYear()}`;
184
+ return `${getWeek(utcDate)},${utcDate.getFullYear()}`;
189
185
  };
190
- //# sourceMappingURL=axisFormatter.js.map
@@ -0,0 +1,13 @@
1
+ declare const colorValues: readonly ["red", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose"];
2
+ export type Color = (typeof colorValues)[number];
3
+ /**
4
+ * Selects a color from the list of colors based on the element's index. If
5
+ * the element is a comparison range, it will select the color and then
6
+ * transform it to be grayscale.
7
+ * @param element the chart element to select the color for
8
+ * @param colors a list of colors to choose from
9
+ * @param index the index of this element in colors
10
+ */
11
+ export declare function selectColor(element: any, colors: string[], index: number): string;
12
+ export {};
13
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/utils/color.ts"],"names":[],"mappings":"AAAA,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"}