@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,35 +1,39 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoadingSpinner = exports.MemoizedDeleteButton = exports.MemoizedModal = exports.MemoizedPopover = exports.MemoizedText = exports.MemoizedLabel = exports.MemoizedHeader = exports.MemoizedSelect = exports.MemoizedSecondaryButton = exports.MemoizedButton = exports.MemoizedTextInput = void 0;
6
+ exports.LoadingSpinner = exports.MemoizedDeleteButton = exports.MemoizedModal = exports.MemoizedPopover = exports.MemoizedText = exports.MemoizedLabel = exports.MemoizedHeader = exports.MemoizedSecondaryButton = exports.MemoizedButton = exports.MemoizedTextInput = void 0;
4
7
  const jsx_runtime_1 = require("react/jsx-runtime");
5
8
  //@ts-nocheck
6
9
  const react_1 = require("react");
7
10
  const assets_1 = require("../assets");
8
11
  const react_2 = require("@quillsql/react");
12
+ const useOnClickOutside_1 = __importDefault(require("../hooks/useOnClickOutside"));
9
13
  const MemoizedTextInput = ({ value, onChange, placeholder, id, width, }) => {
10
14
  const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
11
15
  return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative', width: width }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
12
- .quill-text-input {
16
+ .quill-text-input {
13
17
  background-color: white;
14
18
  height: 40px;
15
- width: 180px;
16
- color: #384151;
17
- border: 1px solid #e7e7e7;
18
- border-radius: 6px;
19
- text-align: left;
20
- box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
21
- padding-left: 12px;
22
- padding-right: 12px;
23
- padding-top: 0px;
24
- padding-bottom: 0px;
25
- box-sizing: content-box;
26
- }` }), (0, jsx_runtime_1.jsx)("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, style: {
19
+ width: 180px;
20
+ color: #384151;
21
+ border: 1px solid #e7e7e7;
22
+ border-radius: 6px;
23
+ text-align: left;
24
+ box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
25
+ padding-left: 12px;
26
+ padding-right: 12px;
27
+ padding-top: 0px;
28
+ padding-bottom: 0px;
29
+ box-sizing: content-box;
30
+ }` }), (0, jsx_runtime_1.jsx)("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: onChange, placeholder: placeholder, style: {
27
31
  fontFamily: theme?.fontFamily,
28
32
  width: width ? 'calc(100% - 24px)' : '180px',
29
33
  } })] }));
30
34
  };
31
35
  exports.MemoizedTextInput = MemoizedTextInput;
32
- const MemoizedButton = ({ label, onClick, primary = true, style = {}, width = 'auto', }) => {
36
+ const MemoizedButton = ({ label, onClick, isLoading = false, primary = true, style = {}, width = 'auto', }) => {
33
37
  const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
34
38
  return ((0, jsx_runtime_1.jsxs)("button", { className: "quill-button", onClick: onClick, style: { fontFamily: theme?.fontFamily, ...style, width: width }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
35
39
  .quill-button {
@@ -42,18 +46,17 @@ const MemoizedButton = ({ label, onClick, primary = true, style = {}, width = 'a
42
46
  box-sizing: content-box;
43
47
  padding-left: 16px;
44
48
  padding-right: 16px;
45
- overflow: hidden;
49
+ white-space: nowrap;
46
50
  font-size: 15px;
47
51
  cursor: pointer;
48
52
  }
49
53
  .quill-button:hover {
50
54
  background-color: rgba(56, 65, 81, 0.9);
51
55
  border-radius: 6px;
52
- overflow: hidden;
53
- }` }), label] }));
56
+ }` }), isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: { padding: '0px 16px' }, children: (0, jsx_runtime_1.jsx)(exports.LoadingSpinner, {}) })) : (label)] }));
54
57
  };
55
58
  exports.MemoizedButton = MemoizedButton;
56
- const MemoizedSecondaryButton = ({ label, onClick }) => {
59
+ const MemoizedSecondaryButton = ({ label, onClick, isLoading = false, }) => {
57
60
  const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
58
61
  return ((0, jsx_runtime_1.jsxs)("button", { className: "quill-secondary-button", onClick: onClick, style: { fontFamily: theme?.fontFamily }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
59
62
  .quill-secondary-button {
@@ -74,37 +77,9 @@ const MemoizedSecondaryButton = ({ label, onClick }) => {
74
77
  }
75
78
  .quill-secondary-button:hover {
76
79
  background-color: rgba(56, 65, 81, 0.09);
77
- }` }), label] }));
80
+ }` }), isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: { padding: '0px 16px' }, children: (0, jsx_runtime_1.jsx)(exports.LoadingSpinner, {}) })) : (label)] }));
78
81
  };
