@quillsql/admin 1.6.0 → 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 (151) hide show
  1. package/dist/cjs/Admin.d.ts.map +1 -1
  2. package/dist/cjs/Admin.js +24 -11
  3. package/dist/cjs/AdminProvider.d.ts +2 -1
  4. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  5. package/dist/cjs/AdminProvider.js +13 -24
  6. package/dist/cjs/api/ConnectionClient.d.ts +8 -0
  7. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  8. package/dist/cjs/api/ConnectionClient.js +42 -8
  9. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  10. package/dist/cjs/components/DashboardSelectPopover.js +20 -3
  11. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  12. package/dist/cjs/components/DropDownMenuWithLabel.js +4 -35
  13. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  14. package/dist/cjs/components/EmptyDashboardComponent/index.js +11 -9
  15. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  16. package/dist/cjs/components/QuillSelect.js +2 -2
  17. package/dist/cjs/components/SegmentedControl.d.ts +4 -2
  18. package/dist/cjs/components/SegmentedControl.d.ts.map +1 -1
  19. package/dist/cjs/components/SegmentedControl.js +22 -16
  20. package/dist/cjs/components/SqlTextEditor.d.ts +9 -1
  21. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  22. package/dist/cjs/components/SqlTextEditor.js +60 -12
  23. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  24. package/dist/cjs/components/UiComponents.js +11 -2
  25. package/dist/cjs/constants/dataTypes.d.ts +2 -0
  26. package/dist/cjs/constants/dataTypes.d.ts.map +1 -0
  27. package/dist/cjs/constants/dataTypes.js +21 -0
  28. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  29. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +9 -17
  30. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  31. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +24 -11
  32. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +4 -1
  33. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  34. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +87 -36
  35. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
  36. package/dist/cjs/modals/EditFiltersModal.js +13 -3
  37. package/dist/cjs/modals/NewDashboardModal.js +2 -2
  38. package/dist/cjs/modals/PromoteDashModal.js +2 -2
  39. package/dist/cjs/modals/PromoteViewModal.d.ts +2 -1
  40. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  41. package/dist/cjs/modals/PromoteViewModal.js +46 -36
  42. package/dist/cjs/primitives/TextInputPrimitive.d.ts +1 -0
  43. package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
  44. package/dist/cjs/primitives/TextInputPrimitive.js +35 -20
  45. package/dist/cjs/public_components/CreateEnvironment.d.ts +2 -1
  46. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  47. package/dist/cjs/public_components/CreateEnvironment.js +4 -1
  48. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  49. package/dist/cjs/public_components/DashboardBuilder.js +67 -156
  50. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  51. package/dist/cjs/public_components/DashboardManager.js +72 -73
  52. package/dist/cjs/public_components/SQLViewManager.d.ts +1 -0
  53. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  54. package/dist/cjs/public_components/SQLViewManager.js +216 -40
  55. package/dist/cjs/utils/astProcessing.d.ts +2 -0
  56. package/dist/cjs/utils/astProcessing.d.ts.map +1 -0
  57. package/dist/cjs/utils/astProcessing.js +41 -0
  58. package/dist/cjs/utils/astProcessing.uspec.d.ts +2 -0
  59. package/dist/cjs/utils/astProcessing.uspec.d.ts.map +1 -0
  60. package/dist/cjs/utils/astProcessing.uspec.js +26 -0
  61. package/dist/cjs/utils/columnProcessing.d.ts +3 -0
  62. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -0
  63. package/dist/cjs/utils/columnProcessing.js +42 -0
  64. package/dist/cjs/utils/dataEditor.d.ts +2 -2
  65. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  66. package/dist/cjs/utils/dataEditor.js +4 -2
  67. package/dist/cjs/utils/databases.d.ts +0 -1
  68. package/dist/cjs/utils/databases.d.ts.map +1 -1
  69. package/dist/cjs/utils/databases.js +5 -6
  70. package/dist/cjs/utils/monacoAutocomplete.d.ts +21 -0
  71. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +1 -0
  72. package/dist/cjs/utils/monacoAutocomplete.js +250 -0
  73. package/dist/cjs/utils/schema.d.ts +5 -0
  74. package/dist/cjs/utils/schema.d.ts.map +1 -1
  75. package/dist/cjs/utils/schema.js +129 -0
  76. package/dist/esm/Admin.d.ts.map +1 -1
  77. package/dist/esm/Admin.js +24 -11
  78. package/dist/esm/AdminProvider.d.ts +2 -1
  79. package/dist/esm/AdminProvider.d.ts.map +1 -1
  80. package/dist/esm/AdminProvider.js +13 -24
  81. package/dist/esm/api/ConnectionClient.d.ts +8 -0
  82. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  83. package/dist/esm/api/ConnectionClient.js +42 -8
  84. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  85. package/dist/esm/components/DashboardSelectPopover.js +20 -3
  86. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  87. package/dist/esm/components/DropDownMenuWithLabel.js +4 -35
  88. package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  89. package/dist/esm/components/EmptyDashboardComponent/index.js +11 -9
  90. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  91. package/dist/esm/components/QuillSelect.js +2 -2
  92. package/dist/esm/components/SegmentedControl.d.ts +4 -2
  93. package/dist/esm/components/SegmentedControl.d.ts.map +1 -1
  94. package/dist/esm/components/SegmentedControl.js +22 -16
  95. package/dist/esm/components/SqlTextEditor.d.ts +9 -1
  96. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  97. package/dist/esm/components/SqlTextEditor.js +59 -11
  98. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  99. package/dist/esm/components/UiComponents.js +12 -3
  100. package/dist/esm/constants/dataTypes.d.ts +2 -0
  101. package/dist/esm/constants/dataTypes.d.ts.map +1 -0
  102. package/dist/esm/constants/dataTypes.js +18 -0
  103. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  104. package/dist/esm/forms/client_onboard/ConnectDatabase.js +9 -17
  105. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  106. package/dist/esm/forms/client_onboard/CreateSqlViews.js +25 -12
  107. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +4 -1
  108. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  109. package/dist/esm/forms/sql_views/CreateEditSqlView.js +87 -36
  110. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
  111. package/dist/esm/modals/EditFiltersModal.js +13 -3
  112. package/dist/esm/modals/NewDashboardModal.js +2 -2
  113. package/dist/esm/modals/PromoteDashModal.js +2 -2
  114. package/dist/esm/modals/PromoteViewModal.d.ts +2 -1
  115. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  116. package/dist/esm/modals/PromoteViewModal.js +50 -40
  117. package/dist/esm/primitives/TextInputPrimitive.d.ts +1 -0
  118. package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
  119. package/dist/esm/primitives/TextInputPrimitive.js +33 -21
  120. package/dist/esm/public_components/CreateEnvironment.d.ts +2 -1
  121. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  122. package/dist/esm/public_components/CreateEnvironment.js +4 -1
  123. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  124. package/dist/esm/public_components/DashboardBuilder.js +68 -157
  125. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  126. package/dist/esm/public_components/DashboardManager.js +73 -74
  127. package/dist/esm/public_components/SQLViewManager.d.ts +1 -0
  128. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  129. package/dist/esm/public_components/SQLViewManager.js +216 -42
  130. package/dist/esm/utils/astProcessing.d.ts +2 -0
  131. package/dist/esm/utils/astProcessing.d.ts.map +1 -0
  132. package/dist/esm/utils/astProcessing.js +37 -0
  133. package/dist/esm/utils/astProcessing.uspec.d.ts +2 -0
  134. package/dist/esm/utils/astProcessing.uspec.d.ts.map +1 -0
  135. package/dist/esm/utils/astProcessing.uspec.js +24 -0
  136. package/dist/esm/utils/columnProcessing.d.ts +3 -0
  137. package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
  138. package/dist/esm/utils/columnProcessing.js +37 -0
  139. package/dist/esm/utils/dataEditor.d.ts +2 -2
  140. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  141. package/dist/esm/utils/dataEditor.js +4 -2
  142. package/dist/esm/utils/databases.d.ts +0 -1
  143. package/dist/esm/utils/databases.d.ts.map +1 -1
  144. package/dist/esm/utils/databases.js +5 -6
  145. package/dist/esm/utils/monacoAutocomplete.d.ts +21 -0
  146. package/dist/esm/utils/monacoAutocomplete.d.ts.map +1 -0
  147. package/dist/esm/utils/monacoAutocomplete.js +245 -0
  148. package/dist/esm/utils/schema.d.ts +5 -0
  149. package/dist/esm/utils/schema.d.ts.map +1 -1
  150. package/dist/esm/utils/schema.js +126 -1
  151. package/package.json +3 -2
