@quillsql/admin 1.5.2 → 1.6.0

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 (141) 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 +200 -994
  4. package/dist/cjs/AdminProvider.d.ts +0 -11
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +16 -10
  7. package/dist/cjs/api/ConnectionClient.d.ts +11 -0
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +71 -10
  10. package/dist/cjs/components/DropDownMenu.js +1 -1
  11. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  12. package/dist/cjs/components/DropDownMenuWithLabel.js +16 -54
  13. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  14. package/dist/cjs/components/OrgSelect.js +10 -20
  15. package/dist/cjs/components/QuillSelect.d.ts +3 -0
  16. package/dist/cjs/components/QuillSelect.d.ts.map +1 -0
  17. package/dist/cjs/components/QuillSelect.js +137 -0
  18. package/dist/cjs/components/SegmentedControl.d.ts +7 -0
  19. package/dist/cjs/components/SegmentedControl.d.ts.map +1 -0
  20. package/dist/cjs/components/SegmentedControl.js +54 -0
  21. package/dist/cjs/components/UiComponents.d.ts +18 -30
  22. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  23. package/dist/cjs/components/UiComponents.js +39 -84
  24. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +2 -1
  25. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  26. package/dist/cjs/forms/client_onboard/ConnectSchema.js +143 -68
  27. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  28. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +39 -10
  29. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +7 -4
  30. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  31. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +28 -25
  32. package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -0
  33. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -0
  34. package/dist/cjs/hooks/useOnClickOutside.js +20 -0
  35. package/dist/cjs/modals/EditFiltersModal.d.ts +17 -0
  36. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -0
  37. package/dist/cjs/modals/EditFiltersModal.js +345 -0
  38. package/dist/cjs/modals/NewDashboardModal.d.ts +1 -3
  39. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  40. package/dist/cjs/modals/NewDashboardModal.js +62 -45
  41. package/dist/cjs/modals/PromoteDashModal.d.ts.map +1 -1
  42. package/dist/cjs/modals/PromoteDashModal.js +10 -3
  43. package/dist/cjs/modals/ReorderDashboardModal.d.ts.map +1 -1
  44. package/dist/cjs/modals/ReorderDashboardModal.js +42 -45
  45. package/dist/cjs/modals/index.d.ts +0 -1
  46. package/dist/cjs/modals/index.d.ts.map +1 -1
  47. package/dist/cjs/modals/index.js +1 -3
  48. package/dist/cjs/primitives/ButtonPrimitive.d.ts +3 -1
  49. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  50. package/dist/cjs/primitives/ButtonPrimitive.js +5 -3
  51. package/dist/cjs/primitives/TogglePrimitive.js +5 -5
  52. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  53. package/dist/cjs/public_components/CreateEnvironment.js +1 -1
  54. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  55. package/dist/cjs/public_components/DashboardBuilder.js +41 -6
  56. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  57. package/dist/cjs/public_components/DashboardManager.js +47 -83
  58. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  59. package/dist/cjs/public_components/SQLViewManager.js +69 -20
  60. package/dist/cjs/utils/schema.d.ts +6 -0
  61. package/dist/cjs/utils/schema.d.ts.map +1 -1
  62. package/dist/cjs/utils/table.d.ts +1 -0
  63. package/dist/cjs/utils/table.d.ts.map +1 -1
  64. package/dist/cjs/utils/table.js +13 -0
  65. package/dist/cjs/utils/textProcessing.d.ts +2 -0
  66. package/dist/cjs/utils/textProcessing.d.ts.map +1 -0
  67. package/dist/cjs/utils/textProcessing.js +9 -0
  68. package/dist/esm/Admin.d.ts +19 -72
  69. package/dist/esm/Admin.d.ts.map +1 -1
  70. package/dist/esm/Admin.js +203 -987
  71. package/dist/esm/AdminProvider.d.ts +0 -11
  72. package/dist/esm/AdminProvider.d.ts.map +1 -1
  73. package/dist/esm/AdminProvider.js +16 -10
  74. package/dist/esm/api/ConnectionClient.d.ts +11 -0
  75. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  76. package/dist/esm/api/ConnectionClient.js +69 -9
  77. package/dist/esm/components/DropDownMenu.js +1 -1
  78. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  79. package/dist/esm/components/DropDownMenuWithLabel.js +16 -54
  80. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  81. package/dist/esm/components/OrgSelect.js +6 -19
  82. package/dist/esm/components/QuillSelect.d.ts +3 -0
  83. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  84. package/dist/esm/components/QuillSelect.js +130 -0
  85. package/dist/esm/components/SegmentedControl.d.ts +7 -0
  86. package/dist/esm/components/SegmentedControl.d.ts.map +1 -0
  87. package/dist/esm/components/SegmentedControl.js +50 -0
  88. package/dist/esm/components/UiComponents.d.ts +18 -30
  89. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  90. package/dist/esm/components/UiComponents.js +36 -83
  91. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +2 -1
  92. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  93. package/dist/esm/forms/client_onboard/ConnectSchema.js +145 -70
  94. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  95. package/dist/esm/forms/client_onboard/CreateSqlViews.js +40 -11
  96. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +7 -4
  97. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  98. package/dist/esm/forms/sql_views/CreateEditSqlView.js +29 -26
  99. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  100. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  101. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  102. package/dist/esm/modals/EditFiltersModal.d.ts +17 -0
  103. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -0
  104. package/dist/esm/modals/EditFiltersModal.js +338 -0
  105. package/dist/esm/modals/NewDashboardModal.d.ts +1 -3
  106. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  107. package/dist/esm/modals/NewDashboardModal.js +62 -45
  108. package/dist/esm/modals/PromoteDashModal.d.ts.map +1 -1
  109. package/dist/esm/modals/PromoteDashModal.js +10 -3
  110. package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
  111. package/dist/esm/modals/ReorderDashboardModal.js +43 -46
  112. package/dist/esm/modals/index.d.ts +0 -1
  113. package/dist/esm/modals/index.d.ts.map +1 -1
  114. package/dist/esm/modals/index.js +0 -1
  115. package/dist/esm/primitives/ButtonPrimitive.d.ts +3 -1
  116. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  117. package/dist/esm/primitives/ButtonPrimitive.js +5 -3
  118. package/dist/esm/primitives/TogglePrimitive.js +5 -5
  119. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  120. package/dist/esm/public_components/CreateEnvironment.js +1 -1
  121. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  122. package/dist/esm/public_components/DashboardBuilder.js +41 -6
  123. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  124. package/dist/esm/public_components/DashboardManager.js +49 -85
  125. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  126. package/dist/esm/public_components/SQLViewManager.js +69 -20
  127. package/dist/esm/utils/schema.d.ts +6 -0
  128. package/dist/esm/utils/schema.d.ts.map +1 -1
  129. package/dist/esm/utils/table.d.ts +1 -0
  130. package/dist/esm/utils/table.d.ts.map +1 -1
  131. package/dist/esm/utils/table.js +11 -1
  132. package/dist/esm/utils/textProcessing.d.ts +2 -0
  133. package/dist/esm/utils/textProcessing.d.ts.map +1 -0
  134. package/dist/esm/utils/textProcessing.js +5 -0
  135. package/package.json +1 -1
  136. package/dist/cjs/modals/EditDashboardsModal.d.ts +0 -20
  137. package/dist/cjs/modals/EditDashboardsModal.d.ts.map +0 -1
  138. package/dist/cjs/modals/EditDashboardsModal.js +0 -94
  139. package/dist/esm/modals/EditDashboardsModal.d.ts +0 -20
  140. package/dist/esm/modals/EditDashboardsModal.d.ts.map +0 -1
  141. package/dist/esm/modals/EditDashboardsModal.js +0 -91
