@quillsql/react 2.12.51 → 2.12.53

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 (265) hide show
  1. package/dist/cjs/Chart.js +1 -1
  2. package/dist/cjs/ChartBuilder.d.ts +7 -3
  3. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  4. package/dist/cjs/ChartBuilder.js +55 -19
  5. package/dist/cjs/ChartEditor.d.ts +3 -1
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +42 -7
  8. package/dist/cjs/Context.d.ts +4 -5
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +22 -34
  11. package/dist/cjs/Dashboard.d.ts +4 -3
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +66 -39
  14. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +8 -10
  16. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
  17. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  18. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -1
  19. package/dist/cjs/QuillProvider.js +1 -1
  20. package/dist/cjs/ReportBuilder.d.ts +8 -12
  21. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  22. package/dist/cjs/ReportBuilder.js +157 -83
  23. package/dist/cjs/SQLEditor.d.ts +8 -1
  24. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  25. package/dist/cjs/SQLEditor.js +80 -28
  26. package/dist/cjs/Table.js +1 -1
  27. package/dist/cjs/assets/AdjustmentsIcon.d.ts +5 -0
  28. package/dist/cjs/assets/AdjustmentsIcon.d.ts.map +1 -0
  29. package/dist/cjs/assets/AdjustmentsIcon.js +5 -0
  30. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  31. package/dist/cjs/assets/index.d.ts +0 -1
  32. package/dist/cjs/assets/index.d.ts.map +1 -1
  33. package/dist/cjs/assets/index.js +1 -3
  34. package/dist/cjs/components/Chart/ChartError.js +2 -2
  35. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +8 -5
  36. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  37. package/dist/cjs/components/Dashboard/DashboardFilter.js +24 -20
  38. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +2 -2
  39. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  40. package/dist/cjs/components/Dashboard/DataLoader.d.ts +5 -1
  41. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  42. package/dist/cjs/components/Dashboard/DataLoader.js +23 -4
  43. package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -1
  44. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  45. package/dist/cjs/components/Dashboard/TableComponent.js +2 -2
  46. package/dist/cjs/components/Dashboard/util.d.ts +2 -2
  47. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  48. package/dist/cjs/components/Dashboard/util.js +2 -2
  49. package/dist/cjs/components/QuillMultiSelect.d.ts +1 -1
  50. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillMultiSelect.js +20 -14
  52. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +1 -1
  53. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  54. package/dist/cjs/components/QuillMultiSelectWithCombo.js +69 -46
  55. package/dist/cjs/components/QuillSelect.d.ts +1 -1
  56. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  57. package/dist/cjs/components/QuillSelect.js +31 -8
  58. package/dist/cjs/components/QuillSelectWithCombo.d.ts +1 -1
  59. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  60. package/dist/cjs/components/QuillSelectWithCombo.js +50 -28
  61. package/dist/cjs/components/QuillTable.d.ts +2 -1
  62. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  63. package/dist/cjs/components/QuillTable.js +7 -4
  64. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +2 -1
  65. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  66. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +2 -2
  67. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +2 -1
  68. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  69. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +2 -2
  70. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +2 -1
  71. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  72. package/dist/cjs/components/ReportBuilder/FilterModal.js +17 -4
  73. package/dist/cjs/components/ReportBuilder/convert.d.ts +1 -1
  74. package/dist/cjs/components/ReportBuilder/ui.d.ts +13 -7
  75. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  76. package/dist/cjs/components/ReportBuilder/ui.js +14 -11
  77. package/dist/cjs/components/UiComponents.d.ts +15 -6
  78. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  79. package/dist/cjs/components/UiComponents.js +29 -23
  80. package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -2
  81. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
  82. package/dist/cjs/hooks/useDashboard.d.ts +10 -2
  83. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  84. package/dist/cjs/hooks/useDashboard.js +85 -53
  85. package/dist/cjs/hooks/useExport.js +1 -1
  86. package/dist/cjs/hooks/useOnClickOutside.js +1 -1
  87. package/dist/cjs/hooks/useQuill.js +2 -2
  88. package/dist/cjs/hooks/useVirtualTables.d.ts +12 -3
  89. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  90. package/dist/cjs/hooks/useVirtualTables.js +105 -1
  91. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -1
  92. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  93. package/dist/cjs/internals/ReportBuilder/PivotForm.js +9 -9
  94. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  95. package/dist/cjs/internals/ReportBuilder/PivotList.js +21 -15
  96. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +3 -2
  97. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  98. package/dist/cjs/internals/ReportBuilder/PivotModal.js +9 -9
  99. package/dist/cjs/models/Client.d.ts +10 -2
  100. package/dist/cjs/models/Client.d.ts.map +1 -1
  101. package/dist/cjs/utils/astProcessing.d.ts +3 -3
  102. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  103. package/dist/cjs/utils/client.d.ts.map +1 -1
  104. package/dist/cjs/utils/client.js +2 -7
  105. package/dist/cjs/utils/dashboard.d.ts +5 -3
  106. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  107. package/dist/cjs/utils/dashboard.js +106 -6
  108. package/dist/cjs/utils/dataFetcher.d.ts +4 -4
  109. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  110. package/dist/cjs/utils/dataFetcher.js +1 -1
  111. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  112. package/dist/cjs/utils/filterProcessing.js +2 -8
  113. package/dist/cjs/utils/paginationProcessing.js +1 -1
  114. package/dist/cjs/utils/pivotConstructor.d.ts +2 -2
  115. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  116. package/dist/cjs/utils/pivotConstructor.js +1 -1
  117. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  118. package/dist/cjs/utils/pivotProcessing.js +6 -2
  119. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  120. package/dist/cjs/utils/queryConstructor.js +12 -9
  121. package/dist/cjs/utils/report.d.ts +6 -5
  122. package/dist/cjs/utils/report.d.ts.map +1 -1
  123. package/dist/cjs/utils/report.js +69 -24
  124. package/dist/cjs/utils/schema.d.ts +3 -3
  125. package/dist/cjs/utils/schema.d.ts.map +1 -1
  126. package/dist/cjs/utils/schema.js +39 -35
  127. package/dist/cjs/utils/tableProcessing.d.ts +17 -10
  128. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  129. package/dist/cjs/utils/tableProcessing.js +42 -23
  130. package/dist/esm/Chart.js +2 -2
  131. package/dist/esm/ChartBuilder.d.ts +7 -3
  132. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  133. package/dist/esm/ChartBuilder.js +52 -19
  134. package/dist/esm/ChartEditor.d.ts +3 -1
  135. package/dist/esm/ChartEditor.d.ts.map +1 -1
  136. package/dist/esm/ChartEditor.js +43 -8
  137. package/dist/esm/Context.d.ts +4 -5
  138. package/dist/esm/Context.d.ts.map +1 -1
  139. package/dist/esm/Context.js +23 -35
  140. package/dist/esm/Dashboard.d.ts +4 -3
  141. package/dist/esm/Dashboard.d.ts.map +1 -1
  142. package/dist/esm/Dashboard.js +67 -40
  143. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  144. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +8 -10
  145. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
  146. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  147. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -1
  148. package/dist/esm/QuillProvider.js +1 -1
  149. package/dist/esm/ReportBuilder.d.ts +8 -12
  150. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  151. package/dist/esm/ReportBuilder.js +160 -86
  152. package/dist/esm/SQLEditor.d.ts +8 -1
  153. package/dist/esm/SQLEditor.d.ts.map +1 -1
  154. package/dist/esm/SQLEditor.js +83 -31
  155. package/dist/esm/Table.js +2 -2
  156. package/dist/esm/assets/AdjustmentsIcon.d.ts +5 -0
  157. package/dist/esm/assets/AdjustmentsIcon.d.ts.map +1 -0
  158. package/dist/esm/assets/AdjustmentsIcon.js +3 -0
  159. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  160. package/dist/esm/assets/index.d.ts +0 -1
  161. package/dist/esm/assets/index.d.ts.map +1 -1
  162. package/dist/esm/assets/index.js +0 -1
  163. package/dist/esm/components/Chart/ChartError.js +2 -2
  164. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +8 -5
  165. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  166. package/dist/esm/components/Dashboard/DashboardFilter.js +24 -20
  167. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +2 -2
  168. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  169. package/dist/esm/components/Dashboard/DataLoader.d.ts +5 -1
  170. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  171. package/dist/esm/components/Dashboard/DataLoader.js +25 -6
  172. package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -1
  173. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  174. package/dist/esm/components/Dashboard/TableComponent.js +2 -2
  175. package/dist/esm/components/Dashboard/util.d.ts +2 -2
  176. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  177. package/dist/esm/components/Dashboard/util.js +2 -2
  178. package/dist/esm/components/QuillMultiSelect.d.ts +1 -1
  179. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  180. package/dist/esm/components/QuillMultiSelect.js +21 -15
  181. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +1 -1
  182. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  183. package/dist/esm/components/QuillMultiSelectWithCombo.js +70 -47
  184. package/dist/esm/components/QuillSelect.d.ts +1 -1
  185. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  186. package/dist/esm/components/QuillSelect.js +32 -9
  187. package/dist/esm/components/QuillSelectWithCombo.d.ts +1 -1
  188. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  189. package/dist/esm/components/QuillSelectWithCombo.js +51 -29
  190. package/dist/esm/components/QuillTable.d.ts +2 -1
  191. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  192. package/dist/esm/components/QuillTable.js +7 -4
  193. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +2 -1
  194. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  195. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -2
  196. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +2 -1
  197. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  198. package/dist/esm/components/ReportBuilder/AddSortPopover.js +2 -2
  199. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +2 -1
  200. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  201. package/dist/esm/components/ReportBuilder/FilterModal.js +17 -4
  202. package/dist/esm/components/ReportBuilder/convert.d.ts +1 -1
  203. package/dist/esm/components/ReportBuilder/ui.d.ts +13 -7
  204. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  205. package/dist/esm/components/ReportBuilder/ui.js +14 -11
  206. package/dist/esm/components/UiComponents.d.ts +15 -6
  207. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  208. package/dist/esm/components/UiComponents.js +29 -23
  209. package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -2
  210. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
  211. package/dist/esm/hooks/useDashboard.d.ts +10 -2
  212. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  213. package/dist/esm/hooks/useDashboard.js +86 -54
  214. package/dist/esm/hooks/useExport.js +1 -1
  215. package/dist/esm/hooks/useOnClickOutside.js +1 -1
  216. package/dist/esm/hooks/useQuill.js +3 -3
  217. package/dist/esm/hooks/useVirtualTables.d.ts +12 -3
  218. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  219. package/dist/esm/hooks/useVirtualTables.js +106 -2
  220. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -1
  221. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  222. package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -9
  223. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  224. package/dist/esm/internals/ReportBuilder/PivotList.js +21 -15
  225. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +3 -2
  226. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  227. package/dist/esm/internals/ReportBuilder/PivotModal.js +9 -9
  228. package/dist/esm/models/Client.d.ts +10 -2
  229. package/dist/esm/models/Client.d.ts.map +1 -1
  230. package/dist/esm/utils/astProcessing.d.ts +3 -3
  231. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  232. package/dist/esm/utils/client.d.ts.map +1 -1
  233. package/dist/esm/utils/client.js +2 -7
  234. package/dist/esm/utils/dashboard.d.ts +5 -3
  235. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  236. package/dist/esm/utils/dashboard.js +104 -5
  237. package/dist/esm/utils/dataFetcher.d.ts +4 -4
  238. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  239. package/dist/esm/utils/dataFetcher.js +1 -1
  240. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  241. package/dist/esm/utils/filterProcessing.js +2 -8
  242. package/dist/esm/utils/paginationProcessing.js +1 -1
  243. package/dist/esm/utils/pivotConstructor.d.ts +2 -2
  244. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  245. package/dist/esm/utils/pivotConstructor.js +1 -1
  246. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  247. package/dist/esm/utils/pivotProcessing.js +6 -2
  248. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  249. package/dist/esm/utils/queryConstructor.js +12 -9
  250. package/dist/esm/utils/report.d.ts +6 -5
  251. package/dist/esm/utils/report.d.ts.map +1 -1
  252. package/dist/esm/utils/report.js +68 -24
  253. package/dist/esm/utils/schema.d.ts +3 -3
  254. package/dist/esm/utils/schema.d.ts.map +1 -1
  255. package/dist/esm/utils/schema.js +39 -35
  256. package/dist/esm/utils/tableProcessing.d.ts +17 -10
  257. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  258. package/dist/esm/utils/tableProcessing.js +39 -20
  259. package/package.json +1 -1
  260. package/dist/cjs/assets/LoadingSpinner.d.ts +0 -5
  261. package/dist/cjs/assets/LoadingSpinner.d.ts.map +0 -1
  262. package/dist/cjs/assets/LoadingSpinner.js +0 -5
  263. package/dist/esm/assets/LoadingSpinner.d.ts +0 -5
  264. package/dist/esm/assets/LoadingSpinner.d.ts.map +0 -1
  265. package/dist/esm/assets/LoadingSpinner.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAmCjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,GACR,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAiJd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe;UAOpB,GAAG;;mCAGE,WAAW,UACZ,UAAU,KACf,YAAY;2BACM,GAAG;aACjB,GAAG,EAAE,GAAG,IAAI;wDAMlB,yBAAyB,KAAK,WAAW;MAC1C,WA4EH,CAAC"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAoCjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,GACR,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CA+Kd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe;UAOpB,GAAG;;mCAGE,WAAW,UACZ,UAAU,KACf,YAAY;2BACM,GAAG;aACjB,GAAG,EAAE,GAAG,IAAI;qFAQlB,yBAAyB,KAAK,WAAW;MAC1C,WA4EH,CAAC"}