@@ -6,34 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const react_1 = require("react");
8
8
  const AdminProvider_1 = require("../AdminProvider");
9
- const Admin_1 = require("../Admin");
10
9
  const components_1 = require("../components");
11
10
  const react_2 = require("@quillsql/react");
12
- const constants_1 = require("../utils/constants");
13
11
  const Banner_1 = __importDefault(require("../components/Banner"));
14
12
  const DatabaseMismatchCard_1 = __importDefault(require("../components/DatabaseMismatchCard"));
15
13
  const modeToggleOptions = ['SQL Editor', 'Report Builder'];
16
14
  function DashboardBuilder({ navigateToDashboardManager, containerStyle, sqlEditor = true, }) {
17
15
  const parentRef = (0, react_1.useRef)(null);
18
16
  const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
19
- const [customerId, setCustomerId] = (0, react_1.useState)('');
20
17
  const [isEditActive, setIsEditActive] = (0, react_1.useState)(false);
21
- const [checked, setChecked] = (0, react_1.useState)(false);
22
- const [selected, setSelected] = (0, react_1.useState)('');
23
- const [userTyping, setUserTyping] = (0, react_1.useState)(false);
24
- const inputRef = (0, react_1.useRef)(null);
25
- const [filteredOptions, setFilteredOptions] = (0, react_1.useState)([]);
26
- const [sqlPrompt, setSqlPrompt] = (0, react_1.useState)('');
27
- const [dashboardNames, setDashboardNames] = (0, react_1.useState)([]);
28
- const [selectedDashboardName, setSelectedDashboardName] = (0, react_1.useState)('');
29
- const [isOpen, setIsOpen] = (0, react_1.useState)(false);
30
18
  const [query, setQuery] = (0, react_1.useState)(state.activeQuery);
31
- const [rows, setRows] = (0, react_1.useState)([]);
32
- const [columns, setColumns] = (0, react_1.useState)([]);
33
- const [fields, setFields] = (0, react_1.useState)([]);
34
- const [errorMessage, setErrorMessage] = (0, react_1.useState)('');
35
- const [sqlResponseLoading, setSqlResponseLoading] = (0, react_1.useState)(false);
36
19
  const [toggleMode, setToggleMode] = (0, react_1.useState)('SQL Editor');
20
+ const [selectedOrgName, setSelectedOrgName] = (0, react_1.useState)('');
37
21
  (0, react_1.useEffect)(() => {
38
22
  if (state.activeQuery) {
39
23
  setIsEditActive(true);
@@ -57,75 +41,14 @@ function DashboardBuilder({ navigateToDashboardManager, containerStyle, sqlEdito
57
41
  setQuery(state.activeQuery);
58
42
  }, [state.activeQuery]);
59
43
  (0, react_1.useEffect)(() => {
60
- let isSubscribed = true;
61
- async function getDashNames() {
62
- // If you need to retrieve the JSON data from the response:
63
- const response = await fetch(`${state.queryEndpoint}`, {
64
- method: 'POST',
65
- headers: {
66
- ...state.queryHeaders,
67
- 'Content-Type': 'application/json',
68
- },
69
- body: JSON.stringify({
70
- metadata: {
71
- clientId: state.client._id,
72
- publicKey: state.client._id,
73
- task: 'dashboards',
74
- databaseType: state.client.databaseType,
75
- },
76
- }),
77
- });
78
- const data = await response.json();
79
- const dashNames = data.data.dashboardNames.filter((elem) => elem !== null);
80
- setDashboardNames(dashNames);
81
- setSelectedDashboardName(dashNames[0]);
82
- }
83
- if (isSubscribed) {
84
- getDashNames();
85
- }
86
- return () => {
87
- isSubscribed = false;
88
- };
89
- }, [state.environment]);
90
- // const navigate = useNavigate();
91
- const handleRunQuery = async () => {
92
- const { _id } = state.client;
93
- try {
94
- const response = await fetch(`${constants_1.QUILL_SERVER}/dashquery?orgId=${state.organizationId || ''}&publicKey=${_id}`, {
95
- method: 'POST',
96
- headers: {
97
- Authorization: `Bearer `,
98
- environment: state.environment,
99
- 'Content-Type': 'application/json', // Important when sending JSON
100
- },
101
- body: JSON.stringify({
102
- query,
103
- }),
104
- });
105
- const responseData = await response.json();
106
- if (responseData && responseData.errorMessage) {
107
- setErrorMessage('Failed to run SQL query: ' + responseData.errorMessage);
108
- setRows([]);
109
- setColumns([]);
110
- setFields([]);
111
- return;
112
- }
113
- setErrorMessage('');
114
- setRows(responseData.rows);
115
- setColumns(responseData.fields.map((elem) => (0, Admin_1.convertPostgresColumn)(elem)));
116
- setFields(responseData.fields);
44
+ const selectedOrg = state.organizations.find((org) => {
45
+ const orgId = org.id ? org.id : org.ID;
46
+ return orgId && String(orgId) === String(state.organizationId);
47
+ });
48
+ if (selectedOrg) {
49
+ setSelectedOrgName(selectedOrg.name ? selectedOrg.name : selectedOrg.NAME);
117
50
  }
118
- catch (e) {
119
- console.log('ERROR: ', e);
120
- return;
121
- }
122
- };
123
- const handleAddToDashboard = () => {
124
- setIsOpen(true);
125
- };
126
- const newRows = (0, react_1.useMemo)(() => {
127
- return JSON.parse(JSON.stringify(rows));
128
- }, [rows]);
51
+ }, [state.organizations, state.organizationId]);
129
52
  /* all your useState and useContext calls and your useEffect hooks */
130
53
  // MMTODO: idk if this is needed
131
54
  // const handleSetOrganization = (org) => {
@@ -231,79 +154,67 @@ function DashboardBuilder({ navigateToDashboardManager, containerStyle, sqlEdito
231
154
  return;
232
155
  dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
233
156
  dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
234
- } })), state.databaseTypeMismatch.show && ((0, jsx_runtime_1.jsx)(DatabaseMismatchCard_1.default, { environemntName: state.client.name, environemntDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })), (0, jsx_runtime_1.jsx)("div", { style: {
235
- // Toggle the height of the container so they both stay in the DOM
236
- // and don't refetch when switching back and forth.
237
- height: toggleMode === 'Report Builder' ? '100%' : 0,
238
- overflow: 'hidden',
239
- }, children: (0, jsx_runtime_1.jsx)(react_2.ReportBuilder, { isAdminEnabled: true,
240
- // initialTableName={state.tables.length > 0 && state.tables[0]!.name}
241
- onSubmitCreateReport: (report) => {
242
- const dashboard = state.dashboards.find((dash) => {
243
- return dash.name === report.dashboardName;
157
+ } })), state.databaseTypeMismatch.show && ((0, jsx_runtime_1.jsx)(DatabaseMismatchCard_1.default, { environemntName: state.client.name, environemntDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })), toggleMode === 'Report Builder' ? ((0, jsx_runtime_1.jsx)(react_2.ReportBuilder, { isAdminEnabled: true,
158
+ // initialTableName={state.tables.length > 0 && state.tables[0]!.name}
159
+ onSubmitCreateReport: (report) => {
160
+ const dashboard = state.dashboards.find((dash) => {
161
+ return dash.name === report.dashboardName;
162
+ });
163
+ dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
164
+ dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
165
+ if (state.navigateToDashboardManager) {
166
+ dispatch({
167
+ type: 'SET_ACTIVE_COMPONENT',
168
+ payload: 'Dashboards',
244
169
  });
245
- dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
246
- dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
247
- if (state.navigateToDashboardManager) {
248
- dispatch({
249
- type: 'SET_ACTIVE_COMPONENT',
250
- payload: 'Dashboards',
251
- });
252
- dispatch({
253
- type: 'SET_SELECTED_DASHBOARD',
254
- payload: dashboard,
255
- });
256
- state.navigateToDashboardManager();
257
- }
258
- }, onSubmitEditReport: (report) => {
259
- const dashboard = state.dashboards.find((dash) => {
260
- return dash.name === report.dashboardName;
170
+ dispatch({
171
+ type: 'SET_SELECTED_DASHBOARD',
172
+ payload: dashboard,
261
173
  });
262
- dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
263
- dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
264
- if (state.navigateToDashboardManager) {
265
- dispatch({
266
- type: 'SET_ACTIVE_COMPONENT',
267
- payload: 'Dashboards',
268
- });
269
- dispatch({
270
- type: 'SET_SELECTED_DASHBOARD',
271
- payload: dashboard,
272
- });
273
- state.navigateToDashboardManager();
274
- }
275
- }, organizationName: state.organizations.find((org) => {
276
- return (org.id && String(org.id) === String(state.organizationId));
277
- })?.name, containerStyle: {
278
- height: '100%',
279
- width: '100%',
280
- } }) }), sqlEditor && !state.databaseTypeMismatch.show && ((0, jsx_runtime_1.jsx)("div", { style: {
281
- height: toggleMode === 'SQL Editor' ? '100%' : 0,
282
- overflow: 'hidden',
283
- }, children: (0, jsx_runtime_1.jsx)(react_2.SQLEditor, { isChartBuilderEnabled: true, showAccessControlOptions: true, showDateFieldOptions: true, showTableFormatOptions: true, defaultQuery: query, addToDashboardButtonLabel: state.activeQuery ? 'Save changes' : 'Add to dashboard', chartBuilderTitle: state.activeQuery ? 'Save changes' : 'Add to dashboard', report: state.activeQuery ? state.activeEditItem : undefined, onAddToDashboardComplete: (report) => {
284
- const dashboard = state.dashboards.find((dash) => {
285
- return dash.name === report.dashboardName;
174
+ state.navigateToDashboardManager();
175
+ }
176
+ }, onSubmitEditReport: (report) => {
177
+ const dashboard = state.dashboards.find((dash) => {
178
+ return dash.name === report.dashboardName;
179
+ });
180
+ dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
181
+ dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
182
+ if (state.navigateToDashboardManager) {
183
+ dispatch({
184
+ type: 'SET_ACTIVE_COMPONENT',
185
+ payload: 'Dashboards',
286
186
  });
287
- dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
288
- dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
289
- if (state.navigateToDashboardManager) {
290
- dispatch({
291
- type: 'SET_ACTIVE_COMPONENT',
292
- payload: 'Dashboards',
293
- });
294
- dispatch({
295
- type: 'SET_SELECTED_DASHBOARD',
296
- payload: dashboard,
297
- });
298
- state.navigateToDashboardManager();
299
- }
300
- }, containerStyle: {
301
- height: '100%',
302
- width: '100%',
303
- // paddingRight: 25,
304
- // paddingTop: 25,
305
- }, organizationName: state.organizations.find((org) => {
306
- return (org.id && String(org.id) === String(state.organizationId));
307
- })?.name }) }))] }) }));
187
+ dispatch({
188
+ type: 'SET_SELECTED_DASHBOARD',
189
+ payload: dashboard,
190
+ });
191
+ state.navigateToDashboardManager();
192
+ }
193
+ }, organizationName: selectedOrgName, containerStyle: {
194
+ height: '100%',
195
+ width: '100%',
196
+ } })) : ((0, jsx_runtime_1.jsx)(react_2.SQLEditor, { isChartBuilderEnabled: true, showAccessControlOptions: true, showDateFieldOptions: true, showTableFormatOptions: true, defaultQuery: query, addToDashboardButtonLabel: state.activeQuery ? 'Save changes' : 'Add to dashboard', chartBuilderTitle: state.activeQuery ? 'Save changes' : 'Add to dashboard', report: state.activeQuery ? state.activeEditItem : undefined, onAddToDashboardComplete: (report) => {
197
+ const dashboard = state.dashboards.find((dash) => {
198
+ return dash.name === report.dashboardName;
199
+ });
200
+ dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
201
+ dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
202
+ if (state.navigateToDashboardManager) {
203
+ dispatch({
204
+ type: 'SET_ACTIVE_COMPONENT',
205
+ payload: 'Dashboards',
206
+ });
207
+ dispatch({
208
+ type: 'SET_SELECTED_DASHBOARD',
209
+ payload: dashboard,
210
+ });
211
+ state.navigateToDashboardManager();
212
+ }
213
+ }, containerStyle: {
214
+ height: '100%',
215
+ width: '100%',
216
+ // paddingRight: 25,
217
+ // paddingTop: 25,
218
+ }, organizationName: selectedOrgName }))] }) }));
308
219
  }