79
82
  exports.MemoizedSecondaryButton = MemoizedSecondaryButton;
80
- const MemoizedSelect = ({ value, onChange, options, disabled = false, label, }) => {
81
- const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
82
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
83
- position: 'relative',
84
- maxWidth: 206,
85
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
86
- .quill-select {
87
- background-color: white;
88
- height: 42px;
89
- color: #384151;
90
- width: 206px;
91
- border: 1px solid #e7e7e7;
92
- border-radius: 6px;
93
- text-align: left;
94
- box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
95
- padding-left: 12px;
96
- padding-right: 12px;
97
- }` }), (0, jsx_runtime_1.jsx)("select", { style: { WebkitAppearance: 'none', fontFamily: theme?.fontFamily }, className: "quill-select", value: value, disabled: disabled, onChange: (event) => onChange(event.target.value), children: options.map((option) => ((0, jsx_runtime_1.jsx)("option", { className: "quill-option", value: option.value, children: option.label }, option.value))) }), (0, jsx_runtime_1.jsx)(assets_1.ArrowDownHeadIcon, { style: {
98
- height: '20px',
99
- width: '20px',
100
- flex: 'none',
101
- position: 'absolute',
102
- right: 8,
103
- top: 11,
104
- color: '#6C727F',
105
- }, "aria-hidden": "true" })] }));
106
- };
107
- exports.MemoizedSelect = MemoizedSelect;
108
83
  const MemoizedHeader = ({ children }) => ((0, jsx_runtime_1.jsx)("h1", { style: {
109
84
  fontSize: 16,
110
85
  fontWeight: 600,
@@ -130,25 +105,9 @@ const MemoizedText = ({ children }) => ((0, jsx_runtime_1.jsx)("p", { style: {
130
105
  userSelect: 'none',
131
106
  }, children: children }));
132
107
  exports.MemoizedText = MemoizedText;
133
- const useOnClickOutside = (ref, handler) => {
134
- (0, react_1.useEffect)(() => {
135
- const listener = (event) => {
136
- if (!ref.current || ref.current.contains(event.target)) {
137
- return;
138
- }
139
- handler(event);
140
- };
141
- document.addEventListener('mousedown', listener);
142
- document.addEventListener('touchstart', listener);
143
- return () => {
144
- document.removeEventListener('mousedown', listener);
145
- document.removeEventListener('touchstart', listener);
146
- };
147
- }, [ref, handler]);
148
- };
149
108
  function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, label, showTrigger = true, isOpen, setIsOpen, }) {
150
109
  const modalRef = (0, react_1.useRef)(null);
151
- useOnClickOutside(modalRef, (e) => {
110
+ (0, useOnClickOutside_1.default)(modalRef, (e) => {
152
111
  // Exclude click on trigger button (e.g. Dropdown Button) from outside click handler
153
112
  const isTriggerElem = parentRef
154
113
  ? parentRef.current?.contains(e.target)
@@ -183,7 +142,18 @@ function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, la
183
142
  }, children: children }) }))] }));
184
143
  }
185
144
  exports.MemoizedPopover = MemoizedPopover;
186
- function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, style = {}, }) {
145
+ function MemoizedModal({ isOpen, setIsOpen, title, children, width, height, }) {
146
+ const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
147
+ (0, react_1.useEffect)(() => {
148
+ // Prevent scrolling in the background when the modal is open
149
+ if (isOpen) {
150
+ document.body.style.overflow = 'hidden';
151
+ }
152
+ return () => {
153
+ // Re-enable scrolling when the modal is closed/unmounted
154
+ document.body.style.overflow = 'unset';
155
+ };
156
+ }, [isOpen]);
187
157
  if (!isOpen) {
188
158
  return null;
189
159
  }
@@ -196,15 +166,11 @@ function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, sty
196
166
  zIndex: '50',
197
167
  backgroundColor: 'rgba(255, 255, 255, 0.8)',
198
168
  backdropFilter: 'blur(5px)',
199
- }, onClick: onClose }), (0, jsx_runtime_1.jsx)("div", { style: {
200
- // position: "absolute",
169
+ }, onClick: () => setIsOpen(false) }), (0, jsx_runtime_1.jsx)("div", { style: {
201
170
  position: 'fixed',
202
171
  left: '50%',
203
172
  top: '50%',
204
173
  zIndex: '50',
205
- // width: "100%",
206
- // maxWidth: 1024,
207
- // maxHeight: '90vh',
208
174
  display: 'flex',
209
175
  justifyContent: 'center',
210
176
  alignItems: 'center',
@@ -214,21 +180,19 @@ function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, sty
214
180
  borderStyle: 'solid',
215
181
  borderWidth: 1,
216
182
  borderColor: '#e7e7e7',
217
- overflow: 'hidden',
218
- // zIndex: 1000,
219
- ...style,
183
+ width: width ?? 'auto',
184
+ height: height ?? 'auto',
185
+ overflow: 'auto',
186
+ maxWidth: 'calc(100vw - 82px)',
187
+ maxHeight: 'calc(100vh - 82px)',
220
188
  }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
221
- width: '100%',
222
189
  height: '100%',
223
- overflowY: 'auto',
224
- // maxWidth: "700px",
190
+ width: '100%',
191
+ maxWidth: 'calc(100vw - 82px)',
192
+ maxHeight: 'calc(100vh - 82px)',
225
193
  backgroundColor: '#ffffff',
226
- // padding: "20px",
227
- // borderRadius: "8px",
228
- flexGrow: 1,
229
194
  display: 'flex',
230
195
  flexDirection: 'column',
231
- alignItems: 'center',
232
196
  position: 'relative',
233
197
  fontFamily: theme?.fontFamily,
234
198
  }, children: [(0, jsx_runtime_1.jsxs)("div", { id: "quill-modal-header", style: {
@@ -245,12 +209,12 @@ function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, sty
245
209
  textAlign: 'left',
246
210
  paddingTop: 18,
247
211
  color: theme?.primaryTextColor,
248
- }, children: title }), (0, jsx_runtime_1.jsx)(exports.MemoizedDeleteButton, { onClick: onClose, style: { marginRight: 10, marginTop: 10 } })] }), children] }) })] }));
212
+ }, children: title }), (0, jsx_runtime_1.jsx)("div", { style: { marginRight: 10, marginTop: 10 }, children: (0, jsx_runtime_1.jsx)(exports.MemoizedDeleteButton, { onClick: () => setIsOpen(false) }) })] }), children] }) })] }));
249
213
  }
250
214
  exports.MemoizedModal = MemoizedModal;
251
215
  const MemoizedDeleteButton = ({ onClick, style }) => ((0, jsx_runtime_1.jsxs)("button", { className: "quill-delete-button", type: "button", onClick: onClick, style: {
252
- height: 42,
253
- width: 42,
216
+ height: 40,
217
+ width: 40,
254
218
  border: 'none',
255
219
  cursor: 'pointer',
256
220
  display: 'flex',
@@ -0,0 +1,2 @@
1
+ export declare const ALL_INT_TYPES: string[];
2
+ //# sourceMappingURL=dataTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTypes.d.ts","sourceRoot":"","sources":["../../../src/constants/dataTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,UAiBzB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ALL_INT_TYPES = void 0;
4
+ exports.ALL_INT_TYPES = [
5
+ 'int4',
6
+ 'int8',
7
+ 'int2',
8
+ 'integer',
9
+ 'bigint',
10
+ 'smallint',
11
+ 'tinyint',
12
+ 'byteint',
13
+ 'real',
14
+ 'double precision',
15
+ 'smallserial',
16
+ 'serial',
17
+ 'bigserial',
18
+ 'serial4',
19
+ 'serial8',
20
+ 'serial2',
21
+ ];
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectDatabase.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectDatabase.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAoB,MAAM,OAAO,CAAC;AAG/D,OAAO,EACL,eAAe,EACf,cAAc,EAIf,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,WAAgB,GACjB,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,qBAAqB,EAAE,CACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,eAAe,EAC7B,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,2CAwYA"}
1
+ {"version":3,"file":"ConnectDatabase.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectDatabase.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAoB,MAAM,OAAO,CAAC;AAG/D,OAAO,EACL,eAAe,EACf,cAAc,EAIf,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,WAAgB,GACjB,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,qBAAqB,EAAE,CACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,eAAe,EAC7B,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,2CAsXA"}
@@ -55,6 +55,7 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
55
55
  reader.readAsText(file);
56
56
  };
57
57
  const testConnectionAndFormClient = async () => {
58
+ setShowError(false);
58
59
  const connectionString = (0, databases_1.formConnectionString)(databaseConnectionDetails);
59
60
  const result = await (0, ConnectionClient_1.testConnectionString)(connectionString, databaseConnectionDetails.type, clientId);
60
61
  if (result.success) {
@@ -169,28 +170,19 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
169
170
  ...databaseConnectionDetails,
170
171
  [key]: e.target.value,
171
172
  });
172
- }, value: value, disabled: key === 'type' })] }, key));
173
- }) }) })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { minWidth: 790 }, children: (0, jsx_runtime_1.jsxs)("div", { id: "database-details-form", style: {
173
+ }, value: value, disabled: key === 'type', password: key === 'password' ? true : false })] }, key));
174
+ }) }) })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { minWidth: 790 }, children: (0, jsx_runtime_1.jsx)("div", { id: "database-details-form", style: {
174
175
  display: 'grid',
175
176
  gridTemplateColumns: 'repeat(1, 1fr)',
176
177
  gap: '20px',
177
178
  justifyContent: 'space-between',
178
179
  marginTop: '16px',
179
- }, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: {
180
- ...header2Style,
181
- fontWeight: '600',
182
- }, children: "Project ID" }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
183
- setConnectionDetails({
184
- ...databaseConnectionDetails,
185
- companyTag: e.target.value,
186
- });
187
- setCompanyTag(e.target.value);
188
- }, value: companyTag })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: '600' }, children: "Submit File" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", { type: "file", accept: ".json", onChange: handleFileChange, style: { display: 'none' }, id: "fileInput", ref: myInputRef }), (0, jsx_runtime_1.jsxs)("div", { style: {
189
- display: 'flex',
190
- flexDirection: 'row',
191
- gap: 12,
192
- alignItems: 'center',
193
- }, children: [(0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { onClick: handleButtonClick, label: 'Upload JSON' }), (0, jsx_runtime_1.jsx)("span", { style: { ...header2Style, fontWeight: '600' }, children: fileLabel })] })] })] })] }) })), (0, jsx_runtime_1.jsxs)("div", { style: {
180
+ }, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: '600' }, children: "Service Account Json" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", { type: "file", accept: ".json", onChange: handleFileChange, style: { display: 'none' }, id: "fileInput", ref: myInputRef }), (0, jsx_runtime_1.jsxs)("div", { style: {
181
+ display: 'flex',
182
+ flexDirection: 'row',
183
+ gap: 12,
184
+ alignItems: 'center',
185
+ }, children: [(0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { onClick: handleButtonClick, label: 'Upload JSON' }), (0, jsx_runtime_1.jsx)("span", { style: { ...header2Style, fontWeight: '600' }, children: fileLabel })] })] })] }) }) })), (0, jsx_runtime_1.jsxs)("div", { style: {
194
186
  width: '100%',
195
187
  display: 'flex',
196
188
  justifyContent: 'space-between',
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { SchemaDetails } from '../../utils/schema';
3
3
  import { ConnectionError, ConnectionType } from '../../utils/databases';
4
- export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, }: {
4
+ export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, state, }: {
5
5
  containerStyle?: CSSProperties;
6
6
  header1Style?: CSSProperties;
7
7
  header2Style?: CSSProperties;
@@ -11,5 +11,6 @@ export default function ConnectSchema({ containerStyle, header1Style, header2Sty
11
11
  propogateSchemaDetails: (schemaDetails?: SchemaDetails) => void;
12
12
  clientId: string;
13
13
  parentRef: any;
14
+ state: any;
14
15
  }): import("react/jsx-runtime").JSX.Element;
15
16
  //# sourceMappingURL=ConnectSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectSchema.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectSchema.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,sBAAsB,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;CAChB,2CAiSA"}
1
+ {"version":3,"file":"ConnectSchema.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectSchema.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,sBAAsB,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,2CAubA"}
@@ -8,10 +8,36 @@ const react_1 = require("react");
8
8
  const primitives_1 = require("../../primitives");
9
9
  const DropDownMenuWithLabel_1 = __importDefault(require("../../components/DropDownMenuWithLabel"));
10
10
  const ConnectionClient_1 = require("../../api/ConnectionClient");
11
- function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, }) {
11
+ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, state, }) {
12
12
  const [schemaDetails, setSchemaDetails] = (0, react_1.useState)(allSchemaInfo);
13
13
  const [schemaError, setSchemaError] = (0, react_1.useState)(initialError);
14
14
  const [formError, setFormError] = (0, react_1.useState)({ show: false, message: '' });
15
+ const [runQueryButtonLabel, setRunQueryButtonLabel] = (0, react_1.useState)('Run query');
16
+ const [errorInfo, setErrorInfo] = (0, react_1.useState)({ status: false, msg: '' });
17
+ const [customerViewQuery, setCustomerViewQuery] = (0, react_1.useState)('');
18
+ const handleQuerySuccess = async (getSqlResults) => {
19
+ const processedResults = await (0, ConnectionClient_1.processCustomerOrgViewQuery)(customerViewQuery, allSchemaInfo?.selectedFields.schema || '', clientId);
20
+ if (processedResults.success === false) {
21
+ setErrorInfo({
22
+ status: true,
23
+ msg: processedResults.message || 'Failed to process the query.',
24
+ });
25
+ return;
26
+ }
27
+ setSchemaDetails({
28
+ ...schemaDetails,
29
+ // @ts-ignore
30
+ selectedFields: {
31
+ ...schemaDetails?.selectedFields,
32
+ table: processedResults.table,
33
+ organizationIdField: 'id',
34
+ customerNameField: 'name',
35
+ customerView: customerViewQuery,
36
+ },
37
+ customQueryFKs: processedResults.fkInfo,
38
+ customQueryOrganizations: getSqlResults.rows,
39
+ });
40
+ };
15
41
  return ((0, jsx_runtime_1.jsxs)("div", { style: { ...containerStyle }, id: "connect-database-form", children: [(0, jsx_runtime_1.jsx)("h1", { style: header1Style, children: "Select Organization Table" }), (0, jsx_runtime_1.jsx)("h2", { style: header2Style, children: "Select which table you use for organizations (your customers). Quill uses this table to partition data by organization." }), (0, jsx_runtime_1.jsxs)("div", { style: {
16
42
  marginTop: 16,
17
43
  width: '100%',
@@ -65,92 +91,141 @@ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaIn
65
91
  else {
66
92
  setSchemaError(suspectedSchema);
67
93
  }
68
- } }))] }), schemaDetails?.tables && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: { gap: 16 }, id: "database-details-form", children: (0, jsx_runtime_1.jsxs)("div", {
69
- // style={{
70
- // display: 'flex',
71
- // flexWrap: 'wrap',
72
- // width: '100%',
73
- // gap: '16px',
74
- // }}
75
- style: {
76
- display: 'grid',
77
- gridTemplateColumns: 'repeat(3, 1fr)',
78
- gap: '20px',
79
- justifyContent: 'space-between',
80
- marginTop: '8px',
81
- }, children: [(0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.tables || [], setSelected: async (e) => {
82
- const columns = await (0, ConnectionClient_1.getTableInfo)(clientId, schemaDetails?.selectedFields?.schema, e);
83
- setSchemaDetails({
84
- ...schemaDetails,
85
- columns: columns.columns,
86
- foreignKeys: [],
87
- organizations: [],
88
- selectedFields: {
89
- schema: schemaDetails?.selectedFields?.schema,
90
- table: e,
91
- },
92
- });
93
- }, selected: schemaDetails?.selectedFields?.table, label: 'Organization table' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
94
- const fkStrings = await (0, ConnectionClient_1.getFKInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e);
95
- if (schemaDetails?.selectedFields.customerNameField) {
96
- const organizations = await (0, ConnectionClient_1.getOrgInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e, schemaDetails?.selectedFields.customerNameField);
94
+ } }))] }), schemaDetails?.tables && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: { gap: 16 }, id: "database-details-form", children: [(0, jsx_runtime_1.jsxs)("div", {
95
+ // style={{
96
+ // display: 'flex',
97
+ // flexWrap: 'wrap',
98
+ // width: '100%',
99
+ // gap: '16px',
100
+ // }}
101
+ style: {
102
+ display: 'grid',
103
+ gridTemplateColumns: 'repeat(3, 1fr)',
104
+ gap: '20px',
105
+ justifyContent: 'space-between',
106
+ marginTop: '8px',
107
+ }, children: [(0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.tables || [], setSelected: async (e) => {
108
+ const columns = await (0, ConnectionClient_1.getTableInfo)(clientId, schemaDetails?.selectedFields?.schema, e);
97
109
  setSchemaDetails({
98
110
  ...schemaDetails,
99
- organizations: organizations,
111
+ columns: columns.columns,
112
+ foreignKeys: [],
113
+ organizations: [],
114
+ selectedFields: {
115
+ schema: schemaDetails?.selectedFields?.schema,
116
+ table: e,
117
+ },
118
+ });
119
+ }, selected: schemaDetails?.selectedFields?.table, label: 'Organization table' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
120
+ const fkStrings = await (0, ConnectionClient_1.getFKInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e);
121
+ if (schemaDetails?.selectedFields.customerNameField) {
122
+ const organizations = await (0, ConnectionClient_1.getOrgInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e, schemaDetails?.selectedFields.customerNameField);
123
+ setSchemaDetails({
124
+ ...schemaDetails,
125
+ organizations: organizations,
126
+ selectedFields: {
127
+ ...schemaDetails?.selectedFields,
128
+ organizationIdField: e,
129
+ },
130
+ });
131
+ }
132
+ setSchemaDetails({
133
+ ...schemaDetails,
134
+ foreignKeys: fkStrings,
100
135
  selectedFields: {
101
136
  ...schemaDetails?.selectedFields,
102
137
  organizationIdField: e,
103
138
  },
104
139
  });
105
- }
106
- setSchemaDetails({
107
- ...schemaDetails,
108
- foreignKeys: fkStrings,
109
- selectedFields: {
110
- ...schemaDetails?.selectedFields,
111
- organizationIdField: e,
112
- },
113
- });
114
- }, selected: schemaDetails?.selectedFields?.organizationIdField, label: 'Organization ID field' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
115
- if (schemaDetails?.selectedFields.organizationIdField) {
116
- const organizations = await (0, ConnectionClient_1.getOrgInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, schemaDetails?.selectedFields.organizationIdField, e);
140
+ }, selected: schemaDetails?.selectedFields?.organizationIdField, label: 'Organization ID field' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
141
+ if (schemaDetails?.selectedFields.organizationIdField) {
142
+ const organizations = await (0, ConnectionClient_1.getOrgInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, schemaDetails?.selectedFields.organizationIdField, e);
143
+ setSchemaDetails({
144
+ ...schemaDetails,
145
+ organizations: organizations,
146
+ selectedFields: {
147
+ ...schemaDetails?.selectedFields,
148
+ customerNameField: e,
149
+ },
150
+ });
151
+ }
152
+ else {
153
+ setSchemaDetails({
154
+ ...schemaDetails,
155
+ selectedFields: {
156
+ ...schemaDetails?.selectedFields,
157
+ customerNameField: e,
158
+ },
159
+ });
160
+ }
161
+ }, selected: schemaDetails?.selectedFields?.customerNameField, label: 'Organization name field' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.organizations?.map((orgObj) => orgObj.name) ||
162
+ [], setSelected: async (e) => {
163
+ const orgObj = schemaDetails?.organizations?.find((orgObj) => orgObj.name === e);
117
164
  setSchemaDetails({
118
165
  ...schemaDetails,
119
- organizations: organizations,
120
166
  selectedFields: {
121
167
  ...schemaDetails?.selectedFields,
122
- customerNameField: e,
168
+ defaultOrg: orgObj,
123
169
  },
124
170
  });
125
- }
126
- else {
171
+ }, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.foreignKeys || [], setSelected: async (e) => {
127
172
  setSchemaDetails({
128
173
  ...schemaDetails,
129
174
  selectedFields: {
130
175
  ...schemaDetails?.selectedFields,
131
- customerNameField: e,
176
+ foreignKey: e,
132
177
  },
133
178
  });
134
- }
135
- }, selected: schemaDetails?.selectedFields?.customerNameField, label: 'Organization name field' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.organizations?.map((orgObj) => orgObj.name) ||
136
- [], setSelected: async (e) => {
137
- const orgObj = schemaDetails?.organizations?.find((orgObj) => orgObj.name === e);
138
- setSchemaDetails({
139
- ...schemaDetails,
140
- selectedFields: {
141
- ...schemaDetails?.selectedFields,
142
- defaultOrg: orgObj,
143
- },
144
- });
145
- }, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.foreignKeys || [], setSelected: async (e) => {
146
- setSchemaDetails({
147
- ...schemaDetails,
148
- selectedFields: {
149
- ...schemaDetails?.selectedFields,
150
- foreignKey: e,
151
- },
152
- });
153
- }, selected: schemaDetails?.selectedFields?.foreignKey, label: 'Foreign key' })] }) }), (0, jsx_runtime_1.jsxs)("div", { style: {
179
+ }, selected: schemaDetails?.selectedFields?.foreignKey, label: 'Foreign key' })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
180
+ ...header1Style,
181
+ textAlign: 'center',
182
+ fontSize: 14,
183
+ color: '#565656',
184
+ display: 'flex',
185
+ flexDirection: 'row',
186
+ alignItems: 'center',
187
+ paddingTop: 24,
188
+ paddingBottom: 0,
189
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } }), (0, jsx_runtime_1.jsx)("div", { style: { padding: 12 }, children: "or" }), (0, jsx_runtime_1.jsx)("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: '16px' }, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: 600, color: "#6e6e6e" }, children: "Customer Organization View" }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: '16px' }, children: [(0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
190
+ setCustomerViewQuery(e.target.value);
191
+ }, value: customerViewQuery }), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: runQueryButtonLabel, onClick: async () => {
192
+ setRunQueryButtonLabel('Querying...');
193
+ const getSqlResults = await (0, ConnectionClient_1.getSqlViewData)(clientId, customerViewQuery, environmentDetails.type, state.queryEndpoint);
194
+ if (!getSqlResults.success) {
195
+ setErrorInfo({
196
+ status: true,
197
+ msg: getSqlResults.error,
198
+ });
199
+ }
200
+ else {
201
+ setErrorInfo({ status: false, msg: '' });
202
+ handleQuerySuccess(getSqlResults);
203
+ }
204
+ setRunQueryButtonLabel('Run query');
205
+ },
206
+ // dont let the font wrap
207
+ style: { whiteSpace: 'nowrap' } })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: '16px' }, children: [(0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.customQueryOrganizations?.map((orgObj) => orgObj.name) || [], setSelected: async (e) => {
208
+ const orgObj = schemaDetails?.customQueryOrganizations?.find((orgObj) => orgObj.name === e);
209
+ setSchemaDetails({
210
+ ...schemaDetails,
211
+ selectedFields: {
212
+ ...schemaDetails?.selectedFields,
213
+ defaultOrg: orgObj,
214
+ },
215
+ });
216
+ }, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.customQueryFKs || [], setSelected: async (e) => {
217
+ setSchemaDetails({
218
+ ...schemaDetails,
219
+ selectedFields: {
220
+ ...schemaDetails?.selectedFields,
221
+ foreignKey: e,
222
+ },
223
+ });
224
+ }, selected: schemaDetails?.selectedFields?.foreignKey, label: 'Foreign key' })] }), errorInfo.status ? ((0, jsx_runtime_1.jsx)("h2", { style: {
225
+ ...header2Style,
226
+ color: 'red',
227
+ paddingTop: '12px',
228
+ }, children: errorInfo.msg })) : ((0, jsx_runtime_1.jsx)("div", {}))] })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
154
229
  width: '100%',
155
230
  display: 'flex',
156
231
  justifyContent: 'space-between',
@@ -1 +1 @@
1
- {"version":3,"file":"CreateSqlViews.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateSqlViews.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAa3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAK7E,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;CACZ,2CAiWA;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GACV,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,2CAiDA"}
1
+ {"version":3,"file":"CreateSqlViews.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateSqlViews.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAW3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQvD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;CACZ,2CA+aA;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GACV,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,2CAkDA"}