This commit fixes invalid prop spreading warnings in all the table rows
I could find through a quick search in the code base.
The issue is that you can't spread the "key" prop into a component. It
*must* be an explicit prop.
The process is the same everywhere:
1. Instead of spreading `row.getRowProps()` into the component, we
extract and split it: `const {key, ...rowProps} = row.getRowProps()`.
2. Do the same thing for cellProps.
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->
Fixes ImportOptions.tsx
## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->
<!-- Does it close an issue? Multiple? -->
Closes #
<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->
### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->
## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->
---------
Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Prabodh Meshram <prabodh.meshram7@gmail.com>
* fix: Block user from turning on default env in project view
* fix: Allow changing environment state for default in a project if using non OSS
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
* feat: add a script that generates an OpenAPI client
* feat: generate an OpenAPI client
* feat: use the generated OpenAPI client
* refactor: add an OpenAPI section to the readme
* refactor: fix missing interface prefixes
* refactor: regenerate OpenAPI client
* refactor: remove unused securityLogger
* refactor: port commonStyles to TS
* refactor: port testIds to TS
* refactor: move app.css into themes
* refactor: use absolute import paths
* refactor: port LayoutPicker to TS
* refactor: port routes to TS
* refactor: port ScrollTop to TS
* refactor: update unused/missing ScrollTop exceptions
* refactor: remove unused route flags field
* refactor: change constants ext to TS
* refactor: remove unused testData file
* refactor: port styles to TS
* refactor: wait before typing in auth spec
* chore: add prettier as a dev dependency
The project has a .prettierrc, so seems to depend on that for its
formatting, but there was no prettier installed with the node modules.
* chore: add autofocus to all clearly defined first inputs on dialogs.
* fix: wrap the disable env input in a form and give it autofocus.
* fix: submit form when pressing enter
* fix: only autofocus the submit button if there is no other content.
When multiple (enabled) elements have the autofocus attribute, the
browser picks the last element in the tree. This means that if there
is a form with a text input with autofocus and a submit button with
autofocus, the button will win, causing the user to have to tab back up.
Only doing this if there are no children will cause some changes,
however:
Dialogs with textual children will no longer focus the accept-button
when appearing.
However, dialogs such as the create new api token dialog will give the
focus to the first input field instead of to the create button.
* fix: add formId prop to dialog element; adapt behavior
If the component receives a form id, it will treat the primary button
as the submit button for that form. To stop a full page reload, we
call the `preventDefault` on the submit event before calling the handler.
* chore: remove redundant spacing in component.
* fix: hook environment disable form up with the new form id system.
* chore: Update existing modal forms to pass in formId
* fix: Type the dialog event wrapper
* fix: change 'allows' => 'allow' because the noun is pluralized.
* fix: add autofocus to js add-tag-dialog-component.
I've got a feeling this component isn't in use anymore, though, as the
exact same text appears in a TS-version of this component.
* fix: add autofocus to add user form.
This seems to only be used as the main piece of a modal, so adding
autofocus seems pretty safe here, but I could be wrong.
* fix: Update snapshot test after changing wording.
* fix: add autofocus to update user form
* fix: add autofocus to the create toggle form.
This is a little besides the task's actual point. However! This form
is only ever used on the page where it's the only bit of content. I'd
argue that when the user navigates to this form, it's because they
want to create a feature. Thus, adding autofocus to the first field
makes a lot of sense to me.
* refactor: set button type to 'undefined' when it isn't 'submit'
This allows Material to use their default type based on whatever
heuristics they use. It's most likely going to be 'button' for the
foreseeable future, but in the event that they change it, passing
undefined instead should future-proof this a bit.
* fix: set type to button when formId is not present
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
- This adds a generic way to control permission to mutations in the same
way as our PermissionButton and PermissionIconButton already does the
same.
- This also switches the StrategiesList to use PermissionIconButton so
users without ADMIN role do not believe they can deprecate/reactivate
strategies.