@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
@@ -5,6 +5,7 @@ const AdminProvider_1 = require("../AdminProvider");
5
5
  const components_1 = require("../components");
6
6
  const react_1 = require("react");
7
7
  const constants_1 = require("../utils/constants");
8
+ const QuillSelect_1 = require("../components/QuillSelect");
8
9
  const createStyles = (theme) => ({
9
10
  modalContent: {
10
11
  display: 'flex',
@@ -46,7 +47,7 @@ const createStyles = (theme) => ({
46
47
  marginTop: '0px',
47
48
  marginBottom: '4px',
48
49
  fontWeight: theme.labelFontWeight,
49
- color: theme.secondaryTextColor,
50
+ color: theme.primaryTextColor,
50
51
  },
51
52
  group: {
52
53
  display: 'flex',
@@ -71,7 +72,7 @@ function PromoteDashModal({ ModalComponent, isOpen, setIsOpen, clientId, client,
71
72
  const [selectedToClient, setSelectedToClient] = (0, react_1.useState)();
72
73
  const styles = createStyles(theme);
73
74
  (0, react_1.useEffect)(() => {
74
- setModalSelectedDashboard(state.selectedDashboard);
75
+ setModalSelectedDashboard(state.selectedDashboard.name);
75
76
  setSelectedToClient(state.clients.filter((c) => c.name !== state.client.name)[0]);
76
77
  }, [state.selectedDashboard, state.clients]);
77
78
  const handlePromote = async () => {
@@ -97,11 +98,17 @@ function PromoteDashModal({ ModalComponent, isOpen, setIsOpen, clientId, client,
97
98
  console.error('Promotion failed:', error);
98
99
  }
99
100
  };
100
- return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: (0, jsx_runtime_1.jsxs)("div", { style: {
101
+ return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), style: { overflow: 'visible' }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
101
102
  display: 'flex',
102
103
  flexDirection: 'column',
103
104
  alignItems: 'flex-start',
104
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: styles.modalContent, children: (0, jsx_runtime_1.jsx)("h1", { style: styles.modalHeader, children: "Promote Changes" }) }), (0, jsx_runtime_1.jsxs)("div", { style: styles.container, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "Dashboard" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: dashboards, setSelected: setModalSelectedDashboard, selected: modalSelectedDashboard, theme: theme }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: styles.multiContainer, children: [(0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "From" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: [client], setSelected: () => { }, selected: client, theme: theme, disabled: true }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "To" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: clients.filter((c) => c.name !== client.name), setSelected: setSelectedToClient, selected: selectedToClient, theme: theme }) })] })] }), (0, jsx_runtime_1.jsx)("div", { style: {
105
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: styles.modalContent, children: (0, jsx_runtime_1.jsx)("h1", { style: styles.modalHeader, children: "Promote Changes" }) }), (0, jsx_runtime_1.jsx)("div", { style: styles.container, children: (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(QuillSelect_1.QuillSelectComponent, { label: "Dashboard", options: dashboards.map((dashboard) => {
106
+ return { label: dashboard.name, value: dashboard.name };
107
+ }), onChange: setModalSelectedDashboard, value: modalSelectedDashboard, theme: theme }) }) }), (0, jsx_runtime_1.jsxs)("div", { style: styles.multiContainer, children: [(0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "From" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: [client], setSelected: () => { }, selected: client, theme: theme, disabled: true }) })] }), (0, jsx_runtime_1.jsx)("div", { style: styles.group, children: (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(QuillSelect_1.QuillSelectComponent, { label: "To", options: clients
108
+ .filter((c) => c.name !== client.name)
109
+ .map((client) => {
110
+ return { label: client.name, value: client };
111
+ }), onChange: setSelectedToClient, value: selectedToClient, theme: theme }) }) })] }), (0, jsx_runtime_1.jsx)("div", { style: {
105
112
  display: 'flex',
106
113
  justifyContent: 'center',
107
114
  alignItems: 'center',
@@ -7,7 +7,8 @@ interface PromoteViewModalProps {
7
7
  client: any;
8
8
  views: any[];
9
9
  clients: any[];
10
+ parentRef: any;
10
11
  }
11
- export default function PromoteViewModal({ ModalComponent, isOpen, setIsOpen, clientId, client, clients, views, }: PromoteViewModalProps): import("react/jsx-runtime").JSX.Element;
12
+ export default function PromoteViewModal({ ModalComponent, isOpen, setIsOpen, clientId, client, clients, views, parentRef, }: PromoteViewModalProps): import("react/jsx-runtime").JSX.Element;
12
13
  export {};
13
14
  //# sourceMappingURL=PromoteViewModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PromoteViewModal.d.ts","sourceRoot":"","sources":["../../../src/modals/PromoteViewModal.tsx"],"names":[],"mappings":";AAKA,UAAU,qBAAqB;IAC7B,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,OAAO,EAAE,GAAG,EAAE,CAAC;CAChB;AA+DD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,cAAc,EACd,MAAM,EACN,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,GACN,EAAE,qBAAqB,2CAsGvB"}
1
+ {"version":3,"file":"PromoteViewModal.d.ts","sourceRoot":"","sources":["../../../src/modals/PromoteViewModal.tsx"],"names":[],"mappings":";AAOA,UAAU,qBAAqB;IAC7B,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;CAChB;AAgED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,cAAc,EACd,MAAM,EACN,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,qBAAqB,2CAuGvB"}
@@ -5,69 +5,72 @@ const Admin_1 = require("../Admin");
5
5
  const components_1 = require("../components");
6
6
  const react_1 = require("react");
7
7
  const constants_1 = require("../utils/constants");
8
+ const QuillSelect_1 = require("../components/QuillSelect");
8
9
  const createStyles = (theme) => ({
9
10
  modalContent: {
10
- display: "flex",
11
- flexDirection: "column",
11
+ display: 'flex',
12
+ flexDirection: 'column',
12
13
  },
13
14
  modalHeader: {
14
- fontWeight: "600",
15
+ fontWeight: '600',
15
16
  fontSize: 20,
16
17
  paddingBottom: 4,
17
18
  color: theme.primaryTextColor,
18
19
  },
19
20
  container: {
20
- display: "flex",
21
- flexDirection: "column",
22
- justifyContent: "flex-start",
23
- alignItems: "flex-start",
24
- gap: "5px",
21
+ display: 'flex',
22
+ flexDirection: 'column',
23
+ justifyContent: 'flex-start',
24
+ alignItems: 'flex-start',
25
+ gap: '5px',
25
26
  marginTop: 20,
26
27
  },
27
28
  multiContainer: {
28
- display: "flex",
29
- flexDirection: "row",
30
- justifyContent: "space-between",
31
- alignItems: "center",
32
- gap: "20px",
29
+ display: 'flex',
30
+ flexDirection: 'row',
31
+ justifyContent: 'space-between',
32
+ alignItems: 'center',
33
+ gap: '20px',
33
34
  marginTop: 20,
34
35
  },
35
36
  header: {
36
37
  fontSize: theme.fontSize,
37
- paddingTop: "0px",
38
- marginTop: "0px",
39
- marginBottom: "0px",
38
+ paddingTop: '0px',
39
+ marginTop: '0px',
40
+ marginBottom: '0px',
40
41
  fontWeight: theme.labelFontWeight,
41
42
  color: theme.primaryTextColor,
42
43
  },
43
44
  text: {
44
45
  fontSize: theme.fontSize,
45
- paddingTop: "0px",
46
- marginTop: "0px",
47
- marginBottom: "4px",
46
+ paddingTop: '0px',
47
+ marginTop: '0px',
48
+ marginBottom: '4px',
48
49
  fontWeight: theme.labelFontWeight,
49
50
  color: theme.secondaryTextColor,
50
51
  },
51
52
  group: {
52
- display: "flex",
53
- flexDirection: "column",
54
- alignItems: "start",
55
- gap: "5px",
53
+ display: 'flex',
54
+ flexDirection: 'column',
55
+ alignItems: 'start',
56
+ gap: '5px',
56
57
  },
57
58
  button: {
58
59
  flexGrow: 1,
59
60
  fontSize: theme.fontSize,
60
- fontWeight: "600",
61
- padding: "10px 20px",
61
+ fontWeight: '600',
62
+ padding: '10px 20px',
62
63
  marginTop: 20,
63
64
  backgroundColor: theme.primaryButtonColor,
64
- borderRadius: "5px",
65
+ borderRadius: '5px',
65
66
  color: theme.primaryButtonTextColor,
67
+ width: '40px',
66
68
  },
67
69
  });
68
- function PromoteViewModal({ ModalComponent, isOpen, setIsOpen, clientId, client, clients, views, }) {
70
+ function PromoteViewModal({ ModalComponent, isOpen, setIsOpen, clientId, client, clients, views, parentRef, }) {
69
71
  const [modalSelectedView, setModalSelectedView] = (0, react_1.useState)(views[0]);
70
72
  const [selectedToClient, setSelectedToClient] = (0, react_1.useState)(clients[0]);
73
+ const modalRef = (0, react_1.useRef)(null);
71
74
  (0, react_1.useEffect)(() => {
72
75
  setModalSelectedView(views[0]);
73
76
  setSelectedToClient(clients[0]);
@@ -76,10 +79,10 @@ function PromoteViewModal({ ModalComponent, isOpen, setIsOpen, clientId, client,
76
79
  const handlePromote = async () => {
77
80
  try {
78
81
  const response = await fetch(`${constants_1.QUILL_SERVER}/promote_view/`, {
79
- method: "POST",
82
+ method: 'POST',
80
83
  headers: {
81
- "Content-Type": "application/json",
82
- Authorization: "Bearer ",
84
+ 'Content-Type': 'application/json',
85
+ Authorization: 'Bearer ',
83
86
  },
84
87
  body: JSON.stringify({
85
88
  viewName: modalSelectedView.name,
@@ -88,18 +91,25 @@ function PromoteViewModal({ ModalComponent, isOpen, setIsOpen, clientId, client,
88
91
  }),
89
92
  });
90
93
  if (!response.ok) {
91
- throw new Error("API request failed");
94
+ throw new Error('API request failed');
92
95
  }
93
96
  const data = await response.json();
94
97
  }
95
98
  catch (error) {
96
- console.error("Promotion failed:", error);
99
+ console.error('Promotion failed:', error);
97
100
  }
98
101
  };
99
- return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: styles.modalContent, children: (0, jsx_runtime_1.jsx)("h1", { style: styles.modalHeader, children: "Promote Changes" }) }), (0, jsx_runtime_1.jsxs)("div", { style: styles.container, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "SQL View:" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: views, setSelected: setModalSelectedView, selected: modalSelectedView, theme: Admin_1.theme }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: styles.multiContainer, children: [(0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "From:" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: [client], setSelected: () => { }, selected: client, theme: Admin_1.theme, disabled: true }) })] }), (0, jsx_runtime_1.jsx)("span", {}), (0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "To:" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: clients.filter((c) => c.name !== client.name), setSelected: setSelectedToClient, selected: selectedToClient, theme: Admin_1.theme }) })] })] }), (0, jsx_runtime_1.jsx)("div", { style: {
100
- display: "flex",
101
- justifyContent: "center",
102
- alignItems: "center",
102
+ return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, setIsOpen: setIsOpen, title: 'Promote Changes', width: 500, children: (0, jsx_runtime_1.jsxs)("div", { style: {
103
+ display: 'flex',
104
+ flexDirection: 'column',
105
+ padding: '20px',
106
+ boxSizing: 'border-box',
107
+ maxHeight: 600,
108
+ }, ref: modalRef, children: [(0, jsx_runtime_1.jsx)(QuillSelect_1.QuillSelectComponent, { options: views.map((v) => ({ label: v.name, value: v })), onChange: setModalSelectedView, value: modalSelectedView, theme: Admin_1.theme, label: "SQL View:" }), (0, jsx_runtime_1.jsxs)("div", { style: styles.multiContainer, children: [(0, jsx_runtime_1.jsxs)("div", { style: styles.group, children: [(0, jsx_runtime_1.jsx)("h1", { style: styles.header, children: "From:" }), (0, jsx_runtime_1.jsx)("div", { style: styles.text, children: (0, jsx_runtime_1.jsx)(components_1.DropDownMenu, { items: [client], setSelected: () => { }, selected: client, theme: Admin_1.theme, disabled: true }) })] }), (0, jsx_runtime_1.jsx)(QuillSelect_1.QuillSelectComponent, { options: clients.map((c) => ({ label: c.name, value: c })), onChange: setSelectedToClient, value: selectedToClient, theme: Admin_1.theme, label: "To:" })] }), (0, jsx_runtime_1.jsx)("div", { style: {
109
+ display: 'flex',
110
+ justifyContent: 'flex-start',
111
+ alignItems: 'center',
112
+ width: 200,
103
113
  }, children: (0, jsx_runtime_1.jsx)("button", { style: styles.button, onClick: () => {
104
114
  handlePromote();
105
115
  setIsOpen(false);
@@ -1 +1 @@
1
- {"version":3,"file":"ReorderDashboardModal.d.ts","sourceRoot":"","sources":["../../../src/modals/ReorderDashboardModal.tsx"],"names":[],"mappings":"AA0BA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,GACf;;;;;;;;;CAAA,2CAuKA"}
1
+ {"version":3,"file":"ReorderDashboardModal.d.ts","sourceRoot":"","sources":["../../../src/modals/ReorderDashboardModal.tsx"],"names":[],"mappings":"AA0BA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,MAAM,EACN,SAAS,EACT,MAAM,EACN,MAAM,EACN,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,GACf;;;;;;;;;CAAA,2CAqLA"}
@@ -9,18 +9,14 @@ const sortable_1 = require("@dnd-kit/sortable");
9
9
  const utilities_1 = require("@dnd-kit/utilities");
10
10
  const core_1 = require("@dnd-kit/core");
11
11
  const react_2 = require("@quillsql/react");
12
+ const UiComponents_1 = require("../components/UiComponents");
12
13
  function ReorderDashboardModal({ isOpen, setIsOpen, client, onSave, ModalComponent, ButtonComponent, selectedDashboard, organizationId, }) {
13
- // const [client] = useContext(ClientContext);
14
- const [dashboardItems, setDashboardItems] = (0, react_1.useState)([]);
14
+ const { state } = (0, AdminProvider_1.useAdmin)();
15
+ const [sections, setSections] = (0, react_1.useState)([]);
16
+ const [metrics, setMetrics] = (0, react_1.useState)({});
17
+ const [charts, setCharts] = (0, react_1.useState)({});
18
+ const [tables, setTables] = (0, react_1.useState)({});
15
19
  const [loading, setLoading] = (0, react_1.useState)(false);
16
- const [doesDashboardHaveTables, setDoesDashboardHaveTables] = (0, react_1.useState)(false);
17
- const [doesDashboardHaveCharts, setDoesDashboardHaveCharts] = (0, react_1.useState)(false);
18
- const [doesDashboardHaveMetrics, setDoesDashboardHaveMetrics] = (0, react_1.useState)(false);
19
- const [itemMap, setItemMap] = (0, react_1.useState)(null);
20
- const [metrics, setMetrics] = (0, react_1.useState)([]);
21
- const [charts, setCharts] = (0, react_1.useState)([]);
22
- const [tables, setTables] = (0, react_1.useState)([]);
23
- const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
24
20
  (0, react_1.useEffect)(() => {
25
21
  async function getDashboardItems() {
26
22
  const { _id, environment } = state.client;
@@ -39,41 +35,23 @@ function ReorderDashboardModal({ isOpen, setIsOpen, client, onSave, ModalCompone
39
35
  },
40
36
  });
41
37
  const responseData = await response.json();
42
- let flattened = [];
43
- for (let key in responseData.sections) {
44
- flattened = flattened.concat(responseData.sections[key]);
45
- }
46
- setDashboardItems(flattened);
47
- setMetrics(flattened.filter((elem) => elem.chartType === 'metric'));
48
- setTables(flattened.filter((elem) => elem.chartType === 'table'));
49
- setCharts(flattened.filter((elem) => !['metric', 'table'].includes(elem.chartType)));
38
+ const sections = responseData.sections;
39
+ setSections(Object.keys(sections));
40
+ const isMetric = (elem) => elem.chartType === 'metric';
41
+ const isChart = (elem) => !['metric', 'table'].includes(elem.chartType);
42
+ const isTable = (elem) => elem.chartType === 'table';
43
+ setMetrics(Object.fromEntries(Object.entries(sections).map(([k, v]) => [k, v.filter(isMetric)])));
44
+ setCharts(Object.fromEntries(Object.entries(sections).map(([k, v]) => [k, v.filter(isChart)])));
45
+ setTables(Object.fromEntries(Object.entries(sections).map(([k, v]) => [k, v.filter(isTable)])));
50
46
  setLoading(false);
51
47
  }
52
48
  if (selectedDashboard && state.client) {
53
49
  getDashboardItems();
54
50
  }
55
51
  }, [selectedDashboard, state.client]);
56
- (0, react_1.useEffect)(() => {
57
- const itemMap = new Map();
58
- dashboardItems.forEach((item) => {
59
- if (item.chartType === 'table') {
60
- setDoesDashboardHaveTables(true);
61
- }
62
- else if (item.chartType === 'metric') {
63
- setDoesDashboardHaveMetrics(true);
64
- }
65
- else {
66
- setDoesDashboardHaveCharts(true);
67
- }
68
- itemMap.set(item._id, item);
69
- });
70
- setItemMap(itemMap);
71
- }, [dashboardItems]);
72
52
  const handleSaveChanges = async () => {
73
53
  if (!client)
74
54
  return;
75
- if (!dashboardItems.length)
76
- return;
77
55
  try {
78
56
  const response = await fetch(`${constants_1.QUILL_SERVER}/dashorder/`, {
79
57
  method: 'POST',
@@ -82,7 +60,11 @@ function ReorderDashboardModal({ isOpen, setIsOpen, client, onSave, ModalCompone
82
60
  },
83
61
  body: JSON.stringify({
84
62
  publicKey: client._id,
85
- orderArray: [...metrics, ...charts, ...tables],
63
+ orderArray: [
64
+ ...Object.values(metrics).flat(),
65
+ ...Object.values(charts).flat(),
66
+ ...Object.values(tables).flat(),
67
+ ],
86
68
  }),
87
69
  });
88
70
  if (!response.ok) {
@@ -104,7 +86,7 @@ function ReorderDashboardModal({ isOpen, setIsOpen, client, onSave, ModalCompone
104
86
  flexDirection: 'column',
105
87
  width: 'calc(100vw - 80px)',
106
88
  height: 'calc(100vh - 80px)',
107
- }, children: [(0, jsx_runtime_1.jsx)("h1", { style: { fontSize: 22, fontWeight: 600, width: '100%' }, children: "Reorder Items" }), loading ? (0, jsx_runtime_1.jsx)("div", { children: "Loading..." }) : null, (0, jsx_runtime_1.jsx)("div", { style: {
89
+ }, children: [(0, jsx_runtime_1.jsx)("h1", { style: { fontSize: 22, fontWeight: 600, width: '100%' }, children: "Reorder Items" }), loading ? (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) : null, (0, jsx_runtime_1.jsx)("div", { style: {
108
90
  display: 'flex',
109
91
  flexDirection: 'column',
110
92
  gap: 20,
@@ -112,7 +94,18 @@ function ReorderDashboardModal({ isOpen, setIsOpen, client, onSave, ModalCompone
112
94
  width: '100%',
113
95
  height: 'calc(100% - 20px)',
114
96
  zIndex: 100,
115
- }, children: (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column', gap: 20 }, children: dashboardItems.length > 0 && itemMap.size > 0 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [doesDashboardHaveMetrics && ((0, jsx_runtime_1.jsx)(ReorderableGrid, { type: 'metrics', items: metrics, setItems: setMetrics })), doesDashboardHaveCharts && ((0, jsx_runtime_1.jsx)(ReorderableGrid, { type: 'charts', items: charts, setItems: setCharts })), doesDashboardHaveTables && ((0, jsx_runtime_1.jsx)(ReorderableGrid, { type: 'tables', items: tables, setItems: setTables }))] })) }) }), (0, jsx_runtime_1.jsx)("div", { style: {
97
+ }, children: (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column', gap: 20 }, children: sections
98
+ .sort((a, b) => a.length - b.length)
99
+ .map((sectionName, sectionIndex) => ((0, jsx_runtime_1.jsxs)("div", { style: {
100
+ display: 'flex',
101
+ flexDirection: 'column',
102
+ gap: 20,
103
+ }, children: [sectionName && ((0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsx)("h1", { style: {
104
+ fontSize: 22,
105
+ fontWeight: 'bold',
106
+ textAlign: 'left',
107
+ marginTop: sectionIndex > 0 ? 20 : 0,
108
+ }, children: sectionName }) })), metrics[sectionName]?.length > 0 && ((0, jsx_runtime_1.jsx)(ReorderableGrid, { type: 'metrics', section: sectionName, items: metrics[sectionName], setItems: setMetrics })), charts[sectionName]?.length > 0 && ((0, jsx_runtime_1.jsx)(ReorderableGrid, { type: 'charts', section: sectionName, items: charts[sectionName], setItems: setCharts })), tables[sectionName]?.length > 0 && ((0, jsx_runtime_1.jsx)(ReorderableGrid, { type: 'tables', section: sectionName, items: tables[sectionName], setItems: setTables }))] }))) }) }), (0, jsx_runtime_1.jsx)("div", { style: {
116
109
  width: '100%',
117
110
  display: 'flex',
118
111
  flexDirection: 'row',
@@ -157,13 +150,15 @@ const SortableItem = (props) => {
157
150
  fontSize: 18,
158
151
  fontWeight: '500',
159
152
  flexGrow: 1,
160
- }, children: props.value }), (0, jsx_runtime_1.jsx)(HandleButton, {})] }), (0, jsx_runtime_1.jsx)(react_2.Chart, { chartId: props.id, containerStyle: {
153
+ }, children: props.value }), (0, jsx_runtime_1.jsx)(HandleButton, {})] }), (0, jsx_runtime_1.jsx)(react_2.Chart, { reportId: props.id, containerStyle: {
161
154
  padding: 10,
162
155
  height: props.chartType === 'metric' ? 80 : 250,
163
156
  width: 'calc(100% - 20px)',
164
157
  } })] }) }) }));
165
158
  };
166
- function ReorderableGrid({ type, items, setItems }) {
159
+ function ReorderableGrid({ type, section, items, setItems }) {
160
+ if (!items)
161
+ return null;
167
162
  const sensors = (0, core_1.useSensors)((0, core_1.useSensor)(core_1.PointerSensor), (0, core_1.useSensor)(core_1.KeyboardSensor, {
168
163
  coordinateGetter: sortable_1.sortableKeyboardCoordinates,
169
164
  }), (0, core_1.useSensor)(core_1.TouchSensor, {
@@ -174,10 +169,12 @@ function ReorderableGrid({ type, items, setItems }) {
174
169
  if (!active || !over)
175
170
  return;
176
171
  if (active.id !== over.id) {
177
- setItems((itemList) => {
178
- const oldIndex = itemList.findIndex((item) => item._id === active.id);
179
- const newIndex = itemList.findIndex((item) => item._id === over.id);
180
- return (0, sortable_1.arrayMove)(itemList, oldIndex, newIndex);
172
+ setItems((items) => {
173
+ const list = items[section];
174
+ const oldIndex = list.findIndex((item) => item._id === active.id);
175
+ const newIndex = list.findIndex((item) => item._id === over.id);
176
+ const newOrder = (0, sortable_1.arrayMove)(list, oldIndex, newIndex);
177
+ return { ...items, [section]: newOrder };
181
178
  });
182
179
  }
183
180
  };
@@ -1,5 +1,4 @@
1
1
  export { default as PromoteDashModal } from './PromoteDashModal';
2
- export { default as EditDashboardsModal } from './EditDashboardsModal';
3
2
  export { default as PromoteViewModal } from './PromoteViewModal';
4
3
  export { default as ReorderDashboardModal } from './ReorderDashboardModal';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modals/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modals/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -3,11 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ReorderDashboardModal = exports.PromoteViewModal = exports.EditDashboardsModal = exports.PromoteDashModal = void 0;
6
+ exports.ReorderDashboardModal = exports.PromoteViewModal = exports.PromoteDashModal = void 0;
7
7
  var PromoteDashModal_1 = require("./PromoteDashModal");
8
8
  Object.defineProperty(exports, "PromoteDashModal", { enumerable: true, get: function () { return __importDefault(PromoteDashModal_1).default; } });
9
- var EditDashboardsModal_1 = require("./EditDashboardsModal");
10
- Object.defineProperty(exports, "EditDashboardsModal", { enumerable: true, get: function () { return __importDefault(EditDashboardsModal_1).default; } });
11
9
  var PromoteViewModal_1 = require("./PromoteViewModal");
12
10
  Object.defineProperty(exports, "PromoteViewModal", { enumerable: true, get: function () { return __importDefault(PromoteViewModal_1).default; } });
13
11
  var ReorderDashboardModal_1 = require("./ReorderDashboardModal");
@@ -7,6 +7,8 @@ type ButtonPrimitiveProps = {
7
7
  style?: React.CSSProperties;
8
8
  variant?: 'primary' | 'secondary' | 'danger';
9
9
  };
10
- declare const ButtonPrimitive: React.FC<ButtonPrimitiveProps>;
10
+ declare const ButtonPrimitive: React.FC<ButtonPrimitiveProps & {
11
+ isLoading?: boolean;
12
+ }>;
11
13
  export default ButtonPrimitive;
12
14
  //# sourceMappingURL=ButtonPrimitive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/ButtonPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAE7D,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAqEnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ButtonPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/ButtonPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAG7D,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAC7B,oBAAoB,GAAG;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAoFF,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const jsx_runtime_1 = require("react/jsx-runtime");
4
4
  const Admin_1 = require("../Admin");
5
- const ButtonPrimitive = ({ onClick, label, theme = Admin_1.theme, style, variant = 'primary', }) => {
5
+ const UiComponents_1 = require("../components/UiComponents");
6
+ const ButtonPrimitive = ({ onClick, isLoading = false, label, theme = Admin_1.theme, style, variant = 'primary', }) => {
6
7
  if (variant === 'danger') {
7
8
  return ((0, jsx_runtime_1.jsxs)("button", { style: {
8
9
  height: 36,
@@ -20,7 +21,7 @@ const ButtonPrimitive = ({ onClick, label, theme = Admin_1.theme, style, variant
20
21
  paddingLeft: 20,
21
22
  paddingRight: 20,
22
23
  ...style,
23
- }, onClick: onClick, className: "quill--danger-button", children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill--danger-button { background: #e7e7e7 } .quill--danger-button:hover { background: #DCDCDC }` }), label] }));
24
+ }, onClick: onClick, className: "quill--danger-button", children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill--danger-button { background: #e7e7e7 } .quill--danger-button:hover { background: #DCDCDC }` }), isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: { padding: '32px 0px' }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) })) : (label)] }));
24
25
  }
25
26
  return ((0, jsx_runtime_1.jsxs)("button", { style: {
26
27
  height: 36,
@@ -34,6 +35,7 @@ const ButtonPrimitive = ({ onClick, label, theme = Admin_1.theme, style, variant
34
35
  fontFamily: theme?.fontFamily,
35
36
  fontWeight: theme?.buttonFontWeight || 600,
36
37
  border: 'none',
38
+ whiteSpace: 'nowrap',
37
39
  fontSize: 14,
38
40
  paddingLeft: 20,
39
41
  paddingRight: 20,
@@ -44,6 +46,6 @@ const ButtonPrimitive = ({ onClick, label, theme = Admin_1.theme, style, variant
44
46
  }
45
47
  .quill-button:hover {
46
48
  background: rgba(0,0,0,0.75);
47
- }` }), label] }));
49
+ }` }), isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: { padding: '0px 16px' }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) })) : (label)] }));
48
50
  };
49
51
  exports.default = ButtonPrimitive;
@@ -7,6 +7,7 @@ interface TextInputPrimitiveProps {
7
7
  theme?: QuillTheme;
8
8
  disabled?: boolean;
9
9
  width?: string;
10
+ password?: boolean;
10
11
  }
11
12
  declare const TextInputPrimitive: React.FC<TextInputPrimitiveProps>;
12
13
  export default TextInputPrimitive;
@@ -1 +1 @@
1
- {"version":3,"file":"TextInputPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/TextInputPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAE7D,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmCzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"TextInputPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/TextInputPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAE7D,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmEzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,26 +1,41 @@
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
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = __importDefault(require("react"));
4
8
  const Admin_1 = require("../Admin");
5
- const TextInputPrimitive = ({ onChange, value, placeholder, theme = Admin_1.theme, disabled = false, width = '250px', }) => {
6
- return ((0, jsx_runtime_1.jsx)("input", { style: {
7
- display: 'flex',
8
- flexDirection: 'row',
9
- alignItems: 'center',
10
- paddingLeft: '12px',
11
- paddingRight: '12px',
12
- fontWeight: 'medium',
13
- height: 38,
14
- minWidth: width,
15
- boxShadow: '0 1px 2px 0 rgba(0,0,0,.05)',
16
- width: '100%',
17
- backgroundColor: theme?.backgroundColor || 'white',
18
- color: theme?.primaryTextColor,
19
- borderWidth: '1px',
20
- borderColor: theme?.borderColor || '#E7E7E7',
21
- borderStyle: 'solid',
22
- borderRadius: '6px',
23
- fontSize: 14,
24
- }, disabled: disabled, onChange: onChange, value: value, placeholder: placeholder }));
9
+ const TextInputPrimitive = ({ onChange, value, placeholder, theme = Admin_1.theme, disabled = false, width = '250px', password = false, }) => {
10
+ const [showPassword, setShowPassword] = react_1.default.useState(!password);
11
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative' }, children: [(0, jsx_runtime_1.jsx)("input", { style: {
12
+ display: 'flex',
13
+ flexDirection: 'row',
14
+ alignItems: 'center',
15
+ paddingLeft: '12px',
16
+ paddingRight: '12px',
17
+ fontWeight: 'medium',
18
+ height: 38,
19
+ minWidth: width,
20
+ boxShadow: '0 1px 2px 0 rgba(0,0,0,.05)',
21
+ width: '100%',
22
+ backgroundColor: theme?.backgroundColor || 'white',
23
+ color: theme?.primaryTextColor,
24
+ borderWidth: '1px',
25
+ borderColor: theme?.borderColor || '#E7E7E7',
26
+ borderStyle: 'solid',
27
+ borderRadius: '6px',
28
+ fontSize: 14,
29
+ }, type: showPassword ? 'text' : 'password', disabled: disabled, onChange: onChange, value: value, placeholder: placeholder }), password ? ((0, jsx_runtime_1.jsx)("div", { style: {
30
+ position: 'absolute',
31
+ right: '8px',
32
+ bottom: '6px',
33
+ cursor: 'pointer',
34
+ backgroundColor: 'white',
35
+ padding: '4px',
36
+ boxSizing: 'content-box',
37
+ }, onClick: () => {
38
+ setShowPassword(!showPassword);
39
+ }, children: (0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "currentColor", viewBox: "0 0 16 16", children: [(0, jsx_runtime_1.jsx)("path", { d: "M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13 13 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5s3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5s-3.879-1.168-5.168-2.457A13 13 0 0 1 1.172 8z" }), (0, jsx_runtime_1.jsx)("path", { d: "M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0" })] }) })) : null] }));
25
40
  };
26
41
  exports.default = TextInputPrimitive;
@@ -6,8 +6,8 @@ const TogglePrimitive = ({ value, onClick }) => {
6
6
  container: {
7
7
  display: 'inline-block',
8
8
  position: 'relative',
9
- width: '70px',
10
- height: '38px',
9
+ width: '50px',
10
+ height: '30px',
11
11
  borderRadius: '24px',
12
12
  backgroundColor: value ? '#212121' : '#ccc',
13
13
  cursor: 'pointer',
@@ -16,9 +16,9 @@ const TogglePrimitive = ({ value, onClick }) => {
16
16
  circle: {
17
17
  position: 'absolute',
18
18
  top: '3px',
19
- left: value ? '35px' : '3px',
20
- width: '32px',
21
- height: '32px',
19
+ left: value ? '23px' : '3px',
20
+ width: '24px',
21
+ height: '24px',
22
22
  borderRadius: '50%',
23
23
  backgroundColor: '#FFF',
24
24
  transition: 'left 0.4s',
@@ -1,6 +1,7 @@
1
1
  import { CSSProperties } from 'react';
2
- export default function CreateEnvironment({ navigateToDashboardManager, containerStyle, }: {
2
+ export default function CreateEnvironment({ navigateToDashboardManager, onOnboardComplete, containerStyle, }: {
3
3
  navigateToDashboardManager?: () => void;
4
+ onOnboardComplete?: (client: any) => void;
4
5
  containerStyle?: CSSProperties;
5
6
  }): import("react/jsx-runtime").JSX.Element;
6
7
  //# sourceMappingURL=CreateEnvironment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateEnvironment.d.ts","sourceRoot":"","sources":["../../../src/public_components/CreateEnvironment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAuClE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,0BAA0B,EAC1B,cAAc,GACf,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CAqMA"}
1
+ {"version":3,"file":"CreateEnvironment.d.ts","sourceRoot":"","sources":["../../../src/public_components/CreateEnvironment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAuClE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,0BAA0B,EAC1B,iBAAiB,EACjB,cAAc,GACf,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CAyMA"}
@@ -47,7 +47,7 @@ const header2Style = {
47
47
  color: '#595959',
48
48
  marginBottom: '6px',
49
49
  };
50
- function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
50
+ function CreateEnvironment({ navigateToDashboardManager, onOnboardComplete, containerStyle, }) {
51
51
  const parentRef = react_1.default.useRef(null);
52
52
  const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
53
53
  const domainName = state.domainName;
@@ -145,7 +145,7 @@ function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
145
145
  setCreateEnvSteps(updatedSteps);
146
146
  setAllSchemaInfo(schemaDetails);
147
147
  openStep('createSQLViews');
148
- }, allSchemaInfo: allSchemaInfo, environmentDetails: environmentDetails, initialError: initialError, clientId: clientId })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Connect Schema", completed: createEnvSteps.connectSchema.completed, header1Style: header1Style, onClick: () => {
148
+ }, allSchemaInfo: allSchemaInfo, environmentDetails: environmentDetails, initialError: initialError, clientId: clientId, state: state })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Connect Schema", completed: createEnvSteps.connectSchema.completed, header1Style: header1Style, onClick: () => {
149
149
  openStep('connectSchema');
150
150
  setInitialError(undefined);
151
151
  } })), createEnvSteps.createSQLViews.open ? ((0, jsx_runtime_1.jsx)(CreateSqlViews_1.default, { containerStyle: {
@@ -162,6 +162,9 @@ function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
162
162
  if (navigateToDashboardManager) {
163
163
  navigateToDashboardManager();
164
164
  }
165
+ if (onOnboardComplete) {
166
+ onOnboardComplete(client);
167
+ }
165
168
  }, domainName: domainName, clientId: clientId, state: state })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Create SQL Views", completed: false, header1Style: header1Style }))] }));
166
169
  }
167
170
  exports.default = CreateEnvironment;
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardBuilder.d.ts","sourceRoot":"","sources":["../../../src/public_components/DashboardBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;AAa5E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,0BAA0B,EAC1B,cAAc,EACd,SAAgB,GACjB,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,2CA8ZA"}
1
+ {"version":3,"file":"DashboardBuilder.d.ts","sourceRoot":"","sources":["../../../src/public_components/DashboardBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;AAY5E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,0BAA0B,EAC1B,cAAc,EACd,SAAgB,GACjB,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,2CAwUA"}