WIP: Convert Geo Node Form to Vue
Why WIP
-
Hook up the API => !22392 (merged) -
This will need to be split up into a few smaller MRs -
Write Tests
Potential MR Split up
- Init Vue application behind a feature flag,
:enable_geo_node_form_js
=> !22815 (merged) - Add core functionality in UI => !23479 (merged)
- Add Selective Sync to the UI
- Add form validation and API POST/PUT
- Remove feature flag, delete feature conditionals and legacy code
What does this MR do?
Closes #118841 (closed)
This MR moves the Geo Node form into the UI. This will allow us to have stronger onBlur and onChange validations as well as properly hidden fields.
The form will now POST to a new endpoint to Create/Edit Nodes.
Significant changes
- The interaction with Selective Sync Namespaces is slightly different now (See screenshot). There is a dropdown with a search, instead of a Typeahead search.
- The interaction with Selective Sync Shards is slightly different now (See screenshot). There is a dropdown with selectable shards, instead of a selectable text box.
Screenshots
Primary Node Form | Secondary Node Form | Selective Sync Namespaces | Selective Sync Shards | |
---|---|---|---|---|
before | ||||
after |
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team
Closes #118841 (closed)
Edited by Zack Cuddy