@quillsql/admin 1.3.1 → 1.3.2

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 (192) hide show
  1. package/{lib → dist}/Admin.d.ts +12 -7
  2. package/dist/Admin.d.ts.map +1 -0
  3. package/dist/Admin.js +1384 -0
  4. package/{lib → dist}/AdminProvider.d.ts +41 -27
  5. package/dist/AdminProvider.d.ts.map +1 -0
  6. package/{lib → dist}/AdminProvider.js +105 -89
  7. package/dist/api/ConnectionClient.d.ts +27 -0
  8. package/dist/api/ConnectionClient.d.ts.map +1 -0
  9. package/dist/api/ConnectionClient.js +247 -0
  10. package/dist/components/Banner/index.d.ts +3 -0
  11. package/dist/components/Banner/index.d.ts.map +1 -0
  12. package/dist/components/Banner/index.js +27 -0
  13. package/dist/components/CardSection.d.ts +3 -0
  14. package/dist/components/CardSection.d.ts.map +1 -0
  15. package/dist/components/CardSection.js +9 -0
  16. package/dist/components/CardTitle.d.ts +3 -0
  17. package/dist/components/CardTitle.d.ts.map +1 -0
  18. package/dist/components/CardTitle.js +11 -0
  19. package/dist/components/DashboardSelectPopover.d.ts +11 -0
  20. package/dist/components/DashboardSelectPopover.d.ts.map +1 -0
  21. package/dist/components/DashboardSelectPopover.js +175 -0
  22. package/dist/components/DatabaseSelector.d.ts +11 -0
  23. package/dist/components/DatabaseSelector.d.ts.map +1 -0
  24. package/dist/components/DatabaseSelector.js +22 -0
  25. package/dist/components/DeleteButton.d.ts +3 -0
  26. package/dist/components/DeleteButton.d.ts.map +1 -0
  27. package/dist/components/DeleteButton.js +10 -0
  28. package/{lib → dist}/components/DropDownMenu.d.ts +1 -0
  29. package/dist/components/DropDownMenu.d.ts.map +1 -0
  30. package/dist/components/DropDownMenu.js +39 -0
  31. package/dist/components/DropDownMenuWithLabel.d.ts +12 -0
  32. package/dist/components/DropDownMenuWithLabel.d.ts.map +1 -0
  33. package/dist/components/DropDownMenuWithLabel.js +47 -0
  34. package/{lib → dist}/components/EnvSelectPopover.d.ts +1 -0
  35. package/dist/components/EnvSelectPopover.d.ts.map +1 -0
  36. package/dist/components/EnvSelectPopover.js +205 -0
  37. package/dist/components/InputLabel.d.ts +3 -0
  38. package/dist/components/InputLabel.d.ts.map +1 -0
  39. package/dist/components/InputLabel.js +10 -0
  40. package/{lib → dist}/components/OrgSelect.d.ts +1 -0
  41. package/dist/components/OrgSelect.d.ts.map +1 -0
  42. package/dist/components/OrgSelect.js +193 -0
  43. package/dist/components/SqlViewTile.d.ts +8 -0
  44. package/dist/components/SqlViewTile.d.ts.map +1 -0
  45. package/dist/components/SqlViewTile.js +40 -0
  46. package/dist/components/StepDisplay.d.ts +10 -0
  47. package/dist/components/StepDisplay.d.ts.map +1 -0
  48. package/dist/components/StepDisplay.js +15 -0
  49. package/dist/components/index.d.ts +6 -0
  50. package/dist/components/index.d.ts.map +1 -0
  51. package/dist/forms/client_onboard/ConnectDatabase.d.ts +11 -0
  52. package/dist/forms/client_onboard/ConnectDatabase.d.ts.map +1 -0
  53. package/dist/forms/client_onboard/ConnectDatabase.js +137 -0
  54. package/dist/forms/client_onboard/ConnectSchema.d.ts +13 -0
  55. package/dist/forms/client_onboard/ConnectSchema.d.ts.map +1 -0
  56. package/dist/forms/client_onboard/ConnectSchema.js +171 -0
  57. package/dist/forms/client_onboard/CreateSqlViews.d.ts +15 -0
  58. package/dist/forms/client_onboard/CreateSqlViews.d.ts.map +1 -0
  59. package/dist/forms/client_onboard/CreateSqlViews.js +202 -0
  60. package/dist/hooks/useItemBeingEdited.d.ts +4 -0
  61. package/dist/hooks/useItemBeingEdited.d.ts.map +1 -0
  62. package/dist/hooks/useItemBeingEdited.js +25 -0
  63. package/{lib → dist}/icons/ArrowDownHeadIcon.d.ts +1 -0
  64. package/dist/icons/ArrowDownHeadIcon.d.ts.map +1 -0
  65. package/dist/icons/ArrowDownHeadIcon.js +3 -0
  66. package/dist/icons/XMarkIcon.d.ts +3 -0
  67. package/dist/icons/XMarkIcon.d.ts.map +1 -0
  68. package/dist/icons/XMarkIcon.js +11 -0
  69. package/dist/icons/index.d.ts +2 -0
  70. package/dist/icons/index.d.ts.map +1 -0
  71. package/dist/index.d.ts +7 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/{lib/index.d.ts → dist/index.js} +1 -0
  74. package/{lib → dist}/modals/EditDashboardsModal.d.ts +1 -0
  75. package/dist/modals/EditDashboardsModal.d.ts.map +1 -0
  76. package/dist/modals/EditDashboardsModal.js +91 -0
  77. package/dist/modals/NewDashboardModal.d.ts +19 -0
  78. package/dist/modals/NewDashboardModal.d.ts.map +1 -0
  79. package/dist/modals/NewDashboardModal.js +276 -0
  80. package/{lib → dist}/modals/PromoteDashModal.d.ts +2 -1
  81. package/dist/modals/PromoteDashModal.d.ts.map +1 -0
  82. package/dist/modals/PromoteDashModal.js +123 -0
  83. package/{lib → dist}/modals/PromoteViewModal.d.ts +1 -0
  84. package/dist/modals/PromoteViewModal.d.ts.map +1 -0
  85. package/{lib → dist}/modals/PromoteViewModal.js +13 -16
  86. package/{lib → dist}/modals/ReorderDashboardModal.d.ts +4 -1
  87. package/dist/modals/ReorderDashboardModal.d.ts.map +1 -0
  88. package/{lib → dist}/modals/ReorderDashboardModal.js +53 -55
  89. package/dist/modals/index.d.ts +5 -0
  90. package/dist/modals/index.d.ts.map +1 -0
  91. package/{lib → dist}/primitives/ButtonPrimitive.d.ts +3 -0
  92. package/dist/primitives/ButtonPrimitive.d.ts.map +1 -0
  93. package/dist/primitives/ButtonPrimitive.js +47 -0
  94. package/{lib → dist}/primitives/HeaderPrimitive.d.ts +1 -0
  95. package/dist/primitives/HeaderPrimitive.d.ts.map +1 -0
  96. package/dist/primitives/HeaderPrimitive.js +9 -0
  97. package/{lib → dist}/primitives/ModalPrimitive.d.ts +3 -1
  98. package/dist/primitives/ModalPrimitive.d.ts.map +1 -0
  99. package/{lib → dist}/primitives/ModalPrimitive.js +9 -11
  100. package/{lib → dist}/primitives/SecondaryButtonPrimitive.d.ts +1 -0
  101. package/dist/primitives/SecondaryButtonPrimitive.d.ts.map +1 -0
  102. package/{lib → dist}/primitives/SecondaryButtonPrimitive.js +5 -8
  103. package/{lib → dist}/primitives/SelectPrimitive.d.ts +1 -0
  104. package/dist/primitives/SelectPrimitive.d.ts.map +1 -0
  105. package/{lib → dist}/primitives/SelectPrimitive.js +8 -11
  106. package/{lib → dist}/primitives/TextInputPrimitive.d.ts +2 -0
  107. package/dist/primitives/TextInputPrimitive.d.ts.map +1 -0
  108. package/dist/primitives/TextInputPrimitive.js +24 -0
  109. package/dist/primitives/TogglePrimitive.d.ts +6 -0
  110. package/dist/primitives/TogglePrimitive.d.ts.map +1 -0
  111. package/dist/primitives/TogglePrimitive.js +45 -0
  112. package/dist/primitives/index.d.ts +7 -0
  113. package/dist/primitives/index.d.ts.map +1 -0
  114. package/dist/public_components/CreateEnvironment.d.ts +6 -0
  115. package/dist/public_components/CreateEnvironment.d.ts.map +1 -0
  116. package/dist/public_components/CreateEnvironment.js +129 -0
  117. package/{lib → dist}/public_components/DashboardBuilder.d.ts +2 -1
  118. package/dist/public_components/DashboardBuilder.d.ts.map +1 -0
  119. package/dist/public_components/DashboardBuilder.js +192 -0
  120. package/{lib → dist}/public_components/DashboardManager.d.ts +2 -1
  121. package/dist/public_components/DashboardManager.d.ts.map +1 -0
  122. package/dist/public_components/DashboardManager.js +308 -0
  123. package/{lib → dist}/public_components/SQLViewManager.d.ts +2 -1
  124. package/dist/public_components/SQLViewManager.d.ts.map +1 -0
  125. package/dist/public_components/SQLViewManager.js +394 -0
  126. package/dist/utils/constants.d.ts +26 -0
  127. package/dist/utils/constants.d.ts.map +1 -0
  128. package/dist/utils/constants.js +13 -0
  129. package/dist/utils/databases.d.ts +34 -0
  130. package/dist/utils/databases.d.ts.map +1 -0
  131. package/dist/utils/databases.js +51 -0
  132. package/dist/utils/delay.d.ts +2 -0
  133. package/dist/utils/delay.d.ts.map +1 -0
  134. package/dist/utils/delay.js +3 -0
  135. package/dist/utils/schema.d.ts +22 -0
  136. package/dist/utils/schema.d.ts.map +1 -0
  137. package/dist/utils/schema.js +1 -0
  138. package/dist/utils/table.d.ts +9 -0
  139. package/dist/utils/table.d.ts.map +1 -0
  140. package/dist/utils/table.js +1 -0
  141. package/package.json +19 -26
  142. package/LICENSE +0 -21
  143. package/README.md +0 -10
  144. package/lib/Admin.js +0 -1573
  145. package/lib/Admin.js.map +0 -1
  146. package/lib/AdminProvider.js.map +0 -1
  147. package/lib/components/DashboardSelectPopover.d.ts +0 -9
  148. package/lib/components/DashboardSelectPopover.js +0 -187
  149. package/lib/components/DashboardSelectPopover.js.map +0 -1
  150. package/lib/components/DropDownMenu.js +0 -43
  151. package/lib/components/DropDownMenu.js.map +0 -1
  152. package/lib/components/EnvSelectPopover.js +0 -190
  153. package/lib/components/EnvSelectPopover.js.map +0 -1
  154. package/lib/components/OrgSelect.js +0 -188
  155. package/lib/components/OrgSelect.js.map +0 -1
  156. package/lib/components/index.js +0 -17
  157. package/lib/components/index.js.map +0 -1
  158. package/lib/icons/ArrowDownHeadIcon.js +0 -6
  159. package/lib/icons/ArrowDownHeadIcon.js.map +0 -1
  160. package/lib/icons/index.js +0 -9
  161. package/lib/icons/index.js.map +0 -1
  162. package/lib/index.js +0 -17
  163. package/lib/index.js.map +0 -1
  164. package/lib/modals/EditDashboardsModal.js +0 -94
  165. package/lib/modals/EditDashboardsModal.js.map +0 -1
  166. package/lib/modals/PromoteDashModal.js +0 -126
  167. package/lib/modals/PromoteDashModal.js.map +0 -1
  168. package/lib/modals/PromoteViewModal.js.map +0 -1
  169. package/lib/modals/ReorderDashboardModal.js.map +0 -1
  170. package/lib/modals/index.js +0 -15
  171. package/lib/modals/index.js.map +0 -1
  172. package/lib/primitives/ButtonPrimitive.js +0 -25
  173. package/lib/primitives/ButtonPrimitive.js.map +0 -1
  174. package/lib/primitives/HeaderPrimitive.js +0 -12
  175. package/lib/primitives/HeaderPrimitive.js.map +0 -1
  176. package/lib/primitives/ModalPrimitive.js.map +0 -1
  177. package/lib/primitives/SecondaryButtonPrimitive.js.map +0 -1
  178. package/lib/primitives/SelectPrimitive.js.map +0 -1
  179. package/lib/primitives/TextInputPrimitive.js +0 -26
  180. package/lib/primitives/TextInputPrimitive.js.map +0 -1
  181. package/lib/primitives/index.js +0 -19
  182. package/lib/primitives/index.js.map +0 -1
  183. package/lib/public_components/DashboardBuilder.js +0 -166
  184. package/lib/public_components/DashboardBuilder.js.map +0 -1
  185. package/lib/public_components/DashboardManager.js +0 -255
  186. package/lib/public_components/DashboardManager.js.map +0 -1
  187. package/lib/public_components/SQLViewManager.js +0 -400
  188. package/lib/public_components/SQLViewManager.js.map +0 -1
  189. /package/{lib/components/index.d.ts → dist/components/index.js} +0 -0
  190. /package/{lib/icons/index.d.ts → dist/icons/index.js} +0 -0
  191. /package/{lib/modals/index.d.ts → dist/modals/index.js} +0 -0
  192. /package/{lib/primitives/index.d.ts → dist/primitives/index.js} +0 -0
