@quillsql/react 2.13.27 → 2.13.29

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 (261) hide show
  1. package/dist/cjs/Chart.d.ts +2 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +2 -2
  4. package/dist/cjs/ChartBuilder.d.ts +20 -2
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +140 -45
  7. package/dist/cjs/ChartEditor.d.ts +5 -3
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +4 -5
  10. package/dist/cjs/Context.d.ts +15 -4
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +43 -61
  13. package/dist/cjs/Dashboard.d.ts +4 -0
  14. package/dist/cjs/Dashboard.d.ts.map +1 -1
  15. package/dist/cjs/Dashboard.js +49 -9
  16. package/dist/cjs/QuillProvider.d.ts +7 -46
  17. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  18. package/dist/cjs/QuillProvider.js +2 -4
  19. package/dist/cjs/ReportBuilder.d.ts +9 -1
  20. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  21. package/dist/cjs/ReportBuilder.js +198 -80
  22. package/dist/cjs/SQLEditor.d.ts +5 -1
  23. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  24. package/dist/cjs/SQLEditor.js +81 -18
  25. package/dist/cjs/Table.d.ts.map +1 -1
  26. package/dist/cjs/Table.js +3 -2
  27. package/dist/cjs/components/Chart/InternalChart.d.ts +2 -1
  28. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  29. package/dist/cjs/components/Chart/InternalChart.js +110 -28
  30. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  31. package/dist/cjs/components/Chart/PieChart.js +10 -7
  32. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +3 -2
  33. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  34. package/dist/cjs/components/Dashboard/DashboardFilter.js +66 -65
  35. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  36. package/dist/cjs/components/Dashboard/DataLoader.js +81 -34
  37. package/dist/cjs/components/Dashboard/MetricComponent.js +3 -3
  38. package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -1
  39. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  40. package/dist/cjs/components/Dashboard/TableComponent.js +3 -3
  41. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  42. package/dist/cjs/components/Dashboard/util.js +6 -2
  43. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +3 -1
  44. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  45. package/dist/cjs/components/QuillMultiSelectWithCombo.js +29 -20
  46. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  47. package/dist/cjs/components/QuillTable.js +9 -1
  48. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  49. package/dist/cjs/components/ReportBuilder/FilterModal.js +25 -3
  50. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  51. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  52. package/dist/cjs/components/ReportBuilder/FilterStack.js +2 -2
  53. package/dist/cjs/components/ReportBuilder/convert.d.ts +1 -0
  54. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  55. package/dist/cjs/components/ReportBuilder/convert.js +54 -4
  56. package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -1
  57. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  58. package/dist/cjs/components/ReportBuilder/ui.js +3 -2
  59. package/dist/cjs/components/UiComponents.d.ts +1 -0
  60. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  61. package/dist/cjs/hooks/useAskQuill.d.ts +1 -1
  62. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  63. package/dist/cjs/hooks/useAskQuill.js +6 -5
  64. package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -1
  65. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
  66. package/dist/cjs/hooks/useAstToFilterTree.js +3 -3
  67. package/dist/cjs/hooks/useDashboard.d.ts +6 -2
  68. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  69. package/dist/cjs/hooks/useDashboard.js +34 -10
  70. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  71. package/dist/cjs/hooks/useExport.js +6 -4
  72. package/dist/cjs/index.d.ts +2 -1
  73. package/dist/cjs/index.d.ts.map +1 -1
  74. package/dist/cjs/index.js +4 -1
  75. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +8 -2
  76. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  77. package/dist/cjs/internals/ReportBuilder/PivotModal.js +59 -30
  78. package/dist/cjs/models/Client.d.ts +22 -3
  79. package/dist/cjs/models/Client.d.ts.map +1 -1
  80. package/dist/cjs/models/Dashboard.d.ts +2 -0
  81. package/dist/cjs/models/Dashboard.d.ts.map +1 -1
  82. package/dist/cjs/models/Report.d.ts +4 -0
  83. package/dist/cjs/models/Report.d.ts.map +1 -1
  84. package/dist/cjs/utils/astFilterProcessing.d.ts +3 -2
  85. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
  86. package/dist/cjs/utils/astFilterProcessing.js +3323 -977
  87. package/dist/cjs/utils/astProcessing.d.ts +1 -1
  88. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  89. package/dist/cjs/utils/astProcessing.js +4 -2
  90. package/dist/cjs/utils/client.d.ts +4 -2
  91. package/dist/cjs/utils/client.d.ts.map +1 -1
  92. package/dist/cjs/utils/client.js +48 -1
  93. package/dist/cjs/utils/columnProcessing.d.ts +3 -0
  94. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  95. package/dist/cjs/utils/columnProcessing.js +34 -1
  96. package/dist/cjs/utils/constants.d.ts +2 -0
  97. package/dist/cjs/utils/constants.d.ts.map +1 -1
  98. package/dist/cjs/utils/constants.js +3 -1
  99. package/dist/cjs/utils/dashboard.d.ts +4 -3
  100. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  101. package/dist/cjs/utils/dashboard.js +13 -91
  102. package/dist/cjs/utils/dataFetcher.d.ts +3 -1
  103. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  104. package/dist/cjs/utils/dataFetcher.js +66 -30
  105. package/dist/cjs/utils/filterProcessing.d.ts +1 -1
  106. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  107. package/dist/cjs/utils/filterProcessing.js +3 -0
  108. package/dist/cjs/utils/pivotConstructor.d.ts +4 -1
  109. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  110. package/dist/cjs/utils/pivotConstructor.js +7 -7
  111. package/dist/cjs/utils/pivotProcessing.d.ts +4 -1
  112. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  113. package/dist/cjs/utils/pivotProcessing.js +27 -20
  114. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  115. package/dist/cjs/utils/queryConstructor.js +104 -88
  116. package/dist/cjs/utils/report.d.ts +17 -5
  117. package/dist/cjs/utils/report.d.ts.map +1 -1
  118. package/dist/cjs/utils/report.js +23 -23
  119. package/dist/cjs/utils/schema.d.ts.map +1 -1
  120. package/dist/cjs/utils/schema.js +21 -21
  121. package/dist/cjs/utils/tableProcessing.d.ts +37 -10
  122. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  123. package/dist/cjs/utils/tableProcessing.js +46 -38
  124. package/dist/cjs/utils/tenants.d.ts +11 -0
  125. package/dist/cjs/utils/tenants.d.ts.map +1 -0
  126. package/dist/cjs/utils/tenants.js +13 -0
  127. package/dist/cjs/utils/textProcessing.d.ts +1 -0
  128. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  129. package/dist/cjs/utils/textProcessing.js +49 -0
  130. package/dist/cjs/utils/validation.js +1 -1
  131. package/dist/esm/Chart.d.ts +2 -1
  132. package/dist/esm/Chart.d.ts.map +1 -1
  133. package/dist/esm/Chart.js +2 -2
  134. package/dist/esm/ChartBuilder.d.ts +20 -2
  135. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  136. package/dist/esm/ChartBuilder.js +144 -50
  137. package/dist/esm/ChartEditor.d.ts +5 -3
  138. package/dist/esm/ChartEditor.d.ts.map +1 -1
  139. package/dist/esm/ChartEditor.js +5 -6
  140. package/dist/esm/Context.d.ts +15 -4
  141. package/dist/esm/Context.d.ts.map +1 -1
  142. package/dist/esm/Context.js +42 -60
  143. package/dist/esm/Dashboard.d.ts +4 -0
  144. package/dist/esm/Dashboard.d.ts.map +1 -1
  145. package/dist/esm/Dashboard.js +50 -10
  146. package/dist/esm/QuillProvider.d.ts +7 -46
  147. package/dist/esm/QuillProvider.d.ts.map +1 -1
  148. package/dist/esm/QuillProvider.js +2 -4
  149. package/dist/esm/ReportBuilder.d.ts +9 -1
  150. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  151. package/dist/esm/ReportBuilder.js +200 -84
  152. package/dist/esm/SQLEditor.d.ts +5 -1
  153. package/dist/esm/SQLEditor.d.ts.map +1 -1
  154. package/dist/esm/SQLEditor.js +80 -17
  155. package/dist/esm/Table.d.ts.map +1 -1
  156. package/dist/esm/Table.js +4 -3
  157. package/dist/esm/components/Chart/InternalChart.d.ts +2 -1
  158. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  159. package/dist/esm/components/Chart/InternalChart.js +111 -29
  160. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  161. package/dist/esm/components/Chart/PieChart.js +10 -7
  162. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +3 -2
  163. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  164. package/dist/esm/components/Dashboard/DashboardFilter.js +66 -65
  165. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  166. package/dist/esm/components/Dashboard/DataLoader.js +82 -35
  167. package/dist/esm/components/Dashboard/MetricComponent.js +3 -3
  168. package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -1
  169. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  170. package/dist/esm/components/Dashboard/TableComponent.js +3 -3
  171. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  172. package/dist/esm/components/Dashboard/util.js +6 -2
  173. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +3 -1
  174. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  175. package/dist/esm/components/QuillMultiSelectWithCombo.js +29 -20
  176. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  177. package/dist/esm/components/QuillTable.js +9 -1
  178. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  179. package/dist/esm/components/ReportBuilder/FilterModal.js +26 -4
  180. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  181. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  182. package/dist/esm/components/ReportBuilder/FilterStack.js +2 -2
  183. package/dist/esm/components/ReportBuilder/convert.d.ts +1 -0
  184. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  185. package/dist/esm/components/ReportBuilder/convert.js +54 -5
  186. package/dist/esm/components/ReportBuilder/ui.d.ts +2 -1
  187. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  188. package/dist/esm/components/ReportBuilder/ui.js +4 -3
  189. package/dist/esm/components/UiComponents.d.ts +1 -0
  190. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  191. package/dist/esm/hooks/useAskQuill.d.ts +1 -1
  192. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  193. package/dist/esm/hooks/useAskQuill.js +7 -6
  194. package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -1
  195. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
  196. package/dist/esm/hooks/useAstToFilterTree.js +3 -3
  197. package/dist/esm/hooks/useDashboard.d.ts +6 -2
  198. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  199. package/dist/esm/hooks/useDashboard.js +34 -10
  200. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  201. package/dist/esm/hooks/useExport.js +7 -5
  202. package/dist/esm/index.d.ts +2 -1
  203. package/dist/esm/index.d.ts.map +1 -1
  204. package/dist/esm/index.js +1 -0
  205. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +8 -2
  206. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  207. package/dist/esm/internals/ReportBuilder/PivotModal.js +59 -30
  208. package/dist/esm/models/Client.d.ts +22 -3
  209. package/dist/esm/models/Client.d.ts.map +1 -1
  210. package/dist/esm/models/Dashboard.d.ts +2 -0
  211. package/dist/esm/models/Dashboard.d.ts.map +1 -1
  212. package/dist/esm/models/Report.d.ts +4 -0
  213. package/dist/esm/models/Report.d.ts.map +1 -1
  214. package/dist/esm/utils/astFilterProcessing.d.ts +3 -2
  215. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
  216. package/dist/esm/utils/astFilterProcessing.js +3323 -977
  217. package/dist/esm/utils/astProcessing.d.ts +1 -1
  218. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  219. package/dist/esm/utils/astProcessing.js +5 -3
  220. package/dist/esm/utils/client.d.ts +4 -2
  221. package/dist/esm/utils/client.d.ts.map +1 -1
  222. package/dist/esm/utils/client.js +48 -1
  223. package/dist/esm/utils/columnProcessing.d.ts +3 -0
  224. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  225. package/dist/esm/utils/columnProcessing.js +31 -1
  226. package/dist/esm/utils/constants.d.ts +2 -0
  227. package/dist/esm/utils/constants.d.ts.map +1 -1
  228. package/dist/esm/utils/constants.js +2 -0
  229. package/dist/esm/utils/dashboard.d.ts +4 -3
  230. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  231. package/dist/esm/utils/dashboard.js +13 -90
  232. package/dist/esm/utils/dataFetcher.d.ts +3 -1
  233. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  234. package/dist/esm/utils/dataFetcher.js +65 -29
  235. package/dist/esm/utils/filterProcessing.d.ts +1 -1
  236. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  237. package/dist/esm/utils/filterProcessing.js +3 -0
  238. package/dist/esm/utils/pivotConstructor.d.ts +4 -1
  239. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  240. package/dist/esm/utils/pivotConstructor.js +8 -8
  241. package/dist/esm/utils/pivotProcessing.d.ts +4 -1
  242. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  243. package/dist/esm/utils/pivotProcessing.js +27 -20
  244. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  245. package/dist/esm/utils/queryConstructor.js +104 -88
  246. package/dist/esm/utils/report.d.ts +17 -5
  247. package/dist/esm/utils/report.d.ts.map +1 -1
  248. package/dist/esm/utils/report.js +20 -23
  249. package/dist/esm/utils/schema.d.ts.map +1 -1
  250. package/dist/esm/utils/schema.js +21 -21
  251. package/dist/esm/utils/tableProcessing.d.ts +37 -10
  252. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  253. package/dist/esm/utils/tableProcessing.js +47 -39
  254. package/dist/esm/utils/tenants.d.ts +11 -0
  255. package/dist/esm/utils/tenants.d.ts.map +1 -0
  256. package/dist/esm/utils/tenants.js +9 -0
  257. package/dist/esm/utils/textProcessing.d.ts +1 -0
  258. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  259. package/dist/esm/utils/textProcessing.js +48 -0
  260. package/dist/esm/utils/validation.js +1 -1
  261. package/package.json +1 -1
@@ -18,6 +18,11 @@ const useDashboard = (dashboardName, customFilters) => {
18
18
  dashboardConfig[dashboardName]?.loading ||
19
19
  (dashboardConfig[dashboardName] &&
20
20
  !dashboardConfig[dashboardName]?.config.sections), [isClientLoading, dashboardConfig, dashboardName]);
21
+ const populatedDashboardFilters = (0, react_1.useMemo)(() => {
22
+ return dashboardName && dashboardFilters[dashboardName] !== undefined
23
+ ? Object.values(dashboardFilters[dashboardName] ?? {}).map((f) => f.filter)
24
+ : null;
25
+ }, [dashboardFilters, dashboardName]);
21
26
  const handleReload = async (overrideDashboardName, fetchFromServer = false, reportAction, overrideFilters) => {
22
27
  if (!dashboardName)
23
28
  return;
@@ -68,9 +73,7 @@ const useDashboard = (dashboardName, customFilters) => {
68
73
  data: loading || !dashboardName
69
74
  ? null
70
75
  : (dashboardConfig[dashboardName]?.config ?? null),
71
- dashboardFilters: dashboardName && dashboardFilters[dashboardName] !== undefined
72
- ? Object.values(dashboardFilters[dashboardName] ?? {}).map((f) => f.filter)
73
- : null,
76
+ dashboardFilters: populatedDashboardFilters,
74
77
  isLoading: loading,
75
78
  isDashboardFilterLoading,
76
79
  reload: handleReload,
@@ -88,17 +91,23 @@ const useDashboards = () => {
88
91
  name: dashboard.config.name,
89
92
  id: dashboard.config.dashboardId,
90
93
  reports: Object.values(dashboard.config.sections ?? {}).flat(),
94
+ tenantKeys: dashboard.config.tenantKeys,
95
+ createdAt: dashboard.config.createdAt,
91
96
  };
92
97
  });