@@ -39,6 +39,22 @@ function DataLoader({ item, children, filters, }) {
39
39
  const [additionalProcessing, setAdditionProcessing] = (0, react_1.useState)({
40
40
  page: paginationProcessing_1.DEFAULT_PAGINATION,
41
41
  });
42
+ const [rowCount, setRowCount] = (0, react_1.useState)(dashboard[item._id]?.rowCount ?? 0);
43
+ const [rowCountIsLoading, setRowCountIsLoading] = (0, react_1.useState)(false);
44
+ const fetchRowCount = async (processing) => {
45
+ if (!client || !filters) {
46
+ return;
47
+ }
48
+ setRowCountIsLoading(true);
49
+ const rowCount = await (0, report_1.fetchReportRowCount)(item._id, client, true, filters, processing, schemaData.customFields);
50
+ dispatch({
51
+ type: 'UPDATE_DASHBOARD_ITEM',
52
+ id: item._id,
53
+ data: { rowCount },
54
+ });
55
+ setRowCount(rowCount);
56
+ setRowCountIsLoading(false);
57
+ };
42
58
  const onPageChange = (page) => {
43
59
  if (additionalProcessing &&
44
60
  additionalProcessing.page &&
@@ -72,7 +88,7 @@ function DataLoader({ item, children, filters, }) {
72
88
  setLoading(true);
73
89
  try {
74
90
  const updatedProcessing = { ...additionalProcessing, ...processing };
75
- const paginatedRows = await (0, tableProcessing_1.fetchTableByReport)(report.id, client, updatedProcessing, filters, schemaData.customFields);
91
+ const paginatedRows = await (0, tableProcessing_1.fetchResultsByReport)(report.id, client, updatedProcessing, filters, schemaData.customFields);
76
92
  if (paginatedRows.error) {
77
93
  throw new Error('Error fetching chart');
78
94
  }
@@ -109,13 +125,14 @@ function DataLoader({ item, children, filters, }) {
109
125
  return;
110
126
  }
111
127
  setLoading(true);
112
- const { report, error } = await (0, report_1.fetchReport)(item._id, client, true, filters, processing, undefined, schemaData.customFields);
128
+ const { report: fetchedReport, error } = await (0, report_1.fetchReport)(item._id, client, true, filters, processing, undefined, schemaData.customFields);
129
+ fetchRowCount(processing);
113
130
  dispatch({
114
131
  type: 'ADD_DASHBOARD_ITEM',
115
132
  id: item._id,
116
- data: { ...report, triggerReload: false },
133
+ data: { ...fetchedReport, triggerReload: false },
117
134
  });
118
- const convertedReport = (0, report_1.convertInternalReportToReport)(report);
135
+ const convertedReport = (0, report_1.convertInternalReportToReport)(fetchedReport);
119
136
  setReport(convertedReport);
120
137
  setAdditionProcessing(processing);
121
138
  setError(error);
@@ -139,6 +156,8 @@ function DataLoader({ item, children, filters, }) {
139
156
  onPageChange,
140
157
  onSortChange,
141
158
  data: report,
159
+ rowCount,
160
+ rowCountIsLoading,
142
161
  }) }));
143
162
  }
