@mongodb-js/connection-form 0.2.0 → 0.5.0
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/components/advanced-options-tabs/advanced-options-tabs.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/advanced-options-tabs.js +12 -3
- package/dist/components/advanced-options-tabs/advanced-options-tabs.js.map +1 -1
- package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.d.ts +6 -0
- package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.js +31 -5
- package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.js.map +1 -1
- package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.js +4 -5
- package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.js.map +1 -1
- package/dist/components/advanced-options-tabs/advanced-tab/url-options.js +3 -3
- package/dist/components/advanced-options-tabs/advanced-tab/url-options.js.map +1 -1
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.js +4 -4
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.js.map +1 -1
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.js +4 -3
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.js.map +1 -1
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.js +2 -2
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.js.map +1 -1
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.js +1 -1
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.js.map +1 -1
- package/dist/components/advanced-options-tabs/{general-tab/schema-input.d.ts → csfle-tab/csfle-tab.d.ts} +5 -5
- package/dist/components/advanced-options-tabs/csfle-tab/csfle-tab.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/csfle-tab/csfle-tab.js +112 -0
- package/dist/components/advanced-options-tabs/csfle-tab/csfle-tab.js.map +1 -0
- package/dist/components/advanced-options-tabs/csfle-tab/encrypted-field-config-input.d.ts +13 -0
- package/dist/components/advanced-options-tabs/csfle-tab/encrypted-field-config-input.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/csfle-tab/encrypted-field-config-input.js +39 -0
- package/dist/components/advanced-options-tabs/csfle-tab/encrypted-field-config-input.js.map +1 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-provider-fields.d.ts +16 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-provider-fields.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-provider-fields.js +49 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-provider-fields.js.map +1 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-provider-status-indicator.d.ts +11 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-provider-status-indicator.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-provider-status-indicator.js +23 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-provider-status-indicator.js.map +1 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-tls-options.d.ts +11 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-tls-options.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-tls-options.js +48 -0
- package/dist/components/advanced-options-tabs/csfle-tab/kms-tls-options.js.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.js +3 -3
- package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.js.map +1 -1
- package/dist/components/advanced-options-tabs/general-tab/host-input.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/general-tab/host-input.js +3 -3
- package/dist/components/advanced-options-tabs/general-tab/host-input.js.map +1 -1
- package/dist/components/advanced-options-tabs/general-tab/scheme-input.d.ts +2 -2
- package/dist/components/advanced-options-tabs/general-tab/scheme-input.js +17 -17
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.js +1 -1
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.js.map +1 -1
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.js +15 -10
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.js.map +1 -1
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.js +1 -1
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.js.map +1 -1
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.d.ts +5 -4
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.js +15 -7
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.js.map +1 -1
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.d.ts +5 -3
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.js +7 -6
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.js.map +1 -1
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.d.ts +5 -1
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.d.ts.map +1 -1
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.js +19 -21
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.js.map +1 -1
- package/dist/components/connect-form-actions.d.ts.map +1 -1
- package/dist/components/connect-form-actions.js +3 -4
- package/dist/components/connect-form-actions.js.map +1 -1
- package/dist/components/connect-form.d.ts +6 -5
- package/dist/components/connect-form.d.ts.map +1 -1
- package/dist/components/connect-form.js +70 -53
- package/dist/components/connect-form.js.map +1 -1
- package/dist/components/connection-string-input.d.ts +2 -1
- package/dist/components/connection-string-input.d.ts.map +1 -1
- package/dist/components/connection-string-input.js +11 -5
- package/dist/components/connection-string-input.js.map +1 -1
- package/dist/components/favorite-color-picker.d.ts.map +1 -1
- package/dist/components/favorite-color-picker.js +3 -0
- package/dist/components/favorite-color-picker.js.map +1 -1
- package/dist/components/save-connection-modal.d.ts.map +1 -1
- package/dist/components/save-connection-modal.js +2 -2
- package/dist/components/save-connection-modal.js.map +1 -1
- package/dist/hooks/use-connect-form.d.ts +4 -2
- package/dist/hooks/use-connect-form.d.ts.map +1 -1
- package/dist/hooks/use-connect-form.js +36 -10
- package/dist/hooks/use-connect-form.js.map +1 -1
- package/dist/hooks/use-connection-color.d.ts +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/authentication-handler.d.ts.map +1 -1
- package/dist/utils/authentication-handler.js +8 -23
- package/dist/utils/authentication-handler.js.map +1 -1
- package/dist/utils/connection-string-helpers.d.ts +1 -1
- package/dist/utils/connection-string-helpers.d.ts.map +1 -1
- package/dist/utils/connection-string-helpers.js +3 -1
- package/dist/utils/connection-string-helpers.js.map +1 -1
- package/dist/utils/csfle-handler.d.ts +56 -0
- package/dist/utils/csfle-handler.d.ts.map +1 -0
- package/dist/utils/csfle-handler.js +171 -0
- package/dist/utils/csfle-handler.js.map +1 -0
- package/dist/utils/csfle-kms-fields.d.ts +25 -0
- package/dist/utils/csfle-kms-fields.d.ts.map +1 -0
- package/dist/utils/csfle-kms-fields.js +132 -0
- package/dist/utils/csfle-kms-fields.js.map +1 -0
- package/dist/utils/tls-handler.d.ts +1 -1
- package/dist/utils/tls-handler.d.ts.map +1 -1
- package/dist/utils/tls-handler.js +15 -2
- package/dist/utils/tls-handler.js.map +1 -1
- package/dist/utils/url-options.d.ts.map +1 -1
- package/dist/utils/url-options.js +7 -1
- package/dist/utils/url-options.js.map +1 -1
- package/dist/utils/validation.d.ts +4 -4
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +80 -13
- package/dist/utils/validation.js.map +1 -1
- package/package.json +19 -15
- package/dist/.esm-wrapper.mjs +0 -5
- package/dist/components/advanced-options-tabs/general-tab/schema-input.d.ts.map +0 -1
- package/dist/components/advanced-options-tabs/general-tab/schema-input.js +0 -52
- package/dist/components/advanced-options-tabs/general-tab/schema-input.js.map +0 -1
- package/dist/components/validation-summary.d.ts +0 -12
- package/dist/components/validation-summary.d.ts.map +0 -1
- package/dist/components/validation-summary.js +0 -56
- package/dist/components/validation-summary.js.map +0 -1
- package/dist/utils/read-preferences.d.ts +0 -8
- package/dist/utils/read-preferences.d.ts.map +0 -1
- package/dist/utils/read-preferences.js +0 -27
- package/dist/utils/read-preferences.js.map +0 -1
|
@@ -5,18 +5,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const compass_components_1 = require("@mongodb-js/compass-components");
|
|
8
|
+
const tls_ssl_tab_1 = require("./tls-ssl-tab");
|
|
8
9
|
const form_field_container_1 = __importDefault(require("../../form-field-container"));
|
|
9
10
|
const caFieldsContainer = (0, compass_components_1.css)({
|
|
10
11
|
width: '80%',
|
|
11
12
|
});
|
|
12
|
-
function TLSCertificateAuthority({
|
|
13
|
-
const caFile = connectionStringUrl
|
|
14
|
-
.typedSearchParams()
|
|
15
|
-
.get('tlsCAFile');
|
|
13
|
+
function TLSCertificateAuthority({ tlsCAFile, useSystemCA, disabled, displayDatabaseConnectionUserHints = true, handleTlsOptionChanged, }) {
|
|
16
14
|
return (react_1.default.createElement(form_field_container_1.default, { className: caFieldsContainer },
|
|
17
|
-
react_1.default.createElement(compass_components_1.FileInput, { description: 'Learn More', disabled: disabled, id: "tlsCAFile", dataTestId: "tlsCAFile-input", label: "Certificate Authority (.pem)", link:
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
react_1.default.createElement(compass_components_1.FileInput, { description: displayDatabaseConnectionUserHints ? 'Learn More' : undefined, disabled: disabled || useSystemCA, id: "tlsCAFile", dataTestId: "tlsCAFile-input", label: "Certificate Authority (.pem)", link: displayDatabaseConnectionUserHints
|
|
16
|
+
? 'https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.tlsCAFile'
|
|
17
|
+
: undefined, onChange: (files) => {
|
|
18
|
+
var _a;
|
|
19
|
+
handleTlsOptionChanged('tlsCAFile', (_a = files === null || files === void 0 ? void 0 : files[0]) !== null && _a !== void 0 ? _a : null);
|
|
20
|
+
}, showFileOnNewLine: true, values: tlsCAFile ? [tlsCAFile] : undefined, optional: true }),
|
|
21
|
+
react_1.default.createElement(compass_components_1.Checkbox, { onChange: (event) => {
|
|
22
|
+
handleTlsOptionChanged('useSystemCA', event.target.checked ? 'true' : null);
|
|
23
|
+
}, "data-testid": "useSystemCA-input", id: "useSystemCA-input", label: react_1.default.createElement(react_1.default.Fragment, null,
|
|
24
|
+
react_1.default.createElement(compass_components_1.Label, { htmlFor: "useSystemCA-input" }, "Use System Certificate Authority"),
|
|
25
|
+
react_1.default.createElement(compass_components_1.Description, { className: (0, compass_components_1.cx)(tls_ssl_tab_1.checkboxDescriptionStyles, {
|
|
26
|
+
[tls_ssl_tab_1.disabledCheckboxDescriptionStyles]: disabled,
|
|
27
|
+
}) }, "Use the operating system\u2019s Certificate Authority store.")), disabled: disabled, checked: useSystemCA })));
|
|
20
28
|
}
|
|
21
29
|
exports.default = TLSCertificateAuthority;
|
|
22
30
|
//# sourceMappingURL=tls-certificate-authority.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tls-certificate-authority.js","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"tls-certificate-authority.js","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,uEAOwC;AACxC,+CAGuB;AAEvB,sFAA4D;AAE5D,MAAM,iBAAiB,GAAG,IAAA,wBAAG,EAAC;IAC5B,KAAK,EAAE,KAAK;CACb,CAAC,CAAC;AAEH,SAAS,uBAAuB,CAAC,EAC/B,SAAS,EACT,WAAW,EACX,QAAQ,EACR,kCAAkC,GAAG,IAAI,EACzC,sBAAsB,GAUvB;IACC,OAAO,CACL,8BAAC,8BAAkB,IAAC,SAAS,EAAE,iBAAiB;QAC9C,8BAAC,8BAAS,IACR,WAAW,EACT,kCAAkC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAE/D,QAAQ,EAAE,QAAQ,IAAI,WAAW,EACjC,EAAE,EAAC,WAAW,EACd,UAAU,EAAC,iBAAiB,EAC5B,KAAK,EAAC,8BAA8B,EACpC,IAAI,EACF,kCAAkC;gBAChC,CAAC,CAAC,oGAAoG;gBACtG,CAAC,CAAC,SAAS,EAEf,QAAQ,EAAE,CAAC,KAAsB,EAAE,EAAE;;gBACnC,sBAAsB,CAAC,WAAW,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,mCAAI,IAAI,CAAC,CAAC;YAC1D,CAAC,EACD,iBAAiB,QACjB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAC3C,QAAQ,SACR;QACF,8BAAC,6BAAQ,IACP,QAAQ,EAAE,CAAC,KAA0C,EAAE,EAAE;gBACvD,sBAAsB,CACpB,aAAa,EACb,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACrC,CAAC;YACJ,CAAC,iBACW,mBAAmB,EAC/B,EAAE,EAAC,mBAAmB,EACtB,KAAK,EACH;gBACE,8BAAC,0BAAK,IAAC,OAAO,EAAC,mBAAmB,uCAE1B;gBACR,8BAAC,gCAAW,IACV,SAAS,EAAE,IAAA,uBAAE,EAAC,uCAAyB,EAAE;wBACvC,CAAC,+CAAiC,CAAC,EAAE,QAAQ;qBAC9C,CAAC,mEAGU,CACb,EAEL,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,GACpB,CACiB,CACtB,CAAC;AACJ,CAAC;AAED,kBAAe,uBAAuB,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
declare function TLSClientCertificate({ tlsCertificateKeyFile, tlsCertificateKeyFilePassword, disabled, displayDatabaseConnectionUserHints, optional, updateTLSClientCertificate, updateTLSClientCertificatePassword, }: {
|
|
3
|
+
tlsCertificateKeyFile?: string | null;
|
|
4
|
+
tlsCertificateKeyFilePassword?: string | null;
|
|
5
5
|
disabled: boolean;
|
|
6
|
+
displayDatabaseConnectionUserHints?: boolean;
|
|
7
|
+
optional?: boolean;
|
|
6
8
|
updateTLSClientCertificate: (newClientCertificateKeyFile: string | null) => void;
|
|
7
9
|
updateTLSClientCertificatePassword: (newPassword: string | null) => void;
|
|
8
10
|
}): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tls-client-certificate.d.ts","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tls-client-certificate.d.ts","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,iBAAS,oBAAoB,CAAC,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,QAAQ,EACR,kCAAyC,EACzC,QAAe,EACf,0BAA0B,EAC1B,kCAAkC,GACnC,EAAE;IACD,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,6BAA6B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B,EAAE,CAC1B,2BAA2B,EAAE,MAAM,GAAG,IAAI,KACvC,IAAI,CAAC;IACV,kCAAkC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1E,GAAG,KAAK,CAAC,YAAY,CAmDrB;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -9,15 +9,16 @@ const form_field_container_1 = __importDefault(require("../../form-field-contain
|
|
|
9
9
|
const inputFieldStyles = (0, compass_components_1.css)({
|
|
10
10
|
width: '80%',
|
|
11
11
|
});
|
|
12
|
-
function TLSClientCertificate({
|
|
13
|
-
const typedParams = connectionStringUrl.typedSearchParams();
|
|
14
|
-
const clientCertificateKeyFile = typedParams.get('tlsCertificateKeyFile');
|
|
15
|
-
const tlsCertificateKeyFilePassword = typedParams.get('tlsCertificateKeyFilePassword');
|
|
12
|
+
function TLSClientCertificate({ tlsCertificateKeyFile, tlsCertificateKeyFilePassword, disabled, displayDatabaseConnectionUserHints = true, optional = true, updateTLSClientCertificate, updateTLSClientCertificatePassword, }) {
|
|
16
13
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
17
14
|
react_1.default.createElement(form_field_container_1.default, { className: inputFieldStyles },
|
|
18
|
-
react_1.default.createElement(compass_components_1.FileInput, { description: 'Learn More', disabled: disabled, id: "tlsCertificateKeyFile", label: "Client Certificate and Key (.pem)", dataTestId: "tlsCertificateKeyFile-input", link:
|
|
15
|
+
react_1.default.createElement(compass_components_1.FileInput, { description: displayDatabaseConnectionUserHints ? 'Learn More' : undefined, disabled: disabled, id: "tlsCertificateKeyFile", label: "Client Certificate and Key (.pem)", dataTestId: "tlsCertificateKeyFile-input", link: displayDatabaseConnectionUserHints
|
|
16
|
+
? 'https://docs.mongodb.com/manual/reference/connection-string/#mongodb-urioption-urioption.tlsCertificateKeyFile'
|
|
17
|
+
: undefined, values: tlsCertificateKeyFile ? [tlsCertificateKeyFile] : [], onChange: (files) => {
|
|
19
18
|
updateTLSClientCertificate(files && files.length > 0 ? files[0] : null);
|
|
20
|
-
}, showFileOnNewLine: true, optional:
|
|
19
|
+
}, showFileOnNewLine: true, optional: optional, optionalMessage: optional && displayDatabaseConnectionUserHints
|
|
20
|
+
? 'Optional (required with X.509 auth)'
|
|
21
|
+
: undefined })),
|
|
21
22
|
react_1.default.createElement(form_field_container_1.default, null,
|
|
22
23
|
react_1.default.createElement(compass_components_1.TextInput, { className: inputFieldStyles, onChange: ({ target: { value }, }) => {
|
|
23
24
|
updateTLSClientCertificatePassword(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tls-client-certificate.js","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,uEAA2E;
|
|
1
|
+
{"version":3,"file":"tls-client-certificate.js","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,uEAA2E;AAE3E,sFAA4D;AAE5D,MAAM,gBAAgB,GAAG,IAAA,wBAAG,EAAC;IAC3B,KAAK,EAAE,KAAK;CACb,CAAC,CAAC;AAEH,SAAS,oBAAoB,CAAC,EAC5B,qBAAqB,EACrB,6BAA6B,EAC7B,QAAQ,EACR,kCAAkC,GAAG,IAAI,EACzC,QAAQ,GAAG,IAAI,EACf,0BAA0B,EAC1B,kCAAkC,GAWnC;IACC,OAAO,CACL;QACE,8BAAC,8BAAkB,IAAC,SAAS,EAAE,gBAAgB;YAC7C,8BAAC,8BAAS,IACR,WAAW,EACT,kCAAkC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAE/D,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAC,uBAAuB,EAC1B,KAAK,EAAC,mCAAmC,EACzC,UAAU,EAAC,6BAA6B,EACxC,IAAI,EACF,kCAAkC;oBAChC,CAAC,CAAC,gHAAgH;oBAClH,CAAC,CAAC,SAAS,EAEf,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,EAC5D,QAAQ,EAAE,CAAC,KAAe,EAAE,EAAE;oBAC5B,0BAA0B,CACxB,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5C,CAAC;gBACJ,CAAC,EACD,iBAAiB,QACjB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EACb,QAAQ,IAAI,kCAAkC;oBAC5C,CAAC,CAAC,qCAAqC;oBACvC,CAAC,CAAC,SAAS,GAEf,CACiB;QACrB,8BAAC,8BAAkB;YACjB,8BAAC,8BAAS,IACR,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,CAAC,EACT,MAAM,EAAE,EAAE,KAAK,EAAE,GACmB,EAAE,EAAE;oBACxC,kCAAkC,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC,EACD,QAAQ,EAAE,QAAQ,iBACN,qCAAqC,EACjD,EAAE,EAAC,+BAA+B,EAClC,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,6BAA6B,IAAI,EAAE,EAC1C,QAAQ,SACR,CACiB,CACpB,CACJ,CAAC;AACJ,CAAC;AAED,kBAAe,oBAAoB,CAAC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type ConnectionStringUrl from 'mongodb-connection-string-url';
|
|
3
|
+
import type { ConnectionOptions } from 'mongodb-data-service';
|
|
3
4
|
import type { UpdateConnectionFormField } from '../../../hooks/use-connect-form';
|
|
4
5
|
import type { TLS_OPTIONS } from '../../../utils/tls-handler';
|
|
6
|
+
export declare const checkboxDescriptionStyles: string;
|
|
7
|
+
export declare const disabledCheckboxDescriptionStyles: string;
|
|
5
8
|
export declare function getTLSOptionForConnectionString(connectionStringUrl: ConnectionStringUrl): TLS_OPTIONS | undefined;
|
|
6
|
-
declare function TLSTab({ connectionStringUrl, updateConnectionFormField, }: {
|
|
9
|
+
declare function TLSTab({ connectionStringUrl, connectionOptions, updateConnectionFormField, }: {
|
|
7
10
|
connectionStringUrl: ConnectionStringUrl;
|
|
11
|
+
connectionOptions: ConnectionOptions;
|
|
8
12
|
updateConnectionFormField: UpdateConnectionFormField;
|
|
9
13
|
}): React.ReactElement;
|
|
10
14
|
export default TLSTab;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tls-ssl-tab.d.ts","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAa3C,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"tls-ssl-tab.d.ts","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAa3C,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAIjF,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE7E,eAAO,MAAM,yBAAyB,QAEpC,CAAC;AAEH,eAAO,MAAM,iCAAiC,QAE5C,CAAC;AAoBH,wBAAgB,+BAA+B,CAC7C,mBAAmB,EAAE,mBAAmB,GACvC,WAAW,GAAG,SAAS,CAgCzB;AAED,iBAAS,MAAM,CAAC,EACd,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,GAC1B,EAAE;IACD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,yBAAyB,EAAE,yBAAyB,CAAC;CACtD,GAAG,KAAK,CAAC,YAAY,CAgIrB;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -22,16 +22,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.getTLSOptionForConnectionString = void 0;
|
|
25
|
+
exports.getTLSOptionForConnectionString = exports.disabledCheckboxDescriptionStyles = exports.checkboxDescriptionStyles = void 0;
|
|
26
26
|
const react_1 = __importStar(require("react"));
|
|
27
27
|
const compass_components_1 = require("@mongodb-js/compass-components");
|
|
28
28
|
const form_field_container_1 = __importDefault(require("../../form-field-container"));
|
|
29
29
|
const tls_client_certificate_1 = __importDefault(require("./tls-client-certificate"));
|
|
30
30
|
const tls_certificate_authority_1 = __importDefault(require("./tls-certificate-authority"));
|
|
31
|
-
|
|
31
|
+
exports.checkboxDescriptionStyles = (0, compass_components_1.css)({
|
|
32
32
|
marginTop: compass_components_1.spacing[1],
|
|
33
33
|
});
|
|
34
|
-
|
|
34
|
+
exports.disabledCheckboxDescriptionStyles = (0, compass_components_1.css)({
|
|
35
35
|
color: compass_components_1.uiColors.gray.light1,
|
|
36
36
|
});
|
|
37
37
|
const TLS_TYPES = [
|
|
@@ -69,7 +69,7 @@ function getTLSOptionForConnectionString(connectionStringUrl) {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
exports.getTLSOptionForConnectionString = getTLSOptionForConnectionString;
|
|
72
|
-
function TLSTab({ connectionStringUrl, updateConnectionFormField, }) {
|
|
72
|
+
function TLSTab({ connectionStringUrl, connectionOptions, updateConnectionFormField, }) {
|
|
73
73
|
const tlsOption = getTLSOptionForConnectionString(connectionStringUrl);
|
|
74
74
|
const onChangeTLS = (0, react_1.useCallback)((event) => {
|
|
75
75
|
updateConnectionFormField({
|
|
@@ -77,23 +77,22 @@ function TLSTab({ connectionStringUrl, updateConnectionFormField, }) {
|
|
|
77
77
|
tlsOption: event.target.value,
|
|
78
78
|
});
|
|
79
79
|
}, [updateConnectionFormField]);
|
|
80
|
+
const searchParams = connectionStringUrl.typedSearchParams();
|
|
80
81
|
const tlsOptionFields = [
|
|
81
82
|
{
|
|
82
83
|
name: 'tlsInsecure',
|
|
83
84
|
description: 'This includes tlsAllowInvalidHostnames and tlsAllowInvalidCertificates.',
|
|
84
|
-
checked:
|
|
85
|
+
checked: searchParams.get('tlsInsecure') === 'true',
|
|
85
86
|
},
|
|
86
87
|
{
|
|
87
88
|
name: 'tlsAllowInvalidHostnames',
|
|
88
89
|
description: 'Disable the validation of the hostnames in the certificate presented by the mongod/mongos instance.',
|
|
89
|
-
checked:
|
|
90
|
-
'true',
|
|
90
|
+
checked: searchParams.get('tlsAllowInvalidHostnames') === 'true',
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
name: 'tlsAllowInvalidCertificates',
|
|
94
94
|
description: 'Disable the validation of the server certificates.',
|
|
95
|
-
checked:
|
|
96
|
-
'true',
|
|
95
|
+
checked: searchParams.get('tlsAllowInvalidCertificates') === 'true',
|
|
97
96
|
},
|
|
98
97
|
];
|
|
99
98
|
const tlsOptionsDisabled = tlsOption === 'OFF';
|
|
@@ -106,24 +105,23 @@ function TLSTab({ connectionStringUrl, updateConnectionFormField, }) {
|
|
|
106
105
|
}, [updateConnectionFormField]);
|
|
107
106
|
return (react_1.default.createElement("div", null,
|
|
108
107
|
react_1.default.createElement(form_field_container_1.default, null,
|
|
109
|
-
react_1.default.createElement(compass_components_1.Label, { htmlFor: "
|
|
108
|
+
react_1.default.createElement(compass_components_1.Label, { htmlFor: "tls-radio-box-group" }, "SSL/TLS Connection"),
|
|
110
109
|
react_1.default.createElement(compass_components_1.InlineInfoLink, { href: "https://docs.mongodb.com/manual/reference/connection-string/#tls-options", "aria-label": "TLS/SSL Option Documentation" }),
|
|
111
|
-
react_1.default.createElement(compass_components_1.RadioBoxGroup, { id: "
|
|
112
|
-
react_1.default.createElement(tls_certificate_authority_1.default, {
|
|
113
|
-
|
|
114
|
-
} }),
|
|
115
|
-
react_1.default.createElement(tls_client_certificate_1.default, { connectionStringUrl: connectionStringUrl, disabled: tlsOptionsDisabled, updateTLSClientCertificate: (newCertificatePath) => {
|
|
110
|
+
react_1.default.createElement(compass_components_1.RadioBoxGroup, { id: "tls-radio-box-group", value: tlsOption || '', onChange: onChangeTLS }, TLS_TYPES.map((tlsType) => (react_1.default.createElement(compass_components_1.RadioBox, { id: `connection-tls-enabled-${tlsType.value}-radio-button`, "data-testid": `connection-tls-enabled-${tlsType.value}-radio-button`, value: tlsType.value, key: tlsType.value }, tlsType.label))))),
|
|
111
|
+
react_1.default.createElement(tls_certificate_authority_1.default, { tlsCAFile: searchParams.get('tlsCAFile'), useSystemCA: !!connectionOptions.useSystemCA, disabled: tlsOptionsDisabled, handleTlsOptionChanged: handleTlsOptionChanged }),
|
|
112
|
+
react_1.default.createElement(tls_client_certificate_1.default, { tlsCertificateKeyFile: searchParams.get('tlsCertificateKeyFile'), tlsCertificateKeyFilePassword: searchParams.get('tlsCertificateKeyFilePassword'), disabled: tlsOptionsDisabled, updateTLSClientCertificate: (newCertificatePath) => {
|
|
116
113
|
handleTlsOptionChanged('tlsCertificateKeyFile', newCertificatePath);
|
|
117
|
-
}, updateTLSClientCertificatePassword: (
|
|
118
|
-
handleTlsOptionChanged('tlsCertificateKeyFilePassword',
|
|
114
|
+
}, updateTLSClientCertificatePassword: (newPassword) => {
|
|
115
|
+
handleTlsOptionChanged('tlsCertificateKeyFilePassword', newPassword);
|
|
119
116
|
} }),
|
|
120
117
|
tlsOptionFields.map((tlsOptionField) => (react_1.default.createElement(form_field_container_1.default, { key: tlsOptionField.name },
|
|
121
118
|
react_1.default.createElement(compass_components_1.Checkbox, { onChange: (event) => {
|
|
122
119
|
handleTlsOptionChanged(tlsOptionField.name, event.target.checked ? 'true' : null);
|
|
123
|
-
}, "data-testid": `${tlsOptionField.name}-input`,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
120
|
+
}, "data-testid": `${tlsOptionField.name}-input`, id: `${tlsOptionField.name}-input`, label: react_1.default.createElement(react_1.default.Fragment, null,
|
|
121
|
+
react_1.default.createElement(compass_components_1.Label, { htmlFor: `${tlsOptionField.name}-input` }, tlsOptionField.name),
|
|
122
|
+
react_1.default.createElement(compass_components_1.Description, { className: (0, compass_components_1.cx)(exports.checkboxDescriptionStyles, {
|
|
123
|
+
[exports.disabledCheckboxDescriptionStyles]: tlsOptionsDisabled,
|
|
124
|
+
}) }, tlsOptionField.description)), disabled: tlsOptionsDisabled, checked: tlsOptionField.checked }))))));
|
|
127
125
|
}
|
|
128
126
|
exports.default = TLSTab;
|
|
129
127
|
//# sourceMappingURL=tls-ssl-tab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tls-ssl-tab.js","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAC3C,uEAWwC;
|
|
1
|
+
{"version":3,"file":"tls-ssl-tab.js","sourceRoot":"","sources":["../../../../src/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-form-actions.d.ts","sourceRoot":"","sources":["../../src/components/connect-form-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"connect-form-actions.d.ts","sourceRoot":"","sources":["../../src/components/connect-form-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAgB7B,iBAAS,kBAAkB,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,EAAE;IACD,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC/C,GAAG,KAAK,CAAC,YAAY,CA2BrB;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const compass_components_1 = require("@mongodb-js/compass-components");
|
|
8
|
-
const validation_summary_1 = require("./validation-summary");
|
|
9
8
|
const formActionStyles = (0, compass_components_1.css)({
|
|
10
9
|
borderTop: `1px solid ${compass_components_1.uiColors.gray.light2}`,
|
|
11
10
|
paddingLeft: compass_components_1.spacing[4],
|
|
@@ -20,10 +19,10 @@ const formActionButtonsStyles = (0, compass_components_1.css)({
|
|
|
20
19
|
});
|
|
21
20
|
function ConnectFormActions({ errors, warnings, onConnectClicked, onSaveClicked, saveButton, }) {
|
|
22
21
|
return (react_1.default.createElement("div", { className: formActionStyles },
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
react_1.default.createElement(compass_components_1.WarningSummary, { warnings: warnings }),
|
|
23
|
+
react_1.default.createElement(compass_components_1.ErrorSummary, { dataTestId: "connection-error-summary", errors: errors }),
|
|
25
24
|
react_1.default.createElement("div", { className: formActionButtonsStyles },
|
|
26
|
-
saveButton !== 'hidden' && (react_1.default.createElement(compass_components_1.Button, { variant: compass_components_1.ButtonVariant.Default, disabled: saveButton === 'disabled', onClick: onSaveClicked }, "Save")),
|
|
25
|
+
saveButton !== 'hidden' && (react_1.default.createElement(compass_components_1.Button, { "data-testid": "save-connection-button", variant: compass_components_1.ButtonVariant.Default, disabled: saveButton === 'disabled', onClick: onSaveClicked }, "Save")),
|
|
27
26
|
react_1.default.createElement(compass_components_1.Button, { "data-testid": "connect-button", variant: compass_components_1.ButtonVariant.Primary, onClick: onConnectClicked }, "Connect"))));
|
|
28
27
|
}
|
|
29
28
|
exports.default = ConnectFormActions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-form-actions.js","sourceRoot":"","sources":["../../src/components/connect-form-actions.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"connect-form-actions.js","sourceRoot":"","sources":["../../src/components/connect-form-actions.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,uEAQwC;AAMxC,MAAM,gBAAgB,GAAG,IAAA,wBAAG,EAAC;IAC3B,SAAS,EAAE,aAAa,6BAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;IAC9C,WAAW,EAAE,4BAAO,CAAC,CAAC,CAAC;IACvB,YAAY,EAAE,4BAAO,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAA,wBAAG,EAAC;IAClC,OAAO,EAAE,MAAM;IACf,cAAc,EAAE,UAAU;IAC1B,GAAG,EAAE,4BAAO,CAAC,CAAC,CAAC;IACf,UAAU,EAAE,4BAAO,CAAC,CAAC,CAAC;IACtB,aAAa,EAAE,4BAAO,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,UAAU,GAOX;IACC,OAAO,CACL,uCAAK,SAAS,EAAE,gBAAgB;QAC9B,8BAAC,mCAAc,IAAC,QAAQ,EAAE,QAAQ,GAAI;QACtC,8BAAC,iCAAY,IAAC,UAAU,EAAC,0BAA0B,EAAC,MAAM,EAAE,MAAM,GAAI;QACtE,uCAAK,SAAS,EAAE,uBAAuB;YACpC,UAAU,KAAK,QAAQ,IAAI,CAC1B,8BAAC,2BAAM,mBACO,wBAAwB,EACpC,OAAO,EAAE,kCAAa,CAAC,OAAO,EAC9B,QAAQ,EAAE,UAAU,KAAK,UAAU,EACnC,OAAO,EAAE,aAAa,WAGf,CACV;YAED,8BAAC,2BAAM,mBACO,gBAAgB,EAC5B,OAAO,EAAE,kCAAa,CAAC,OAAO,EAC9B,OAAO,EAAE,gBAAgB,cAGlB,CACL,CACF,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ConnectionInfo } from 'mongodb-data-service';
|
|
3
|
-
declare
|
|
3
|
+
declare const _default: React.ComponentType<{
|
|
4
|
+
darkMode?: boolean | undefined;
|
|
4
5
|
initialConnectionInfo: ConnectionInfo;
|
|
5
|
-
connectionErrorMessage?: string | null;
|
|
6
|
+
connectionErrorMessage?: string | null | undefined;
|
|
6
7
|
onConnectClicked: (connectionInfo: ConnectionInfo) => void;
|
|
7
|
-
onSaveConnectionClicked?: (connectionInfo: ConnectionInfo) => Promise<void
|
|
8
|
-
}
|
|
9
|
-
export default
|
|
8
|
+
onSaveConnectionClicked?: ((connectionInfo: ConnectionInfo) => Promise<void>) | undefined;
|
|
9
|
+
}>;
|
|
10
|
+
export default _default;
|
|
10
11
|
//# sourceMappingURL=connect-form.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-form.d.ts","sourceRoot":"","sources":["../../src/components/connect-form.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"connect-form.d.ts","sourceRoot":"","sources":["../../src/components/connect-form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,sBAAsB,CAAC;;;;;;;;AA+S9B,wBAAsC"}
|
|
@@ -35,7 +35,7 @@ const formContainerStyles = (0, compass_components_1.css)({
|
|
|
35
35
|
margin: 0,
|
|
36
36
|
padding: 0,
|
|
37
37
|
height: 'fit-content',
|
|
38
|
-
width:
|
|
38
|
+
width: compass_components_1.spacing[6] * 10,
|
|
39
39
|
position: 'relative',
|
|
40
40
|
display: 'inline-block',
|
|
41
41
|
});
|
|
@@ -48,9 +48,18 @@ const formCardStyles = (0, compass_components_1.css)({
|
|
|
48
48
|
flexFlow: 'column nowrap',
|
|
49
49
|
maxHeight: '95vh',
|
|
50
50
|
});
|
|
51
|
+
const formCardDarkThemeStyles = (0, compass_components_1.css)({
|
|
52
|
+
background: compass_components_1.uiColors.gray.dark3,
|
|
53
|
+
});
|
|
54
|
+
const formCardLightThemeStyles = (0, compass_components_1.css)({
|
|
55
|
+
background: compass_components_1.uiColors.white,
|
|
56
|
+
});
|
|
51
57
|
const descriptionStyles = (0, compass_components_1.css)({
|
|
52
58
|
marginTop: compass_components_1.spacing[2],
|
|
53
59
|
});
|
|
60
|
+
const formStyles = (0, compass_components_1.css)({
|
|
61
|
+
display: 'contents',
|
|
62
|
+
});
|
|
54
63
|
const formContentContainerStyles = (0, compass_components_1.css)({
|
|
55
64
|
padding: compass_components_1.spacing[4],
|
|
56
65
|
overflowY: 'auto',
|
|
@@ -94,73 +103,81 @@ const favoriteButtonLabelStyles = (0, compass_components_1.css)({
|
|
|
94
103
|
fontWeight: 'bold',
|
|
95
104
|
fontSize: 12,
|
|
96
105
|
});
|
|
97
|
-
function ConnectForm({ initialConnectionInfo, connectionErrorMessage, onConnectClicked, onSaveConnectionClicked, }) {
|
|
106
|
+
function ConnectForm({ darkMode, initialConnectionInfo, connectionErrorMessage, onConnectClicked, onSaveConnectionClicked, }) {
|
|
98
107
|
var _a, _b;
|
|
99
108
|
const [{ enableEditingConnectionString, isDirty, errors, warnings, connectionOptions, }, { setEnableEditingConnectionString, updateConnectionFormField, setErrors },] = (0, use_connect_form_1.useConnectForm)(initialConnectionInfo, connectionErrorMessage);
|
|
100
109
|
const [showSaveConnectionModal, setShowSaveConnectionModal] = (0, react_1.useState)(false);
|
|
101
110
|
const connectionStringInvalidError = errors.find((error) => error.fieldName === 'connectionString');
|
|
111
|
+
const onSubmitForm = (0, react_1.useCallback)(() => {
|
|
112
|
+
const updatedConnectionOptions = (0, lodash_1.cloneDeep)(connectionOptions);
|
|
113
|
+
const formErrors = (0, validation_1.validateConnectionOptionsErrors)(updatedConnectionOptions);
|
|
114
|
+
if (formErrors.length) {
|
|
115
|
+
setErrors(formErrors);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
onConnectClicked({
|
|
119
|
+
...initialConnectionInfo,
|
|
120
|
+
connectionOptions: updatedConnectionOptions,
|
|
121
|
+
});
|
|
122
|
+
}, [initialConnectionInfo, onConnectClicked, setErrors, connectionOptions]);
|
|
123
|
+
const callOnSaveConnectionClickedAndStoreErrors = (0, react_1.useCallback)(async (connectionInfo) => {
|
|
124
|
+
try {
|
|
125
|
+
await (onSaveConnectionClicked === null || onSaveConnectionClicked === void 0 ? void 0 : onSaveConnectionClicked(connectionInfo));
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
setErrors([
|
|
129
|
+
{
|
|
130
|
+
message: `Unable to save connection: ${err.message}`,
|
|
131
|
+
},
|
|
132
|
+
]);
|
|
133
|
+
}
|
|
134
|
+
}, [onSaveConnectionClicked, setErrors]);
|
|
102
135
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
103
136
|
react_1.default.createElement("div", { className: formContainerStyles, "data-testid": "connection-form" },
|
|
104
|
-
react_1.default.createElement(compass_components_1.Card, { className: formCardStyles },
|
|
105
|
-
react_1.default.createElement("
|
|
106
|
-
|
|
107
|
-
|
|
137
|
+
react_1.default.createElement(compass_components_1.Card, { className: (0, compass_components_1.cx)(formCardStyles, darkMode ? formCardDarkThemeStyles : formCardLightThemeStyles) },
|
|
138
|
+
react_1.default.createElement("form", { className: formStyles, onSubmit: (e) => {
|
|
139
|
+
e.preventDefault();
|
|
140
|
+
onSubmitForm();
|
|
141
|
+
}, noValidate: true },
|
|
142
|
+
react_1.default.createElement("div", { className: formContentContainerStyles },
|
|
143
|
+
react_1.default.createElement(compass_components_1.H3, { className: formHeaderStyles }, (_b = (_a = initialConnectionInfo.favorite) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'New Connection',
|
|
144
|
+
!!onSaveConnectionClicked && (react_1.default.createElement(compass_components_1.IconButton, { type: "button", "aria-label": "Save Connection", "data-testid": "edit-favorite-name-button", className: editFavoriteButtonStyles, onClick: () => {
|
|
145
|
+
setShowSaveConnectionModal(true);
|
|
146
|
+
} },
|
|
147
|
+
react_1.default.createElement(compass_components_1.Icon, { glyph: "Edit" })))),
|
|
148
|
+
react_1.default.createElement(compass_components_1.Description, { className: descriptionStyles }, "Connect to a MongoDB deployment"),
|
|
149
|
+
!!onSaveConnectionClicked && (react_1.default.createElement(compass_components_1.IconButton, { "aria-label": "Save Connection", "data-testid": "edit-favorite-icon-button", type: "button", className: favoriteButtonStyles, size: "large", onClick: () => {
|
|
108
150
|
setShowSaveConnectionModal(true);
|
|
109
151
|
} },
|
|
110
|
-
react_1.default.createElement(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
react_1.default.createElement(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
react_1.default.createElement("div", { className: formFooterStyles },
|
|
124
|
-
react_1.default.createElement(connect_form_actions_1.default, { errors: connectionStringInvalidError ? [] : errors, warnings: connectionStringInvalidError ? [] : warnings, saveButton: initialConnectionInfo.favorite
|
|
125
|
-
? isDirty
|
|
126
|
-
? 'enabled'
|
|
127
|
-
: 'disabled'
|
|
128
|
-
: 'hidden', onSaveClicked: async () => {
|
|
129
|
-
if (onSaveConnectionClicked) {
|
|
130
|
-
await onSaveConnectionClicked({
|
|
152
|
+
react_1.default.createElement("div", { className: favoriteButtonContentStyles },
|
|
153
|
+
react_1.default.createElement(compass_components_1.FavoriteIcon, { isFavorite: !!initialConnectionInfo.favorite, size: compass_components_1.spacing[5] }),
|
|
154
|
+
react_1.default.createElement("span", { className: favoriteButtonLabelStyles }, "FAVORITE")))),
|
|
155
|
+
react_1.default.createElement(connection_string_input_1.default, { connectionString: connectionOptions.connectionString, enableEditingConnectionString: enableEditingConnectionString, setEnableEditingConnectionString: setEnableEditingConnectionString, onSubmit: onSubmitForm, updateConnectionFormField: updateConnectionFormField }),
|
|
156
|
+
connectionStringInvalidError && (react_1.default.createElement(compass_components_1.Banner, { variant: compass_components_1.BannerVariant.Danger }, connectionStringInvalidError.message)),
|
|
157
|
+
react_1.default.createElement(advanced_connection_options_1.default, { errors: connectionStringInvalidError ? [] : errors, disabled: !!connectionStringInvalidError, updateConnectionFormField: updateConnectionFormField, connectionOptions: connectionOptions })),
|
|
158
|
+
react_1.default.createElement("div", { className: formFooterStyles },
|
|
159
|
+
react_1.default.createElement(connect_form_actions_1.default, { errors: connectionStringInvalidError ? [] : errors, warnings: connectionStringInvalidError ? [] : warnings, saveButton: initialConnectionInfo.favorite
|
|
160
|
+
? isDirty
|
|
161
|
+
? 'enabled'
|
|
162
|
+
: 'disabled'
|
|
163
|
+
: 'hidden', onSaveClicked: async () => {
|
|
164
|
+
await callOnSaveConnectionClickedAndStoreErrors({
|
|
131
165
|
...(0, lodash_1.cloneDeep)(initialConnectionInfo),
|
|
132
166
|
connectionOptions: (0, lodash_1.cloneDeep)(connectionOptions),
|
|
133
167
|
});
|
|
134
|
-
}
|
|
135
|
-
}, onConnectClicked: () => {
|
|
136
|
-
const updatedConnectionOptions = (0, lodash_1.cloneDeep)(connectionOptions);
|
|
137
|
-
const formErrors = (0, validation_1.validateConnectionOptionsErrors)(updatedConnectionOptions);
|
|
138
|
-
if (formErrors.length) {
|
|
139
|
-
setErrors(formErrors);
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
onConnectClicked({
|
|
143
|
-
...initialConnectionInfo,
|
|
144
|
-
connectionOptions: updatedConnectionOptions,
|
|
145
|
-
});
|
|
146
|
-
} })))),
|
|
168
|
+
}, onConnectClicked: onSubmitForm }))))),
|
|
147
169
|
!!onSaveConnectionClicked && (react_1.default.createElement(save_connection_modal_1.default, { open: showSaveConnectionModal, onCancelClicked: () => {
|
|
148
170
|
setShowSaveConnectionModal(false);
|
|
149
171
|
}, onSaveClicked: async (favoriteInfo) => {
|
|
150
172
|
setShowSaveConnectionModal(false);
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
catch (err) {
|
|
161
|
-
setErrors([err]);
|
|
162
|
-
}
|
|
173
|
+
await callOnSaveConnectionClickedAndStoreErrors({
|
|
174
|
+
...(0, lodash_1.cloneDeep)(initialConnectionInfo),
|
|
175
|
+
connectionOptions: (0, lodash_1.cloneDeep)(connectionOptions),
|
|
176
|
+
favorite: {
|
|
177
|
+
...favoriteInfo,
|
|
178
|
+
},
|
|
179
|
+
});
|
|
163
180
|
}, key: initialConnectionInfo.id, initialFavoriteInfo: initialConnectionInfo.favorite }))));
|
|
164
181
|
}
|
|
165
|
-
exports.default = ConnectForm;
|
|
182
|
+
exports.default = (0, compass_components_1.withTheme)(ConnectForm);
|
|
166
183
|
//# sourceMappingURL=connect-form.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-form.js","sourceRoot":"","sources":["../../src/components/connect-form.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"connect-form.js","sourceRoot":"","sources":["../../src/components/connect-form.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { UpdateConnectionFormField } from '../hooks/use-connect-form';
|
|
3
3
|
export declare function hidePasswordInConnectionString(connectionString: string): string;
|
|
4
|
-
declare function ConnectStringInput({ connectionString, enableEditingConnectionString, setEnableEditingConnectionString, updateConnectionFormField, }: {
|
|
4
|
+
declare function ConnectStringInput({ connectionString, enableEditingConnectionString, setEnableEditingConnectionString, updateConnectionFormField, onSubmit, }: {
|
|
5
5
|
connectionString: string;
|
|
6
6
|
enableEditingConnectionString: boolean;
|
|
7
7
|
setEnableEditingConnectionString: (enableEditing: boolean) => void;
|
|
8
8
|
updateConnectionFormField: UpdateConnectionFormField;
|
|
9
|
+
onSubmit: () => void;
|
|
9
10
|
}): React.ReactElement;
|
|
10
11
|
export default ConnectStringInput;
|
|
11
12
|
//# sourceMappingURL=connection-string-input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-string-input.d.ts","sourceRoot":"","sources":["../../src/components/connection-string-input.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection-string-input.d.ts","sourceRoot":"","sources":["../../src/components/connection-string-input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAYf,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAyC3E,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAKR;AAED,iBAAS,kBAAkB,CAAC,EAC1B,gBAAgB,EAChB,6BAA6B,EAC7B,gCAAgC,EAChC,yBAAyB,EACzB,QAAQ,GACT,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B,EAAE,OAAO,CAAC;IACvC,gCAAgC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,GAAG,KAAK,CAAC,YAAY,CAqHrB;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -28,9 +28,8 @@ const compass_components_1 = require("@mongodb-js/compass-components");
|
|
|
28
28
|
const mongodb_connection_string_url_1 = require("mongodb-connection-string-url");
|
|
29
29
|
const confirm_edit_connection_string_1 = __importDefault(require("./confirm-edit-connection-string"));
|
|
30
30
|
const textAreaContainerStyle = (0, compass_components_1.css)({
|
|
31
|
-
position: 'relative',
|
|
32
31
|
marginTop: compass_components_1.spacing[1],
|
|
33
|
-
marginBottom: compass_components_1.spacing[
|
|
32
|
+
marginBottom: compass_components_1.spacing[3],
|
|
34
33
|
});
|
|
35
34
|
const uriLabelContainerStyles = (0, compass_components_1.css)({
|
|
36
35
|
flexGrow: 1,
|
|
@@ -67,7 +66,7 @@ function hidePasswordInConnectionString(connectionString) {
|
|
|
67
66
|
});
|
|
68
67
|
}
|
|
69
68
|
exports.hidePasswordInConnectionString = hidePasswordInConnectionString;
|
|
70
|
-
function ConnectStringInput({ connectionString, enableEditingConnectionString, setEnableEditingConnectionString, updateConnectionFormField, }) {
|
|
69
|
+
function ConnectStringInput({ connectionString, enableEditingConnectionString, setEnableEditingConnectionString, updateConnectionFormField, onSubmit, }) {
|
|
71
70
|
const textAreaEl = (0, react_1.useRef)(null);
|
|
72
71
|
const [editingConnectionString, setEditingConnectionString] = (0, react_1.useState)(connectionString);
|
|
73
72
|
const [showEditConnectionStringPrompt, setShowEditConnectionStringPrompt] = (0, react_1.useState)(false);
|
|
@@ -81,6 +80,13 @@ function ConnectStringInput({ connectionString, enableEditingConnectionString, s
|
|
|
81
80
|
enableEditingConnectionString,
|
|
82
81
|
editingConnectionString,
|
|
83
82
|
]);
|
|
83
|
+
const onKeyPressedConnectionString = (0, react_1.useCallback)((event) => {
|
|
84
|
+
if (event.which === 13 && !event.shiftKey) {
|
|
85
|
+
event.preventDefault();
|
|
86
|
+
onSubmit();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
}, [onSubmit]);
|
|
84
90
|
const onChangeConnectionString = (0, react_1.useCallback)((event) => {
|
|
85
91
|
const newConnectionString = event.target.value;
|
|
86
92
|
setEditingConnectionString(newConnectionString);
|
|
@@ -98,7 +104,7 @@ function ConnectStringInput({ connectionString, enableEditingConnectionString, s
|
|
|
98
104
|
react_1.default.createElement(compass_components_1.Label, { htmlFor: connectionStringInputId, id: connectionStringLabelId }, "URI"),
|
|
99
105
|
react_1.default.createElement(compass_components_1.InlineInfoLink, { "aria-label": "Connection String Documentation", "data-testid": "connectionStringDocsButton", href: "https://docs.mongodb.com/manual/reference/connection-string/" })),
|
|
100
106
|
react_1.default.createElement(compass_components_1.Label, { className: editToggleLabelStyles, id: "edit-connection-string-label", htmlFor: "toggle-edit-connection-string" }, "Edit Connection String"),
|
|
101
|
-
react_1.default.createElement(compass_components_1.Toggle, { className: editToggleStyles, id: "toggle-edit-connection-string", "aria-labelledby": "edit-connection-string-label", size: "xsmall", checked: enableEditingConnectionString, onChange: (checked) => {
|
|
107
|
+
react_1.default.createElement(compass_components_1.Toggle, { className: editToggleStyles, id: "toggle-edit-connection-string", "aria-labelledby": "edit-connection-string-label", size: "xsmall", type: "button", checked: enableEditingConnectionString, onChange: (checked) => {
|
|
102
108
|
if (checked) {
|
|
103
109
|
setShowEditConnectionStringPrompt(true);
|
|
104
110
|
return;
|
|
@@ -106,7 +112,7 @@ function ConnectStringInput({ connectionString, enableEditingConnectionString, s
|
|
|
106
112
|
setEnableEditingConnectionString(false);
|
|
107
113
|
} })),
|
|
108
114
|
react_1.default.createElement("div", { className: textAreaContainerStyle },
|
|
109
|
-
react_1.default.createElement(compass_components_1.TextArea, { onChange: onChangeConnectionString, value: displayedConnectionString, className: connectionStringStyles, disabled: !enableEditingConnectionString, id: connectionStringInputId, "data-testid": connectionStringInputId, ref: textAreaEl, "aria-labelledby": connectionStringLabelId, placeholder: "e.g mongodb+srv://username:password@cluster0-jtpxd.mongodb.net/admin", spellCheck: false }),
|
|
115
|
+
react_1.default.createElement(compass_components_1.TextArea, { onChange: onChangeConnectionString, onKeyPress: onKeyPressedConnectionString, value: displayedConnectionString, className: connectionStringStyles, disabled: !enableEditingConnectionString, id: connectionStringInputId, "data-testid": connectionStringInputId, ref: textAreaEl, "aria-labelledby": connectionStringLabelId, placeholder: "e.g mongodb+srv://username:password@cluster0-jtpxd.mongodb.net/admin", spellCheck: false }),
|
|
110
116
|
react_1.default.createElement(confirm_edit_connection_string_1.default, { open: showEditConnectionStringPrompt, onCancel: () => {
|
|
111
117
|
setShowEditConnectionStringPrompt(false);
|
|
112
118
|
}, onConfirm: () => {
|