Skip to content
Snippets Groups Projects
Unverified Commit 82757d60 authored by Anton Kulyk's avatar Anton Kulyk Committed by GitHub
Browse files

Feature | Collection Metadata (#16510)


* Display last edit info in Question and Dashboard headers (#16354)

* Add LastEditInfoLabel component

* Fix Header component's import order

* Display last edit info in Dashboard header

* Display last edit info in Question header

* Show "edited by you" if user is the last editor

* Add prop types for Header component

* Add prop-types for ViewHeader component

* Switch the collection page to table-based layout, display last edit info (#16357)

* Extract color functions from EntityItem body

* Refactor EntityItem not to use `switch` statement

* Extract `<EntityItem.Icon />` component

* Extract `<EntityItem.Name />` component

* Extract `<EntityItem.Menu />` component

* Add basic table components for collection items

* Update item name style

* Update `last-edit-info` columns text style

* Make CollectionContent wider

* Highlight pinned items

* Add `renderItem` prop to BaseItemsTable

* Add links to table items' entity pages

* Connect `data-metabase-event` to table items

* Make table items selectable for bulk actions

* Remove filtering E2E test

Collection items filtering is going to be replaced with sorting

* Fix cypress collection item selectors

* Fix cypress pinned items assertions

* Add collection item actions menu

* Fix "Type" column style

* Fix layout when there are no pinned items

* Add CollectionContent's empty state

* Fix typo

* Update table row height

* Add table rows separators

* Remove replaced components

* Remove filtering logic from CollectionContent

* Fix pulses display in collection items table

* Remove note about filtering E2E tests

Collection items filtering is going to be replaced with sorting

* Move BaseTableItem into its own file

* Remove redundant conditional render

* Fix col's span attribute

* Don't use `useCallback` for itemRenderer

* Extract ItemsTable's renderItem

* Extract PinnedItemsTable's renderItem

* Fix `EntityItemIcon` margin prop usage

* Remove not used props from `EntityItem`

* Fix string prop notation

* Add IconButtonWrapper component

* Use IconButtonWrapper for EntityItem's icon

* Update BaseTableItem's EntityIcon usage

* Move EntityItemWrapper to .styled file

* Rename `EntityItemIcon` to `EntityIconCheckBox`

* Sort by last_edited_by (#16388)

for last edits, now can sort by last_edited_at (previously
last_edited) and last_edited_by

* Remove "Pinned items" text assertion

The category title is removed in this PR by design

* Add drag-n-drop to collection items tables (#16360)

* Don't wrap ItemDragSource children with <div />

react-dnd allows wrapping only native DOM elements with DND helpers.

With the new table layout, we now need to drag table rows (td elements).

Rendering a td with ItemDragSource results in invalid HTML as table body's direct children should only include td elements.

* Rename `selected` prop to `selectedItems`

* Pass ItemDragSource props to table item

* Replace styled TableRow with plain <tr />

Table row is wrapped with ItemDragSource, that only accepts native DOM elements as its children

So styled-components can't be used here

* Make table row draggable

* Add headless mode to BaseItemsTable

* Add prop hiding table row's bottom border

* Fix typo and split large comment

* Render full table row when dragging

* Add empty PinnedItemsTable drop area

* Add empty ItemsTable drop area

* Wrap PinnedItemsTable with drop area

* Wrap ItemsTable with drop area

* Extract `<tr />` style

Co-authored-by: default avatarGustavo Saiani <gustavo@poe.ma>

* Fix width style

Co-authored-by: default avatarGustavo Saiani <gustavo@poe.ma>

* Run prettier

* Reference issue about post-pulses work

Co-authored-by: default avatarGustavo Saiani <gustavo@poe.ma>

* Fix last edit query (#16520)

* Correct query for last edits

* tests ensure we get latest revisions

* Add tooltip displaying the exact time of the last collection item edit (#16492)

* Add sorting to collection items (#16385)

* Add sorting params to Search entity

* Remove pinned items sorting by `collection_position`

* Add default sorting to collection items

* Add sorting controls

* Add test IDs to table head and columns

* Move pagination tests into separate file

* Make pagination tests independent from dataset

* Allow creating pinned items via API in Cypress

* Add sorting E2E tests

* Fix sorting by "Last edited at" column

* Add sorting by "Last edited by" column

* Fix BaseItemsTable unit test

* Order by _revision_ id, not _user_ id (#16536)

* Fix UI flash when sorting collection items (#16511)

* Optionaly keep prev list value in EntityListLoader

* Use prop-types in EntityListLoader

* Fix UI flash when sorting collection items

* Fix empty state displayed before items are fetched

* Alias condition statement

* Unify shouldUpdatePrevList condition

* Fix react/display-name

* Rename keepPreviousList —> keepListWhileLoading

* Swap list and previous list internally

* Replace `_.isEqual` check with plain `!==`

* Fix border radius for circle icon

* Rename Header's `showBadge` into `hasBadge`

* Add tests for collections metadata (#16538)

Co-authored-by: default avatardpsutton <dan@dpsutton.com>
Co-authored-by: default avatarGustavo Saiani <gustavo@poe.ma>
parent ea8f76ac
No related branches found
No related tags found
Loading
Showing
with 988 additions and 613 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment