Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Aug 07, 2023
  2. Aug 06, 2023
    • Cam Saul's avatar
      QP: use Malli (#32657) · 18c1b198
      Cam Saul authored
      * QP: use Malli
      
      * Fix schema names
      
      * Fix missing namespaces
      
      * Fix busted stuff
      
      * Simplify the new schema
      
      * Test fix :wrench:
      
      * Test fixes :wrench:
      
      * MongoDB fixes :wrench:
      
      * FAST mu/defn
      
      * Malli registry
      
      * Misc fixes
      
      * Some cleanup
      
      * Misc cleanup and test fixes :wrench:
      
      * mu/disable-enforcement
      
      * Test fix
      
      * Fix Cljs version of `disable-enforcement`
      
      * Misc improvements
      
      * Update tests
      
      * Fix Kondo warnings
      
      * Fix Kondo warnings
      
      * Fix busted Malli schema
      
      * PR feedback
      
      * Fix busted schema
      
      * Kondo fixx
      
      * Test fixes :wrench:
      
      * Use Malli version of `describe` now that PR was merged
      
      * Work around https://github.com/metosin/malli/issues/924
      
      * Test fixes :wrench:
      
      * Improvements
      
      * Test fix
      Unverified
      18c1b198
    • Cam Saul's avatar
  3. Aug 04, 2023
  4. Aug 03, 2023
  5. Aug 02, 2023
    • Cam Saul's avatar
      `join-condition-lhs-display-name` should use join condition LHS (#32805) · 2b0a2400
      Cam Saul authored
      * `join-condition-lhs-display-name` should use join condition LHS
      
      * Revert testing context changes
      
      * Appease the whitespace linter
      Unverified
      2b0a2400
    • Cam Saul's avatar
    • Jesse Devaney's avatar
      Enable parameter mapping for heading dash-cards (#32462) · 84537554
      Jesse Devaney authored
      
      * add parameter mapping to heading cards
      
      * update unit tests for new props
      
      * memoize parameter mapped content
      
      * add heading card tests to text parameters spec
      
      * update test descriptions
      
      * add BE for params/substitute_tags
      
      * fix tests
      
      * fix test
      
      * update FE parameter substitution to use optional flag
      
      * heading cards should not escape characters
      
      * add test for dashboard sub
      
      * remove invalid specs -> desired behavior changed
      
      - enabled parameter mapping for heading cards
        - in parameter editing mode, we should display the option to map a parameter to a heading text variable, so we should not display the original text
      
      * fix react hook dependencies
      
      * improve parameterValues type
      
      * refactor E2E test to a unit test
      
      * address nits
      
      * fix spacing
      
      * update types and add unit tests
      
      * fix type errors
      
      ---------
      
      Co-authored-by: default avatarJerry Huang <jhuang37050@gmail.com>
      Unverified
      84537554
    • Cam Saul's avatar
    • Kamil Mielnik's avatar
      [Epic] Allow basic deletes and updates on object detail views - Milestone 1 (#32470) · 338e80ba
      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: default avatarNgoc Khuat <qn.khuat@gmail.com>
      Unverified
      338e80ba
    • Ngoc Khuat's avatar
    • Braden Shepherdson's avatar
      [MLv2] Add `lib.field/add-field` and `remove-field` (#32679) · b24f62e6
      Braden Shepherdson authored
      These are "porcelain" APIs to make FE management of the set of selected
      columns for a query much easier.
      
      `add-field` and `remove-field` will handle regular table fields,
      explicit join fields, and custom expressions correctly.
      
      One known quirk: if the set of `:fields` on a stage happens to match the
      default set, this is *not* noticed or fixed. Once an explicit list is
      set on a stage, it will forever have a list.
      Unverified
      b24f62e6
  6. Aug 01, 2023
  7. Jul 31, 2023
  8. Jul 28, 2023
  9. Jul 27, 2023
  10. Jul 26, 2023
  11. Jul 25, 2023
  12. Jul 24, 2023
  13. Jul 21, 2023
  14. Jul 20, 2023
Loading