Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 Bug Report: Scaffolding - empty item in selectbox for enum is not visible #24664

Open
2 tasks done
Vity01 opened this issue May 7, 2024 · 2 comments
Open
2 tasks done
Labels
area:scaffolder Everything and all things related to the scaffolder project area bug Something isn't working

Comments

@Vity01
Copy link
Contributor

Vity01 commented May 7, 2024

📜 Description

Although the enum property in the model is nullable and not required, empty value for selection is missing.

Nowadays there is no easy way for user to deselect already selected value. We use 'blank space' as an empty item and it's barely visible and also it's not a perfect engineering solution.

            cto-team:
              ui:emptyValue: ''
              nullable: true
              allowEmptyValue: true
              enum:
                - shared
                - ega
                - infra
                - hippo
                - cbs
                - tlp
                - tis
                - ti

In Backstage:
image
In RJSF demo
image

I have no idea where the bug is coming from. It seems the BS is using almost the latest version of RJSF.

👍 Expected behavior

There should be nullable selection item visible for not required fields.

👎 Actual Behavior with Screenshots

Posted above.

👟 Reproduction steps

Create a simple template with enum field.

📃 Provide the context for the Bug.

No response

🖥️ Your Environment

yarn run v1.22.19
$ C:\develope\bsnew\avast-backstage\node_modules\.bin\backstage-cli info
OS:   Windows_NT 10.0.19045 - win32/x64
node: v18.19.0
yarn: 1.22.19
cli:  0.26.3 (installed)
backstage:  1.26.1

