-
- Downloads
Add custom warning message when leaving editing an existing SQL question (#34084)
* Use LeaveConfirmationModal in QueryBuilder * Add isLocationAllowed prop to LeaveConfirmationModal * Do not route-block running modified native question * Fix typo * Introduce explanatory variables * Move updating URL during question creation to QueryBuilder * Schedule navigation to after re-render so that LeaveConfirmationModal prop has a chance to update * Add a test for unsaved changes warning * Introduce useCallbackEffect * Refactor QueryBuilder to use useCallbackEffect * Refactor ActionCreator to use useCallbackEffect * Fix useCallbackEffect typing * Move onSubmit out of the scheduled callback to reduce probability of race conditions * Add comments explaining useCallbackEffect usage * Improve JSDocs * Add a test for running modified question * Update button query to more accessible one * Add a test for saving a modified question * Update test names * Add a test for leaving with no changes * Remove isDirty-related no-change assertions, as isDirty flag does not work reliably - Question.prototype.isDirtyComparedTo would return true because edited "question" would have extra "description: null" attribute and no "name" compared to "originalQuestion" (see "getIsDirty") * Move useCallbackEffect to its own directory * Add test setup for useCallbackEffect * Add a test case for scheduling * Add a test for scheduling callback effect * Do not disable navigation in models - this is a temporary condition until #33793 is implemented * Remove redundant _.noop * Rename isScheduled to isCallbackScheduled * Remove redundant route * Remove redundant code * Add a test for custom warning modal when saving edited question as a new one
Showing
- frontend/src/metabase/actions/containers/ActionCreator/ActionCreator.tsx 19 additions, 16 deletions...tabase/actions/containers/ActionCreator/ActionCreator.tsx
- frontend/src/metabase/components/LeaveConfirmationModal/LeaveConfirmationModal.tsx 11 additions, 3 deletions...ponents/LeaveConfirmationModal/LeaveConfirmationModal.tsx
- frontend/src/metabase/containers/SaveQuestionModal.tsx 6 additions, 1 deletionfrontend/src/metabase/containers/SaveQuestionModal.tsx
- frontend/src/metabase/hooks/use-callback-effect/index.ts 1 addition, 0 deletionsfrontend/src/metabase/hooks/use-callback-effect/index.ts
- frontend/src/metabase/hooks/use-callback-effect/use-callback-effect.ts 41 additions, 0 deletions...metabase/hooks/use-callback-effect/use-callback-effect.ts
- frontend/src/metabase/hooks/use-callback-effect/use-callback-effect.unit.spec.tsx 54 additions, 0 deletions...oks/use-callback-effect/use-callback-effect.unit.spec.tsx
- frontend/src/metabase/query_builder/actions/core/core.js 2 additions, 1 deletionfrontend/src/metabase/query_builder/actions/core/core.js
- frontend/src/metabase/query_builder/containers/QueryBuilder.jsx 76 additions, 30 deletions...nd/src/metabase/query_builder/containers/QueryBuilder.jsx
- frontend/src/metabase/query_builder/containers/QueryBuilder.unit.spec.tsx 215 additions, 9 deletions...abase/query_builder/containers/QueryBuilder.unit.spec.tsx
- frontend/src/metabase/query_builder/selectors.js 6 additions, 4 deletionsfrontend/src/metabase/query_builder/selectors.js
- frontend/test/__support__/server-mocks/card.ts 4 additions, 0 deletionsfrontend/test/__support__/server-mocks/card.ts
Loading
Please register or sign in to comment