93
98
  }, [dashboardConfig]);
94
- const createDashboard = async ({ name, filters, dateFilter, }) => {
99
+ const createDashboard = async ({ name, filters, dateFilter, tenantKeys, }) => {
95
100
  if (!client)
96
101
  return;
102
+ if (tenantKeys?.some((key) => !key)) {
103
+ throw new Error('Tenant keys cannot be empty or undefined');
104
+ }
97
105
  dashboardConfigDispatch({
98
106
  type: 'UPDATE_DASHBOARD',
99
107
  id: name,
100
108
  data: {
101
109
  config: {
110
+ tenantKeys,
102
111
  dashboardId: name,
103
112
  name,
104
113
  filters,
@@ -114,6 +123,7 @@ const useDashboards = () => {
114
123
  name: name.trim(),
115
124
  task: 'edit-dashboard',
116
125
  clientId: client.clientId,
126
+ tenantKeys,
117
127
  };
118
128
  try {
119
129
  const response = await fetch(client.queryEndpoint, {
@@ -123,21 +133,28 @@ const useDashboards = () => {
123
133
  'Content-Type': 'application/json',
124
134
  },
125
135
  body: JSON.stringify({ metadata: body }),
136
+ credentials: client.withCredentials ? 'include' : 'omit',
126
137
  });
127
138
  const updated = await response.json();
128
139
  dashboardConfigDispatch({
129
140
  type: 'UPDATE_DASHBOARD',
130
141
  id: name,
131
- data: { config: updated.data.dashboard, loading: false },
142
+ data: { config: {
143
+ ...updated.data.dashboard,
144
+ createdAt: new Date(updated.data.dashboard.createdAt)
145
+ }, loading: false },
132
146
  });
133
147
  }
134
148
  catch (e) {
135
149
  console.error(e);
136
150
  }
137
151
  };
138
- const updateDashboard = async (name, { newName, filters, dateFilter, customFilters, }) => {
152
+ const updateDashboard = async (name, { newName, filters, dateFilter, customFilters, tenantKeys, }) => {
139
153
  if (!client)
140
154
  return;
155
+ if (tenantKeys?.some((key) => !key)) {
156
+ throw new Error('Tenant keys cannot be empty or undefined');
157
+ }
141
158
  const dashboard = dashboardConfig[name]?.config;
142
159
  dashboardConfigDispatch({
143
160
  type: 'DELETE_DASHBOARD',
@@ -150,10 +167,11 @@ const useDashboards = () => {
150
167
  const body = {
151
168
  newDashboardName: newName.trim(),
152
169
  filters,
153
- dateFilter,
170
+ dateFilter: dateFilter ?? null,
154
171
  name: name.trim(),
155
172
  task: 'edit-dashboard',
156
173
  clientId: client.clientId,
174
+ tenantKeys,
157
175
  };
158
176
  try {
159
177
  const response = await fetch(client.queryEndpoint, {
@@ -163,14 +181,19 @@ const useDashboards = () => {
163
181
  'Content-Type': 'application/json',
164
182
  },
165
183
  body: JSON.stringify({ metadata: body }),
184
+ credentials: client.withCredentials ? 'include' : 'omit',
166
185
  });
167
186
  const updated = await response.json();
168
187
  dashboardConfigDispatch({
169
- type: 'ADD_DASHBOARD',
188
+ type: 'UPDATE_DASHBOARD',
170
189
  id: updated.data.dashboard.name,
171
190
  data: {
172
- ...dashboard,
173
- ...updated.data.dashboard,
191
+ config: {
192
+ ...dashboard,
193
+ ...updated.data.dashboard,
194
+ createdAt: new Date(updated.data.dashboard.createdAt),
195
+ },
196
+ loading: false,
174
197
  },
175
198
  });
176
199
  // For each report in the updated.dashboard.sections, set the filterMap
@@ -237,6 +260,7 @@ const useDashboards = () => {
237
260
  name,
238
261
  },
239
262
  }),
263
+ credentials: client.withCredentials ? 'include' : 'omit',
240
264
  });
241
265
  dashboardConfigDispatch({
242
266
  type: 'DELETE_DASHBOARD',
@@ -1 +1 @@
1
- {"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA8D/C,eAAO,MAAM,SAAS,cACT,MAAM,mEAMd;IACD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC,OAAO,CAAC;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;CAgPF,CAAC;AAEF,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
1
+ {"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAmE/C,eAAO,MAAM,SAAS,cACT,MAAM,mEAMd;IACD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC,OAAO,CAAC;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;CAqPF,CAAC;AAEF,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
@@ -18,7 +18,7 @@ const report_1 = require("../utils/report");
18
18
  const jspdf_1 = __importDefault(require("jspdf"));
19
19
  const valueFormatter_1 = require("../utils/valueFormatter");
20
20
  const merge_1 = require("../utils/merge");
21
- async function getExportData(client, dashboardFilters, reportId) {
21
+ async function getExportData(client, dashboardFilters, reportId, tenants, flags) {
22
22
  const minimalFilters = Object.values(dashboardFilters).length
23
23
  ? Object.values(dashboardFilters).map((filter) => {
24
24
  const newFilter = { ...filter };
@@ -33,12 +33,13 @@ async function getExportData(client, dashboardFilters, reportId) {
33
33
  const hostedBody = {
34
34
  metadata: {
35
35
  dashboardItemId: reportId,
36
- orgId: client.organizationId || '*',
37
36
  clientId: client.publicKey,
38
37
  task: 'item',
39
38
  databaseType: client?.databaseType,
40
39
  filters: minimalFilters,
41
40
  useNewNodeSql: true,
41
+ tenants,
42
+ flags,
42
43
  },
43
44
  };
44
45
  const cloudBody = {
@@ -58,6 +59,7 @@ sectionField, } = {}) => {
58
59
  const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
59
60
  const [dashboard] = (0, react_1.useContext)(Context_1.DashboardContext);
60
61
  const { reportFilters } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
62
+ const { tenants, flags } = (0, react_1.useContext)(Context_1.TenantContext);
61
63
  const specificDashboardFilters = (0, react_1.useMemo)(() => {
62
64
  if (!reportId) {
63
65
  return [];
@@ -95,7 +97,7 @@ sectionField, } = {}) => {
95
97
  setIsCSVLoading(true);
96
98
  const resp = await getExportData(client, specificReportFilters.length > 0
97
99
  ? specificReportFilters
98
- : specificDashboardFilters, reportId);
100
+ : specificDashboardFilters, reportId, tenants, flags);
99
101
  (0, csv_1.downloadCSV)({
100
102
  rows: resp.pivot && resp.pivotRows ? resp.pivotRows : resp.rows,
101
103
  fields: resp.pivot && resp.pivotColumns ? resp.pivotColumns : resp.columns,
@@ -108,7 +110,7 @@ sectionField, } = {}) => {
108
110
  const filters = specificReportFilters.length > 0
109
111
  ? specificReportFilters
110
112
  : specificDashboardFilters;
111
- const { report: fetchedReport } = await (0, report_1.fetchReport)(reportId, client, true, filters);
113
+ const { report: fetchedReport } = await (0, report_1.fetchReport)(reportId, client, tenants, flags, true, filters);
112
114
  const report = fetchedReport;
113
115
  if (report.pivot && report.pivotRows && report.pivotColumns) {
114
116
  report.rows = report.pivotRows;
@@ -29,5 +29,6 @@ export type { TableComponentProps } from './components/QuillTable';
29
29
  export type { DateRangePickerComponentProps, DateRangePickerOption, DateRange, } from './DateRangePicker/QuillDateRangePicker';
30
30
  export type { DashboardSectionComponentProps } from './components/Dashboard/DashboardSection';
31
31
  export { Calculation } from './utils/dataProcessing';
32
- export { StringOperator, NullOperator, DateOperator, NumberOperator, FilterType, } from './models/Filter';
32
+ export { StringOperator, NullOperator, DateOperator, NumberOperator, FilterType, type InternalFilter, type DashboardDateFilter, } from './models/Filter';
33
+ export { ALL_TENANTS, SINGLE_TENANT } from './utils/constants';
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,6BAA6B,EAC7B,qBAAqB,EACrB,SAAS,GACV,MAAM,wCAAwC,CAAC;AAChD,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,GACX,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,6BAA6B,EAC7B,qBAAqB,EACrB,SAAS,GACV,MAAM,wCAAwC,CAAC;AAChD,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FilterType = exports.NumberOperator = exports.DateOperator = exports.NullOperator = exports.StringOperator = exports.Calculation = exports.ThemeContext = exports.downloadCSV = exports.useVirtualTables = exports.useAskQuill = exports.useMemoizedRows = exports.useExport = exports.useQuill = exports.useReports = exports.useDashboards = exports.useDashboard = exports.format = exports.ChartEditor = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.Table = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
6
+ exports.SINGLE_TENANT = exports.ALL_TENANTS = exports.FilterType = exports.NumberOperator = exports.DateOperator = exports.NullOperator = exports.StringOperator = exports.Calculation = exports.ThemeContext = exports.downloadCSV = exports.useVirtualTables = exports.useAskQuill = exports.useMemoizedRows = exports.useExport = exports.useQuill = exports.useReports = exports.useDashboards = exports.useDashboard = exports.format = exports.ChartEditor = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.Table = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
7
7
  // src/index.ts
8
8
  var Dashboard_1 = require("./Dashboard");
9
9
  Object.defineProperty(exports, "Dashboard", { enumerable: true, get: function () { return __importDefault(Dashboard_1).default; } });
@@ -49,3 +49,6 @@ Object.defineProperty(exports, "NullOperator", { enumerable: true, get: function
49
49
  Object.defineProperty(exports, "DateOperator", { enumerable: true, get: function () { return Filter_1.DateOperator; } });
50
50
  Object.defineProperty(exports, "NumberOperator", { enumerable: true, get: function () { return Filter_1.NumberOperator; } });
51
51
  Object.defineProperty(exports, "FilterType", { enumerable: true, get: function () { return Filter_1.FilterType; } });
52
+ var constants_1 = require("./utils/constants");
53
+ Object.defineProperty(exports, "ALL_TENANTS", { enumerable: true, get: function () { return constants_1.ALL_TENANTS; } });
54
+ Object.defineProperty(exports, "SINGLE_TENANT", { enumerable: true, get: function () { return constants_1.SINGLE_TENANT; } });
@@ -81,8 +81,9 @@ export interface PivotModalProps {
81
81
  disabled?: boolean;
82
82
  pivotRecommendationsEnabled?: boolean;
83
83
  report?: QuillReportInternal;
84
+ dashboardName?: string;
84
85
  }
85
- export declare const PivotModal: ({ pivotRowField, setPivotRowField, pivotColumnField, setPivotColumnField, pivotValueField, setPivotValueField, pivotValueField2, setPivotValueField2, pivotAggregation, setPivotAggregation, popUpTitle, setPopUpTitle, selectedTable, SelectComponent, ButtonComponent, SecondaryButtonComponent, PopoverComponent, ErrorMessageComponent, PivotRowContainer, PivotColumnContainer, LoadingComponent, CardComponent, HeaderComponent, LabelComponent, TextComponent, selectedPivotIndex, setSelectedPivotIndex, removePivot, selectPivot, showUpdatePivot, setShowUpdatePivot, data, columns, theme, isOpen, setIsOpen, dateRange, createdPivots, setCreatedPivots, recommendedPivots, setRecommendedPivots, triggerButtonText, showPivotEditButton, showEditOnPivotClick, showTrigger, pivotCountRequest, query, initialUniqueValues, uniqueValuesIsLoading, initialSelectedPivotTable, disabled, pivotRecommendationsEnabled, report, }: PivotModalProps) => import("react/jsx-runtime").JSX.Element;
86
+ export declare const PivotModal: ({ pivotRowField, setPivotRowField, pivotColumnField, setPivotColumnField, pivotValueField, setPivotValueField, pivotValueField2, setPivotValueField2, pivotAggregation, setPivotAggregation, popUpTitle, setPopUpTitle, selectedTable, SelectComponent, ButtonComponent, SecondaryButtonComponent, PopoverComponent, ErrorMessageComponent, PivotRowContainer, PivotColumnContainer, LoadingComponent, CardComponent, HeaderComponent, LabelComponent, TextComponent, selectedPivotIndex, setSelectedPivotIndex, removePivot, selectPivot, showUpdatePivot, setShowUpdatePivot, data, columns, theme, isOpen, setIsOpen, dateRange, createdPivots, setCreatedPivots, recommendedPivots, setRecommendedPivots, triggerButtonText, showPivotEditButton, showEditOnPivotClick, showTrigger, pivotCountRequest, query, initialUniqueValues, uniqueValuesIsLoading, initialSelectedPivotTable, disabled, pivotRecommendationsEnabled, report, dashboardName, }: PivotModalProps) => import("react/jsx-runtime").JSX.Element;
86
87
  export declare function generatePivotTableYAxis(pivot: Pivot, cols: {
87
88
  label: string;
88
89
  field: string;
@@ -112,13 +113,18 @@ export declare function getDateString(value: string, dateRange?: {
112
113
  end: Date;
113
114
  }, dateBucket?: string): string;
114
115
  export declare function isDateField(fieldType: string): fieldType is "date" | "MMM_dd" | "MMM_yyyy" | "MMM_dd_yyyy" | "hh_ap_pm" | "MMM_dd_hh:mm_ap_pm" | "datetime" | "timestamp" | "timestamptz";
115
- export declare function generatePivotTable({ pivot, rowLimit, dateBucket, report, client, uniqueValues, }: {
116
+ export declare function generatePivotTable({ pivot, rowLimit, dateBucket, report, client, uniqueValues, dashboardName, tenants, }: {
116
117
  pivot: Pivot;
117
118
  rowLimit?: number;
118
119
  dateBucket?: string;
119
120
  report?: any;
120
121
  client: QuillProviderClient | null;
121
122
  uniqueValues?: any;
123
+ dashboardName?: string;
124
+ tenants?: {
125
+ tenantField: string;
126
+ tenantIds: (string | number)[];
127
+ }[] | (string | number)[];
122
128
  }): Promise<{
123
129
  rows: any[];
124
130
  columns: ColumnInternal[];
@@ -1 +1 @@
1
- {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
@@ -15,30 +15,32 @@ exports.generatePivotTableInMemory = generatePivotTableInMemory;
15
15
  const jsx_runtime_1 = require("react/jsx-runtime");
16
16
  const react_1 = require("react");
17
17
  const Context_1 = require("../../Context");
18
- const dataFetcher_1 = require("../../utils/dataFetcher");
19
18
  const PivotList_1 = require("./PivotList");
20
19
  const date_fns_1 = require("date-fns");
21
20
  const valueFormatter_1 = require("../../utils/valueFormatter");
22
21
  const ChartBuilder_1 = require("../../ChartBuilder");
23
22
  const textProcessing_1 = require("../../utils/textProcessing");
24
23
  const UiComponents_1 = require("../../components/UiComponents");
25
- const ast_1 = require("../../components/ReportBuilder/ast");
26
24
  const QuillCard_1 = require("../../components/QuillCard");
27
25
  const pivotProcessing_1 = require("../../utils/pivotProcessing");
28
26
  const crypto_1 = require("../../utils/crypto");
29
27
  const tableProcessing_1 = require("../../utils/tableProcessing");
30
28
  const pivotConstructor_1 = require("../../utils/pivotConstructor");
31
29
  const dates_1 = require("../../utils/dates");
32
- const big_js_1 = __importDefault(require("big.js"));
30
+ // import Big from 'big.js';
33
31
  const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
34
32
  const filterProcessing_1 = require("../../utils/filterProcessing");
35
- const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivotColumnField, pivotValueField, setPivotValueField, pivotValueField2, setPivotValueField2, pivotAggregation, setPivotAggregation, popUpTitle, setPopUpTitle, selectedTable, SelectComponent, ButtonComponent, SecondaryButtonComponent, PopoverComponent, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, LoadingComponent = UiComponents_1.QuillLoadingComponent, CardComponent = QuillCard_1.QuillCard, HeaderComponent, LabelComponent, TextComponent, selectedPivotIndex, setSelectedPivotIndex, removePivot, selectPivot, showUpdatePivot, setShowUpdatePivot, data, columns, theme, isOpen, setIsOpen, dateRange, createdPivots, setCreatedPivots, recommendedPivots, setRecommendedPivots, triggerButtonText = 'Pivot', showPivotEditButton = false, showEditOnPivotClick = true, showTrigger = true, pivotCountRequest = 6, query, initialUniqueValues, uniqueValuesIsLoading, initialSelectedPivotTable, disabled = false, pivotRecommendationsEnabled = true, report, }) => {
33
+ const columnProcessing_1 = require("../../utils/columnProcessing");
34
+ const dataFetcher_1 = require("../../utils/dataFetcher");
35
+ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivotColumnField, pivotValueField, setPivotValueField, pivotValueField2, setPivotValueField2, pivotAggregation, setPivotAggregation, popUpTitle, setPopUpTitle, selectedTable, SelectComponent, ButtonComponent, SecondaryButtonComponent, PopoverComponent, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, LoadingComponent = UiComponents_1.QuillLoadingComponent, CardComponent = QuillCard_1.QuillCard, HeaderComponent, LabelComponent, TextComponent, selectedPivotIndex, setSelectedPivotIndex, removePivot, selectPivot, showUpdatePivot, setShowUpdatePivot, data, columns, theme, isOpen, setIsOpen, dateRange, createdPivots, setCreatedPivots, recommendedPivots, setRecommendedPivots, triggerButtonText = 'Pivot', showPivotEditButton = false, showEditOnPivotClick = true, showTrigger = true, pivotCountRequest = 6, query, initialUniqueValues, uniqueValuesIsLoading, initialSelectedPivotTable, disabled = false, pivotRecommendationsEnabled = true, report, dashboardName, }) => {
36
36
  const [isLoading, setIsLoading] = (0, react_1.useState)(false);
37
37
  const [previewLoading, setPreviewLoading] = (0, react_1.useState)(false);
38
38
  const [selectedPivotType, setSelectedPivotType] = (0, react_1.useState)('recommended');
39
39
  const [errors, setErrors] = (0, react_1.useState)([]);
40
40
  const [client] = (0, react_1.useContext)(Context_1.ClientContext);
41
41
  const [schemaData] = (0, react_1.useContext)(Context_1.SchemaDataContext);
42
+ const { tenants } = (0, react_1.useContext)(Context_1.TenantContext);
43
+ const { getDataFromCloud } = (0, dataFetcher_1.useQuillCloud)();
42
44
  const rowFieldRef = (0, react_1.useRef)(null);
43
45
  const colFieldRef = (0, react_1.useRef)(null);
44
46
  const [pivotCardWidth, setPivotCardWidth] = (0, react_1.useState)(420);
@@ -61,7 +63,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
61
63
  }
62
64
  if (columns && query) {
63
65
  const stringColumns = columns.filter((column) => {
64
- return (0, ast_1.isTextColumnType)(column.fieldType);
66
+ return (0, columnProcessing_1.isStringType)(column.fieldType);
65
67
  });
66
68
  if (stringColumns.length === 0) {
67
69
  const possibleColumns = (0, pivotProcessing_1.getPossiblePivotFieldOptions)(columns, {});
@@ -72,8 +74,8 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
72
74
  }
73
75
  let newUniqueValues = uniqueValues;
74
76
  if (fetchDistinct || !uniqueValues) {
75
- const { filteredColumns: smallStringColumns } = await (0, tableProcessing_1.getCountsByColumns)(stringColumns, query || '', client, schemaData.customFields ?? []);
76
- newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(smallStringColumns, query || '', data.rows || [], client, schemaData.customFields ?? []);
77
+ const { filteredColumns: smallStringColumns } = await (0, tableProcessing_1.getCountsByColumns)(stringColumns, query || '', client, tenants, schemaData.customFields ?? [], dashboardName);
78
+ newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(smallStringColumns, query || '', data.rows || [], client, tenants, schemaData.customFields ?? [], undefined, dashboardName);
77
79
  }
78
80
  if (!uniqueValues ||
79
81
  (0, crypto_1.hashCode)(uniqueValues) !== (0, crypto_1.hashCode)(newUniqueValues)) {
@@ -99,7 +101,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
99
101
  if (dateColumns.length === 0) {
100
102
  return;
101
103
  }
102
- const dateRangeByColumn = await (0, tableProcessing_1.getQueryDateRangeByColumns)(dateColumns, query || '', client, schemaData.customFields ?? []);
104
+ const dateRangeByColumn = await (0, tableProcessing_1.getQueryDateRangeByColumns)(dateColumns, query || '', client, tenants, schemaData.customFields ?? [], dashboardName);
103
105
  setDateRanges(dateRangeByColumn || {});
104
106
  }
105
107
  };
@@ -145,6 +147,8 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
145
147
  report,
146
148
  client,
147
149
  uniqueValues,
150
+ dashboardName,
151
+ tenants,
148
152
  });
149
153
  setSamplePivotTable({ pivot: pivot, rows, columns });
150
154
  }
@@ -189,6 +193,8 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
189
193
  report,
190
194
  client,
191
195
  uniqueValues,
196
+ dashboardName,
197
+ tenants,
192
198
  });
193
199
  setSamplePivotTable({ pivot: pivot, rows, columns });
194
200
  }
@@ -247,6 +253,8 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
247
253
  report,
248
254
  client,
249
255
  uniqueValues,
256
+ dashboardName,
257
+ tenants,
250
258
  });
251
259
  setSelectedPivotTable({
252
260
  pivot: pivot,
@@ -298,6 +306,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
298
306
  };
299
307
  const onEditPivot = async (pivot, index, pivotType) => {
300
308
  setIsLoading(false);
309
+ setErrors([]);
301
310
  setPivotRowField(pivot.rowField);
302
311
  setPivotColumnField(pivot.columnField);
303
312
  setPivotValueField(pivot.valueField);
@@ -310,7 +319,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
310
319
  setSamplePivotTable(recommendedPivotTables[index]);
311
320
  return;
312
321
  }
313
- if ((0, pivotProcessing_1.isValidPivot)(pivot)) {
322
+ if ((0, pivotProcessing_1.isValidPivot)(pivot).valid) {
314
323
  let dateBucket = undefined;
315
324
  if (pivotRowField && dateRanges[pivotRowField]) {
316
325
  dateBucket = (0, dates_1.getDateBucketFromRange)(dateRanges[pivotRowField].dateRange);
@@ -322,6 +331,8 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
322
331
  report,
323
332
  client,
324
333
  uniqueValues,
334
+ dashboardName,
335
+ tenants,
325
336
  });
326
337
  setSamplePivotTable({ pivot, rows, columns });
327
338
  return;
@@ -386,10 +397,10 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
386
397
  }, {}),
387
398
  };
388
399
  try {
389
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, 'pivotai', cloudBody);
400
+ const resp = await getDataFromCloud(client, 'pivotai', cloudBody);
390
401
  const recommendedPivots = resp?.data?.pivotTables.map((pivot) => (0, pivotProcessing_1.cleanPivot)(pivot, possibleColumns)) || [];
391
402
  const cleanedPivots = recommendedPivots
392
- .filter((pivot) => (0, pivotProcessing_1.isValidPivot)(pivot) &&
403
+ .filter((pivot) => (0, pivotProcessing_1.isValidPivot)(pivot).valid &&
393
404
  (!pivot.columnField || pivot.columnField !== pivot.rowField)) // only recommend valid pivots
394
405
  .map((pivot) => {
395
406
  if (pivot.columnField &&
@@ -428,6 +439,8 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
428
439
  report,
429
440
  client,
430
441
  uniqueValues: trimmedUniqueValues,
442
+ dashboardName,
443
+ tenants,
431
444
  });
432
445
  return { pivot: p, rows, columns };
433
446
  }
@@ -435,7 +448,11 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
435
448
  return undefined;
436
449
  }
437
450
  }));
438
- setRecommendedPivotTables(pts.filter((pt) => pt !== undefined));
451
+ const validPivotTables = pts.filter((pt) => pt !== undefined);
452
+ setRecommendedPivotTables(validPivotTables);
453
+ if (validPivotTables.length === 0) {
454
+ sethasNoRecommendedPivots(true);
455
+ }
439
456
  setSelectedPivotIndex(-1);
440
457
  }
441
458
  catch (e) {
@@ -475,7 +492,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
475
492
  else if (field === 'columnField') {
476
493
  pivot.columnFieldType = columnsToShow[value];
477
494
  }
478
- if (!(0, pivotProcessing_1.isValidPivot)(pivot)) {
495
+ if (!(0, pivotProcessing_1.isValidPivot)(pivot).valid) {
479
496
  setSamplePivotTable(null);
480
497
  return;
481
498
  }
@@ -493,6 +510,8 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
493
510
  report,
494
511
  client,
495
512
  uniqueValues,
513
+ dashboardName,
514
+ tenants,
496
515
  });
497
516
  setSamplePivotTable({ pivot, rows, columns });
498
517
  }
@@ -520,6 +539,8 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
520
539
  report,
521
540
  client,
522
541
  uniqueValues,
542
+ dashboardName,
543
+ tenants,
523
544
  });
524
545
  return { pivot: p, rows, columns };
525
546
  }
@@ -696,7 +717,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
696
717
  valueField2: pivotValueField2 || '',
697
718
  aggregationType: pivotAggregation || '',
698
719
  };
699
- if ((0, pivotProcessing_1.isValidPivot)(pivot)) {
720
+ if ((0, pivotProcessing_1.isValidPivot)(pivot).valid) {
700
721
  pivot.title = generatePivotTitle(pivot);
701
722
  setIsOpen(false);
702
723
  setCreatedPivots([pivot]);
@@ -704,7 +725,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
704
725
  setPopUpTitle('Add pivot');
705
726
  }
706
727
  else {
707
- errors.push('Invalid pivot');
728
+ errors.push((0, pivotProcessing_1.isValidPivot)(pivot).reason);
708
729
  }
709
730
  }
710
731
  setErrors(errors);
@@ -1021,15 +1042,15 @@ const fixBigQueryData = (data = []) => {
1021
1042
  }
1022
1043
  return newData;
1023
1044
  };
1024
- async function generatePivotTable({ pivot, rowLimit = -1, dateBucket, report, client, uniqueValues, }) {
1045
+ async function generatePivotTable({ pivot, rowLimit = -1, dateBucket, report, client, uniqueValues, dashboardName, tenants, }) {
1025
1046
  try {
1026
1047
  if (report && client) {
1027
1048
  const dateFilter = report
1028
1049
  ? report.filtersApplied.find((f) => f.filterType === 'date_range')
1029
1050
  : undefined;
1030
- const pivotTable = await (0, pivotConstructor_1.generatePivotWithSQL)(pivot, report, client, dateBucket, dateFilter, pivot.columnField && uniqueValues
1051
+ const pivotTable = await (0, pivotConstructor_1.generatePivotWithSQL)(pivot, report, client, dateBucket, dateFilter, pivot.columnField && uniqueValues && uniqueValues[pivot.columnField]
1031
1052
  ? Object.keys(uniqueValues[pivot.columnField])
1032
- : undefined, rowLimit === -1 ? undefined : rowLimit);
1053
+ : undefined, rowLimit === -1 ? undefined : rowLimit, dashboardName, tenants);
1033
1054
  return pivotTable;
1034
1055
  }
1035
1056
  }
@@ -1399,13 +1420,17 @@ function valueFieldAggregation(data, valueField, aggregationType, isComparison)
1399
1420
  let count = 0;
1400
1421
  switch (aggregationType) {
1401
1422
  case 'sum':
1402
- value = data.reduce((sum, item) => (0, big_js_1.default)(sum)
1403
- .add((0, big_js_1.default)(parseFloat(item[valueField] ?? 0)))
1404
- .toNumber(), 0);
1423
+ value = data.reduce((sum, item) =>
1424
+ // Big(sum)
1425
+ // .add(Big(parseFloat(item[valueField] ?? '0')))
1426
+ // .toNumber(),
1427
+ sum + parseFloat(item[valueField] ?? '0'), 0);
1405
1428
  if (isComparison) {
1406
- comparisonValue = data.reduce((sum, item) => (0, big_js_1.default)(sum)
1407
- .add((0, big_js_1.default)(parseFloat(item[`comparison_${valueField}`] ?? 0)))
1408
- .toNumber(), 0);
1429
+ comparisonValue = data.reduce((sum, item) =>
1430
+ // Big(sum)
1431
+ // .add(Big(parseFloat(item[`comparison_${valueField}`] ?? '0')))
1432
+ // .toNumber(),
1433
+ sum + parseFloat(item[`comparison_${valueField}`] ?? '0'), 0);
1409
1434
  }
1410
1435
  break;
1411
1436
  case 'count':
@@ -1418,15 +1443,19 @@ function valueFieldAggregation(data, valueField, aggregationType, isComparison)
1418
1443
  case 'average':
1419
1444
  count = data.reduce((count, item) => count + (item[valueField] ? 1 : 0), 0);
1420
1445
  value =
1421
- data.reduce((sum, item) => (0, big_js_1.default)(sum)
1422
- .add((0, big_js_1.default)(parseFloat(item[valueField] ?? 0)))
1423
- .toNumber(), 0) / (count === 0 ? 1 : count);
1446
+ data.reduce((sum, item) =>
1447
+ // Big(sum)
1448
+ // .add(Big(parseFloat(item[valueField] ?? '0')))
1449
+ // .toNumber(),
1450
+ sum + parseFloat(item[valueField] ?? '0'), 0) / (count === 0 ? 1 : count);
1424
1451
  if (isComparison) {
1425
1452
  const comparisonCount = data.reduce((count, item) => count + (item[`comparison_${valueField}`] ? 1 : 0), 0);
1426
1453
  comparisonValue =
1427
- data.reduce((sum, item) => (0, big_js_1.default)(sum)
1428
- .add((0, big_js_1.default)(parseFloat(item[`comparison_${valueField}`] ?? 0)))
1429
- .toNumber(), 0) / (comparisonCount === 0 ? 1 : comparisonCount);
1454
+ data.reduce((sum, item) =>
1455
+ // Big(sum)
1456
+ // .add(Big(parseFloat(item[`comparison_${valueField}`] ?? '0')))
1457
+ // .toNumber(),
1458
+ sum + parseFloat(item[`comparison_${valueField}`] ?? '0'), 0) / (comparisonCount === 0 ? 1 : comparisonCount);
1430
1459
  }
1431
1460
  break;
1432
1461
  case 'max':
@@ -2,7 +2,6 @@ export type Client = {
2
2
  name: string;
3
3
  _id: string;
4
4
  databaseType?: string;
5
- multiTenancyDisabled?: boolean;
6
5
  adminCustomerId?: string;
7
6
  recommendedPivotsDisabled?: boolean;
8
7
  featureFlags?: {
@@ -11,7 +10,6 @@ export type Client = {
11
10
  domainName: string;
12
11
  };
13
12
  export type QuillProviderClient = {
14
- organizationId?: string;
15
13
  name: string;
16
14
  clientId: string;
17
15
  publicKey: string;
@@ -19,12 +17,33 @@ export type QuillProviderClient = {
19
17
  queryHeaders?: HeadersInit;
20
18
  withCredentials: boolean;
21
19
  databaseType?: string;
22
- multiTenancyDisabled?: boolean;
23
20
  adminCustomerId?: string;
24
21
  recommendedPivotsDisabled?: boolean;
25
22
  featureFlags?: {
26
23
  [key: string]: boolean;
27
24
  };
28
25
  domainName: string;
26
+ allTenantTypes?: (QuillTenant | QuillDatabaseTenant)[];
27
+ };
28
+ export type QuillTenant = {
29
+ name: string;
30
+ tenantField: string;
31
+ query: string;
32
+ mappings: {
33
+ [key: string]: {
34
+ query: string;
35
+ };
36
+ };
37
+ tenantIds?: {
38
+ id: string;
39
+ flag?: string;
40
+ label?: string;
41
+ }[];
42
+ scope: 'row' | 'schema' | 'database';
43
+ };
44
+ export type QuillDatabaseTenant = {
45
+ scope: 'database';
46
+ flags: string[];
47
+ tenantField: 'QUILL_SINGLE_TENANT';
29
48
  };
30
49
  //# sourceMappingURL=Client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/models/Client.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/models/Client.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,WAAW,GAAG,mBAAmB,CAAC,EAAE,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC/C,SAAS,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,qBAAqB,CAAC;CACpC,CAAC"}
@@ -10,6 +10,8 @@ export type DashboardConfig = {
10
10
  [key: string]: QuillReport[];
11
11
  };
12
12
  newQueries?: QuillReport[];
13
+ tenantKeys?: string[];
14
+ createdAt: Date;
13
15
  };
14
16
  export type Dashboard = {
15
17
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../../src/models/Dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;KAC9B,CAAC;IACF,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../../src/models/Dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;KAC9B,CAAC;IACF,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC"}
@@ -114,6 +114,10 @@ export interface QuillReportInternal extends QuillReport {
114
114
  columnInternal: ColumnInternal[];
115
115
  /** Represents if the report is currently loading rows */
116
116
  loadingRows?: boolean;
117
+ /** Flags on this report */
118
+ flags?: {
119
+ [tenantField: string]: string[];
120
+ };
117
121
  }
118
122
  export declare const TEMP_REPORT_ID = "__quillTempReport";
119
123
  //# sourceMappingURL=Report.d.ts.map