@quillsql/react 2.14.14 → 2.14.16

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 (233) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +0 -12
  3. package/dist/cjs/ChartBuilder.d.ts +2 -3
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +23 -107
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +0 -2
  8. package/dist/cjs/Context.d.ts +2 -6
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +32 -159
  11. package/dist/cjs/Dashboard.d.ts.map +1 -1
  12. package/dist/cjs/Dashboard.js +16 -93
  13. package/dist/cjs/QuillProvider.d.ts +1 -38
  14. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  15. package/dist/cjs/QuillProvider.js +2 -2
  16. package/dist/cjs/ReportBuilder.d.ts +1 -4
  17. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  18. package/dist/cjs/ReportBuilder.js +1270 -103
  19. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  20. package/dist/cjs/SQLEditor.js +6 -50
  21. package/dist/cjs/Table.d.ts.map +1 -1
  22. package/dist/cjs/Table.js +0 -12
  23. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  24. package/dist/cjs/components/Chart/InternalChart.js +1 -24
  25. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  26. package/dist/cjs/components/Dashboard/DashboardTemplate.js +1 -2
  27. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  28. package/dist/cjs/components/Dashboard/DataLoader.js +2 -73
  29. package/dist/cjs/components/Dashboard/util.d.ts +1 -2
  30. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  31. package/dist/cjs/components/Dashboard/util.js +1 -12
  32. package/dist/cjs/components/QuillTable.d.ts +1 -2
  33. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  34. package/dist/cjs/components/QuillTable.js +2 -2
  35. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  36. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +1 -7
  37. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  38. package/dist/cjs/components/ReportBuilder/ui.js +1 -3
  39. package/dist/cjs/components/UiComponents.d.ts +2 -5
  40. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  41. package/dist/cjs/components/UiComponents.js +5 -6
  42. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  43. package/dist/cjs/hooks/useAskQuill.js +0 -38
  44. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  45. package/dist/cjs/hooks/useDashboard.js +4 -60
  46. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  47. package/dist/cjs/hooks/useExport.js +2 -5
  48. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  49. package/dist/cjs/hooks/useQuill.js +1 -25
  50. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  51. package/dist/cjs/hooks/useVirtualTables.js +2 -27
  52. package/dist/cjs/index.d.ts +0 -11
  53. package/dist/cjs/index.d.ts.map +1 -1
  54. package/dist/cjs/index.js +1 -17
  55. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +1 -14
  56. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  57. package/dist/cjs/internals/ReportBuilder/PivotForm.js +4 -87
  58. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -18
  59. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  60. package/dist/cjs/internals/ReportBuilder/PivotModal.js +141 -420
  61. package/dist/cjs/utils/astProcessing.d.ts +2 -4
  62. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  63. package/dist/cjs/utils/astProcessing.js +2 -25
  64. package/dist/cjs/utils/client.d.ts +1 -2
  65. package/dist/cjs/utils/client.d.ts.map +1 -1
  66. package/dist/cjs/utils/client.js +1 -12
  67. package/dist/cjs/utils/dashboard.d.ts +1 -3
  68. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  69. package/dist/cjs/utils/dashboard.js +3 -44
  70. package/dist/cjs/utils/filterProcessing.d.ts +1 -2
  71. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  72. package/dist/cjs/utils/filterProcessing.js +1 -12
  73. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  74. package/dist/cjs/utils/pivotConstructor.js +21 -15
  75. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  76. package/dist/cjs/utils/pivotProcessing.js +3 -1
  77. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  78. package/dist/cjs/utils/queryConstructor.js +19 -11
  79. package/dist/cjs/utils/report.d.ts +5 -10
  80. package/dist/cjs/utils/report.d.ts.map +1 -1
  81. package/dist/cjs/utils/report.js +7 -51
  82. package/dist/cjs/utils/reportBuilder.d.ts.map +1 -1
  83. package/dist/cjs/utils/reportBuilder.js +2 -5
  84. package/dist/cjs/utils/schema.d.ts +2 -5
  85. package/dist/cjs/utils/schema.d.ts.map +1 -1
  86. package/dist/cjs/utils/schema.js +2 -14
  87. package/dist/cjs/utils/tableProcessing.d.ts +10 -17
  88. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  89. package/dist/cjs/utils/tableProcessing.js +17 -99
  90. package/dist/esm/Chart.d.ts.map +1 -1
  91. package/dist/esm/Chart.js +1 -13
  92. package/dist/esm/ChartBuilder.d.ts +2 -3
  93. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  94. package/dist/esm/ChartBuilder.js +25 -109
  95. package/dist/esm/ChartEditor.d.ts.map +1 -1
  96. package/dist/esm/ChartEditor.js +1 -3
  97. package/dist/esm/Context.d.ts +2 -6
  98. package/dist/esm/Context.d.ts.map +1 -1
  99. package/dist/esm/Context.js +31 -158
  100. package/dist/esm/Dashboard.d.ts.map +1 -1
  101. package/dist/esm/Dashboard.js +17 -94
  102. package/dist/esm/QuillProvider.d.ts +1 -38
  103. package/dist/esm/QuillProvider.d.ts.map +1 -1
  104. package/dist/esm/QuillProvider.js +2 -2
  105. package/dist/esm/ReportBuilder.d.ts +1 -4
  106. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  107. package/dist/esm/ReportBuilder.js +1270 -106
  108. package/dist/esm/SQLEditor.d.ts.map +1 -1
  109. package/dist/esm/SQLEditor.js +7 -51
  110. package/dist/esm/Table.d.ts.map +1 -1
  111. package/dist/esm/Table.js +1 -13
  112. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  113. package/dist/esm/components/Chart/InternalChart.js +2 -25
  114. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  115. package/dist/esm/components/Dashboard/DashboardTemplate.js +2 -3
  116. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  117. package/dist/esm/components/Dashboard/DataLoader.js +3 -74
  118. package/dist/esm/components/Dashboard/util.d.ts +1 -2
  119. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  120. package/dist/esm/components/Dashboard/util.js +1 -12
  121. package/dist/esm/components/QuillTable.d.ts +1 -2
  122. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  123. package/dist/esm/components/QuillTable.js +2 -2
  124. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  125. package/dist/esm/components/ReportBuilder/AddColumnModal.js +1 -7
  126. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  127. package/dist/esm/components/ReportBuilder/ui.js +2 -4
  128. package/dist/esm/components/UiComponents.d.ts +2 -5
  129. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  130. package/dist/esm/components/UiComponents.js +5 -6
  131. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  132. package/dist/esm/hooks/useAskQuill.js +1 -39
  133. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  134. package/dist/esm/hooks/useDashboard.js +5 -61
  135. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  136. package/dist/esm/hooks/useExport.js +3 -6
  137. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  138. package/dist/esm/hooks/useQuill.js +2 -26
  139. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  140. package/dist/esm/hooks/useVirtualTables.js +3 -28
  141. package/dist/esm/index.d.ts +0 -11
  142. package/dist/esm/index.d.ts.map +1 -1
  143. package/dist/esm/index.js +0 -8
  144. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +1 -14
  145. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  146. package/dist/esm/internals/ReportBuilder/PivotForm.js +5 -88
  147. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -18
  148. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  149. package/dist/esm/internals/ReportBuilder/PivotModal.js +143 -422
  150. package/dist/esm/utils/astProcessing.d.ts +2 -4
  151. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  152. package/dist/esm/utils/astProcessing.js +2 -25
  153. package/dist/esm/utils/client.d.ts +1 -2
  154. package/dist/esm/utils/client.d.ts.map +1 -1
  155. package/dist/esm/utils/client.js +1 -12
  156. package/dist/esm/utils/dashboard.d.ts +1 -3
  157. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  158. package/dist/esm/utils/dashboard.js +3 -44
  159. package/dist/esm/utils/filterProcessing.d.ts +1 -2
  160. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  161. package/dist/esm/utils/filterProcessing.js +1 -12
  162. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  163. package/dist/esm/utils/pivotConstructor.js +21 -15
  164. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  165. package/dist/esm/utils/pivotProcessing.js +3 -1
  166. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  167. package/dist/esm/utils/queryConstructor.js +19 -11
  168. package/dist/esm/utils/report.d.ts +5 -10
  169. package/dist/esm/utils/report.d.ts.map +1 -1
  170. package/dist/esm/utils/report.js +7 -51
  171. package/dist/esm/utils/reportBuilder.d.ts.map +1 -1
  172. package/dist/esm/utils/reportBuilder.js +2 -5
  173. package/dist/esm/utils/schema.d.ts +2 -5
  174. package/dist/esm/utils/schema.d.ts.map +1 -1
  175. package/dist/esm/utils/schema.js +2 -14
  176. package/dist/esm/utils/tableProcessing.d.ts +10 -17
  177. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  178. package/dist/esm/utils/tableProcessing.js +17 -99
  179. package/package.json +1 -1
  180. package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts +0 -48
  181. package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts.map +0 -1
  182. package/dist/cjs/components/ReportBuilder/ColumnComponent.js +0 -46
  183. package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts +0 -65
  184. package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts.map +0 -1
  185. package/dist/cjs/components/ReportBuilder/FilterComponent.js +0 -51
  186. package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts +0 -42
  187. package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts.map +0 -1
  188. package/dist/cjs/components/ReportBuilder/LimitComponent.js +0 -50
  189. package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts +0 -66
  190. package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts.map +0 -1
  191. package/dist/cjs/components/ReportBuilder/PivotComponent.js +0 -47
  192. package/dist/cjs/components/ReportBuilder/SaveReport.d.ts +0 -162
  193. package/dist/cjs/components/ReportBuilder/SaveReport.d.ts.map +0 -1
  194. package/dist/cjs/components/ReportBuilder/SaveReport.js +0 -31
  195. package/dist/cjs/components/ReportBuilder/SortComponent.d.ts +0 -42
  196. package/dist/cjs/components/ReportBuilder/SortComponent.d.ts.map +0 -1
  197. package/dist/cjs/components/ReportBuilder/SortComponent.js +0 -50
  198. package/dist/cjs/components/ReportBuilder/TableComponent.d.ts +0 -28
  199. package/dist/cjs/components/ReportBuilder/TableComponent.d.ts.map +0 -1
  200. package/dist/cjs/components/ReportBuilder/TableComponent.js +0 -24
  201. package/dist/cjs/hooks/useLongLoading.d.ts +0 -13
  202. package/dist/cjs/hooks/useLongLoading.d.ts.map +0 -1
  203. package/dist/cjs/hooks/useLongLoading.js +0 -67
  204. package/dist/cjs/hooks/useReportBuilder.d.ts +0 -178
  205. package/dist/cjs/hooks/useReportBuilder.d.ts.map +0 -1
  206. package/dist/cjs/hooks/useReportBuilder.js +0 -1476
  207. package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts +0 -48
  208. package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts.map +0 -1
  209. package/dist/esm/components/ReportBuilder/ColumnComponent.js +0 -39
  210. package/dist/esm/components/ReportBuilder/FilterComponent.d.ts +0 -65
  211. package/dist/esm/components/ReportBuilder/FilterComponent.d.ts.map +0 -1
  212. package/dist/esm/components/ReportBuilder/FilterComponent.js +0 -44
  213. package/dist/esm/components/ReportBuilder/LimitComponent.d.ts +0 -42
  214. package/dist/esm/components/ReportBuilder/LimitComponent.d.ts.map +0 -1
  215. package/dist/esm/components/ReportBuilder/LimitComponent.js +0 -46
  216. package/dist/esm/components/ReportBuilder/PivotComponent.d.ts +0 -66
  217. package/dist/esm/components/ReportBuilder/PivotComponent.d.ts.map +0 -1
  218. package/dist/esm/components/ReportBuilder/PivotComponent.js +0 -40
  219. package/dist/esm/components/ReportBuilder/SaveReport.d.ts +0 -162
  220. package/dist/esm/components/ReportBuilder/SaveReport.d.ts.map +0 -1
  221. package/dist/esm/components/ReportBuilder/SaveReport.js +0 -31
  222. package/dist/esm/components/ReportBuilder/SortComponent.d.ts +0 -42
  223. package/dist/esm/components/ReportBuilder/SortComponent.d.ts.map +0 -1
  224. package/dist/esm/components/ReportBuilder/SortComponent.js +0 -46
  225. package/dist/esm/components/ReportBuilder/TableComponent.d.ts +0 -28
  226. package/dist/esm/components/ReportBuilder/TableComponent.d.ts.map +0 -1
  227. package/dist/esm/components/ReportBuilder/TableComponent.js +0 -20
  228. package/dist/esm/hooks/useLongLoading.d.ts +0 -13
  229. package/dist/esm/hooks/useLongLoading.d.ts.map +0 -1
  230. package/dist/esm/hooks/useLongLoading.js +0 -64
  231. package/dist/esm/hooks/useReportBuilder.d.ts +0 -178
  232. package/dist/esm/hooks/useReportBuilder.d.ts.map +0 -1
  233. package/dist/esm/hooks/useReportBuilder.js +0 -1471
