@quillsql/admin 1.5.2 → 1.6.1

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 (219) hide show
  1. package/dist/cjs/Admin.d.ts +19 -72
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +215 -996
  4. package/dist/cjs/AdminProvider.d.ts +2 -12
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +27 -32
  7. package/dist/cjs/api/ConnectionClient.d.ts +19 -0
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +108 -13
  10. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  11. package/dist/cjs/components/DashboardSelectPopover.js +20 -3
  12. package/dist/cjs/components/DropDownMenu.js +1 -1
  13. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  14. package/dist/cjs/components/DropDownMenuWithLabel.js +18 -87
  15. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  16. package/dist/cjs/components/EmptyDashboardComponent/index.js +11 -9
  17. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  18. package/dist/cjs/components/OrgSelect.js +10 -20
  19. package/dist/cjs/components/QuillSelect.d.ts +3 -0
  20. package/dist/cjs/components/QuillSelect.d.ts.map +1 -0
  21. package/dist/cjs/components/QuillSelect.js +137 -0
  22. package/dist/cjs/components/SegmentedControl.d.ts +9 -0
  23. package/dist/cjs/components/SegmentedControl.d.ts.map +1 -0
  24. package/dist/cjs/components/SegmentedControl.js +60 -0
  25. package/dist/cjs/components/SqlTextEditor.d.ts +9 -1
  26. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  27. package/dist/cjs/components/SqlTextEditor.js +60 -12
  28. package/dist/cjs/components/UiComponents.d.ts +18 -30
  29. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  30. package/dist/cjs/components/UiComponents.js +48 -84
  31. package/dist/cjs/constants/dataTypes.d.ts +2 -0
  32. package/dist/cjs/constants/dataTypes.d.ts.map +1 -0
  33. package/dist/cjs/constants/dataTypes.js +21 -0
  34. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  35. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +9 -17
  36. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +2 -1
  37. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  38. package/dist/cjs/forms/client_onboard/ConnectSchema.js +143 -68
  39. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  40. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +57 -15
  41. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +11 -5
  42. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  43. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +107 -53
  44. package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -0
  45. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -0
  46. package/dist/cjs/hooks/useOnClickOutside.js +20 -0
  47. package/dist/cjs/modals/EditFiltersModal.d.ts +17 -0
  48. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -0
  49. package/dist/cjs/modals/EditFiltersModal.js +355 -0
  50. package/dist/cjs/modals/NewDashboardModal.d.ts +1 -3
  51. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  52. package/dist/cjs/modals/NewDashboardModal.js +64 -47
  53. package/dist/cjs/modals/PromoteDashModal.d.ts.map +1 -1
  54. package/dist/cjs/modals/PromoteDashModal.js +11 -4
  55. package/dist/cjs/modals/PromoteViewModal.d.ts +2 -1
  56. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  57. package/dist/cjs/modals/PromoteViewModal.js +46 -36
  58. package/dist/cjs/modals/ReorderDashboardModal.d.ts.map +1 -1
  59. package/dist/cjs/modals/ReorderDashboardModal.js +42 -45
  60. package/dist/cjs/modals/index.d.ts +0 -1
  61. package/dist/cjs/modals/index.d.ts.map +1 -1
  62. package/dist/cjs/modals/index.js +1 -3
  63. package/dist/cjs/primitives/ButtonPrimitive.d.ts +3 -1
  64. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  65. package/dist/cjs/primitives/ButtonPrimitive.js +5 -3
  66. package/dist/cjs/primitives/TextInputPrimitive.d.ts +1 -0
  67. package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
  68. package/dist/cjs/primitives/TextInputPrimitive.js +35 -20
  69. package/dist/cjs/primitives/TogglePrimitive.js +5 -5
  70. package/dist/cjs/public_components/CreateEnvironment.d.ts +2 -1
  71. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  72. package/dist/cjs/public_components/CreateEnvironment.js +5 -2
  73. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  74. package/dist/cjs/public_components/DashboardBuilder.js +71 -125
  75. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  76. package/dist/cjs/public_components/DashboardManager.js +109 -146
  77. package/dist/cjs/public_components/SQLViewManager.d.ts +1 -0
  78. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  79. package/dist/cjs/public_components/SQLViewManager.js +271 -46
  80. package/dist/cjs/utils/astProcessing.d.ts +2 -0
  81. package/dist/cjs/utils/astProcessing.d.ts.map +1 -0
  82. package/dist/cjs/utils/astProcessing.js +41 -0
  83. package/dist/cjs/utils/astProcessing.uspec.d.ts +2 -0
  84. package/dist/cjs/utils/astProcessing.uspec.d.ts.map +1 -0
  85. package/dist/cjs/utils/astProcessing.uspec.js +26 -0
  86. package/dist/cjs/utils/columnProcessing.d.ts +3 -0
  87. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -0
  88. package/dist/cjs/utils/columnProcessing.js +42 -0
  89. package/dist/cjs/utils/dataEditor.d.ts +2 -2
  90. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  91. package/dist/cjs/utils/dataEditor.js +4 -2
  92. package/dist/cjs/utils/databases.d.ts +0 -1
  93. package/dist/cjs/utils/databases.d.ts.map +1 -1
  94. package/dist/cjs/utils/databases.js +5 -6
  95. package/dist/cjs/utils/monacoAutocomplete.d.ts +21 -0
  96. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +1 -0
  97. package/dist/cjs/utils/monacoAutocomplete.js +250 -0
  98. package/dist/cjs/utils/schema.d.ts +11 -0
  99. package/dist/cjs/utils/schema.d.ts.map +1 -1
  100. package/dist/cjs/utils/schema.js +129 -0
  101. package/dist/cjs/utils/table.d.ts +1 -0
  102. package/dist/cjs/utils/table.d.ts.map +1 -1
  103. package/dist/cjs/utils/table.js +13 -0
  104. package/dist/cjs/utils/textProcessing.d.ts +2 -0
  105. package/dist/cjs/utils/textProcessing.d.ts.map +1 -0
  106. package/dist/cjs/utils/textProcessing.js +9 -0
  107. package/dist/esm/Admin.d.ts +19 -72
  108. package/dist/esm/Admin.d.ts.map +1 -1
  109. package/dist/esm/Admin.js +218 -989
  110. package/dist/esm/AdminProvider.d.ts +2 -12
  111. package/dist/esm/AdminProvider.d.ts.map +1 -1
  112. package/dist/esm/AdminProvider.js +27 -32
  113. package/dist/esm/api/ConnectionClient.d.ts +19 -0
  114. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  115. package/dist/esm/api/ConnectionClient.js +106 -12
  116. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  117. package/dist/esm/components/DashboardSelectPopover.js +20 -3
  118. package/dist/esm/components/DropDownMenu.js +1 -1
  119. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  120. package/dist/esm/components/DropDownMenuWithLabel.js +18 -87
  121. package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  122. package/dist/esm/components/EmptyDashboardComponent/index.js +11 -9
  123. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  124. package/dist/esm/components/OrgSelect.js +6 -19
  125. package/dist/esm/components/QuillSelect.d.ts +3 -0
  126. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  127. package/dist/esm/components/QuillSelect.js +130 -0
  128. package/dist/esm/components/SegmentedControl.d.ts +9 -0
  129. package/dist/esm/components/SegmentedControl.d.ts.map +1 -0
  130. package/dist/esm/components/SegmentedControl.js +56 -0
  131. package/dist/esm/components/SqlTextEditor.d.ts +9 -1
  132. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  133. package/dist/esm/components/SqlTextEditor.js +59 -11
  134. package/dist/esm/components/UiComponents.d.ts +18 -30
  135. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  136. package/dist/esm/components/UiComponents.js +45 -83
  137. package/dist/esm/constants/dataTypes.d.ts +2 -0
  138. package/dist/esm/constants/dataTypes.d.ts.map +1 -0
  139. package/dist/esm/constants/dataTypes.js +18 -0
  140. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  141. package/dist/esm/forms/client_onboard/ConnectDatabase.js +9 -17
  142. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +2 -1
  143. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  144. package/dist/esm/forms/client_onboard/ConnectSchema.js +145 -70
  145. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  146. package/dist/esm/forms/client_onboard/CreateSqlViews.js +58 -16
  147. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +11 -5
  148. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  149. package/dist/esm/forms/sql_views/CreateEditSqlView.js +108 -54
  150. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  151. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  152. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  153. package/dist/esm/modals/EditFiltersModal.d.ts +17 -0
  154. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -0
  155. package/dist/esm/modals/EditFiltersModal.js +348 -0
  156. package/dist/esm/modals/NewDashboardModal.d.ts +1 -3
  157. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  158. package/dist/esm/modals/NewDashboardModal.js +64 -47
  159. package/dist/esm/modals/PromoteDashModal.d.ts.map +1 -1
  160. package/dist/esm/modals/PromoteDashModal.js +11 -4
  161. package/dist/esm/modals/PromoteViewModal.d.ts +2 -1
  162. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  163. package/dist/esm/modals/PromoteViewModal.js +50 -40
  164. package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
  165. package/dist/esm/modals/ReorderDashboardModal.js +43 -46
  166. package/dist/esm/modals/index.d.ts +0 -1
  167. package/dist/esm/modals/index.d.ts.map +1 -1
  168. package/dist/esm/modals/index.js +0 -1
  169. package/dist/esm/primitives/ButtonPrimitive.d.ts +3 -1
  170. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  171. package/dist/esm/primitives/ButtonPrimitive.js +5 -3
  172. package/dist/esm/primitives/TextInputPrimitive.d.ts +1 -0
  173. package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
  174. package/dist/esm/primitives/TextInputPrimitive.js +33 -21
  175. package/dist/esm/primitives/TogglePrimitive.js +5 -5
  176. package/dist/esm/public_components/CreateEnvironment.d.ts +2 -1
  177. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  178. package/dist/esm/public_components/CreateEnvironment.js +5 -2
  179. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  180. package/dist/esm/public_components/DashboardBuilder.js +72 -126
  181. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  182. package/dist/esm/public_components/DashboardManager.js +112 -149
  183. package/dist/esm/public_components/SQLViewManager.d.ts +1 -0
  184. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  185. package/dist/esm/public_components/SQLViewManager.js +271 -48
  186. package/dist/esm/utils/astProcessing.d.ts +2 -0
  187. package/dist/esm/utils/astProcessing.d.ts.map +1 -0
  188. package/dist/esm/utils/astProcessing.js +37 -0
  189. package/dist/esm/utils/astProcessing.uspec.d.ts +2 -0
  190. package/dist/esm/utils/astProcessing.uspec.d.ts.map +1 -0
  191. package/dist/esm/utils/astProcessing.uspec.js +24 -0
  192. package/dist/esm/utils/columnProcessing.d.ts +3 -0
  193. package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
  194. package/dist/esm/utils/columnProcessing.js +37 -0
  195. package/dist/esm/utils/dataEditor.d.ts +2 -2
  196. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  197. package/dist/esm/utils/dataEditor.js +4 -2
  198. package/dist/esm/utils/databases.d.ts +0 -1
  199. package/dist/esm/utils/databases.d.ts.map +1 -1
  200. package/dist/esm/utils/databases.js +5 -6
  201. package/dist/esm/utils/monacoAutocomplete.d.ts +21 -0
  202. package/dist/esm/utils/monacoAutocomplete.d.ts.map +1 -0
  203. package/dist/esm/utils/monacoAutocomplete.js +245 -0
  204. package/dist/esm/utils/schema.d.ts +11 -0
  205. package/dist/esm/utils/schema.d.ts.map +1 -1
  206. package/dist/esm/utils/schema.js +126 -1
  207. package/dist/esm/utils/table.d.ts +1 -0
  208. package/dist/esm/utils/table.d.ts.map +1 -1
  209. package/dist/esm/utils/table.js +11 -1
  210. package/dist/esm/utils/textProcessing.d.ts +2 -0
  211. package/dist/esm/utils/textProcessing.d.ts.map +1 -0
  212. package/dist/esm/utils/textProcessing.js +5 -0
  213. package/package.json +3 -2
  214. package/dist/cjs/modals/EditDashboardsModal.d.ts +0 -20
  215. package/dist/cjs/modals/EditDashboardsModal.d.ts.map +0 -1
  216. package/dist/cjs/modals/EditDashboardsModal.js +0 -94
  217. package/dist/esm/modals/EditDashboardsModal.d.ts +0 -20
  218. package/dist/esm/modals/EditDashboardsModal.d.ts.map +0 -1
  219. package/dist/esm/modals/EditDashboardsModal.js +0 -91
