From 68704a595bc8460db4fade4090aa7f7cdf45e00d Mon Sep 17 00:00:00 2001
From: Lyndsi Kay Williams <55605634+lyndsiWilliams@users.noreply.github.com>
Date: Fri, 2 Jul 2021 12:19:26 -0500
Subject: [PATCH] fix: Database connection R6 fixes (#15486)
* split db modal file
* split db modal file
* hook up available databases
* add comment
* split db modal file
* hook up available databases
* use new validation component
* first draft
* use new validation component
* Creating IconButton
* Changed naming: logo is now icon
* Hard-coded inset values for ellipses
* Removed default SVG
* Fixed test
* get tests passing
* Removed logo from test
* split db modal file
* hook up available databases
* use new validation component
* feat(db-connection-ui): Allow users to pick engine (#14884)
* poc picker for db selection
* working select
* setup is loading for available dbs and step1 view
* fix on close
* update on fetch
* remove unneeded code
* add some styls
* saving for now
* revisions
* fix package-lock.json
* update styles
* save
* # This is a combination of 6 commits.
# This is the 1st commit message:
feat: validation db modal (#14832)
* split db modal file
* hook up available databases
* use new validation component
# This is the commit message #2:
feat: Icon Button (#14818)
* Creating IconButton
* Changed naming: logo is now icon
* Hard-coded inset values for ellipses
* Removed default SVG
* Fixed test
* Removed logo from test
# This is the commit message #3:
chore: Improves the native filters UI/UX - iteration 6 (#14932)
# This is the commit message #4:
fix: is_temporal should overwrite is_dttm (#14894)
* fix: is_temporal should overwrite is_dttm
* move up
# This is the commit message #5:
fix: time parser truncate to first day of year/month (#14945)
# This is the commit message #6:
hook up available databases
* fix test for db modal
* feat(db-connection-ui): Allow users to pick engine (#14884)
* poc picker for db selection
* working select
* setup is loading for available dbs and step1 view
* fix on close
* update on fetch
* remove unneeded code
* add some styls
* more revisions
* create 1 function for setting the DB
* add function to preferred section
* small refactor and added styling
* used db.backend
* add new footer buttons
* add finsh buttong
* refactor db modal render
* fix comments issue
* added engine to model
* elizabeth revisions
* add header
* add bottom footer to sqlalchemy form
* # This is a combination of 6 commits.
# This is the 1st commit message:
feat: validation db modal (#14832)
* split db modal file
* hook up available databases
* use new validation component
# This is the commit message #2:
feat: Icon Button (#14818)
* Creating IconButton
* Changed naming: logo is now icon
* Hard-coded inset values for ellipses
* Removed default SVG
* Fixed test
* Removed logo from test
# This is the commit message #3:
chore: Improves the native filters UI/UX - iteration 6 (#14932)
# This is the commit message #4:
fix: is_temporal should overwrite is_dttm (#14894)
* fix: is_temporal should overwrite is_dttm
* move up
# This is the commit message #5:
fix: time parser truncate to first day of year/month (#14945)
# This is the commit message #6:
hook up available databases
* fix test for db modal
* feat(db-connection-ui): Allow users to pick engine (#14884)
* poc picker for db selection
* working select
* setup is loading for available dbs and step1 view
* fix on close
* update on fetch
* remove unneeded code
* add some styls
* elizabeth revisions
* add back headers
* add step
* feat: Dynamic Form for edit DB Modal (#14845)
* split db modal file
* split db modal file
* hook up available databases
* add comment
* split db modal file
* hook up available databases
* use new validation component
* first draft
* use new validation component
* get tests passing
* split db modal file
* hook up available databases
* use new validation component
* feat(db-connection-ui): Allow users to pick engine (#14884)
* poc picker for db selection
* working select
* setup is loading for available dbs and step1 view
* fix on close
* update on fetch
* remove unneeded code
* add some styls
* revisions
* fix package-lock.json
* # This is a combination of 6 commits.
# This is the 1st commit message:
feat: validation db modal (#14832)
* split db modal file
* hook up available databases
* use new validation component
# This is the commit message #2:
feat: Icon Button (#14818)
* Creating IconButton
* Changed naming: logo is now icon
* Hard-coded inset values for ellipses
* Removed default SVG
* Fixed test
* Removed logo from test
# This is the commit message #3:
chore: Improves the native filters UI/UX - iteration 6 (#14932)
# This is the commit message #4:
fix: is_temporal should overwrite is_dttm (#14894)
* fix: is_temporal should overwrite is_dttm
* move up
# This is the commit message #5:
fix: time parser truncate to first day of year/month (#14945)
# This is the commit message #6:
hook up available databases
* fix test for db modal
* feat(db-connection-ui): Allow users to pick engine (#14884)
* poc picker for db selection
* working select
* setup is loading for available dbs and step1 view
* fix on close
* update on fetch
* remove unneeded code
* add some styls
* more revisions
* used db.backend
* added engine to model
* elizabeth revisions
* elizabeth revisions
Co-authored-by: Elizabeth Thompson
Co-authored-by: hughhhh
* address comments
* oops
* # This is a combination of 6 commits.
# This is the 1st commit message:
feat: validation db modal (#14832)
* split db modal file
* hook up available databases
* use new validation component
# This is the commit message #2:
feat: Icon Button (#14818)
* Creating IconButton
* Changed naming: logo is now icon
* Hard-coded inset values for ellipses
* Removed default SVG
* Fixed test
* Removed logo from test
# This is the commit message #3:
chore: Improves the native filters UI/UX - iteration 6 (#14932)
# This is the commit message #4:
fix: is_temporal should overwrite is_dttm (#14894)
* fix: is_temporal should overwrite is_dttm
* move up
# This is the commit message #5:
fix: time parser truncate to first day of year/month (#14945)
# This is the commit message #6:
hook up available databases
* fix test for db modal
* feat(db-connection-ui): Allow users to pick engine (#14884)
* poc picker for db selection
* working select
* setup is loading for available dbs and step1 view
* fix on close
* update on fetch
* remove unneeded code
* add some styls
* remove merge conflicts
* small fix on blocking creating
* feat(db-connection-ui): Big Query Add Database Form (#14829)
* fix(native-filters): Manage default value of filters by superset (#14785)
* fix:fix get permission function
* feat: manage default value in superset
* fix(native-filters): loop bug by simplify state handling (#14788)
* fix: set table name width to not hide icons when name is too long (#14489)
* fix: set table name width to now hide icons when name is too long
* fix: table style
Co-authored-by: einatnielsen
* feat(explore): Remove default for time range filter and Metrics (#14661)
* feat(explore): Remove default for time range filter and Metrics
* Merge errors with same messages
* Fix e2e test
* Rename a variable
* Bump packages
* Fix unit tests
* feat: chart gallery search improvement (#14484)
* feat: chart gallery search improvement
* test: adding unit test for VizTypeControl
* fix: lint errors
Co-authored-by: einatnielsen
* Update schemas.py
* Update bigquery.py
* Fix tests
* big query form is appearing on the screen
* add name to allow for actions to get picked up
* working post for saving db via paste
* working file upload
* switch to textare
* better styles
* add delete buttong
* save formating
* wrap encrypted_extra
* formatting component
* clear out file input before reloading
* remove default driver
* address comments
* fix things off rebase
* small refactore
* more patches
* checkout space file
* fix variable ref
Co-authored-by: simcha90 <56388545+simcha90@users.noreply.github.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Einat Bertenthal
Co-authored-by: einatnielsen
Co-authored-by: Kamil Gabryjelski
Co-authored-by: Beto Dealmeida
* feat: adding SSL Toggle to Create Database Modal (#14976)
* first draft of SSL Toggle
* added payload data
* Update superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx
Co-authored-by: Beto Dealmeida
* changed tooltips based on stephen advice
Co-authored-by: Beto Dealmeida
Co-authored-by: Hugh A. Miles II
* feat(database-connection-ui) Allow configuration of Database Images from SupersetText (#15023)
* saving this for now
* fix some styles
* add database images
* fix
* enforce only numbers
* add default iamge
* fix bug
* additional params to the DatabaseConnectionForm (#15071)
* additional params to the DatabaseConnectionForm
* save passing params up to api
* feat: Added Steps and centralized Headers (#15041)
* fix superset_text issue (#15095)
* fix edit issue by returning parameters properly (#15101)
* feat: added alerts (#15103)
* added alerts
* revisions
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* Update superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
Co-authored-by: AAfghahi <48933336+AAfghahi@users.noreply.github.com>
* fix: fixing api tests for database connections (#15124)
* fixing api tests
* added test for no config method on create
* added config method to validation tests
* fix(db-connection-ui): Additional Query Parameters render (#15150)
* working query params
* move condition out before update or create
* fix type script issues
* feat(db-connection-ui): Move fields from Extra section and split engine and metadata (#15143)
* working edit extra options
* acquired most of json
* recontruct json
* add schema array
* add proper styles
* fix tslint issues
* remove console.log
* this is working
* style: Database connect UI Polish - Step 1 (#15119)
* save avg
* Styled step 1
* Remove Alert
* Finished styling, added ellipsis library to IconButton
* Fixed text margin
Co-authored-by: hughhhh
* fix app from merge
* fix tslint issues
* fix all tslint issue on feature branch
* catch errors for dialects with no driver set
* fix dremio issue
* fix dialect issue without driver attr
* Styled step 3 (#15187)
* feat: adding server-side validation and unmasked password on create (#15151)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* validation and password masking
* revisions and validation range
* revisions
* added beto revisions
* added tests for port range
* added config to available
* testing, rtl
* made tests always pass
* feat: add Close/Finish buttons to DBModal on Edit (#15199)
* fix(db-connection-ui): Allow Dynamic Big Query Edits (#15185)
* working big query edits
* fix big stoping users from moving to next step
* fix default
* save defaults
* fix tslint
* remove object
* fix styling
* fix: Connect on DB Connection wasn't working (#15201)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* fixed the connect button
* make available alphabetically sort
* make available alphabetically sort II
* fix selection
* remove console.log
* fix styling
* fix: fix api_test and typeScript error (#15202)
* fix big query issue
* allow for query params
* feat: Added Dynamic form link to SQL Alchemy Form (#15208)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* added dynamic form link
* fix: fix api tests for test_available (#15210)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* fixes api tests
* feat: added Spinner to DB Modal (#15229)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* spinner
* Made header sticky (#15204)
* fix: make Edit DB modal look similar to create Modal (#15231)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* spinner
* changed edit
* fix: DB Connection UI R2 Fixes (#15232)
* fix display name refill
* fix order of additional params to always be at the bottom
* remove schema check on validation
* make encryption last
* fix json file upload
* fix additional params issue
* remove comments
* add back validation
* small fixes on bigquery edit
* only wrap encrypted with bigquery
* specific conditions for wrapping big query items
* dix additional params
* fix allow display name in sqlalchemy form
* backend before engine
* fix: do not use Marshmallow validation in partial params validation (#15236)
* fix: do not use Marshmallow validation in partial params validation
* Fix lint
* Update test
* make display name required
* reset validation errors onClose (#15243)
* fix: Edit for all dynamic forms (#15244)
* fix edit for dynamic forms
* fix linting
* fix edit on sqlalchemy forms
* fix big query reference
* remove extra if
* wrap configuration method (#15274)
* add more specific engine elastic search (#15287)
* do a deep copy of obj before POST (#15298)
* feat: add Back button to extra options (#15300)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* spinner
* first draft
* working
* added back button to create modal
* revisions and testing
* chore: Add tooltips and button to Connect Postgresql DB Modal Form (#15179)
* Added tooltips. Still need to place in the right spot.
* Revert to where I started.
* Added 3 tooltips, 1 Button(need link config). BigQuery not added yet.
* Added tooltip BigOuery modal. `span` above upload btn missing `*`
* Added tooltip to `Host` field. Alignment needs to be fixed.
* Stuck trying to add conditional render of tooltip to LabeledErrorBoundInput
* Clean commit for review
* Dynamic tooltip componet created. Needs alignment of SVG still.
* Fixed typo.
* Added line spacing back in
* Changed required props to optional/Remove comment
* Fixed alignment of tooltips & moved 2tooltips outside of Btn
* Added one more line space back in
* Removed Typo
* Removed another typo
* Flixed linter error
* Created test for tooltip.
* Added expectation for visible tooltipIcon
Co-authored-by: andrewbastian
* style: Database Modal UI Polish (#15234)
* Corrected polishing tasks from Clubhouse ticket
* More UI polish
* Added more polish
* Moved encryption field and created constant value for viewBox in InfoToolTip
* feat: allow editing (#15308)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* spinner
* elizabeth fixed the edit issue
* feat: Added error alert for DB connection Modal (#15242)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* spinner
* added errorAlert
* added revisions
* current work
* revisions
* fix: validation on edit (#15310)
* fix: Big Query Error messaging (#15334)
* remove validation check
* remove validation check
* fix error messaging
* stop validation on big query
* add condition for skipping specific engines for validation
* if no params
* update styles
* feat: big Query using back button (#15338)
* fix: password errors on validation (#15372)
* filter out password supply for validation
* filter password
* feat: updated Error Alert (#15377)
* Updated styling (#15379)
* fix password error filter
* feat: Arash/password field error (#15388)
* fix: Back Button on Create for DB conncetion (#15389)
* fix: add icons (#15122)
* added alerts
* revisions
* added icon
* spinner
* fixing backButton on Create
* fix doc (#15393)
* style: Database Connection Modal UI Polish R5 (#15412)
* Fixed inconsistent header spacing in step 1
* Touched up tooltips
* Added red *s to BigQuery form
* Centered modal window
* make alerts configurable (#15404)
* fix: Allow users to override database connection docs (#15434)
* allow users to override docs
* fix linting issue
* fix: Error Icon not showing up on errored input fieds on validation (#15431)
* Fixed now-show error icon
Signed-off-by: andrewbastian
* Changed `%` to `px`
* Fixed lint error
* Changed units to `theme.gridUnit`
* test: RTL testing on DatabaseModal (#15394)
* RTL testing on DatabaseModal
* Continued RTL testing on DatabaseModal
* Code cleanup
* Removed a comment that missed my radar
* test: Add e2e testing (#15376)
* create boilerplate for cypress test
* added 1 more test
* add more test cases
* saving this for development
* lit
* remove name
* update pass
* remove unused test
* fix merge conflicts
* Fixed "connetion" typo (#15458)
* fix: Database connection modal touch up (#15463)
* Removed unnecessary TODO and named the remaining ones
* Added translation functionality
* Fixed typo in Database Modal RTL test
* Update modal.test.ts
* fix: Showing errors for SQLA forms (#15462)
* fix documentation links
* fix sqlalchemy onCreate
* Fixing SQLA error messaging
* fix logic for extra save
* fix this issue
* fix: Update Invalid Port SIP-40 Reference (#15464)
* Fixed jumpy header text
* fix: Edit Modal not saving properly (#15468)
* Aligned info icons on dynamic form
* fix: merge conflict (#15479)
* chore: simplify errors and issue codes (#15437)
* Fix issue number
* Fix test
* Fixed line-height in header, also fixed translation functions in BigQuery
* Updated placeholder text in additional params field
* Fixed padding in edit form
* Corrected placeholder text in BigQuery > Service Account field
* Make linter happy
Co-authored-by: Elizabeth Thompson
Co-authored-by: Arash
Co-authored-by: hughhhh
Co-authored-by: AAfghahi <48933336+AAfghahi@users.noreply.github.com>
Co-authored-by: simcha90 <56388545+simcha90@users.noreply.github.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Einat Bertenthal
Co-authored-by: einatnielsen
Co-authored-by: Kamil Gabryjelski
Co-authored-by: Beto Dealmeida
Co-authored-by: Andrew Bastian <50464395+andrewbastian@users.noreply.github.com>
Co-authored-by: andrewbastian
---
.../Form/LabeledErrorBoundInput.tsx | 30 +++++++++----------
.../src/components/InfoTooltip/index.tsx | 3 +-
.../DatabaseModal/DatabaseConnectionForm.tsx | 26 +++++++---------
.../database/DatabaseModal/ModalHeader.tsx | 22 +++++++-------
.../data/database/DatabaseModal/index.tsx | 12 ++++----
.../data/database/DatabaseModal/styles.ts | 21 +++++++++----
6 files changed, 59 insertions(+), 55 deletions(-)
diff --git a/superset-frontend/src/components/Form/LabeledErrorBoundInput.tsx b/superset-frontend/src/components/Form/LabeledErrorBoundInput.tsx
index f654c4f5dc925..ac94d947184e3 100644
--- a/superset-frontend/src/components/Form/LabeledErrorBoundInput.tsx
+++ b/superset-frontend/src/components/Form/LabeledErrorBoundInput.tsx
@@ -77,11 +77,13 @@ const StyledFormGroup = styled('div')`
}
`;
-const infoTooltip = (theme: SupersetTheme) => css`
- svg {
- vertical-align: bottom;
- margin-bottom: ${theme.gridUnit * 0.25}px;
- }
+const StyledAlignment = styled.div`
+ display: flex;
+ align-items: center;
+`;
+
+const StyledFormLabel = styled(FormLabel)`
+ margin-bottom: 0;
`;
const LabeledErrorBoundInput = ({
@@ -97,16 +99,14 @@ const LabeledErrorBoundInput = ({
...props
}: LabeledErrorBoundInputProps) => (
- infoTooltip(theme)}
- >
- {label}
-
- {hasTooltip && (
-
- )}
+
+
+ {label}
+
+ {hasTooltip && (
+
+ )}
+ alertIconStyles(theme, !!errorMessage)}
validateTrigger={Object.keys(validationMethods)}
diff --git a/superset-frontend/src/components/InfoTooltip/index.tsx b/superset-frontend/src/components/InfoTooltip/index.tsx
index 7aa9afaebd84c..968f5df715980 100644
--- a/superset-frontend/src/components/InfoTooltip/index.tsx
+++ b/superset-frontend/src/components/InfoTooltip/index.tsx
@@ -65,6 +65,7 @@ export default function InfoTooltip({
trigger = 'hover',
overlayStyle = defaultOverlayStyle,
bgColor = defaultColor,
+ viewBox = '0 -2 24 24',
}: InfoTooltipProps) {
return (
-
+
);
}
diff --git a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx
index 9125d4a02ec08..ca4fd3a3af540 100644
--- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx
+++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx
@@ -85,7 +85,7 @@ const CredentialsInfo = ({
{!isEditMode && (
<>
- {`${t('How do you want to enter service account credentials?')}`}
+ {t('How do you want to enter service account credentials?')}
>
@@ -106,22 +106,16 @@ const CredentialsInfo = ({
isEditMode ||
editNewDb ? (