An error occurred while fetching folder content.
Kamil Mielnik
authored
* Add actions dropdown to object detail modal (#32331) * Rename showActions to showControls * Use Flex * Import Flex from local modules * Make horizontalAttachments a prop in EntityMenu * Use EntityMenu to create actions dropdown * Render actions menu conditionally * Add useActionListQuery * Fetch actions in ObjectDetailHeader * Remove unused canRunActions prop * Move logic to root component * Fix tests * Use canRunAction and fetch databases in ObjectDetail view * Rename actions to actionItems and getActions to getActionItems * Extract getActionItems to utils * Update tests * Rename modelActions to actions * Extract isValidImplicitDeleteAction and isValidImplicitUpdateAction out of getActionItems * Consolidate getActionItems * Use theme scale values for Mantine Flex component * Either render all controls or none * Fix default props/state in EntityMenu * Fix props * Update ObjectDetail unit tests * Add unit tests for isValidImplicitDeleteAction and isValidImplicitUpdateAction * Update tests with more specific non-implicit action cases * Use singular form to match function interface * Add unit tests for getActionItems * Update test case name * Avoid using Database constructor - Use metadata.database() instead * Add integration tests for basic cases when action menu is rendered and not * Fix post-merge error * Endpoint to fetch implicit actions param values (#32466) * Add default update action to actions dropdown in object detail modal (#32433) * Rename showActions to showControls * Use Flex * Import Flex from local modules * Make horizontalAttachments a prop in EntityMenu * Use EntityMenu to create actions dropdown * Render actions menu conditionally * Add useActionListQuery * Fetch actions in ObjectDetailHeader * Remove unused canRunActions prop * Move logic to root component * Fix tests * Use canRunAction and fetch databases in ObjectDetail view * Rename actions to actionItems and getActions to getActionItems * Extract getActionItems to utils * Update tests * Rename modelActions to actions * Extract isValidImplicitDeleteAction and isValidImplicitUpdateAction out of getActionItems * Consolidate getActionItems * Use theme scale values for Mantine Flex component * Either render all controls or none * Fix default props/state in EntityMenu * Fix props * Update ObjectDetail unit tests * Add unit tests for isValidImplicitDeleteAction and isValidImplicitUpdateAction * Update tests with more specific non-implicit action cases * Use singular form to match function interface * Add unit tests for getActionItems * Update test case name * Sort imports * Rename initialValues to values * Rename dashcardParamValues to initialValues * Lift fetchInitialValues up from ActionParametersInputForm * Rename refetchValues to prefetchValues * Fix tests * Refactor shouldPrefetch to be a prop * Get rid of dashboard and dashcard props from ActionParametersInputForm * Lift the canPrefetch condition up as it is not desired outside of dashboards * Hook update action with temporary API * Use executeActionId in fetchInitialValues * Fix post-merge conflict * Rename prefetchValues to prefetchDashcardValues * Use the new endpoint * Use rem values instead of scale values - See https://github.com/metabase/metabase/pull/32331#discussion_r1267827835 * Lift data reloading out of executeRowAction * Add onSuccess prop to ActionExecuteModal * Use onSubmitSuccess from ActionParametersInputForm * Reload question after action is successful * Fix stale prop issues in ActionParametersInputForm * Fix object id in initialValues * Add prefetchesInitialValues prop to make useActionForm more generic * Ignore public actions for now * Fix id mixup * Update unit test * Remove redundant memoization * Use modern JS syntax instead of noop * Move getNextId to __support__/utils * Extract isImplicitDeleteAction & isImplicitUpdateAction * Reuse isImplicitDeleteAction * Log error to console * Get rid of useLatest * Fix post-merge build error * Add default delete action to actions dropdown in object detail modal (#32556) * Rename showActions to showControls * Use Flex * Import Flex from local modules * Make horizontalAttachments a prop in EntityMenu * Use EntityMenu to create actions dropdown * Render actions menu conditionally * Add useActionListQuery * Fetch actions in ObjectDetailHeader * Remove unused canRunActions prop * Move logic to root component * Fix tests * Use canRunAction and fetch databases in ObjectDetail view * Rename actions to actionItems and getActions to getActionItems * Extract getActionItems to utils * Update tests * Rename modelActions to actions * Extract isValidImplicitDeleteAction and isValidImplicitUpdateAction out of getActionItems * Consolidate getActionItems * Use theme scale values for Mantine Flex component * Either render all controls or none * Fix default props/state in EntityMenu * Fix props * Update ObjectDetail unit tests * Add unit tests for isValidImplicitDeleteAction and isValidImplicitUpdateAction * Update tests with more specific non-implicit action cases * Use singular form to match function interface * Add unit tests for getActionItems * Update test case name * Sort imports * Rename initialValues to values * Rename dashcardParamValues to initialValues * Lift fetchInitialValues up from ActionParametersInputForm * Rename refetchValues to prefetchValues * Fix tests * Refactor shouldPrefetch to be a prop * Get rid of dashboard and dashcard props from ActionParametersInputForm * Lift the canPrefetch condition up as it is not desired outside of dashboards * Hook update action with temporary API * Use executeActionId in fetchInitialValues * Fix post-merge conflict * Rename prefetchValues to prefetchDashcardValues * Use the new endpoint * Use rem values instead of scale values - See https://github.com/metabase/metabase/pull/32331#discussion_r1267827835 * Lift data reloading out of executeRowAction * Add onSuccess prop to ActionExecuteModal * Use onSubmitSuccess from ActionParametersInputForm * Reload question after action is successful * Fix stale prop issues in ActionParametersInputForm * Fix object id in initialValues * Add prefetchesInitialValues prop to make useActionForm more generic * Ignore public actions for now * Fix id mixup * Update unit test * Add DeleteObjectModal * Introduce useActionQuery * Use useActionQuery in DeleteObjectModal * Hook action execution * Fix typo in copy * Sort exports * Remove redundant memoization * Use modern JS syntax instead of noop * Move getNextId to __support__/utils * Extract isImplicitDeleteAction & isImplicitUpdateAction * Reuse isImplicitDeleteAction * Fix object modal getting closed with Escape key when delete or update modals are open * Rename isUpdateModalOpen to isActionExecuteModalOpen, updateActionId to actionId * Navigate to sibling row or close the modal on deletion * Revert "Navigate to sibling row or close the modal on deletion" This reverts commit 8b24685eee5cd968f53cc14b7194a66588fb5845. * Close object detail on deletion * Add error handling * Add error handling * Greatly simplify DeleteObjectModal - remove useActionQuery usage - remove useActionQuery - remove DeleteObjectModal.styled.tsx * Improve diff * Shorten code * Always cast objectId to number - See https://metaboat.slack.com/archives/C057T1QTB3L/p1690292706101109?thread_ts=1690279562.697669&cid=C057T1QTB3L "the reason you’re not seeing it fail on the sample dataset is probably because you’re using h2 for sample-dataset. it’ll fail the same if you use a postgres one. h2 is probably more loose in type so it allows sending a string for id. nevertheless, I think you can use cast it to the correct type using the param type. I think we did that on the UI where we execute actions from model details page." * Inline disabled into JSX * Use a more friendly error message when failed to delete an object because it's referenced by other objects - See: https://metaboat.slack.com/archives/C057LE0Q4PQ/p1690377421352469?thread_ts=1690208614.530869&cid=C057LE0Q4PQ * Revert "Use a more friendly error message when failed to delete an object because it's referenced by other objects" This reverts commit 28327ac9b53ae92300e579d047b7f136d54e581e. Friendly message is going to be implemented in https://github.com/metabase/metabase/issues/32694 * Rename initialValues back to dashcardParamValues in ActionVizForm * Tests for basic deletes and updates on object detail views (#32525) * Rename showActions to showControls * Use Flex * Import Flex from local modules * Make horizontalAttachments a prop in EntityMenu * Use EntityMenu to create actions dropdown * Render actions menu conditionally * Add useActionListQuery * Fetch actions in ObjectDetailHeader * Remove unused canRunActions prop * Move logic to root component * Fix tests * Use canRunAction and fetch databases in ObjectDetail view * Rename actions to actionItems and getActions to getActionItems * Extract getActionItems to utils * Update tests * Rename modelActions to actions * Extract isValidImplicitDeleteAction and isValidImplicitUpdateAction out of getActionItems * Consolidate getActionItems * Use theme scale values for Mantine Flex component * Either render all controls or none * Fix default props/state in EntityMenu * Fix props * Update ObjectDetail unit tests * Add unit tests for isValidImplicitDeleteAction and isValidImplicitUpdateAction * Update tests with more specific non-implicit action cases * Use singular form to match function interface * Add unit tests for getActionItems * Update test case name * Sort imports * Rename initialValues to values * Rename dashcardParamValues to initialValues * Lift fetchInitialValues up from ActionParametersInputForm * Rename refetchValues to prefetchValues * Fix tests * Refactor shouldPrefetch to be a prop * Get rid of dashboard and dashcard props from ActionParametersInputForm * Lift the canPrefetch condition up as it is not desired outside of dashboards * Hook update action with temporary API * Use executeActionId in fetchInitialValues * Fix post-merge conflict * Rename prefetchValues to prefetchDashcardValues * Use the new endpoint * Use rem values instead of scale values - See https://github.com/metabase/metabase/pull/32331#discussion_r1267827835 * Lift data reloading out of executeRowAction * Add onSuccess prop to ActionExecuteModal * Use onSubmitSuccess from ActionParametersInputForm * Reload question after action is successful * Fix stale prop issues in ActionParametersInputForm * Fix object id in initialValues * Add prefetchesInitialValues prop to make useActionForm more generic * Add test cases for other types of actions * Ignore public actions for now * Add e2e test for actions in object detail view * Add second step and extract helpers * Remove duplication by changing hierarchy * Add step with enabling model actions * Fix visiting model page * Remove redundant code * Ignore public actions for now * Fix id mixup * Update unit test * Add objectId argument and function to open the modal * Define whole order object to reuse * Implement assertOrderFormPrefilled * Assert Created At * Add assertion to check whether object with new id has been reloaded * Use all caps for constants * Verify updating an object * Fix test name * Assert toast is shown on update * Format code * Use writable tables instead of sample db to avoid persisting updates between tests - do not mock objects, assert against whatever comes from API * Format code to wake GitHub up * Add DeleteObjectModal * Introduce useActionQuery * Use useActionQuery in DeleteObjectModal * Hook action execution * Fix typo in copy * Sort exports * Remove redundant memoization * Use modern JS syntax instead of noop * Move getNextId to __support__/utils * Extract isImplicitDeleteAction & isImplicitUpdateAction * Reuse isImplicitDeleteAction * Fix object modal getting closed with Escape key when delete or update modals are open * Rename isUpdateModalOpen to isActionExecuteModalOpen, updateActionId to actionId * Navigate to sibling row or close the modal on deletion * Revert "Navigate to sibling row or close the modal on deletion" This reverts commit 8b24685eee5cd968f53cc14b7194a66588fb5845. * Close object detail on deletion * Add error handling * Add error handling * Greatly simplify DeleteObjectModal - remove useActionQuery usage - remove useActionQuery - remove DeleteObjectModal.styled.tsx * Improve diff * Shorten code * Rename initialValues back to dashcardParamValues in ActionVizForm * Extract assertScoreUpdatedInTable * Extract visitModelDetail * Add deletion and toast assertion * Remove unused arguments * Assert delete failed * Update tests order after starting with writable db * Move assertions to beginning of the test, remove enableDatabaseActions * Test disabling model actions * Add extra assertion * Update names * Update the deletion assertion * Remove unused code * Wrap tests in another describe, setup dashboard test * Fix setup, use asAdmin util * Add assertion for dashboard object view * Update test names * Extract actions to a constant * Add test to open update object modal * Update assertion order * Add test to open delete object modal * Organize tests * Add a test case for implicit public delete action & implicit archived delete action * Remove redundant async * Reuse findActionInActionMenu * Remove redundant constant * Fix tests * Add a test case for databases with disabled actions * Update wording * Use dataset instad of a query question * Revert name change as it does not make sense * Format code * Add a test case for users with no write permission * Add a test case for when showControls is false * Add a test case for models with clauses * Use metadata.question() instead of new Question() * Tests for various number of PKs in a model (#32784) * Add a test case for 0 PKs in a model * Add a test case for 2 PKs in a model * Improve test names * Fix typo * Use plural form for "PK" --------- Co-authored-by:Ngoc Khuat <qn.khuat@gmail.com>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Name | Last commit | Last update |
---|---|---|
.. |