@@ -29,6 +29,7 @@ function SQLViewManager({ containerStyle, }) {
29
29
  const [deleteModalIsOpen, setDeleteModalIsOpen] = (0, react_1.useState)(false);
30
30
  const [isPromoteViewModalOpen, setIsPromoteViewModalOpen] = (0, react_1.useState)(false);
31
31
  const [allTableData, setAllTableData] = (0, react_1.useState)([]);
32
+ const [referencedTablesMap, setReferencedTablesMap] = (0, react_1.useState)({});
32
33
  const [schemaIsLoading, setSchemaIsLoading] = (0, react_1.useState)(false);
33
34
  const [initialSqlView, setInitialSqlView] = (0, react_1.useState)(undefined);
34
35
  const parentRef = (0, react_1.useRef)(null);
@@ -77,26 +78,51 @@ function SQLViewManager({ containerStyle, }) {
77
78
  setAllTableData(response);
78
79
  setSchemaIsLoading(false);
79
80
  };
81
+ const getReferencedTablesMap = async () => {
82
+ const response = await fetch(`${state.queryEndpoint}`, {
83
+ method: 'POST',
84
+ headers: {
85
+ ...state.queryHeaders,
86
+ 'Content-Type': 'application/json',
87
+ },
88
+ body: JSON.stringify({
89
+ metadata: {
90
+ clientId: state.client._id,
91
+ publicKey: state.client._id,
92
+ task: 'referenced-tables-map',
93
+ databaseType: state.client.databaseType,
94
+ },
95
+ }),
96
+ });
97
+ if (!response.ok) {
98
+ throw new Error('Failed to fetch tables data');
99
+ }
100
+ const data = await response.json();
101
+ setReferencedTablesMap(data.data.referencedTablesMap);
102
+ };
80
103
  (0, react_1.useEffect)(() => {
81
104
  let isSubscribed = true;
82
105
  if (isSubscribed && state.client) {
83
106
  getTables();
84
107
  getSchemaTableDetails();
108
+ getReferencedTablesMap();
85
109
  }
86
110
  return () => {
87
111
  isSubscribed = false;
88
112
  };
89
113
  }, [state.client]);
90
- const handleClickFirstDelete = () => {
91
- setTableToBeDeleted(editName);
92
- setDeleteModalIsOpen(true);
93
- };
94
- const handleModalSubmit = async (submitRequest, query, name, id) => {
114
+ const handleModalSubmit = async (submitRequest, query, name, id, columns) => {
95
115
  try {
116
+ const prevTableName = tables?.find((table) => table._id === id)?.name;
117
+ const isPlural = referencedTablesMap &&
118
+ referencedTablesMap[prevTableName] &&
119
+ referencedTablesMap[prevTableName].length > 1
120
+ ? 's'
121
+ : '';
96
122
  switch (submitRequest) {
97
123
  case 'add':
98
124
  if (!name) {
99
- alert('No Name found');
125
+ alert('No name found');
100
126
  return;
101
127
  }
102
128
  if (tables?.map((table) => table.name).includes(name)) {
@@ -113,8 +139,34 @@ function SQLViewManager({ containerStyle, }) {
113
139
  if (!id) {
114
140
  return;
115
141
  }
142
+ if (referencedTablesMap && referencedTablesMap[prevTableName]) {
143
+ // This condition is for only query edits
144
+ if (editQueryView) {
145
+ const errorColumns = [];
146
+ referencedTablesMap[prevTableName] = referencedTablesMap[prevTableName].forEach((table) => {
147
+ table.referencedColumns.forEach((column) => {
148
+ if (!columns?.find((col) => {
149
+ return col.field === column;
150
+ })) {
151
+ errorColumns.push(`'${column}' referenced by ${table.dashboardName} - ${table.reportName}`);
152
+ }
153
+ });
154
+ });
155
+ if (errorColumns.length > 0) {
156
+ alert(`Edit Error\n\n${errorColumns.join('\n')} \n\nPlease modify your query to include these columns.`);
157
+ return;
158
+ }
159
+ }
160
+ else {
161
+ const referencedTableInfo = referencedTablesMap[prevTableName].map((info) => {
162
+ return `${info.dashboardName} - ${info.reportName}`;
163
+ });
164
+ alert(`Edit Error\n\n${referencedTableInfo.join('\n')} \n\nPlease delete those charts before renaming this table.`);
165
+ return;
166
+ }
167
+ }
116
168
  if (!name) {
117
- alert('No id found');
169
+ alert('No name found');
118
170
  return;
119
171
  }
120
172
  if (!/^[a-z0-9_]+$/.test(name)) {
@@ -136,6 +188,11 @@ function SQLViewManager({ containerStyle, }) {
136
188
  alert('No id found');
137
189
  return;
138
190
  }
191
+ // Determine if the table is referenced in other charts
192
+ if (referencedTablesMap && referencedTablesMap[prevTableName]) {
193
+ alert(`This table is referenced in the following dashboard${isPlural}/chart${isPlural}.\n\n${referencedTablesMap[prevTableName]?.join('\n')} \n\nPlease delete those charts before deleting this table.`);
194
+ return;
195
+ }
139
196
  await (0, dataEditor_1.deleteSQLView)(id, state);
140
197
  break;
141
198
  default:
@@ -153,18 +210,10 @@ function SQLViewManager({ containerStyle, }) {
153
210
  console.error(e);
154
211
  }
155
212
  };
156
- const handleEditAddView = async (request, query, name, id) => {
213
+ const handleEditAddView = async (request, query, name, id, columns) => {
157
214
  switch (request) {
158
215
  case 'edit':
159
- if (!name) {
160
- alert('No name found');
161
- return;
162
- }
163
- if (!id) {
164
- alert('No id found');
165
- return;
166
- }
167
- await handleModalSubmit('edit', query, name, id);
216
+ await handleModalSubmit('edit', query, name, id, columns);
168
217
  break;
169
218
  default:
170
219
  await handleModalSubmit('final-edit', query);
@@ -200,7 +249,7 @@ function SQLViewManager({ containerStyle, }) {
200
249
  borderLeftWidth: 0,
201
250
  borderRightWidth: 0,
202
251
  borderStyle: 'solid',
203
- borderColor: state.theme.borderColor,
252
+ borderColor: state.theme?.borderColor,
204
253
  paddingBottom: 20,
205
254
  // boxShadow: "0px 1px 4px 0px rgba(0, 0, 0, 0.07)",
206
255
  // paddingRight: '50px',
@@ -236,8 +285,8 @@ function SQLViewManager({ containerStyle, }) {
236
285
  paddingTop: 25,
237
286
  }, children: tables && tables?.length
238
287
  ? tables.map((table) => ((0, jsx_runtime_1.jsx)(Admin_1.TableCell, { table: table, clickTableCell: clickTableCell }, table._id)))
239
- : null }, 'edit-view-query')) : ((0, jsx_runtime_1.jsx)(CreateEditSqlView_1.default, { containerStyle: {}, initialSqlView: initialSqlView, closeEditView: () => setEditQueryView(false), addEditView: (request, name, query, id) => {
240
- handleEditAddView(request, name, query, id);
288
+ : null }, 'edit-view-query')) : ((0, jsx_runtime_1.jsx)(CreateEditSqlView_1.default, { containerStyle: {}, initialSqlView: initialSqlView, closeEditView: () => setEditQueryView(false), addEditView: (request, name, query, id, columns) => {
289
+ handleEditAddView(request, name, query, id, columns);
241
290
  }, allTableData: allTableData, schemaIsLoading: schemaIsLoading })) }))] }), (0, jsx_runtime_1.jsx)(EditAddViewModal, { viewName: editName, viewQuery: editViewQuery, viewId: editViewId, editModalIsOpen: editModalIsOpen, closeEditModal: closeEditModal, submit: handleModalSubmit, state: state, onEditViewClick: () => setEditQueryView(true) })] }));
