@quillsql/admin 1.5.2 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Admin.d.ts +19 -72
- package/dist/cjs/Admin.d.ts.map +1 -1
- package/dist/cjs/Admin.js +215 -996
- package/dist/cjs/AdminProvider.d.ts +2 -12
- package/dist/cjs/AdminProvider.d.ts.map +1 -1
- package/dist/cjs/AdminProvider.js +27 -32
- package/dist/cjs/api/ConnectionClient.d.ts +19 -0
- package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
- package/dist/cjs/api/ConnectionClient.js +108 -13
- package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
- package/dist/cjs/components/DashboardSelectPopover.js +20 -3
- package/dist/cjs/components/DropDownMenu.js +1 -1
- package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/cjs/components/DropDownMenuWithLabel.js +18 -87
- package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
- package/dist/cjs/components/EmptyDashboardComponent/index.js +11 -9
- 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 +9 -0
- package/dist/cjs/components/SegmentedControl.d.ts.map +1 -0
- package/dist/cjs/components/SegmentedControl.js +60 -0
- package/dist/cjs/components/SqlTextEditor.d.ts +9 -1
- package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
- package/dist/cjs/components/SqlTextEditor.js +60 -12
- package/dist/cjs/components/UiComponents.d.ts +18 -30
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +48 -84
- package/dist/cjs/constants/dataTypes.d.ts +2 -0
- package/dist/cjs/constants/dataTypes.d.ts.map +1 -0
- package/dist/cjs/constants/dataTypes.js +21 -0
- package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectDatabase.js +9 -17
- 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 +57 -15
- package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +11 -5
- package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
- package/dist/cjs/forms/sql_views/CreateEditSqlView.js +107 -53
- 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 +355 -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 +64 -47
- package/dist/cjs/modals/PromoteDashModal.d.ts.map +1 -1
- package/dist/cjs/modals/PromoteDashModal.js +11 -4
- package/dist/cjs/modals/PromoteViewModal.d.ts +2 -1
- package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
- package/dist/cjs/modals/PromoteViewModal.js +46 -36
- package/dist/cjs/modals/ReorderDashboardModal.d.ts.map +1 -1
- package/dist/cjs/modals/ReorderDashboardModal.js +42 -45
- 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/TextInputPrimitive.d.ts +1 -0
- package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/TextInputPrimitive.js +35 -20
- package/dist/cjs/primitives/TogglePrimitive.js +5 -5
- package/dist/cjs/public_components/CreateEnvironment.d.ts +2 -1
- package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/cjs/public_components/CreateEnvironment.js +5 -2
- package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardBuilder.js +71 -125
- package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardManager.js +109 -146
- package/dist/cjs/public_components/SQLViewManager.d.ts +1 -0
- package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/cjs/public_components/SQLViewManager.js +271 -46
- package/dist/cjs/utils/astProcessing.d.ts +2 -0
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -0
- package/dist/cjs/utils/astProcessing.js +41 -0
- package/dist/cjs/utils/astProcessing.uspec.d.ts +2 -0
- package/dist/cjs/utils/astProcessing.uspec.d.ts.map +1 -0
- package/dist/cjs/utils/astProcessing.uspec.js +26 -0
- package/dist/cjs/utils/columnProcessing.d.ts +3 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -0
- package/dist/cjs/utils/columnProcessing.js +42 -0
- package/dist/cjs/utils/dataEditor.d.ts +2 -2
- package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
- package/dist/cjs/utils/dataEditor.js +4 -2
- package/dist/cjs/utils/databases.d.ts +0 -1
- package/dist/cjs/utils/databases.d.ts.map +1 -1
- package/dist/cjs/utils/databases.js +5 -6
- package/dist/cjs/utils/monacoAutocomplete.d.ts +21 -0
- package/dist/cjs/utils/monacoAutocomplete.d.ts.map +1 -0
- package/dist/cjs/utils/monacoAutocomplete.js +250 -0
- package/dist/cjs/utils/schema.d.ts +11 -0
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +129 -0
- 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 +19 -72
- package/dist/esm/Admin.d.ts.map +1 -1
- package/dist/esm/Admin.js +218 -989
- package/dist/esm/AdminProvider.d.ts +2 -12
- package/dist/esm/AdminProvider.d.ts.map +1 -1
- package/dist/esm/AdminProvider.js +27 -32
- package/dist/esm/api/ConnectionClient.d.ts +19 -0
- package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
- package/dist/esm/api/ConnectionClient.js +106 -12
- package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
- package/dist/esm/components/DashboardSelectPopover.js +20 -3
- package/dist/esm/components/DropDownMenu.js +1 -1
- package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/esm/components/DropDownMenuWithLabel.js +18 -87
- package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
- package/dist/esm/components/EmptyDashboardComponent/index.js +11 -9
- 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 +9 -0
- package/dist/esm/components/SegmentedControl.d.ts.map +1 -0
- package/dist/esm/components/SegmentedControl.js +56 -0
- package/dist/esm/components/SqlTextEditor.d.ts +9 -1
- package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
- package/dist/esm/components/SqlTextEditor.js +59 -11
- package/dist/esm/components/UiComponents.d.ts +18 -30
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +45 -83
- package/dist/esm/constants/dataTypes.d.ts +2 -0
- package/dist/esm/constants/dataTypes.d.ts.map +1 -0
- package/dist/esm/constants/dataTypes.js +18 -0
- package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectDatabase.js +9 -17
- 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 +58 -16
- package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +11 -5
- package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -1
- package/dist/esm/forms/sql_views/CreateEditSqlView.js +108 -54
- 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 +348 -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 +64 -47
- package/dist/esm/modals/PromoteDashModal.d.ts.map +1 -1
- package/dist/esm/modals/PromoteDashModal.js +11 -4
- package/dist/esm/modals/PromoteViewModal.d.ts +2 -1
- package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
- package/dist/esm/modals/PromoteViewModal.js +50 -40
- package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
- package/dist/esm/modals/ReorderDashboardModal.js +43 -46
- 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/TextInputPrimitive.d.ts +1 -0
- package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/TextInputPrimitive.js +33 -21
- package/dist/esm/primitives/TogglePrimitive.js +5 -5
- package/dist/esm/public_components/CreateEnvironment.d.ts +2 -1
- package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/esm/public_components/CreateEnvironment.js +5 -2
- package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardBuilder.js +72 -126
- package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardManager.js +112 -149
- package/dist/esm/public_components/SQLViewManager.d.ts +1 -0
- package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/esm/public_components/SQLViewManager.js +271 -48
- package/dist/esm/utils/astProcessing.d.ts +2 -0
- package/dist/esm/utils/astProcessing.d.ts.map +1 -0
- package/dist/esm/utils/astProcessing.js +37 -0
- package/dist/esm/utils/astProcessing.uspec.d.ts +2 -0
- package/dist/esm/utils/astProcessing.uspec.d.ts.map +1 -0
- package/dist/esm/utils/astProcessing.uspec.js +24 -0
- package/dist/esm/utils/columnProcessing.d.ts +3 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
- package/dist/esm/utils/columnProcessing.js +37 -0
- package/dist/esm/utils/dataEditor.d.ts +2 -2
- package/dist/esm/utils/dataEditor.d.ts.map +1 -1
- package/dist/esm/utils/dataEditor.js +4 -2
- package/dist/esm/utils/databases.d.ts +0 -1
- package/dist/esm/utils/databases.d.ts.map +1 -1
- package/dist/esm/utils/databases.js +5 -6
- package/dist/esm/utils/monacoAutocomplete.d.ts +21 -0
- package/dist/esm/utils/monacoAutocomplete.d.ts.map +1 -0
- package/dist/esm/utils/monacoAutocomplete.js +245 -0
- package/dist/esm/utils/schema.d.ts +11 -0
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +126 -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 +3 -2
- 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
|
@@ -2,43 +2,35 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { useAdmin } from '../AdminProvider';
|
|
4
4
|
import { OrgSelect, EnvSelectPopover, DashboardSelectPopover, } from '../components';
|
|
5
|
-
import {
|
|
5
|
+
import { PromoteDashModal, ReorderDashboardModal } from '../modals';
|
|
6
6
|
import { Dashboard, useDashboard } from '@quillsql/react';
|
|
7
|
-
import {
|
|
7
|
+
import { ReportWrapper } from '../Admin';
|
|
8
8
|
import { ButtonPrimitive, HeaderPrimitive, ModalPrimitive, SecondaryButtonPrimitive, SelectPrimitive, TextInputPrimitive, } from '../primitives';
|
|
9
9
|
import { NewDashboardModal } from '../modals/NewDashboardModal';
|
|
10
|
-
import { QUILL_SERVER } from '../utils/constants';
|
|
11
10
|
import EmptyDashboardComponent from '../components/EmptyDashboardComponent';
|
|
12
11
|
import DatabaseMismatchCard from '../components/DatabaseMismatchCard';
|
|
13
|
-
import { MemoizedModal } from '../components/UiComponents';
|
|
12
|
+
import { MemoizedButton, MemoizedModal } from '../components/UiComponents';
|
|
13
|
+
import { QuillSelectComponent } from '../components/QuillSelect';
|
|
14
|
+
import { EditFiltersModal } from '../modals/EditFiltersModal';
|
|
14
15
|
export default function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
|
|
15
16
|
const { state, dispatch } = useAdmin();
|
|
16
17
|
const parentRef = useRef(null);
|
|
18
|
+
const [copied, setCopied] = useState(false);
|
|
17
19
|
const [initialLoad, setInitialLoad] = useState(true);
|
|
18
|
-
const [dashboards, setDashboards] = useState([]);
|
|
19
20
|
const [reloadFlag, setReloadFlag] = useState(false);
|
|
20
|
-
const [selectedEditDashboard, setSelectedEditDashboard] = useState('');
|
|
21
21
|
const [selectedReorderDashboard, setSelectedReorderDashboard] = useState('');
|
|
22
|
-
const [addFilterModalIsOpen, setAddFilterModalIsOpen] = useState(false);
|
|
23
|
-
const [isAddDashboardModalOpen, setIsAddDashboardModalOpen] = useState(false);
|
|
24
22
|
const [newDashboardModalIsOpen, setNewDashboardModalIsOpen] = useState(false);
|
|
25
23
|
const [editFilterModalIsOpen, setEditFilterModalIsOpen] = useState(false);
|
|
26
|
-
const { reload: reloadDashboard } = useDashboard(state.selectedDashboard);
|
|
24
|
+
const { reload: reloadDashboard } = useDashboard(state.selectedDashboard?.name);
|
|
27
25
|
const [isReorderDashboardModalOpen, setIsReorderDashboardModalOpen] = useState(false);
|
|
28
|
-
const [dashboardData, setDashboardData] = useState(null);
|
|
29
|
-
// const [activeComponent, setActiveComponent] = useContext(
|
|
30
|
-
// ActiveComponentContext
|
|
31
|
-
// );
|
|
32
|
-
const [isEditDashboardModalOpen, setIsEditDashboardModalOpen] = useState(false);
|
|
33
26
|
const [isPromoteDashModalOpen, setIsPromoteDashModalOpen] = useState(false);
|
|
34
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
35
27
|
// A useless flag that just turns itself off.
|
|
36
28
|
useEffect(() => {
|
|
37
29
|
if (reloadFlag) {
|
|
38
30
|
setReloadFlag(false);
|
|
39
31
|
}
|
|
40
32
|
}, [reloadFlag]);
|
|
41
|
-
async function getDashNames() {
|
|
33
|
+
async function getDashNames(dashboardName) {
|
|
42
34
|
const response = await fetch(`${state.queryEndpoint}`, {
|
|
43
35
|
method: 'POST',
|
|
44
36
|
headers: {
|
|
@@ -58,20 +50,19 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
|
|
|
58
50
|
const data = await response.json();
|
|
59
51
|
setInitialLoad(false);
|
|
60
52
|
if (!data.data.dashboardNames || !data.data.dashboardNames.length) {
|
|
53
|
+
dispatch({ type: 'SET_DASHBOARDS', payload: [] });
|
|
61
54
|
return;
|
|
62
55
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return { name: 'null' };
|
|
66
|
-
}
|
|
67
|
-
return { name: elem };
|
|
56
|
+
let selectedDashboard = data.data.dashboards.find((dash) => {
|
|
57
|
+
return dash.name === dashboardName;
|
|
68
58
|
});
|
|
69
|
-
|
|
59
|
+
if (!selectedDashboard) {
|
|
60
|
+
selectedDashboard = data.data.dashboards[0];
|
|
61
|
+
}
|
|
62
|
+
dispatch({ type: 'SET_DASHBOARDS', payload: data.data.dashboards });
|
|
70
63
|
dispatch({
|
|
71
64
|
type: 'SET_SELECTED_DASHBOARD',
|
|
72
|
-
payload:
|
|
73
|
-
? state.selectedDashboard
|
|
74
|
-
: dashNames[0].name,
|
|
65
|
+
payload: selectedDashboard,
|
|
75
66
|
});
|
|
76
67
|
}
|
|
77
68
|
useEffect(() => {
|
|
@@ -88,76 +79,12 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
|
|
|
88
79
|
useEffect(() => {
|
|
89
80
|
let isSubscribed = true;
|
|
90
81
|
if (isSubscribed) {
|
|
91
|
-
getDashNames();
|
|
82
|
+
getDashNames(state.selectedDashboard?.name || '');
|
|
92
83
|
}
|
|
93
84
|
return () => {
|
|
94
85
|
isSubscribed = false;
|
|
95
86
|
};
|
|
96
87
|
}, [state.environment, state.client]);
|
|
97
|
-
// MMTODO: Idk if this is needed
|
|
98
|
-
// const handleSetOrganization = (org) => {
|
|
99
|
-
// setOrganization(null);
|
|
100
|
-
// setTimeout(() => setOrganization(org), 50);
|
|
101
|
-
// };
|
|
102
|
-
// MMTODO: Not sure if this actually does anything
|
|
103
|
-
useEffect(() => {
|
|
104
|
-
async function getDashboardData(dashboard, setData) {
|
|
105
|
-
let responseData;
|
|
106
|
-
if (state.queryEndpoint) {
|
|
107
|
-
const response = await fetch(state.queryEndpoint, {
|
|
108
|
-
method: 'POST',
|
|
109
|
-
headers: {
|
|
110
|
-
...state.queryHeaders,
|
|
111
|
-
'Content-Type': 'application/json',
|
|
112
|
-
},
|
|
113
|
-
body: JSON.stringify({
|
|
114
|
-
metadata: {
|
|
115
|
-
orgId: state.organizationId || '*',
|
|
116
|
-
task: 'config',
|
|
117
|
-
name: dashboard,
|
|
118
|
-
clientId: state.client._id,
|
|
119
|
-
databaseType: state.client.databaseType,
|
|
120
|
-
},
|
|
121
|
-
}),
|
|
122
|
-
credentials: state.withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
|
|
123
|
-
});
|
|
124
|
-
responseData = (await response.json()).data;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
const url = new URL(`${QUILL_SERVER}/dashconfig`);
|
|
128
|
-
// Setting the search parameters for the URL
|
|
129
|
-
url.search = new URLSearchParams({
|
|
130
|
-
orgId: state.organizationId,
|
|
131
|
-
publicKey: state.client._id,
|
|
132
|
-
name: dashboard,
|
|
133
|
-
}).toString();
|
|
134
|
-
const response2 = await fetch(url, {
|
|
135
|
-
method: 'GET',
|
|
136
|
-
headers: {
|
|
137
|
-
Authorization: 'Bearer ', // Ensure you append your token after 'Bearer ' if needed
|
|
138
|
-
environment: state.environment,
|
|
139
|
-
},
|
|
140
|
-
});
|
|
141
|
-
// If you need to retrieve the JSON data from the response:
|
|
142
|
-
responseData = await response2.json();
|
|
143
|
-
}
|
|
144
|
-
setData(responseData);
|
|
145
|
-
}
|
|
146
|
-
if (state.selectedEditDashboard) {
|
|
147
|
-
getDashboardData(state.selectedEditDashboard, (data) => {
|
|
148
|
-
dispatch({ type: 'SET_EDIT_DASHBOARD_DATA', payload: data });
|
|
149
|
-
});
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
if (state.selectedDashboard && state.client) {
|
|
153
|
-
getDashboardData(state.selectedDashboard, setDashboardData);
|
|
154
|
-
}
|
|
155
|
-
}, [
|
|
156
|
-
state.selectedDashboard,
|
|
157
|
-
state.selectedEditDashboard,
|
|
158
|
-
state.organizationId,
|
|
159
|
-
state.client,
|
|
160
|
-
]);
|
|
161
88
|
return (_jsxs("div", { style: containerStyle, children: [_jsxs("div", { style: {
|
|
162
89
|
display: 'flex',
|
|
163
90
|
flexDirection: 'column',
|
|
@@ -183,7 +110,7 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
|
|
|
183
110
|
borderLeftWidth: 0,
|
|
184
111
|
borderRightWidth: 0,
|
|
185
112
|
borderStyle: 'solid',
|
|
186
|
-
borderColor: state.theme
|
|
113
|
+
borderColor: state.theme?.borderColor,
|
|
187
114
|
paddingBottom: 20,
|
|
188
115
|
// boxShadow: "0px 1px 4px 0px rgba(0, 0, 0, 0.07)",
|
|
189
116
|
// paddingRight: '50px',
|
|
@@ -195,7 +122,12 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
|
|
|
195
122
|
flexDirection: 'row',
|
|
196
123
|
alignItems: 'flex-end',
|
|
197
124
|
justifyContent: 'space-between',
|
|
198
|
-
}, children: [_jsxs("div", { style: {
|
|
125
|
+
}, children: [_jsxs("div", { style: {
|
|
126
|
+
gap: 16,
|
|
127
|
+
display: 'flex',
|
|
128
|
+
flexDirection: 'row',
|
|
129
|
+
alignItems: 'flex-end',
|
|
130
|
+
}, children: [!!state.dashboards.length && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("h1", { style: {
|
|
199
131
|
fontSize: '14px',
|
|
200
132
|
paddingTop: '0px',
|
|
201
133
|
marginTop: '0px',
|
|
@@ -208,17 +140,19 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
|
|
|
208
140
|
return { value: elem.name, label: elem.name };
|
|
209
141
|
})
|
|
210
142
|
: [], setDashboard: (dashboard) => {
|
|
143
|
+
setReloadFlag(true);
|
|
144
|
+
const selectedDashboard = state.dashboards.find((dash) => {
|
|
145
|
+
return dash.name === dashboard;
|
|
146
|
+
});
|
|
211
147
|
dispatch({
|
|
212
148
|
type: 'SET_SELECTED_DASHBOARD',
|
|
213
|
-
payload:
|
|
149
|
+
payload: selectedDashboard,
|
|
214
150
|
});
|
|
215
|
-
}, dashboard: state.selectedDashboard
|
|
151
|
+
}, dashboard: state.selectedDashboard
|
|
152
|
+
? state.selectedDashboard.name
|
|
153
|
+
: '', theme: state.theme, onClickNewDashboard: () => {
|
|
216
154
|
setNewDashboardModalIsOpen(true);
|
|
217
155
|
}, setSelectedEditDashboard: (d) => {
|
|
218
|
-
dispatch({
|
|
219
|
-
type: 'SET_SELECTED_EDIT_DASHBOARD',
|
|
220
|
-
payload: d,
|
|
221
|
-
});
|
|
222
156
|
setEditFilterModalIsOpen(true);
|
|
223
157
|
} })] })), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("h1", { style: {
|
|
224
158
|
fontSize: '14px',
|
|
@@ -229,14 +163,59 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
|
|
|
229
163
|
color: state.theme.secondaryTextColor,
|
|
230
164
|
fontFamily: state.theme.fontFamily,
|
|
231
165
|
userSelect: 'none',
|
|
232
|
-
}, children: "Environment" }), _jsx(EnvSelectPopover, { setEnvironment: (env) => dispatch({ type: 'SET_ENVIRONMENT', payload: env }), environment: state.environment, clients: state.clients, client: state.client, setClient: (client) => dispatch({ type: 'SET_CLIENT', payload: client }), theme: state.theme, showPromote: true, handlePromote: () => setIsPromoteDashModalOpen(true) })] })
|
|
166
|
+
}, children: "Environment" }), _jsx(EnvSelectPopover, { setEnvironment: (env) => dispatch({ type: 'SET_ENVIRONMENT', payload: env }), environment: state.environment, clients: state.clients, client: state.client, setClient: (client) => dispatch({ type: 'SET_CLIENT', payload: client }), theme: state.theme, showPromote: true, handlePromote: () => setIsPromoteDashModalOpen(true) })] }), _jsxs("div", { style: {
|
|
167
|
+
display: 'flex',
|
|
168
|
+
flexDirection: 'row',
|
|
169
|
+
alignItems: 'center',
|
|
170
|
+
}, children: [_jsxs("div", { style: {
|
|
171
|
+
// width: '100%',
|
|
172
|
+
maxWidth: 330,
|
|
173
|
+
display: 'flex',
|
|
174
|
+
flexDirection: 'row',
|
|
175
|
+
justifyContent: 'space-between',
|
|
176
|
+
alignItems: 'center',
|
|
177
|
+
padding: '6px 12px',
|
|
178
|
+
borderRadius: 6,
|
|
179
|
+
height: 37,
|
|
180
|
+
cursor: 'pointer',
|
|
181
|
+
}, onClick: () => {
|
|
182
|
+
navigator.clipboard.writeText(state.client._id);
|
|
183
|
+
setCopied(true);
|
|
184
|
+
setTimeout(() => setCopied(false), 1500);
|
|
185
|
+
}, className: "quill-active", children: [_jsx("style", { children: `.quill-active { background: #fff; border: 1px solid #e7e7e7; }
|
|
186
|
+
.quill-active:hover { background: #fff; box-shadow: 0px 1px 12px rgba(0, 0, 0, 0.07); border: 1px solid #e7e7e7 }
|
|
187
|
+
.quill-active:active { background: #fff; box-shadow: 0px 1px 12px rgba(0, 0, 0, 0.07); border: 1px solid #9DC4F8; outline: 2px solid #9DC4F8; }
|
|
188
|
+
` }), _jsx("div", { style: {
|
|
189
|
+
color: '#212121',
|
|
190
|
+
marginBottom: '0px',
|
|
191
|
+
}, children: _jsx("h1", { style: {
|
|
192
|
+
fontSize: '14px',
|
|
193
|
+
fontWeight: '600',
|
|
194
|
+
color: state.theme.secondaryTextColor,
|
|
195
|
+
fontFamily: state.theme.fontFamily,
|
|
196
|
+
userSelect: 'none',
|
|
197
|
+
}, children: "Copy Public Key" }) }), _jsx("div", { style: {
|
|
198
|
+
display: 'flex',
|
|
199
|
+
flexDirection: 'row',
|
|
200
|
+
alignItems: 'center',
|
|
201
|
+
gap: '6px',
|
|
202
|
+
cursor: 'pointer',
|
|
203
|
+
marginLeft: '12px',
|
|
204
|
+
}, children: _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "#212121", width: 18, height: 18, children: [_jsx("path", { d: "M7 3.5A1.5 1.5 0 0 1 8.5 2h3.879a1.5 1.5 0 0 1 1.06.44l3.122 3.12A1.5 1.5 0 0 1 17 6.622V12.5a1.5 1.5 0 0 1-1.5 1.5h-1v-3.379a3 3 0 0 0-.879-2.121L10.5 5.379A3 3 0 0 0 8.379 4.5H7v-1Z" }), _jsx("path", { d: "M4.5 6A1.5 1.5 0 0 0 3 7.5v9A1.5 1.5 0 0 0 4.5 18h7a1.5 1.5 0 0 0 1.5-1.5v-5.879a1.5 1.5 0 0 0-.44-1.06L9.44 6.439A1.5 1.5 0 0 0 8.378 6H4.5Z" })] }) })] }), copied && (_jsxs("div", { style: {
|
|
205
|
+
fontSize: 13,
|
|
206
|
+
fontWeight: 600,
|
|
207
|
+
color: '#565656',
|
|
208
|
+
marginLeft: 16,
|
|
209
|
+
display: 'flex',
|
|
210
|
+
flexDirection: 'row',
|
|
211
|
+
alignItems: 'center',
|
|
212
|
+
gap: 6,
|
|
213
|
+
}, children: [_jsx("div", { children: "\u2705" }), " ", _jsx("div", { children: "Copied" })] }))] })] }), !!state.dashboards.length && !state.databaseTypeMismatch.show && (_jsx(OrgSelect, { parentRef: parentRef, environment: state.environment, setEnvironment: (env) => dispatch({ type: 'SET_ENVIRONMENT', payload: env }), organizations: state.organizations, theme: state.theme, organizationId: state.organizationId, setOrganizationId: (id) => dispatch({ type: 'SET_ORGANIZATION_ID', payload: id }) }))] }) }), state.databaseTypeMismatch.show ? (_jsx(DatabaseMismatchCard, { environemntName: state.client.name, environemntDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : (_jsxs(_Fragment, { children: [_jsxs("div", { style: { display: 'inline-block' }, children: [!state.dashboards.length && !initialLoad && (_jsx("div", { style: {
|
|
233
214
|
width: '100%',
|
|
234
215
|
display: 'flex',
|
|
235
216
|
flexDirection: 'column',
|
|
236
217
|
alignItems: 'center',
|
|
237
218
|
}, children: _jsxs("div", { style: {
|
|
238
|
-
height: 80,
|
|
239
|
-
width: 260,
|
|
240
219
|
borderRadius: 6,
|
|
241
220
|
marginTop: 100,
|
|
242
221
|
display: 'flex',
|
|
@@ -244,16 +223,17 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
|
|
|
244
223
|
alignItems: 'center',
|
|
245
224
|
justifyContent: 'center',
|
|
246
225
|
gap: 20,
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
226
|
+
padding: 16,
|
|
227
|
+
border: '1px solid #e7e7e7',
|
|
228
|
+
boxShadow: '0px 1px 12px rgba(0, 0, 0, 0.07)',
|
|
229
|
+
}, children: [_jsxs("div", { style: {
|
|
250
230
|
display: 'flex',
|
|
251
231
|
flexDirection: 'row',
|
|
252
232
|
alignItems: 'center',
|
|
253
233
|
justifyContent: 'center',
|
|
254
234
|
width: 260,
|
|
255
235
|
}, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#565656", height: 26, width: 26, children: [_jsx("path", { fillRule: "evenodd", d: "M2.25 13.5a8.25 8.25 0 0 1 8.25-8.25.75.75 0 0 1 .75.75v6.75H18a.75.75 0 0 1 .75.75 8.25 8.25 0 0 1-16.5 0Z", clipRule: "evenodd" }), _jsx("path", { fillRule: "evenodd", d: "M12.75 3a.75.75 0 0 1 .75-.75 8.25 8.25 0 0 1 8.25 8.25.75.75 0 0 1-.75.75h-7.5a.75.75 0 0 1-.75-.75V3Z", clipRule: "evenodd" })] }), _jsx("div", { style: {
|
|
256
|
-
fontSize:
|
|
236
|
+
fontSize: 16,
|
|
257
237
|
fontWeight: 500,
|
|
258
238
|
color: '#565656',
|
|
259
239
|
// border: '1px solid #e7e7e7',
|
|
@@ -263,64 +243,47 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
|
|
|
263
243
|
paddingLeft: 12,
|
|
264
244
|
borderRadius: 4,
|
|
265
245
|
cursor: 'pointer',
|
|
266
|
-
}, className: "quill-hover-button", children: "
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
setEditFilterModalIsOpen(true);
|
|
278
|
-
// setIsEditDashboardModalOpen(false);
|
|
279
|
-
}, openAddDashboardModal: () => {
|
|
280
|
-
setIsAddDashboardModalOpen(true);
|
|
281
|
-
// setIsEditDashboardModalOpen(false);
|
|
282
|
-
}, openEditOrderModal: (dashboardName) => {
|
|
283
|
-
setSelectedReorderDashboard(dashboardName);
|
|
284
|
-
setIsReorderDashboardModalOpen(true);
|
|
285
|
-
}, HeaderComponent: HeaderPrimitive, setDashboardData: setDashboardData, dashboards: state.dashboards, getDashNames: getDashNames }), _jsx(PromoteDashModal, { clientId: state.client._id, client: state.client, clients: state.clients, isOpen: isPromoteDashModalOpen, setIsOpen: setIsPromoteDashModalOpen, ModalComponent: ModalPrimitive, dashboards: state.dashboards, selectedDashboard: state.selectedDashboard, theme: state.theme, ButtonComponent: ButtonPrimitive }), _jsx(EditFiltersModal, { selectedDashboard: state.selectedDashboard, dashboardData: state.editDashboardData, isOpen: editFilterModalIsOpen, setIsOpen: setEditFilterModalIsOpen, openAddFilterModal: () => {
|
|
286
|
-
setAddFilterModalIsOpen(true);
|
|
287
|
-
// setEditFilterModalIsOpen(false);
|
|
288
|
-
}, openEditOrderModal: (dashboardName) => {
|
|
246
|
+
}, className: "quill-hover-button", children: "No dashboards created yet." })] }), _jsx("div", { style: { paddingBottom: 8 }, children: _jsx(MemoizedButton, { label: 'Create dashboard', style: { fontSize: 14 }, onClick: () => {
|
|
247
|
+
setNewDashboardModalIsOpen(true);
|
|
248
|
+
} }) })] }) })), reloadFlag
|
|
249
|
+
? null
|
|
250
|
+
: (state.dashboards.length || initialLoad) && (_jsx(Dashboard, { name: state.selectedDashboard?.name, containerStyle: { padding: 25 }, onClickReport: (elem) => {
|
|
251
|
+
dispatch({ type: 'SET_REPORT_ID', payload: elem.id });
|
|
252
|
+
dispatch({
|
|
253
|
+
type: 'SET_ACTIVE_COMPONENT',
|
|
254
|
+
payload: 'Report',
|
|
255
|
+
});
|
|
256
|
+
}, EmptyDashboardComponent: EmptyDashboardComponent }))] }), state.selectedDashboard && (_jsx(PromoteDashModal, { clientId: state.client._id, client: state.client, clients: state.clients, isOpen: isPromoteDashModalOpen, setIsOpen: setIsPromoteDashModalOpen, ModalComponent: ModalPrimitive, dashboards: state.dashboards, selectedDashboard: state.selectedDashboard?.name, theme: state.theme, ButtonComponent: ButtonPrimitive })), state.selectedDashboard && (_jsx(EditFiltersModal, { selectedDashboard: state.selectedDashboard, dashboardData: state.selectedDashboard, isOpen: editFilterModalIsOpen, setIsOpen: setEditFilterModalIsOpen, openEditOrderModal: (dashboardName) => {
|
|
289
257
|
setSelectedReorderDashboard(dashboardName);
|
|
290
258
|
setIsReorderDashboardModalOpen(true);
|
|
291
|
-
}, onSave: async () => {
|
|
292
|
-
await getDashNames();
|
|
259
|
+
}, onSave: async (dashName) => {
|
|
260
|
+
await getDashNames(dashName);
|
|
261
|
+
await reloadDashboard(dashName, true);
|
|
293
262
|
setReloadFlag(true);
|
|
294
|
-
|
|
295
|
-
}, client: state.client, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, SecondaryButtonComponent: SecondaryButtonPrimitive, TextInputComponent: TextInputPrimitive, HeaderComponent: HeaderPrimitive, SelectComponent: SelectPrimitive, dashNames: state.dashboards, setSelectedEditDashboard: (d) => dispatch({ type: 'SET_SELECTED_EDIT_DASHBOARD', payload: d }) }), _jsx(NewDashboardModal, { isOpen: newDashboardModalIsOpen, setIsOpen: setNewDashboardModalIsOpen, openEditOrderModal: (dashboardName) => {
|
|
263
|
+
}, client: state.client, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, SecondaryButtonComponent: SecondaryButtonPrimitive, TextInputComponent: TextInputPrimitive, HeaderComponent: HeaderPrimitive, SelectComponent: QuillSelectComponent, dashNames: state.dashboards })), _jsx(NewDashboardModal, { isOpen: newDashboardModalIsOpen, setIsOpen: setNewDashboardModalIsOpen, openEditOrderModal: (dashboardName) => {
|
|
296
264
|
setSelectedReorderDashboard(dashboardName);
|
|
297
265
|
setIsReorderDashboardModalOpen(true);
|
|
298
|
-
}, onSave: (
|
|
299
|
-
dispatch({
|
|
266
|
+
}, onSave: async (dashboard) => {
|
|
267
|
+
dispatch({
|
|
268
|
+
type: 'SET_SELECTED_DASHBOARD',
|
|
269
|
+
payload: dashboard,
|
|
270
|
+
});
|
|
300
271
|
dispatch({
|
|
301
272
|
type: 'SET_DASHBOARDS',
|
|
302
|
-
payload: [...state.dashboards, {
|
|
273
|
+
payload: [...state.dashboards, { ...dashboard }],
|
|
303
274
|
});
|
|
275
|
+
await reloadDashboard(state.selectedDashboard?.name, true);
|
|
304
276
|
setReloadFlag(true);
|
|
305
|
-
|
|
306
|
-
|
|
277
|
+
}, client: state.client, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, SecondaryButtonComponent: SecondaryButtonPrimitive, TextInputComponent: TextInputPrimitive, HeaderComponent: HeaderPrimitive, SelectComponent: QuillSelectComponent, dashNames: state.dashboards }), _jsx(ReorderDashboardModal, { organizationId: state.organizationId, isOpen: isReorderDashboardModalOpen, client: state.client, onSave: async () => {
|
|
278
|
+
await reloadDashboard(state.selectedDashboard?.name, true);
|
|
307
279
|
setReloadFlag(true);
|
|
308
|
-
|
|
309
|
-
}, setIsOpen: setIsReorderDashboardModalOpen, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, selectedDashboard: selectedReorderDashboard }), _jsx(AddFilterModal, { selectedDashboard: state.selectedEditDashboard, isOpen: addFilterModalIsOpen, setIsOpen: setAddFilterModalIsOpen, client: state.client, ModalComponent: ModalPrimitive, TextInputComponent: TextInputPrimitive, SelectComponent: SelectPrimitive, HeaderComponent: HeaderPrimitive, ButtonComponent: ButtonPrimitive, openAddDashboardModal: () => {
|
|
310
|
-
setIsAddDashboardModalOpen(true);
|
|
311
|
-
// setAddFilterModalIsOpen(false);
|
|
312
|
-
} }), _jsx(AddDashboardModal, { selectedDashboard: state.selectedDashboard, isOpen: isAddDashboardModalOpen, setIsOpen: setIsAddDashboardModalOpen, client: state.client, ModalComponent: ModalPrimitive, TextInputComponent: TextInputPrimitive, SelectComponent: SelectPrimitive, HeaderComponent: HeaderPrimitive, ButtonComponent: ButtonPrimitive, dashNames: state.dashboards,
|
|
313
|
-
// @ts-ignore
|
|
314
|
-
openAddFilterModal: () => {
|
|
315
|
-
setAddFilterModalIsOpen(true);
|
|
316
|
-
// setIsAddDashboardModalOpen(false);
|
|
317
|
-
}, organizationId: state.organizationId, getDashNames: getDashNames })] }))] }), _jsx(ReportWrapper, { isOpen: state.activeComponent === 'Report', setIsOpen: (isOpen) => {
|
|
280
|
+
}, setIsOpen: setIsReorderDashboardModalOpen, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, selectedDashboard: selectedReorderDashboard })] }))] }), _jsx(ReportWrapper, { isOpen: state.activeComponent === 'Report', setIsOpen: (isOpen) => {
|
|
318
281
|
dispatch({
|
|
319
282
|
type: 'SET_ACTIVE_COMPONENT',
|
|
320
283
|
payload: isOpen ? 'Report' : 'Dashboards',
|
|
321
284
|
});
|
|
322
|
-
}, ButtonComponent: ButtonPrimitive, SecondaryButtonComponent: SecondaryButtonPrimitive, ModalComponent: MemoizedModal, SelectComponent: SelectPrimitive, OrganizationSelectComponent: OrgSelect, organizationId: state.organizationId, queryEndpoint: state.queryEndpoint, queryHeaders: state.queryHeaders, withCredentials: state.withCredentials, reloadDashboard: () => {
|
|
285
|
+
}, ButtonComponent: ButtonPrimitive, SecondaryButtonComponent: SecondaryButtonPrimitive, ModalComponent: MemoizedModal, SelectComponent: SelectPrimitive, OrganizationSelectComponent: OrgSelect, organizationId: state.organizationId, queryEndpoint: state.queryEndpoint, queryHeaders: state.queryHeaders, withCredentials: state.withCredentials, reloadDashboard: async () => {
|
|
286
|
+
await reloadDashboard(state.selectedDashboard?.name);
|
|
323
287
|
setReloadFlag(true);
|
|
324
|
-
reloadDashboard();
|
|
325
288
|
} })] }));
|
|
326
289
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLViewManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/SQLViewManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SQLViewManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/SQLViewManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AAmCnE,eAAO,MAAM,mBAAmB,aAAc,GAAG,EAAE,aAalD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,GACf,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CA8eA"}
|