@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
|
@@ -24,6 +24,7 @@ export default function SQLViewManager({ containerStyle, }) {
|
|
|
24
24
|
const [deleteModalIsOpen, setDeleteModalIsOpen] = useState(false);
|
|
25
25
|
const [isPromoteViewModalOpen, setIsPromoteViewModalOpen] = useState(false);
|
|
26
26
|
const [allTableData, setAllTableData] = useState([]);
|
|
27
|
+
const [referencedTablesMap, setReferencedTablesMap] = useState({});
|
|
27
28
|
const [schemaIsLoading, setSchemaIsLoading] = useState(false);
|
|
28
29
|
const [initialSqlView, setInitialSqlView] = useState(undefined);
|
|
29
30
|
const parentRef = useRef(null);
|
|
@@ -72,37 +73,107 @@ export default function SQLViewManager({ containerStyle, }) {
|
|
|
72
73
|
setAllTableData(response);
|
|
73
74
|
setSchemaIsLoading(false);
|
|
74
75
|
};
|
|
76
|
+
const getReferencedTablesMap = async () => {
|
|
77
|
+
const response = await fetch(`${state.queryEndpoint}`, {
|
|
78
|
+
method: 'POST',
|
|
79
|
+
headers: {
|
|
80
|
+
...state.queryHeaders,
|
|
81
|
+
'Content-Type': 'application/json',
|
|
82
|
+
},
|
|
83
|
+
body: JSON.stringify({
|
|
84
|
+
metadata: {
|
|
85
|
+
clientId: state.client._id,
|
|
86
|
+
publicKey: state.client._id,
|
|
87
|
+
task: 'referenced-tables-map',
|
|
88
|
+
databaseType: state.client.databaseType,
|
|
89
|
+
},
|
|
90
|
+
}),
|
|
91
|
+
});
|
|
92
|
+
if (!response.ok) {
|
|
93
|
+
throw new Error('Failed to fetch tables data');
|
|
94
|
+
}
|
|
95
|
+
const data = await response.json();
|
|
96
|
+
setReferencedTablesMap(data.data.referencedTablesMap);
|
|
97
|
+
};
|
|
75
98
|
useEffect(() => {
|
|
76
99
|
let isSubscribed = true;
|
|
77
100
|
if (isSubscribed && state.client) {
|
|
78
101
|
getTables();
|
|
79
102
|
getSchemaTableDetails();
|
|
103
|
+
getReferencedTablesMap();
|
|
80
104
|
}
|
|
81
105
|
return () => {
|
|
82
106
|
isSubscribed = false;
|
|
83
107
|
};
|
|
84
108
|
}, [state.client]);
|
|
85
|
-
const
|
|
86
|
-
setTableToBeDeleted(editName);
|
|
87
|
-
setDeleteModalIsOpen(true);
|
|
88
|
-
};
|
|
89
|
-
const handleModalSubmit = async (submitRequest, query, name, id) => {
|
|
109
|
+
const handleModalSubmit = async (submitRequest, query, name, id, columns) => {
|
|
90
110
|
try {
|
|
111
|
+
const prevTableName = tables?.find((table) => table._id === id)?.name;
|
|
112
|
+
const isPlural = referencedTablesMap &&
|
|
113
|
+
referencedTablesMap[prevTableName] &&
|
|
114
|
+
referencedTablesMap[prevTableName].length > 1
|
|
115
|
+
? 's'
|
|
116
|
+
: '';
|
|
91
117
|
switch (submitRequest) {
|
|
92
118
|
case 'add':
|
|
93
119
|
if (!name) {
|
|
94
|
-
alert('No
|
|
120
|
+
alert('No name found');
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (tables?.map((table) => table.name).includes(name)) {
|
|
124
|
+
alert('Name already exists');
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (!/^[a-z0-9_]+$/.test(name)) {
|
|
128
|
+
alert('Name must be lowercase with no spaces');
|
|
95
129
|
return;
|
|
96
130
|
}
|
|
97
131
|
await addSqlView(name, query, state);
|
|
98
132
|
break;
|
|
99
133
|
case 'edit':
|
|
134
|
+
if (!id) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (referencedTablesMap && referencedTablesMap[prevTableName]) {
|
|
138
|
+
// This condition is for only query edits
|
|
139
|
+
if (editQueryView) {
|
|
140
|
+
const errorColumns = [];
|
|
141
|
+
referencedTablesMap[prevTableName] = referencedTablesMap[prevTableName].forEach((table) => {
|
|
142
|
+
table.referencedColumns.forEach((column) => {
|
|
143
|
+
if (!columns?.find((col) => {
|
|
144
|
+
return col.field === column;
|
|
145
|
+
})) {
|
|
146
|
+
errorColumns.push(`'${column}' referenced by ${table.dashboardName} - ${table.reportName}`);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
if (errorColumns.length > 0) {
|
|
151
|
+
alert(`Edit Error\n\n${errorColumns.join('\n')} \n\nPlease modify your query to include these columns.`);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
const referencedTableInfo = referencedTablesMap[prevTableName].map((info) => {
|
|
157
|
+
return `${info.dashboardName} - ${info.reportName}`;
|
|
158
|
+
});
|
|
159
|
+
alert(`Edit Error\n\n${referencedTableInfo.join('\n')} \n\nPlease delete those charts before renaming this table.`);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
100
163
|
if (!name) {
|
|
101
|
-
alert('No
|
|
164
|
+
alert('No name found');
|
|
102
165
|
return;
|
|
103
166
|
}
|
|
104
|
-
if (
|
|
105
|
-
alert('
|
|
167
|
+
if (!/^[a-z0-9_]+$/.test(name)) {
|
|
168
|
+
alert('Names can only include lowercase letters, numbers, and underscores');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
// check if the tableName is present excluding the table with the same id
|
|
172
|
+
if (tables
|
|
173
|
+
?.filter((table) => table._id !== id)
|
|
174
|
+
.map((table) => table.name)
|
|
175
|
+
.includes(name)) {
|
|
176
|
+
alert('Name already exists');
|
|
106
177
|
return;
|
|
107
178
|
}
|
|
108
179
|
await editSQLView(name, query, id, state);
|
|
@@ -112,6 +183,11 @@ export default function SQLViewManager({ containerStyle, }) {
|
|
|
112
183
|
alert('No id found');
|
|
113
184
|
return;
|
|
114
185
|
}
|
|
186
|
+
// Determine if the table is referenced in other charts
|
|
187
|
+
if (referencedTablesMap && referencedTablesMap[prevTableName]) {
|
|
188
|
+
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.`);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
115
191
|
await deleteSQLView(id, state);
|
|
116
192
|
break;
|
|
117
193
|
default:
|
|
@@ -129,18 +205,10 @@ export default function SQLViewManager({ containerStyle, }) {
|
|
|
129
205
|
console.error(e);
|
|
130
206
|
}
|
|
131
207
|
};
|
|
132
|
-
const handleEditAddView = async (request, query, name, id) => {
|
|
208
|
+
const handleEditAddView = async (request, query, name, id, columns) => {
|
|
133
209
|
switch (request) {
|
|
134
210
|
case 'edit':
|
|
135
|
-
|
|
136
|
-
alert('No name found');
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
if (!id) {
|
|
140
|
-
alert('No id found');
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
await handleModalSubmit('edit', query, name, id);
|
|
211
|
+
await handleModalSubmit('edit', query, name, id, columns);
|
|
144
212
|
break;
|
|
145
213
|
default:
|
|
146
214
|
await handleModalSubmit('final-edit', query);
|
|
@@ -155,7 +223,7 @@ export default function SQLViewManager({ containerStyle, }) {
|
|
|
155
223
|
flexDirection: 'column',
|
|
156
224
|
paddingTop: '0px',
|
|
157
225
|
position: 'relative',
|
|
158
|
-
}, ref: parentRef, children: [_jsx("div", { style: {
|
|
226
|
+
}, ref: parentRef, children: [(state.databaseTypeMismatch.show || !editQueryView) && (_jsx("div", { style: {
|
|
159
227
|
// width: 'calc(100vw - 30px)',
|
|
160
228
|
display: 'flex',
|
|
161
229
|
position: 'sticky',
|
|
@@ -176,7 +244,7 @@ export default function SQLViewManager({ containerStyle, }) {
|
|
|
176
244
|
borderLeftWidth: 0,
|
|
177
245
|
borderRightWidth: 0,
|
|
178
246
|
borderStyle: 'solid',
|
|
179
|
-
borderColor: state.theme
|
|
247
|
+
borderColor: state.theme?.borderColor,
|
|
180
248
|
paddingBottom: 20,
|
|
181
249
|
// boxShadow: "0px 1px 4px 0px rgba(0, 0, 0, 0.07)",
|
|
182
250
|
// paddingRight: '50px',
|
|
@@ -204,7 +272,7 @@ export default function SQLViewManager({ containerStyle, }) {
|
|
|
204
272
|
setEditViewId('');
|
|
205
273
|
setInitialSqlView(undefined);
|
|
206
274
|
setEditQueryView(true);
|
|
207
|
-
}, label: "Add view +" }))] }) }), state.databaseTypeMismatch.show ? (_jsx(DatabaseMismatchCard, { environemntName: state.client.name, environemntDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : (_jsx(_Fragment, { children: !editQueryView ? (_jsx("div", { style: {
|
|
275
|
+
}, label: "Add view +" }))] }) })), state.databaseTypeMismatch.show ? (_jsx(DatabaseMismatchCard, { environemntName: state.client.name, environemntDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : (_jsx(_Fragment, { children: !editQueryView ? (_jsx("div", { style: {
|
|
208
276
|
display: 'flex',
|
|
209
277
|
flexWrap: 'wrap',
|
|
210
278
|
paddingLeft: 25,
|
|
@@ -212,8 +280,8 @@ export default function SQLViewManager({ containerStyle, }) {
|
|
|
212
280
|
paddingTop: 25,
|
|
213
281
|
}, children: tables && tables?.length
|
|
214
282
|
? tables.map((table) => (_jsx(TableCell, { table: table, clickTableCell: clickTableCell }, table._id)))
|
|
215
|
-
: null }, 'edit-view-query')) : (_jsx(CreateEditSqlView, { containerStyle: {}, initialSqlView: initialSqlView, closeEditView: () => setEditQueryView(false), addEditView: (request, name, query, id) => {
|
|
216
|
-
handleEditAddView(request, name, query, id);
|
|
283
|
+
: null }, 'edit-view-query')) : (_jsx(CreateEditSqlView, { containerStyle: {}, initialSqlView: initialSqlView, closeEditView: () => setEditQueryView(false), addEditView: (request, name, query, id, columns) => {
|
|
284
|
+
handleEditAddView(request, name, query, id, columns);
|
|
217
285
|
}, allTableData: allTableData, schemaIsLoading: schemaIsLoading })) }))] }), _jsx(EditAddViewModal, { viewName: editName, viewQuery: editViewQuery, viewId: editViewId, editModalIsOpen: editModalIsOpen, closeEditModal: closeEditModal, submit: handleModalSubmit, state: state, onEditViewClick: () => setEditQueryView(true) })] }));
|
|
218
286
|
}
|
|
219
287
|
function EditAddViewModal({ viewName, viewQuery, viewId, editModalIsOpen, closeEditModal, submit, state, onEditViewClick = () => { }, }) {
|
|
@@ -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";
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
export const InitialDateRangeOptions = [
|
|
5
5
|
{ value: 'LAST_90_DAYS', label: 'Last 90 days' },
|
|
6
6
|
{ value: 'LAST_30_DAYS', label: 'Last 30 days' },
|
|
7
|
-
{ value: '
|
|
8
|
-
{ value: '
|
|
7
|
+
{ value: 'THIS_MONTH', label: 'This Month' },
|
|
8
|
+
{ value: 'THIS_WEEK', label: 'This Week' },
|
|
9
9
|
{ value: 'ALL_TIME', label: 'All time' },
|
|
10
10
|
];
|
|
11
11
|
export const defaultDateRange = 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/esm/utils/table.js
CHANGED
|
@@ -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/package.json
CHANGED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
interface EditDashboardsModalProps {
|
|
3
|
-
ModalComponent: React.ComponentType<any>;
|
|
4
|
-
TextInputComponent: React.ComponentType<any>;
|
|
5
|
-
isOpen: boolean;
|
|
6
|
-
setIsOpen: (isOpen: boolean) => void;
|
|
7
|
-
clientId: string;
|
|
8
|
-
ButtonComponent: React.ComponentType<any>;
|
|
9
|
-
SecondaryButtonComponent: React.ComponentType<any>;
|
|
10
|
-
openEditFilterModal: (dashboardName: string) => void;
|
|
11
|
-
openEditOrderModal: (dashboardName: string) => void;
|
|
12
|
-
openAddDashboardModal: () => void;
|
|
13
|
-
HeaderComponent: React.ComponentType<any>;
|
|
14
|
-
setDashboardData: (dashboardData: any) => void;
|
|
15
|
-
dashboards: any[];
|
|
16
|
-
getDashNames: () => void;
|
|
17
|
-
}
|
|
18
|
-
export default function EditDashboardsModal({ ModalComponent, TextInputComponent, isOpen, setIsOpen, clientId, ButtonComponent, SecondaryButtonComponent, openEditFilterModal, openEditOrderModal, openAddDashboardModal, HeaderComponent, setDashboardData, dashboards, getDashNames, }: EditDashboardsModalProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=EditDashboardsModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditDashboardsModal.d.ts","sourceRoot":"","sources":["../../../src/modals/EditDashboardsModal.tsx"],"names":[],"mappings":";AAGA,UAAU,wBAAwB;IAChC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,wBAAwB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnD,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,kBAAkB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,gBAAgB,EAAE,CAAC,aAAa,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,YAAY,GACb,EAAE,wBAAwB,2CAyJ1B"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const Admin_1 = require("../Admin");
|
|
5
|
-
const constants_1 = require("../utils/constants");
|
|
6
|
-
function EditDashboardsModal({ ModalComponent, TextInputComponent, isOpen, setIsOpen, clientId, ButtonComponent, SecondaryButtonComponent, openEditFilterModal, openEditOrderModal, openAddDashboardModal, HeaderComponent, setDashboardData, dashboards, getDashNames, }) {
|
|
7
|
-
// const [dashboards, setDashboards] = useState([]);
|
|
8
|
-
// useEffect(() => {
|
|
9
|
-
// async function getDashboards(clientId) {
|
|
10
|
-
// const url = `${QUILL_SERVER}/dashnames/${clientId}/`;
|
|
11
|
-
// const response2 = await fetch(url, {
|
|
12
|
-
// method: "GET",
|
|
13
|
-
// headers: {
|
|
14
|
-
// Authorization: "Bearer ", // Ensure you append your token after 'Bearer ' if needed
|
|
15
|
-
// },
|
|
16
|
-
// });
|
|
17
|
-
// // If you need to retrieve the JSON data from the response:
|
|
18
|
-
// const data = await response2.json();
|
|
19
|
-
// setDashboards(data);
|
|
20
|
-
// }
|
|
21
|
-
// if (clientId) {
|
|
22
|
-
// getDashboards(clientId);
|
|
23
|
-
// }
|
|
24
|
-
// }, [clientId]);
|
|
25
|
-
async function handleDeleteDashboard(dashboardName) {
|
|
26
|
-
const url = `${constants_1.QUILL_SERVER}/dashdelete/${clientId}/`;
|
|
27
|
-
const body = {
|
|
28
|
-
name: dashboardName,
|
|
29
|
-
};
|
|
30
|
-
const headers = {
|
|
31
|
-
'Content-Type': 'application/json',
|
|
32
|
-
Authorization: `Bearer `,
|
|
33
|
-
};
|
|
34
|
-
try {
|
|
35
|
-
const response = await fetch(url, {
|
|
36
|
-
method: 'POST',
|
|
37
|
-
headers: headers,
|
|
38
|
-
body: JSON.stringify(body),
|
|
39
|
-
});
|
|
40
|
-
if (!response.ok) {
|
|
41
|
-
throw new Error(`HTTP error! Status: ${response.status}`);
|
|
42
|
-
}
|
|
43
|
-
const responseData = await response.json();
|
|
44
|
-
if (responseData) {
|
|
45
|
-
getDashNames();
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
console.log('error', e);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
54
|
-
display: 'flex',
|
|
55
|
-
flexDirection: 'column',
|
|
56
|
-
}, children: [(0, jsx_runtime_1.jsx)("h1", { style: {
|
|
57
|
-
fontWeight: '600',
|
|
58
|
-
fontSize: 24,
|
|
59
|
-
paddingBottom: 8,
|
|
60
|
-
color: Admin_1.theme.primaryTextColor,
|
|
61
|
-
}, children: "Dashboards" }), dashboards &&
|
|
62
|
-
dashboards.map((dashboardName, index) => {
|
|
63
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
64
|
-
display: 'flex',
|
|
65
|
-
flexDirection: 'row',
|
|
66
|
-
paddingTop: 5,
|
|
67
|
-
width: 400,
|
|
68
|
-
paddingBottom: 5,
|
|
69
|
-
alignItems: 'center',
|
|
70
|
-
justifyContent: 'space-between',
|
|
71
|
-
}, children: [(0, jsx_runtime_1.jsx)("div", { style: {
|
|
72
|
-
display: 'flex',
|
|
73
|
-
flexDirection: 'column',
|
|
74
|
-
}, children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
75
|
-
marginRight: 12,
|
|
76
|
-
fontWeight: '600',
|
|
77
|
-
fontSize: 16,
|
|
78
|
-
color: Admin_1.theme.primaryTextColor,
|
|
79
|
-
}, children: dashboardName.name }) }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
80
|
-
display: 'flex',
|
|
81
|
-
flexDirection: 'column',
|
|
82
|
-
}, children: (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
83
|
-
display: 'flex',
|
|
84
|
-
flexDirection: 'row',
|
|
85
|
-
alignItems: 'flex-end',
|
|
86
|
-
}, children: [(0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => openEditFilterModal(dashboardName.name), label: "Edit" }), (0, jsx_runtime_1.jsx)("div", { style: { width: 8 } }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => openEditOrderModal(dashboardName.name), label: "Reorder" }), (0, jsx_runtime_1.jsx)("div", { style: { width: 8 } }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => handleDeleteDashboard(dashboardName.name), label: "Delete" })] }) })] }, dashboardName + index));
|
|
87
|
-
})] }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
88
|
-
display: 'flex',
|
|
89
|
-
flexDirection: 'column',
|
|
90
|
-
justifyContent: 'center',
|
|
91
|
-
marginTop: 20,
|
|
92
|
-
}, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: openAddDashboardModal, label: "Create new dashboard" }) })] }) }));
|
|
93
|
-
}
|
|
94
|
-
exports.default = EditDashboardsModal;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
interface EditDashboardsModalProps {
|
|
3
|
-
ModalComponent: React.ComponentType<any>;
|
|
4
|
-
TextInputComponent: React.ComponentType<any>;
|
|
5
|
-
isOpen: boolean;
|
|
6
|
-
setIsOpen: (isOpen: boolean) => void;
|
|
7
|
-
clientId: string;
|
|
8
|
-
ButtonComponent: React.ComponentType<any>;
|
|
9
|
-
SecondaryButtonComponent: React.ComponentType<any>;
|
|
10
|
-
openEditFilterModal: (dashboardName: string) => void;
|
|
11
|
-
openEditOrderModal: (dashboardName: string) => void;
|
|
12
|
-
openAddDashboardModal: () => void;
|
|
13
|
-
HeaderComponent: React.ComponentType<any>;
|
|
14
|
-
setDashboardData: (dashboardData: any) => void;
|
|
15
|
-
dashboards: any[];
|
|
16
|
-
getDashNames: () => void;
|
|
17
|
-
}
|
|
18
|
-
export default function EditDashboardsModal({ ModalComponent, TextInputComponent, isOpen, setIsOpen, clientId, ButtonComponent, SecondaryButtonComponent, openEditFilterModal, openEditOrderModal, openAddDashboardModal, HeaderComponent, setDashboardData, dashboards, getDashNames, }: EditDashboardsModalProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=EditDashboardsModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditDashboardsModal.d.ts","sourceRoot":"","sources":["../../../src/modals/EditDashboardsModal.tsx"],"names":[],"mappings":";AAGA,UAAU,wBAAwB;IAChC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,wBAAwB,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnD,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,kBAAkB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,gBAAgB,EAAE,CAAC,aAAa,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,YAAY,GACb,EAAE,wBAAwB,2CAyJ1B"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { theme } from '../Admin';
|
|
3
|
-
import { QUILL_SERVER } from '../utils/constants';
|
|
4
|
-
export default function EditDashboardsModal({ ModalComponent, TextInputComponent, isOpen, setIsOpen, clientId, ButtonComponent, SecondaryButtonComponent, openEditFilterModal, openEditOrderModal, openAddDashboardModal, HeaderComponent, setDashboardData, dashboards, getDashNames, }) {
|
|
5
|
-
// const [dashboards, setDashboards] = useState([]);
|
|
6
|
-
// useEffect(() => {
|
|
7
|
-
// async function getDashboards(clientId) {
|
|
8
|
-
// const url = `${QUILL_SERVER}/dashnames/${clientId}/`;
|
|
9
|
-
// const response2 = await fetch(url, {
|
|
10
|
-
// method: "GET",
|
|
11
|
-
// headers: {
|
|
12
|
-
// Authorization: "Bearer ", // Ensure you append your token after 'Bearer ' if needed
|
|
13
|
-
// },
|
|
14
|
-
// });
|
|
15
|
-
// // If you need to retrieve the JSON data from the response:
|
|
16
|
-
// const data = await response2.json();
|
|
17
|
-
// setDashboards(data);
|
|
18
|
-
// }
|
|
19
|
-
// if (clientId) {
|
|
20
|
-
// getDashboards(clientId);
|
|
21
|
-
// }
|
|
22
|
-
// }, [clientId]);
|
|
23
|
-
async function handleDeleteDashboard(dashboardName) {
|
|
24
|
-
const url = `${QUILL_SERVER}/dashdelete/${clientId}/`;
|
|
25
|
-
const body = {
|
|
26
|
-
name: dashboardName,
|
|
27
|
-
};
|
|
28
|
-
const headers = {
|
|
29
|
-
'Content-Type': 'application/json',
|
|
30
|
-
Authorization: `Bearer `,
|
|
31
|
-
};
|
|
32
|
-
try {
|
|
33
|
-
const response = await fetch(url, {
|
|
34
|
-
method: 'POST',
|
|
35
|
-
headers: headers,
|
|
36
|
-
body: JSON.stringify(body),
|
|
37
|
-
});
|
|
38
|
-
if (!response.ok) {
|
|
39
|
-
throw new Error(`HTTP error! Status: ${response.status}`);
|
|
40
|
-
}
|
|
41
|
-
const responseData = await response.json();
|
|
42
|
-
if (responseData) {
|
|
43
|
-
getDashNames();
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
console.log('error', e);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return (_jsx(ModalComponent, { isOpen: isOpen, close: () => setIsOpen(false), children: _jsxs("div", { children: [_jsxs("div", { style: {
|
|
52
|
-
display: 'flex',
|
|
53
|
-
flexDirection: 'column',
|
|
54
|
-
}, children: [_jsx("h1", { style: {
|
|
55
|
-
fontWeight: '600',
|
|
56
|
-
fontSize: 24,
|
|
57
|
-
paddingBottom: 8,
|
|
58
|
-
color: theme.primaryTextColor,
|
|
59
|
-
}, children: "Dashboards" }), dashboards &&
|
|
60
|
-
dashboards.map((dashboardName, index) => {
|
|
61
|
-
return (_jsxs("div", { style: {
|
|
62
|
-
display: 'flex',
|
|
63
|
-
flexDirection: 'row',
|
|
64
|
-
paddingTop: 5,
|
|
65
|
-
width: 400,
|
|
66
|
-
paddingBottom: 5,
|
|
67
|
-
alignItems: 'center',
|
|
68
|
-
justifyContent: 'space-between',
|
|
69
|
-
}, children: [_jsx("div", { style: {
|
|
70
|
-
display: 'flex',
|
|
71
|
-
flexDirection: 'column',
|
|
72
|
-
}, children: _jsx("div", { style: {
|
|
73
|
-
marginRight: 12,
|
|
74
|
-
fontWeight: '600',
|
|
75
|
-
fontSize: 16,
|
|
76
|
-
color: theme.primaryTextColor,
|
|
77
|
-
}, children: dashboardName.name }) }), _jsx("div", { style: {
|
|
78
|
-
display: 'flex',
|
|
79
|
-
flexDirection: 'column',
|
|
80
|
-
}, children: _jsxs("div", { style: {
|
|
81
|
-
display: 'flex',
|
|
82
|
-
flexDirection: 'row',
|
|
83
|
-
alignItems: 'flex-end',
|
|
84
|
-
}, children: [_jsx(SecondaryButtonComponent, { onClick: () => openEditFilterModal(dashboardName.name), label: "Edit" }), _jsx("div", { style: { width: 8 } }), _jsx(SecondaryButtonComponent, { onClick: () => openEditOrderModal(dashboardName.name), label: "Reorder" }), _jsx("div", { style: { width: 8 } }), _jsx(SecondaryButtonComponent, { onClick: () => handleDeleteDashboard(dashboardName.name), label: "Delete" })] }) })] }, dashboardName + index));
|
|
85
|
-
})] }), _jsx("div", { style: {
|
|
86
|
-
display: 'flex',
|
|
87
|
-
flexDirection: 'column',
|
|
88
|
-
justifyContent: 'center',
|
|
89
|
-
marginTop: 20,
|
|
90
|
-
}, children: _jsx(ButtonComponent, { onClick: openAddDashboardModal, label: "Create new dashboard" }) })] }) }));
|
|
91
|
-
}
|