@@ -0,0 +1,129 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import ConnectDatabase from '../forms/client_onboard/ConnectDatabase';
4
+ import StepDisplay from '../components/StepDisplay';
5
+ import ConnectSchema from '../forms/client_onboard/ConnectSchema';
6
+ import { useAdmin } from '../AdminProvider';
7
+ import { formConnectionString, getDatabaseConnectionFormat, } from '../utils/databases';
8
+ import CreateSQLViews from '../forms/client_onboard/CreateSqlViews';
9
+ import { getTableSchema, } from '../api/ConnectionClient';
10
+ const header1Style = {
11
+ fontWeight: '600',
12
+ fontSize: '18px',
13
+ marginBottom: '6px',
14
+ color: '#000000',
15
+ };
16
+ const header2Style = {
17
+ fontWeight: '500',
18
+ fontSize: '14px',
19
+ color: '#595959',
20
+ marginBottom: '6px',
21
+ };
22
+ export default function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
23
+ const { state, dispatch } = useAdmin();
24
+ const domainName = state.domainName;
25
+ const [createEnvSteps, setCreateEnvSteps] = useState({
26
+ connectDB: {
27
+ label: 'Connect Database',
28
+ completed: false,
29
+ open: true,
30
+ },
31
+ connectSchema: {
32
+ label: 'Connect Schema',
33
+ completed: false,
34
+ open: false,
35
+ },
36
+ createSQLViews: {
37
+ label: 'Create SQL Views',
38
+ completed: false,
39
+ open: false,
40
+ },
41
+ });
42
+ const [environmentDetails, setEnvironmentDetails] = useState(getDatabaseConnectionFormat('PostgreSQL'));
43
+ const [allSchemaInfo, setAllSchemaInfo] = useState(undefined);
44
+ const [initialError, setInitialError] = useState();
45
+ const [columnsByTable, setColumnsByTable] = useState([]);
46
+ const openStep = (step) => {
47
+ const updatedSteps = { ...createEnvSteps };
48
+ Object.keys(updatedSteps).forEach((key) => {
49
+ if (key === step) {
50
+ updatedSteps[key].open = true;
51
+ }
52
+ else {
53
+ updatedSteps[key].open = false;
54
+ }
55
+ });
56
+ setCreateEnvSteps(updatedSteps);
57
+ };
58
+ useEffect(() => {
59
+ if (navigateToDashboardManager) {
60
+ dispatch({
61
+ type: 'SET_NAVIGATE_TO_DASHBOARD_MANAGER',
62
+ payload: navigateToDashboardManager,
63
+ });
64
+ }
65
+ else {
66
+ console.warn('navigateToDashboardManager is undefined');
67
+ }
68
+ }, [navigateToDashboardManager]);
69
+ return (_jsxs("div", { style: {
70
+ ...containerStyle,
71
+ display: 'flex',
72
+ flexDirection: 'column',
73
+ alignItems: 'center',
74
+ gap: 12,
75
+ paddingTop: 24,
76
+ }, children: [createEnvSteps.connectDB.open ? (_jsx(ConnectDatabase, { containerStyle: {
77
+ padding: '24px',
78
+ // width: '50%',
79
+ // minWidth: 800,
80
+ borderRadius: 6,
81
+ border: '1px solid #e7e7e7',
82
+ boxShadow: '0px 1px 12px rgba(0, 0, 0, 0.07)',
83
+ }, header1Style: header1Style, header2Style: header2Style, environmentDetails: environmentDetails, setEnvironmentDetails: (connectionInfo, initialSchemaRequest, initialSchemaRequestError) => {
84
+ setEnvironmentDetails(connectionInfo);
85
+ if (initialSchemaRequestError) {
86
+ setInitialError(initialSchemaRequestError);
87
+ }
88
+ if (initialSchemaRequest) {
89
+ setAllSchemaInfo(initialSchemaRequest);
90
+ }
91
+ const updatedSteps = { ...createEnvSteps };
92
+ updatedSteps.connectDB.completed = true;
93
+ setCreateEnvSteps(updatedSteps);
94
+ openStep('connectSchema');
95
+ } })) : (_jsx(StepDisplay, { label: "Connect Database", completed: createEnvSteps.connectDB.completed, header1Style: header1Style, onClick: () => {
96
+ openStep('connectDB');
97
+ setInitialError(undefined);
98
+ setAllSchemaInfo(undefined);
99
+ } })), createEnvSteps.connectSchema.open ? (_jsx(ConnectSchema, { containerStyle: {
100
+ padding: '24px',
101
+ // width: '50%',
102
+ borderRadius: 6,
103
+ maxWidth: 900,
104
+ border: '1px solid #e7e7e7',
105
+ boxShadow: '0px 1px 12px rgba(0, 0, 0, 0.07)',
106
+ }, header1Style: header1Style, header2Style: header2Style, propogateSchemaDetails: async (schemaDetails) => {
107
+ const updatedSteps = { ...createEnvSteps };
108
+ updatedSteps.connectSchema.completed = true;
109
+ const tableSchemas = await getTableSchema(formConnectionString(environmentDetails), schemaDetails?.tables);
110
+ setColumnsByTable(tableSchemas);
111
+ setCreateEnvSteps(updatedSteps);
112
+ setAllSchemaInfo(schemaDetails);
113
+ openStep('createSQLViews');
114
+ }, allSchemaInfo: allSchemaInfo, environmentDetails: environmentDetails, initialError: initialError })) : (_jsx(StepDisplay, { label: "Connect Schema", completed: createEnvSteps.connectSchema.completed, header1Style: header1Style })), createEnvSteps.createSQLViews.open ? (_jsx(CreateSQLViews, { containerStyle: {
115
+ // padding: '20px',
116
+ // width: '90%',
117
+ borderRadius: 6,
118
+ border: '1px solid #e7e7e7',
119
+ boxShadow: '0px 1px 6px rgba(0, 0, 0, 0.07)',
120
+ height: 'calc(100vh - 59px)',
121
+ width: 'calc(100vw - 200px)',
122
+ }, header1Style: header1Style, header2Style: header2Style, columnsByTable: columnsByTable, environmentDetails: environmentDetails, allSchemaInfo: allSchemaInfo, completeOnboarding: (client) => {
123
+ dispatch({ type: 'SET_CLIENT', payload: client });
124
+ dispatch({ type: 'UPDATE_CLIENTS', payload: client });
125
+ if (navigateToDashboardManager) {
126
+ navigateToDashboardManager();
127
+ }
128
+ }, domainName: domainName })) : (_jsx(StepDisplay, { label: "Create SQL Views", completed: false, header1Style: header1Style }))] }));
129
+ }
@@ -1,6 +1,7 @@
1
- import { CSSProperties } from "react";
1
+ import { CSSProperties } from 'react';
2
2
  export default function DashboardBuilder({ navigateToDashboardManager, containerStyle, sqlEditor, }: {
3
3
  navigateToDashboardManager?: () => void;
4
4
  containerStyle?: CSSProperties;
5
5
  sqlEditor?: boolean;
6
6
  }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=DashboardBuilder.d.ts.map
@@ -0,0 +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;AAQ5E,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,2CAmSA"}
@@ -0,0 +1,192 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef, useState } from 'react';
3
+ import { useAdmin } from '../AdminProvider';
4
+ import { convertPostgresColumn } from '../Admin';
5
+ import { EnvSelectPopover, OrgSelect } from '../components';
6
+ import { SQLEditor } from '@quillsql/react';
7
+ import { QUILL_SERVER } from '../utils/constants';
8
+ import Banner from '../components/Banner';
9
+ export default function DashboardBuilder({ navigateToDashboardManager, containerStyle, sqlEditor = true, }) {
10
+ const parentRef = useRef(null);
11
+ const { state, dispatch } = useAdmin();
12
+ const [customerId, setCustomerId] = useState('');
13
+ const [isEditActive, setIsEditActive] = useState(false);
14
+ const [checked, setChecked] = useState(false);
15
+ const [selected, setSelected] = useState('');
16
+ const [userTyping, setUserTyping] = useState(false);
17
+ const inputRef = useRef(null);
18
+ const [filteredOptions, setFilteredOptions] = useState([]);
19
+ const [sqlPrompt, setSqlPrompt] = useState('');
20
+ const [dashboardNames, setDashboardNames] = useState([]);
21
+ const [selectedDashboardName, setSelectedDashboardName] = useState('');
22
+ const [isOpen, setIsOpen] = useState(false);
23
+ const [query, setQuery] = useState(state.activeQuery);
24
+ const [rows, setRows] = useState([]);
25
+ const [columns, setColumns] = useState([]);
26
+ const [fields, setFields] = useState([]);
27
+ const [errorMessage, setErrorMessage] = useState('');
28
+ const [sqlResponseLoading, setSqlResponseLoading] = useState(false);
29
+ useEffect(() => {
30
+ if (state.activeQuery) {
31
+ setIsEditActive(true);
32
+ }
33
+ else {
34
+ setIsEditActive(false);
35
+ }
36
+ }, [state.activeQuery]);
37
+ useEffect(() => {
38
+ if (navigateToDashboardManager) {
39
+ dispatch({
40
+ type: 'SET_NAVIGATE_TO_DASHBOARD_MANAGER',
41
+ payload: navigateToDashboardManager,
42
+ });
43
+ }
44
+ else {
45
+ console.warn('navigateToDashboardManager is undefined');
46
+ }
47
+ }, [navigateToDashboardManager]);
48
+ useEffect(() => {
49
+ setQuery(state.activeQuery);
50
+ }, [state.activeQuery]);
51
+ useEffect(() => {
52
+ let isSubscribed = true;
53
+ async function getCustomers() {
54
+ // If you need to retrieve the JSON data from the response:
55
+ const response2 = await fetch(`${QUILL_SERVER}/dashnames/${state.client._id}/`, {
56
+ method: 'GET',
57
+ headers: {
58
+ Authorization: `Bearer `,
59
+ environment: state.environment,
60
+ },
61
+ });
62
+ const response2Data = await response2.json();
63
+ const dashNames = response2Data.dashboardNames.filter((elem) => elem !== null);
64
+ setDashboardNames(dashNames);
65
+ setSelectedDashboardName(dashNames[0]);
66
+ }
67
+ if (isSubscribed) {
68
+ getCustomers();
69
+ }
70
+ return () => {
71
+ isSubscribed = false;
72
+ };
73
+ }, [state.environment]);
74
+ // const navigate = useNavigate();
75
+ const handleRunQuery = async () => {
76
+ const { _id } = state.client;
77
+ try {
78
+ const response = await fetch(`${QUILL_SERVER}/dashquery?orgId=${state.organizationId || ''}&publicKey=${_id}`, {
79
+ method: 'POST',
80
+ headers: {
81
+ Authorization: `Bearer `,
82
+ environment: state.environment,
83
+ 'Content-Type': 'application/json', // Important when sending JSON
84
+ },
85
+ body: JSON.stringify({
86
+ query,
87
+ }),
88
+ });
89
+ const responseData = await response.json();
90
+ if (responseData && responseData.errorMessage) {
91
+ setErrorMessage('Failed to run SQL query: ' + responseData.errorMessage);
92
+ setRows([]);
93
+ setColumns([]);
94
+ setFields([]);
95
+ return;
96
+ }
97
+ setErrorMessage('');
98
+ setRows(responseData.rows);
99
+ setColumns(responseData.fields.map((elem) => convertPostgresColumn(elem)));
100
+ setFields(responseData.fields);
101
+ }
102
+ catch (e) {
103
+ console.log('ERROR: ', e);
104
+ return;
105
+ }
106
+ };
107
+ const handleAddToDashboard = () => {
108
+ setIsOpen(true);
109
+ };
110
+ const newRows = useMemo(() => {
111
+ return JSON.parse(JSON.stringify(rows));
112
+ }, [rows]);
113
+ /* all your useState and useContext calls and your useEffect hooks */
114
+ // MMTODO: idk if this is needed
115
+ // const handleSetOrganization = (org) => {
116
+ // setOrganization(null);
117
+ // setTimeout(() => setOrganization(org), 50);
118
+ // };
119
+ return (_jsx("div", { style: {
120
+ // display: "flex",
121
+ // flexDirection: "column",
122
+ // paddingTop: "70px",
123
+ // paddingLeft: "30px",
124
+ // paddingRight: "30px",
125
+ ...containerStyle,
126
+ }, ref: parentRef, children: _jsxs("div", { style: { display: 'flex', flexDirection: 'column', height: '100%' }, children: [_jsx("div", { style: {
127
+ // width: 'calc(100vw - 30px)',
128
+ display: 'flex',
129
+ // position: "fixed",
130
+ backgroundColor: 'white',
131
+ zIndex: 1,
132
+ left: 0,
133
+ right: 0,
134
+ top: 0,
135
+ flexDirection: 'row',
136
+ paddingTop: 12,
137
+ alignItems: 'center',
138
+ justifyContent: 'space-between',
139
+ paddingLeft: '30px',
140
+ paddingRight: '30px',
141
+ borderBottomWidth: 1,
142
+ borderTopWidth: 0,
143
+ borderLeftWidth: 0,
144
+ borderRightWidth: 0,
145
+ borderStyle: 'solid',
146
+ borderColor: state.theme.borderColor,
147
+ paddingBottom: 20,
148
+ // boxShadow: "0px 1px 4px 0px rgba(0, 0, 0, 0.07)",
149
+ // paddingRight: '50px',
150
+ // position: 'absolute'
151
+ // // zIndex: 10
152
+ }, children: _jsxs("div", { style: {
153
+ display: 'flex',
154
+ flexDirection: 'row',
155
+ alignItems: 'flex-end',
156
+ justifyContent: 'space-between',
157
+ width: '100%',
158
+ }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("h1", { style: {
159
+ fontSize: '14px',
160
+ paddingTop: '0px',
161
+ marginTop: '0px',
162
+ marginBottom: '4px',
163
+ fontWeight: '600',
164
+ color: state.theme.secondaryTextColor,
165
+ fontFamily: state.theme.fontFamily,
166
+ userSelect: 'none',
167
+ }, children: "Environment" }), _jsx(EnvSelectPopover, { setEnvironment: (env) => {
168
+ dispatch({ type: 'SET_ENVIRONMENT', payload: env });
169
+ }, environment: state.environment, clients: state.clients, client: state.client, setClient: (client) => dispatch({ type: 'SET_CLIENT', payload: client }), theme: state.theme, showPromote: false })] }), _jsx(OrgSelect, { environment: state.environment, setEnvironment: (env) => {
170
+ dispatch({ type: 'SET_ENVIRONMENT', payload: env });
171
+ }, organizations: state.organizations, organizationId: state.organizationId, setOrganizationId: (orgId) => {
172
+ dispatch({ type: 'SET_ORGANIZATION_ID', payload: orgId });
173
+ }, theme: state.theme, parentRef: parentRef })] }) }), isEditActive && (_jsx(Banner, { onExit: () => {
174
+ const msg = 'Are you sure you want to exit edit mode? Your changes will not be saved.';
175
+ if (!confirm(msg))
176
+ return;
177
+ dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
178
+ dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
179
+ } })), sqlEditor && (_jsx(SQLEditor, { chartBuilderEnabled: true, showAccessControlOptions: true, showDateFieldOptions: true, showTableFormatOptions: true, defaultQuery: query, isEditMode: !!state.activeQuery, addToDashboardButtonLabel: state.activeQuery ? 'Save changes' : 'Add to dashboard', chartBuilderTitle: state.activeQuery ? 'Save changes' : 'Add to dashboard', dashboardItem: state.activeQuery ? state.activeEditItem : undefined, onAddToDashboardComplete: () => {
180
+ dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
181
+ dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
182
+ if (state.navigateToDashboardManager) {
183
+ dispatch({ type: 'SET_ACTIVE_COMPONENT', payload: 'Dashboards' });
184
+ state.navigateToDashboardManager();
185
+ }
186
+ }, containerStyle: {
187
+ height: 'calc(100% - 138px)',
188
+ width: '100%',
189
+ paddingRight: 25,
190
+ paddingTop: 25,
191
+ } }))] }) }));
192
+ }
@@ -1,5 +1,6 @@
1
- import { CSSProperties } from "react";
1
+ import { CSSProperties } from 'react';
2
2
  export default function DashboardManager({ navigateToDashboardBuilder, containerStyle, }: {
3
3
  navigateToDashboardBuilder?: () => void;
4
4
  containerStyle?: CSSProperties;
5
5
  }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=DashboardManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardManager.d.ts","sourceRoot":"","sources":["../../src/public_components/DashboardManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AA8BnE,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,0BAA0B,EAC1B,cAAc,GACf,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CA6iBA"}