@quillsql/admin 1.4.0 → 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 (149) hide show
  1. package/dist/cjs/Admin.d.ts +23 -73
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +221 -970
  4. package/dist/cjs/AdminProvider.d.ts +1 -12
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +24 -18
  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 +84 -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 -29
  22. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  23. package/dist/cjs/components/UiComponents.js +40 -83
  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 +40 -11
  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 +36 -20
  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 +63 -46
  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 +202 -90
  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/ModalPrimitive.d.ts.map +1 -1
  52. package/dist/cjs/primitives/ModalPrimitive.js +1 -2
  53. package/dist/cjs/primitives/TogglePrimitive.js +5 -5
  54. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  55. package/dist/cjs/public_components/CreateEnvironment.js +1 -1
  56. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
  57. package/dist/cjs/public_components/DashboardBuilder.js +127 -30
  58. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  59. package/dist/cjs/public_components/DashboardManager.js +161 -193
  60. package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
  61. package/dist/cjs/public_components/SQLViewManager.js +92 -24
  62. package/dist/cjs/utils/constants.d.ts +4 -4
  63. package/dist/cjs/utils/constants.js +2 -2
  64. package/dist/cjs/utils/schema.d.ts +6 -0
  65. package/dist/cjs/utils/schema.d.ts.map +1 -1
  66. package/dist/cjs/utils/table.d.ts +1 -0
  67. package/dist/cjs/utils/table.d.ts.map +1 -1
  68. package/dist/cjs/utils/table.js +13 -0
  69. package/dist/cjs/utils/textProcessing.d.ts +2 -0
  70. package/dist/cjs/utils/textProcessing.d.ts.map +1 -0
  71. package/dist/cjs/utils/textProcessing.js +9 -0
  72. package/dist/esm/Admin.d.ts +23 -73
  73. package/dist/esm/Admin.d.ts.map +1 -1
  74. package/dist/esm/Admin.js +225 -964
  75. package/dist/esm/AdminProvider.d.ts +1 -12
  76. package/dist/esm/AdminProvider.d.ts.map +1 -1
  77. package/dist/esm/AdminProvider.js +25 -19
  78. package/dist/esm/api/ConnectionClient.d.ts +11 -0
  79. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  80. package/dist/esm/api/ConnectionClient.js +82 -9
  81. package/dist/esm/components/DropDownMenu.js +1 -1
  82. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  83. package/dist/esm/components/DropDownMenuWithLabel.js +16 -54
  84. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  85. package/dist/esm/components/OrgSelect.js +6 -19
  86. package/dist/esm/components/QuillSelect.d.ts +3 -0
  87. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  88. package/dist/esm/components/QuillSelect.js +130 -0
  89. package/dist/esm/components/SegmentedControl.d.ts +7 -0
  90. package/dist/esm/components/SegmentedControl.d.ts.map +1 -0
  91. package/dist/esm/components/SegmentedControl.js +50 -0
  92. package/dist/esm/components/UiComponents.d.ts +18 -29
  93. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  94. package/dist/esm/components/UiComponents.js +37 -82
  95. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +2 -1
  96. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  97. package/dist/esm/forms/client_onboard/ConnectSchema.js +145 -70
  98. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
  99. package/dist/esm/forms/client_onboard/CreateSqlViews.js +41 -12
  100. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +7 -4
  101. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
  102. package/dist/esm/forms/sql_views/CreateEditSqlView.js +38 -22
  103. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  104. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  105. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  106. package/dist/esm/modals/EditFiltersModal.d.ts +17 -0
  107. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -0
  108. package/dist/esm/modals/EditFiltersModal.js +338 -0
  109. package/dist/esm/modals/NewDashboardModal.d.ts +1 -3
  110. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  111. package/dist/esm/modals/NewDashboardModal.js +63 -46
  112. package/dist/esm/modals/PromoteDashModal.d.ts.map +1 -1
  113. package/dist/esm/modals/PromoteDashModal.js +10 -3
  114. package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
  115. package/dist/esm/modals/ReorderDashboardModal.js +201 -89
  116. package/dist/esm/modals/index.d.ts +0 -1
  117. package/dist/esm/modals/index.d.ts.map +1 -1
  118. package/dist/esm/modals/index.js +0 -1
  119. package/dist/esm/primitives/ButtonPrimitive.d.ts +3 -1
  120. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  121. package/dist/esm/primitives/ButtonPrimitive.js +5 -3
  122. package/dist/esm/primitives/ModalPrimitive.d.ts.map +1 -1
  123. package/dist/esm/primitives/ModalPrimitive.js +1 -2
  124. package/dist/esm/primitives/TogglePrimitive.js +5 -5
  125. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  126. package/dist/esm/public_components/CreateEnvironment.js +1 -1
  127. package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
  128. package/dist/esm/public_components/DashboardBuilder.js +128 -31
  129. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  130. package/dist/esm/public_components/DashboardManager.js +163 -195
  131. package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
  132. package/dist/esm/public_components/SQLViewManager.js +92 -24
  133. package/dist/esm/utils/constants.d.ts +4 -4
  134. package/dist/esm/utils/constants.js +2 -2
  135. package/dist/esm/utils/schema.d.ts +6 -0
  136. package/dist/esm/utils/schema.d.ts.map +1 -1
  137. package/dist/esm/utils/table.d.ts +1 -0
  138. package/dist/esm/utils/table.d.ts.map +1 -1
  139. package/dist/esm/utils/table.js +11 -1
  140. package/dist/esm/utils/textProcessing.d.ts +2 -0
  141. package/dist/esm/utils/textProcessing.d.ts.map +1 -0
  142. package/dist/esm/utils/textProcessing.js +5 -0
  143. package/package.json +1 -1
  144. package/dist/cjs/modals/EditDashboardsModal.d.ts +0 -20
  145. package/dist/cjs/modals/EditDashboardsModal.d.ts.map +0 -1
  146. package/dist/cjs/modals/EditDashboardsModal.js +0 -94
  147. package/dist/esm/modals/EditDashboardsModal.d.ts +0 -20
  148. package/dist/esm/modals/EditDashboardsModal.d.ts.map +0 -1
  149. 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,37 +78,107 @@ 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');
