When editing or creating h3. Context {{DataSourceDialog}} has a DataSource button for testing a PostgreSQL DB connection. This button sends a request to the provided DB endpoint and shows an error/success message appropriately. However neither the button or its functionality disabled when clicking , *Test* so that the request can be clicked sent many times before any response arrives.
h3. What The "Test" button has to be disabled when clicking it and as much long as wanted before the network request ends. Button should disable when endpoint verification is running . Once a response arrives ( and the error/success message is shown) the button will be re-enabled. Also while the request is running, a loading spinner should be displayed as well (just .
h3. Why This is a clear UX anti-pattern.
h3. How This exact functionality is already implemented in {{ [ HookFormGroup }} |https://github.com/aerogear/data-sync-ui/blob/master/ui/components/resolvers/HookFormGroup.js] and it should be replicated.
h3. Extras Whenever the DB *host*, *port*, *Database*, *Username* or *Password* change, the test result should be reset (any message and icons gone ). |
|