242
291
  }
243
292
  exports.default = SQLViewManager;
@@ -7,6 +7,11 @@ export interface SchemaDetails {
7
7
  name: string;
8
8
  }[];
9
9
  foreignKeys?: string[];
10
+ customQueryFKs?: string[];
11
+ customQueryOrganizations?: {
12
+ id: any;
13
+ name: string;
14
+ }[];
10
15
  selectedFields: {
11
16
  schema: string;
12
17
  table?: string;
@@ -17,6 +22,7 @@ export interface SchemaDetails {
17
22
  name: string;
18
23
  };
19
24
  foreignKey?: string;
25
+ customerView?: string;
20
26
  };
21
27
  }
22
28
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wBAAwB,CAAC,EAAE;QAAE,EAAE,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,cAAc,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
@@ -15,4 +15,5 @@ export interface Column {
15
15
  displayName: string;
16
16
  fieldType: string;
17
17
  }
18
+ export declare const hasColumnAlias: (columns: Column[], referencedColumns: string[]) => boolean;
18
19
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/utils/table.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/utils/table.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,YAChB,MAAM,EAAE,qBACE,MAAM,EAAE,KAC1B,OAUF,CAAC"}
@@ -1,2 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasColumnAlias = void 0;
4
+ const hasColumnAlias = (columns, referencedColumns) => {
5
+ if (!referencedColumns) {
6
+ return true;
7
+ }
8
+ for (const column of columns) {
9
+ if (!referencedColumns.includes(column.field)) {
10
+ return true;
11
+ }
12
+ }
13
+ return false;
14
+ };
15
+ exports.hasColumnAlias = hasColumnAlias;
@@ -0,0 +1,2 @@
1
+ export declare function wrapInQuotes(str?: string, willWrap?: boolean): string;
2
+ //# sourceMappingURL=textProcessing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/textProcessing.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,CAGnE"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapInQuotes = void 0;
4
+ function wrapInQuotes(str, willWrap = false) {
5
+ if (!willWrap)
6
+ return str || '';
7
+ return `"${str}"`;
8
+ }
9
+ exports.wrapInQuotes = wrapInQuotes;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { TextInputComponentProps } from './components/UiComponents';
2
3
  export interface QuillTheme {
3
4
  fontFamily: string;
4
5
  backgroundColor: string;
@@ -15,6 +16,7 @@ export interface QuillTheme {
15
16
  labelFontWeight?: number;
16
17
  fontSize?: number;
17
18
  primaryButtonTextColor?: string;
19
+ hoverBackgroundColor?: string;
18
20
  }
19
21
  interface QuillOption {
20
22
  value: string;
@@ -28,12 +30,7 @@ interface SelectComponentProps {
28
30
  interface ButtonComponentProps {
29
31
  onClick: () => void;
30
32
  label: string;
31
- }
32
- interface TextInputComponentProps {
33
- onChange: () => void;
34
- value: string;
35
- placeholder?: string;
36
- theme?: QuillTheme;
33
+ disabled?: boolean;
37
34
  }
38
35
  interface HeaderComponentProps {
39
36
  label: string;
@@ -70,39 +67,21 @@ interface WithQueryEndpoint extends BaseQuillAdminProps {
70
67
  withCredentials?: boolean;
71
68
  }
72
69
  type QuillAdminProps = WithOrganizationId | WithQueryEndpoint;
73
- export declare function EditFiltersModal({ isOpen, dashboardData, selectedDashboard, client, setIsOpen, onSave, ModalComponent, TextInputComponent, ButtonComponent, HeaderComponent, SelectComponent, dashNames, setSelectedEditDashboard, SecondaryButtonComponent, openAddFilterModal, openEditOrderModal, }: {
74
- isOpen: boolean;
75
- dashboardData: any;
76
- selectedDashboard: any;
77
- client: any;
78
- setIsOpen: any;
79
- onSave: any;
80
- filters: any;
81
- dateFilter: any;
82
- openAddFilterModal: any;
83
- openEditOrderModal: any;
84
- ModalComponent: any;
85
- TextInputComponent: any;
86
- ButtonComponent: any;
87
- HeaderComponent: any;
88
- SelectComponent: any;
89
- selectedEditDashboard: any;
90
- dashNames: any;
91
- setSelectedEditDashboard: any;
92
- SecondaryButtonComponent: any;
93
- }): import("react/jsx-runtime").JSX.Element;
94
- export declare function AddFilterModal({ isOpen, selectedDashboard, client, setIsOpen, ModalComponent, TextInputComponent, SelectComponent, HeaderComponent, ButtonComponent, openAddDashboardModal, }: {
95
- isOpen: any;
96
- selectedDashboard: any;
97
- client: any;
98
- setIsOpen: any;
99
- ModalComponent: any;
100
- TextInputComponent: any;
101
- SelectComponent: any;
102
- HeaderComponent: any;
103
- ButtonComponent: any;
104
- openAddDashboardModal: any;
105
- }): import("react/jsx-runtime").JSX.Element | null;
70
+ export declare const defaultTheme: {
71
+ fontFamily: string;
72
+ backgroundColor: string;
73
+ primaryTextColor: string;
74
+ secondaryTextColor: string;
75
+ chartLabelFontFamily: string;
76
+ chartLabelColor: string;
77
+ chartTickColor: string;
78
+ chartColors: string[];
79
+ borderColor: string;
80
+ primaryButtonColor: string;
81
+ borderWidth: number;
82
+ labelFontWeight: number;
83
+ fontSize: number;
84
+ };
106
85
  export default function Portal({ publicKey, queryEndpoint, theme, queryHeaders, withCredentials, environment, organizationId, TextInputComponent, ButtonComponent, SecondaryButtonComponent, ModalComponent, SelectComponent, OrganizationSelectComponent, UserManagementComponent, HeaderComponent, }: QuillAdminProps): import("react/jsx-runtime").JSX.Element;
107
86
  export declare const theme: QuillTheme;
108
87
  export declare function convertPostgresColumn(column: any): {
@@ -111,34 +90,10 @@ export declare function convertPostgresColumn(column: any): {
111
90
  format: string;
112
91
  };
113
92
  export declare function getPostgresBasicType(column: any): string | undefined;
114
- export declare function classNames(...classes: any[]): string;
115
- export declare function AddDashboardModal({ selectedDashboard, isOpen, setIsOpen, client, ModalComponent, TextInputComponent, SelectComponent, HeaderComponent, ButtonComponent, dashNames, getDashNames, organizationId, }: {
116
- selectedDashboard: any;
117
- isOpen: any;
118
- setIsOpen: any;
119
- client: any;
120
- ModalComponent: any;
121
- TextInputComponent: any;
122
- SelectComponent: any;
123
- HeaderComponent: any;
124
- ButtonComponent: any;
125
- dashNames: any;
126
- getDashNames: any;
127
- organizationId: any;
128
- }): import("react/jsx-runtime").JSX.Element;
129
- export declare function TableCell({ table, clickTableCell }: {
93
+ export declare function TableCell({ table, clickTableCell, }: {
130
94
  table: any;
131
95
  clickTableCell: any;
132
96
  }): import("react/jsx-runtime").JSX.Element;
133
- export declare function defineEditorTheme(monaco: any, theme: any): void;
134
- export declare function setEditorTheme(editor: any, monaco: any): void;
135
- export declare function isValidDate(d: any): boolean;
136
- export declare const isArrayOfValidDates: (arr: any, field: any) => any;
137
- export declare function formatDateBuckets(startDate: any, endDate: any): {
138
- unit: string;
139
- format: string;
140
- startOf: any;
141
- };
142
97
  export declare function ReportWrapper({ SecondaryButtonComponent, ButtonComponent, ModalComponent, SelectComponent, OrganizationSelectComponent, organizationId, queryEndpoint, queryHeaders, withCredentials, isOpen, setIsOpen, reloadDashboard, }: {
143
98
  SecondaryButtonComponent: any;
144
99
  ButtonComponent: any;
@@ -153,13 +108,5 @@ export declare function ReportWrapper({ SecondaryButtonComponent, ButtonComponen
153
108
  setIsOpen: any;
154
109
  reloadDashboard: any;
155
110
  }): import("react/jsx-runtime").JSX.Element;
156
- export declare function ReorderableList({ initialItems, client, itemMap, ButtonComponent, closeModal, onSave, }: {
157
- initialItems: any;
158
- client: any;
159
- itemMap: any;
160
- ButtonComponent: any;
161
- closeModal: any;
162
- onSave: any;
163
- }): import("react/jsx-runtime").JSX.Element;
164
111
  export {};
165
112
  //# sourceMappingURL=Admin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Admin.d.ts","sourceRoot":"","sources":["../../src/Admin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Admin.d.ts","sourceRoot":"","sources":["../../src/Admin.tsx"],"names":[],"mappings":"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"}