Dependencies:
  @backstage/app-defaults                                          1.5.4
  @backstage/backend-app-api                                       0.7.0
  @backstage/backend-common                                        0.21.7
  @backstage/backend-defaults                                      0.2.17
  @backstage/backend-dev-utils                                     0.1.4
  @backstage/backend-openapi-utils                                 0.1.10
  @backstage/backend-plugin-api                                    0.6.17
  @backstage/backend-tasks                                         0.5.22
  @backstage/catalog-client                                        1.6.4
  @backstage/catalog-model                                         1.4.5
  @backstage/cli-common                                            0.1.13
  @backstage/cli-node                                              0.2.5
  @backstage/cli                                                   0.26.3
  @backstage/config-loader                                         1.8.0
  @backstage/config                                                1.2.0
  @backstage/core-app-api                                          1.12.4
  @backstage/core-compat-api                                       0.2.4
  @backstage/core-components                                       0.12.5, 0.13.10, 0.14.4
  @backstage/core-plugin-api                                       1.9.2
  @backstage/dev-utils                                             1.0.31
  @backstage/e2e-test-utils                                        0.1.1
  @backstage/errors                                                1.2.4
  @backstage/eslint-plugin                                         0.1.7
  @backstage/frontend-plugin-api                                   0.6.4
  @backstage/integration-aws-node                                  0.1.12
  @backstage/integration-react                                     1.1.26
  @backstage/integration                                           1.10.0
  @backstage/plugin-analytics-module-ga4                           0.2.4
  @backstage/plugin-api-docs                                       0.11.4
  @backstage/plugin-app-backend                                    0.3.65
  @backstage/plugin-app-node                                       0.1.17
  @backstage/plugin-auth-backend-module-atlassian-provider         0.1.9
  @backstage/plugin-auth-backend-module-aws-alb-provider           0.1.9
  @backstage/plugin-auth-backend-module-azure-easyauth-provider    0.1.0
  @backstage/plugin-auth-backend-module-bitbucket-provider         0.1.0
  @backstage/plugin-auth-backend-module-cloudflare-access-provider 0.1.0
  @backstage/plugin-auth-backend-module-gcp-iap-provider           0.2.12
  @backstage/plugin-auth-backend-module-github-provider            0.1.14
  @backstage/plugin-auth-backend-module-gitlab-provider            0.1.14
  @backstage/plugin-auth-backend-module-google-provider            0.1.14
  @backstage/plugin-auth-backend-module-microsoft-provider         0.1.12
  @backstage/plugin-auth-backend-module-oauth2-provider            0.1.14
  @backstage/plugin-auth-backend-module-oauth2-proxy-provider      0.1.10
  @backstage/plugin-auth-backend-module-oidc-provider              0.1.8
  @backstage/plugin-auth-backend-module-okta-provider              0.0.10
  @backstage/plugin-auth-backend                                   0.22.4
  @backstage/plugin-auth-node                                      0.4.12
  @backstage/plugin-auth-react                                     0.1.0
  @backstage/plugin-catalog-backend-module-github                  0.6.0
  @backstage/plugin-catalog-backend-module-ldap                    0.5.33
  @backstage/plugin-catalog-backend-module-openapi                 0.1.35
  @backstage/plugin-catalog-backend-module-scaffolder-entity-model 0.1.15
  @backstage/plugin-catalog-backend-module-unprocessed             0.4.4
  @backstage/plugin-catalog-backend                                1.21.1
  @backstage/plugin-catalog-common                                 1.0.22
  @backstage/plugin-catalog-graph                                  0.4.4
  @backstage/plugin-catalog-import                                 0.10.10
  @backstage/plugin-catalog-node                                   1.11.1
  @backstage/plugin-catalog-react                                  1.11.3
  @backstage/plugin-catalog-unprocessed-entities-common            0.0.1
  @backstage/plugin-catalog                                        1.19.0
  @backstage/plugin-devtools-backend                               0.3.3
  @backstage/plugin-devtools-common                                0.1.9
  @backstage/plugin-devtools                                       0.1.13
  @backstage/plugin-entity-feedback-backend                        0.2.14
  @backstage/plugin-entity-feedback-common                         0.1.3
  @backstage/plugin-entity-feedback                                0.2.17
  @backstage/plugin-events-node                                    0.3.3
  @backstage/plugin-explore-common                                 0.0.2
  @backstage/plugin-explore-react                                  0.0.38
  @backstage/plugin-explore                                        0.4.20
  @backstage/plugin-github-actions                                 0.6.15
  @backstage/plugin-home-react                                     0.1.12
  @backstage/plugin-home                                           0.7.3
  @backstage/plugin-org                                            0.6.24
  @backstage/plugin-permission-backend                             0.5.41
  @backstage/plugin-permission-common                              0.7.13
  @backstage/plugin-permission-node                                0.7.28
  @backstage/plugin-permission-react                               0.4.22
  @backstage/plugin-proxy-backend                                  0.4.15
  @backstage/plugin-scaffolder-backend-module-azure                0.1.9
  @backstage/plugin-scaffolder-backend-module-bitbucket-cloud      0.1.7
  @backstage/plugin-scaffolder-backend-module-bitbucket-server     0.1.7
  @backstage/plugin-scaffolder-backend-module-bitbucket            0.2.7
  @backstage/plugin-scaffolder-backend-module-gerrit               0.1.9
  @backstage/plugin-scaffolder-backend-module-gitea                0.1.7
  @backstage/plugin-scaffolder-backend-module-github               0.2.7
  @backstage/plugin-scaffolder-backend-module-gitlab               0.3.3
  @backstage/plugin-scaffolder-backend                             1.22.4
  @backstage/plugin-scaffolder-common                              1.5.1
  @backstage/plugin-scaffolder-node                                0.4.3
  @backstage/plugin-scaffolder-react                               1.8.4
  @backstage/plugin-scaffolder                                     1.19.3
  @backstage/plugin-search-backend-module-catalog                  0.1.22
  @backstage/plugin-search-backend-module-elasticsearch            1.4.0
  @backstage/plugin-search-backend-module-pg                       0.5.26
  @backstage/plugin-search-backend-module-stack-overflow-collator  0.1.10
  @backstage/plugin-search-backend-module-techdocs                 0.1.22
  @backstage/plugin-search-backend-node                            1.2.21
  @backstage/plugin-search-backend                                 1.5.7
  @backstage/plugin-search-common                                  1.2.11
  @backstage/plugin-search-react                                   1.7.10
  @backstage/plugin-search                                         1.4.10
  @backstage/plugin-shortcuts                                      0.3.23
  @backstage/plugin-stack-overflow-backend                         0.2.21
  @backstage/plugin-stack-overflow                                 0.1.29
  @backstage/plugin-tech-insights-backend-module-jsonfc            0.1.49
  @backstage/plugin-tech-insights-backend                          0.5.31
  @backstage/plugin-tech-insights-common                           0.2.12
  @backstage/plugin-tech-insights-node                             0.6.0
  @backstage/plugin-tech-radar                                     0.7.3
  @backstage/plugin-techdocs-backend                               1.10.4
  @backstage/plugin-techdocs-module-addons-contrib                 1.1.9
  @backstage/plugin-techdocs-node                                  1.12.3
  @backstage/plugin-techdocs-react                                 1.2.3
  @backstage/plugin-techdocs                                       1.10.4
  @backstage/plugin-user-settings                                  0.8.5
  @backstage/release-manifests                                     0.0.11
  @backstage/repo-tools                                            0.8.0
  @backstage/test-utils                                            1.5.4
  @backstage/theme                                                 0.2.19, 0.4.4, 0.5.3
  @backstage/types                                                 1.1.1
  @backstage/version-bridge                                        1.0.8

👀 Have you spent some time to check if this bug has been raised before?

  • I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

Are you willing to submit PR?

Yes I am willing to submit a PR!

@Vity01 Vity01 added the bug Something isn't working label May 7, 2024
@vinzscam vinzscam added the area:scaffolder Everything and all things related to the scaffolder project area label May 10, 2024
@benjdlambert
Copy link
Member

@Vity01 looked at this in the SIG today, and it looks like this is an upstream issue. When you change the theme to material-ui or mui you get the same issue. There's no empty select box in the material themes. Can you raise this issue with https://github.com/rjsf-team/react-jsonschema-form?

@Vity01
Copy link
Contributor Author

Vity01 commented May 20, 2024

I created rjsf-team/react-jsonschema-form#4197

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:scaffolder Everything and all things related to the scaffolder project area bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants