Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fork Sync: Update from parent repository #42

Merged
merged 19 commits into from
Dec 6, 2023
Merged

Conversation

github-actions[bot]
Copy link

@github-actions github-actions bot commented Dec 5, 2023

No description provided.

iethree and others added 19 commits December 5, 2023 09:02
* Rename DashboardHeaderView to match filename
* Fix non updating cards on filter mapping to a field
* Clean up DashboardApp tests a bit
* Clean up Dashboard.jsx cruft
* Add Dashboard componentDidUpdate "unit tests"
* Simplify setup code as per feedback
* Add test for changing dashboard prop in componentDidMount
* Change constant names
* Fix optional chaining in Dashboard
* Adding pagination to All Personal Collections page

* adding unit test

* test adjustments
…36319)

That fixes "chart legend" clicks and "pivot cell" clicks, which should
show underlying records and automatic insights drills.

Fixes #35343 and #35394.
* Adding markdown support to search result descriptions

* adding e2e test
* Updating default `number-formatter` for percents

The number formatter used in some static viz rendering (e.g. tables) in `metabase.pulse.render.common/number-formatter` had logic to render only integer-valued percents for values between 1 and 100 and render two significant digits otherwise.

The FE default formatter uses 2 significant digits consistently in `frontend/src/metabase/lib/formatting/numbers.tsx`:

```js
const PRECISION_NUMBER_FORMATTER = d3.format(".2f");
```

This change modifies `number-formatter` to consistenly use 2 significant digits for percentage types.

Note that this does NOT apply to fields with custom formatting. Presently, custom column formatting does not appear to be applied for HTML tables at all for BE rendering while it is applied on the FE. This is a separate issue. This PR just brings the baseline behaviors based on typing into alignment.

* Fixing formatting test
…er (#35975)

* Fix click behavior link to dashboards/questions not using client router

* Make the code cleaner

* Fix unit tests

* Make API clearer

* Address review: Handle case insensitive subpath

* Add E2E tests

* Fix failed E2E tests

* Fix another fail E2E test

* Add a test to ensure invalid URL won't break navigation

* Add tests + ensure multiple level subpath works
* Move embedding settings prep before rendering

* Revert not needed change

* Add dynamic embedding settings for preview mode, add e2e tests for embedding settings

* Refactor test, remove not needed code

* Updates for e2e test based on code review
* Add expression-clause-for-legacy-expression

Fixes #34830.

* Add legacy-expression-for-expression-clause

* Fix wrapper function name

* Include ExpressionClause in Aggregatable type

* Use Aggregatable type in aggregate function

* Rename query to legacyQuery in Expressions (part 1)

* Rename query to legacyQuery in Expressions (part 2)

* Rename query to legacyQuery in Expressions (part 3)

* Support MLv2 expressionClause in processSource and ExpressionWidget

* Revert changes to ExpressionStep as it's out of scope of this task

* Use new expressionClause in ExpressionWidget

* Use onSelect instead of onSelectLegacy in handleExpressionChange

* Remove onSelectLegacy from AggregationPicker

* Use nullish coalescing operator

* Assert new onChangeExpression argument in test

* Assert new onChangeExpression argument in test

* Update AggregationPicker tests

* Replace toEqual + expect.objectContaining with toMatchObject

* Add stageIndex to setup, use destructuring for onSelect arguments

* Deal with awkward assertions

* Use props in a conservative way

* Replace legacyQuery.database() with query + metadata

* Add a TODO comment

* Add clause prop to AggregationPicker

* Migrate clause name

* Replace 3rd argument in onChangeExpression with onChangeExpressionClause

* Use destructuring

* Allow AggregationClause, drop expression from ExpressionEditorTextfield

* Make withExpressionName work with AggregationClause

* Rename expressionClause to clause

* Update tests with new interface

* Use overloading instead of generics

* Add function body

* Rename operator to clause

* Revert "Use overloading instead of generics"

This reverts commit 3953f85.

* Fix tests failing due to useSelect usage in AggregationPicker

* Omit aggregation options converting expressions to legacy

Fixes #36120.

* Remove temporary hack

* Get rid of props spread

* Migrate isExpressionEditorInitiallyOpen to MLv2

* Omit aggregation options converting expressions to legacy

Fixes #36120.

* Normalize legacy expressions as MBQL expressions

* Fix isExpressionEditorInitiallyOpen

* Update expressionName signature

* Pass props in ExpressionStep tests in a usual way

* Drop a conditional statement

* Bring back expression prop for backwards-compatibility

* Update ExpressionWidget validation & tests

* Bring back using expression in componentWillReceiveProps

* Bring back removed assertion

* Remove legacyQuery prop from AggregationPicker

* Add a test case for isExpressionEditorInitiallyOpen (which uses Lib.expressionName)

* Fix legacyQuery creation

* Add assertion for expression name

* Fix committing expression with done button

* Improve assertions in tests

* Make with-expression-name set the display-name of the clause

Fixes #36167.

This is needed to be able to set/change the display name of custom aggregation columns too.

* Add expression name assertion

* Add expression name assertion

* Add expression name assertion

* Add expression name assertion

* Add expression name assertion

* Add expression name assertion

* Add expression name assertion

* Unskip an e2e test

* Add expression name assertion

* Add expression name assertion

* Use displayInfo instead of displayName
- see #36203 (comment)

* Deprecate displayName in favor of displayInfo
- see https://metaboat.slack.com/archives/C0645JP1W81/p1701341786914219?thread_ts=1701335646.088359&cid=C0645JP1W81

* Use clearer notation

* Format code

* Use displayInfo instead of expressionName in tests

* Add isNamed attribute to ColumnDisplayInfo and ClauseDisplayInfo

* Use displayInfo instead of expressionName in AggregationPicker

* Drop expressionName

* Drop redundant cast

* Simplify isExpressionEditorInitiallyOpen interface

* Use display-info with :named? instead of expression-name

* Improve comment

* Add :named? to the schema of display-info

* Use conditional types for ExpressionWidget prop

* Use getNotebookStep

* Simplify condition

* Simplify assertions

* Use .lastCall

* Remove isNamed attribute from ColumnDisplayInfo

* Use .lastCall

* Fix typing

* Bring back legacyQuery prop to AggregationPicker

* Fix isExpressionEditorInitiallyOpen for new clauses

* Fix unit tests

* Remove wrong assertion

* Fix assertion

* Trigger a change

* Revert "Trigger a change"

This reverts commit 254913d.

* Fix assertion

* Allow FilterClause

* Drop legacyFilter usage from FilterPicker, FilterStep & QuestionFilters

* Update FilterPicker unit tests

* Remove unused function

* Fix types in unit test

* Remove redundant waitFor

* Update ColumnDisplayInfo type

* Revert changes to ColumnDisplayInfo, avoid using semanticType & effectiveType attributes

* Introduce NamedClause and CustomExpressionClause types

* Simplify assertions

* Remove casting from FilterPicker

* Rename NamedClause to CustomNameClause

* Exclude AggregationClause from FilterPicker's interfaces

* Avoid casting using generics
@zaycev zaycev merged commit 841ee2a into trunk-io:master Dec 6, 2023
18 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.