refine
refine copied to clipboard
feat: control for navigation tweak
When we rely on the mount effects, Clicking on the same sider item will result in a page reload due to them being linked. We need to prevent the default behavior if the item is selected so that it doesn't remount the components!
Test plan (required)
I've tested all 5 packages touched by changes. core, antd, mui, mantine and chakra-ui!
Closing issues
closes #4310
Self Check before Merge
Please check all items below before review.
- [x] Corresponding issues are created/updated or not needed
- [x] Docs are updated/provided or not needed
- [x] Examples are updated/provided or not needed
- [x] TypeScript definitions are updated/provided or not needed
- [x] Tests are updated/provided or not needed
- [x] Changesets are provided or not needed
🦋 Changeset detected
Latest commit: 1a28eb87cf5f27860c971b0e68fab9fe97ffdfba
The changes in this PR will be included in the next version bump.
Not sure what this means? Click here to learn what changesets are.
Click here if you're a maintainer who wants to add another changeset to this PR
Deploy Preview for aquamarine-panda-e208bf ready!
| Name | Link |
|---|---|
| Latest commit | 1a28eb87cf5f27860c971b0e68fab9fe97ffdfba |
| Latest deploy log | https://app.netlify.com/sites/aquamarine-panda-e208bf/deploys/6499bd4bede9d00008b4dbcc |
| Deploy Preview | https://deploy-preview-4502--aquamarine-panda-e208bf.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site settings.
Deploy Preview for lighthearted-pastelito-e86ad1 ready!
| Name | Link |
|---|---|
| Latest commit | 1a28eb87cf5f27860c971b0e68fab9fe97ffdfba |
| Latest deploy log | https://app.netlify.com/sites/lighthearted-pastelito-e86ad1/deploys/6499bd4bbded2500084ade34 |
| Deploy Preview | https://deploy-preview-4502--lighthearted-pastelito-e86ad1.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site settings.
Deploy Preview for stupendous-taffy-33f80c ready!
| Name | Link |
|---|---|
| Latest commit | 1a28eb87cf5f27860c971b0e68fab9fe97ffdfba |
| Latest deploy log | https://app.netlify.com/sites/stupendous-taffy-33f80c/deploys/6499bd4b96f3f00008352654 |
| Deploy Preview | https://deploy-preview-4502--stupendous-taffy-33f80c.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site settings.
Deploy Preview for imaginative-sundae-1fd394 ready!
| Name | Link |
|---|---|
| Latest commit | 1a28eb87cf5f27860c971b0e68fab9fe97ffdfba |
| Latest deploy log | https://app.netlify.com/sites/imaginative-sundae-1fd394/deploys/6499bd4bbcefd800082df6d1 |
| Deploy Preview | https://deploy-preview-4502--imaginative-sundae-1fd394.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site settings.
☁️ Nx Cloud Report
CI is running/has finished running commands for commit 1a28eb87cf5f27860c971b0e68fab9fe97ffdfba. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.
📂 See all runs for this branch
✅ Successfully ran 79 targets
lerna run cypress:run --scope auth-material-ui -- --record --key --group auth-material-uilerna run cypress:run --scope with-remix-material-ui -- --record --key --group with-remix-material-uilerna run cypress:run --scope auth-mantine -- --record --key --group auth-mantinelerna run cypress:run --scope with-remix-headless -- --record --key --group with-remix-headlesslerna run cypress:run --scope with-remix-antd -- --record --key --group with-remix-antdlerna run cypress:run --scope auth-keycloak -- --record --key --group auth-keycloaklerna run cypress:run --scope with-nextjs-next-auth -- --record --key --group with-nextjs-next-authlerna run cypress:run --scope form-antd-mutation-mode -- --record --key --group form-antd-mutation-modelerna run cypress:run --scope auth-headless -- --record --key --group auth-headlesslerna run cypress:run --scope with-nextjs-auth -- --record --key --group with-nextjs-authlerna run cypress:run --scope auth-google-login -- --record --key --group auth-google-loginlerna run cypress:run --scope table-antd-use-editable-table -- --record --key --group table-antd-use-editable-tablelerna run cypress:run --scope form-antd-custom-validation -- --record --key --group form-antd-custom-validationlerna run cypress:run --scope with-nextjs-appdir -- --record --key --group with-nextjs-appdirlerna run cypress:run --scope auth-chakra-ui -- --record --key --group auth-chakra-uilerna run cypress:run --scope table-antd-use-delete-many -- --record --key --group table-antd-use-delete-manylerna run cypress:run --scope form-chakra-use-modal-form -- --record --key --group form-chakra-use-modal-formlerna run cypress:run --scope data-provider-supabase -- --record --key --group data-provider-supabaselerna run cypress:run --scope form-chakra-ui-use-form -- --record --key --group form-chakra-ui-use-formlerna run cypress:run --scope auth-auth0 -- --record --key --group auth-auth0lerna run cypress:run --scope with-nextjs -- --record --key --group with-nextjslerna run cypress:run --scope table-antd-table-filter -- --record --key --group table-antd-table-filterlerna run cypress:run --scope inferencer-chakra-ui -- --record --key --group inferencer-chakra-uilerna run cypress:run --scope form-chakra-ui-use-drawer-form -- --record --key --group form-chakra-ui-use-drawer-formlerna run cypress:run --scope form-chakra-ui-mutation-mode -- --record --key --group form-chakra-ui-mutation-modelerna run cypress:run --scope data-provider-strapi-v4 -- --record --key --group data-provider-strapi-v4lerna run cypress:run --scope table-antd-advanced -- --record --key --group table-antd-advancedlerna run cypress:run --scope auth-antd -- --record --key --group auth-antdlerna run cypress:run --scope inferencer-antd -- --record --key --group inferencer-antdlerna run cypress:run --scope table-react-table-basic -- --record --key --group table-react-table-basiclerna run cypress:run --scope form-antd-use-steps-form -- --record --key --group form-antd-use-steps-formlerna run cypress:run --scope table-react-table-advanced -- --record --key --group table-react-table-advancedlerna run cypress:run --scope inferencer-material-ui -- --record --key --group inferencer-material-uilerna run cypress:run --scope form-save-and-continue -- --record --key --group form-save-and-continuelerna run build --include-dependencies --scope @refinedev/core --no-bail --scope=access-control-casbin --scope=auth-antd --scope=access-control-cerbos --scope=accessControl --scope=antd-audit-log --scope=auth-auth0 --scope=antdAuditLog --scope=audit-log-provider --scope=auditLogProvider --scope=auth-chakra-ui --scope=auth-mui --scope=auth-otp --sco...lerna run cypress:run --scope table-material-ui-use-update-many -- --record --key --group table-material-ui-use-update-manylerna run cypress:run --scope form-antd-use-modal-form -- --record --key --group form-antd-use-modal-formlerna run cypress:run --scope form-react-hook-form-use-steps-form -- --record --key --group form-react-hook-form-use-steps-formlerna run cypress:run --scope base-material-ui -- --record --key --group base-material-uilerna run cypress:run --scope table-material-ui-use-delete-many -- --record --key --group table-material-ui-use-delete-manylerna run cypress:run --scope form-react-hook-form-use-modal-form -- --record --key --group form-react-hook-form-use-modal-formlerna run cypress:run --scope form-antd-use-form -- --record --key --group form-antd-use-formlerna run cypress:run --scope base-mantine -- --record --key --group base-mantinelerna run cypress:run --scope form-react-hook-form-use-form -- --record --key --group form-react-hook-form-use-formlerna run cypress:run --scope table-material-ui-use-data-grid -- --record --key --group table-material-ui-use-data-gridlerna run cypress:run --scope inferencer-mantine -- --record --key --group inferencer-mantinelerna run cypress:run --scope table-material-ui-advanced -- --record --key --group table-material-ui-advancedlerna run cypress:run --scope form-material-ui-use-steps-form -- --record --key --group form-material-ui-use-steps-formlerna run cypress:run --scope form-antd-use-drawer-form -- --record --key --group form-antd-use-drawer-formlerna run cypress:run --scope base-chakra-ui -- --record --key --group base-chakra-uilerna run cypress:run --scope table-material-ui-table-filter -- --record --key --group table-material-ui-table-filterlerna run cypress:run --scope base-antd -- --record --key --group base-antdlerna run cypress:run --scope form-material-ui-use-modal-form -- --record --key --group form-material-ui-use-modal-formlerna run cypress:run --scope table-mantine-basic -- --record --key --group table-mantine-basiclerna run cypress:run --scope table-material-ui-data-grid-pro -- --record --key --group table-material-ui-data-grid-prolerna run build --include-dependencies --scope @refinedev/core --no-bail --scope=core-use-modal --scope=form-antd-use-drawer-form --scope=core-use-select --scope=customPages --scope=customization --scope=form-antd-use-form --scope=customization-footer --scope=customization-login --scope=customization-offlayout-area --scope=form-antd-use-modal-form ...lerna run cypress:run --scope inferencer-headless -- --record --key --group inferencer-headlesslerna run build --include-dependencies --scope @refinedev/core --no-bail --scope=blog-ra-chakra-tutorial --scope=base-antd --scope=blog-react-admin-mantine --scope=blog-react-aria --scope=blog-react-dnd --scope=base-chakra-ui --scope=blog-react-hook-dynamic-form --scope=blog-react-memoization-memo --scope=blog-react-toastify --scope=base-mantine --...lerna run cypress:run --scope table-mantine-advanced -- --record --key --group table-mantine-advancedlerna run cypress:run --scope table-handson -- --record --key --group table-handsonlerna run cypress:run --scope table-material-ui-cursor-pagination -- --record --key --group table-material-ui-cursor-paginationlerna run build --include-dependencies --scope @refinedev/core --no-bail --scope=import-export-mui --scope=form-material-ui-use-modal-form --scope=importExport --scope=inferencer --scope=inferencer-mui --scope=form-material-ui-use-steps-form --scope=input-custom --scope=input-date-picker --scope=inputs --scope=form-react-hook-form-use-form --scope=...lerna run cypress:run --scope inferencer-graphql-hasura -- --record --key --group inferencer-graphql-hasuralerna run cypress:run --scope table-chakra-ui-basic -- --record --key --group table-chakra-ui-basiclerna run cypress:run --scope table-chakra-ui-advanced -- --record --key --group table-chakra-ui-advancedlerna run cypress:run --scope form-material-ui-use-form -- --record --key --group form-material-ui-use-formlerna run build --include-dependencies --scope @refinedev/core --no-bail --scope=with-javascript --scope=table-material-ui-cursor-pagination --scope=with-meta-properties --scope=with-persist-query --scope=with-react-toastify --scope=table-material-ui-data-grid-pro --scope=with-remix-auth --scope=with-remix-mui --scope=with-storybook-antd --scope=ta...lerna run build --include-dependencies --scope @refinedev/core --no-bail --scope=remix --scope=inferencer-graphql-hasura --scope=search --scope=store --scope=storybook --scope=inferencer-headless --scope=table --scope=table-mui-advanced --scope=table-mui-cursor-pagination --scope=inferencer-mantine --scope=table-mui-data-grid-pro --scope=table-mui-...lerna run cypress:run --scope table-antd-use-update-many -- --record --key --group table-antd-use-update-manylerna run cypress:run --scope form-material-ui-use-drawer-form -- --record --key --group form-material-ui-use-drawer-formlerna run cypress:run --scope table-antd-use-table -- --record --key --group table-antd-use-tablelerna run cypress:run --scope form-material-ui-mutation-mode -- --record --key --group form-material-ui-mutation-modelerna run build --include-dependencies --scope @refinedev/core --no-bail --scope=tutorial-chakra-ui --scope=table-antd-use-table --scope=tutorial-headless --scope=tutorial-mantine --scope=tutorial-material-ui --scope=table-antd-use-update-many --scope=tutorial-mui --scope=ui --scope=upload --scope=table-chakra-ui-advanced --scope=upload-antd-base64...lerna run cypress:run --scope form-mantine-use-steps-form -- --record --key --group form-mantine-use-steps-formlerna run cypress:run --scope form-mantine-use-modal-form -- --record --key --group form-mantine-use-modal-formlerna run cypress:run --scope form-mantine-use-form -- --record --key --group form-mantine-use-formlerna run cypress:run --scope form-mantine-use-drawer-form -- --record --key --group form-mantine-use-drawer-formlerna run cypress:run --scope form-mantine-mutation-mode -- --record --key --group form-mantine-mutation-modelerna run build --include-dependencies --scope @refinedev/core --no-bail --scope=field --scope=form-mantine-mutation-mode --scope=field-antd-use-checkbox-group --scope=field-antd-use-radio-group --scope=field-antd-use-select-basic --scope=form-mantine-use-drawer-form --scope=field-antd-use-select-infinite --scope=field-material-ui-use-autocomplete ...
Sent with 💌 from NxCloud.
Deploy Preview for refine-doc-live-previews ready!
Built without sensitive environment variables
| Name | Link |
|---|---|
| Latest commit | 1a28eb87cf5f27860c971b0e68fab9fe97ffdfba |
| Latest deploy log | https://app.netlify.com/sites/refine-doc-live-previews/deploys/6499bd4b20c4ce0008c8127c |
| Deploy Preview | https://deploy-preview-4502--refine-doc-live-previews.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site settings.
@aliemir, Sorry for the ping but just wondering if I require any further changes on this or not :)
@aliemir, Sorry for the ping but just wondering if I require any further changes on this or not :)
Hey @Mr0nline , Sorry for the delay. I think we'll be able to review it next week. Thank you for your patience ⚡️
Hey, @Mr0nline thank you for the improvements, it looks great 🚀.
But I think using pointer-events: "none" it's a better approach. Can you change preventDefault to pointer-events: "none" please?
Sure! @alicanerdurmaz, I'll update it and will let you know!
JFI: I'm planning to do the required changes by this Saturday as it's when I'm free mostly for! I hope that's fine with the release plan!
JFI: I'm planning to do the required changes by this Saturday as it's when I'm free mostly for! I hope that's fine with the release plan!
No problem on our side! Thank you for the response! 🚀 We'll review the changes when they're ready and merge it 🙏
@aliemir I've updated the PR as requested! Let me know if it require any more changes :crossed_fingers:
Hello @Mr0nline thanks for the PR!
Can we update relevant unit tests to test the new behaviour, with & without props?
@BatuhanW Sure but I've haven't quite wrote any tests, So could you guide me on which changes are required and how it should be done or if possible could you please write the tests if it's not much time consuming! It's just that I might not become available till next friday as weekends are almost over in my timezone :disappointed:
Let me know if there's some definitive steps or guide which I can follow to update the test and I'll give it a go :crossed_fingers:
Hello @Mr0nline thanks for the PR! Can we update relevant unit tests to test the new behaviour, with & without props?
@BatuhanW Sure but I've haven't quite wrote any tests, So could you guide me on which changes are required and how it should be done or if possible could you please write the tests if it's not much time consuming! It's just that I might not become available till next friday as weekends are almost over in my timezone 😞
Let me know if there's some definitive steps or guide which I can follow to update the test and I'll give it a go 🤞
Hey @Mr0nline no worries, and thanks for the contribution! We'll release it soon
Thanks @alicanerdurmaz for writing tests! 🙏🏻