126
+ return;
127
+ }
128
+ if (tables?.map((table) => table.name).includes(name)) {
129
+ alert('Name already exists');
130
+ return;
131
+ }
132
+ if (!/^[a-z0-9_]+$/.test(name)) {
133
+ alert('Name must be lowercase with no spaces');
100
134
  return;
101
135
  }
102
136
  await (0, dataEditor_1.addSqlView)(name, query, state);
103
137
  break;
104
138
  case 'edit':
139
+ if (!id) {
140
+ return;
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
+ }
105
168
  if (!name) {
106
- alert('No id found');
169
+ alert('No name found');
107
170
  return;
108
171
  }
109
- if (!id) {
110
- alert('No id found');
172
+ if (!/^[a-z0-9_]+$/.test(name)) {
173
+ alert('Names can only include lowercase letters, numbers, and underscores');
174
+ return;
175
+ }
176
+ // check if the tableName is present excluding the table with the same id
177
+ if (tables
178
+ ?.filter((table) => table._id !== id)
179
+ .map((table) => table.name)
180
+ .includes(name)) {
181
+ alert('Name already exists');
111
182
  return;
112
183
  }
113
184
  await (0, dataEditor_1.editSQLView)(name, query, id, state);
@@ -117,6 +188,11 @@ function SQLViewManager({ containerStyle, }) {
117
188
  alert('No id found');
118
189
  return;
119
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
+ }
120
196
  await (0, dataEditor_1.deleteSQLView)(id, state);
121
197
  break;
122
198
  default:
@@ -134,18 +210,10 @@ function SQLViewManager({ containerStyle, }) {
134
210
  console.error(e);
135
211
  }
136
212
  };
