This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Feb 07, 2024
-
-
Anton Kulyk authored
* Convert `addDashCardToDashboard` to TypeScript * Convert `addCardToDashboard` to TypeScript * Convert `addMarkdownDashCardToDashboard` to TypeScript * Convert `addHeadingDashCardToDashboard` to TypeScript * Convert `addLinkDashCardToDashboard` to TypeScript * Convert misc actions to TypeScript * Fix types * Move card utils to `metabase/dashboard/utils` * Improve types * Exclude `undefined` from `dashboard_tab_id` type
-
Emmad Usmani authored
-
Uladzimir Havenchyk authored
* Apply performance tweaks during dashboard editing * Revert one change for tests * Fix unit test * reapply fix * Try another improvement * Revert "Adding cache stats to metabase.lib.cache" This reverts commit dc32be74. * Fix unit test * More question caching * Revert "Revert "Adding cache stats to metabase.lib.cache"" This reverts commit 4eea6a12. * Cache questions * Pass object * Reuse questions * Fix unit tests * Fix unit tests * Resolve conflicts * Reuse questions in autowire * fix typecheck * json.stringify -> toString * naming cleanup * Support multi-series dashboards * cleanup * cleanup * Fix typecheck * Use only unique targets * Address comments
-
Romeo Van Snick authored
Add HoverCard to metabase/ui and converts FieldInfoPopover to make use of it. Add DelayGroup helper, which can be used to make sure there are no delays when hovering similar items in the same group.
-
Anton Kulyk authored
-
Nemanja Glumac authored
* Remove unused `canRemove` method from `Aggregation` prototype * Remove unused `clean` method from the `StructuredQuery` prototype * Remove unused `cleanNesting` method from the `StructuredQuery` prototype * Remove unused `_cleanEmpty` method from the `StructuredQuery` prototype * Remove unused private methods from the `StructuredQuery` prototype - cleanJoins - cleanExpressions - cleanFilters - cleanFields And the underlying - _cleanClauseList * Remove `clean` method from `NativeQuery` and `Query` prototypes
-
Anton Kulyk authored
* Add standalone `VirtualDashboardCard` type * Rename `DashboardCard` to `QuestionDashboardCard` * Add new `DashboardCard` type * Move `ActionDashboardCard` type def to dashboard types file * Rename `isQuestionDashCard` type guard * Fix `isQuestionDashCard` type guard * Avoid type-casting for `getVisualizationRaw` * Use type guard for dashcard `series` attr * Avoid type casting in parameter mapping utils * Fix type casting
-
Nemanja Glumac authored
* Remove unused `clearSegments` utils * Remove unused `clearFilters` utils * Remove unused `clearAggregations` utils * Remove unused `clearExpressions` utils * Remove unused `hasValidBreakout` method from the `StructuredQuery` The util with the same name was defined in `metabase-lib/queries/utils/`
-
Luis Paolini authored
add a comment about enterprise version
-
Mahatthana (Kelvin) Nomsawadi authored
* Fix ESlint from the result of upgrading ESLint package * Support `component` prop on Mantine * Prevent accidental ESLint log in Cypress * Upgrade ESLint rule
-
- Feb 06, 2024
-
-
metamben authored
* Implement filtering cards by segment or metric ID Fixes #37688.
-
Uladzimir Havenchyk authored
-
Jeff Bruemmer authored
-
Cam Saul authored
* MLv2 MetadataProviders should know if they are equal * PR feedback
-
Jeff Bruemmer authored
-
Jeff Bruemmer authored
-
Jeff Bruemmer authored
-
Nemanja Glumac authored
* Add `visitDashboardAlias` E2E helper * Overload `visitDashboard` helper It should work with either dashboard id, or with a dashboard id alias. * PoC: Use overloaded `visitDashboard` helper * Update even more tests with the overloaded `visitDashboard` helper * Use `cy.visit` for tests with `cy.clock` instead of a custom helper * Rename non-exported functions
-
Alexander Solovyov authored
-
Mahatthana (Kelvin) Nomsawadi authored
* Keep preview when toggling between code/preview in each tab * Persist preview across tabs * [WIP] don't reload embed preview when changing appearance TODO: - Fix font loading * Allow changing Static/public embedding font on the fly * Use 2-way dashboard state/URL hash syncing to avoid failing tests * Fix E2E tests after dashboard preview doesn't reload on every change * Use an existing util * Fix test name * Add tests to ensure preview doesn't rerender unnecessarily * Fix dashboard embed preview reload when it shows parameters * Review: Comment code for clarity * Fix tests after fixing the preview In Cypress
-
Cal Herries authored
-
Uladzimir Havenchyk authored
-
Nemanja Glumac authored
-
lbrdnk authored
* tmp: patched monger for 4.11.1 mongo java driver * tmp: Update monger utils Aggregation probably wont work now, but we are not using those from monger anyway. With this change in place I'm able to load needed namespaces and create test-data dataset successfully. Commit contains lot of condo errors that should be resolved while porting. * WIP: Monger removed in favor of java driver wrapper * Update java driver wrapper * Update srv test * Update comments * Use non keywordized run-command for `dbms-version` * Fix according to e2e tests * Cleanup * Separate `java-driver-wrapper` into multiple namespaces * Fix semantic type inference for serialized json * Fix options for run-command * Cleanup json namespace * Cleanup conversion namespace * Cleanup operators * Update kondo in operators ns * Cleanup connection namespace * Cleanup mongo namespace * Cleanup util namespace * Add todo * Move session related code to util * Cleanup database namespace * Update docstring for conn string generation * Update docstrings * Update tests * Update linter for with macros * Update modules/drivers/mongo/src/metabase/driver/mongo/connection.clj Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com> * Update modules/drivers/mongo/src/metabase/driver/mongo/connection.clj Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com> * Use transient in from-document for building a map Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com> * Update can-connect to use let form - Avoid nested `with-mongo-database` call. - Avoid creating a set used for searching for database name. * Remove redundant set use from describe-database * Change from-document keywordize default to false * Remove log message translation * Update maybe-add-ssl-context-to-builder! to always return builder * Indent from-document * Remove redundant ConvertToDocument extensions * Use oredered-map in do-find's sort * Use ex-info in details-normalized * Add imports and update comment in execute ns * Update fixme comment * Pass opts instead of a selection to from-document in do-find * Avoid unnecessary double dot call * Update connection test ns according to review remarks * Make tests parallel * Docstring update * Update docstring --------- Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com>
-
Kamil Mielnik authored
* Add new Question.prototype.setDefaultDisplay boilerplate - rename old one to _setDefaultDisplay * Handle native queries * Handle table & scalar displays * Add aggregationColumn wrapper * Add breakoutColumn wrapper * Add semanticType to ColumnDisplayInfo * Add skeleton for the rest of setDefaultDisplay * Add effectiveType to ColumnDisplayInfo * Extract getDefaultDisplay out of Question * Add test suite for getDefaultDisplay * Add a test case for simple queries * Add a test case for 1 aggregation and no breakouts * Add a test case for 1 aggregation, 1 breakout and state column * Format code * Update test query * Add a test case for 1 aggregation, 1 breakout and country column * Update test names * Simplify setup * Add date-related tests * Extract isState, isCountry, deal with breakout info vs column info * Handle dates * Move helpers down * Add tests for binning * Add explanatory variable * Handle 1 aggregation and 2 breakouts, at least 1 of which is date * Handle 1 aggregation and 2 breakouts by coordinates * Add a test case for default return * Use parameterless aggregation * Handle categories * Optimize: do not call Lib.displayInfo for all breakouts * Optimize: extract getBreakoutInfos and call it only when necessary * Do not group tests * Remove redundant createQueryWithClauses calls * Rename getBreakoutInfos to getBreakoutColumnInfos * Fix Question.prototype.updateSettings typing * Simplify test setup * Simplify code * Use accounts table * Remove Question.prototype._setDefaultDisplay * Rename getDefaultDisplay to defaultDisplay and expose it in metabase-lib/v2 * Update test names * Consolidate conditions * Fully migrate Category and Date checks * Fix typo * Split unrelated conditions to make it look like in the original function * Reorder arguments to match the convention * Rename getBreakoutColumnInfos to getBreakoutsWithColumnInfo * Prevent categorizing extraction of/truncation to year as temporal-extraction Fixes #37172. * Move display.ts to viz/display.ts * Use existing Lib.is* functions * Make a change to trigger CI * Revert "Make a change to trigger CI" This reverts commit 328becd8e659073aa2f0daffd6011fa785bfa99e. * Do the same for any display-info calculation --------- Co-authored-by:
Tamás Benkő <tamas@metabase.com>
-
- Feb 05, 2024
-
-
Mark Bastian authored
* Adding geographic coordinate formatting to exports Prior to this PR, exports as csv, excel, and json files as well as html in emails all treated longitude and latitude values as plain floats while the UI rendered the coordinates as degrees NSEW. This PR adds a new function, `format-geographic-coordinates`, in `metabase.formatter` and applies it to these tabular exports. The function is applied as follows: - For everything but excel exports, a new case in `metabase.formatter/create-formatter` was added that renders all `:type/Coordinate`s - For excel exports, `metabase.query-processor.streaming.xlsx/maybe-parse-coordinate-value` was added in the `add-row!` function and follows the same pattern as `maybe-parse-temporal-value` Unit tests were added to cover all three export formats as well as html rendering in pulses (emails). * Fixing `metabase.pulse.render.body-test` for lon/lat formatting.
-
Mark Bastian authored
Commit 8201e545 introduced failing tests (e.g. `clj -X:dev:ee:ee-dev:drivers:test :only metabase.api.card-test/update-card-with-type-and-dataset-test`). They all seem to originate from NPEs in `model-hydrate-based-on-upload` on the first condition in the `and` clause in the `based-on-upload` anonymous function. This PR just makes that first condition null-safe with a `some->` threading macro.
-
Braden Shepherdson authored
That is, **if** there is a table with multiple PKs, and another table with multiple FKs for those PKs, **then** any `:=` filters for other PKs on that table should be preserved. This allows using 1 or more quick-filter drills to add `FOO_ID = 7` filters for some of the foreign table's PKs, followed by a fk-details drill that jumps to the filtered view of that table. Progress towards #36253.
-
Anton Kulyk authored
* Hide unmapped filters for public/embedded dashboards * Add E2E tests * Add missing null check * Rename filters in E2E tests * Make `hiddenParameterSlugs` consistent * Use `selectedTabId` from state * Remove newline * Fix E2E tests * Fix test setup * Fix name shortcuts
-
Cal Herries authored
-
Ryan Laurie authored
* add Hebrew support
-
Ngoc Khuat authored
-
metamben authored
* Prevent categorizing extraction of/truncation to year as temporal-extraction Fixes #37172.
-
Uladzimir Havenchyk authored
-
Uladzimir Havenchyk authored
-
Nemanja Glumac authored
* Move all files related to the `ViewHeader` component to a separate folder * Rename utils and convert to TS * Move `View.jsx` back to the common top level folder * Add `index.ts` to the `ViewHeader` structure * Move `ExploreResultsLink` component * Move `FilterHeaderButton` component * Move `HeaderBreadcrumbs` component * Move `QuestionNotebookButton` component * Move `QuesitonDataSource` component * Move `ConvertQueryButton` component * Move `QuestionDescription` component * Move `QuestionActions` component * Move `QuestionSummarizeWidget` component * Remove unused function * Move `QuestionFilters` component * Remove unused eslint directive * Fix accidental empty export * Export all components from a single `index.ts`
-
Chris Truter authored
-
Oleg Gromov authored
* Add required label to dashboard parameter settings pane * Enable required behavior for parameter widgets on the dashboard * Support reverting back to default value for all widget types * Add and update e2e tests
-
Nemanja Glumac authored
* Move `canExploreResults` out of the Question prototype * Move `canExplore` to `ViewHeaderUtils` file * Add back unit tests for `canExplore`
-
- Feb 02, 2024
-
-
Mark Bastian authored
* Fixing static-viz exports of saved x-ray dashboards When dashboards were generated with x-rays, the `:visualization_settings` were not properly filled in. In particular, the `:graph.dimensions` and `:graph.metrics` were being populated from either the raw template values or not at all. The following namespace demonstrates this: ```clojure (ns tickets.38350-broken-xray-export (:require [dev.render-png :as render-png] [metabase.models :refer [Card]] [metabase.test :as mt])) (mt/dataset test-data (mt/with-temp [Card {bad-card-id :id} {:display :row :dataset_query {:database (mt/id) :type :query :query {:source-table (mt/id :orders) :aggregation [[:count]] :breakout [[:field (mt/id :products :category) {:source-field (mt/id :orders :product_id)}]]}} :visualization_settings {:graph.series_labels [nil] :graph.dimensions [{:ProductCategoryMedium {}}] :graph.colors ["#EF8C8C"] :graph.metrics [nil]}} Card {good-card-id :id} {:display :row :dataset_query {:database (mt/id) :type :query :query {:source-table (mt/id :orders) :aggregation [[:count]] :breakout [[:field (mt/id :products :category) {:base-type :type/Text :source-field (mt/id :orders :product_id)}]]}} :visualization_settings {:graph.dimensions ["CATEGORY"] :graph.metrics ["count"]}}] (render-png/render-card-to-png bad-card-id) (render-png/render-card-to-png good-card-id))) ``` The FE seemed to have some level of error checking and was robust enough to recover from these bad `:visualization_settings`. The solution is to correctly populate these values. This required updating the `:dimension-name->field` value in each card to include mappings derived from both metrics and dimensions and then using the right logic in the `visualization-settings` function. * Removed unneeded `->legacy-MBQL` on values in `:mbql/query` dispatch
-