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

[Epic] Make it easy to combine columns in chill mode #39977

Closed
5 tasks done
kamilmielnik opened this issue Mar 12, 2024 · 0 comments
Closed
5 tasks done

[Epic] Make it easy to combine columns in chill mode #39977

kamilmielnik opened this issue Mar 12, 2024 · 0 comments
Assignees
Labels
.Epic Feature Implementation or Project Querying/ .Team/QueryingComponents .Team/QueryProcessor :hammer_and_wrench:
Milestone

Comments

@kamilmielnik
Copy link
Contributor

kamilmielnik commented Mar 12, 2024

Links

Implementation Plan

Milestone 1 - Column header

Backend

  1. .Backend .Team/QueryProcessor .metabase-lib
    bshepherdson

Frontend

  1. .Frontend .Team/QueryingComponents visual
    kamilmielnik romeovs
  2. .Frontend .Team/QueryingComponents
    romeovs
  3. .Frontend .Team/QueryingComponents
    romeovs
  4. .Frontend .Team/QueryingComponents
    romeovs

Testing plan

#39984

@kamilmielnik kamilmielnik added the .Epic Feature Implementation or Project label Mar 12, 2024
@kamilmielnik kamilmielnik self-assigned this Mar 12, 2024
@bshepherdson bshepherdson self-assigned this Mar 27, 2024
bshepherdson added a commit that referenced this issue Apr 4, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 10, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 10, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 10, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 10, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 11, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 11, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 11, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 11, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 11, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 12, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 15, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 15, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 15, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 15, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
bshepherdson added a commit that referenced this issue Apr 16, 2024
This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.
romeovs added a commit that referenced this issue May 1, 2024
* [MLv2] Add `preview-expression` to eval an expression on sample data

This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.

* [MBQL lib] Add "Combine columns" drill-thru

This is following the original plan of using a drill for this. It's hard
to combine that with the "preview" functionality.

See [thread](https://metaboat.slack.com/archives/C06P22KS4JH/p1712264174056569)
for discussion of how we might approach that issue.

Fixes #39978.

* [MBQL lib] Add "Combine columns" drill-thru

This is following the original plan of using a drill for this. It's hard
to combine that with the "preview" functionality.

See [thread](https://metaboat.slack.com/archives/C06P22KS4JH/p1712264174056569)
for discussion of how we might approach that issue.

Fixes #39978.

* [MLv2] Add `preview-expression` to eval an expression on sample data

This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.

* [MLv2] Add `preview-expression` to eval an expression on sample data

This is needed to show the previews in the UX for the combining columns
epic #39977.

Fixes #39979.

* Revert "Merge branch 'mblib-preview-expressions' into combine-columns"

This reverts commit dac17f8, reversing
changes made to 2934fab.

* Revert "Merge branch 'mblib-preview-expressions' into combine-columns"

This reverts commit 2934fab, reversing
changes made to 6a43c22.

* Revert "Merge branch 'mblib-preview-expressions' into combine-columns"

This reverts commit 6a43c22, reversing
changes made to 2257333.

* [FE] "Combine columns" drill thru (#40082)

* Type Section['icon'] properly, including the hack for summarize section

* Add combine columns section

* Add types for combine columns drill

* Add combine columns drill component stub

* Mock combine columns drill

* Add component stub

* Encapsulate typing hacks

* Extract CombineColumnsDrill

* Extract ColumnAndSeparatorRow

* Improve naming, add button to edit separators

* Translate string

* Improve styling

* Separator input

* Handle removing columns

* Rename lib.ts to utils.ts

* Implement onSubmit

* Add getNextColumnAndSeparator

* Use form for a11y

* Handle vertical overflow

* Handle horizontal overflow

* Extract formatSeparator

* Use proper translations

* Adjust min/max sizes

* Fix scrollbar being unnecessarily shown

* Display source column name

* Avoid serializing the entire column and putting it into DOM

* Use module.css extension

* Format code

* Improve a11y

* Mock combineColumnsDrillExpression and previewExpression

* Add Preview component

* Move preview logic to Preview component

* Style Preview

* Format code

* Move styles to CSS modules

* Update UI to latest designs
- move "Add another column" button
- remove "Separated by X" button
- always show separator inputs

* Remove displayInfo mock

* Add asReturned

* Update CombineColumnsDrillThruInfo

* Integrate new way of working with combine columns drill

* Fix generating expression names

* Integrate drill with click actions

* Integrate new preview workflow

* Revert "Update UI to latest designs"

This reverts commit cda039d.

* Use previewExpression interface correctly

* Use new preview_expression API

* Make sure columns are created with original query and stage index

* Extract usePreview and handle preview errors

* Update popover title

* Move add column button

* Fix outline being cut off

* Style preview label as per design

* Format empty separator

* Make preview scrollable

* Use project convention

* Simplify ScrollArea usage

* Use ScrollArea in CombineColumnsDrill

* Update comment

* Remove Lib.previewExpression

* Clean up the preview after removing Lib.previewExpression

* Implement getPreview

* Change default column preview to 'text'

* Remove usePreview hook which is no longer in use

* Rename Preview to Example

* Use different placeholder for separator input

* Add whitespace placeholder

* Add ColumnPicker boilerplate

* Export Input

* Use QueryColumnPicker for ColumnPicker

* Pass width to AccordionList

* Add sequences popover events with tippy

* Remove unused ColumnOption helpers

* Add testid to Example

* Add e2e test for combine column in header

* Select content of separator input on focus

* Reduce padding on example

* Add monospace variant to Text

* Use monospace variant in Example

* Use monospace font in textinput

* Match faux-select label styles to our TextInput label styles

* Add missing color

* Remove !important

* Use pre whitespace so consecutive spaces show up

* Remove empty default

* Add example for boolean

* Remove !important

* Use should.have text over contain

---------

Co-authored-by: Romeo Van Snick <romeo@romeovansnick.be>

* Remove duplicated code

* Export useMantineTheme from metabase/ui

* Use useMantineTheme instead of reading theme directly

* Remove setTimeout in popover

* Use plain t instead of jt

* Move Popover dropdown sequence hack to metabase/ui

---------

Co-authored-by: Braden Shepherdson <braden@metabase.com>
Co-authored-by: Kamil Mielnik <kamil@kamilmielnik.com>
@NevRA NevRA added this to the 0.50 milestone May 10, 2024
@NevRA NevRA closed this as completed May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
.Epic Feature Implementation or Project Querying/ .Team/QueryingComponents .Team/QueryProcessor :hammer_and_wrench:
Projects
None yet
Development

No branches or pull requests

4 participants