144
163
  exports.default = DataLoader;
@@ -1,11 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { QuillReport } from '../../models/Report';
3
- export default function QuillTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }: {
3
+ export default function QuillTableComponent({ report, onClick, isLoading, error, rowCount, rowCountIsLoading, onPageChange, onSortChange, }: {
4
4
  report: QuillReport;
5
5
  onClick?: (report: QuillReport) => void;
6
6
  isLoading?: boolean;
7
7
  error?: string;
8
8
  rowCount?: number;
9
+ rowCountIsLoading?: boolean;
9
10
  onPageChange?: (page: number) => void;
10
11
  onSortChange?: (sort: {
11
12
  field: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE,GAAG,GAAG,CAAC,OAAO,CAyFd"}
1
+ {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKlD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE,GAAG,GAAG,CAAC,OAAO,CA0Fd"}
@@ -11,7 +11,7 @@ const ChartError_1 = __importDefault(require("../Chart/ChartError"));
11
11
  const useExport_1 = require("../../hooks/useExport");
12
12
  const paginationProcessing_1 = require("../../utils/paginationProcessing");
13
13
  const Context_1 = require("../../Context");
14
- function QuillTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }) {
14
+ function QuillTableComponent({ report, onClick, isLoading, error, rowCount, rowCountIsLoading, onPageChange, onSortChange, }) {
15
15
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
16
16
  const [initialLoad, setInitialLoad] = (0, react_1.useState)(true);
17
17
  const { downloadCSV } = (0, useExport_1.useExport)(report?.id);
@@ -45,7 +45,7 @@ function QuillTableComponent({ report, onClick, isLoading, error, rowCount, onPa
45
45
  } })) : error ? ((0, jsx_runtime_1.jsx)("div", { style: {
46
46
  width: '100%',
47
47
  height: '400px',
48
- }, children: (0, jsx_runtime_1.jsx)(ChartError_1.default, { errorMessage: error }) })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { isLoading: isLoading, rows: report.rows ?? [], rowCount: rowCount, columns: report.columns, rowsPerPage: report.pagination?.rowsPerPage ?? paginationProcessing_1.DEFAULT_PAGINATION.rowsPerPage, containerStyle: {
48
+ }, children: (0, jsx_runtime_1.jsx)(ChartError_1.default, { errorMessage: error }) })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { isLoading: isLoading, rows: report.rows ?? [], rowCount: rowCount, rowCountIsLoading: rowCountIsLoading, columns: report.columns, rowsPerPage: report.pagination?.rowsPerPage ?? paginationProcessing_1.DEFAULT_PAGINATION.rowsPerPage, containerStyle: {
49
49
  width: '100%',
50
50
  height: '400px',
51
51
  }, downloadCSV: () => {
@@ -1,7 +1,7 @@
1
- import { Client } from '../../models/Client';
1
+ import { QuillProviderClient } from '../../models/Client';
2
2
  export declare function validateTemplatesAgainstFilters(filters: any[], templates: any[]): {
3
3
  valid: boolean;
4
4
  error: string;
5
5
  };
6
- export declare function addTemplatesToDashboard(name: any, newTemplates: any[], client: Client, dashboardData: any): Promise<any>;
6
+ export declare function addTemplatesToDashboard(name: any, newTemplates: any[], client: QuillProviderClient, dashboardData: any): Promise<any>;
7
7
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,EAAE,GAAG,EAAE,GACf;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiCnC;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,GAAG,GACjB,OAAO,CAAC,GAAG,CAAC,CAiDd"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,EAAE,GAAG,EAAE,GACf;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiCnC;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,EAAE,EACnB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,EAAE,GAAG,GACjB,OAAO,CAAC,GAAG,CAAC,CAiDd"}
@@ -40,13 +40,13 @@ function validateTemplatesAgainstFilters(filters, templates) {
40
40
  exports.validateTemplatesAgainstFilters = validateTemplatesAgainstFilters;
41
41
  async function addTemplatesToDashboard(name, newTemplates, client, dashboardData) {
42
42
  try {
43
- const { publicKey, customerId } = client;
43
+ const { publicKey, organizationId } = client;
44
44
  const hostedBody = {
45
45
  metadata: {
46
46
  dashboardName: name,
47
47
  task: 'add-from-template',
48
48
  clientId: publicKey,
49
- orgId: customerId || '*',
49
+ orgId: organizationId || '*',
50
50
  templateReportIds: newTemplates.map((template) => template._id),
51
51
  },
52
52
  };
@@ -2,7 +2,7 @@ import { MultiSelectComponentProps } from './UiComponents';
2
2
  /**
3
3
  * A robust select component that implements the new minimal Select interface.
4
4
  */
5
- export declare function QuillMultiSelectComponent({ options, width, onChange, label, value, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function QuillMultiSelectComponent({ options, width, onChange, label, value, isLoading, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
6
6
  export declare const ListboxTextInput: ({ value, onChange, placeholder, }: {
7
7
  value: string;
8
8
  onChange: (e: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"QuillMultiSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAgC3D;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,yBAAyB,2CAsQ3B;AAED,eAAO,MAAM,gBAAgB;WAKpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;6CAyDpB,CAAC"}
1
+ {"version":3,"file":"QuillMultiSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAiC3E;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,yBAAyB,2CAsO3B;AAED,eAAO,MAAM,gBAAgB;WAKpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;6CAyDpB,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ListboxTextInput = exports.QuillMultiSelectComponent = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const hooks_1 = require("../hooks");
6
+ const UiComponents_1 = require("./UiComponents");
6
7
  const react_1 = require("react");
7
8
  const Context_1 = require("../Context");
8
9
  /**
@@ -17,20 +18,18 @@ function displaySelectedOptionLabels({ options, value, }) {
17
18
  return 'Select';
18
19
  }
19
20
  return matchingOptions
20
- .map((elem) => elem.label)
21
+ .map((elem) => elem.label ?? '-')
21
22
  .join(', ');
22
23
  }
23
24
  /**
24
25
  * A robust select component that implements the new minimal Select interface.
25
26
  */
26
- function QuillMultiSelectComponent({ options, width, onChange, label, value, }) {
27
+ function QuillMultiSelectComponent({ options, width, onChange, label, value, isLoading, }) {
27
28
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
28
29
  const [selectedOptions, setSelectedOptions] = (0, react_1.useState)([]);
29
30
  const [showModal, setShowModal] = (0, react_1.useState)(false);
30
31
  const modalRef = (0, react_1.useRef)(null);
31
32
  const debounceTimeoutId = (0, react_1.useRef)(null);
32
- // const [searchQuery, setSearchQuery] = useState('');
33
- // const [filteredOptions, setFilteredOptions] = useState(options);
34
33
  (0, hooks_1.useOnClickOutside)(modalRef, () => setShowModal(false));
35
34
  (0, react_1.useEffect)(() => {
36
35
  if (!value) {
@@ -40,6 +39,21 @@ function QuillMultiSelectComponent({ options, width, onChange, label, value, })
40
39
  setSelectedOptions(value);
41
40
  }
42
41
  }, [value]);
42
+ const sortedItems = (0, react_1.useMemo)(() => {
43
+ // Sort null to top
44
+ return options.sort((a, b) => {
45
+ if (a.value === null) {
46
+ return -1;
47
+ }
48
+ if (b.value === null) {
49
+ return 1;
50
+ }
51
+ return a.label.localeCompare(b.label);
52
+ });
53
+ }, [options]);
54
+ const nullLabel = (0, react_1.useMemo)(() => {
55
+ return sortedItems.some((item) => item.value === '-') ? 'None' : '-';
56
+ }, [sortedItems]);
43
57
  const debounce = (updatedChangeEvent) => {
44
58
  if (debounceTimeoutId.current) {
45
59
  clearTimeout(debounceTimeoutId.current);
@@ -48,14 +62,6 @@ function QuillMultiSelectComponent({ options, width, onChange, label, value, })
48
62
  onChange(updatedChangeEvent);
49
63
  }, 500);
50
64
  };
51
- // const filterOptions = (query: string) => {
52
- // setSearchQuery(query);
53
- // setFilteredOptions(
54
- // options.filter((option) =>
55
- // option.label.toLowerCase().includes(query.toLowerCase()),
56
- // ),
57
- // );
58
- // };
59
65
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
60
66
  position: 'relative',
61
67
  borderRadius: '6px',
@@ -115,7 +121,7 @@ function QuillMultiSelectComponent({ options, width, onChange, label, value, })
115
121
  fontFamily: theme?.fontFamily,
116
122
  maxHeight: '50vh',
117
123
  overflow: 'scroll',
118
- }, children: options.map((option) => ((0, jsx_runtime_1.jsxs)("button", { style: {
124
+ }, children: !isLoading ? (sortedItems.map((option) => ((0, jsx_runtime_1.jsxs)("button", { style: {
119
125
  display: 'flex',
120
126
  alignItems: 'center',
121
127
  padding: 8,
@@ -166,7 +172,7 @@ function QuillMultiSelectComponent({ options, width, onChange, label, value, })
166
172
  textOverflow: 'ellipsis',
167
173
  whiteSpace: 'nowrap',
168
174
  overflow: 'hidden',
169
- }, children: option.label })] }, option.value))) }))] }));
175
+ }, children: option.label ?? nullLabel })] }, option.value)))) : ((0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {})) }))] }));
170
176
  }
