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

fix: Add generic type support to the semantic-ui theme #3356

Merged
merged 1 commit into from
Jan 7, 2023

Conversation

heath-freenome
Copy link
Member

Reasons for making this change

partially fix: #3072 by adding generic type support to the semantic-ui theme as follows:

  • In @rjsf/utils added a missing generic to the EnumOptionsType in the WidgetProps
  • In @rjsf/mui added generic type support as follows:
    • Updated all of the template and widget components to add the T = any, S extends StrictRJSFSchema = RJSFSchema and F extends FormContextType = any generics on the function definitions, types and utility function calls
    • Added a generateForm<T, S, F>() function to SemanticUIForm.tsx, exporting it and exporting the default SemanticUIForm as a call to generateForm()
    • Added a generateTemplates<T, S, F>() function to the Templates.tsx, exporting it and exporting the default Templates as a call to generateTemplates()
    • Added a generateTheme<T, S, F>() function to the Theme.tsx, exporting it and exporting the default Theme as a call to generateTheme()
    • Added a generateWidgets<T, S, F>() function to the Widgets.tsx, exporting it and exporting the default Widgets as a call to generateWidgets()
    • Updated the main index.ts for the theme to also export the generateXXX() functions
    • Updated the types and functions in the utils.ts file to add the generics
  • Updated the CHANGELOG.md accordingly

Checklist

  • I'm updating documentation
  • I'm adding or updating code
    • I've added and/or updated tests. I've run npm run test:update to update snapshots, if needed.
    • I've updated docs if needed
    • I've updated the changelog with a description of the PR
  • I'm adding a new feature
    • I've updated the playground with an example use of the feature

partially fix: rjsf-team#3072 by adding generic type support to the semantic-ui theme as follows:

- In `@rjsf/utils` added a missing generic to the `EnumOptionsType` in the `WidgetProps`
- In `@rjsf/mui` added generic type support as follows:
  - Updated all of the template and widget components to add the `T = any`, `S extends StrictRJSFSchema = RJSFSchema` and `F extends FormContextType = any` generics on the function definitions, types and utility function calls
  - Added a `generateForm<T, S, F>()` function to `SemanticUIForm.tsx`, exporting it and exporting the default `SemanticUIForm` as a call to `generateForm()`
  - Added a `generateTemplates<T, S, F>()` function to the `Templates.tsx`, exporting it and exporting the default `Templates` as a call to `generateTemplates()`
  - Added a `generateTheme<T, S, F>()` function to the `Theme.tsx`, exporting it and exporting the default `Theme` as a call to `generateTheme()`
  - Added a `generateWidgets<T, S, F>()` function to the `Widgets.tsx`, exporting it and exporting the default `Widgets` as a call to `generateWidgets()`
  - Updated the main `index.ts` for the theme to also export the `generateXXX()` functions
  - Updated the types and functions in the `utils.ts` file to add the generics
- Updated the `CHANGELOG.md` accordingly
@heath-freenome heath-freenome merged commit a5e3a16 into rjsf-team:main Jan 7, 2023
@heath-freenome heath-freenome deleted the fix-3072-semantic-ui branch January 7, 2023 21:57
shijistar pushed a commit to shijistar/react-jsonschema-form that referenced this pull request Jun 8, 2023
partially fix: rjsf-team#3072 by adding generic type support to the semantic-ui theme as follows:

- In `@rjsf/utils` added a missing generic to the `EnumOptionsType` in the `WidgetProps`
- In `@rjsf/mui` added generic type support as follows:
  - Updated all of the template and widget components to add the `T = any`, `S extends StrictRJSFSchema = RJSFSchema` and `F extends FormContextType = any` generics on the function definitions, types and utility function calls
  - Added a `generateForm<T, S, F>()` function to `SemanticUIForm.tsx`, exporting it and exporting the default `SemanticUIForm` as a call to `generateForm()`
  - Added a `generateTemplates<T, S, F>()` function to the `Templates.tsx`, exporting it and exporting the default `Templates` as a call to `generateTemplates()`
  - Added a `generateTheme<T, S, F>()` function to the `Theme.tsx`, exporting it and exporting the default `Theme` as a call to `generateTheme()`
  - Added a `generateWidgets<T, S, F>()` function to the `Widgets.tsx`, exporting it and exporting the default `Widgets` as a call to `generateWidgets()`
  - Updated the main `index.ts` for the theme to also export the `generateXXX()` functions
  - Updated the types and functions in the `utils.ts` file to add the generics
- Updated the `CHANGELOG.md` accordingly
shijistar pushed a commit to shijistar/react-jsonschema-form that referenced this pull request Jun 8, 2023
partially fix: rjsf-team#3072 by adding generic type support to the semantic-ui theme as follows:

- In `@rjsf/utils` added a missing generic to the `EnumOptionsType` in the `WidgetProps`
- In `@rjsf/mui` added generic type support as follows:
  - Updated all of the template and widget components to add the `T = any`, `S extends StrictRJSFSchema = RJSFSchema` and `F extends FormContextType = any` generics on the function definitions, types and utility function calls
  - Added a `generateForm<T, S, F>()` function to `SemanticUIForm.tsx`, exporting it and exporting the default `SemanticUIForm` as a call to `generateForm()`
  - Added a `generateTemplates<T, S, F>()` function to the `Templates.tsx`, exporting it and exporting the default `Templates` as a call to `generateTemplates()`
  - Added a `generateTheme<T, S, F>()` function to the `Theme.tsx`, exporting it and exporting the default `Theme` as a call to `generateTheme()`
  - Added a `generateWidgets<T, S, F>()` function to the `Widgets.tsx`, exporting it and exporting the default `Widgets` as a call to `generateWidgets()`
  - Updated the main `index.ts` for the theme to also export the `generateXXX()` functions
  - Updated the types and functions in the `utils.ts` file to add the generics
- Updated the `CHANGELOG.md` accordingly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix Typescript generics support in all themes in the beta
3 participants