@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.
- package/dist/cjs/Admin.d.ts +23 -73
- package/dist/cjs/Admin.d.ts.map +1 -1
- package/dist/cjs/Admin.js +221 -970
- package/dist/cjs/AdminProvider.d.ts +1 -12
- package/dist/cjs/AdminProvider.d.ts.map +1 -1
- package/dist/cjs/AdminProvider.js +24 -18
- package/dist/cjs/api/ConnectionClient.d.ts +11 -0
- package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
- package/dist/cjs/api/ConnectionClient.js +84 -10
- package/dist/cjs/components/DropDownMenu.js +1 -1
- package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/cjs/components/DropDownMenuWithLabel.js +16 -54
- package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
- package/dist/cjs/components/OrgSelect.js +10 -20
- package/dist/cjs/components/QuillSelect.d.ts +3 -0
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -0
- package/dist/cjs/components/QuillSelect.js +137 -0
- package/dist/cjs/components/SegmentedControl.d.ts +7 -0
- package/dist/cjs/components/SegmentedControl.d.ts.map +1 -0
- package/dist/cjs/components/SegmentedControl.js +54 -0
- package/dist/cjs/components/UiComponents.d.ts +18 -29
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +40 -83
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +2 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.js +143 -68
- package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/CreateSqlViews.js +40 -11
- package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +7 -4
- package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
- package/dist/cjs/forms/sql_views/CreateEditSqlView.js +36 -20
- package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -0
- package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -0
- package/dist/cjs/hooks/useOnClickOutside.js +20 -0
- package/dist/cjs/modals/EditFiltersModal.d.ts +17 -0
- package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -0
- package/dist/cjs/modals/EditFiltersModal.js +345 -0
- package/dist/cjs/modals/NewDashboardModal.d.ts +1 -3
- package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
- package/dist/cjs/modals/NewDashboardModal.js +63 -46
- package/dist/cjs/modals/PromoteDashModal.d.ts.map +1 -1
- package/dist/cjs/modals/PromoteDashModal.js +10 -3
- package/dist/cjs/modals/ReorderDashboardModal.d.ts.map +1 -1
- package/dist/cjs/modals/ReorderDashboardModal.js +202 -90
- package/dist/cjs/modals/index.d.ts +0 -1
- package/dist/cjs/modals/index.d.ts.map +1 -1
- package/dist/cjs/modals/index.js +1 -3
- package/dist/cjs/primitives/ButtonPrimitive.d.ts +3 -1
- package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/ButtonPrimitive.js +5 -3
- package/dist/cjs/primitives/ModalPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/ModalPrimitive.js +1 -2
- package/dist/cjs/primitives/TogglePrimitive.js +5 -5
- package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/cjs/public_components/CreateEnvironment.js +1 -1
- package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardBuilder.js +127 -30
- package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardManager.js +161 -193
- package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/cjs/public_components/SQLViewManager.js +92 -24
- package/dist/cjs/utils/constants.d.ts +4 -4
- package/dist/cjs/utils/constants.js +2 -2
- package/dist/cjs/utils/schema.d.ts +6 -0
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/table.d.ts +1 -0
- package/dist/cjs/utils/table.d.ts.map +1 -1
- package/dist/cjs/utils/table.js +13 -0
- package/dist/cjs/utils/textProcessing.d.ts +2 -0
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -0
- package/dist/cjs/utils/textProcessing.js +9 -0
- package/dist/esm/Admin.d.ts +23 -73
- package/dist/esm/Admin.d.ts.map +1 -1
- package/dist/esm/Admin.js +225 -964
- package/dist/esm/AdminProvider.d.ts +1 -12
- package/dist/esm/AdminProvider.d.ts.map +1 -1
- package/dist/esm/AdminProvider.js +25 -19
- package/dist/esm/api/ConnectionClient.d.ts +11 -0
- package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
- package/dist/esm/api/ConnectionClient.js +82 -9
- package/dist/esm/components/DropDownMenu.js +1 -1
- package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/esm/components/DropDownMenuWithLabel.js +16 -54
- package/dist/esm/components/OrgSelect.d.ts.map +1 -1
- package/dist/esm/components/OrgSelect.js +6 -19
- package/dist/esm/components/QuillSelect.d.ts +3 -0
- package/dist/esm/components/QuillSelect.d.ts.map +1 -0
- package/dist/esm/components/QuillSelect.js +130 -0
- package/dist/esm/components/SegmentedControl.d.ts +7 -0
- package/dist/esm/components/SegmentedControl.d.ts.map +1 -0
- package/dist/esm/components/SegmentedControl.js +50 -0
- package/dist/esm/components/UiComponents.d.ts +18 -29
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +37 -82
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +2 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.js +145 -70
- package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/CreateSqlViews.js +41 -12
- package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +7 -4
- package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
- package/dist/esm/forms/sql_views/CreateEditSqlView.js +38 -22
- package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
- package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
- package/dist/esm/hooks/useOnClickOutside.js +18 -0
- package/dist/esm/modals/EditFiltersModal.d.ts +17 -0
- package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -0
- package/dist/esm/modals/EditFiltersModal.js +338 -0
- package/dist/esm/modals/NewDashboardModal.d.ts +1 -3
- package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
- package/dist/esm/modals/NewDashboardModal.js +63 -46
- package/dist/esm/modals/PromoteDashModal.d.ts.map +1 -1
- package/dist/esm/modals/PromoteDashModal.js +10 -3
- package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
- package/dist/esm/modals/ReorderDashboardModal.js +201 -89
- package/dist/esm/modals/index.d.ts +0 -1
- package/dist/esm/modals/index.d.ts.map +1 -1
- package/dist/esm/modals/index.js +0 -1
- package/dist/esm/primitives/ButtonPrimitive.d.ts +3 -1
- package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/ButtonPrimitive.js +5 -3
- package/dist/esm/primitives/ModalPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/ModalPrimitive.js +1 -2
- package/dist/esm/primitives/TogglePrimitive.js +5 -5
- package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/esm/public_components/CreateEnvironment.js +1 -1
- package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardBuilder.js +128 -31
- package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardManager.js +163 -195
- package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/esm/public_components/SQLViewManager.js +92 -24
- package/dist/esm/utils/constants.d.ts +4 -4
- package/dist/esm/utils/constants.js +2 -2
- package/dist/esm/utils/schema.d.ts +6 -0
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/table.d.ts +1 -0
- package/dist/esm/utils/table.d.ts.map +1 -1
- package/dist/esm/utils/table.js +11 -1
- package/dist/esm/utils/textProcessing.d.ts +2 -0
- package/dist/esm/utils/textProcessing.d.ts.map +1 -0
- package/dist/esm/utils/textProcessing.js +5 -0
- package/package.json +1 -1
- package/dist/cjs/modals/EditDashboardsModal.d.ts +0 -20
- package/dist/cjs/modals/EditDashboardsModal.d.ts.map +0 -1
- package/dist/cjs/modals/EditDashboardsModal.js +0 -94
- package/dist/esm/modals/EditDashboardsModal.d.ts +0 -20
- package/dist/esm/modals/EditDashboardsModal.d.ts.map +0 -1
- 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
|
|
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
|
|
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
|
|
169
|
+
alert('No name found');
|
|
107
170
|
return;
|
|
108
171
|
}
|
|
109
|
-
if (
|
|
110
|
-
alert('
|
|
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
|
-
|
|
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
|
|
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: "
|
|
12
|
-
readonly label: "
|
|
11
|
+
readonly value: "THIS_MONTH";
|
|
12
|
+
readonly label: "This Month";
|
|
13
13
|
}, {
|
|
14
|
-
readonly value: "
|
|
15
|
-
readonly label: "
|
|
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: '
|
|
11
|
-
{ value: '
|
|
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;
|
|
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"}
|
|
@@ -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"}
|
package/dist/cjs/utils/table.js
CHANGED
|
@@ -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 @@
|
|
|
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"}
|
package/dist/esm/Admin.d.ts
CHANGED
|
@@ -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
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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
|
package/dist/esm/Admin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Admin.d.ts","sourceRoot":"","sources":["../../src/Admin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Admin.d.ts","sourceRoot":"","sources":["../../src/Admin.tsx"],"names":[],"mappings":"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"}
|