@@ -1 +1 @@
1
- {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../../src/utils/databases.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAmB,SAAQ,kBAAkB;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,kBAAmB,SAAQ,kBAAkB;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EAyBtD,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,GACnB,cAAc,GAAG,SAAS,CAwC5B;AAED,wBAAgB,oBAAoB,CAClC,UAAU,CAAC,EAAE,kBAAkB,EAC/B,QAAQ,CAAC,EAAE,IAAI,UAyBhB"}
1
+ {"version":3,"file":"databases.d.ts","sourceRoot":"","sources":["../../../src/utils/databases.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAmB,SAAQ,kBAAkB;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,kBAAmB,SAAQ,kBAAkB;IACrD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACtB,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EAyBtD,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,GACnB,cAAc,GAAG,SAAS,CAuC5B;AAED,wBAAgB,oBAAoB,CAClC,UAAU,CAAC,EAAE,kBAAkB,EAC/B,QAAQ,CAAC,EAAE,IAAI,UAkChB"}
@@ -58,7 +58,6 @@ export function getDatabaseConnectionFormat(databaseName) {
58
58
  return {
59
59
  type: 'BigQuery',
60
60
  connectionString: '',
61
- companyTag: '',
62
61
  jsonString: '',
63
62
  };
64
63
  }
@@ -69,26 +68,26 @@ export function formConnectionString(connection, jsonFile) {
69
68
  return 'There is no connection info';
70
69
  }
71
70
  if (connection.connectionString !== '') {
72
- return connection.connectionString;
71
+ return connection.connectionString.replaceAll(' ', '');
73
72
  }
74
73
  if (connection.type === 'PostgreSQL') {
75
74
  const typedConnection = connection;
76
- return `postgres://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}/${typedConnection.databaseName}`;
75
+ return `postgres://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}/${typedConnection.databaseName}`.replaceAll(' ', '');
77
76
  }
78
77
  else if (connection.type === 'mysql') {
79
78
  const typedConnection = connection;
80
- return `mysql://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}`;
79
+ return `mysql://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}`.replaceAll(' ', '');
81
80
  }
82
81
  else if (connection.type === 'snowflake') {
83
82
  const typedConnection = connection;
84
- return `mysql://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}`;
83
+ return `mysql://${typedConnection.user}:${typedConnection.password}@${typedConnection.host}:${typedConnection.port}`.replaceAll(' ', '');
85
84
  }
86
85
  else if (connection.type === 'BigQuery') {
87
86
  const typedConnection = connection;
88
87
  const cleanedJsonString = typedConnection.jsonString
89
88
  .replace(/\\(?![n"])/g, '')
90
89
  .replace(/\n/g, '');
91
- return `${typedConnection.companyTag}${cleanedJsonString}`;
90
+ return cleanedJsonString;
92
91
  }
93
92
  return '';
94
93
  }
@@ -0,0 +1,21 @@
1
+ import { Monaco } from '@monaco-editor/react';
2
+ import { ColumnsByTable } from './table';
3
+ import { Range } from 'monaco-editor';
4
+ interface CompletionItem {
5
+ label: string;
6
+ kind: number;
7
+ insertText: string;
8
+ insertTextRules: number;
9
+ range: any;
10
+ detail?: string;
11
+ }
12
+ export declare function generateSuggestionsBySchema(schema: ColumnsByTable[], monaco: Monaco, range: Range, databaseType: string): CompletionItem[];
13
+ export declare function generateSuggestionsByDatasource(monaco: Monaco, range: Range, databaseType: string): {
14
+ label: string;
15
+ kind: import("monaco-editor").languages.CompletionItemKind;
16
+ insertText: string;
17
+ insertTextRules: import("monaco-editor").languages.CompletionItemInsertTextRule;
18
+ range: Range;
19
+ }[];
20
+ export {};
21
+ //# sourceMappingURL=monacoAutocomplete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monacoAutocomplete.d.ts","sourceRoot":"","sources":["../../../src/utils/monacoAutocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAY,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhD,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyOD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,cAAc,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,GACnB,cAAc,EAAE,CA2BlB;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM;;;;;;IAiBrB"}
@@ -0,0 +1,245 @@
1
+ import { processColumnReference } from './columnProcessing';
2
+ const GENERIC_DATASOURCE_SUGGESTIONS = (monaco, range) => {
3
+ return [
4
+ {
5
+ label: 'SELECT',
6
+ kind: monaco.languages.CompletionItemKind.Keyword,
7
+ insertText: 'SELECT',
8
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
9
+ range,
10
+ },
11
+ {
12
+ label: 'FROM',
13
+ kind: monaco.languages.CompletionItemKind.Keyword,
14
+ insertText: 'FROM',
15
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
16
+ range,
17
+ },
18
+ {
19
+ label: 'JOIN',
20
+ kind: monaco.languages.CompletionItemKind.Keyword,
21
+ insertText: 'JOIN',
22
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
23
+ range,
24
+ },
25
+ {
26
+ label: 'LEFT JOIN',
27
+ kind: monaco.languages.CompletionItemKind.Keyword,
28
+ insertText: 'LEFT JOIN',
29
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
30
+ range,
31
+ },
32
+ {
33
+ label: 'INNER JOIN',
34
+ kind: monaco.languages.CompletionItemKind.Keyword,
35
+ insertText: 'INNER JOIN',
36
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
37
+ range,
38
+ },
39
+ {
40
+ label: 'MAX',
41
+ kind: monaco.languages.CompletionItemKind.Keyword,
42
+ insertText: 'MAX',
43
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
44
+ range,
45
+ },
46
+ {
47
+ label: 'MIN',
48
+ kind: monaco.languages.CompletionItemKind.Keyword,
49
+ insertText: 'MIN',
50
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
51
+ range,
52
+ },
53
+ {
54
+ label: 'ON',
55
+ kind: monaco.languages.CompletionItemKind.Keyword,
56
+ insertText: 'ON',
57
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
58
+ range,
59
+ },
60
+ {
61
+ label: 'WHERE',
62
+ kind: monaco.languages.CompletionItemKind.Keyword,
63
+ insertText: 'WHERE',
64
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
65
+ range,
66
+ },
67
+ {
68
+ label: 'LIMIT',
69
+ kind: monaco.languages.CompletionItemKind.Keyword,
70
+ insertText: 'LIMIT',
71
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
72
+ range,
73
+ },
74
+ {
75
+ label: 'GROUP BY',
76
+ kind: monaco.languages.CompletionItemKind.Keyword,
77
+ insertText: 'GROUP BY',
78
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
79
+ range,
80
+ },
81
+ {
82
+ label: 'ORDER BY',
83
+ kind: monaco.languages.CompletionItemKind.Keyword,
84
+ insertText: 'ORDER BY',
85
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
86
+ range,
87
+ },
88
+ {
89
+ label: 'LIKE',
90
+ kind: monaco.languages.CompletionItemKind.Keyword,
91
+ insertText: 'LIKE',
92
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
93
+ range,
94
+ },
95
+ {
96
+ label: 'BETWEEN',
97
+ kind: monaco.languages.CompletionItemKind.Keyword,
98
+ insertText: 'BETWEEN',
99
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
100
+ range,
101
+ },
102
+ {
103
+ label: 'AS',
104
+ kind: monaco.languages.CompletionItemKind.Keyword,
105
+ insertText: 'AS',
106
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
107
+ range,
108
+ },
109
+ {
110
+ label: 'LOWER',
111
+ kind: monaco.languages.CompletionItemKind.Keyword,
112
+ insertText: 'LOWER',
113
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
114
+ range,
115
+ },
116
+ {
117
+ label: 'UPPER',
118
+ kind: monaco.languages.CompletionItemKind.Keyword,
119
+ insertText: 'UPPER',
120
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
121
+ range,
122
+ },
123
+ ];
124
+ };
125
+ const POSTGRES_DATASOURCE_SUGGESTIONS = (monaco, range) => {
126
+ return [
127
+ {
128
+ label: 'EXTRACT',
129
+ kind: monaco.languages.CompletionItemKind.Keyword,
130
+ insertText: 'EXTRACT',
131
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
132
+ range,
133
+ },
134
+ {
135
+ label: 'TO_TIMESTAMP',
136
+ kind: monaco.languages.CompletionItemKind.Keyword,
137
+ insertText: 'TO_TIMESTAMP',
138
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
139
+ range,
140
+ },
141
+ {
142
+ label: 'CURRENT_DATE',
143
+ kind: monaco.languages.CompletionItemKind.Keyword,
144
+ insertText: 'CURRENT_DATE',
145
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
146
+ range,
147
+ },
148
+ {
149
+ label: 'CURRENT_TIMESTAMP',
150
+ kind: monaco.languages.CompletionItemKind.Keyword,
151
+ insertText: 'CURRENT_TIMESTAMP',
152
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
153
+ range,
154
+ },
155
+ ];
156
+ };
157
+ const BIGQUERY_DATASOURCE_SUGGESTIONS = (monaco, range) => {
158
+ return [
159
+ {
160
+ label: 'CURRENT_TIMESTAMP',
161
+ kind: monaco.languages.CompletionItemKind.Keyword,
162
+ insertText: 'CURRENT_TIMESTAMP',
163
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
164
+ range,
165
+ },
166
+ {
167
+ label: 'EXTRACT',
168
+ kind: monaco.languages.CompletionItemKind.Keyword,
169
+ insertText: 'EXTRACT',
170
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
171
+ range,
172
+ },
173
+ {
174
+ label: 'FORMAT_TIMESTAMP',
175
+ kind: monaco.languages.CompletionItemKind.Keyword,
176
+ insertText: 'FORMAT_TIMESTAMP',
177
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
178
+ range,
179
+ },
180
+ {
181
+ label: 'PARSE_TIMESTAMP',
182
+ kind: monaco.languages.CompletionItemKind.Keyword,
183
+ insertText: 'PARSE_TIMESTAMP',
184
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
185
+ range,
186
+ },
187
+ {
188
+ label: 'TIMESTAMP_ADD',
189
+ kind: monaco.languages.CompletionItemKind.Keyword,
190
+ insertText: 'TIMESTAMP_ADD',
191
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
192
+ range,
193
+ },
194
+ {
195
+ label: 'TIMESTAMP_DIFF',
196
+ kind: monaco.languages.CompletionItemKind.Keyword,
197
+ insertText: 'TIMESTAMP_DIFF',
198
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
199
+ range,
200
+ },
201
+ ];
202
+ };
203
+ export function generateSuggestionsBySchema(schema, monaco, range, databaseType) {
204
+ const suggestions = [];
205
+ schema.forEach((table) => {
206
+ const curSuggestion = {
207
+ label: table.tableName,
208
+ kind: monaco.languages.CompletionItemKind.Field,
209
+ insertText: `${processColumnReference(table.tableName, databaseType)}`,
210
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
211
+ range,
212
+ };
213
+ suggestions.push(curSuggestion);
214
+ table.columns.forEach((column) => {
215
+ const insertText = `${processColumnReference(column.columnName, databaseType)}`;
216
+ const curSuggestion = {
217
+ label: column.columnName,
218
+ kind: monaco.languages.CompletionItemKind.Field,
219
+ insertText,
220
+ detail: table.tableName,
221
+ insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
222
+ range,
223
+ };
224
+ suggestions.push(curSuggestion);
225
+ });
226
+ }, []);
227
+ return suggestions;
228
+ }
229
+ export function generateSuggestionsByDatasource(monaco, range, databaseType) {
230
+ switch (databaseType.toLowerCase()) {
231
+ case 'snowflake':
232
+ case 'postgresql':
233
+ return [
234
+ ...POSTGRES_DATASOURCE_SUGGESTIONS(monaco, range),
235
+ ...GENERIC_DATASOURCE_SUGGESTIONS(monaco, range),
236
+ ];
237
+ case 'bigquery':
238
+ return [
239
+ ...BIGQUERY_DATASOURCE_SUGGESTIONS(monaco, range),
240
+ ...GENERIC_DATASOURCE_SUGGESTIONS(monaco, range),
241
+ ];
242
+ default:
243
+ return GENERIC_DATASOURCE_SUGGESTIONS(monaco, range);
244
+ }
245
+ }
@@ -7,6 +7,11 @@ export interface SchemaDetails {
7
7
  name: string;
8
8
  }[];
9
9
  foreignKeys?: string[];
10
+ customQueryFKs?: string[];
11
+ customQueryOrganizations?: {
12
+ id: any;
13
+ name: string;
14
+ }[];
10
15
  selectedFields: {
11
16
  schema: string;
12
17
  table?: string;
@@ -17,6 +22,12 @@ export interface SchemaDetails {
17
22
  name: string;
18
23
  };
19
24
  foreignKey?: string;
25
+ customerView?: string;
20
26
  };
21
27
  }
28
+ export declare const getSchemaInfo: (client: any, caller?: string) => Promise<any>;
29
+ export declare const getSchemaInfoWithCustomFields: (client: any, caller?: string) => Promise<{
30
+ schemaData: any;
31
+ customFieldsByTable: any[];
32
+ }>;
22
33
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wBAAwB,CAAC,EAAE;QAAE,EAAE,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,cAAc,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AA4BD,eAAO,MAAM,aAAa,WAAkB,GAAG,kCA2B9C,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,GAAG;;;EA+FZ,CAAC"}
@@ -1 +1,126 @@
1
- export {};
1
+ const parseResponse = (results) => {
2
+ if (results.data?.data) {
3
+ if (results.data.data.queries &&
4
+ results.data.data.queries.queryResults.length > 0) {
5
+ return results.data.data.queries.queryResults;
6
+ }
7
+ else {
8
+ return results.data.data.tables;
9
+ }
10
+ }
11
+ else {
12
+ if (results.queries &&
13
+ results.queries.queryResults &&
14
+ results.queries.queryResults.length > 0) {
15
+ return results.queries.queryResults;
16
+ }
17
+ else {
18
+ return results.data.tables;
19
+ }
20
+ }
21
+ };
22
+ // GET SCHEMA INFO WITHOUT LOOKING FOR CUSTOMER FIELD DATA
23
+ export const getSchemaInfo = async (client, caller = 'se') => {
24
+ const { queryEndpoint, queryHeaders, publicKey, customerId, gatherSchemaData, } = client;
25
+ const response = await fetch(`${queryEndpoint}?schema-${caller}`, {
26
+ method: 'POST',
27
+ headers: {
28
+ ...queryHeaders,
29
+ 'Content-Type': 'application/json',
30
+ },
31
+ body: JSON.stringify({
32
+ metadata: {
33
+ clientId: publicKey,
34
+ publicKey: publicKey,
35
+ task: 'schema',
36
+ removeCustomerField: true,
37
+ orgId: customerId || '*',
38
+ gatherSchemaData,
39
+ },
40
+ }),
41
+ });
42
+ const result = await response.json();
43
+ return parseResponse(result);
44
+ };
45
+ export const getSchemaInfoWithCustomFields = async (client, caller = 'se') => {
46
+ const { queryEndpoint, queryHeaders, publicKey, databaseType, customerId } = client;
47
+ let customFieldsByTableUnique = [];
48
+ let getCustomFields = true;
49
+ if (!customerId || customerId !== '*') {
50
+ try {
51
+ let response = await fetch(`${queryEndpoint}?cfr-${caller}`, {
52
+ method: 'POST',
53
+ headers: {
54
+ ...queryHeaders,
55
+ 'Content-Type': 'application/json',
56
+ },
57
+ body: JSON.stringify({
58
+ metadata: {
59
+ clientId: publicKey,
60
+ publicKey,
61
+ task: 'custom-field-records',
62
+ databaseType: databaseType,
63
+ orgId: customerId,
64
+ },
65
+ }),
66
+ });
67
+ let result = await response.json();
68
+ const extractedData = parseResponse(result);
69
+ const customFieldsByTable = [];
70
+ extractedData.forEach((table) => {
71
+ if (!table.rows) {
72
+ return;
73
+ }
74
+ table.rows.forEach((row) => {
75
+ customFieldsByTable.push({
76
+ ref_table: row.ref_table,
77
+ field: row.field,
78
+ ref_column: row.ref_column,
79
+ type: row.type,
80
+ });
81
+ });
82
+ });
83
+ // make sure the are no duplicate records in extractedData
84
+ const customFieldsByTableSet = new Set();
85
+ customFieldsByTableUnique = customFieldsByTable.filter((item) => {
86
+ if (customFieldsByTableSet.has(item.ref_table + item.field + item.ref_column + item.type)) {
87
+ return false;
88
+ }
89
+ customFieldsByTableSet.add(item.ref_table + item.field + item.ref_column + item.type);
90
+ return true;
91
+ });
92
+ }
93
+ catch (e) {
94
+ console.warn('Error fetching custom fields', e);
95
+ getCustomFields = true;
96
+ }
97
+ }
98
+ const response = await fetch(`${queryEndpoint}?schema-${caller}`, {
99
+ method: 'POST',
100
+ headers: {
101
+ ...queryHeaders,
102
+ 'Content-Type': 'application/json',
103
+ },
104
+ body: JSON.stringify({
105
+ metadata: {
106
+ clientId: publicKey,
107
+ publicKey: publicKey,
108
+ task: 'schema',
109
+ removeCustomerField: true,
110
+ getCustomFields: !client.customerId ||
111
+ client.customerId === '*' ||
112
+ (customFieldsByTableUnique.length === 0 && !getCustomFields)
113
+ ? false
114
+ : true,
115
+ orgId: client.customerId || '*',
116
+ customFieldsByTable: customFieldsByTableUnique,
117
+ // gatherSchemaData: true
118
+ },
119
+ }),
120
+ });
121
+ const result = await response.json();
122
+ return {
123
+ schemaData: parseResponse(result),
124
+ customFieldsByTable: customFieldsByTableUnique,
125
+ };
126
+ };
@@ -15,4 +15,5 @@ export interface Column {
15
15
  displayName: string;
16
16
  fieldType: string;
17
17
  }
18
+ export declare const hasColumnAlias: (columns: Column[], referencedColumns: string[]) => boolean;
18
19
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/utils/table.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/utils/table.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,YAChB,MAAM,EAAE,qBACE,MAAM,EAAE,KAC1B,OAUF,CAAC"}
@@ -1 +1,11 @@
1
- export {};
1
+ export const hasColumnAlias = (columns, referencedColumns) => {
2
+ if (!referencedColumns) {
3
+ return true;
4
+ }
5
+ for (const column of columns) {
6
+ if (!referencedColumns.includes(column.field)) {
7
+ return true;
8
+ }
9
+ }
10
+ return false;
11
+ };
@@ -0,0 +1,2 @@
1
+ export declare function wrapInQuotes(str?: string, willWrap?: boolean): string;
2
+ //# sourceMappingURL=textProcessing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/textProcessing.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,CAGnE"}
@@ -0,0 +1,5 @@
1
+ export function wrapInQuotes(str, willWrap = false) {
2
+ if (!willWrap)
3
+ return str || '';
4
+ return `"${str}"`;
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/admin",
3
- "version": "1.5.2",
3
+ "version": "1.6.1",
4
4
  "description": "Admin tools for Quill",
5
5
  "exports": {
6
6
  ".": {
@@ -23,7 +23,8 @@
23
23
  "@dnd-kit/utilities": "^3.2.1",
24
24
  "@monaco-editor/react": "^4.5.2",
25
25
  "prism-react-renderer": "^1.3.5",
26
- "prismjs": "^1.29.0"
26
+ "prismjs": "^1.29.0",
27
+ "re-resizable": "^6.9.17"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@repo/eslint-config": "*",
@@ -1,20 +0,0 @@
1
- /// <reference types="react" />
2
- interface EditDashboardsModalProps {
3
- ModalComponent: React.ComponentType<any>;
4
- TextInputComponent: React.ComponentType<any>;
5
- isOpen: boolean;
6
- setIsOpen: (isOpen: boolean) => void;
7
- clientId: string;
8
- ButtonComponent: React.ComponentType<any>;
9
- SecondaryButtonComponent: React.ComponentType<any>;
10
- openEditFilterModal: (dashboardName: string) => void;
11
- openEditOrderModal: (dashboardName: string) => void;
12
- openAddDashboardModal: () => void;
13
- HeaderComponent: React.ComponentType<any>;
14
- setDashboardData: (dashboardData: any) => void;
15
- dashboards: any[];
16
- getDashNames: () => void;
17
- }
18
- export default function EditDashboardsModal({ ModalComponent, TextInputComponent, isOpen, setIsOpen, clientId, ButtonComponent, SecondaryButtonComponent, openEditFilterModal, openEditOrderModal, openAddDashboardModal, HeaderComponent, setDashboardData, dashboards, getDashNames, }: EditDashboardsModalProps): import("react/jsx-runtime").JSX.Element;
19
- export {};
20
- //# sourceMappingURL=EditDashboardsModal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditDashboardsModal.d.ts","sourceRoot":"","sources":["../../../src/modals/EditDashboardsModal.tsx"],"names":[],"mappings":";AAGA,UAAU,wBAAwB;IAChC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,wBAAwB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnD,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,kBAAkB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,gBAAgB,EAAE,CAAC,aAAa,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,YAAY,GACb,EAAE,wBAAwB,2CAyJ1B"}
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const Admin_1 = require("../Admin");
5
- const constants_1 = require("../utils/constants");
6
- function EditDashboardsModal({ ModalComponent, TextInputComponent, isOpen, setIsOpen, clientId, ButtonComponent, SecondaryButtonComponent, openEditFilterModal, openEditOrderModal, openAddDashboardModal, HeaderComponent, setDashboardData, dashboards, getDashNames, }) {
7
- // const [dashboards, setDashboards] = useState([]);
8
- // useEffect(() => {
9
- // async function getDashboards(clientId) {
10
- // const url = `${QUILL_SERVER}/dashnames/${clientId}/`;
11
- // const response2 = await fetch(url, {
12
- // method: "GET",
13
- // headers: {
14
- // Authorization: "Bearer ", // Ensure you append your token after 'Bearer ' if needed
15
- // },
16
- // });
17
- // // If you need to retrieve the JSON data from the response:
18
- // const data = await response2.json();
19
- // setDashboards(data);
20
- // }
21
- // if (clientId) {
22
- // getDashboards(clientId);
23
- // }
24
- // }, [clientId]);
25
- async function handleDeleteDashboard(dashboardName) {
26
- const url = `${constants_1.QUILL_SERVER}/dashdelete/${clientId}/`;
27
- const body = {
28
- name: dashboardName,
29
- };
30
- const headers = {
31
- 'Content-Type': 'application/json',
32
- Authorization: `Bearer `,
33
- };
34
- try {
35
- const response = await fetch(url, {
36
- method: 'POST',
37
- headers: headers,
38
- body: JSON.stringify(body),
39
- });
40
- if (!response.ok) {
41
- throw new Error(`HTTP error! Status: ${response.status}`);
42
- }
43
- const responseData = await response.json();
44
- if (responseData) {
45
- getDashNames();
46
- return;
47
- }
48
- }
49
- catch (e) {
50
- console.log('error', e);
51
- }
52
- }
53
- return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: {
54
- display: 'flex',
55
- flexDirection: 'column',
56
- }, children: [(0, jsx_runtime_1.jsx)("h1", { style: {
57
- fontWeight: '600',
58
- fontSize: 24,
59
- paddingBottom: 8,
60
- color: Admin_1.theme.primaryTextColor,
61
- }, children: "Dashboards" }), dashboards &&
62
- dashboards.map((dashboardName, index) => {
63
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
64
- display: 'flex',
65
- flexDirection: 'row',
66
- paddingTop: 5,
67
- width: 400,
68
- paddingBottom: 5,
69
- alignItems: 'center',
70
- justifyContent: 'space-between',
71
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
72
- display: 'flex',
73
- flexDirection: 'column',
74
- }, children: (0, jsx_runtime_1.jsx)("div", { style: {
75
- marginRight: 12,
76
- fontWeight: '600',
77
- fontSize: 16,
78
- color: Admin_1.theme.primaryTextColor,
79
- }, children: dashboardName.name }) }), (0, jsx_runtime_1.jsx)("div", { style: {
80
- display: 'flex',
81
- flexDirection: 'column',
82
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
83
- display: 'flex',
84
- flexDirection: 'row',
85
- alignItems: 'flex-end',
86
- }, children: [(0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => openEditFilterModal(dashboardName.name), label: "Edit" }), (0, jsx_runtime_1.jsx)("div", { style: { width: 8 } }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => openEditOrderModal(dashboardName.name), label: "Reorder" }), (0, jsx_runtime_1.jsx)("div", { style: { width: 8 } }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => handleDeleteDashboard(dashboardName.name), label: "Delete" })] }) })] }, dashboardName + index));
87
- })] }), (0, jsx_runtime_1.jsx)("div", { style: {
88
- display: 'flex',
89
- flexDirection: 'column',
90
- justifyContent: 'center',
91
- marginTop: 20,
92
- }, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: openAddDashboardModal, label: "Create new dashboard" }) })] }) }));
93
- }
94
- exports.default = EditDashboardsModal;