@@ -18,14 +18,14 @@ export const hasColumnAlias = (columns, referencedColumns) => {
18
18
  }
19
19
  return false;
20
20
  };
21
- export const getUniqueValuesByQuery = async ({ columns, query, client, getToken, tenants, customFields, filters, dashboardName, eventTracking, }) => {
21
+ export const getUniqueValuesByQuery = async ({ columns, query, client, getToken, tenants, customFields, filters, dashboardName, }) => {
22
22
  const stringNames = columns.map((column) => column.field);
23
23
  const uniqueValues = {};
24
24
  if (stringNames.length === 0) {
25
25
  return {};
26
26
  }
27
27
  const distinctValueQuery = generateDistinctQuery(stringNames, query, client.databaseType || 'postgresql');
28
- const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, getToken, tenants, eventTracking, customFields, filters, dashboardName);
28
+ const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, getToken, tenants, customFields, filters, dashboardName);
29
29
  if (!distinctStrings) {
30
30
  return {};
31
31
  }
@@ -34,13 +34,13 @@ export const getUniqueValuesByQuery = async ({ columns, query, client, getToken,
34
34
  }
35
35
  return uniqueValues;
36
36
  };
37
- export const getUniqueStringValuesByColumn = async ({ columns, tableName, client, getToken, tenants, customFields, withExceededColumns, query, dashboardName, eventTracking, }) => {
37
+ export const getUniqueStringValuesByColumn = async ({ columns, tableName, client, getToken, tenants, customFields, withExceededColumns, query, dashboardName, }) => {
38
38
  const convertedStringColumns = columns.filter((column) => {
39
39
  return isStringType(column.fieldType);
40
40
  });
41
41
  const stringNames = convertedStringColumns.map((column) => processColumnReference(column.field, client.databaseType, undefined, true));
42
42
  const { filteredColumns: smallStringColumns, exceededColumns } = stringNames.length > 0
43
- ? await getCountsByColumns(convertedStringColumns, query || `Select ${stringNames.join(', ')} from ${tableName}`, client, getToken, tenants, customFields ?? [], eventTracking, dashboardName)
43
+ ? await getCountsByColumns(convertedStringColumns, query || `Select ${stringNames.join(', ')} from ${tableName}`, client, getToken, tenants, customFields ?? [], dashboardName)
44
44
  : { filteredColumns: [], exceededColumns: undefined };
45
45
  const smallStringNames = smallStringColumns.map((column) => processColumnReference(column.field, client.databaseType, undefined, true));
46
46
  const newUniqueValues = query || smallStringColumns.length > 0
@@ -53,7 +53,6 @@ export const getUniqueStringValuesByColumn = async ({ columns, tableName, client
53
53
  tenants,
54
54
  customFields: customFields ?? [],
55
55
  dashboardName,
56
- eventTracking,
57
56
  })
58
57
  : null;
59
58
  if (!newUniqueValues) {
@@ -68,7 +67,7 @@ export const getUniqueStringValuesByColumn = async ({ columns, tableName, client
68
67
  }
69
68
  return newUniqueValues;
70
69
  };
71
- export const getUniqueStringValuesByTable = async ({ tables, columns, client, getToken, tenants, dashboardName, customFields, withExceededColumns, queryTemplate, eventTracking, }) => {
70
+ export const getUniqueStringValuesByTable = async ({ tables, columns, client, getToken, tenants, dashboardName, customFields, withExceededColumns, queryTemplate, }) => {
72
71
  const uniqueValues = {};
73
72
  await Promise.all(tables.map(async (tableName) => {
74
73
  const tableColumns = columns.filter((column) => {
@@ -90,13 +89,12 @@ export const getUniqueStringValuesByTable = async ({ tables, columns, client, ge
90
89
  customFields,
91
90
  withExceededColumns,
92
91
  query,
93
- eventTracking,
94
92
  });
95
93
  uniqueValues[tableName] = newUniqueValues;
96
94
  }));
97
95
  return uniqueValues;
98
96
  };
99
- export const getRelevantInfoFromQuery = async ({ tables, columns, aliasedColumns, reportBuilderColumns, client, getToken, tenants, query, queryTemplate, customFields, dashboardName, eventTracking, }) => {
97
+ export const getRelevantInfoFromQuery = async ({ tables, columns, aliasedColumns, reportBuilderColumns, client, getToken, tenants, query, queryTemplate, customFields, dashboardName, }) => {
100
98
  let dateRanges = {};
101
99
  let uniqueStrings = null;
102
100
  const columnUniqueValues = {};
@@ -112,7 +110,6 @@ export const getRelevantInfoFromQuery = async ({ tables, columns, aliasedColumns
112
110
  customFields,
113
111
  withExceededColumns: true,
114
112
  queryTemplate,
115
- eventTracking,
116
113
  });
117
114
  reportBuilderColumns.forEach((column) => {
118
115
  columnUniqueValues[column.alias || column.field] =
@@ -122,24 +119,13 @@ export const getRelevantInfoFromQuery = async ({ tables, columns, aliasedColumns
122
119
  return column.fieldType === 'date';
123
120
  });
124
121
  if (dateColumns.length > 0) {
125
- dateRanges = await getQueryDateRangeByColumns(dateColumns, query, client, getToken, tenants, eventTracking, customFields, dashboardName);
122
+ dateRanges = await getQueryDateRangeByColumns(dateColumns, query, client, getToken, tenants, customFields, dashboardName);
126
123
  if (dateRanges === null) {
127
124
  throw new Error("Couldn't fetch date ranges");
128
125
  }
129
126
  }
130
127
  }
131
128
  catch (e) {
132
- eventTracking?.logError?.({
133
- type: 'bug', // TODO: determine type
134
- severity: 'high',
135
- message: 'Error fetching pivot info',
136
- errorMessage: e.message,
137
- errorStack: e.stack,
138
- errorData: {
139
- caller: 'getRelevantInfoFromQuery',
140
- function: 'getRelevantInfoFromQuery',
141
- },
142
- });
143
129
  error = "Couldn't fetch pivot info";
144
130
  }
145
131
  return {
@@ -149,7 +135,7 @@ export const getRelevantInfoFromQuery = async ({ tables, columns, aliasedColumns
149
135
  error,
150
136
  };
151
137
  };
152
- export const getCountsByColumns = async (columns, query, client, getToken, tenants, customFields, eventTracking, dashboardName) => {
138
+ export const getCountsByColumns = async (columns, query, client, getToken, tenants, customFields, dashboardName) => {
153
139
  const stringNames = columns.map((column) => column.field);
154
140
  const countQuery = generateCountQuery(stringNames, query, client.databaseType || 'postgresql');
155
141
  try {
@@ -188,21 +174,11 @@ export const getCountsByColumns = async (columns, query, client, getToken, tenan
188
174
  return { filteredColumns, exceededColumns };
189
175
  }
190
176
  catch (e) {
191
- eventTracking?.logError?.({
192
- type: 'bug', // TODO: determine type
193
- severity: 'high',
194
- message: 'Error fetching counts by columns',
195
- errorMessage: e.message,
196
- errorStack: e.stack,
197
- errorData: {
198
- caller: 'getCountsByColumns',
199
- function: 'getCountsByColumns',
200
- },
201
- });
177
+ console.error(e);
202
178
  return { filteredColumns: columns, exceededColumns: undefined };
203
179
  }
204
180
  };
205
- const fetchDistinctStrings = async (query, client, getToken, tenants, eventTracking, customFields, filters, dashboardName) => {
181
+ const fetchDistinctStrings = async (query, client, getToken, tenants, customFields, filters, dashboardName) => {
206
182
  try {
207
183
  const { data } = await quillFetch({
208
184
  client,
@@ -255,29 +231,18 @@ const fetchDistinctStrings = async (query, client, getToken, tenants, eventTrack
255
231
  return results;
256
232
  }
257
233
  catch (e) {
258
- eventTracking?.logError?.({
259
- type: 'bug', // TODO: determine type
260
- severity: 'high',
261
- message: 'Error fetching distinct strings',
262
- errorMessage: e.message,
263
- errorStack: e.stack,
264
- errorData: {
265
- caller: 'fetchDistinctStrings',
266
- function: 'fetchDistinctStrings',
267
- },
268
- });
269
234
  return null;
270
235
  }
271
236
  };
272
- export const getQueryDateRangeByColumns = async (columns, query, client, getToken, tenants, eventTracking, customFields, dashboardName) => {
237
+ export const getQueryDateRangeByColumns = async (columns, query, client, getToken, tenants, customFields, dashboardName) => {
273
238
  const columnNames = columns.map(
274
239
  // @ts-ignore
275
240
  (column) => column.field || column.name);
276
241
  const distinctValueQuery = generateMinMaxDateRangeQueries(columnNames, query, client.databaseType || 'postgresql');
277
- const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, getToken, tenants, eventTracking, customFields, dashboardName);
242
+ const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, getToken, tenants, customFields, dashboardName);
278
243
  return dateRanges;
279
244
  };
280
- const fetchQueryDateRanges = async (query, client, getToken, tenants, eventTracking, customFields, dashboardName) => {
245
+ const fetchQueryDateRanges = async (query, client, getToken, tenants, customFields, dashboardName) => {
281
246
  try {
282
247
  const { data } = await quillFetch({
283
248
  client,
@@ -305,22 +270,11 @@ const fetchQueryDateRanges = async (query, client, getToken, tenants, eventTrack
305
270
  return results;
306
271
  }
307
272
  catch (e) {
308
- eventTracking?.logError?.({
309
- type: 'bug', // TODO: determine type
310
- severity: 'high',
311
- message: 'Error fetching query date ranges',
312
- errorMessage: e.message,
313
- errorStack: e.stack,
314
- errorData: {
315
- caller: 'fetchQueryDateRanges',
316
- function: 'fetchQueryDateRanges',
317
- },
318
- });
319
273
  return null;
320
274
  }
321
275
  };
322
276
  // Unused?
323
- export const getPaginatedRows = async (client, getToken, eventTracking, tenants, dashboardName, query, reportId, processing, filters, customFields) => {
277
+ export const getPaginatedRows = async (client, getToken, tenants, dashboardName, query, reportId, processing, filters, customFields) => {
324
278
  if (query) {
325
279
  return await fetchResultsByQuery({
326
280
  query,
@@ -331,7 +285,6 @@ export const getPaginatedRows = async (client, getToken, eventTracking, tenants,
331
285
  filters,
332
286
  dashboardName,
333
287
  getToken,
334
- eventTracking,
335
288
  });
336
289
  }
337
290
  else if (reportId) {
@@ -343,12 +296,11 @@ export const getPaginatedRows = async (client, getToken, eventTracking, tenants,
343
296
  filters,
344
297
  customFields,
345
298
  getToken,
346
- eventTracking,
347
299
  });
348
300
  }
349
301
  return { rows: [], columns: [] };
350
302
  };
351
- export const fetchResultsByQuery = async ({ query, client, tenants, processing, customFields, filters, dateField, rowsOnly, rowCountOnly, filterMap, dashboardName, pivot, getPivotRowCount = true, comparisonQuery, getToken, eventTracking, }) => {
303
+ export const fetchResultsByQuery = async ({ query, client, tenants, processing, customFields, filters, dateField, rowsOnly, rowCountOnly, filterMap, dashboardName, pivot, getPivotRowCount = true, comparisonQuery, getToken, }) => {
352
304
  let rows = [];
353
305
  let columns = [];
354
306
  let error = undefined;
@@ -457,17 +409,6 @@ export const fetchResultsByQuery = async ({ query, client, tenants, processing,
457
409
  }
458
410
  }
459
411
  catch (e) {
460
- eventTracking?.logError?.({
461
- type: 'bug', // TODO: determine type
462
- severity: 'high',
463
- message: 'Error fetching results by query',
464
- errorMessage: e.message,
465
- errorStack: e.stack,
466
- errorData: {
467
- caller: 'fetchResultsByQuery',
468
- function: 'fetchResultsByQuery',
469
- },
470
- });
471
412
  rows = [];
472
413
  columns = [];
473
414
  error = e.message || e;
@@ -477,7 +418,7 @@ export const fetchResultsByQuery = async ({ query, client, tenants, processing,
477
418
  }
478
419
  return { rows, columns, rowCount, error, itemQuery, referencedTables };
479
420
  };
480
- export const fetchResultsByReport = async ({ reportId, client, tenants, processing, filters, customFields, rowsOnly, rowCountOnly, abortSignal, pivot, pivotQuery, comparisonPivotQuery, getPivotRowCount = true, getToken, eventTracking, }) => {
421
+ export const fetchResultsByReport = async ({ reportId, client, tenants, processing, filters, customFields, rowsOnly, rowCountOnly, abortSignal, pivot, pivotQuery, comparisonPivotQuery, getPivotRowCount = true, getToken, }) => {
481
422
  if (pivot && pivotQuery) {
482
423
  return fetchResultsByQuery({
483
424
  query: pivotQuery,
@@ -490,7 +431,6 @@ export const fetchResultsByReport = async ({ reportId, client, tenants, processi
490
431
  pivot,
491
432
  getPivotRowCount,
492
433
  getToken,
493
- eventTracking,
494
434
  });
495
435
  }
496
436
  const updatedProcessing = { ...processing };
@@ -554,17 +494,6 @@ export const fetchResultsByReport = async ({ reportId, client, tenants, processi
554
494
  if (e instanceof Error && e.name === 'AbortError') {
555
495
  throw e;
556
496
  }
557
- eventTracking?.logError?.({
558
- type: 'bug', // TODO: determine type
559
- severity: 'high',
560
- message: 'Error fetching results by report',
561
- errorMessage: e.message,
562
- errorStack: e.stack,
563
- errorData: {
564
- caller: 'fetchResultsByReport',
565
- function: 'fetchResultsByReport',
566
- },
567
- });
568
497
  rows = [];
569
498
  columns = [];
570
499
  rowCount = 0;
@@ -575,7 +504,7 @@ export const fetchResultsByReport = async ({ reportId, client, tenants, processi
575
504
  }
576
505
  return { rows, columns, rowCount, error };
577
506
  };
578
- export const fetchTableByAST = async (ast, client, getToken, tenants, eventTracking, dashboardName, processing, customFields, rowsOnly, rowCountOnly) => {
507
+ export const fetchTableByAST = async (ast, client, getToken, tenants, dashboardName, processing, customFields, rowsOnly, rowCountOnly) => {
579
508
  let rows = [];
580
509
  let columns = [];
581
510
  let rowCount;
@@ -628,17 +557,6 @@ export const fetchTableByAST = async (ast, client, getToken, tenants, eventTrack
628
557
  }
629
558
  }
630
559
  catch (e) {
631
- eventTracking?.logError?.({
632
- type: 'bug', // TODO: determine type
633
- severity: 'high',
634
- message: 'Error fetching table by AST',
635
- errorMessage: e.message,
636
- errorStack: e.stack,
637
- errorData: {
638
- caller: 'fetchTableByAST',
639
- function: 'fetchTableByAST',
640
- },
641
- });
642
560
  rows = [];
643
561
  columns = [];
644
562
  rowCount = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.14.14",
3
+ "version": "2.14.16",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/esm/index.js",
@@ -1,48 +0,0 @@
1
- import { ReportBuilder } from '../../hooks/useReportBuilder';
2
- import { TextInputComponentProps } from '../UiComponents';
3
- interface AddColumnsProps {
4
- reportBuilder: ReportBuilder;
5
- ModalComponent?: (props: {
6
- isOpen: boolean;
7
- setIsOpen: (isOpen: boolean) => void;
8
- title?: string;
9
- children: React.ReactNode;
10
- }) => JSX.Element;
11
- ButtonComponent?: (props: {
12
- onClick: () => void;
13
- label: string;
14
- disabled?: boolean;
15
- isLoading?: boolean;
16
- }) => JSX.Element;
17
- DraggableColumnComponent?: (props: {
18
- label: string;
19
- onDelete: () => void;
20
- DragHandle: ({ dragIcon }: {
21
- dragIcon: () => JSX.Element;
22
- }) => JSX.Element;
23
- deleteDisabled?: boolean;
24
- }) => JSX.Element;
25
- TextInputComponent?: ((props: TextInputComponentProps) => JSX.Element) | React.ForwardRefExoticComponent<TextInputComponentProps & React.RefAttributes<HTMLInputElement>>;
26
- SelectColumnComponent?: (props: {
27
- label: string;
28
- isSelected: boolean;
29
- setSelected: () => void;
30
- DragHandle: ({ dragIcon }: {
31
- dragIcon: () => JSX.Element;
32
- }) => JSX.Element;
33
- }) => JSX.Element;
34
- SecondaryButtonComponent?: (props: {
35
- onClick: () => void;
36
- label: string;
37
- disabled?: boolean;
38
- isLoading?: boolean;
39
- }) => JSX.Element;
40
- ColumnSearchEmptyState?: () => JSX.Element;
41
- LoadingComponent?: () => JSX.Element;
42
- ColumnDisplay?: React.ReactNode;
43
- ModalTrigger?: React.ReactNode;
44
- Modal?: React.ReactNode;
45
- }
46
- export declare const AddColumns: ({ reportBuilder, ModalComponent, ButtonComponent, DraggableColumnComponent, TextInputComponent, SelectColumnComponent, SecondaryButtonComponent, ColumnSearchEmptyState, LoadingComponent, ColumnDisplay, ModalTrigger, Modal, }: AddColumnsProps) => import("react/jsx-runtime").JSX.Element;
47
- export {};
48
- //# sourceMappingURL=ColumnComponent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColumnComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/ColumnComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAML,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAKzB,UAAU,eAAe;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KAC3B,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;QAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,kBAAkB,CAAC,EACf,CAAC,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC,GACjD,KAAK,CAAC,yBAAyB,CAC7B,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAChE,CAAC;IAEN,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;KAC5E,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAsID,eAAO,MAAM,UAAU,qOAkCpB,eAAe,4CAQjB,CAAC"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AddColumns = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const ReportBuilder_1 = require("../../models/ReportBuilder");
9
- const UiComponents_1 = require("../UiComponents");
10
- const AddColumnModal_1 = __importDefault(require("./AddColumnModal"));
11
- const DraggableColumns_1 = __importDefault(require("./DraggableColumns"));
12
- const ui_1 = require("./ui");
13
- const ColumnsDisplayWrapper = ({ reportBuilder, DraggableColumnComponent, }) => {
14
- return ((0, jsx_runtime_1.jsx)(DraggableColumns_1.default, { columns: reportBuilder.columns, DraggableColumnComponent: DraggableColumnComponent, onColumnOrderChange: reportBuilder.handleColumnsChange, loading: reportBuilder.loading }));
15
- };
16
- const ModalTriggerWrapper = ({ reportBuilder, ButtonComponent, }) => {
17
- return ((0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
18
- if (!reportBuilder.openPopover) {
19
- reportBuilder.setOpenPopover('AddColumnModal');
20
- }
21
- }, label: "Select columns", disabled: reportBuilder.loading }));
22
- };
23
- const ModalWrapper = ({ reportBuilder, ModalComponent, TextInputComponent, SelectColumnComponent, SecondaryButtonComponent, ButtonComponent, ColumnSearchEmptyState, LoadingComponent, }) => {
24
- return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: reportBuilder.openPopover === 'AddColumnModal', setIsOpen: (isOpen) => {
25
- if (!isOpen) {
26
- // delay onClose callback so onClick no-ops
27
- setTimeout(() => {
28
- reportBuilder.setOpenPopover(null);
29
- }, 100);
30
- }
31
- }, title: "Select columns", children: (0, jsx_runtime_1.jsx)(AddColumnModal_1.default, { onSave: (tables, columns) => {
32
- reportBuilder.handleMultiStateChange({
33
- state: {
34
- ...ReportBuilder_1.EMPTY_REPORT_BUILDER_STATE,
35
- tables,
36
- columns,
37
- },
38
- fetchData: true,
39
- });
40
- reportBuilder.setOpenPopover(null);
41
- }, selectedTables: reportBuilder.tables, selectedColumns: reportBuilder.columns, schema: reportBuilder.filteredSchema, foreignKeyMap: reportBuilder.foreignKeyMap, schemaLoading: reportBuilder.schemaData.isSchemaLoading, TextInputComponent: TextInputComponent, SelectColumn: SelectColumnComponent, SecondaryButton: SecondaryButtonComponent, Button: ButtonComponent, ColumnSearchEmptyState: ColumnSearchEmptyState, LoadingComponent: LoadingComponent }) }));
42
- };
43
- const AddColumns = ({ reportBuilder, ModalComponent = UiComponents_1.MemoizedModal, ButtonComponent = UiComponents_1.MemoizedSecondaryButton, DraggableColumnComponent = ui_1.QuillDraggableColumn, TextInputComponent = UiComponents_1.QuillTextInput, SelectColumnComponent = ui_1.QuillSelectColumn, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, ColumnSearchEmptyState = UiComponents_1.QuillColumnSearchEmptyState, LoadingComponent = UiComponents_1.QuillLoadingComponent, ColumnDisplay = ((0, jsx_runtime_1.jsx)(ColumnsDisplayWrapper, { reportBuilder: reportBuilder, DraggableColumnComponent: DraggableColumnComponent })), ModalTrigger = ((0, jsx_runtime_1.jsx)(ModalTriggerWrapper, { reportBuilder: reportBuilder, ButtonComponent: SecondaryButtonComponent })), Modal = ((0, jsx_runtime_1.jsx)(ModalWrapper, { reportBuilder: reportBuilder, ModalComponent: ModalComponent, TextInputComponent: TextInputComponent, SelectColumnComponent: SelectColumnComponent, SecondaryButtonComponent: SecondaryButtonComponent, ColumnSearchEmptyState: ColumnSearchEmptyState, LoadingComponent: LoadingComponent, ButtonComponent: ButtonComponent })), }) => {
44
- return ((0, jsx_runtime_1.jsxs)("div", { children: [ColumnDisplay, ModalTrigger, Modal] }));
45
- };
46
- exports.AddColumns = AddColumns;
@@ -1,65 +0,0 @@
1
- import { ReportBuilder } from '../../hooks/useReportBuilder';
2
- import { TextInputComponentProps, SelectComponentProps } from '../UiComponents';
3
- interface AddFiltersProps {
4
- reportBuilder: ReportBuilder;
5
- FilterDisplay?: React.ReactNode;
6
- PopoverTrigger?: React.ReactNode;
7
- Popover?: React.ReactNode;
8
- TabsComponent?: (props: {
9
- options: {
10
- label: string;
11
- value: string;
12
- }[];
13
- value: string;
14
- onChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
15
- }) => JSX.Element;
16
- FilterPopoverComponent?: (props: {
17
- isOpen: boolean;
18
- setIsOpen: (isOpen: boolean) => void;
19
- popoverTitle?: string;
20
- popoverChildren: React.ReactNode;
21
- filterLabel: string;
22
- onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
23
- }) => JSX.Element;
24
- ButtonComponent?: (props: {
25
- onClick: () => void;
26
- label: string;
27
- disabled?: boolean;
28
- icon?: React.ReactNode;
29
- isLoading?: boolean;
30
- tooltipText?: string;
31
- }) => JSX.Element;
32
- SecondaryButtonComponent?: (props: {
33
- onClick: () => void;
34
- label: string;
35
- disabled?: boolean;
36
- icon?: React.ReactNode;
37
- tooltipText?: string;
38
- }) => JSX.Element;
39
- SelectComponent?: (props: SelectComponentProps) => JSX.Element;
40
- TextInputComponent?: ((props: TextInputComponentProps) => JSX.Element) | React.ForwardRefExoticComponent<TextInputComponentProps & React.RefAttributes<HTMLInputElement>>;
41
- MultiSelectComponent?: (props: {
42
- label?: string;
43
- width: number;
44
- value: string[];
45
- options: {
46
- value: string;
47
- label: string;
48
- }[];
49
- onChange: (event: React.ChangeEvent<HTMLSelectElement> | {
50
- target: {
51
- value: (string | null)[];
52
- };
53
- }) => void;
54
- }) => JSX.Element;
55
- PopoverComponent?: (props: {
56
- isOpen: boolean;
57
- setIsOpen: (isOpen: boolean) => void;
58
- triggerLabel?: string;
59
- popoverTitle?: string;
60
- popoverChildren: React.ReactNode;
61
- }) => JSX.Element;
62
- }
63
- export declare const AddFilters: ({ reportBuilder, TabsComponent, FilterPopoverComponent, ButtonComponent, SecondaryButtonComponent, SelectComponent, TextInputComponent, MultiSelectComponent, PopoverComponent, FilterDisplay, PopoverTrigger, Popover, }: AddFiltersProps) => import("react/jsx-runtime").JSX.Element;
64
- export {};
65
- //# sourceMappingURL=FilterComponent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/FilterComponent.tsx"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AddFilters = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const FilterStack_1 = __importDefault(require("./FilterStack"));
9
- const FilterModal_1 = __importDefault(require("./FilterModal"));
10
- const UiComponents_1 = require("../UiComponents");
11
- const ui_1 = require("./ui");
12
- const QuillSelect_1 = require("../QuillSelect");
13
- const QuillMultiSelectWithCombo_1 = require("../QuillMultiSelectWithCombo");
14
- const FilterDisplayWrapper = ({ reportBuilder, FilterStack, TabsComponent, FilterPopoverComponent, FilterModal, ButtonComponent, SecondaryButtonComponent, SelectComponent, TextInputComponent, MultiSelectComponent, }) => {
15
- return reportBuilder.filterStack.length > 0 ? ((0, jsx_runtime_1.jsx)("div", { style: {
16
- display: 'flex',
17
- flexDirection: 'column',
18
- gap: 8,
19
- marginBottom: 12,
20
- }, children: (0, jsx_runtime_1.jsx)(FilterStack, { client: reportBuilder.client, filterStack: reportBuilder.filterStack, handleFilterStackChange: reportBuilder.handleFilterStackChange, schemaData: reportBuilder.schemaData, uniqueValues: reportBuilder.unfilteredUniqueValues, uniqueValuesIsLoading: reportBuilder.unfilteredUniqueValuesIsLoading, tables: reportBuilder.tables, TabsComponent: TabsComponent, FilterPopoverComponent: FilterPopoverComponent, FilterModal: FilterModal, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, actionsEnabled: !reportBuilder.loading, dashboardName: reportBuilder.destinationDashboard, getToken: reportBuilder.getToken, reportBuilderColumns: reportBuilder.columns }) })) : null;
21
- };
22
- const PopoverTriggerWrapper = ({ reportBuilder, SecondaryButtonComponent, }) => {
23
- return ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { disabled: reportBuilder.columns.length === 0 || reportBuilder.loading, onClick: () => {
24
- if (!reportBuilder.openPopover) {
25
- reportBuilder.setOpenPopover('AddFilterPopover');
26
- }
27
- }, label: 'Add filter' }));
28
- };
29
- const PopoverWrapper = ({ reportBuilder, PopoverComponent, FilterModal, ButtonComponent, SelectComponent, TextInputComponent, MultiSelectComponent, }) => {
30
- return ((0, jsx_runtime_1.jsx)("div", { style: {
31
- position: 'relative',
32
- ...(reportBuilder.openPopover === 'AddFilterPopover' && { top: 12 }),
33
- }, children: (0, jsx_runtime_1.jsx)(PopoverComponent, { isOpen: reportBuilder.openPopover === 'AddFilterPopover', setIsOpen: (isOpen) => {
34
- if (!isOpen) {
35
- reportBuilder.setOpenPopover(null);
36
- }
37
- }, popoverTitle: "Add filter", popoverChildren: (0, jsx_runtime_1.jsx)(FilterModal, { schema: reportBuilder.filteredSchema, tables: reportBuilder.tables.map((table) => table.name), fieldValuesMap: reportBuilder.filteredUniqueValues ??
38
- reportBuilder.unfilteredUniqueValues, fieldValuesMapIsLoading: reportBuilder.filteredUniqueValuesIsLoading ||
39
- reportBuilder.unfilteredUniqueValuesIsLoading, onSubmitFilter: (filter) => {
40
- reportBuilder.setOpenPopover(null);
41
- reportBuilder.handleFilterInsertion(filter);
42
- }, hideTableName: reportBuilder.tables.length === 1, onDeleteFilter: () => { }, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, reportBuilderColumns: reportBuilder.columns }) }) }));
43
- };
44
- const AddFilters = ({ reportBuilder, TabsComponent = UiComponents_1.QuillTabs, FilterPopoverComponent = ui_1.QuillFilterPopover, ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, SelectComponent = QuillSelect_1.QuillSelectComponent, TextInputComponent = UiComponents_1.QuillTextInput, MultiSelectComponent = QuillMultiSelectWithCombo_1.QuillMultiSelectComponentWithCombo, PopoverComponent = UiComponents_1.MemoizedPopover, FilterDisplay = ((0, jsx_runtime_1.jsx)(FilterDisplayWrapper, { reportBuilder: reportBuilder, FilterStack: FilterStack_1.default, TabsComponent: TabsComponent, FilterPopoverComponent: FilterPopoverComponent, FilterModal: FilterModal_1.default, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent })), PopoverTrigger = ((0, jsx_runtime_1.jsx)(PopoverTriggerWrapper, { reportBuilder: reportBuilder, SecondaryButtonComponent: SecondaryButtonComponent })), Popover = ((0, jsx_runtime_1.jsx)(PopoverWrapper, { reportBuilder: reportBuilder, PopoverComponent: PopoverComponent, FilterModal: FilterModal_1.default, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent })), }) => {
45
- return ((0, jsx_runtime_1.jsxs)("div", { children: [FilterDisplay, (0, jsx_runtime_1.jsxs)("div", { style: {
46
- display: 'flex',
47
- flexDirection: 'column',
48
- alignItems: 'flex-start',
49
- }, children: [PopoverTrigger, Popover] })] }));
50
- };
51
- exports.AddFilters = AddFilters;
@@ -1,42 +0,0 @@
1
- import { ReportBuilder } from '../../hooks/useReportBuilder';
2
- import { TextInputComponentProps } from '../UiComponents';
3
- interface AddLimitProps {
4
- reportBuilder: ReportBuilder;
5
- LimitDisplay?: React.ReactNode;
6
- PopoverTrigger?: React.ReactNode;
7
- Popover?: React.ReactNode;
8
- ButtonComponent?: (props: {
9
- onClick: () => void;
10
- label: string;
11
- disabled?: boolean;
12
- icon?: React.ReactNode;
13
- isLoading?: boolean;
14
- tooltipText?: string;
15
- }) => JSX.Element;
16
- SecondaryButtonComponent?: (props: {
17
- onClick: () => void;
18
- label: string;
19
- disabled?: boolean;
20
- icon?: React.ReactNode;
21
- tooltipText?: string;
22
- }) => JSX.Element;
23
- TextInputComponent?: ((props: TextInputComponentProps) => JSX.Element) | React.ForwardRefExoticComponent<TextInputComponentProps & React.RefAttributes<HTMLInputElement>>;
24
- PopoverComponent?: (props: {
25
- isOpen: boolean;
26
- setIsOpen: (isOpen: boolean) => void;
27
- triggerLabel?: string;
28
- popoverTitle?: string;
29
- popoverChildren: React.ReactNode;
30
- }) => JSX.Element;
31
- LimitPopoverComponent?: (props: {
32
- isOpen: boolean;
33
- setIsOpen: (isOpen: boolean) => void;
34
- popoverTitle?: string;
35
- popoverChildren: React.ReactNode;
36
- limitLabel: string;
37
- onClickDelete: (e: React.MouseEvent<HTMLElement>) => void;
38
- }) => JSX.Element;
39
- }
40
- export declare const AddLimit: ({ reportBuilder, ButtonComponent, SecondaryButtonComponent, TextInputComponent, PopoverComponent, LimitPopoverComponent, LimitDisplay, PopoverTrigger, Popover, }: AddLimitProps) => import("react/jsx-runtime").JSX.Element;
41
- export {};
42
- //# sourceMappingURL=LimitComponent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LimitComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/LimitComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,uBAAuB,EAIxB,MAAM,iBAAiB,CAAC;AAKzB,UAAU,aAAa;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAG1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,kBAAkB,CAAC,EACf,CAAC,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC,GACjD,KAAK,CAAC,yBAAyB,CAC7B,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAChE,CAAC;IACN,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC;KAClC,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC;QACjC,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;KAC3D,KAAK,GAAG,CAAC,OAAO,CAAC;CACnB;AAsHD,eAAO,MAAM,QAAQ,sKAmClB,aAAa,4CAkBf,CAAC"}
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AddLimit = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const UiComponents_1 = require("../UiComponents");
6
- const AddLimitPopover_1 = require("./AddLimitPopover");
7
- const UiComponents_2 = require("../UiComponents");
8
- const ui_1 = require("./ui");
9
- const LimitDisplayWrapper = ({ reportBuilder, LimitSentence, setOpenPopover, LimitPopover, EditPopover, TextInput, Button, SecondaryButton, }) => {
10
- return reportBuilder.limit ? ((0, jsx_runtime_1.jsx)("div", { style: {
11
- display: 'flex',
12
- flexDirection: 'column',
13
- gap: 8,
14
- marginBottom: 12,
15
- }, children: (0, jsx_runtime_1.jsx)(LimitSentence, { limit: reportBuilder.limit?.value || 0, setOpenPopover: setOpenPopover, LimitPopover: LimitPopover, EditPopover: EditPopover, handleDelete: () => {
16
- reportBuilder.onLimitChange(null, false);
17
- setOpenPopover(null);
18
- }, onSave: (limit) => {
19
- reportBuilder.onLimitChange(limit, false);
20
- setOpenPopover(null);
21
- }, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton, disabled: reportBuilder.loading }) })) : null;
22
- };
23
- const PopoverTriggerWrapper = ({ reportBuilder, SecondaryButtonComponent, }) => {
24
- return ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { disabled: reportBuilder.columns.length === 0 || reportBuilder.loading, onClick: () => {
25
- if (!reportBuilder.openPopover) {
26
- reportBuilder.setOpenPopover('AddLimitPopover');
27
- }
28
- }, label: 'Add limit' }));
29
- };
30
- const PopoverWrapper = ({ reportBuilder, PopoverComponent, AddLimitPopover, TextInputComponent, ButtonComponent, SecondaryButtonComponent, }) => {
31
- return ((0, jsx_runtime_1.jsx)("div", { style: {
32
- position: 'relative',
33
- ...(reportBuilder.openPopover === 'AddLimitPopover' && { top: 12 }),
34
- }, children: (0, jsx_runtime_1.jsx)(PopoverComponent, { isOpen: reportBuilder.openPopover === 'AddLimitPopover', setIsOpen: (isOpen) => {
35
- if (!isOpen) {
36
- reportBuilder.setOpenPopover(null);
37
- }
38
- }, popoverTitle: "Add limit", popoverChildren: (0, jsx_runtime_1.jsx)(AddLimitPopover, { TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, onSave: (limit) => {
39
- reportBuilder.onLimitChange(limit, false);
40
- reportBuilder.setOpenPopover(null);
41
- } }) }) }));
42
- };
43
- const AddLimit = ({ reportBuilder, ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, TextInputComponent = UiComponents_2.QuillTextInput, PopoverComponent = UiComponents_1.MemoizedPopover, LimitPopoverComponent = ui_1.QuillLimitPopover, LimitDisplay = reportBuilder.limit ? ((0, jsx_runtime_1.jsx)(LimitDisplayWrapper, { reportBuilder: reportBuilder, LimitSentence: AddLimitPopover_1.LimitSentence, setOpenPopover: reportBuilder.setOpenPopover, LimitPopover: LimitPopoverComponent, EditPopover: AddLimitPopover_1.AddLimitPopover, TextInput: TextInputComponent, Button: ButtonComponent, SecondaryButton: SecondaryButtonComponent })) : null, PopoverTrigger = ((0, jsx_runtime_1.jsx)(PopoverTriggerWrapper, { reportBuilder: reportBuilder, SecondaryButtonComponent: SecondaryButtonComponent })), Popover = ((0, jsx_runtime_1.jsx)(PopoverWrapper, { reportBuilder: reportBuilder, PopoverComponent: PopoverComponent, AddLimitPopover: AddLimitPopover_1.AddLimitPopover, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent })), }) => {
44
- return ((0, jsx_runtime_1.jsxs)("div", { children: [LimitDisplay, !reportBuilder.limit && ((0, jsx_runtime_1.jsxs)("div", { style: {
45
- display: 'flex',
46
- flexDirection: 'column',
47
- alignItems: 'flex-start',
48
- }, children: [PopoverTrigger, Popover] }))] }));
49
- };
50
- exports.AddLimit = AddLimit;