@quillsql/admin 1.3.6 → 1.3.8
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.map +1 -1
- package/dist/cjs/Admin.js +25 -15
- package/dist/cjs/AdminProvider.d.ts +10 -0
- package/dist/cjs/AdminProvider.d.ts.map +1 -1
- package/dist/cjs/AdminProvider.js +63 -43
- 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 +100 -29
- 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 +12 -10
- package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +24 -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/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 +110 -93
- package/dist/cjs/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/cjs/public_components/SQLViewManager.js +252 -333
- package/dist/cjs/utils/constants.d.ts +1 -1
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +1 -2
- 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.map +1 -1
- package/dist/esm/Admin.js +25 -15
- package/dist/esm/AdminProvider.d.ts +10 -0
- package/dist/esm/AdminProvider.d.ts.map +1 -1
- package/dist/esm/AdminProvider.js +61 -44
- 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 +97 -28
- 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 +11 -11
- package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +24 -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/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 +111 -94
- package/dist/esm/public_components/SQLViewManager.d.ts.map +1 -1
- package/dist/esm/public_components/SQLViewManager.js +254 -335
- package/dist/esm/utils/constants.d.ts +1 -1
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -2
- 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
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createSQLView = exports.getQueryFromAI = exports.getSqlViewData = exports.getSQLViews = exports.getTableSchema = exports.getFKInfo = exports.getOrgInfo = exports.getTableInfo = exports.getTablesBySchema = exports.getSchemaTableInfo = exports.testConnectionString = void 0;
|
|
3
|
+
exports.createSQLView = exports.getQueryFromAiWithConnection = exports.getQueryFromAI = exports.getSqlViewData = exports.getSQLViews = exports.getTableColumnsBySchema = exports.getTableSchema = exports.getFKInfo = exports.getOrgInfo = exports.getTableInfo = exports.getTablesBySchema = exports.getSchemaTableInfo = exports.testConnectionString = void 0;
|
|
4
4
|
const constants_1 = require("../utils/constants");
|
|
5
|
-
|
|
6
|
-
async function testConnectionString(connectionString) {
|
|
5
|
+
async function testConnectionString(connectionString, databaseType, clientId) {
|
|
7
6
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/test-connection`;
|
|
8
7
|
const response = await fetch(localURL, {
|
|
9
8
|
method: 'POST',
|
|
@@ -12,14 +11,16 @@ async function testConnectionString(connectionString) {
|
|
|
12
11
|
},
|
|
13
12
|
body: JSON.stringify({
|
|
14
13
|
connectionString,
|
|
14
|
+
clientId,
|
|
15
|
+
databaseType,
|
|
15
16
|
task: 'test-connection',
|
|
16
17
|
}),
|
|
17
18
|
});
|
|
18
19
|
const results = await response.json();
|
|
19
|
-
return results
|
|
20
|
+
return results;
|
|
20
21
|
}
|
|
21
22
|
exports.testConnectionString = testConnectionString;
|
|
22
|
-
async function getSchemaTableInfo(
|
|
23
|
+
async function getSchemaTableInfo(clientId, schema, databaseType) {
|
|
23
24
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/schema-info`;
|
|
24
25
|
const response = await fetch(localURL, {
|
|
25
26
|
method: 'POST',
|
|
@@ -27,8 +28,9 @@ async function getSchemaTableInfo(connectionString, schema) {
|
|
|
27
28
|
'Content-Type': 'application/json',
|
|
28
29
|
},
|
|
29
30
|
body: JSON.stringify({
|
|
30
|
-
|
|
31
|
+
clientId,
|
|
31
32
|
schema,
|
|
33
|
+
databaseType,
|
|
32
34
|
task: 'schema-info',
|
|
33
35
|
}),
|
|
34
36
|
});
|
|
@@ -36,7 +38,7 @@ async function getSchemaTableInfo(connectionString, schema) {
|
|
|
36
38
|
return results;
|
|
37
39
|
}
|
|
38
40
|
exports.getSchemaTableInfo = getSchemaTableInfo;
|
|
39
|
-
async function getTablesBySchema(
|
|
41
|
+
async function getTablesBySchema(clientId, schema) {
|
|
40
42
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/tables-by-schema`;
|
|
41
43
|
const response = await fetch(localURL, {
|
|
42
44
|
method: 'POST',
|
|
@@ -44,8 +46,8 @@ async function getTablesBySchema(connectionString, schema) {
|
|
|
44
46
|
'Content-Type': 'application/json',
|
|
45
47
|
},
|
|
46
48
|
body: JSON.stringify({
|
|
47
|
-
|
|
48
|
-
schema,
|
|
49
|
+
clientId,
|
|
50
|
+
schemaNames: [schema],
|
|
49
51
|
task: 'tables-by-schema',
|
|
50
52
|
}),
|
|
51
53
|
});
|
|
@@ -53,7 +55,7 @@ async function getTablesBySchema(connectionString, schema) {
|
|
|
53
55
|
return results.tables;
|
|
54
56
|
}
|
|
55
57
|
exports.getTablesBySchema = getTablesBySchema;
|
|
56
|
-
async function getTableInfo(
|
|
58
|
+
async function getTableInfo(clientId, schema, table) {
|
|
57
59
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/table-info`;
|
|
58
60
|
const response = await fetch(localURL, {
|
|
59
61
|
method: 'POST',
|
|
@@ -61,7 +63,7 @@ async function getTableInfo(connectionString, schema, table) {
|
|
|
61
63
|
'Content-Type': 'application/json',
|
|
62
64
|
},
|
|
63
65
|
body: JSON.stringify({
|
|
64
|
-
|
|
66
|
+
clientId,
|
|
65
67
|
schema,
|
|
66
68
|
table,
|
|
67
69
|
task: 'table-info',
|
|
@@ -71,7 +73,7 @@ async function getTableInfo(connectionString, schema, table) {
|
|
|
71
73
|
return results;
|
|
72
74
|
}
|
|
73
75
|
exports.getTableInfo = getTableInfo;
|
|
74
|
-
async function getOrgInfo(
|
|
76
|
+
async function getOrgInfo(clientId, schema, table, orgIdColumn, orgColumn) {
|
|
75
77
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/org-info`;
|
|
76
78
|
const response = await fetch(localURL, {
|
|
77
79
|
method: 'POST',
|
|
@@ -79,7 +81,7 @@ async function getOrgInfo(connectionString, schema, table, orgIdColumn, orgColum
|
|
|
79
81
|
'Content-Type': 'application/json',
|
|
80
82
|
},
|
|
81
83
|
body: JSON.stringify({
|
|
82
|
-
|
|
84
|
+
clientId,
|
|
83
85
|
schema,
|
|
84
86
|
table,
|
|
85
87
|
orgColumn,
|
|
@@ -91,7 +93,7 @@ async function getOrgInfo(connectionString, schema, table, orgIdColumn, orgColum
|
|
|
91
93
|
return results.orgStrings;
|
|
92
94
|
}
|
|
93
95
|
exports.getOrgInfo = getOrgInfo;
|
|
94
|
-
async function getFKInfo(
|
|
96
|
+
async function getFKInfo(clientId, schema, table, primaryKey) {
|
|
95
97
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/fk-info`;
|
|
96
98
|
const response = await fetch(localURL, {
|
|
97
99
|
method: 'POST',
|
|
@@ -99,7 +101,7 @@ async function getFKInfo(connectionString, schema, table, primaryKey) {
|
|
|
99
101
|
'Content-Type': 'application/json',
|
|
100
102
|
},
|
|
101
103
|
body: JSON.stringify({
|
|
102
|
-
|
|
104
|
+
clientId,
|
|
103
105
|
schema,
|
|
104
106
|
table,
|
|
105
107
|
primaryKey,
|
|
@@ -119,7 +121,7 @@ async function getFKInfo(connectionString, schema, table, primaryKey) {
|
|
|
119
121
|
return results.foreignKeysString;
|
|
120
122
|
}
|
|
121
123
|
exports.getFKInfo = getFKInfo;
|
|
122
|
-
async function getTableSchema(
|
|
124
|
+
async function getTableSchema(clientId, tables, schemaName) {
|
|
123
125
|
const localURL = `${constants_1.QUILL_SERVER}/sdk/table-schemas`;
|
|
124
126
|
const response = await fetch(localURL, {
|
|
125
127
|
method: 'POST',
|
|
@@ -127,8 +129,9 @@ async function getTableSchema(connectionString, tables) {
|
|
|
127
129
|
'Content-Type': 'application/json',
|
|
128
130
|
},
|
|
129
131
|
body: JSON.stringify({
|
|
130
|
-
|
|
132
|
+
clientId,
|
|
131
133
|
tables,
|
|
134
|
+
schemaName,
|
|
132
135
|
task: 'table-schemas',
|
|
133
136
|
}),
|
|
134
137
|
});
|
|
@@ -136,6 +139,36 @@ async function getTableSchema(connectionString, tables) {
|
|
|
136
139
|
return results;
|
|
137
140
|
}
|
|
138
141
|
exports.getTableSchema = getTableSchema;
|
|
142
|
+
async function getTableColumnsBySchema(clientId, schemaNames, databaseType, queryEndpoint) {
|
|
143
|
+
const localURL = queryEndpoint ?? `${constants_1.QUILL_SERVER}/table-info-by-schema`;
|
|
144
|
+
const response = await fetch(localURL, {
|
|
145
|
+
method: 'POST',
|
|
146
|
+
headers: {
|
|
147
|
+
'Content-Type': 'application/json',
|
|
148
|
+
},
|
|
149
|
+
body: JSON.stringify({
|
|
150
|
+
clientId,
|
|
151
|
+
schemaNames,
|
|
152
|
+
task: 'table-schemas',
|
|
153
|
+
metadata: {
|
|
154
|
+
task: 'table-schemas',
|
|
155
|
+
preQueries: ['temp'],
|
|
156
|
+
clientId,
|
|
157
|
+
runQueryConfig: {
|
|
158
|
+
overridePost: true,
|
|
159
|
+
convertDatatypes: true,
|
|
160
|
+
getTables: true,
|
|
161
|
+
schema: schemaNames[0],
|
|
162
|
+
schemaNames: schemaNames,
|
|
163
|
+
},
|
|
164
|
+
databaseType: databaseType,
|
|
165
|
+
},
|
|
166
|
+
}),
|
|
167
|
+
});
|
|
168
|
+
const results = await response.json();
|
|
169
|
+
return queryEndpoint ? results.data.queryResults : results;
|
|
170
|
+
}
|
|
171
|
+
exports.getTableColumnsBySchema = getTableColumnsBySchema;
|
|
139
172
|
async function getSQLViews(tableSchemas, customerNameField) {
|
|
140
173
|
const localURL = `${constants_1.QUILL_SERVER}/sqlviewai`;
|
|
141
174
|
const response = await fetch(localURL, {
|
|
@@ -159,21 +192,40 @@ async function getSQLViews(tableSchemas, customerNameField) {
|
|
|
159
192
|
return results.notSureWhatThisIs.sqlQueries;
|
|
160
193
|
}
|
|
161
194
|
exports.getSQLViews = getSQLViews;
|
|
162
|
-
async function getSqlViewData(
|
|
163
|
-
const
|
|
164
|
-
const response = await fetch(
|
|
195
|
+
async function getSqlViewData(clientId, query, databaseType, queryEndpoint) {
|
|
196
|
+
const url = queryEndpoint ?? `${constants_1.QUILL_SERVER}/sdk/query-view`;
|
|
197
|
+
const response = await fetch(url, {
|
|
165
198
|
method: 'POST',
|
|
166
199
|
headers: {
|
|
167
200
|
'Content-Type': 'application/json',
|
|
168
201
|
},
|
|
169
202
|
body: JSON.stringify({
|
|
170
|
-
|
|
203
|
+
clientId,
|
|
171
204
|
query,
|
|
205
|
+
metadata: {
|
|
206
|
+
task: 'query-view',
|
|
207
|
+
preQueries: [query],
|
|
208
|
+
clientId,
|
|
209
|
+
runQueryConfig: {
|
|
210
|
+
overridePost: true,
|
|
211
|
+
convertDatatypes: true,
|
|
212
|
+
limitThousand: true,
|
|
213
|
+
},
|
|
214
|
+
databaseType: databaseType,
|
|
215
|
+
},
|
|
172
216
|
task: 'query-view',
|
|
173
217
|
}),
|
|
174
218
|
});
|
|
175
219
|
const results = await response.json();
|
|
176
|
-
|
|
220
|
+
if (results.status === 'error') {
|
|
221
|
+
return { ...results, success: false };
|
|
222
|
+
}
|
|
223
|
+
return queryEndpoint
|
|
224
|
+
? {
|
|
225
|
+
...results.data.queryResults[0],
|
|
226
|
+
success: results.status === 'success' ? true : false,
|
|
227
|
+
}
|
|
228
|
+
: results;
|
|
177
229
|
}
|
|
178
230
|
exports.getSqlViewData = getSqlViewData;
|
|
179
231
|
async function getQueryFromAI(aiPrompt, columnsByTable) {
|
|
@@ -193,7 +245,25 @@ async function getQueryFromAI(aiPrompt, columnsByTable) {
|
|
|
193
245
|
return results.message;
|
|
194
246
|
}
|
|
195
247
|
exports.getQueryFromAI = getQueryFromAI;
|
|
196
|
-
async function
|
|
248
|
+
async function getQueryFromAiWithConnection(aiPrompt, clientId, schemaNames) {
|
|
249
|
+
const localURL = `${constants_1.QUILL_SERVER}/ai-from-client-schema`;
|
|
250
|
+
const response = await fetch(localURL, {
|
|
251
|
+
method: 'POST',
|
|
252
|
+
headers: {
|
|
253
|
+
'Content-Type': 'application/json',
|
|
254
|
+
},
|
|
255
|
+
body: JSON.stringify({
|
|
256
|
+
prompt: aiPrompt,
|
|
257
|
+
clientId,
|
|
258
|
+
schemaNames,
|
|
259
|
+
task: 'sql-generator',
|
|
260
|
+
}),
|
|
261
|
+
});
|
|
262
|
+
const results = await response.json();
|
|
263
|
+
return results.message;
|
|
264
|
+
}
|
|
265
|
+
exports.getQueryFromAiWithConnection = getQueryFromAiWithConnection;
|
|
266
|
+
async function createSQLView(connectionType, allSchemaInfo, columnsByTable, viewInfo, client, domainName, tableData, currentTableNames, override = false, clientId) {
|
|
197
267
|
let queryName = viewInfo.name;
|
|
198
268
|
let validQuery = false;
|
|
199
269
|
let localURL = `${constants_1.QUILL_SERVER}/astify`;
|
|
@@ -204,7 +274,7 @@ async function createSQLView(connectionType, allSchemaInfo, columnsByTable, view
|
|
|
204
274
|
},
|
|
205
275
|
body: JSON.stringify({ query: viewInfo.query }),
|
|
206
276
|
});
|
|
207
|
-
tableData?.
|
|
277
|
+
tableData?.fields.forEach((column) => {
|
|
208
278
|
if (column.name === allSchemaInfo.selectedFields.foreignKey) {
|
|
209
279
|
validQuery = true;
|
|
210
280
|
}
|
|
@@ -223,27 +293,28 @@ async function createSQLView(connectionType, allSchemaInfo, columnsByTable, view
|
|
|
223
293
|
if (currentTableNames.includes(queryName)) {
|
|
224
294
|
return { success: false, message: 'Query name already exists' };
|
|
225
295
|
}
|
|
226
|
-
const columns = columnsByTable.find((table) => table.tableName === allSchemaInfo.selectedFields.table).columns;
|
|
296
|
+
const columns = columnsByTable.find((table) => table.tableName === `${allSchemaInfo.selectedFields.schema}.${allSchemaInfo.selectedFields.table}`).columns;
|
|
227
297
|
const customerFieldType = columns.find((column) => column.columnName === allSchemaInfo.selectedFields.organizationIdField).fieldType;
|
|
228
298
|
const fuzzyType = customerFieldType === 'string' || customerFieldType === 'uuid'
|
|
229
299
|
? 'text'
|
|
230
300
|
: 'number';
|
|
231
301
|
localURL = `${constants_1.QUILL_SERVER}/sdk/create-environment`;
|
|
232
302
|
const payload = {
|
|
233
|
-
databaseConnectionString: (0, databases_1.formConnectionString)(connectionType),
|
|
234
|
-
databaseType: connectionType.type,
|
|
235
303
|
customerFieldName: allSchemaInfo.selectedFields.foreignKey,
|
|
236
|
-
customerTableName: allSchemaInfo.selectedFields.table
|
|
304
|
+
customerTableName: `${allSchemaInfo.selectedFields.schema}.${allSchemaInfo.selectedFields.table}`,
|
|
237
305
|
customerTableFieldName: allSchemaInfo.selectedFields.organizationIdField,
|
|
238
306
|
adminCustomerId: allSchemaInfo.selectedFields.defaultOrg?.id,
|
|
239
307
|
customerTableTitleFieldName: allSchemaInfo.selectedFields.customerNameField,
|
|
240
|
-
columns: tableData?.
|
|
308
|
+
columns: tableData?.fields,
|
|
241
309
|
task: 'create-environment',
|
|
242
310
|
viewQuery: viewInfo.query,
|
|
243
311
|
customerFieldType: fuzzyType,
|
|
244
312
|
name: queryName,
|
|
245
313
|
client,
|
|
246
314
|
domainName,
|
|
315
|
+
schemaName: allSchemaInfo.selectedFields.schema,
|
|
316
|
+
schemaNames: [allSchemaInfo.selectedFields.schema],
|
|
317
|
+
clientId,
|
|
247
318
|
};
|
|
248
319
|
const response = await fetch(localURL, {
|
|
249
320
|
method: 'POST',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB;;6CAKtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const ArrowDownHeadIcon = ({ ...props }) => ((0, jsx_runtime_1.jsx)("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "24", height: "24", children: (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M12 13.172l4.95-4.95 1.414 1.414L12 16 5.636 9.636 7.05 8.222z" }) }));
|
|
5
|
+
exports.default = ArrowDownHeadIcon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/XIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK;;6CAcV,CAAC;AACF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const XIcon = ({ ...props }) => ((0, jsx_runtime_1.jsx)("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", height: "20", width: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }));
|
|
5
|
+
exports.default = XIcon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
exports.XIcon = exports.ArrowDownHeadIcon = void 0;
|
|
7
|
+
var ArrowDownHeadIcon_1 = require("./ArrowDownHeadIcon");
|
|
8
|
+
Object.defineProperty(exports, "ArrowDownHeadIcon", { enumerable: true, get: function () { return __importDefault(ArrowDownHeadIcon_1).default; } });
|
|
9
|
+
var XIcon_1 = require("./XIcon");
|
|
10
|
+
Object.defineProperty(exports, "XIcon", { enumerable: true, get: function () { return __importDefault(XIcon_1).default; } });
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export default function DatabaseMismatchCard({ environemntName, environemntDatabaseType, backendDatabaseType, }: {
|
|
2
|
+
environemntName: string;
|
|
3
|
+
environemntDatabaseType: string;
|
|
4
|
+
backendDatabaseType: string;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=DatabaseMismatchCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatabaseMismatchCard.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseMismatchCard.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,eAAe,EACf,uBAAuB,EACvB,mBAAmB,GACpB,EAAE;IACD,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;CAC7B,2CAmDA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
function DatabaseMismatchCard({ environemntName, environemntDatabaseType, backendDatabaseType, }) {
|
|
5
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
6
|
+
display: 'flex',
|
|
7
|
+
flexDirection: 'column',
|
|
8
|
+
alignItems: 'center',
|
|
9
|
+
width: '100%',
|
|
10
|
+
marginTop: 80,
|
|
11
|
+
}, children: (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
12
|
+
borderRadius: 10,
|
|
13
|
+
width: 500,
|
|
14
|
+
border: '1px solid #e7e7e7',
|
|
15
|
+
padding: 20,
|
|
16
|
+
}, children: [(0, jsx_runtime_1.jsx)("h1", { style: { fontSize: 20, fontWeight: 'bolder' }, children: "Invalid Database Type Connected to Quill Server SDK" }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("p", { children: ["The selected environment ", (0, jsx_runtime_1.jsx)("strong", { children: environemntName }), " is running on ", (0, jsx_runtime_1.jsx)("strong", { children: environemntDatabaseType }), ", but the", ' ', (0, jsx_runtime_1.jsx)("strong", { children: "queryEndpoint " }), "prop passed into ", (0, jsx_runtime_1.jsx)("strong", { children: '<AdminProvider />' }), " is connecting to", (0, jsx_runtime_1.jsxs)("strong", { children: [" ", backendDatabaseType, "."] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "If you intend to use a different environment that uses", ' ', (0, jsx_runtime_1.jsx)("strong", { children: backendDatabaseType }), ", switch to that environment in the ", (0, jsx_runtime_1.jsx)("strong", { children: "Environment" }), " dropdown.", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "If you intend to connect to a different endpoint with a different datasource, you can do so by passing the", ' ', (0, jsx_runtime_1.jsx)("strong", { children: "queryEndpoint" }), " prop into", ' ', (0, jsx_runtime_1.jsx)("strong", { children: '<AdminProvider />' }), " with the correct endpoint.", (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {}), "If you intend to connect to a different datasource and continue to use the same endpoint, you can do so by passing the credentials of the datasource into the ", (0, jsx_runtime_1.jsx)("strong", { children: "databaseCredentials" }), " object in the instantiation of the ", (0, jsx_runtime_1.jsx)("strong", { children: "Quill Server SDK" }), "."] })] }) }));
|
|
17
|
+
}
|
|
18
|
+
exports.default = DatabaseMismatchCard;
|
|
@@ -5,7 +5,8 @@ interface DatabaseSelectorProps {
|
|
|
5
5
|
value: string;
|
|
6
6
|
onDatabaseSelect: (database: string) => void;
|
|
7
7
|
containerStyle?: CSSProperties;
|
|
8
|
+
databaseType: string;
|
|
8
9
|
}
|
|
9
|
-
export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, }: DatabaseSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType, }: DatabaseSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=DatabaseSelector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseSelector.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAGvD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"DatabaseSelector.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAGvD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,YAAiB,GAClB,EAAE,qBAAqB,2CAqCvB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, }) {
|
|
4
|
+
function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType = '', }) {
|
|
5
5
|
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
6
6
|
...containerStyle,
|
|
7
7
|
height: 128,
|
|
@@ -10,7 +10,7 @@ function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerS
|
|
|
10
10
|
flexDirection: 'column',
|
|
11
11
|
justifyContent: 'center',
|
|
12
12
|
alignItems: 'center',
|
|
13
|
-
border: '1px solid #e0e0e0'
|
|
13
|
+
border: `${databaseType === value ? '2px' : '1px'} solid ${databaseType === value ? '#000000' : '#e0e0e0'}`,
|
|
14
14
|
borderRadius: 6,
|
|
15
15
|
padding: 12,
|
|
16
16
|
}, id: "connect-database-form", onClick: () => {
|
|
@@ -6,7 +6,8 @@ interface DropdownMenuWithLabelProps {
|
|
|
6
6
|
theme?: any;
|
|
7
7
|
secondaryTextColor?: string;
|
|
8
8
|
disabled?: boolean;
|
|
9
|
+
parentRef: any;
|
|
9
10
|
}
|
|
10
|
-
export default function DropdownMenuWithLabel({ items, setSelected, selected, theme, label, disabled, secondaryTextColor, }: DropdownMenuWithLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default function DropdownMenuWithLabel({ items, setSelected, selected, theme, label, disabled, secondaryTextColor, parentRef, }: DropdownMenuWithLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
11
12
|
export {};
|
|
12
13
|
//# sourceMappingURL=DropDownMenuWithLabel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropDownMenuWithLabel.d.ts","sourceRoot":"","sources":["../../../src/components/DropDownMenuWithLabel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DropDownMenuWithLabel.d.ts","sourceRoot":"","sources":["../../../src/components/DropDownMenuWithLabel.tsx"],"names":[],"mappings":"AAIA,UAAU,0BAA0B;IAClC,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAC5C,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,kBAA8B,EAC9B,SAAS,GACV,EAAE,0BAA0B,2CAqH5B"}
|
|
@@ -1,50 +1,171 @@
|
|
|
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
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
|
|
5
|
-
|
|
27
|
+
const react_1 = __importStar(require("react"));
|
|
28
|
+
const OrgSelect_1 = require("./OrgSelect");
|
|
29
|
+
function DropdownMenuWithLabel({ items, setSelected, selected, theme, label, disabled = false, secondaryTextColor = '#6e6e6e', parentRef, }) {
|
|
30
|
+
const [isOpen, setIsOpen] = react_1.default.useState(false);
|
|
31
|
+
const [searchQuery, setSearchQuery] = react_1.default.useState('');
|
|
32
|
+
const [filteredItems, setFilteredItems] = react_1.default.useState(items);
|
|
33
|
+
(0, react_1.useEffect)(() => {
|
|
34
|
+
setFilteredItems(items);
|
|
35
|
+
}, [items]);
|
|
36
|
+
const handleSearchChange = (value) => {
|
|
37
|
+
setSearchQuery(value);
|
|
38
|
+
setFilteredItems(items.filter((item) => item.toLowerCase().includes(value.toLowerCase())));
|
|
39
|
+
};
|
|
40
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("h1", { style: {
|
|
6
41
|
fontSize: '14px',
|
|
7
42
|
paddingTop: '0px',
|
|
8
43
|
marginTop: '0px',
|
|
9
44
|
marginBottom: '4px',
|
|
10
45
|
fontWeight: '600',
|
|
11
46
|
color: secondaryTextColor,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
}, children: label }), (0, jsx_runtime_1.jsxs)(OrgSelect_1.Popover, { parentRef: parentRef, label: items.length === 0 ? 'N/A' : selected ? selected : 'Select', isOpen: isOpen, onClose: () => setIsOpen(false), style: {
|
|
48
|
+
boxSizing: 'border-box',
|
|
49
|
+
fontSize: 14,
|
|
50
|
+
// padding: 11,
|
|
51
|
+
}, setIsOpen: setIsOpen, children: [(0, jsx_runtime_1.jsx)(OrgSelect_1.ListboxTextInput, { id: "quill-search-bar", placeholder: 'Search', value: searchQuery, onChange: handleSearchChange }), (0, jsx_runtime_1.jsx)("div", { style: { height: 9, width: 230, borderTop: '1px solid #e7e7e7' } }), (0, jsx_runtime_1.jsx)("div", { style: { gap: 2, maxHeight: '50vh' }, children: filteredItems.map((item, index) => ((0, jsx_runtime_1.jsx)(ListboxRow, { setSelected: setSelected, setIsOpen: setIsOpen, item: item }, index))) }), (0, jsx_runtime_1.jsx)("div", { style: { height: 8, width: 230 } })] })] }));
|
|
52
|
+
{
|
|
53
|
+
/* return (
|
|
54
|
+
<div style={{ position: 'relative', minWidth: 230 }}>
|
|
55
|
+
<h1
|
|
56
|
+
style={{
|
|
57
|
+
fontSize: '14px',
|
|
58
|
+
paddingTop: '0px',
|
|
59
|
+
marginTop: '0px',
|
|
60
|
+
marginBottom: '4px',
|
|
61
|
+
fontWeight: '600',
|
|
62
|
+
color: secondaryTextColor,
|
|
63
|
+
userSelect: 'none',
|
|
64
|
+
}}
|
|
65
|
+
>
|
|
66
|
+
{label}
|
|
67
|
+
</h1>
|
|
68
|
+
<MemoizedPopover
|
|
69
|
+
parentRef={parentRef}
|
|
70
|
+
label={selected}
|
|
71
|
+
isOpen={isOpen}
|
|
72
|
+
onClose={() => setIsOpen(false)}
|
|
73
|
+
// style={{
|
|
74
|
+
// boxSizing: 'border-box',
|
|
75
|
+
// fontSize: 14,
|
|
76
|
+
// }}
|
|
77
|
+
setIsOpen={setIsOpen}
|
|
78
|
+
onClick={() => console.log()}
|
|
79
|
+
>
|
|
80
|
+
<MemoizedTextInput
|
|
81
|
+
id="quill-search-bar"
|
|
82
|
+
placeholder="Search"
|
|
83
|
+
value={searchQuery}
|
|
84
|
+
onChange={handleSearchChange}
|
|
85
|
+
/>
|
|
86
|
+
<div
|
|
87
|
+
style={{ height: 9, width: 230, borderTop: '1px solid #e7e7e7' }}
|
|
88
|
+
/>
|
|
89
|
+
<div style={{ gap: 2, maxHeight: '50vh' }}>
|
|
90
|
+
{filteredItems.map((item, index) => (
|
|
91
|
+
<DropdownRow setSelected={setSelected} item={item} key={index} />
|
|
92
|
+
))}
|
|
93
|
+
{filteredItems.length === 0 && (
|
|
94
|
+
<DropdownRow item={{ name: `No ${label} found` }} />
|
|
95
|
+
)}
|
|
96
|
+
</div>
|
|
97
|
+
</Popover>
|
|
98
|
+
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
); */
|
|
102
|
+
}
|
|
49
103
|
}
|
|
50
104
|
exports.default = DropdownMenuWithLabel;
|
|
105
|
+
function ListboxRow({ item, setSelected, setIsOpen, }) {
|
|
106
|
+
return ((0, jsx_runtime_1.jsxs)("div", { onClick: setSelected
|
|
107
|
+
? () => {
|
|
108
|
+
setSelected(item);
|
|
109
|
+
setIsOpen(false);
|
|
110
|
+
}
|
|
111
|
+
: undefined, className: "drop-down", children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
112
|
+
.drop-down {
|
|
113
|
+
background-color: white;
|
|
114
|
+
height: 42px;
|
|
115
|
+
color: #384151;
|
|
116
|
+
width: 216px;
|
|
117
|
+
borderBottom: 1px solid #e7e7e7;
|
|
118
|
+
border-radius: 6px;
|
|
119
|
+
text-align: left;
|
|
120
|
+
padding-left: 10px;
|
|
121
|
+
padding-right: 12px;
|
|
122
|
+
display: flex;
|
|
123
|
+
flex-direction: row;
|
|
124
|
+
align-items: center;
|
|
125
|
+
cursor: pointer;
|
|
126
|
+
font-weight: 500;
|
|
127
|
+
font-size: 14px;
|
|
128
|
+
text-overflow: ellipsis;
|
|
129
|
+
white-space: nowrap;
|
|
130
|
+
overflow: hidden;
|
|
131
|
+
}
|
|
132
|
+
.quill-org-select:hover {
|
|
133
|
+
background-color: rgba(56, 65, 81, 0.04);
|
|
134
|
+
}` }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
135
|
+
textOverflow: 'ellipsis',
|
|
136
|
+
whiteSpace: 'nowrap',
|
|
137
|
+
overflow: 'hidden',
|
|
138
|
+
display: 'block',
|
|
139
|
+
}, children: item.name || item })] }));
|
|
140
|
+
}
|
|
141
|
+
function DropdownRow({ item, setSelected, }) {
|
|
142
|
+
return ((0, jsx_runtime_1.jsxs)("div", { onClick: setSelected ? () => setSelected(item) : undefined, className: "dropdown-row", children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
143
|
+
.dropdown-row {
|
|
144
|
+
background-color: white;
|
|
145
|
+
height: 42px;
|
|
146
|
+
color: #384151;
|
|
147
|
+
width: 216px;
|
|
148
|
+
borderBottom: 1px solid #e7e7e7;
|
|
149
|
+
border-radius: 6px;
|
|
150
|
+
text-align: left;
|
|
151
|
+
padding-left: 10px;
|
|
152
|
+
padding-right: 12px;
|
|
153
|
+
display: flex;
|
|
154
|
+
flex-direction: row;
|
|
155
|
+
align-items: center;
|
|
156
|
+
cursor: pointer;
|
|
157
|
+
font-weight: 500;
|
|
158
|
+
font-size: 14px;
|
|
159
|
+
text-overflow: ellipsis;
|
|
160
|
+
white-space: nowrap;
|
|
161
|
+
overflow: hidden;
|
|
162
|
+
}
|
|
163
|
+
.dropdown-row:hover {
|
|
164
|
+
background-color: rgba(56, 65, 81, 0.04);
|
|
165
|
+
}` }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
166
|
+
textOverflow: 'ellipsis',
|
|
167
|
+
whiteSpace: 'nowrap',
|
|
168
|
+
overflow: 'hidden',
|
|
169
|
+
display: 'block',
|
|
170
|
+
}, children: item })] }));
|
|
171
|
+
}
|