@quillsql/admin 1.3.7 → 1.3.9
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 +0 -5
- package/dist/cjs/Admin.d.ts.map +1 -1
- package/dist/cjs/Admin.js +56 -108
- package/dist/cjs/AdminProvider.d.ts +9 -5
- package/dist/cjs/AdminProvider.d.ts.map +1 -1
- package/dist/cjs/AdminProvider.js +73 -84
- package/dist/cjs/api/ConnectionClient.d.ts +12 -10
- package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
- package/dist/cjs/api/ConnectionClient.js +102 -30
- package/dist/cjs/assets/ArrowDownHeadIcon.d.ts +5 -0
- package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -0
- package/dist/cjs/assets/ArrowDownHeadIcon.js +5 -0
- package/dist/cjs/assets/XIcon.d.ts +5 -0
- package/dist/cjs/assets/XIcon.d.ts.map +1 -0
- package/dist/cjs/assets/XIcon.js +5 -0
- package/dist/cjs/assets/index.d.ts +3 -0
- package/dist/cjs/assets/index.d.ts.map +1 -0
- package/dist/cjs/assets/index.js +10 -0
- package/dist/cjs/components/DatabaseMismatchCard.d.ts +6 -0
- package/dist/cjs/components/DatabaseMismatchCard.d.ts.map +1 -0
- package/dist/cjs/components/DatabaseMismatchCard.js +18 -0
- package/dist/cjs/components/DatabaseSelector.d.ts +2 -1
- package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
- package/dist/cjs/components/DatabaseSelector.js +2 -2
- package/dist/cjs/components/DropDownMenuWithLabel.d.ts +2 -1
- package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/cjs/components/DropDownMenuWithLabel.js +160 -39
- package/dist/cjs/components/DynamicBanner.d.ts +11 -0
- package/dist/cjs/components/DynamicBanner.d.ts.map +1 -0
- package/dist/cjs/components/DynamicBanner.js +22 -0
- package/dist/cjs/components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/cjs/components/EnvSelectPopover.js +0 -1
- package/dist/cjs/components/OrgSelect.d.ts +23 -0
- package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
- package/dist/cjs/components/OrgSelect.js +55 -15
- package/dist/cjs/components/SqlTextEditor.d.ts +7 -0
- package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -0
- package/dist/cjs/components/SqlTextEditor.js +44 -0
- package/dist/cjs/components/UiComponents.d.ts +119 -0
- package/dist/cjs/components/UiComponents.d.ts.map +1 -0
- package/dist/cjs/components/UiComponents.js +268 -0
- package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts +3 -2
- package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectDatabase.js +101 -43
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +3 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.js +13 -14
- package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts +10 -1
- package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/CreateSqlViews.js +13 -13
- package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +23 -0
- package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +1 -0
- package/dist/cjs/forms/sql_views/CreateEditSqlView.js +161 -0
- package/dist/cjs/modals/NewDashboardModal.js +1 -1
- 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 +2 -2
- package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/cjs/public_components/CreateEnvironment.js +34 -8
- package/dist/cjs/public_components/DashboardBuilder.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardBuilder.js +30 -16
- package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardManager.js +114 -104
- package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/cjs/public_components/SQLViewManager.js +252 -333
- package/dist/cjs/utils/dataEditor.d.ts +4 -0
- package/dist/cjs/utils/dataEditor.d.ts.map +1 -0
- package/dist/cjs/utils/dataEditor.js +144 -0
- package/dist/cjs/utils/dataFetcher.d.ts +3 -0
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -0
- package/dist/cjs/utils/dataFetcher.js +68 -0
- package/dist/cjs/utils/databases.d.ts +13 -2
- package/dist/cjs/utils/databases.d.ts.map +1 -1
- package/dist/cjs/utils/databases.js +52 -9
- package/dist/cjs/utils/table.d.ts +2 -0
- package/dist/cjs/utils/table.d.ts.map +1 -1
- package/dist/esm/Admin.d.ts +0 -5
- package/dist/esm/Admin.d.ts.map +1 -1
- package/dist/esm/Admin.js +56 -107
- package/dist/esm/AdminProvider.d.ts +9 -5
- package/dist/esm/AdminProvider.d.ts.map +1 -1
- package/dist/esm/AdminProvider.js +71 -85
- package/dist/esm/api/ConnectionClient.d.ts +12 -10
- package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
- package/dist/esm/api/ConnectionClient.js +99 -29
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowDownHeadIcon.js +3 -0
- package/dist/esm/assets/XIcon.d.ts +5 -0
- package/dist/esm/assets/XIcon.d.ts.map +1 -0
- package/dist/esm/assets/XIcon.js +3 -0
- package/dist/esm/assets/index.d.ts +3 -0
- package/dist/esm/assets/index.d.ts.map +1 -0
- package/dist/esm/assets/index.js +2 -0
- package/dist/esm/components/DatabaseMismatchCard.d.ts +6 -0
- package/dist/esm/components/DatabaseMismatchCard.d.ts.map +1 -0
- package/dist/esm/components/DatabaseMismatchCard.js +15 -0
- package/dist/esm/components/DatabaseSelector.d.ts +2 -1
- package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
- package/dist/esm/components/DatabaseSelector.js +2 -2
- package/dist/esm/components/DropDownMenuWithLabel.d.ts +2 -1
- package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/esm/components/DropDownMenuWithLabel.js +137 -39
- package/dist/esm/components/DynamicBanner.d.ts +11 -0
- package/dist/esm/components/DynamicBanner.d.ts.map +1 -0
- package/dist/esm/components/DynamicBanner.js +16 -0
- package/dist/esm/components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/esm/components/EnvSelectPopover.js +0 -1
- package/dist/esm/components/OrgSelect.d.ts +23 -0
- package/dist/esm/components/OrgSelect.d.ts.map +1 -1
- package/dist/esm/components/OrgSelect.js +52 -16
- package/dist/esm/components/SqlTextEditor.d.ts +7 -0
- package/dist/esm/components/SqlTextEditor.d.ts.map +1 -0
- package/dist/esm/components/SqlTextEditor.js +38 -0
- package/dist/esm/components/UiComponents.d.ts +119 -0
- package/dist/esm/components/UiComponents.d.ts.map +1 -0
- package/dist/esm/components/UiComponents.js +254 -0
- package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts +3 -2
- package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectDatabase.js +102 -44
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +3 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.js +13 -14
- package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts +10 -1
- package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/CreateSqlViews.js +12 -14
- package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +23 -0
- package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +1 -0
- package/dist/esm/forms/sql_views/CreateEditSqlView.js +155 -0
- package/dist/esm/modals/NewDashboardModal.js +1 -1
- 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 +2 -2
- package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/esm/public_components/CreateEnvironment.js +12 -9
- package/dist/esm/public_components/DashboardBuilder.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardBuilder.js +30 -16
- package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardManager.js +115 -105
- package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/esm/public_components/SQLViewManager.js +254 -335
- package/dist/esm/utils/dataEditor.d.ts +4 -0
- package/dist/esm/utils/dataEditor.d.ts.map +1 -0
- package/dist/esm/utils/dataEditor.js +138 -0
- package/dist/esm/utils/dataFetcher.d.ts +3 -0
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
- package/dist/esm/utils/dataFetcher.js +63 -0
- package/dist/esm/utils/databases.d.ts +13 -2
- package/dist/esm/utils/databases.d.ts.map +1 -1
- package/dist/esm/utils/databases.js +52 -9
- package/dist/esm/utils/table.d.ts +2 -0
- package/dist/esm/utils/table.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export interface Option {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
export interface SelectComponentProps {
|
|
6
|
+
onChange: (value: string) => void;
|
|
7
|
+
value: string;
|
|
8
|
+
options: Option[];
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
label?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface TextInputComponentProps {
|
|
13
|
+
onChange: (e: any) => void;
|
|
14
|
+
value: string;
|
|
15
|
+
id: string;
|
|
16
|
+
placeholder: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ButtonComponentProps {
|
|
19
|
+
onClick: () => void;
|
|
20
|
+
label: string;
|
|
21
|
+
primary?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface TableComponentProps {
|
|
24
|
+
rows: any[];
|
|
25
|
+
columns: any[];
|
|
26
|
+
height: string;
|
|
27
|
+
}
|
|
28
|
+
export interface TextInputComponentProps {
|
|
29
|
+
onChange: (e: any) => void;
|
|
30
|
+
value: string;
|
|
31
|
+
id: string;
|
|
32
|
+
width?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface ModalComponentProps {
|
|
35
|
+
children: any;
|
|
36
|
+
isOpen: boolean;
|
|
37
|
+
onClose?: () => void;
|
|
38
|
+
title?: string;
|
|
39
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
40
|
+
theme?: any;
|
|
41
|
+
}
|
|
42
|
+
export interface HeaderProps {
|
|
43
|
+
children: any;
|
|
44
|
+
}
|
|
45
|
+
export interface LabelProps {
|
|
46
|
+
children: any;
|
|
47
|
+
}
|
|
48
|
+
export interface TextProps {
|
|
49
|
+
children: any;
|
|
50
|
+
}
|
|
51
|
+
export interface DeleteButtonProps {
|
|
52
|
+
onClick: () => void;
|
|
53
|
+
style: any;
|
|
54
|
+
}
|
|
55
|
+
export declare const MemoizedTextInput: ({ value, onChange, placeholder, id, width, }: TextInputComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
export declare const MemoizedButton: ({ label, onClick, primary, style, width, }: {
|
|
57
|
+
label: any;
|
|
58
|
+
onClick: any;
|
|
59
|
+
primary?: boolean | undefined;
|
|
60
|
+
style?: {} | undefined;
|
|
61
|
+
width?: string | undefined;
|
|
62
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
export declare const MemoizedSecondaryButton: ({ label, onClick }: {
|
|
64
|
+
label: any;
|
|
65
|
+
onClick: any;
|
|
66
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
67
|
+
export declare const MemoizedSelect: ({ value, onChange, options, disabled, label, }: {
|
|
68
|
+
value: any;
|
|
69
|
+
onChange: any;
|
|
70
|
+
options: any;
|
|
71
|
+
disabled?: boolean | undefined;
|
|
72
|
+
label: any;
|
|
73
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
74
|
+
export declare const MemoizedHeader: ({ children }: {
|
|
75
|
+
children: any;
|
|
76
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
77
|
+
export declare const MemoizedLabel: ({ children }: {
|
|
78
|
+
children: any;
|
|
79
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
80
|
+
export declare const MemoizedText: ({ children }: {
|
|
81
|
+
children: any;
|
|
82
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
83
|
+
export interface PopoverComponentProps {
|
|
84
|
+
children: any;
|
|
85
|
+
onClose?: () => void;
|
|
86
|
+
parentRef?: any;
|
|
87
|
+
style?: any;
|
|
88
|
+
onClick?: () => void;
|
|
89
|
+
showTrigger?: boolean;
|
|
90
|
+
isOpen: boolean;
|
|
91
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
92
|
+
}
|
|
93
|
+
export declare function MemoizedPopover({ onClose, parentRef, children, style, onClick, label, showTrigger, isOpen, setIsOpen, }: {
|
|
94
|
+
onClose: any;
|
|
95
|
+
parentRef: any;
|
|
96
|
+
children: any;
|
|
97
|
+
style?: {} | undefined;
|
|
98
|
+
onClick: any;
|
|
99
|
+
label: any;
|
|
100
|
+
showTrigger?: boolean | undefined;
|
|
101
|
+
isOpen: any;
|
|
102
|
+
setIsOpen: any;
|
|
103
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
104
|
+
export declare function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, }: {
|
|
105
|
+
isOpen: any;
|
|
106
|
+
onClose: any;
|
|
107
|
+
setIsOpen: any;
|
|
108
|
+
title: any;
|
|
109
|
+
children: any;
|
|
110
|
+
theme: any;
|
|
111
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
112
|
+
export declare const MemoizedDeleteButton: ({ onClick, style }: {
|
|
113
|
+
onClick: any;
|
|
114
|
+
style: any;
|
|
115
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
116
|
+
export declare const LoadingSpinner: ({ ...props }: {
|
|
117
|
+
[x: string]: any;
|
|
118
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
119
|
+
//# sourceMappingURL=UiComponents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoadingSpinner = exports.MemoizedDeleteButton = exports.MemoizedModal = exports.MemoizedPopover = exports.MemoizedText = exports.MemoizedLabel = exports.MemoizedHeader = exports.MemoizedSelect = exports.MemoizedSecondaryButton = exports.MemoizedButton = exports.MemoizedTextInput = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
//@ts-nocheck
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const assets_1 = require("../assets");
|
|
8
|
+
const react_2 = require("@quillsql/react");
|
|
9
|
+
const MemoizedTextInput = ({ value, onChange, placeholder, id, width, }) => {
|
|
10
|
+
const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
|
|
11
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative', width: width }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
12
|
+
.quill-text-input {
|
|
13
|
+
background-color: white;
|
|
14
|
+
height: 40px;
|
|
15
|
+
width: 180px;
|
|
16
|
+
color: #384151;
|
|
17
|
+
border: 1px solid #e7e7e7;
|
|
18
|
+
border-radius: 6px;
|
|
19
|
+
text-align: left;
|
|
20
|
+
box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
|
|
21
|
+
padding-left: 12px;
|
|
22
|
+
padding-right: 12px;
|
|
23
|
+
padding-top: 0px;
|
|
24
|
+
padding-bottom: 0px;
|
|
25
|
+
box-sizing: content-box;
|
|
26
|
+
}` }), (0, jsx_runtime_1.jsx)("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, style: {
|
|
27
|
+
fontFamily: theme?.fontFamily,
|
|
28
|
+
width: width ? 'calc(100% - 24px)' : '180px',
|
|
29
|
+
} })] }));
|
|
30
|
+
};
|
|
31
|
+
exports.MemoizedTextInput = MemoizedTextInput;
|
|
32
|
+
const MemoizedButton = ({ label, onClick, primary = true, style = {}, width = 'auto', }) => {
|
|
33
|
+
const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
|
|
34
|
+
return ((0, jsx_runtime_1.jsxs)("button", { className: "quill-button", onClick: onClick, style: { fontFamily: theme?.fontFamily, ...style, width: width }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
35
|
+
.quill-button {
|
|
36
|
+
background-color: ${primary ? '#212121' : 'white'};
|
|
37
|
+
color: ${primary ? 'white' : '#212121'};
|
|
38
|
+
height: 40px;
|
|
39
|
+
border: 1px solid transparent;
|
|
40
|
+
font-weight: 500;
|
|
41
|
+
border-radius: 6px;
|
|
42
|
+
box-sizing: content-box;
|
|
43
|
+
padding-left: 16px;
|
|
44
|
+
padding-right: 16px;
|
|
45
|
+
overflow: hidden;
|
|
46
|
+
font-size: 15px;
|
|
47
|
+
cursor: pointer;
|
|
48
|
+
}
|
|
49
|
+
.quill-button:hover {
|
|
50
|
+
background-color: rgba(56, 65, 81, 0.9);
|
|
51
|
+
border-radius: 6px;
|
|
52
|
+
overflow: hidden;
|
|
53
|
+
}` }), label] }));
|
|
54
|
+
};
|
|
55
|
+
exports.MemoizedButton = MemoizedButton;
|
|
56
|
+
const MemoizedSecondaryButton = ({ label, onClick }) => {
|
|
57
|
+
const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
|
|
58
|
+
return ((0, jsx_runtime_1.jsxs)("button", { className: "quill-secondary-button", onClick: onClick, style: { fontFamily: theme?.fontFamily }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
59
|
+
.quill-secondary-button {
|
|
60
|
+
background-color: #F5F5F6;
|
|
61
|
+
background-color: white;
|
|
62
|
+
color: #212121';
|
|
63
|
+
color: rgba(56, 65, 81, 0.75);
|
|
64
|
+
height: 40px;
|
|
65
|
+
border: 1px solid transparent;
|
|
66
|
+
font-weight: 500;
|
|
67
|
+
border-radius: 6px;
|
|
68
|
+
padding-left: 16px;
|
|
69
|
+
border: 1px solid #e7e7e7;
|
|
70
|
+
padding-right: 16px;
|
|
71
|
+
box-sizing: content-box;
|
|
72
|
+
font-size: 15px;
|
|
73
|
+
cursor: pointer;
|
|
74
|
+
}
|
|
75
|
+
.quill-secondary-button:hover {
|
|
76
|
+
background-color: rgba(56, 65, 81, 0.09);
|
|
77
|
+
}` }), label] }));
|
|
78
|
+
};
|
|
79
|
+
exports.MemoizedSecondaryButton = MemoizedSecondaryButton;
|
|
80
|
+
const MemoizedSelect = ({ value, onChange, options, disabled = false, label, }) => {
|
|
81
|
+
const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
|
|
82
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
83
|
+
position: 'relative',
|
|
84
|
+
maxWidth: 206,
|
|
85
|
+
}, children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
86
|
+
.quill-select {
|
|
87
|
+
background-color: white;
|
|
88
|
+
height: 42px;
|
|
89
|
+
color: #384151;
|
|
90
|
+
width: 206px;
|
|
91
|
+
border: 1px solid #e7e7e7;
|
|
92
|
+
border-radius: 6px;
|
|
93
|
+
text-align: left;
|
|
94
|
+
box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
|
|
95
|
+
padding-left: 12px;
|
|
96
|
+
padding-right: 12px;
|
|
97
|
+
}` }), (0, jsx_runtime_1.jsx)("select", { style: { WebkitAppearance: 'none', fontFamily: theme?.fontFamily }, className: "quill-select", value: value, disabled: disabled, onChange: (event) => onChange(event.target.value), children: options.map((option) => ((0, jsx_runtime_1.jsx)("option", { className: "quill-option", value: option.value, children: option.label }, option.value))) }), (0, jsx_runtime_1.jsx)(assets_1.ArrowDownHeadIcon, { style: {
|
|
98
|
+
height: '20px',
|
|
99
|
+
width: '20px',
|
|
100
|
+
flex: 'none',
|
|
101
|
+
position: 'absolute',
|
|
102
|
+
right: 8,
|
|
103
|
+
top: 11,
|
|
104
|
+
color: '#6C727F',
|
|
105
|
+
}, "aria-hidden": "true" })] }));
|
|
106
|
+
};
|
|
107
|
+
exports.MemoizedSelect = MemoizedSelect;
|
|
108
|
+
const MemoizedHeader = ({ children }) => ((0, jsx_runtime_1.jsx)("h1", { style: {
|
|
109
|
+
fontSize: 16,
|
|
110
|
+
fontWeight: 600,
|
|
111
|
+
color: '#384151',
|
|
112
|
+
userSelect: 'none',
|
|
113
|
+
margin: 0,
|
|
114
|
+
padding: 0,
|
|
115
|
+
}, children: children }));
|
|
116
|
+
exports.MemoizedHeader = MemoizedHeader;
|
|
117
|
+
const MemoizedLabel = ({ children }) => ((0, jsx_runtime_1.jsx)("h1", { style: {
|
|
118
|
+
fontSize: 14,
|
|
119
|
+
fontWeight: 600,
|
|
120
|
+
color: '#575E6A',
|
|
121
|
+
userSelect: 'none',
|
|
122
|
+
paddingBottom: 5,
|
|
123
|
+
}, children: children }));
|
|
124
|
+
exports.MemoizedLabel = MemoizedLabel;
|
|
125
|
+
const MemoizedText = ({ children }) => ((0, jsx_runtime_1.jsx)("p", { style: {
|
|
126
|
+
fontSize: 12,
|
|
127
|
+
fontWeight: 400,
|
|
128
|
+
margin: 0,
|
|
129
|
+
color: '#575E6A',
|
|
130
|
+
userSelect: 'none',
|
|
131
|
+
}, children: children }));
|
|
132
|
+
exports.MemoizedText = MemoizedText;
|
|
133
|
+
const useOnClickOutside = (ref, handler) => {
|
|
134
|
+
(0, react_1.useEffect)(() => {
|
|
135
|
+
const listener = (event) => {
|
|
136
|
+
if (!ref.current || ref.current.contains(event.target)) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
handler(event);
|
|
140
|
+
};
|
|
141
|
+
document.addEventListener('mousedown', listener);
|
|
142
|
+
document.addEventListener('touchstart', listener);
|
|
143
|
+
return () => {
|
|
144
|
+
document.removeEventListener('mousedown', listener);
|
|
145
|
+
document.removeEventListener('touchstart', listener);
|
|
146
|
+
};
|
|
147
|
+
}, [ref, handler]);
|
|
148
|
+
};
|
|
149
|
+
function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, label, showTrigger = true, isOpen, setIsOpen, }) {
|
|
150
|
+
const modalRef = (0, react_1.useRef)(null);
|
|
151
|
+
useOnClickOutside(modalRef, (e) => {
|
|
152
|
+
// Exclude click on trigger button (e.g. Dropdown Button) from outside click handler
|
|
153
|
+
const isTriggerElem = parentRef
|
|
154
|
+
? parentRef.current?.contains(e.target)
|
|
155
|
+
: false;
|
|
156
|
+
if (isTriggerElem) {
|
|
157
|
+
handleCloseModal();
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
const handleCloseModal = () => {
|
|
161
|
+
setIsOpen(false);
|
|
162
|
+
if (onClose) {
|
|
163
|
+
onClose();
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [showTrigger && ((0, jsx_runtime_1.jsx)(exports.MemoizedSecondaryButton, { onClick: (e) => {
|
|
167
|
+
setIsOpen((isOpen) => !isOpen);
|
|
168
|
+
if (onClick) {
|
|
169
|
+
onClick(e);
|
|
170
|
+
}
|
|
171
|
+
}, label: label })), isOpen && ((0, jsx_runtime_1.jsx)("div", { id: "quill-popover-modal", ref: modalRef, style: { position: 'relative' }, children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
172
|
+
background: 'white',
|
|
173
|
+
position: 'absolute',
|
|
174
|
+
boxShadow: '0px 1px 12px 0px rgba(56, 65, 81, 0.1)',
|
|
175
|
+
border: '1px solid #e7e7e7',
|
|
176
|
+
boxSizing: 'content-box',
|
|
177
|
+
zIndex: 1,
|
|
178
|
+
top: showTrigger ? 12 : 0,
|
|
179
|
+
borderRadius: 6,
|
|
180
|
+
padding: 20,
|
|
181
|
+
overflow: 'scroll',
|
|
182
|
+
...style,
|
|
183
|
+
}, children: children }) }))] }));
|
|
184
|
+
}
|
|
185
|
+
exports.MemoizedPopover = MemoizedPopover;
|
|
186
|
+
function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, }) {
|
|
187
|
+
if (!isOpen) {
|
|
188
|
+
return null;
|
|
189
|
+
}
|
|
190
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: {
|
|
191
|
+
position: 'fixed',
|
|
192
|
+
top: '0',
|
|
193
|
+
right: '0',
|
|
194
|
+
bottom: '0',
|
|
195
|
+
left: '0',
|
|
196
|
+
zIndex: '50',
|
|
197
|
+
backgroundColor: 'rgba(255, 255, 255, 0.8)',
|
|
198
|
+
backdropFilter: 'blur(5px)',
|
|
199
|
+
}, onClick: onClose }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
200
|
+
// position: "absolute",
|
|
201
|
+
position: 'fixed',
|
|
202
|
+
left: '50%',
|
|
203
|
+
top: '50%',
|
|
204
|
+
zIndex: '50',
|
|
205
|
+
// width: "100%",
|
|
206
|
+
maxWidth: 1024,
|
|
207
|
+
maxHeight: '90vh',
|
|
208
|
+
display: 'flex',
|
|
209
|
+
justifyContent: 'center',
|
|
210
|
+
alignItems: 'center',
|
|
211
|
+
transform: 'translateX(-50%) translateY(-50%)',
|
|
212
|
+
background: 'white',
|
|
213
|
+
borderRadius: 8,
|
|
214
|
+
borderStyle: 'solid',
|
|
215
|
+
borderWidth: 1,
|
|
216
|
+
borderColor: '#e7e7e7',
|
|
217
|
+
overflow: 'hidden',
|
|
218
|
+
// zIndex: 1000,
|
|
219
|
+
}, children: (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
220
|
+
// width: "80%",
|
|
221
|
+
maxHeight: '90vh',
|
|
222
|
+
overflowY: 'scroll',
|
|
223
|
+
// maxWidth: "700px",
|
|
224
|
+
backgroundColor: '#ffffff',
|
|
225
|
+
// padding: "20px",
|
|
226
|
+
// borderRadius: "8px",
|
|
227
|
+
display: 'flex',
|
|
228
|
+
flexDirection: 'column',
|
|
229
|
+
alignItems: 'center',
|
|
230
|
+
position: 'relative',
|
|
231
|
+
fontFamily: theme?.fontFamily,
|
|
232
|
+
}, children: [(0, jsx_runtime_1.jsxs)("div", { id: "quill-modal-header", style: {
|
|
233
|
+
display: 'flex',
|
|
234
|
+
flexDirection: 'row',
|
|
235
|
+
width: '100%',
|
|
236
|
+
justifyContent: 'space-between',
|
|
237
|
+
alignItems: 'center',
|
|
238
|
+
}, children: [(0, jsx_runtime_1.jsx)("h2", { style: {
|
|
239
|
+
fontSize: 18,
|
|
240
|
+
fontWeight: '600',
|
|
241
|
+
marginLeft: 20,
|
|
242
|
+
// width: '90%',
|
|
243
|
+
textAlign: 'left',
|
|
244
|
+
paddingTop: 18,
|
|
245
|
+
color: theme?.primaryTextColor,
|
|
246
|
+
}, children: title }), (0, jsx_runtime_1.jsx)(exports.MemoizedDeleteButton, { onClick: onClose, style: { marginRight: 10, marginTop: 10 } })] }), children] }) })] }));
|
|
247
|
+
}
|
|
248
|
+
exports.MemoizedModal = MemoizedModal;
|
|
249
|
+
const MemoizedDeleteButton = ({ onClick, style }) => ((0, jsx_runtime_1.jsxs)("button", { className: "quill-delete-button", type: "button", onClick: onClick, style: {
|
|
250
|
+
height: 42,
|
|
251
|
+
width: 42,
|
|
252
|
+
border: 'none',
|
|
253
|
+
cursor: 'pointer',
|
|
254
|
+
display: 'flex',
|
|
255
|
+
alignItems: 'center',
|
|
256
|
+
justifyContent: 'center',
|
|
257
|
+
borderRadius: 6,
|
|
258
|
+
...style,
|
|
259
|
+
}, children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
260
|
+
.quill-delete-button {
|
|
261
|
+
background-color: white;
|
|
262
|
+
}
|
|
263
|
+
.quill-delete-button:hover {
|
|
264
|
+
background-color: rgba(56, 65, 81, 0.03);
|
|
265
|
+
}` }), (0, jsx_runtime_1.jsx)(assets_1.XIcon, { height: "20", width: "20", fill: "#6C727F" })] }));
|
|
266
|
+
exports.MemoizedDeleteButton = MemoizedDeleteButton;
|
|
267
|
+
const LoadingSpinner = ({ ...props }) => ((0, jsx_runtime_1.jsxs)("svg", { width: "24", height: "24", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 6)", stroke: "#364153", fill: "none", transform: "rotate(-90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "-180 12 12", to: "180 12 12", dur: "0.8s", repeatCount: "indefinite" }) }), (0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 1 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", stroke: '#ADB1B9', fill: "none", transform: "rotate(90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) })] }));
|
|
268
|
+
exports.LoadingSpinner = LoadingSpinner;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
2
|
import { ConnectionError, ConnectionType } from '../../utils/databases';
|
|
3
3
|
import { SchemaDetails } from '../../utils/schema';
|
|
4
|
-
export default function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnvironmentDetails, environmentDetails, }: {
|
|
4
|
+
export default function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnvironmentDetails, environmentDetails, envClientId, }: {
|
|
5
5
|
containerStyle?: CSSProperties;
|
|
6
6
|
header1Style?: CSSProperties;
|
|
7
7
|
header2Style?: CSSProperties;
|
|
8
8
|
environmentDetails?: ConnectionType;
|
|
9
|
-
setEnvironmentDetails: (connectionInfo?: ConnectionType, schemaDetails?: SchemaDetails, schemaError?: ConnectionError) => void;
|
|
9
|
+
setEnvironmentDetails: (connectionInfo?: ConnectionType, schemaDetails?: SchemaDetails, schemaError?: ConnectionError, clientId?: string) => void;
|
|
10
|
+
envClientId?: string;
|
|
10
11
|
}): import("react/jsx-runtime").JSX.Element;
|
|
11
12
|
//# sourceMappingURL=ConnectDatabase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectDatabase.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectDatabase.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"ConnectDatabase.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectDatabase.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAoB,MAAM,OAAO,CAAC;AAG/D,OAAO,EACL,eAAe,EACf,cAAc,EAIf,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,WAAgB,GACjB,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,qBAAqB,EAAE,CACrB,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,eAAe,EAC7B,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,2CAwYA"}
|
|
@@ -10,20 +10,57 @@ const DatabaseSelector_1 = __importDefault(require("../../components/DatabaseSel
|
|
|
10
10
|
const databases_1 = require("../../utils/databases");
|
|
11
11
|
const ConnectionClient_1 = require("../../api/ConnectionClient");
|
|
12
12
|
const delay_1 = require("../../utils/delay");
|
|
13
|
-
function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnvironmentDetails, environmentDetails, }) {
|
|
13
|
+
function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnvironmentDetails, environmentDetails, envClientId = '', }) {
|
|
14
|
+
// SPECIAL FIELDS FOR BIG QUERY ONLY
|
|
15
|
+
const [companyTag, setCompanyTag] = (0, react_1.useState)('');
|
|
14
16
|
const [showError, setShowError] = (0, react_1.useState)(false);
|
|
15
17
|
const [connectButtonMessage, setConnectButtonMessage] = (0, react_1.useState)('Connect');
|
|
16
18
|
const [copied, setCopied] = (0, react_1.useState)(false);
|
|
19
|
+
const [clientId, setClientId] = (0, react_1.useState)(envClientId);
|
|
20
|
+
const [fileLabel, setFileLabel] = (0, react_1.useState)('No file chosen');
|
|
17
21
|
const [databaseConnectionDetails, setConnectionDetails] = (0, react_1.useState)(environmentDetails);
|
|
18
22
|
const onDatabaseSelect = (database) => {
|
|
23
|
+
setShowError(false);
|
|
19
24
|
setConnectionDetails((0, databases_1.getDatabaseConnectionFormat)(database));
|
|
20
25
|
};
|
|
21
|
-
const
|
|
26
|
+
const myInputRef = (0, react_1.useRef)(null);
|
|
27
|
+
const handleButtonClick = () => {
|
|
28
|
+
// current property is a reference to the actual DOM element
|
|
29
|
+
if (myInputRef.current) {
|
|
30
|
+
myInputRef.current.click();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const handleFileChange = (e) => {
|
|
34
|
+
// read file
|
|
35
|
+
const file = e.target.files?.[0];
|
|
36
|
+
if (!file) {
|
|
37
|
+
return 'No file selected';
|
|
38
|
+
}
|
|
39
|
+
const reader = new FileReader();
|
|
40
|
+
reader.onload = function (event) {
|
|
41
|
+
try {
|
|
42
|
+
const obj = JSON.parse(event.target.result);
|
|
43
|
+
const jsonString = JSON.stringify(obj, null, 2); // stringify with pretty print
|
|
44
|
+
setConnectionDetails({
|
|
45
|
+
...databaseConnectionDetails, // Cast databaseConnectionDetails to ConnectionType
|
|
46
|
+
jsonString: jsonString,
|
|
47
|
+
});
|
|
48
|
+
setFileLabel(file.name);
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
console.log('Error parsing JSON file', err);
|
|
52
|
+
setFileLabel('Error parsing JSON file');
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
reader.readAsText(file);
|
|
56
|
+
};
|
|
57
|
+
const testConnectionAndFormClient = async () => {
|
|
22
58
|
const connectionString = (0, databases_1.formConnectionString)(databaseConnectionDetails);
|
|
23
|
-
const result = await (0, ConnectionClient_1.testConnectionString)(connectionString);
|
|
24
|
-
if (result) {
|
|
59
|
+
const result = await (0, ConnectionClient_1.testConnectionString)(connectionString, databaseConnectionDetails.type, clientId);
|
|
60
|
+
if (result.success) {
|
|
25
61
|
try {
|
|
26
|
-
|
|
62
|
+
setClientId(result.clientId);
|
|
63
|
+
const suspectedSchema = await (0, ConnectionClient_1.getSchemaTableInfo)(result.clientId, 'public', databaseConnectionDetails.type);
|
|
27
64
|
setConnectButtonMessage('Connecting');
|
|
28
65
|
// Stop the next code from running for a second
|
|
29
66
|
// This is to show the connecting message
|
|
@@ -31,12 +68,12 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
|
|
|
31
68
|
if ('selectedFields' in suspectedSchema) {
|
|
32
69
|
setConnectButtonMessage('Connected ✅');
|
|
33
70
|
await (0, delay_1.delay)(2000);
|
|
34
|
-
setEnvironmentDetails(databaseConnectionDetails, suspectedSchema, undefined);
|
|
71
|
+
setEnvironmentDetails(databaseConnectionDetails, suspectedSchema, undefined, result.clientId);
|
|
35
72
|
}
|
|
36
73
|
else {
|
|
37
74
|
setConnectButtonMessage('Connected ✅');
|
|
38
75
|
await (0, delay_1.delay)(2000);
|
|
39
|
-
setEnvironmentDetails(databaseConnectionDetails, undefined, suspectedSchema);
|
|
76
|
+
setEnvironmentDetails(databaseConnectionDetails, undefined, suspectedSchema, result.clientId);
|
|
40
77
|
}
|
|
41
78
|
}
|
|
42
79
|
catch (e) {
|
|
@@ -50,7 +87,7 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
|
|
|
50
87
|
}
|
|
51
88
|
};
|
|
52
89
|
return ((0, jsx_runtime_1.jsxs)("div", { style: { ...containerStyle }, id: "connect-database-form", children: [(0, jsx_runtime_1.jsx)("h1", { style: header1Style, children: "Connect Database" }), (0, jsx_runtime_1.jsxs)("div", { style: { marginTop: 12 }, children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: 600, color: '#565656' }, children: "Database type" }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', gap: 10 }, children: databases_1.DATABASE_DEFAULT_INFO.map((database) => {
|
|
53
|
-
return ((0, jsx_runtime_1.jsx)(DatabaseSelector_1.default, { onDatabaseSelect: onDatabaseSelect, containerStyle: { marginBottom: '12px' }, label: database.label, value: database.value, imageUrl: database.imageUrl }, database.label));
|
|
90
|
+
return ((0, jsx_runtime_1.jsx)(DatabaseSelector_1.default, { onDatabaseSelect: onDatabaseSelect, databaseType: databaseConnectionDetails?.type || '', containerStyle: { marginBottom: '12px' }, label: database.label, value: database.value, imageUrl: database.imageUrl }, database.label));
|
|
54
91
|
}) })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', alignItems: 'center' }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
55
92
|
// width: '100%',
|
|
56
93
|
maxWidth: 330,
|
|
@@ -95,49 +132,70 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
|
|
|
95
132
|
flexDirection: 'row',
|
|
96
133
|
alignItems: 'center',
|
|
97
134
|
gap: 6,
|
|
98
|
-
}, children: [(0, jsx_runtime_1.jsx)("div", { children: "\u2705" }), " ", (0, jsx_runtime_1.jsx)("div", { children: "Copied to clipboard" })] }))] }), databaseConnectionDetails && ((0, jsx_runtime_1.jsxs)("div", { children: [databaseConnectionDetails.type
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
135
|
+
}, children: [(0, jsx_runtime_1.jsx)("div", { children: "\u2705" }), " ", (0, jsx_runtime_1.jsx)("div", { children: "Copied to clipboard" })] }))] }), databaseConnectionDetails && ((0, jsx_runtime_1.jsxs)("div", { children: [databaseConnectionDetails.type !== 'BigQuery' ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: 600 }, children: "Connection String" }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
|
|
136
|
+
setConnectionDetails({
|
|
137
|
+
...databaseConnectionDetails,
|
|
138
|
+
connectionString: e.target.value,
|
|
139
|
+
});
|
|
140
|
+
}, value: databaseConnectionDetails.connectionString })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
141
|
+
...header1Style,
|
|
142
|
+
textAlign: 'center',
|
|
143
|
+
fontSize: 14,
|
|
144
|
+
color: '#565656',
|
|
145
|
+
display: 'flex',
|
|
146
|
+
flexDirection: 'row',
|
|
147
|
+
alignItems: 'center',
|
|
148
|
+
paddingTop: 24,
|
|
149
|
+
paddingBottom: 0,
|
|
150
|
+
}, children: [(0, jsx_runtime_1.jsx)("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } }), (0, jsx_runtime_1.jsx)("div", { style: { padding: 12 }, children: "or" }), (0, jsx_runtime_1.jsx)("div", { style: { width: '100%', height: 1, background: '#e7e7e7' } })] }), (0, jsx_runtime_1.jsx)("div", { id: "database-details-form", children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
151
|
+
display: 'grid',
|
|
152
|
+
gridTemplateColumns: 'repeat(3, 1fr)',
|
|
153
|
+
gap: '20px',
|
|
154
|
+
justifyContent: 'space-between',
|
|
155
|
+
marginTop: '16px',
|
|
156
|
+
}, children:
|
|
157
|
+
// get a list of types in the databaseConnectionDetails object and create a form for each
|
|
158
|
+
Object.entries(databaseConnectionDetails).map(([key, value]) => {
|
|
159
|
+
if (key !== 'connectionString' && key !== 'type')
|
|
160
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: {
|
|
161
|
+
...header2Style,
|
|
162
|
+
fontWeight: '600',
|
|
163
|
+
}, children: key
|
|
164
|
+
.split(/(?=[A-Z])/)
|
|
165
|
+
.map((word) => word.charAt(0).toUpperCase() +
|
|
166
|
+
word.slice(1))
|
|
167
|
+
.join(' ') }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
|
|
168
|
+
setConnectionDetails({
|
|
169
|
+
...databaseConnectionDetails,
|
|
170
|
+
[key]: e.target.value,
|
|
171
|
+
});
|
|
172
|
+
}, value: value, disabled: key === 'type' })] }, key));
|
|
173
|
+
}) }) })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { minWidth: 790 }, children: (0, jsx_runtime_1.jsxs)("div", { id: "database-details-form", style: {
|
|
114
174
|
display: 'grid',
|
|
115
|
-
gridTemplateColumns: 'repeat(
|
|
175
|
+
gridTemplateColumns: 'repeat(1, 1fr)',
|
|
116
176
|
gap: '20px',
|
|
117
177
|
justifyContent: 'space-between',
|
|
118
178
|
marginTop: '16px',
|
|
119
|
-
}, children:
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
...
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
})
|
|
134
|
-
}, value: value, disabled: key === 'type' })] }, key));
|
|
135
|
-
}) }) }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
179
|
+
}, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: {
|
|
180
|
+
...header2Style,
|
|
181
|
+
fontWeight: '600',
|
|
182
|
+
}, children: "Project ID" }), (0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
|
|
183
|
+
setConnectionDetails({
|
|
184
|
+
...databaseConnectionDetails,
|
|
185
|
+
companyTag: e.target.value,
|
|
186
|
+
});
|
|
187
|
+
setCompanyTag(e.target.value);
|
|
188
|
+
}, value: companyTag })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: '600' }, children: "Submit File" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", { type: "file", accept: ".json", onChange: handleFileChange, style: { display: 'none' }, id: "fileInput", ref: myInputRef }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
189
|
+
display: 'flex',
|
|
190
|
+
flexDirection: 'row',
|
|
191
|
+
gap: 12,
|
|
192
|
+
alignItems: 'center',
|
|
193
|
+
}, children: [(0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { onClick: handleButtonClick, label: 'Upload JSON' }), (0, jsx_runtime_1.jsx)("span", { style: { ...header2Style, fontWeight: '600' }, children: fileLabel })] })] })] })] }) })), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
136
194
|
width: '100%',
|
|
137
195
|
display: 'flex',
|
|
138
196
|
justifyContent: 'space-between',
|
|
139
197
|
alignItems: 'center',
|
|
140
198
|
marginTop: '24px',
|
|
141
|
-
}, children: [showError ? ((0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, color: 'red' }, children: "Couldn't connect to database." })) : ((0, jsx_runtime_1.jsx)("div", {})), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: connectButtonMessage, onClick:
|
|
199
|
+
}, children: [showError ? ((0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, color: 'red' }, children: "Couldn't connect to database." })) : ((0, jsx_runtime_1.jsx)("div", {})), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: connectButtonMessage, onClick: testConnectionAndFormClient })] })] }))] }));
|
|
142
200
|
}
|
|
143
201
|
exports.default = ConnectDatabase;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
2
|
import { SchemaDetails } from '../../utils/schema';
|
|
3
3
|
import { ConnectionError, ConnectionType } from '../../utils/databases';
|
|
4
|
-
export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, }: {
|
|
4
|
+
export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, }: {
|
|
5
5
|
containerStyle?: CSSProperties;
|
|
6
6
|
header1Style?: CSSProperties;
|
|
7
7
|
header2Style?: CSSProperties;
|
|
@@ -9,5 +9,7 @@ export default function ConnectSchema({ containerStyle, header1Style, header2Sty
|
|
|
9
9
|
environmentDetails?: ConnectionType;
|
|
10
10
|
initialError?: ConnectionError;
|
|
11
11
|
propogateSchemaDetails: (schemaDetails?: SchemaDetails) => void;
|
|
12
|
+
clientId: string;
|
|
13
|
+
parentRef: any;
|
|
12
14
|
}): import("react/jsx-runtime").JSX.Element;
|
|
13
15
|
//# sourceMappingURL=ConnectSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectSchema.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectSchema.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"ConnectSchema.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/ConnectSchema.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAA+B,MAAM,OAAO,CAAC;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQnD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,sBAAsB,EAAE,CAAC,aAAa,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,GAAG,CAAC;CAChB,2CAiSA"}
|