Skip to content

Commit 041086f

Browse files
leorossimcasimir
andauthored
feat(connections): adds form validation errors utility COMPASS-5268 (#2639)
Adds form validation errors utility functions Co-authored-by: mcasimir <[email protected]>
1 parent 2b9e06f commit 041086f

40 files changed

+1280
-984
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ expansions.yml
1818
lerna-debug.log
1919
packages/**/*.tgz
2020
packages/**/package-lock.json
21+
scripts/package-lock.json
22+
configs/**/package-lock.json
2123
tmp
2224
storage
2325
.nyc_output

package-lock.json

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/compass-components/src/components/file-input.tsx

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,6 @@ const formItemVerticalStyles = css`
2121
margin: 5px auto 20px;
2222
`;
2323

24-
const formItemErrorStyles = css`
25-
border: 1px solid ${redBaseColor};
26-
border-radius: 5px;
27-
&:focus {
28-
border: 1px solid ${redBaseColor};
29-
}
30-
`;
31-
3224
const buttonStyles = css`
3325
width: 100%;
3426
`;
@@ -170,8 +162,7 @@ function FileInput({
170162
<div
171163
className={cx(
172164
{ [formItemHorizontalStyles]: variant === Variant.Horizontal },
173-
{ [formItemVerticalStyles]: variant === Variant.Vertical },
174-
{ [formItemErrorStyles]: error }
165+
{ [formItemVerticalStyles]: variant === Variant.Vertical }
175166
)}
176167
>
177168
<label

packages/connect-form/src/components/advanced-connection-options.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { ConnectionOptions } from 'mongodb-data-service';
1010

1111
import AdvancedOptionsTabs from './advanced-options-tabs/advanced-options-tabs';
1212
import { UpdateConnectionFormField } from '../hooks/use-connect-form';
13-
import { ConnectionFormError } from '../utils/connect-form-errors';
13+
import { ConnectionFormError } from '../utils/validation';
1414

1515
const disabledOverlayStyles = css({
1616
position: 'absolute',
@@ -32,14 +32,12 @@ function AdvancedConnectionOptions({
3232
disabled,
3333
errors,
3434
connectionStringUrl,
35-
hideError,
3635
updateConnectionFormField,
3736
connectionOptions,
3837
}: {
3938
errors: ConnectionFormError[];
4039
disabled: boolean;
4140
connectionStringUrl: ConnectionStringUrl;
42-
hideError: (errorIndex: number) => void;
4341
updateConnectionFormField: UpdateConnectionFormField;
4442
connectionOptions: ConnectionOptions;
4543
}): React.ReactElement {
@@ -54,7 +52,6 @@ function AdvancedConnectionOptions({
5452
)}
5553
<AdvancedOptionsTabs
5654
errors={errors}
57-
hideError={hideError}
5855
connectionStringUrl={connectionStringUrl}
5956
updateConnectionFormField={updateConnectionFormField}
6057
connectionOptions={connectionOptions}

packages/connect-form/src/components/advanced-options-tabs/advanced-options-tabs.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import SSHTunnelTab from './ssh-tunnel-tab/ssh-tunnel-tab';
88
import TLSTab from './tls-ssl-tab/tls-ssl-tab';
99
import AdvancedTab from './advanced-tab/advanced-tab';
1010
import { UpdateConnectionFormField } from '../../hooks/use-connect-form';
11-
import { ConnectionFormError } from '../../utils/connect-form-errors';
11+
import { ConnectionFormError } from '../../utils/validation';
1212
import { ConnectionOptions } from 'mongodb-data-service';
1313

1414
const tabsStyles = css({
@@ -19,7 +19,6 @@ interface TabObject {
1919
component: React.FunctionComponent<{
2020
errors: ConnectionFormError[];
2121
connectionStringUrl: ConnectionStringUrl;
22-
hideError: (errorIndex: number) => void;
2322
updateConnectionFormField: UpdateConnectionFormField;
2423
connectionOptions?: ConnectionOptions;
2524
}>;
@@ -28,13 +27,11 @@ interface TabObject {
2827
function AdvancedOptionsTabs({
2928
errors,
3029
connectionStringUrl,
31-
hideError,
3230
updateConnectionFormField,
3331
connectionOptions,
3432
}: {
3533
errors: ConnectionFormError[];
3634
connectionStringUrl: ConnectionStringUrl;
37-
hideError: (errorIndex: number) => void;
3835
updateConnectionFormField: UpdateConnectionFormField;
3936
connectionOptions: ConnectionOptions;
4037
}): React.ReactElement {
@@ -62,7 +59,6 @@ function AdvancedOptionsTabs({
6259
<Tab key={idx} name={tabObject.name} aria-label={tabObject.name}>
6360
<TabComponent
6461
errors={errors}
65-
hideError={hideError}
6662
connectionStringUrl={connectionStringUrl}
6763
updateConnectionFormField={updateConnectionFormField}
6864
connectionOptions={connectionOptions}

packages/connect-form/src/components/advanced-options-tabs/advanced-tab/advanced-tab.spec.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ describe('AdvancedTab', function () {
2121
<AdvancedTab
2222
errors={[]}
2323
// eslint-disable-next-line @typescript-eslint/no-empty-function
24-
hideError={() => {}}
2524
updateConnectionFormField={updateConnectionFormFieldSpy}
2625
connectionStringUrl={connectionStringUrl}
2726
/>
@@ -83,7 +82,6 @@ describe('AdvancedTab', function () {
8382
<AdvancedTab
8483
errors={[]}
8584
// eslint-disable-next-line @typescript-eslint/no-empty-function
86-
hideError={() => {}}
8785
updateConnectionFormField={updateConnectionFormFieldSpy}
8886
connectionStringUrl={connectionStringUrl}
8987
/>
@@ -114,7 +112,6 @@ describe('AdvancedTab', function () {
114112
<AdvancedTab
115113
errors={[]}
116114
// eslint-disable-next-line @typescript-eslint/no-empty-function
117-
hideError={() => {}}
118115
updateConnectionFormField={updateConnectionFormFieldSpy}
119116
connectionStringUrl={connectionStringUrl}
120117
/>

packages/connect-form/src/components/advanced-options-tabs/advanced-tab/advanced-tab.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import { MongoClientOptions } from 'mongodb';
1515

1616
import FormFieldContainer from '../../form-field-container';
1717
import { UpdateConnectionFormField } from '../../../hooks/use-connect-form';
18-
import { ConnectionFormError } from '../../../utils/connect-form-errors';
1918
import { readPreferences } from '../../../utils/read-preferences';
2019

2120
import UrlOptions from './url-options';
21+
import { ConnectionFormError } from '../../../utils/validation';
2222

2323
const infoButtonStyles = css({
2424
verticalAlign: 'middle',
@@ -39,7 +39,6 @@ function AdvancedTab({
3939
}: {
4040
errors: ConnectionFormError[];
4141
connectionStringUrl: ConnectionStringUrl;
42-
hideError: (errorIndex: number) => void;
4342
updateConnectionFormField: UpdateConnectionFormField;
4443
connectionOptions?: ConnectionOptions;
4544
}): React.ReactElement {

packages/connect-form/src/components/advanced-options-tabs/advanced-tab/url-options-table.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -247,11 +247,7 @@ function UrlOptionsTable({
247247
</Button>
248248
</div>
249249
{errorMessage && (
250-
<Banner
251-
variant={'warning'}
252-
dismissible={true}
253-
onClose={() => setErrorMessage('')}
254-
>
250+
<Banner variant={'warning'} onClose={() => setErrorMessage('')}>
255251
{errorMessage}
256252
</Banner>
257253
)}

packages/connect-form/src/components/advanced-options-tabs/authentication-tab/authentication-tab.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import ConnectionStringUrl from 'mongodb-connection-string-url';
1010
import { AuthMechanism } from 'mongodb';
1111

1212
import { UpdateConnectionFormField } from '../../../hooks/use-connect-form';
13-
import { ConnectionFormError } from '../../../utils/connect-form-errors';
13+
import { ConnectionFormError } from '../../../utils/validation';
1414
import { ConnectionOptions } from 'mongodb-data-service';
1515

1616
import AuthenticationDefault from './authentication-default';
@@ -75,7 +75,6 @@ function AuthenticationTab({
7575
}: {
7676
errors: ConnectionFormError[];
7777
connectionStringUrl: ConnectionStringUrl;
78-
hideError: (errorIndex: number) => void;
7978
updateConnectionFormField: UpdateConnectionFormField;
8079
connectionOptions?: ConnectionOptions;
8180
}): React.ReactElement {

packages/connect-form/src/components/advanced-options-tabs/general-tab/general-tab.spec.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ describe('GeneralTab', function () {
1818
render(
1919
<GeneralTab
2020
errors={[]}
21-
hideError={noop}
2221
connectionStringUrl={connectionStringUrl}
2322
updateConnectionFormField={noop}
2423
/>
@@ -46,7 +45,6 @@ describe('GeneralTab', function () {
4645
render(
4746
<GeneralTab
4847
errors={[]}
49-
hideError={noop}
5048
connectionStringUrl={connectionStringUrl}
5149
updateConnectionFormField={noop}
5250
/>
@@ -66,7 +64,6 @@ describe('GeneralTab', function () {
6664
render(
6765
<GeneralTab
6866
errors={[]}
69-
hideError={noop}
7067
connectionStringUrl={connectionStringUrl}
7168
updateConnectionFormField={noop}
7269
/>
@@ -86,7 +83,6 @@ describe('GeneralTab', function () {
8683
render(
8784
<GeneralTab
8885
errors={[]}
89-
hideError={noop}
9086
connectionStringUrl={connectionStringUrl}
9187
updateConnectionFormField={noop}
9288
/>

0 commit comments

Comments
 (0)