171
177
  exports.QuillMultiSelectComponent = QuillMultiSelectComponent;
172
178
  const ListboxTextInput = ({ value, onChange, placeholder, }) => {
@@ -2,7 +2,7 @@ import { MultiSelectComponentProps } from './UiComponents';
2
2
  /**
3
3
  * A robust select component that implements the new minimal Select interface.
4
4
  */
5
- export declare function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
6
6
  export declare const ListboxTextInput: ({ value, onChange, placeholder, }: {
7
7
  value: string;
8
8
  onChange: (e: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAgC3D;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,yBAAyB,2CAiV3B;AAED,eAAO,MAAM,gBAAgB;WAKpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;6CAwDpB,CAAC"}
1
+ {"version":3,"file":"QuillMultiSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillMultiSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAiC3E;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,yBAAyB,2CA4U3B;AAED,eAAO,MAAM,gBAAgB;WAKpB,MAAM;kBACC,MAAM,KAAK,IAAI;iBAChB,MAAM;6CAwDpB,CAAC"}
@@ -26,6 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.ListboxTextInput = exports.QuillMultiSelectComponentWithCombo = void 0;
27
27
  const jsx_runtime_1 = require("react/jsx-runtime");
28
28
  const hooks_1 = require("../hooks");
29
+ const UiComponents_1 = require("./UiComponents");
29
30
  const react_1 = __importStar(require("react"));
30
31
  const Context_1 = require("../Context");
31
32
  /**
@@ -46,34 +47,22 @@ function displaySelectedOptionLabels({ options, value, }) {
46
47
  /**
47
48
  * A robust select component that implements the new minimal Select interface.
48
49
  */
49
- function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, }) {
50
+ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, }) {
50
51
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
51
52
  const [selectedOptions, setSelectedOptions] = (0, react_1.useState)([]);
52
53
  const [showModal, setShowModal] = (0, react_1.useState)(false);
53
54
  const modalRef = (0, react_1.useRef)(null);
54
55
  const debounceTimeoutId = (0, react_1.useRef)(null);
55
56
  const [searchQuery, setSearchQuery] = react_1.default.useState('');
56
- const [filteredItems, setFilteredItems] = react_1.default.useState(options.slice(0, 20));
57
+ const [exceedsLimit, setExceedsLimit] = (0, react_1.useState)(false);
57
58
  (0, react_1.useEffect)(() => {
58
- setFilteredItems(options.slice(0, 20));
59
+ if (options.length > 0 && options?.[0]?.value === 'EXCEEDS_LIMIT') {
60
+ setExceedsLimit(true);
61
+ }
62
+ else {
63
+ setExceedsLimit(false);
64
+ }
59
65
  }, [options]);
60
- const handleSearchChange = (value) => {
61
- setSearchQuery(value);
62
- const curFilteredItems = value === ''
63
- ? options.slice(0, 20)
64
- : options
65
- .filter((option) => {
66
- if (!option) {
67
- return false;
68
- }
69
- return option.value
70
- .toLowerCase()
71
- .replace(/\s+/g, '')
72
- .includes(value.toLowerCase().replace(/\s+/g, ''));
73
- })
74
- .slice(0, 20);
75
- setFilteredItems(curFilteredItems);
76
- };
77
66
  (0, hooks_1.useOnClickOutside)(modalRef, () => setShowModal(false));
78
67
  (0, react_1.useEffect)(() => {
79
68
  if (!value) {
@@ -91,14 +80,43 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
91
80
  onChange(updatedChangeEvent);
92
81
  }, 500);
93
82
  };
94
- // const filterOptions = (query: string) => {
95
- // setSearchQuery(query);
96
- // setFilteredOptions(
97
- // options.filter((option) =>
98
- // option.label.toLowerCase().includes(query.toLowerCase()),
99
- // ),
100
- // );
101
- // };
83
+ const filteredItems = react_1.default.useMemo(function () {
84
+ // Sort null to top
85
+ if (searchQuery === '') {
86
+ return options.sort((a, b) => {
87
+ if (a.value === null) {
88
+ return -1;
89
+ }
90
+ if (b.value === null) {
91
+ return 1;
92
+ }
93
+ return a.label.localeCompare(b.label);
94
+ });
95
+ }
96
+ return options
97
+ .filter((option) => {
98
+ if (!option) {
99
+ return false;
100
+ }
101
+ return option.value
102
+ .toLowerCase()
103
+ .replace(/\s+/g, '')
104
+ .includes(searchQuery.toLowerCase().replace(/\s+/g, ''));
105
+ })
106
+ .sort((a, b) => {
107
+ if (a.value === null) {
108
+ return -1;
109
+ }
110
+ if (b.value === null) {
111
+ return 1;
112
+ }
113
+ return a.label.localeCompare(b.label);
114
+ })
115
+ .slice(0, 20);
116
+ }, [options, searchQuery]);
117
+ const nullLabel = (0, react_1.useMemo)(() => {
118
+ return filteredItems.some((item) => item.value === '-') ? 'None' : '-';
119
+ }, [filteredItems]);
102
120
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
103
121
  position: 'relative',
104
122
  borderRadius: '6px',
@@ -110,7 +128,7 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
110
128
  fontFamily: theme?.fontFamily,
111
129
  paddingBottom: 5,
112
130
  fontWeight: 600,
113
- }, children: label })), (0, jsx_runtime_1.jsxs)("button", { style: {
131
+ }, children: label ?? nullLabel })), (0, jsx_runtime_1.jsxs)("button", { style: {
114
132
  fontFamily: theme?.fontFamily,
115
133
  color: theme?.primaryTextColor,
116
134
  width: '100%',
@@ -159,9 +177,14 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
159
177
  maxHeight: '50vh',
160
178
  overflow: 'scroll',
161
179
  fontSize: 14,
162
- }, children: [options && options.length > 20 && ((0, jsx_runtime_1.jsx)(exports.ListboxTextInput, { value: searchQuery, placeholder: "Search", onChange: (value) => {
163
- handleSearchChange(value);
164
- } })), options && options.length > 20 && ((0, jsx_runtime_1.jsx)("div", { style: { height: 9, width: 230, borderTop: '1px solid #e7e7e7' } })), (!filteredItems || filteredItems.length === 0) && ((0, jsx_runtime_1.jsxs)("div", { style: {
180
+ }, children: [!exceedsLimit && options && options.length > 20 && ((0, jsx_runtime_1.jsx)(exports.ListboxTextInput, { value: searchQuery, placeholder: "Search", onChange: (value) => {
181
+ setSearchQuery(value);
182
+ } })), !exceedsLimit && options && options.length > 20 && ((0, jsx_runtime_1.jsx)("div", { style: {
183
+ height: 9,
184
+ width: 230,
185
+ borderTop: '1px solid #e7e7e7',
186
+ } })), !isLoading &&
187
+ (!filteredItems || filteredItems.length === 0 || exceedsLimit) && ((0, jsx_runtime_1.jsxs)("div", { style: {
165
188
  display: 'flex',
166
189
  alignItems: 'center',
167
190
  padding: 8,
@@ -180,18 +203,18 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
180
203
  gap: 6,
181
204
  overflow: 'hidden',
182
205
  }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
183
- .quill-option {
184
- background: white;
185
- }
186
- .quill-option:hover {
187
- background: #F4F4F5;
206
+ .quill-option {
207
+ background: white;
188
208
  }
189
- ` }), (0, jsx_runtime_1.jsx)("span", { style: {
209
+ .quill-option:hover {
210
+ background: #F4F4F5;
211
+ }
212
+ ` }), (0, jsx_runtime_1.jsx)("span", { style: {
190
213
  textOverflow: 'ellipsis',
191
214
  whiteSpace: 'nowrap',
192
215
  overflow: 'hidden',
193
216
  cursor: 'default',
194
- }, children: "No options available" })] })), filteredItems.map((option) => ((0, jsx_runtime_1.jsxs)("button", { style: {
217
+ }, children: exceedsLimit ? 'Too many options' : 'No options available' })] })), !exceedsLimit && !isLoading ? (filteredItems.map((option) => ((0, jsx_runtime_1.jsxs)("button", { style: {
195
218
  display: 'flex',
196
219
  alignItems: 'center',
197
220
  padding: 8,
@@ -232,17 +255,17 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
232
255
  }
233
256
  debounce(updatedChangeEvent);
234
257
  }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
235
- .quill-option {
236
- background: white;
237
- }
238
- .quill-option:hover {
239
- background: #F4F4F5;
258
+ .quill-option {
259
+ background: white;
240
260
  }
241
- ` }), (0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: selectedOptions.includes(option.value), style: { width: '14px', height: '14px', margin: 'auto 0' }, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { style: {
261
+ .quill-option:hover {
262
+ background: #F4F4F5;
263
+ }
264
+ ` }), (0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: selectedOptions.includes(option.value), style: { width: '14px', height: '14px', margin: 'auto 0' }, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { style: {
242
265
  textOverflow: 'ellipsis',
243
266
  whiteSpace: 'nowrap',
244
267
  overflow: 'hidden',
245
- }, children: option.label })] }, option.value)))] }))] }));
268
+ }, children: option.label ?? nullLabel })] }, option.value)))) : isLoading ? ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) })) : null] }))] }));
246
269
  }
