@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
|
@@ -1,35 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LoadingSpinner = exports.MemoizedDeleteButton = exports.MemoizedModal = exports.MemoizedPopover = exports.MemoizedText = exports.MemoizedLabel = exports.MemoizedHeader = exports.
|
|
6
|
+
exports.LoadingSpinner = exports.MemoizedDeleteButton = exports.MemoizedModal = exports.MemoizedPopover = exports.MemoizedText = exports.MemoizedLabel = exports.MemoizedHeader = exports.MemoizedSecondaryButton = exports.MemoizedButton = exports.MemoizedTextInput = void 0;
|
|
4
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
8
|
//@ts-nocheck
|
|
6
9
|
const react_1 = require("react");
|
|
7
10
|
const assets_1 = require("../assets");
|
|
8
11
|
const react_2 = require("@quillsql/react");
|
|
12
|
+
const useOnClickOutside_1 = __importDefault(require("../hooks/useOnClickOutside"));
|
|
9
13
|
const MemoizedTextInput = ({ value, onChange, placeholder, id, width, }) => {
|
|
10
14
|
const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
|
|
11
15
|
return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative', width: width }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
12
|
-
|
|
16
|
+
.quill-text-input {
|
|
13
17
|
background-color: white;
|
|
14
18
|
height: 40px;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}` }), (0, jsx_runtime_1.jsx)("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange:
|
|
19
|
+
width: 180px;
|
|
20
|
+
color: #384151;
|
|
21
|
+
border: 1px solid #e7e7e7;
|
|
22
|
+
border-radius: 6px;
|
|
23
|
+
text-align: left;
|
|
24
|
+
box-shadow: 0px 1px 4px 0px rgba(56, 65, 81, 0.08);
|
|
25
|
+
padding-left: 12px;
|
|
26
|
+
padding-right: 12px;
|
|
27
|
+
padding-top: 0px;
|
|
28
|
+
padding-bottom: 0px;
|
|
29
|
+
box-sizing: content-box;
|
|
30
|
+
}` }), (0, jsx_runtime_1.jsx)("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: onChange, placeholder: placeholder, style: {
|
|
27
31
|
fontFamily: theme?.fontFamily,
|
|
28
32
|
width: width ? 'calc(100% - 24px)' : '180px',
|
|
29
33
|
} })] }));
|
|
30
34
|
};
|
|
31
35
|
exports.MemoizedTextInput = MemoizedTextInput;
|
|
32
|
-
const MemoizedButton = ({ label, onClick, primary = true, style = {}, width = 'auto', }) => {
|
|
36
|
+
const MemoizedButton = ({ label, onClick, isLoading = false, primary = true, style = {}, width = 'auto', }) => {
|
|
33
37
|
const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
|
|
34
38
|
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
39
|
.quill-button {
|
|
@@ -42,18 +46,17 @@ const MemoizedButton = ({ label, onClick, primary = true, style = {}, width = 'a
|
|
|
42
46
|
box-sizing: content-box;
|
|
43
47
|
padding-left: 16px;
|
|
44
48
|
padding-right: 16px;
|
|
45
|
-
|
|
49
|
+
white-space: nowrap;
|
|
46
50
|
font-size: 15px;
|
|
47
51
|
cursor: pointer;
|
|
48
52
|
}
|
|
49
53
|
.quill-button:hover {
|
|
50
54
|
background-color: rgba(56, 65, 81, 0.9);
|
|
51
55
|
border-radius: 6px;
|
|
52
|
-
|
|
53
|
-
}` }), label] }));
|
|
56
|
+
}` }), isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: { padding: '0px 16px' }, children: (0, jsx_runtime_1.jsx)(exports.LoadingSpinner, {}) })) : (label)] }));
|
|
54
57
|
};
|
|
55
58
|
exports.MemoizedButton = MemoizedButton;
|
|
56
|
-
const MemoizedSecondaryButton = ({ label, onClick }) => {
|
|
59
|
+
const MemoizedSecondaryButton = ({ label, onClick, isLoading = false, }) => {
|
|
57
60
|
const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
|
|
58
61
|
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
62
|
.quill-secondary-button {
|
|
@@ -74,37 +77,9 @@ const MemoizedSecondaryButton = ({ label, onClick }) => {
|
|
|
74
77
|
}
|
|
75
78
|
.quill-secondary-button:hover {
|
|
76
79
|
background-color: rgba(56, 65, 81, 0.09);
|
|
77
|
-
}` }), label] }));
|
|
80
|
+
}` }), isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: { padding: '0px 16px' }, children: (0, jsx_runtime_1.jsx)(exports.LoadingSpinner, {}) })) : (label)] }));
|
|
78
81
|
};
|
|
79
82
|
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
83
|
const MemoizedHeader = ({ children }) => ((0, jsx_runtime_1.jsx)("h1", { style: {
|
|
109
84
|
fontSize: 16,
|
|
110
85
|
fontWeight: 600,
|
|
@@ -130,25 +105,9 @@ const MemoizedText = ({ children }) => ((0, jsx_runtime_1.jsx)("p", { style: {
|
|
|
130
105
|
userSelect: 'none',
|
|
131
106
|
}, children: children }));
|
|
132
107
|
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
108
|
function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, label, showTrigger = true, isOpen, setIsOpen, }) {
|
|
150
109
|
const modalRef = (0, react_1.useRef)(null);
|
|
151
|
-
|
|
110
|
+
(0, useOnClickOutside_1.default)(modalRef, (e) => {
|
|
152
111
|
// Exclude click on trigger button (e.g. Dropdown Button) from outside click handler
|
|
153
112
|
const isTriggerElem = parentRef
|
|
154
113
|
? parentRef.current?.contains(e.target)
|
|
@@ -183,7 +142,18 @@ function MemoizedPopover({ onClose, parentRef, children, style = {}, onClick, la
|
|
|
183
142
|
}, children: children }) }))] }));
|
|
184
143
|
}
|
|
185
144
|
exports.MemoizedPopover = MemoizedPopover;
|
|
186
|
-
function MemoizedModal({ isOpen,
|
|
145
|
+
function MemoizedModal({ isOpen, setIsOpen, title, children, width, height, }) {
|
|
146
|
+
const [theme] = (0, react_1.useContext)(react_2.ThemeContext);
|
|
147
|
+
(0, react_1.useEffect)(() => {
|
|
148
|
+
// Prevent scrolling in the background when the modal is open
|
|
149
|
+
if (isOpen) {
|
|
150
|
+
document.body.style.overflow = 'hidden';
|
|
151
|
+
}
|
|
152
|
+
return () => {
|
|
153
|
+
// Re-enable scrolling when the modal is closed/unmounted
|
|
154
|
+
document.body.style.overflow = 'unset';
|
|
155
|
+
};
|
|
156
|
+
}, [isOpen]);
|
|
187
157
|
if (!isOpen) {
|
|
188
158
|
return null;
|
|
189
159
|
}
|
|
@@ -196,15 +166,11 @@ function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, sty
|
|
|
196
166
|
zIndex: '50',
|
|
197
167
|
backgroundColor: 'rgba(255, 255, 255, 0.8)',
|
|
198
168
|
backdropFilter: 'blur(5px)',
|
|
199
|
-
}, onClick:
|
|
200
|
-
// position: "absolute",
|
|
169
|
+
}, onClick: () => setIsOpen(false) }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
201
170
|
position: 'fixed',
|
|
202
171
|
left: '50%',
|
|
203
172
|
top: '50%',
|
|
204
173
|
zIndex: '50',
|
|
205
|
-
// width: "100%",
|
|
206
|
-
// maxWidth: 1024,
|
|
207
|
-
// maxHeight: '90vh',
|
|
208
174
|
display: 'flex',
|
|
209
175
|
justifyContent: 'center',
|
|
210
176
|
alignItems: 'center',
|
|
@@ -214,21 +180,19 @@ function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, sty
|
|
|
214
180
|
borderStyle: 'solid',
|
|
215
181
|
borderWidth: 1,
|
|
216
182
|
borderColor: '#e7e7e7',
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
183
|
+
width: width ?? 'auto',
|
|
184
|
+
height: height ?? 'auto',
|
|
185
|
+
overflow: 'auto',
|
|
186
|
+
maxWidth: 'calc(100vw - 82px)',
|
|
187
|
+
maxHeight: 'calc(100vh - 82px)',
|
|
220
188
|
}, children: (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
221
|
-
width: '100%',
|
|
222
189
|
height: '100%',
|
|
223
|
-
|
|
224
|
-
|
|
190
|
+
width: '100%',
|
|
191
|
+
maxWidth: 'calc(100vw - 82px)',
|
|
192
|
+
maxHeight: 'calc(100vh - 82px)',
|
|
225
193
|
backgroundColor: '#ffffff',
|
|
226
|
-
// padding: "20px",
|
|
227
|
-
// borderRadius: "8px",
|
|
228
|
-
flexGrow: 1,
|
|
229
194
|
display: 'flex',
|
|
230
195
|
flexDirection: 'column',
|
|
231
|
-
alignItems: 'center',
|
|
232
196
|
position: 'relative',
|
|
233
197
|
fontFamily: theme?.fontFamily,
|
|
234
198
|
}, children: [(0, jsx_runtime_1.jsxs)("div", { id: "quill-modal-header", style: {
|
|
@@ -245,12 +209,12 @@ function MemoizedModal({ isOpen, onClose, setIsOpen, title, children, theme, sty
|
|
|
245
209
|
textAlign: 'left',
|
|
246
210
|
paddingTop: 18,
|
|
247
211
|
color: theme?.primaryTextColor,
|
|
248
|
-
}, children: title }), (0, jsx_runtime_1.jsx)(
|
|
212
|
+
}, children: title }), (0, jsx_runtime_1.jsx)("div", { style: { marginRight: 10, marginTop: 10 }, children: (0, jsx_runtime_1.jsx)(exports.MemoizedDeleteButton, { onClick: () => setIsOpen(false) }) })] }), children] }) })] }));
|
|
249
213
|
}
|
|
250
214
|
exports.MemoizedModal = MemoizedModal;
|
|
251
215
|
const MemoizedDeleteButton = ({ onClick, style }) => ((0, jsx_runtime_1.jsxs)("button", { className: "quill-delete-button", type: "button", onClick: onClick, style: {
|
|
252
|
-
height:
|
|
253
|
-
width:
|
|
216
|
+
height: 40,
|
|
217
|
+
width: 40,
|
|
254
218
|
border: 'none',
|
|
255
219
|
cursor: 'pointer',
|
|
256
220
|
display: 'flex',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataTypes.d.ts","sourceRoot":"","sources":["../../../src/constants/dataTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,UAiBzB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ALL_INT_TYPES = void 0;
|
|
4
|
+
exports.ALL_INT_TYPES = [
|
|
5
|
+
'int4',
|
|
6
|
+
'int8',
|
|
7
|
+
'int2',
|
|
8
|
+
'integer',
|
|
9
|
+
'bigint',
|
|
10
|
+
'smallint',
|
|
11
|
+
'tinyint',
|
|
12
|
+
'byteint',
|
|
13
|
+
'real',
|
|
14
|
+
'double precision',
|
|
15
|
+
'smallserial',
|
|
16
|
+
'serial',
|
|
17
|
+
'bigserial',
|
|
18
|
+
'serial4',
|
|
19
|
+
'serial8',
|
|
20
|
+
'serial2',
|
|
21
|
+
];
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,2CAsXA"}
|
|
@@ -55,6 +55,7 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
|
|
|
55
55
|
reader.readAsText(file);
|
|
56
56
|
};
|
|
57
57
|
const testConnectionAndFormClient = async () => {
|
|
58
|
+
setShowError(false);
|
|
58
59
|
const connectionString = (0, databases_1.formConnectionString)(databaseConnectionDetails);
|
|
59
60
|
const result = await (0, ConnectionClient_1.testConnectionString)(connectionString, databaseConnectionDetails.type, clientId);
|
|
60
61
|
if (result.success) {
|
|
@@ -169,28 +170,19 @@ function ConnectDatabase({ containerStyle, header1Style, header2Style, setEnviro
|
|
|
169
170
|
...databaseConnectionDetails,
|
|
170
171
|
[key]: e.target.value,
|
|
171
172
|
});
|
|
172
|
-
}, value: value, disabled: key === 'type' })] }, key));
|
|
173
|
-
}) }) })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { minWidth: 790 }, children: (0, jsx_runtime_1.
|
|
173
|
+
}, value: value, disabled: key === 'type', password: key === 'password' ? true : false })] }, key));
|
|
174
|
+
}) }) })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { minWidth: 790 }, children: (0, jsx_runtime_1.jsx)("div", { id: "database-details-form", style: {
|
|
174
175
|
display: 'grid',
|
|
175
176
|
gridTemplateColumns: 'repeat(1, 1fr)',
|
|
176
177
|
gap: '20px',
|
|
177
178
|
justifyContent: 'space-between',
|
|
178
179
|
marginTop: '16px',
|
|
179
|
-
}, children:
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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: {
|
|
180
|
+
}, children: (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: '600' }, children: "Service Account Json" }), (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: {
|
|
181
|
+
display: 'flex',
|
|
182
|
+
flexDirection: 'row',
|
|
183
|
+
gap: 12,
|
|
184
|
+
alignItems: 'center',
|
|
185
|
+
}, 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: {
|
|
194
186
|
width: '100%',
|
|
195
187
|
display: 'flex',
|
|
196
188
|
justifyContent: 'space-between',
|
|
@@ -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, clientId, parentRef, }: {
|
|
4
|
+
export default function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, state, }: {
|
|
5
5
|
containerStyle?: CSSProperties;
|
|
6
6
|
header1Style?: CSSProperties;
|
|
7
7
|
header2Style?: CSSProperties;
|
|
@@ -11,5 +11,6 @@ export default function ConnectSchema({ containerStyle, header1Style, header2Sty
|
|
|
11
11
|
propogateSchemaDetails: (schemaDetails?: SchemaDetails) => void;
|
|
12
12
|
clientId: string;
|
|
13
13
|
parentRef: any;
|
|
14
|
+
state: any;
|
|
14
15
|
}): import("react/jsx-runtime").JSX.Element;
|
|
15
16
|
//# 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,EAA+B,MAAM,OAAO,CAAC;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
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;AAUnD,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,EACT,KAAK,GACN,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;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,2CAubA"}
|
|
@@ -8,10 +8,36 @@ const react_1 = require("react");
|
|
|
8
8
|
const primitives_1 = require("../../primitives");
|
|
9
9
|
const DropDownMenuWithLabel_1 = __importDefault(require("../../components/DropDownMenuWithLabel"));
|
|
10
10
|
const ConnectionClient_1 = require("../../api/ConnectionClient");
|
|
11
|
-
function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, }) {
|
|
11
|
+
function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, state, }) {
|
|
12
12
|
const [schemaDetails, setSchemaDetails] = (0, react_1.useState)(allSchemaInfo);
|
|
13
13
|
const [schemaError, setSchemaError] = (0, react_1.useState)(initialError);
|
|
14
14
|
const [formError, setFormError] = (0, react_1.useState)({ show: false, message: '' });
|
|
15
|
+
const [runQueryButtonLabel, setRunQueryButtonLabel] = (0, react_1.useState)('Run query');
|
|
16
|
+
const [errorInfo, setErrorInfo] = (0, react_1.useState)({ status: false, msg: '' });
|
|
17
|
+
const [customerViewQuery, setCustomerViewQuery] = (0, react_1.useState)('');
|
|
18
|
+
const handleQuerySuccess = async (getSqlResults) => {
|
|
19
|
+
const processedResults = await (0, ConnectionClient_1.processCustomerOrgViewQuery)(customerViewQuery, allSchemaInfo?.selectedFields.schema || '', clientId);
|
|
20
|
+
if (processedResults.success === false) {
|
|
21
|
+
setErrorInfo({
|
|
22
|
+
status: true,
|
|
23
|
+
msg: processedResults.message || 'Failed to process the query.',
|
|
24
|
+
});
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
setSchemaDetails({
|
|
28
|
+
...schemaDetails,
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
selectedFields: {
|
|
31
|
+
...schemaDetails?.selectedFields,
|
|
32
|
+
table: processedResults.table,
|
|
33
|
+
organizationIdField: 'id',
|
|
34
|
+
customerNameField: 'name',
|
|
35
|
+
customerView: customerViewQuery,
|
|
36
|
+
},
|
|
37
|
+
customQueryFKs: processedResults.fkInfo,
|
|
38
|
+
customQueryOrganizations: getSqlResults.rows,
|
|
39
|
+
});
|
|
40
|
+
};
|
|
15
41
|
return ((0, jsx_runtime_1.jsxs)("div", { style: { ...containerStyle }, id: "connect-database-form", children: [(0, jsx_runtime_1.jsx)("h1", { style: header1Style, children: "Select Organization Table" }), (0, jsx_runtime_1.jsx)("h2", { style: header2Style, children: "Select which table you use for organizations (your customers). Quill uses this table to partition data by organization." }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
16
42
|
marginTop: 16,
|
|
17
43
|
width: '100%',
|
|
@@ -65,92 +91,141 @@ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaIn
|
|
|
65
91
|
else {
|
|
66
92
|
setSchemaError(suspectedSchema);
|
|
67
93
|
}
|
|
68
|
-
} }))] }), schemaDetails?.tables && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
setSchemaDetails({
|
|
84
|
-
...schemaDetails,
|
|
85
|
-
columns: columns.columns,
|
|
86
|
-
foreignKeys: [],
|
|
87
|
-
organizations: [],
|
|
88
|
-
selectedFields: {
|
|
89
|
-
schema: schemaDetails?.selectedFields?.schema,
|
|
90
|
-
table: e,
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
}, selected: schemaDetails?.selectedFields?.table, label: 'Organization table' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
|
|
94
|
-
const fkStrings = await (0, ConnectionClient_1.getFKInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e);
|
|
95
|
-
if (schemaDetails?.selectedFields.customerNameField) {
|
|
96
|
-
const organizations = await (0, ConnectionClient_1.getOrgInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e, schemaDetails?.selectedFields.customerNameField);
|
|
94
|
+
} }))] }), schemaDetails?.tables && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: { gap: 16 }, id: "database-details-form", children: [(0, jsx_runtime_1.jsxs)("div", {
|
|
95
|
+
// style={{
|
|
96
|
+
// display: 'flex',
|
|
97
|
+
// flexWrap: 'wrap',
|
|
98
|
+
// width: '100%',
|
|
99
|
+
// gap: '16px',
|
|
100
|
+
// }}
|
|
101
|
+
style: {
|
|
102
|
+
display: 'grid',
|
|
103
|
+
gridTemplateColumns: 'repeat(3, 1fr)',
|
|
104
|
+
gap: '20px',
|
|
105
|
+
justifyContent: 'space-between',
|
|
106
|
+
marginTop: '8px',
|
|
107
|
+
}, children: [(0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.tables || [], setSelected: async (e) => {
|
|
108
|
+
const columns = await (0, ConnectionClient_1.getTableInfo)(clientId, schemaDetails?.selectedFields?.schema, e);
|
|
97
109
|
setSchemaDetails({
|
|
98
110
|
...schemaDetails,
|
|
99
|
-
|
|
111
|
+
columns: columns.columns,
|
|
112
|
+
foreignKeys: [],
|
|
113
|
+
organizations: [],
|
|
114
|
+
selectedFields: {
|
|
115
|
+
schema: schemaDetails?.selectedFields?.schema,
|
|
116
|
+
table: e,
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
}, selected: schemaDetails?.selectedFields?.table, label: 'Organization table' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
|
|
120
|
+
const fkStrings = await (0, ConnectionClient_1.getFKInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e);
|
|
121
|
+
if (schemaDetails?.selectedFields.customerNameField) {
|
|
122
|
+
const organizations = await (0, ConnectionClient_1.getOrgInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e, schemaDetails?.selectedFields.customerNameField);
|
|
123
|
+
setSchemaDetails({
|
|
124
|
+
...schemaDetails,
|
|
125
|
+
organizations: organizations,
|
|
126
|
+
selectedFields: {
|
|
127
|
+
...schemaDetails?.selectedFields,
|
|
128
|
+
organizationIdField: e,
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
setSchemaDetails({
|
|
133
|
+
...schemaDetails,
|
|
134
|
+
foreignKeys: fkStrings,
|
|
100
135
|
selectedFields: {
|
|
101
136
|
...schemaDetails?.selectedFields,
|
|
102
137
|
organizationIdField: e,
|
|
103
138
|
},
|
|
104
139
|
});
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
140
|
+
}, selected: schemaDetails?.selectedFields?.organizationIdField, label: 'Organization ID field' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
|
|
141
|
+
if (schemaDetails?.selectedFields.organizationIdField) {
|
|
142
|
+
const organizations = await (0, ConnectionClient_1.getOrgInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, schemaDetails?.selectedFields.organizationIdField, e);
|
|
143
|
+
setSchemaDetails({
|
|
144
|
+
...schemaDetails,
|
|
145
|
+
organizations: organizations,
|
|
146
|
+
selectedFields: {
|
|
147
|
+
...schemaDetails?.selectedFields,
|
|
148
|
+
customerNameField: e,
|
|
149
|
+
},
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
setSchemaDetails({
|
|
154
|
+
...schemaDetails,
|
|
155
|
+
selectedFields: {
|
|
156
|
+
...schemaDetails?.selectedFields,
|
|
157
|
+
customerNameField: e,
|
|
158
|
+
},
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}, selected: schemaDetails?.selectedFields?.customerNameField, label: 'Organization name field' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.organizations?.map((orgObj) => orgObj.name) ||
|
|
162
|
+
[], setSelected: async (e) => {
|
|
163
|
+
const orgObj = schemaDetails?.organizations?.find((orgObj) => orgObj.name === e);
|
|
117
164
|
setSchemaDetails({
|
|
118
165
|
...schemaDetails,
|
|
119
|
-
organizations: organizations,
|
|
120
166
|
selectedFields: {
|
|
121
167
|
...schemaDetails?.selectedFields,
|
|
122
|
-
|
|
168
|
+
defaultOrg: orgObj,
|
|
123
169
|
},
|
|
124
170
|
});
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
171
|
+
}, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.foreignKeys || [], setSelected: async (e) => {
|
|
127
172
|
setSchemaDetails({
|
|
128
173
|
...schemaDetails,
|
|
129
174
|
selectedFields: {
|
|
130
175
|
...schemaDetails?.selectedFields,
|
|
131
|
-
|
|
176
|
+
foreignKey: e,
|
|
132
177
|
},
|
|
133
178
|
});
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
179
|
+
}, selected: schemaDetails?.selectedFields?.foreignKey, label: 'Foreign key' })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
180
|
+
...header1Style,
|
|
181
|
+
textAlign: 'center',
|
|
182
|
+
fontSize: 14,
|
|
183
|
+
color: '#565656',
|
|
184
|
+
display: 'flex',
|
|
185
|
+
flexDirection: 'row',
|
|
186
|
+
alignItems: 'center',
|
|
187
|
+
paddingTop: 24,
|
|
188
|
+
paddingBottom: 0,
|
|
189
|
+
}, 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.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: '16px' }, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h2", { style: { ...header2Style, fontWeight: 600, color: "#6e6e6e" }, children: "Customer Organization View" }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: '16px' }, children: [(0, jsx_runtime_1.jsx)(primitives_1.TextInputPrimitive, { onChange: (e) => {
|
|
190
|
+
setCustomerViewQuery(e.target.value);
|
|
191
|
+
}, value: customerViewQuery }), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: runQueryButtonLabel, onClick: async () => {
|
|
192
|
+
setRunQueryButtonLabel('Querying...');
|
|
193
|
+
const getSqlResults = await (0, ConnectionClient_1.getSqlViewData)(clientId, customerViewQuery, environmentDetails.type, state.queryEndpoint);
|
|
194
|
+
if (!getSqlResults.success) {
|
|
195
|
+
setErrorInfo({
|
|
196
|
+
status: true,
|
|
197
|
+
msg: getSqlResults.error,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
setErrorInfo({ status: false, msg: '' });
|
|
202
|
+
handleQuerySuccess(getSqlResults);
|
|
203
|
+
}
|
|
204
|
+
setRunQueryButtonLabel('Run query');
|
|
205
|
+
},
|
|
206
|
+
// dont let the font wrap
|
|
207
|
+
style: { whiteSpace: 'nowrap' } })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: '16px' }, children: [(0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.customQueryOrganizations?.map((orgObj) => orgObj.name) || [], setSelected: async (e) => {
|
|
208
|
+
const orgObj = schemaDetails?.customQueryOrganizations?.find((orgObj) => orgObj.name === e);
|
|
209
|
+
setSchemaDetails({
|
|
210
|
+
...schemaDetails,
|
|
211
|
+
selectedFields: {
|
|
212
|
+
...schemaDetails?.selectedFields,
|
|
213
|
+
defaultOrg: orgObj,
|
|
214
|
+
},
|
|
215
|
+
});
|
|
216
|
+
}, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.customQueryFKs || [], setSelected: async (e) => {
|
|
217
|
+
setSchemaDetails({
|
|
218
|
+
...schemaDetails,
|
|
219
|
+
selectedFields: {
|
|
220
|
+
...schemaDetails?.selectedFields,
|
|
221
|
+
foreignKey: e,
|
|
222
|
+
},
|
|
223
|
+
});
|
|
224
|
+
}, selected: schemaDetails?.selectedFields?.foreignKey, label: 'Foreign key' })] }), errorInfo.status ? ((0, jsx_runtime_1.jsx)("h2", { style: {
|
|
225
|
+
...header2Style,
|
|
226
|
+
color: 'red',
|
|
227
|
+
paddingTop: '12px',
|
|
228
|
+
}, children: errorInfo.msg })) : ((0, jsx_runtime_1.jsx)("div", {}))] })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
154
229
|
width: '100%',
|
|
155
230
|
display: 'flex',
|
|
156
231
|
justifyContent: 'space-between',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateSqlViews.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateSqlViews.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"CreateSqlViews.d.ts","sourceRoot":"","sources":["../../../../src/forms/client_onboard/CreateSqlViews.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAW3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQvD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kBAAkB,CAAC,EAAE,cAAc,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;CACZ,2CA+aA;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GACV,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,2CAkDA"}
|