137
- const handleEditAddView = async (request, query, name, id) => {
213
+ const handleEditAddView = async (request, query, name, id, columns) => {
138
214
  switch (request) {
139
215
  case 'edit':
140
- if (!name) {
141
- alert('No name found');
142
- return;
143
- }
144
- if (!id) {
145
- alert('No id found');
146
- return;
147
- }
148
- await handleModalSubmit('edit', query, name, id);
216
+ await handleModalSubmit('edit', query, name, id, columns);
149
217
  break;
150
218
  default:
151
219
  await handleModalSubmit('final-edit', query);
@@ -160,7 +228,7 @@ function SQLViewManager({ containerStyle, }) {
160
228
  flexDirection: 'column',
161
229
  paddingTop: '0px',
162
230
  position: 'relative',
163
- }, ref: parentRef, children: [(0, jsx_runtime_1.jsx)("div", { style: {
231
+ }, ref: parentRef, children: [(state.databaseTypeMismatch.show || !editQueryView) && ((0, jsx_runtime_1.jsx)("div", { style: {
164
232
  // width: 'calc(100vw - 30px)',
165
233
  display: 'flex',
166
234
  position: 'sticky',
@@ -181,7 +249,7 @@ function SQLViewManager({ containerStyle, }) {
181
249
  borderLeftWidth: 0,
182
250
  borderRightWidth: 0,
183
251
  borderStyle: 'solid',
184
- borderColor: state.theme.borderColor,
252
+ borderColor: state.theme?.borderColor,
185
253
  paddingBottom: 20,
186
254
  // boxShadow: "0px 1px 4px 0px rgba(0, 0, 0, 0.07)",
187
255
  // paddingRight: '50px',
@@ -209,7 +277,7 @@ function SQLViewManager({ containerStyle, }) {
209
277
  setEditViewId('');
210
278
  setInitialSqlView(undefined);
211
279
  setEditQueryView(true);
212
- }, label: "Add view +" }))] }) }), 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)(jsx_runtime_1.Fragment, { children: !editQueryView ? ((0, jsx_runtime_1.jsx)("div", { style: {
280
+ }, label: "Add view +" }))] }) })), 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)(jsx_runtime_1.Fragment, { children: !editQueryView ? ((0, jsx_runtime_1.jsx)("div", { style: {
213
281
  display: 'flex',
214
282
  flexWrap: 'wrap',
215
283
  paddingLeft: 25,
@@ -217,8 +285,8 @@ function SQLViewManager({ containerStyle, }) {
217
285
  paddingTop: 25,
218
286
  }, children: tables && tables?.length
219
287
  ? tables.map((table) => ((0, jsx_runtime_1.jsx)(Admin_1.TableCell, { table: table, clickTableCell: clickTableCell }, table._id)))
220
- : null }, 'edit-view-query')) : ((0, jsx_runtime_1.jsx)(CreateEditSqlView_1.default, { containerStyle: {}, initialSqlView: initialSqlView, closeEditView: () => setEditQueryView(false), addEditView: (request, name, query, id) => {
221
- 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);
222
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) })] }));
223
291
  }
224
292
  exports.default = SQLViewManager;
@@ -8,11 +8,11 @@ export declare const InitialDateRangeOptions: readonly [{
8
8
  readonly value: "LAST_30_DAYS";
9
9
  readonly label: "Last 30 days";
10
10
  }, {
11
- readonly value: "CURRENT_MONTH";
12
- readonly label: "Current Month";
11
+ readonly value: "THIS_MONTH";
12
+ readonly label: "This Month";
13
13
  }, {
14
- readonly value: "CURRENT_WEEK";
15
- readonly label: "Current Week";
14
+ readonly value: "THIS_WEEK";
15
+ readonly label: "This Week";
16
16
  }, {
17
17
  readonly value: "ALL_TIME";
18
18
  readonly label: "All time";
@@ -7,8 +7,8 @@ exports.QUILL_SERVER = exports.defaultDateRange = exports.InitialDateRangeOption
7
7
  exports.InitialDateRangeOptions = [
8
8
  { value: 'LAST_90_DAYS', label: 'Last 90 days' },
9
9
  { value: 'LAST_30_DAYS', label: 'Last 30 days' },
10
- { value: 'CURRENT_MONTH', label: 'Current Month' },
11
- { value: 'CURRENT_WEEK', label: 'Current Week' },
10
+ { value: 'THIS_MONTH', label: 'This Month' },
11
+ { value: 'THIS_WEEK', label: 'This Week' },
12
12
  { value: 'ALL_TIME', label: 'All time' },
13
13
  ];
14
14
  exports.defaultDateRange = exports.InitialDateRangeOptions[0];
@@ -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,35 +90,11 @@ 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
- export declare function ReportWrapper({ SecondaryButtonComponent, ButtonComponent, ModalComponent, SelectComponent, OrganizationSelectComponent, organizationId, queryEndpoint, queryHeaders, withCredentials, }: {
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;
145
100
  ModalComponent: any;
@@ -149,14 +104,9 @@ export declare function ReportWrapper({ SecondaryButtonComponent, ButtonComponen
149
104
  queryEndpoint: any;
150
105
  queryHeaders: any;
151
106
  withCredentials: any;
152
- }): import("react/jsx-runtime").JSX.Element;
153
- export declare function ReorderableList({ initialItems, client, itemMap, ButtonComponent, closeModal, onSave, }: {
154
- initialItems: any;
155
- client: any;
156
- itemMap: any;
157
- ButtonComponent: any;
158
- closeModal: any;
159
- onSave: any;
107
+ isOpen: any;
108
+ setIsOpen: any;
109
+ reloadDashboard: any;
160
110
  }): import("react/jsx-runtime").JSX.Element;
161
111
  export {};
162
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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"}