309
220
  exports.default = DashboardBuilder;
@@ -1 +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;AA0BnE,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,2CAofA"}
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;AA2BnE,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,2CA+hBA"}
@@ -12,7 +12,6 @@ const react_2 = require("@quillsql/react");
12
12
  const Admin_1 = require("../Admin");
13
13
  const primitives_1 = require("../primitives");
14
14
  const NewDashboardModal_1 = require("../modals/NewDashboardModal");
15
- const constants_1 = require("../utils/constants");
16
15
  const EmptyDashboardComponent_1 = __importDefault(require("../components/EmptyDashboardComponent"));
17
16
  const DatabaseMismatchCard_1 = __importDefault(require("../components/DatabaseMismatchCard"));
18
17
  const UiComponents_1 = require("../components/UiComponents");
@@ -21,15 +20,14 @@ const EditFiltersModal_1 = require("../modals/EditFiltersModal");
21
20
  function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
22
21
  const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
23
22
  const parentRef = (0, react_1.useRef)(null);
23
+ const [copied, setCopied] = (0, react_1.useState)(false);
24
24
  const [initialLoad, setInitialLoad] = (0, react_1.useState)(true);
25
- const [dashboards, setDashboards] = (0, react_1.useState)([]);
26
25
  const [reloadFlag, setReloadFlag] = (0, react_1.useState)(false);
