-
- Downloads
Add custom warning message when leaving creating/editing a DB connection (#34272)
* 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 * Replace useBeforeUnload with LeaveConfirmationModal in DatabaseEditApp * Refactor DatabaseEditApp.unit.spec.js to TypeScript * Add initialRoute param, return history & add /home route * Add a test case for showing the unsaved changes modal * Add a test case for not showing the unsaved changes modal * Format code * Extend a test case to assert isDirty being properly computed * Remove redundant route * Remove redundant code * Add a test for custom warning modal when saving edited question as a new one * Redirect to databases page on database creation in component so that isDirty flag can re-compute on re-render * Fix mocks setup * Remove redundant withRouter usage * Use waitFor + expect + not.toBeInDocument instead waitForElementToBeRemoved * Add a test case for creating new database connection * Remove redundant promise
Showing
- frontend/src/metabase/actions/containers/ActionCreatorModal/ActionCreatorModal.unit.spec.tsx 5 additions, 14 deletions...iners/ActionCreatorModal/ActionCreatorModal.unit.spec.tsx
- frontend/src/metabase/admin/databases/containers/DatabaseEditApp.tsx 26 additions, 3 deletions...c/metabase/admin/databases/containers/DatabaseEditApp.tsx
- frontend/src/metabase/admin/databases/containers/DatabaseEditApp.unit.spec.tsx 264 additions, 0 deletions.../admin/databases/containers/DatabaseEditApp.unit.spec.tsx
- frontend/src/metabase/admin/databases/database.js 0 additions, 1 deletionfrontend/src/metabase/admin/databases/database.js
- frontend/src/metabase/query_builder/containers/QueryBuilder.unit.spec.tsx 3 additions, 5 deletions...abase/query_builder/containers/QueryBuilder.unit.spec.tsx
- frontend/test/__support__/server-mocks/database.ts 4 additions, 0 deletionsfrontend/test/__support__/server-mocks/database.ts
Please register or sign in to comment