247
270
  exports.QuillMultiSelectComponentWithCombo = QuillMultiSelectComponentWithCombo;
248
271
  const ListboxTextInput = ({ value, onChange, placeholder, }) => {
@@ -2,5 +2,5 @@ import { SelectComponentProps } from './UiComponents';
2
2
  /**
3
3
  * A robust select component that implements the new minimal Select interface.
4
4
  */
5
- export declare function QuillSelectComponent({ options, value, width, onChange, label, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function QuillSelectComponent({ options, value, width, onChange, label, isLoading, disabled, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
6
6
  //# sourceMappingURL=QuillSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAItD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,oBAAoB,2CA2MtB"}
1
+ {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAItE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,oBAAoB,2CA8OtB"}
@@ -3,16 +3,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QuillSelectComponent = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const hooks_1 = require("../hooks");
6
+ const UiComponents_1 = require("./UiComponents");
6
7
  const react_1 = require("react");
7
8
  const Context_1 = require("../Context");
8
9
  /**
9
10
  * A robust select component that implements the new minimal Select interface.
10
11
  */
11
- function QuillSelectComponent({ options, value, width, onChange, label, }) {
12
+ function QuillSelectComponent({ options, value, width, onChange, label, isLoading, disabled, }) {
12
13
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
13
14
  const [showModal, setShowModal] = (0, react_1.useState)(false);
14
15
  const modalRef = (0, react_1.useRef)(null);
15
16
  (0, hooks_1.useOnClickOutside)(modalRef, () => setShowModal(false));
17
+ const sortedItems = (0, react_1.useMemo)(() => {
18
+ // Sort null to top
19
+ return options.sort((a, b) => {
20
+ if (a.value === null) {
21
+ return -1;
22
+ }
23
+ if (b.value === null) {
24
+ return 1;
25
+ }
26
+ return a.label.localeCompare(b.label);
27
+ });
28
+ }, [options]);
29
+ const nullLabel = (0, react_1.useMemo)(() => {
30
+ return sortedItems.some((item) => item.value === '-') ? 'None' : '-';
31
+ }, [sortedItems]);
16
32
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
17
33
  position: 'relative',
18
34
  // width: 200,
@@ -26,7 +42,7 @@ function QuillSelectComponent({ options, value, width, onChange, label, }) {
26
42
  fontFamily: theme?.fontFamily,
27
43
  paddingBottom: 5,
28
44
  fontWeight: 600,
29
- }, children: label })), (0, jsx_runtime_1.jsxs)("button", { style: {
45
+ }, children: label ?? nullLabel })), (0, jsx_runtime_1.jsxs)("button", { style: {
30
46
  fontFamily: theme?.fontFamily,
31
47
  color: theme?.primaryTextColor,
32
48
  width: '100%',
@@ -47,7 +63,14 @@ function QuillSelectComponent({ options, value, width, onChange, label, }) {
47
63
  height: 40,
48
64
  minHeight: 40,
49
65
  maxHeight: 40,
50
- }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; } .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }` }), (0, jsx_runtime_1.jsx)("span", { style: {
66
+ }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), disabled: disabled, children: [(0, jsx_runtime_1.jsx)("style", { children: `
67
+ .quill-select-button { background: ${theme?.backgroundColor}; }
68
+ .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }
69
+ .quill-select-button:disabled {
70
+ opacity: 0.5;
71
+ cursor: not-allowed;
72
+ }
73
+ ` }), (0, jsx_runtime_1.jsx)("span", { style: {
51
74
  textOverflow: 'ellipsis',
52
75
  whiteSpace: 'nowrap',
53
76
  overflow: 'hidden',
@@ -71,7 +94,7 @@ function QuillSelectComponent({ options, value, width, onChange, label, }) {
71
94
  fontFamily: theme?.fontFamily,
72
95
  maxHeight: '50vh',
73
96
  overflow: 'scroll',
74
- }, children: [(0, jsx_runtime_1.jsxs)("button", { style: {
97
+ }, children: [!isLoading && ((0, jsx_runtime_1.jsxs)("button", { style: {
75
98
  display: 'flex',
76
99
  alignItems: 'center',
77
100
  justifyContent: 'space-between',
@@ -94,14 +117,14 @@ function QuillSelectComponent({ options, value, width, onChange, label, }) {
94
117
  const changeEvent = { target: { value: '' } };
95
118
  onChange(changeEvent);
96
119
  setShowModal(false);
97
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
120
+ }, disabled: disabled, children: [(0, jsx_runtime_1.jsx)("style", { children: `
98
121
  .quill-option {
99
122
  background: white;
100
123
  }
101
124
  .quill-option:hover {
102
125
  background: #F4F4F5;
103
126
  }
104
- ` }), 'Select'] }), options.map((option) => ((0, jsx_runtime_1.jsxs)("button", { style: {
127
+ ` }), 'Select'] })), !isLoading ? (options.map((option) => ((0, jsx_runtime_1.jsxs)("button", { style: {
105
128
  display: 'flex',
106
129
  alignItems: 'center',
107
130
  justifyContent: 'space-between',
@@ -124,7 +147,7 @@ function QuillSelectComponent({ options, value, width, onChange, label, }) {
124
147
  const changeEvent = { target: { value: option.value } };
125
148
  onChange(changeEvent);
126
149
  setShowModal(false);
127
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
150
+ }, disabled: disabled, children: [(0, jsx_runtime_1.jsx)("style", { children: `
128
151
  .quill-option {
129
152
  background: white;
130
153
  }
@@ -135,6 +158,6 @@ function QuillSelectComponent({ options, value, width, onChange, label, }) {
135
158
  textOverflow: 'ellipsis',
136
159
  whiteSpace: 'nowrap',
137
160
  overflow: 'hidden',
138
- }, children: option.label })] }, option.label)))] }))] }));
161
+ }, children: option.label ?? '-' })] }, option.label)))) : ((0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}))] }))] }));
139
162
  }
140
163
  exports.QuillSelectComponent = QuillSelectComponent;
@@ -2,5 +2,5 @@ import { SelectComponentProps } from './UiComponents';
2
2
  /**
3
3
  * A robust select component that implements the new minimal Select interface.
4
4
  */
5
- export declare function QuillSelectComponentWithCombo({ options, value, width, onChange, label, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function QuillSelectComponentWithCombo({ options, value, width, onChange, label, isLoading, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
6
6
  //# sourceMappingURL=QuillSelectWithCombo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuillSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAWtD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,oBAAoB,2CAoPtB"}
1
+ {"version":3,"file":"QuillSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAWtE;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,GACV,EAAE,oBAAoB,2CA8QtB"}