27
26
  const [selectedReorderDashboard, setSelectedReorderDashboard] = (0, react_1.useState)('');
28
27
  const [newDashboardModalIsOpen, setNewDashboardModalIsOpen] = (0, react_1.useState)(false);
29
28
  const [editFilterModalIsOpen, setEditFilterModalIsOpen] = (0, react_1.useState)(false);
30
29
  const { reload: reloadDashboard } = (0, react_2.useDashboard)(state.selectedDashboard?.name);
31
30
  const [isReorderDashboardModalOpen, setIsReorderDashboardModalOpen] = (0, react_1.useState)(false);
32
- const [dashboardData, setDashboardData] = (0, react_1.useState)(null);
33
31
  const [isPromoteDashModalOpen, setIsPromoteDashModalOpen] = (0, react_1.useState)(false);
34
32
  // A useless flag that just turns itself off.
35
33
  (0, react_1.useEffect)(() => {
@@ -92,59 +90,6 @@ function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
92
90
  isSubscribed = false;
93
91
  };
94
92
  }, [state.environment, state.client]);
95
- // MMTODO: Idk if this is needed
96
- // const handleSetOrganization = (org) => {
97
- // setOrganization(null);
98
- // setTimeout(() => setOrganization(org), 50);
99
- // };
100
- // MMTODO: Not sure if this actually does anything
101
- (0, react_1.useEffect)(() => {
102
- async function getDashboardData(dashboard, setData) {
103
- let responseData;
104
- if (state.queryEndpoint) {
105
- const response = await fetch(state.queryEndpoint, {
106
- method: 'POST',
107
- headers: {
108
- ...state.queryHeaders,
109
- 'Content-Type': 'application/json',
110
- },
111
- body: JSON.stringify({
112
- metadata: {
113
- orgId: state.organizationId || '*',
114
- task: 'config',
115
- name: dashboard,
116
- clientId: state.client._id,
117
- databaseType: state.client.databaseType,
118
- },
119
- }),
120
- credentials: state.withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
121
- });
122
- responseData = (await response.json()).data;
123
- }
124
- else {
125
- const url = new URL(`${constants_1.QUILL_SERVER}/dashconfig`);
126
- // Setting the search parameters for the URL
127
- url.search = new URLSearchParams({
128
- orgId: state.organizationId,
129
- publicKey: state.client._id,
130
- name: dashboard,
131
- }).toString();
132
- const response2 = await fetch(url, {
133
- method: 'GET',
134
- headers: {
135
- Authorization: 'Bearer ', // Ensure you append your token after 'Bearer ' if needed
136
- environment: state.environment,
137
- },
138
- });
139
- // If you need to retrieve the JSON data from the response:
140
- responseData = await response2.json();
141
- }
142
- setData(responseData);
143
- }
144
- if (state.selectedDashboard && state.client) {
145
- getDashboardData(state.selectedDashboard.name, setDashboardData);
146
- }
147
- }, [state.selectedDashboard, state.organizationId, state.client]);
148
93
  return ((0, jsx_runtime_1.jsxs)("div", { style: containerStyle, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
149
94
  display: 'flex',
150
95
  flexDirection: 'column',
@@ -182,7 +127,12 @@ function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
182
127
  flexDirection: 'row',
183
128
  alignItems: 'flex-end',
184
129
  justifyContent: 'space-between',
185
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { gap: 16, display: 'flex', flexDirection: 'row' }, children: [!!state.dashboards.length && ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("h1", { style: {
130
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
131
+ gap: 16,
132
+ display: 'flex',
133
+ flexDirection: 'row',
134
+ alignItems: 'flex-end',
135
+ }, children: [!!state.dashboards.length && ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("h1", { style: {
186
136
  fontSize: '14px',
187
137
  paddingTop: '0px',
188
138
  marginTop: '0px',
@@ -195,6 +145,7 @@ function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
195
145
  return { value: elem.name, label: elem.name };
196
146
  })
197
147
  : [], setDashboard: (dashboard) => {
148
+ setReloadFlag(true);
198
149
  const selectedDashboard = state.dashboards.find((dash) => {
199
150
  return dash.name === dashboard;
200
151
  });
@@ -217,14 +168,59 @@ function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
217
168
  color: state.theme.secondaryTextColor,
218
169
  fontFamily: state.theme.fontFamily,
219
170
  userSelect: 'none',
220
- }, children: "Environment" }), (0, jsx_runtime_1.jsx)(components_1.EnvSelectPopover, { setEnvironment: (env) => dispatch({ type: 'SET_ENVIRONMENT', payload: env }), environment: state.environment, clients: state.clients, client: state.client, setClient: (client) => dispatch({ type: 'SET_CLIENT', payload: client }), theme: state.theme, showPromote: true, handlePromote: () => setIsPromoteDashModalOpen(true) })] })] }), !!state.dashboards.length && !state.databaseTypeMismatch.show && ((0, jsx_runtime_1.jsx)(components_1.OrgSelect, { parentRef: parentRef, environment: state.environment, setEnvironment: (env) => dispatch({ type: 'SET_ENVIRONMENT', payload: env }), organizations: state.organizations, theme: state.theme, organizationId: state.organizationId, setOrganizationId: (id) => dispatch({ type: 'SET_ORGANIZATION_ID', payload: id }) }))] }) }), state.databaseTypeMismatch.show ? ((0, jsx_runtime_1.jsx)(DatabaseMismatchCard_1.default, { environemntName: state.client.name, environemntDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'inline-block' }, children: [!state.dashboards.length && !initialLoad && ((0, jsx_runtime_1.jsx)("div", { style: {
171
+ }, children: "Environment" }), (0, jsx_runtime_1.jsx)(components_1.EnvSelectPopover, { setEnvironment: (env) => dispatch({ type: 'SET_ENVIRONMENT', payload: env }), environment: state.environment, clients: state.clients, client: state.client, setClient: (client) => dispatch({ type: 'SET_CLIENT', payload: client }), theme: state.theme, showPromote: true, handlePromote: () => setIsPromoteDashModalOpen(true) })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
172
+ display: 'flex',
173
+ flexDirection: 'row',
174
+ alignItems: 'center',
175
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
176
+ // width: '100%',
177
+ maxWidth: 330,
178
+ display: 'flex',
179
+ flexDirection: 'row',
180
+ justifyContent: 'space-between',
181
+ alignItems: 'center',
182
+ padding: '6px 12px',
183
+ borderRadius: 6,
184
+ height: 37,
185
+ cursor: 'pointer',
186
+ }, onClick: () => {
187
+ navigator.clipboard.writeText(state.client._id);
188
+ setCopied(true);
189
+ setTimeout(() => setCopied(false), 1500);
190
+ }, className: "quill-active", children: [(0, jsx_runtime_1.jsx)("style", { children: `.quill-active { background: #fff; border: 1px solid #e7e7e7; }
191
+ .quill-active:hover { background: #fff; box-shadow: 0px 1px 12px rgba(0, 0, 0, 0.07); border: 1px solid #e7e7e7 }
192
+ .quill-active:active { background: #fff; box-shadow: 0px 1px 12px rgba(0, 0, 0, 0.07); border: 1px solid #9DC4F8; outline: 2px solid #9DC4F8; }
193
+ ` }), (0, jsx_runtime_1.jsx)("div", { style: {
194
+ color: '#212121',
195
+ marginBottom: '0px',
196
+ }, children: (0, jsx_runtime_1.jsx)("h1", { style: {
197
+ fontSize: '14px',
198
+ fontWeight: '600',
199
+ color: state.theme.secondaryTextColor,
200
+ fontFamily: state.theme.fontFamily,
201
+ userSelect: 'none',
202
+ }, children: "Copy Public Key" }) }), (0, jsx_runtime_1.jsx)("div", { style: {
203
+ display: 'flex',
204
+ flexDirection: 'row',
205
+ alignItems: 'center',
206
+ gap: '6px',
207
+ cursor: 'pointer',
208
+ marginLeft: '12px',
209
+ }, children: (0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "#212121", width: 18, height: 18, children: [(0, jsx_runtime_1.jsx)("path", { d: "M7 3.5A1.5 1.5 0 0 1 8.5 2h3.879a1.5 1.5 0 0 1 1.06.44l3.122 3.12A1.5 1.5 0 0 1 17 6.622V12.5a1.5 1.5 0 0 1-1.5 1.5h-1v-3.379a3 3 0 0 0-.879-2.121L10.5 5.379A3 3 0 0 0 8.379 4.5H7v-1Z" }), (0, jsx_runtime_1.jsx)("path", { d: "M4.5 6A1.5 1.5 0 0 0 3 7.5v9A1.5 1.5 0 0 0 4.5 18h7a1.5 1.5 0 0 0 1.5-1.5v-5.879a1.5 1.5 0 0 0-.44-1.06L9.44 6.439A1.5 1.5 0 0 0 8.378 6H4.5Z" })] }) })] }), copied && ((0, jsx_runtime_1.jsxs)("div", { style: {
210
+ fontSize: 13,
211
+ fontWeight: 600,
212
+ color: '#565656',
213
+ marginLeft: 16,
214
+ display: 'flex',
215
+ flexDirection: 'row',
216
+ alignItems: 'center',
217
+ gap: 6,
218
+ }, children: [(0, jsx_runtime_1.jsx)("div", { children: "\u2705" }), " ", (0, jsx_runtime_1.jsx)("div", { children: "Copied" })] }))] })] }), !!state.dashboards.length && !state.databaseTypeMismatch.show && ((0, jsx_runtime_1.jsx)(components_1.OrgSelect, { parentRef: parentRef, environment: state.environment, setEnvironment: (env) => dispatch({ type: 'SET_ENVIRONMENT', payload: env }), organizations: state.organizations, theme: state.theme, organizationId: state.organizationId, setOrganizationId: (id) => dispatch({ type: 'SET_ORGANIZATION_ID', payload: id }) }))] }) }), state.databaseTypeMismatch.show ? ((0, jsx_runtime_1.jsx)(DatabaseMismatchCard_1.default, { environemntName: state.client.name, environemntDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'inline-block' }, children: [!state.dashboards.length && !initialLoad && ((0, jsx_runtime_1.jsx)("div", { style: {
221
219
  width: '100%',
222
220
  display: 'flex',
223
221
  flexDirection: 'column',
224
222
  alignItems: 'center',
225
223
  }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
226
- height: 80,
227
- width: 260,
228
224
  borderRadius: 6,
229
225
  marginTop: 100,
230
226
  display: 'flex',
@@ -232,16 +228,17 @@ function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
232
228
  alignItems: 'center',
233
229
  justifyContent: 'center',
234
230
  gap: 20,
235
- }, className: "hover-dash-rect", onClick: () => {
236
- setNewDashboardModalIsOpen(true);
237
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: ` .hover-dash-rect { background: white; border: 1px dashed #e7e7e7; } .hover-dash-rect:hover { background: white; box-shadow: 0px 1px 24px 0px rgba(0, 0, 0, 0.07); border: 1px solid #e7e7e7; } ` }), (0, jsx_runtime_1.jsxs)("div", { style: {
231
+ padding: 16,
232
+ border: '1px solid #e7e7e7',
233
+ boxShadow: '0px 1px 12px rgba(0, 0, 0, 0.07)',
234
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
238
235
  display: 'flex',
239
236
  flexDirection: 'row',
240
237
  alignItems: 'center',
241
238
  justifyContent: 'center',
242
239
  width: 260,
243
240
  }, children: [(0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#565656", height: 26, width: 26, children: [(0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M2.25 13.5a8.25 8.25 0 0 1 8.25-8.25.75.75 0 0 1 .75.75v6.75H18a.75.75 0 0 1 .75.75 8.25 8.25 0 0 1-16.5 0Z", clipRule: "evenodd" }), (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M12.75 3a.75.75 0 0 1 .75-.75 8.25 8.25 0 0 1 8.25 8.25.75.75 0 0 1-.75.75h-7.5a.75.75 0 0 1-.75-.75V3Z", clipRule: "evenodd" })] }), (0, jsx_runtime_1.jsx)("div", { style: {
244
- fontSize: 14,
241
+ fontSize: 16,
245
242
  fontWeight: 500,
246
243
  color: '#565656',
247
244
  // border: '1px solid #e7e7e7',
@@ -251,10 +248,12 @@ function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
251
248
  paddingLeft: 12,
252
249
  borderRadius: 4,
253
250
  cursor: 'pointer',
254
- }, className: "quill-hover-button", children: "Create new dashboard" })] })] }) })), reloadFlag
251
+ }, className: "quill-hover-button", children: "No dashboards created yet." })] }), (0, jsx_runtime_1.jsx)("div", { style: { paddingBottom: 8 }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedButton, { label: 'Create dashboard', style: { fontSize: 14 }, onClick: () => {
252
+ setNewDashboardModalIsOpen(true);
253
+ } }) })] }) })), reloadFlag
255
254
  ? null
