This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Aug 06, 2024
-
-
Nemanja Glumac authored
* WIP Open notebook data source in new tab * WIP * Implement the new functionality with `pickerInfo` * Use destructured value * Add the simplest possible E2E test as PoC * Smoke test * Add basic coverage for questions * Add basic coverage for models * Source question has been archived scenario * Add basic permissions test * Expand to the user without wite query permissions * Fix title * Add another permission scenario * Add E2E coverage for a source being native * Add coverage for the native model * Address review comment re: `pickerInfo` * Extract `getUrl` to utils * Add support for the middle/scroll click * Add unit tests * Add a negative test case * Fix title
-
Jeff Bruemmer authored
-
metamben authored
-
Uladzimir Havenchyk authored
-
Alexander Polyankin authored
* Add column_settings migration * Remove old getColumnKey * Remove old getColumnKey * Fix export * Change comment * Change comment * Change comment * Change comment * Add RemoveFieldRefsFromDashboardCardColumnSettings * fix * chore * chore * chore * chore * chore * chore * chore * chore * chore * chore * chore * Fix * Fix * Fix tests * Fix tests * Fix tests * Fix tests * Fix tests * Fix tests * Update loki * Update loki * Fix the homepage dashboard being loaded everywhere * Fix the homepage dashboard being loaded everywhere * Fix tests * Fix tests * Fix tests * Fixes * Fix tests * Fix tests * Fix tests * Fix * Fix * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Fix typo * Fix types * Improve migration performance * Fixes * Revert changes * Revert changes * Revert changes * Revert changes * Remove migration
-
Jeff Bruemmer authored
-
Alexander Polyankin authored
Support both name & field ref-based column keys in viz settings on read and upgrade on write (#46383)
-
dpsutton authored
Fixes #46440 couple things come together here. Bad escaping: The `{` characters are used for format strings and placeholders like ```clojure impl=> (translate "fr" "After {0}" ["Bob"]) "Après Bob" ``` And if you want _literal_ {'s in your translation string, you must escape them like "'{" or "'}" using an apostrophe. But this isn't the end of our worries. in `resources/zh-CN.edn`, we actually have _two_ translations for the original string: ```clojure "User lookup filter. The placeholder '{login'} will be replaced by the user supplied login." "用户找过滤器,占位符 '{login'} 将替换为用户提供的登录名。" ,,, "User lookup filter. The placeholder '{login}' will be replaced by the user supplied login." "用户查找筛选器。占位符“{login}”将替换为用户提供的登录名。" ``` And this later has unescaped curlies. The fix for that is at https://poeditor.com/projects/po_edit?per_page=20&id=200535&id_language=31&filter=&order=&search=User+lookup+filter but will need to wait for the new source translation string in this instance with the corrected escaping. ```clojure ;; simulate what happens at runtime impl=> (translated-format-string "zh_CN" "User lookup filter. The placeholder '{login}' will be replaced by the user supplied login." {}) "用户查找筛选器。占位符“{login}”将替换为用户提供的登录名。" impl=> (MessageFormat. *1 (locale "zh_CN")) Execution error (NumberFormatException) at java.lang.NumberFormatException/forInputString (NumberFormatException.java:67). For input string: "login" ;; the problematic zh-CN string impl=> (MessageFormat. "用户查找筛选器。占位符“{login}”将替换为用户提供的登录名。") Execution error (NumberFormatException) at java.lang.NumberFormatException/forInputString (NumberFormatException.java:67). For input string: "login" ;; minimal reproduction impl=> (MessageFormat. "“{login}”") Execution error (NumberFormatException) at java.lang.NumberFormatException/forInputString (NumberFormatException.java:67). For input string: "login" ```
-
Chris Truter authored
-
Raphael Krut-Landau authored
-
Uladzimir Havenchyk authored
-
Denis Berezin authored
-
Oleksandr Yakushev authored
-
Chris Truter authored
-
Oleksandr Yakushev authored
* perf: Optimize validation * Bump Malli version * perf: Optimize validation
-
- Aug 05, 2024
-
-
Oleksandr Yakushev authored
-
Ngoc Khuat authored
-
Uladzimir Havenchyk authored
-
Case Nelson authored
* fix: mongo ObjectId should be orderable Fixes #46259 Mongo ObjectId derive :type/TextLike but that can't be an orderable type, so we mark the specific Mongo type as orderable for malli schemas. * Fix test
-
Sloan Sparger authored
* prevents users from moving items to the trash if they are in the trash already and archives instead of moves in cases where item is moved to or from the trash * reverts detecting if dragging in or out of the trash not setting the collection id, this will be prevented on the BE instead * adds test coverage for dragging and dropping items to/from/within the trash (one of which is failing until we can make a BE change) * Throw away `collection_id` when marking archived This is a hack around a frontend issue. Apparently, the undo functionality depends on calculating a diff between the current state and the previous state. Sometimes this results in the frontend telling us to *both* mark an item as archived *and* "move" it to the Trash. Let's just say that if you're marking something as archived, we throw away any `collection_id` you passed in along with it. --------- Co-authored-by:
John Swanson <john.swanson@metabase.com>
-
Ryan Laurie authored
-
Alexander Solovyov authored
mt/with-temp opens transaction which is used by toucan to make requests, so `mt/with-db` had no impact on database used inside of mt/with-temp
-
Chris Truter authored
### Description This change should fix some explosions in stats due to phantom fields, while also making things a bit more rigorous. - Record the table schema in query_field - especially useful for unknown tables - Allow null table names in query_field - they might be phantoms, or they might not - We still have the option to filter them out in tools we build on top - Tighten up matching logic to consider schema
-
Mahatthana (Kelvin) Nomsawadi authored
* Update popover dark theme on part of ParameterFieldWidget (#45813) * Add filter visual tests * Simplify embed CSS colors * [WIP] theme filter popover * Move theme to global node, so it affects portal too * Fix embed colors * Theme part of ParameterFieldWidget * Add story for parameter with dropdown * Update loki snapshots * Update more popover style * Update loki snapshots * Remove outdated snapshots * Update loki snapshots with production build * Fix loki not working with `userEvent` * Theme mantine popover * Improve dark theme text-brand visibility * Update loki snapshots from master change * Fix new colors not working in SDK * Fix flaky Loki tests * Filter popover dark theme part 2 (#46284) * Theme Date all options * wip add month and year filter * Fix wrong CSS custom property declaration * Test hover state * Update Loki snapshots * Theme date month and year * Add quarter and year tests * Theme date single and date range * Style relative date * Update frontend/src/metabase/admin/datamodel/components/filters/pickers/DatePicker/DatePickerHeader.styled.tsx Co-authored-by:
Denis Berezin <denis.berezin@metabase.com> --------- Co-authored-by:
Denis Berezin <denis.berezin@metabase.com> * Complete theming filter popover night mode (#46365) * Style unit of time and number widget * Attempt to fix flaky Loki snapshots * Address white background checkbox on dark theme * Style search filter single value * Fix mis color * Update snapshots * Remove duplication on play functions since they're long * Milestone 2 polishing (#46382) * Matches the footer padding with header padding * Update snapshots * Add E2E to prevent further problem * Try to reduce flaky Loki tests * Remove unused color shades (#46421) * Update no results illustration to work better on dark theme * Update loki snapshots --------- Co-authored-by:
Denis Berezin <denis.berezin@metabase.com>
-
Kamil Mielnik authored
* Refactor dashboard helpers to TypeScript * Reuse existing helper * Refactor cy.createQuestionAndDashboard to a function helper - there was no good place to put it, so I also created new helpers/api directory - and I moved all helpers using cy.request (with 1 exception, where a CSV download helper also does a bunch of assertions) in there * Merge TS command definitions into a single file * Export types * Make dashboardDetails optional * Export StructuredQuestionDetails * Remove duplicated function * Extract createNativeQuestion to separate file - 1 exported helper per file, no exceptions! * Reuse const * Add test for unit of time parameters * Improve assertions * Extract createDashboardWithParameters * Add tests for time parameters * Fix hardcoded parameter_mappings ids * Format code * Extract checkButtonVisible * Improve test names * Add tests for location parameters * Reuse const * Update test name * Add WidgetStatusButton * Add unit tests for WidgetStatusButton * Rename handler * Remove redundant assertions * Add iconSize prop * Fix styling * Replace WidgetStatusIcon with WidgetStatusButton - Remove WidgetStatusIcon * Fix tooltip issue * Fix tooltip for good * Use default compact button size * Prevent overflow * Fix alignment issues in parameter sidebar - Remove iconSize prop - Simplify StatusConfig * Update padding in Unit of Time input to make it consistent with other inputs in dashboard parameter sidebar * Update unit tests * Rename WidgetStatusButton to WidgetStatus * Explicitly specify what is a button * Update helpers in tests * Update when buttons are displayed according to the new spec, update tests * Simplify label * Remove utils * Adjust padding * Update reset icon * Make the button gray when color is undesired * Remove old definitions * Add missing export * Remove unused type * Add test for location (single value) * Add test for id (single value) * Add more assertions * Add test for id (multiple values) * Improve name * Add tests for number (single and multi value) * Add tests for text (single and multi value) * Rename file * Update comment * Update test name * Use unique ids * Use new color name * Add a test for chevron icons alignment * Lift className up * Make types more specific * Sort attributes * Revert "Make types more specific" This reverts commit 2e6994b5. * Revert "Use new color name" This reverts commit 2cc68df6. * Remove TODO * Introduce editFilter util, refactor chevron assertions to work with any number of chevrons * Connect label to the default value input in ParameterSettings * Add a whitespace in the default value label when required "(required)" is shown * Add parameter sidebar tests for unit of time * Add parameter sidebar tests for date filters * Extract checkParameterSidebarDefaultValue * Add parameter sidebar tests for location - single values * Add parameter sidebar tests for location - multiple values * Use constants for test case names * Add parameter sidebar tests for id parameters - single values * Add parameter sidebar tests for id parameters - multi values * Add parameter sidebar tests for number parameters - single values * Add parameter sidebar tests for number parameters - multi values * Add parameter sidebar tests for text parameters - single values * Add parameter sidebar tests for text parameters - multi values * Extract checkDashboardFilters * Use checkDashboardFilters in time parameters * Use checkParameterSidebarDefaultValue in checkDashboardFilters * Use checkDashboardFilters everywhere * Sort helpers * Rename checkDashboardFilters to checkDashboardParameters * Rename checkOnlyOneButtonVisible to checkStatusIcon * Add test suite for sql filters, coverage for text filter - single value * Add a whitespace in the default value label when required "(required)" is shown - SQL filters - Similar to 930dd3a5 * Add test suite for sql filters, coverage for number filters * Add test for sql filters - date * Remove unused things, rename placeholder to labelOrPlaceholder * Apply label only to 1 input * Add test for sql filters - field parameters * Fix date tests * Make all sql filters tests work * Add assertions for required without default in text filters * Add assertions for required without default in date filters * Add assertions for required without default in field filters * Allow clearing required SQL filters without default value * Add a test to ensure comma-separated numeric values work * Update unit test * Update helper * Update e2e tests * Use != null and == null checks with defaultValue instead of just checking if its truthy/falsy * Run `yarn test-visual:loki` and then `yarn loki approve` - see https://metaboat.slack.com/archives/C505ZNNH4/p1721289287037069 * Add button boilerplate * Add getCanResetFilters selector * Move canResetFilters to utils * Add explicit return types * Implement the button action * Rename * Simplify action * Optimize: use single action * Use parameterHasNoDisplayValue to account for empty strings * Run `yarn test-visual:loki` and then `yarn loki approve` after merging master - see https://metaboat.slack.com/archives/C505ZNNH4/p1721289287037069 * Rename getHiddenParameterSlugs to getTabHiddenParameterSlugs * Take all tabs into account * Add unit tests for canResetFilter * Format test name * Fix non-human-friendly aria-label * Add assertions for "Reset all filters" button's visibility * Unnest helpers from describe * Add a test for comma-separated values * Improve typing * Fix typing * Add tests for multiple tabs and auto-apply-filters on/off * Improve test name * Remove redundant util * Remove redundant condition * Verify card results get filtered * Test that all tabs are affected * Fix test case with autoApplyFilters: false * Add tests for resetting to default value * Fix wrong initial state in reduce * Fix updated parameters not being applied * Add reset all filters assertions * Remove unused attribute * Run `yarn test-visual:loki` and then `yarn loki approve` - see https://metaboat.slack.com/archives/C505ZNNH4/p1721289287037069 * Run `yarn test-visual:loki` and then `yarn loki approve` - see https://metaboat.slack.com/archives/C505ZNNH4/p1721289287037069
-
Kamil Mielnik authored
* Refactor dashboard helpers to TypeScript * Reuse existing helper * Refactor cy.createQuestionAndDashboard to a function helper - there was no good place to put it, so I also created new helpers/api directory - and I moved all helpers using cy.request (with 1 exception, where a CSV download helper also does a bunch of assertions) in there * Merge TS command definitions into a single file * Export types * Make dashboardDetails optional * Export StructuredQuestionDetails * Remove duplicated function * Extract createNativeQuestion to separate file - 1 exported helper per file, no exceptions! * Reuse const * Add test for unit of time parameters * Improve assertions * Extract createDashboardWithParameters * Add tests for time parameters * Fix hardcoded parameter_mappings ids * Format code * Extract checkButtonVisible * Improve test names * Add tests for location parameters * Reuse const * Update test name * Add WidgetStatusButton * Add unit tests for WidgetStatusButton * Rename handler * Remove redundant assertions * Add iconSize prop * Fix styling * Replace WidgetStatusIcon with WidgetStatusButton - Remove WidgetStatusIcon * Fix tooltip issue * Fix tooltip for good * Use default compact button size * Prevent overflow * Fix alignment issues in parameter sidebar - Remove iconSize prop - Simplify StatusConfig * Update padding in Unit of Time input to make it consistent with other inputs in dashboard parameter sidebar * Update unit tests * Rename WidgetStatusButton to WidgetStatus * Explicitly specify what is a button * Update helpers in tests * Update when buttons are displayed according to the new spec, update tests * Simplify label * Remove utils * Adjust padding * Update reset icon * Make the button gray when color is undesired * Remove old definitions * Add missing export * Remove unused type * Add test for location (single value) * Add test for id (single value) * Add more assertions * Add test for id (multiple values) * Improve name * Add tests for number (single and multi value) * Add tests for text (single and multi value) * Rename file * Update comment * Update test name * Use unique ids * Use new color name * Add a test for chevron icons alignment * Lift className up * Make types more specific * Sort attributes * Revert "Make types more specific" This reverts commit 2e6994b5. * Revert "Use new color name" This reverts commit 2cc68df6. * Remove TODO * Introduce editFilter util, refactor chevron assertions to work with any number of chevrons * Connect label to the default value input in ParameterSettings * Add a whitespace in the default value label when required "(required)" is shown * Add parameter sidebar tests for unit of time * Add parameter sidebar tests for date filters * Extract checkParameterSidebarDefaultValue * Add parameter sidebar tests for location - single values * Add parameter sidebar tests for location - multiple values * Use constants for test case names * Add parameter sidebar tests for id parameters - single values * Add parameter sidebar tests for id parameters - multi values * Add parameter sidebar tests for number parameters - single values * Add parameter sidebar tests for number parameters - multi values * Add parameter sidebar tests for text parameters - single values * Add parameter sidebar tests for text parameters - multi values * Extract checkDashboardFilters * Use checkDashboardFilters in time parameters * Use checkParameterSidebarDefaultValue in checkDashboardFilters * Use checkDashboardFilters everywhere * Sort helpers * Rename checkDashboardFilters to checkDashboardParameters * Rename checkOnlyOneButtonVisible to checkStatusIcon * Add test suite for sql filters, coverage for text filter - single value * Add a whitespace in the default value label when required "(required)" is shown - SQL filters - Similar to 930dd3a5 * Add test suite for sql filters, coverage for number filters * Add test for sql filters - date * Remove unused things, rename placeholder to labelOrPlaceholder * Apply label only to 1 input * Add test for sql filters - field parameters * Fix date tests * Make all sql filters tests work * Add assertions for required without default in text filters * Add assertions for required without default in date filters * Add assertions for required without default in field filters * Allow clearing required SQL filters without default value * Add a test to ensure comma-separated numeric values work * Update unit test * Update helper * Update e2e tests * Use != null and == null checks with defaultValue instead of just checking if its truthy/falsy * Run `yarn test-visual:loki` and then `yarn loki approve` - see https://metaboat.slack.com/archives/C505ZNNH4/p1721289287037069 * Use parameterHasNoDisplayValue to account for empty strings * Run `yarn test-visual:loki` and then `yarn loki approve` after merging master - see https://metaboat.slack.com/archives/C505ZNNH4/p1721289287037069 * Run `yarn test-visual:loki` and then `yarn loki approve` - see https://metaboat.slack.com/archives/C505ZNNH4/p1721289287037069 * Run `yarn test-visual:loki` and then `yarn loki approve` - see https://metaboat.slack.com/archives/C505ZNNH4/p1721289287037069
-
Romeo Van Snick authored
* Make number also have custom parameter values * Render the correct label in the dropdown for number inputs * Mock paramter values endpoint in number input test * Add test for custom labels on number input * Fix number input test * Allow entering comma separated values using labels * Only show custom labels in popover * Use getLabel and getValue helpers to avoid indexing confusion * Remove calls to parameter endpoints for number input * Do not parse the value from the label * Add support for number parameters in the source picker modal * Filter number values * Add e2e test for number parameters with custom source * Remove card option for number parameters * Set the correct initial value for number parameters without fields * Do not render number parameter as search box when it is a list * Fix e2e tests for number lists * Remove e2e tests for card source dashboard filters * Add tests for native filter custom source * Show the dropdown when picking the default value for number parameters * Clear values_source_config when changing parameter type * Restore a parameters' values_source_config when changing the parameter type back * Clear and restore values_source_config for template tags when chaning type * Add e2e test for restoring of template tag sources_value_config * Add e2e test for clear and restore of static-list for dashboard parameters * Fix input type for numbers * Fix broken test * Display labels for ParameterValuePicker too * Clear and restore values_source_type when changing parameter type * Clear and restore values_source_type for tag parameters * Clear and restore values_query_type when changing parameter type * Clear and restore value_query_type for parameters tags * Update tests to test for reset to also apply to values_source_config and values_query_type
-
Emmad Usmani authored
* add both option for pie chart percentages * create story snapshot
-
- Aug 04, 2024
-
-
Radosław Kotkiewicz authored
-
- Aug 02, 2024
-
-
Emmad Usmani authored
* add pie.decimal_places setting * add unit spec * add stories * Update Loki Snapshots * add placeholder text --------- Co-authored-by:
Metabase Automation <github-automation@metabase.com>
-
Aleksandr Lesnenko authored
* fix pivot table missing horizontal scroll * spec * Update Loki Snapshots --------- Co-authored-by:
Metabase Automation <github-automation@metabase.com>
-
Ryan Laurie authored
* YOLO * fix a lot of tests * fix more tests * fix unit tests * remove comment * update tests and formatting * add debug code * remove debug code
-
Sloan Sparger authored
-
Raphael Krut-Landau authored
-
Raphael Krut-Landau authored
-
Alexander Polyankin authored
-
Sloan Sparger authored
* wip * moves code to enterprise folder, adds enterprise guards, updates conditionals as to when to show the feature * impls filter date logic, improves styling, mocks out real endpoint with collection items endpoint, updates table with isLink boolean rath er than using custom item renderer, removes dead code * use the actual url for stale * so many things... updated design, custom table component, polish, misc. refactors, more correct api typing * updates to pagination component and reverts some now unused changes to the base items table * impls pr feedback * fixes * fixes failing unit test * completes pr feedback from raffi * implements second round of feedback from raffi * adds tests and couple of small fixes / feedback * migrate clean up action to enterprise plugin and fix related e2e test, also skip the collection items count query when we do not need the value * finish main base case e2e test * clean up helper code for manual testing and add OSS test to make sure feature is not available in OSS * better handling of min-height on smaller screens * adds internal undo notification for bulk archiving in the clean up modal * reset pagination when items are archived/unarchived to keep users from getting stuck on a page beyond the current view * pr feedback * further cleanup * unit test fix * fixes issue where archiving all items in the modal and then undoing does not result in the stale items list getting refetched --------- Co-authored-by:
John Swanson <john.swanson@metabase.com>
-
Emmad Usmani authored
-
Ryan Laurie authored
* hide notebook button for brand new questions * test notebook button visibility for new questions * move brand new check inside shouldRender * test embedding SDK notebook button * update unit tests * add spy to shouldRender
-
John Swanson authored
* Fix coll permissions for audit collection We've had a function in `models.collection` for a while that has taken a permissions set and returned a set of collection IDs that the user has permissions on. I refactored this recently, but didn't notice that it was actually doing the permissions checks slightly incorrectly. Specifically, because it only looks at the user's permissions and the collection IDs and doesn't use `mi/can-read?` or `mi/can-write?`, it's completely indifferent to whether a collection is an audit collection or not. This is arguably not a *permissions* issue: the two errors that could come about here are: - someone sees the audit collection even though the audit feature is disabled, or - someone is presented with the audit collection in a context where only writable collections should be present - when they try to actually write to it, it fails (since then we're doing the real permissions check). The primary motivation for this fix was to prevent audit dashboards and cards from appearing in the list of stale items. * Fix hardcoded collection ID We were creating a timeline in a fixed collection ID, that in tests happened to be the ID of the Metabase Analytics collection.
-