@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
|
@@ -8,8 +8,7 @@ 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
|
-
|
|
12
|
-
function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, }) {
|
|
11
|
+
function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaInfo, environmentDetails, propogateSchemaDetails, initialError, clientId, parentRef, }) {
|
|
13
12
|
const [schemaDetails, setSchemaDetails] = (0, react_1.useState)(allSchemaInfo);
|
|
14
13
|
const [schemaError, setSchemaError] = (0, react_1.useState)(initialError);
|
|
15
14
|
const [formError, setFormError] = (0, react_1.useState)({ show: false, message: '' });
|
|
@@ -21,8 +20,8 @@ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaIn
|
|
|
21
20
|
gap: '16px',
|
|
22
21
|
alignItems: 'flex-end',
|
|
23
22
|
paddingBottom: '16px',
|
|
24
|
-
}, children: [(0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { items: schemaDetails?.schemas || schemaError?.schemas || [], setSelected: async (e) => {
|
|
25
|
-
const tables = await (0, ConnectionClient_1.getTablesBySchema)(
|
|
23
|
+
}, children: [(0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.schemas || schemaError?.schemas || [], setSelected: async (e) => {
|
|
24
|
+
const tables = await (0, ConnectionClient_1.getTablesBySchema)(clientId, e);
|
|
26
25
|
if (tables) {
|
|
27
26
|
setFormError({ show: false, message: '' });
|
|
28
27
|
setSchemaError(undefined);
|
|
@@ -58,7 +57,7 @@ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaIn
|
|
|
58
57
|
});
|
|
59
58
|
}
|
|
60
59
|
}, selected: schemaDetails?.selectedFields?.schema || schemaError?.schemaName, label: 'Schema' }), schemaError?.schemas.length === 0 && ((0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: "Re-fetch", onClick: async () => {
|
|
61
|
-
const suspectedSchema = await (0, ConnectionClient_1.getSchemaTableInfo)(
|
|
60
|
+
const suspectedSchema = await (0, ConnectionClient_1.getSchemaTableInfo)(clientId, 'public', environmentDetails.type);
|
|
62
61
|
if ('selectedFields' in suspectedSchema) {
|
|
63
62
|
setSchemaError(undefined);
|
|
64
63
|
setSchemaDetails(suspectedSchema);
|
|
@@ -79,8 +78,8 @@ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaIn
|
|
|
79
78
|
gap: '20px',
|
|
80
79
|
justifyContent: 'space-between',
|
|
81
80
|
marginTop: '8px',
|
|
82
|
-
}, children: [(0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { items: schemaDetails?.tables || [], setSelected: async (e) => {
|
|
83
|
-
const columns = await (0, ConnectionClient_1.getTableInfo)(
|
|
81
|
+
}, children: [(0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.tables || [], setSelected: async (e) => {
|
|
82
|
+
const columns = await (0, ConnectionClient_1.getTableInfo)(clientId, schemaDetails?.selectedFields?.schema, e);
|
|
84
83
|
setSchemaDetails({
|
|
85
84
|
...schemaDetails,
|
|
86
85
|
columns: columns.columns,
|
|
@@ -91,10 +90,10 @@ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaIn
|
|
|
91
90
|
table: e,
|
|
92
91
|
},
|
|
93
92
|
});
|
|
94
|
-
}, selected: schemaDetails?.selectedFields?.table, label: 'Organization table' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { items: schemaDetails?.columns || [], setSelected: async (e) => {
|
|
95
|
-
const fkStrings = await (0, ConnectionClient_1.getFKInfo)(
|
|
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);
|
|
96
95
|
if (schemaDetails?.selectedFields.customerNameField) {
|
|
97
|
-
const organizations = await (0, ConnectionClient_1.getOrgInfo)(
|
|
96
|
+
const organizations = await (0, ConnectionClient_1.getOrgInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, e, schemaDetails?.selectedFields.customerNameField);
|
|
98
97
|
setSchemaDetails({
|
|
99
98
|
...schemaDetails,
|
|
100
99
|
organizations: organizations,
|
|
@@ -112,9 +111,9 @@ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaIn
|
|
|
112
111
|
organizationIdField: e,
|
|
113
112
|
},
|
|
114
113
|
});
|
|
115
|
-
}, selected: schemaDetails?.selectedFields?.organizationIdField, label: 'Organization ID field' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { items: schemaDetails?.columns || [], setSelected: async (e) => {
|
|
114
|
+
}, selected: schemaDetails?.selectedFields?.organizationIdField, label: 'Organization ID field' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.columns || [], setSelected: async (e) => {
|
|
116
115
|
if (schemaDetails?.selectedFields.organizationIdField) {
|
|
117
|
-
const organizations = await (0, ConnectionClient_1.getOrgInfo)(
|
|
116
|
+
const organizations = await (0, ConnectionClient_1.getOrgInfo)(clientId, schemaDetails?.selectedFields?.schema, schemaDetails?.selectedFields?.table, schemaDetails?.selectedFields.organizationIdField, e);
|
|
118
117
|
setSchemaDetails({
|
|
119
118
|
...schemaDetails,
|
|
120
119
|
organizations: organizations,
|
|
@@ -133,7 +132,7 @@ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaIn
|
|
|
133
132
|
},
|
|
134
133
|
});
|
|
135
134
|
}
|
|
136
|
-
}, selected: schemaDetails?.selectedFields?.customerNameField, label: 'Organization name field' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { items: schemaDetails?.organizations?.map((orgObj) => orgObj.name) ||
|
|
135
|
+
}, 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) ||
|
|
137
136
|
[], setSelected: async (e) => {
|
|
138
137
|
const orgObj = schemaDetails?.organizations?.find((orgObj) => orgObj.name === e);
|
|
139
138
|
setSchemaDetails({
|
|
@@ -143,7 +142,7 @@ function ConnectSchema({ containerStyle, header1Style, header2Style, allSchemaIn
|
|
|
143
142
|
defaultOrg: orgObj,
|
|
144
143
|
},
|
|
145
144
|
});
|
|
146
|
-
}, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { items: schemaDetails?.foreignKeys || [], setSelected: async (e) => {
|
|
145
|
+
}, selected: schemaDetails?.selectedFields?.defaultOrg?.name, label: 'Default organization' }), (0, jsx_runtime_1.jsx)(DropDownMenuWithLabel_1.default, { parentRef: parentRef, items: schemaDetails?.foreignKeys || [], setSelected: async (e) => {
|
|
147
146
|
setSchemaDetails({
|
|
148
147
|
...schemaDetails,
|
|
149
148
|
selectedFields: {
|
|
@@ -2,7 +2,7 @@ import { CSSProperties } from 'react';
|
|
|
2
2
|
import { ColumnsByTable } from '../../utils/table';
|
|
3
3
|
import { SchemaDetails } from '../../utils/schema';
|
|
4
4
|
import { ConnectionType } from '../../utils/databases';
|
|
5
|
-
export default function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByTable, environmentDetails, allSchemaInfo, domainName, completeOnboarding, }: {
|
|
5
|
+
export default function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByTable, environmentDetails, allSchemaInfo, domainName, completeOnboarding, clientId, state, }: {
|
|
6
6
|
containerStyle?: CSSProperties;
|
|
7
7
|
header1Style?: CSSProperties;
|
|
8
8
|
header2Style?: CSSProperties;
|
|
@@ -11,5 +11,14 @@ export default function CreateSQLViews({ containerStyle, header1Style, header2St
|
|
|
11
11
|
allSchemaInfo?: SchemaDetails;
|
|
12
12
|
domainName: string | undefined;
|
|
13
13
|
completeOnboarding: (client: any) => void;
|
|
14
|
+
clientId: string;
|
|
15
|
+
state: any;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function ForeignKeyModal({ isOpen, setIsOpen, override, foreignKey, tableName, }: {
|
|
18
|
+
isOpen: boolean;
|
|
19
|
+
setIsOpen: (e: boolean) => void;
|
|
20
|
+
override: (e: boolean) => Promise<void>;
|
|
21
|
+
foreignKey: string | undefined;
|
|
22
|
+
tableName: string | undefined;
|
|
14
23
|
}): import("react/jsx-runtime").JSX.Element;
|
|
15
24
|
//# sourceMappingURL=CreateSqlViews.d.ts.map
|
|
@@ -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;AAa3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,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;AAa3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAK7E,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,2CAiWA;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,2CAiDA"}
|
|
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ForeignKeyModal = void 0;
|
|
6
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
8
|
const react_1 = require("react");
|
|
8
9
|
const primitives_1 = require("../../primitives");
|
|
9
|
-
const react_2 = require("@quillsql/react");
|
|
10
10
|
const ConnectionClient_1 = require("../../api/ConnectionClient");
|
|
11
|
-
const databases_1 = require("../../utils/databases");
|
|
12
11
|
const SqlViewTile_1 = __importDefault(require("../../components/SqlViewTile"));
|
|
13
|
-
|
|
12
|
+
const SqlTextEditor_1 = __importDefault(require("../../components/SqlTextEditor"));
|
|
13
|
+
const react_2 = require("@quillsql/react");
|
|
14
|
+
function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByTable, environmentDetails, allSchemaInfo, domainName, completeOnboarding, clientId, state, }) {
|
|
14
15
|
const [selectedTable, setSelectedTable] = (0, react_1.useState)(undefined);
|
|
15
16
|
const [queryInfo, setQueryInfo] = (0, react_1.useState)({
|
|
16
17
|
name: '',
|
|
@@ -28,7 +29,7 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
|
|
|
28
29
|
const addSqlView = async (override) => {
|
|
29
30
|
const results = await (0, ConnectionClient_1.createSQLView)(environmentDetails, allSchemaInfo, columnsByTable, queryInfo, client, domainName, tableData, sqlTables.map((e) => {
|
|
30
31
|
return e.name;
|
|
31
|
-
}), override);
|
|
32
|
+
}), override, clientId);
|
|
32
33
|
if (results.throwModal) {
|
|
33
34
|
setShowFKModal(true);
|
|
34
35
|
return;
|
|
@@ -52,7 +53,6 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
|
|
|
52
53
|
...containerStyle,
|
|
53
54
|
display: 'flex',
|
|
54
55
|
flexDirection: 'column',
|
|
55
|
-
overflow: 'hidden',
|
|
56
56
|
}, id: "create-sql-view", children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
57
57
|
padding: 20,
|
|
58
58
|
paddingBottom: 12,
|
|
@@ -81,10 +81,12 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
|
|
|
81
81
|
setAIPrompt(e.target.value);
|
|
82
82
|
}, placeholder: 'Describe a query...', value: aiPrompt }), (0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: askAIButton, onClick: async () => {
|
|
83
83
|
setAskAIButton('Loading...');
|
|
84
|
-
const results = await (0, ConnectionClient_1.
|
|
84
|
+
const results = await (0, ConnectionClient_1.getQueryFromAiWithConnection)(aiPrompt, clientId, allSchemaInfo?.selectedFields.schema
|
|
85
|
+
? [allSchemaInfo?.selectedFields.schema]
|
|
86
|
+
: undefined);
|
|
85
87
|
setQueryInfo({ name: queryInfo.name, query: results });
|
|
86
88
|
setAskAIButton('Ask AI');
|
|
87
|
-
}, style: { width: '90px' } })] }), (0, jsx_runtime_1.jsx)(
|
|
89
|
+
}, style: { width: '90px' } })] }), (0, jsx_runtime_1.jsx)(SqlTextEditor_1.default, { value: queryInfo.query, setValue: (e) => {
|
|
88
90
|
setQueryInfo({ name: queryInfo.name, query: e });
|
|
89
91
|
}, containerStyle: { paddingLeft: 16, paddingRight: 16 } }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
90
92
|
display: 'flex',
|
|
@@ -96,8 +98,7 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
|
|
|
96
98
|
height: 70,
|
|
97
99
|
}, children: [(0, jsx_runtime_1.jsx)(primitives_1.ButtonPrimitive, { label: runQueryButtonLabel, onClick: async () => {
|
|
98
100
|
setRunQueryButtonLabel('Querying...');
|
|
99
|
-
const
|
|
100
|
-
const getSqlResults = await (0, ConnectionClient_1.getSqlViewData)(connectionString, queryInfo.query);
|
|
101
|
+
const getSqlResults = await (0, ConnectionClient_1.getSqlViewData)(clientId, queryInfo.query, environmentDetails.type, state.queryEndpoint);
|
|
101
102
|
if (!getSqlResults.success) {
|
|
102
103
|
setErrorInfo({ status: true, msg: getSqlResults.error });
|
|
103
104
|
}
|
|
@@ -115,12 +116,10 @@ function CreateSQLViews({ containerStyle, header1Style, header2Style, columnsByT
|
|
|
115
116
|
paddingLeft: 16,
|
|
116
117
|
paddingRight: 16,
|
|
117
118
|
height: 'calc(100vh - 515px)',
|
|
118
|
-
}, children: [(0, jsx_runtime_1.jsx)(react_2.
|
|
119
|
-
// height="400px"
|
|
120
|
-
containerStyle: {
|
|
119
|
+
}, children: [(0, jsx_runtime_1.jsx)(react_2.QuillTable, { rows: tableData.rows, columns: tableData.fields, containerStyle: {
|
|
121
120
|
height: 'calc(100vh - 589px)',
|
|
122
121
|
width: '100%',
|
|
123
|
-
},
|
|
122
|
+
}, showDownloadCSVButton: true }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
124
123
|
width: '100%',
|
|
125
124
|
display: 'flex',
|
|
126
125
|
justifyContent: 'space-between',
|
|
@@ -206,3 +205,4 @@ function ForeignKeyModal({ isOpen, setIsOpen, override, foreignKey, tableName, }
|
|
|
206
205
|
setIsOpen(false);
|
|
207
206
|
} })] })] }) }));
|
|
208
207
|
}
|
|
208
|
+
exports.ForeignKeyModal = ForeignKeyModal;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ButtonComponentProps, TextInputComponentProps, HeaderProps } from '@quillsql/react';
|
|
3
|
+
import { ColumnsByTable } from '../../utils/table';
|
|
4
|
+
interface CreateEditSqlViewProps {
|
|
5
|
+
containerStyle: React.CSSProperties;
|
|
6
|
+
initialSqlView?: {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
query: string;
|
|
10
|
+
};
|
|
11
|
+
Button?: (props: ButtonComponentProps) => JSX.Element;
|
|
12
|
+
SecondaryButtonComponent?: (props: ButtonComponentProps) => JSX.Element;
|
|
13
|
+
TextInput?: (props: TextInputComponentProps) => JSX.Element;
|
|
14
|
+
LoadingComponent?: () => JSX.Element;
|
|
15
|
+
Header?: (props: HeaderProps) => JSX.Element;
|
|
16
|
+
closeEditView: () => void;
|
|
17
|
+
addEditView: (request: string, query: string, name?: string, id?: string) => void;
|
|
18
|
+
allTableData: ColumnsByTable[];
|
|
19
|
+
schemaIsLoading: boolean;
|
|
20
|
+
}
|
|
21
|
+
export default function CreateEditSqlView({ containerStyle, initialSqlView, closeEditView, addEditView, SecondaryButtonComponent, LoadingComponent, Button, TextInput, Header, allTableData, schemaIsLoading, }: CreateEditSqlViewProps): JSX.Element;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=CreateEditSqlView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateEditSqlView.d.ts","sourceRoot":"","sources":["../../../../src/forms/sql_views/CreateEditSqlView.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,oBAAoB,EAEpB,uBAAuB,EACvB,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAwBzB,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAK3D,UAAU,sBAAsB;IAC9B,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,cAAc,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAExE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,KACR,IAAI,CAAC;IACV,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,wBAAwB,EACxB,gBAA2C,EAC3C,MAAuB,EACvB,SAA6B,EAC7B,MAAuB,EACvB,YAAY,EACZ,eAAe,GAChB,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAuStC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("@quillsql/react");
|
|
8
|
+
const react_2 = require("react");
|
|
9
|
+
const AdminProvider_1 = require("../../AdminProvider");
|
|
10
|
+
const ConnectionClient_1 = require("../../api/ConnectionClient");
|
|
11
|
+
const SqlTextEditor_1 = __importDefault(require("../../components/SqlTextEditor"));
|
|
12
|
+
const UiComponents_1 = require("../../components/UiComponents");
|
|
13
|
+
const react_3 = require("@quillsql/react");
|
|
14
|
+
const CreateSqlViews_1 = require("../client_onboard/CreateSqlViews");
|
|
15
|
+
const DynamicBanner_1 = __importDefault(require("../../components/DynamicBanner"));
|
|
16
|
+
function CreateEditSqlView({ containerStyle, initialSqlView, closeEditView, addEditView, SecondaryButtonComponent, LoadingComponent = () => (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}), Button = UiComponents_1.MemoizedButton, TextInput = UiComponents_1.MemoizedTextInput, Header = UiComponents_1.MemoizedHeader, allTableData, schemaIsLoading, }) {
|
|
17
|
+
const [name, setName] = (0, react_2.useState)(initialSqlView?.name || '');
|
|
18
|
+
const [editViewQuery, setEditViewQuery] = (0, react_2.useState)(initialSqlView?.query || '');
|
|
19
|
+
const [ranViewQuery, setRanViewQuery] = (0, react_2.useState)(initialSqlView?.query || '');
|
|
20
|
+
const [askAIButton, setAskAIButton] = (0, react_2.useState)('Ask AI');
|
|
21
|
+
const [aiPrompt, setAIPrompt] = (0, react_2.useState)('');
|
|
22
|
+
const [runQueryButtonLabel, setRunQueryButtonLabel] = (0, react_2.useState)('Run query');
|
|
23
|
+
const [viewAddable, setViewAddable] = (0, react_2.useState)(false);
|
|
24
|
+
const [showFKModal, setShowFKModal] = (0, react_2.useState)(false);
|
|
25
|
+
const [overrideFKCheck, setOverrideFKCheck] = (0, react_2.useState)(false);
|
|
26
|
+
const [isLoading, setIsLoading] = (0, react_2.useState)(false);
|
|
27
|
+
const [tableSearchQuery, setTableSearchQuery] = (0, react_2.useState)('');
|
|
28
|
+
const [displayedTableData, setDisplayedTableData] = (0, react_2.useState)(allTableData);
|
|
29
|
+
const [errorInfo, setErrorInfo] = (0, react_2.useState)({ show: false, message: '' });
|
|
30
|
+
const [tableData, setTableData] = (0, react_2.useState)(undefined);
|
|
31
|
+
const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
|
|
32
|
+
const addEditSqlView = async (override = false) => {
|
|
33
|
+
if (!override &&
|
|
34
|
+
tableData &&
|
|
35
|
+
!tableData.fields.find((col) => col.name === state.client.customerFieldName.replaceAll('"', ''))) {
|
|
36
|
+
setShowFKModal(true);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
addEditView(initialSqlView ? 'edit' : 'add', ranViewQuery, name, initialSqlView ? initialSqlView.id : undefined);
|
|
40
|
+
};
|
|
41
|
+
(0, react_2.useEffect)(() => {
|
|
42
|
+
setDisplayedTableData(allTableData);
|
|
43
|
+
}, [allTableData]);
|
|
44
|
+
const handleRunSqlPrompt = async () => {
|
|
45
|
+
setErrorInfo({ show: false, message: '' });
|
|
46
|
+
setViewAddable(false);
|
|
47
|
+
setAskAIButton('Loading...');
|
|
48
|
+
const results = await (0, ConnectionClient_1.getQueryFromAiWithConnection)(aiPrompt, state.client._id, state.client.schemaNames);
|
|
49
|
+
setOverrideFKCheck(false);
|
|
50
|
+
setEditViewQuery(results);
|
|
51
|
+
setAskAIButton('Ask AI');
|
|
52
|
+
};
|
|
53
|
+
const handleRunQuery = async () => {
|
|
54
|
+
const query = editViewQuery;
|
|
55
|
+
// If this query has a limit at the end alert the user
|
|
56
|
+
if (query.toLowerCase().includes(' limit ')) {
|
|
57
|
+
setErrorInfo({
|
|
58
|
+
show: true,
|
|
59
|
+
message: 'Error: Please remove the limit on you query.',
|
|
60
|
+
});
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
setViewAddable(false);
|
|
64
|
+
setErrorInfo({ show: false, message: '' });
|
|
65
|
+
setTableData(undefined);
|
|
66
|
+
setIsLoading(true);
|
|
67
|
+
setRunQueryButtonLabel('Querying...');
|
|
68
|
+
setOverrideFKCheck(false);
|
|
69
|
+
if (editViewQuery.length === 0) {
|
|
70
|
+
setErrorInfo({ show: true, message: 'Error: Please enter a query.' });
|
|
71
|
+
setRunQueryButtonLabel('Run query');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const resp = await (0, ConnectionClient_1.getSqlViewData)(state.client._id, query, state.client.databaseType, state.queryEndpoint);
|
|
75
|
+
if (!resp.success) {
|
|
76
|
+
setErrorInfo({ show: true, message: resp.error });
|
|
77
|
+
setTableData(undefined);
|
|
78
|
+
setViewAddable(false);
|
|
79
|
+
setRunQueryButtonLabel('Run query');
|
|
80
|
+
setIsLoading(false);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
setRunQueryButtonLabel('Run query');
|
|
84
|
+
setErrorInfo({ show: false, message: '' });
|
|
85
|
+
setTableData(resp);
|
|
86
|
+
setViewAddable(true);
|
|
87
|
+
setRanViewQuery(query);
|
|
88
|
+
setIsLoading(false);
|
|
89
|
+
};
|
|
90
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
91
|
+
...containerStyle,
|
|
92
|
+
gap: 6,
|
|
93
|
+
height: 'calc(100vh - 188px)',
|
|
94
|
+
}, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', height: '100%', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)(DynamicBanner_1.default, { header: initialSqlView
|
|
95
|
+
? `Edit "${initialSqlView.name}" view`
|
|
96
|
+
: 'Create SQL View', message: initialSqlView
|
|
97
|
+
? `You are currently editing the '${initialSqlView.name}' sql view.`
|
|
98
|
+
: '', onExit: closeEditView, style: {
|
|
99
|
+
display: 'flex',
|
|
100
|
+
paddingTop: '0.625rem',
|
|
101
|
+
paddingBottom: '0.625rem',
|
|
102
|
+
paddingLeft: '24px',
|
|
103
|
+
paddingRight: '24px',
|
|
104
|
+
alignItems: 'center',
|
|
105
|
+
backgroundColor: initialSqlView ? '#111827' : '#ffffff',
|
|
106
|
+
} }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
107
|
+
width: '100%',
|
|
108
|
+
display: 'flex',
|
|
109
|
+
height: '100%',
|
|
110
|
+
flexDirection: 'row',
|
|
111
|
+
paddingTop: '20px',
|
|
112
|
+
}, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
113
|
+
display: 'flex',
|
|
114
|
+
flexDirection: 'column',
|
|
115
|
+
gap: 20,
|
|
116
|
+
}, children: [(0, jsx_runtime_1.jsx)("div", { style: {
|
|
117
|
+
paddingLeft: '20px',
|
|
118
|
+
paddingRight: '30px',
|
|
119
|
+
}, children: (0, jsx_runtime_1.jsx)(TextInput, { placeholder: "Search...", onChange: (e) => {
|
|
120
|
+
setTableSearchQuery(e);
|
|
121
|
+
setDisplayedTableData(allTableData.filter((table) => table.tableName
|
|
122
|
+
.toLowerCase()
|
|
123
|
+
.includes(e.toLowerCase().trim())));
|
|
124
|
+
}, value: tableSearchQuery, id: 'edit-name', width: "100%" }) }), (0, jsx_runtime_1.jsx)(react_3.SchemaListComponent, { schema: displayedTableData, theme: state.theme, LoadingComponent: LoadingComponent, loading: schemaIsLoading, width: '400px' })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
125
|
+
display: 'flex',
|
|
126
|
+
gap: 20,
|
|
127
|
+
flexDirection: 'column',
|
|
128
|
+
width: 'calc(100% - 250px)',
|
|
129
|
+
height: '100%',
|
|
130
|
+
overflowX: 'hidden',
|
|
131
|
+
paddingRight: '24px',
|
|
132
|
+
}, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
|
|
133
|
+
display: 'flex',
|
|
134
|
+
flexDirection: 'row',
|
|
135
|
+
alignItems: 'flex-start',
|
|
136
|
+
justifyContent: 'space-between',
|
|
137
|
+
gap: 20,
|
|
138
|
+
width: '100%',
|
|
139
|
+
}, children: [(0, jsx_runtime_1.jsx)(TextInput, { onChange: (e) => {
|
|
140
|
+
setAIPrompt(e);
|
|
141
|
+
}, placeholder: 'Describe a query...', value: aiPrompt, id: 'ai-prompt', width: '95%' }), (0, jsx_runtime_1.jsx)(Button, { label: askAIButton, onClick: handleRunSqlPrompt, width: "100px" })] }), (0, jsx_runtime_1.jsx)(SqlTextEditor_1.default, { value: editViewQuery, setValue: (e) => {
|
|
142
|
+
setErrorInfo({ show: false, message: '' });
|
|
143
|
+
setEditViewQuery(e);
|
|
144
|
+
} }), (0, jsx_runtime_1.jsx)("div", { style: { width: '200px' }, children: (0, jsx_runtime_1.jsx)(Button, { label: runQueryButtonLabel, onClick: handleRunQuery }) }), errorInfo.show ? ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
145
|
+
fontSize: 15,
|
|
146
|
+
fontWeight: '400',
|
|
147
|
+
}, children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
148
|
+
padding: 30,
|
|
149
|
+
background: 'rgba(0,0,0,0.02)',
|
|
150
|
+
display: 'inline-block',
|
|
151
|
+
flex: 0,
|
|
152
|
+
borderRadius: 6,
|
|
153
|
+
}, children: errorInfo.message }) })) : null, isLoading && ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
154
|
+
height: 'calc(100vh - 589px)',
|
|
155
|
+
width: '100%',
|
|
156
|
+
display: 'flex',
|
|
157
|
+
justifyContent: 'center',
|
|
158
|
+
alignItems: 'center',
|
|
159
|
+
}, children: (0, jsx_runtime_1.jsx)(LoadingComponent, {}) })), tableData && ((0, jsx_runtime_1.jsx)(react_1.QuillTable, { rows: tableData.rows, columns: tableData.fields, containerStyle: { height: '360px' } })), viewAddable && ((0, jsx_runtime_1.jsx)("div", { style: { width: '200px' }, children: (0, jsx_runtime_1.jsx)(Button, { label: `${initialSqlView ? 'Save changes' : 'Create view'}`, onClick: () => addEditSqlView(false) }) }))] })] }), (0, jsx_runtime_1.jsx)(CreateSqlViews_1.ForeignKeyModal, { isOpen: showFKModal, setIsOpen: setShowFKModal, override: addEditSqlView, foreignKey: state.client.customerFieldName, tableName: state.client.customerTableName })] }) }));
|
|
160
|
+
}
|
|
161
|
+
exports.default = CreateEditSqlView;
|
|
@@ -26,7 +26,7 @@ function NewDashboardModal({ isOpen, client, setIsOpen, onSave, ModalComponent,
|
|
|
26
26
|
const [selectedTable, setSelectedTable] = (0, react_1.useState)(null);
|
|
27
27
|
const [field, setField] = (0, react_1.useState)('');
|
|
28
28
|
(0, react_1.useEffect)(() => {
|
|
29
|
-
if (state.tables
|
|
29
|
+
if (state.tables?.length) {
|
|
30
30
|
setSelectedTable(state.tables[0]);
|
|
31
31
|
setField(state.tables[0].columns.map((elem) => elem.name)[0]);
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInputPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/TextInputPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAE7D,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TextInputPrimitive.d.ts","sourceRoot":"","sources":["../../../src/primitives/TextInputPrimitive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAyB,MAAM,UAAU,CAAC;AAE7D,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmCzD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
4
|
const Admin_1 = require("../Admin");
|
|
5
|
-
const TextInputPrimitive = ({ onChange, value, placeholder, theme = Admin_1.theme, disabled = false, }) => {
|
|
5
|
+
const TextInputPrimitive = ({ onChange, value, placeholder, theme = Admin_1.theme, disabled = false, width = '250px', }) => {
|
|
6
6
|
return ((0, jsx_runtime_1.jsx)("input", { style: {
|
|
7
7
|
display: 'flex',
|
|
8
8
|
flexDirection: 'row',
|
|
@@ -11,7 +11,7 @@ const TextInputPrimitive = ({ onChange, value, placeholder, theme = Admin_1.them
|
|
|
11
11
|
paddingRight: '12px',
|
|
12
12
|
fontWeight: 'medium',
|
|
13
13
|
height: 38,
|
|
14
|
-
minWidth:
|
|
14
|
+
minWidth: width,
|
|
15
15
|
boxShadow: '0 1px 2px 0 rgba(0,0,0,.05)',
|
|
16
16
|
width: '100%',
|
|
17
17
|
backgroundColor: theme?.backgroundColor || 'white',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateEnvironment.d.ts","sourceRoot":"","sources":["../../../src/public_components/CreateEnvironment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAuClE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,0BAA0B,EAC1B,cAAc,GACf,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,
|
|
1
|
+
{"version":3,"file":"CreateEnvironment.d.ts","sourceRoot":"","sources":["../../../src/public_components/CreateEnvironment.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAuB,MAAM,OAAO,CAAC;AAuClE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,0BAA0B,EAC1B,cAAc,GACf,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CAqMA"}
|
|
@@ -1,10 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
29
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
const react_1 = require("react");
|
|
30
|
+
const react_1 = __importStar(require("react"));
|
|
8
31
|
const ConnectDatabase_1 = __importDefault(require("../forms/client_onboard/ConnectDatabase"));
|
|
9
32
|
const StepDisplay_1 = __importDefault(require("../components/StepDisplay"));
|
|
10
33
|
const ConnectSchema_1 = __importDefault(require("../forms/client_onboard/ConnectSchema"));
|
|
@@ -25,6 +48,7 @@ const header2Style = {
|
|
|
25
48
|
marginBottom: '6px',
|
|
26
49
|
};
|
|
27
50
|
function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
|
|
51
|
+
const parentRef = react_1.default.useRef(null);
|
|
28
52
|
const { state, dispatch } = (0, AdminProvider_1.useAdmin)();
|
|
29
53
|
const domainName = state.domainName;
|
|
30
54
|
const [createEnvSteps, setCreateEnvSteps] = (0, react_1.useState)({
|
|
@@ -44,6 +68,7 @@ function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
|
|
|
44
68
|
open: false,
|
|
45
69
|
},
|
|
46
70
|
});
|
|
71
|
+
const [clientId, setClientId] = (0, react_1.useState)('');
|
|
47
72
|
const [environmentDetails, setEnvironmentDetails] = (0, react_1.useState)((0, databases_1.getDatabaseConnectionFormat)('PostgreSQL'));
|
|
48
73
|
const [allSchemaInfo, setAllSchemaInfo] = (0, react_1.useState)(undefined);
|
|
49
74
|
const [initialError, setInitialError] = (0, react_1.useState)();
|
|
@@ -75,7 +100,7 @@ function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
|
|
|
75
100
|
console.warn('navigateToDashboardManager is undefined');
|
|
76
101
|
}
|
|
77
102
|
}, [navigateToDashboardManager]);
|
|
78
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
103
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ref: parentRef, style: {
|
|
79
104
|
...containerStyle,
|
|
80
105
|
display: 'flex',
|
|
81
106
|
flexDirection: 'column',
|
|
@@ -89,22 +114,23 @@ function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
|
|
|
89
114
|
borderRadius: 6,
|
|
90
115
|
border: '1px solid #e7e7e7',
|
|
91
116
|
boxShadow: '0px 1px 12px rgba(0, 0, 0, 0.07)',
|
|
92
|
-
}, header1Style: header1Style, header2Style: header2Style, environmentDetails: environmentDetails, setEnvironmentDetails: (connectionInfo, initialSchemaRequest, initialSchemaRequestError) => {
|
|
117
|
+
}, header1Style: header1Style, header2Style: header2Style, environmentDetails: environmentDetails, setEnvironmentDetails: (connectionInfo, initialSchemaRequest, initialSchemaRequestError, clientId) => {
|
|
93
118
|
setEnvironmentDetails(connectionInfo);
|
|
94
119
|
if (initialSchemaRequestError) {
|
|
95
120
|
setInitialError(initialSchemaRequestError);
|
|
96
121
|
}
|
|
97
122
|
if (initialSchemaRequest) {
|
|
123
|
+
setClientId(clientId);
|
|
98
124
|
setAllSchemaInfo(initialSchemaRequest);
|
|
99
125
|
}
|
|
100
126
|
const updatedSteps = { ...createEnvSteps };
|
|
101
127
|
updatedSteps.connectDB.completed = true;
|
|
102
128
|
setCreateEnvSteps(updatedSteps);
|
|
103
129
|
openStep('connectSchema');
|
|
104
|
-
} })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Connect Database", completed: createEnvSteps.connectDB.completed, header1Style: header1Style, onClick: () => {
|
|
130
|
+
}, envClientId: clientId })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Connect Database", completed: createEnvSteps.connectDB.completed, header1Style: header1Style, onClick: () => {
|
|
105
131
|
openStep('connectDB');
|
|
106
132
|
setInitialError(undefined);
|
|
107
|
-
} })), createEnvSteps.connectSchema.open ? ((0, jsx_runtime_1.jsx)(ConnectSchema_1.default, { containerStyle: {
|
|
133
|
+
} })), createEnvSteps.connectSchema.open ? ((0, jsx_runtime_1.jsx)(ConnectSchema_1.default, { parentRef: parentRef, containerStyle: {
|
|
108
134
|
padding: '24px',
|
|
109
135
|
// width: '50%',
|
|
110
136
|
borderRadius: 6,
|
|
@@ -114,12 +140,12 @@ function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
|
|
|
114
140
|
}, header1Style: header1Style, header2Style: header2Style, propogateSchemaDetails: async (schemaDetails) => {
|
|
115
141
|
const updatedSteps = { ...createEnvSteps };
|
|
116
142
|
updatedSteps.connectSchema.completed = true;
|
|
117
|
-
const tableSchemas = await (0, ConnectionClient_1.getTableSchema)(
|
|
143
|
+
const tableSchemas = await (0, ConnectionClient_1.getTableSchema)(clientId, schemaDetails?.tables, schemaDetails?.selectedFields?.schema);
|
|
118
144
|
setColumnsByTable(tableSchemas);
|
|
119
145
|
setCreateEnvSteps(updatedSteps);
|
|
120
146
|
setAllSchemaInfo(schemaDetails);
|
|
121
147
|
openStep('createSQLViews');
|
|
122
|
-
}, allSchemaInfo: allSchemaInfo, environmentDetails: environmentDetails, initialError: initialError })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Connect Schema", completed: createEnvSteps.connectSchema.completed, header1Style: header1Style, onClick: () => {
|
|
148
|
+
}, allSchemaInfo: allSchemaInfo, environmentDetails: environmentDetails, initialError: initialError, clientId: clientId })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Connect Schema", completed: createEnvSteps.connectSchema.completed, header1Style: header1Style, onClick: () => {
|
|
123
149
|
openStep('connectSchema');
|
|
124
150
|
setInitialError(undefined);
|
|
125
151
|
} })), createEnvSteps.createSQLViews.open ? ((0, jsx_runtime_1.jsx)(CreateSqlViews_1.default, { containerStyle: {
|
|
@@ -136,6 +162,6 @@ function CreateEnvironment({ navigateToDashboardManager, containerStyle, }) {
|
|
|
136
162
|
if (navigateToDashboardManager) {
|
|
137
163
|
navigateToDashboardManager();
|
|
138
164
|
}
|
|
139
|
-
}, domainName: domainName })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Create SQL Views", completed: false, header1Style: header1Style }))] }));
|
|
165
|
+
}, domainName: domainName, clientId: clientId, state: state })) : ((0, jsx_runtime_1.jsx)(StepDisplay_1.default, { label: "Create SQL Views", completed: false, header1Style: header1Style }))] }));
|
|
140
166
|
}
|
|
141
167
|
exports.default = CreateEnvironment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardBuilder.d.ts","sourceRoot":"","sources":["../../../src/public_components/DashboardBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DashboardBuilder.d.ts","sourceRoot":"","sources":["../../../src/public_components/DashboardBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;AAS5E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,0BAA0B,EAC1B,cAAc,EACd,SAAgB,GACjB,EAAE;IACD,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,2CA0TA"}
|