256
255
  : (state.dashboards.length || initialLoad) && ((0, jsx_runtime_1.jsx)(react_2.Dashboard, { name: state.selectedDashboard?.name, containerStyle: { padding: 25 }, onClickReport: (elem) => {
257
- dispatch({ type: 'SET_REPORT_ID', payload: elem._id });
256
+ dispatch({ type: 'SET_REPORT_ID', payload: elem.id });
258
257
  dispatch({
259
258
  type: 'SET_ACTIVE_COMPONENT',
260
259
  payload: 'Report',
@@ -264,12 +263,12 @@ function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
264
263
  setIsReorderDashboardModalOpen(true);
265
264
  }, onSave: async (dashName) => {
266
265
  await getDashNames(dashName);
266
+ await reloadDashboard(dashName, true);
267
267
  setReloadFlag(true);
268
- reloadDashboard(dashName);
269
268
  }, client: state.client, ModalComponent: primitives_1.ModalPrimitive, ButtonComponent: primitives_1.ButtonPrimitive, SecondaryButtonComponent: primitives_1.SecondaryButtonPrimitive, TextInputComponent: primitives_1.TextInputPrimitive, HeaderComponent: primitives_1.HeaderPrimitive, SelectComponent: QuillSelect_1.QuillSelectComponent, dashNames: state.dashboards })), (0, jsx_runtime_1.jsx)(NewDashboardModal_1.NewDashboardModal, { isOpen: newDashboardModalIsOpen, setIsOpen: setNewDashboardModalIsOpen, openEditOrderModal: (dashboardName) => {
270
269
  setSelectedReorderDashboard(dashboardName);
271
270
  setIsReorderDashboardModalOpen(true);
272
- }, onSave: (dashboard) => {
271
+ }, onSave: async (dashboard) => {
273
272
  dispatch({
274
273
  type: 'SET_SELECTED_DASHBOARD',
275
274
  payload: dashboard,
@@ -278,19 +277,19 @@ function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
278
277
  type: 'SET_DASHBOARDS',
279
278
  payload: [...state.dashboards, { ...dashboard }],
280
279
  });
280
+ await reloadDashboard(state.selectedDashboard?.name, true);
281
281
  setReloadFlag(true);
282
- reloadDashboard(state.selectedDashboard?.name);
283
- }, client: state.client, ModalComponent: primitives_1.ModalPrimitive, ButtonComponent: primitives_1.ButtonPrimitive, SecondaryButtonComponent: primitives_1.SecondaryButtonPrimitive, TextInputComponent: primitives_1.TextInputPrimitive, HeaderComponent: primitives_1.HeaderPrimitive, SelectComponent: QuillSelect_1.QuillSelectComponent, dashNames: state.dashboards }), (0, jsx_runtime_1.jsx)(modals_1.ReorderDashboardModal, { organizationId: state.organizationId, isOpen: isReorderDashboardModalOpen, client: state.client, onSave: () => {
282
+ }, client: state.client, ModalComponent: primitives_1.ModalPrimitive, ButtonComponent: primitives_1.ButtonPrimitive, SecondaryButtonComponent: primitives_1.SecondaryButtonPrimitive, TextInputComponent: primitives_1.TextInputPrimitive, HeaderComponent: primitives_1.HeaderPrimitive, SelectComponent: QuillSelect_1.QuillSelectComponent, dashNames: state.dashboards }), (0, jsx_runtime_1.jsx)(modals_1.ReorderDashboardModal, { organizationId: state.organizationId, isOpen: isReorderDashboardModalOpen, client: state.client, onSave: async () => {
283
+ await reloadDashboard(state.selectedDashboard?.name, true);
284
284
  setReloadFlag(true);
285
- reloadDashboard(state.selectedDashboard?.name);
286
285
  }, setIsOpen: setIsReorderDashboardModalOpen, ModalComponent: primitives_1.ModalPrimitive, ButtonComponent: primitives_1.ButtonPrimitive, selectedDashboard: selectedReorderDashboard })] }))] }), (0, jsx_runtime_1.jsx)(Admin_1.ReportWrapper, { isOpen: state.activeComponent === 'Report', setIsOpen: (isOpen) => {
287
286
  dispatch({
288
287
  type: 'SET_ACTIVE_COMPONENT',
289
288
  payload: isOpen ? 'Report' : 'Dashboards',
290
289
  });
291
- }, ButtonComponent: primitives_1.ButtonPrimitive, SecondaryButtonComponent: primitives_1.SecondaryButtonPrimitive, ModalComponent: UiComponents_1.MemoizedModal, SelectComponent: primitives_1.SelectPrimitive, OrganizationSelectComponent: components_1.OrgSelect, organizationId: state.organizationId, queryEndpoint: state.queryEndpoint, queryHeaders: state.queryHeaders, withCredentials: state.withCredentials, reloadDashboard: () => {
290
+ }, ButtonComponent: primitives_1.ButtonPrimitive, SecondaryButtonComponent: primitives_1.SecondaryButtonPrimitive, ModalComponent: UiComponents_1.MemoizedModal, SelectComponent: primitives_1.SelectPrimitive, OrganizationSelectComponent: components_1.OrgSelect, organizationId: state.organizationId, queryEndpoint: state.queryEndpoint, queryHeaders: state.queryHeaders, withCredentials: state.withCredentials, reloadDashboard: async () => {
291
+ await reloadDashboard(state.selectedDashboard?.name);
292
292
  setReloadFlag(true);
293
- reloadDashboard(state.selectedDashboard?.name);
294
293
  } })] }));
295
294
  }
296
295
  exports.default = DashboardManager;
@@ -1,4 +1,5 @@
1
1
  import { CSSProperties } from 'react';
2
+ export declare const getDuplicateColumns: (columns?: any[]) => string[];
2
3
  export default function SQLViewManager({ containerStyle, }: {
3
4
  containerStyle?: CSSProperties;
4
5
  }): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"SQLViewManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/SQLViewManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AAyBnE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,GACf,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CAgaA"}
1
+ {"version":3,"file":"SQLViewManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/SQLViewManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AAmCnE,eAAO,MAAM,mBAAmB,aAAc,GAAG,EAAE,aAalD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,GACf,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CA8eA"}