diff --git a/frontend/src/metabase/collections/components/BaseItemsTable.jsx b/frontend/src/metabase/collections/components/BaseItemsTable.jsx index 9aa4ee18cf2162ae17e3608bc53dc80e37fa9837..864a030546ec945339f5ba87648badce5d21950a 100644 --- a/frontend/src/metabase/collections/components/BaseItemsTable.jsx +++ b/frontend/src/metabase/collections/components/BaseItemsTable.jsx @@ -9,6 +9,7 @@ import { SortingIcon, SortingControlContainer, TBody, + LastEditedByCol, } from "./BaseItemsTable.styled"; const sortingOptsShape = PropTypes.shape({ @@ -127,7 +128,7 @@ function BaseItemsTable({ <colgroup> <col style={{ width: "70px" }} /> <col /> - <col style={{ width: "140px" }} /> + <LastEditedByCol /> <col style={{ width: "140px" }} /> <col style={{ width: "100px" }} /> </colgroup> diff --git a/frontend/src/metabase/collections/components/BaseItemsTable.styled.jsx b/frontend/src/metabase/collections/components/BaseItemsTable.styled.jsx index 87bc9de791ed84f1ff76db9ba8a0d72d05a89cb1..647c1a9d0c8a2a2c355128b578181e85d873983a 100644 --- a/frontend/src/metabase/collections/components/BaseItemsTable.styled.jsx +++ b/frontend/src/metabase/collections/components/BaseItemsTable.styled.jsx @@ -1,7 +1,10 @@ import styled from "@emotion/styled"; import { color } from "metabase/lib/colors"; -import { breakpointMaxMedium } from "metabase/styled-components/theme/media-queries"; +import { + breakpointMaxMedium, + breakpointMinLarge, +} from "metabase/styled-components/theme/media-queries"; import EntityItem from "metabase/components/EntityItem"; import Icon from "metabase/components/Icon"; @@ -34,6 +37,14 @@ export const ColumnHeader = styled.th` color: ${color("text-medium")}; `; +export const LastEditedByCol = styled.col` + width: 140px; + + ${breakpointMinLarge} { + width: 240px; + } +`; + export const ItemCell = styled.td` padding: 0.25em 0 0.25em 1em !important; `; diff --git a/frontend/src/metabase/collections/components/BaseTableItem.jsx b/frontend/src/metabase/collections/components/BaseTableItem.jsx index 8c5a358ea45e6bffeb5840edf288d0f408f43b27..52fa9b3940facb96e96fe753f3094659a506e5c4 100644 --- a/frontend/src/metabase/collections/components/BaseTableItem.jsx +++ b/frontend/src/metabase/collections/components/BaseTableItem.jsx @@ -6,6 +6,7 @@ import { PLUGIN_MODERATION } from "metabase/plugins"; import ItemDragSource from "metabase/containers/dnd/ItemDragSource"; +import Ellipsified from "metabase/core/components/Ellipsified"; import EntityItem from "metabase/components/EntityItem"; import DateTime from "metabase/components/DateTime"; import Tooltip from "metabase/components/Tooltip"; @@ -120,7 +121,7 @@ export function BaseTableItem({ </ItemLink> </ItemCell> <ItemCell data-testid={`${testId}-last-edited-by`}> - <TableItemSecondaryField>{lastEditedBy}</TableItemSecondaryField> + <Ellipsified>{lastEditedBy}</Ellipsified> </ItemCell> <ItemCell data-testid={`${testId}-last-edited-at`}> {lastEditInfo && ( diff --git a/frontend/src/metabase/containers/CollectionItemsLoader.jsx b/frontend/src/metabase/containers/CollectionItemsLoader.jsx deleted file mode 100644 index e0b64dfb376d958dcfa1807170b5218dc60f3634..0000000000000000000000000000000000000000 --- a/frontend/src/metabase/containers/CollectionItemsLoader.jsx +++ /dev/null @@ -1,37 +0,0 @@ -/* eslint-disable react/prop-types */ -import React from "react"; - -import Collection from "metabase/entities/collections"; -import Search from "metabase/entities/search"; - -const PINNED_DASHBOARDS_LOAD_LIMIT = 500; - -const CollectionItemsLoader = ({ collectionId, children, ...props }) => ( - <Collection.Loader {...props} id={collectionId}> - {({ object }) => ( - <Search.ListLoader - {...props} - query={{ - collection: collectionId, - pinned_state: "is_pinned", - sort_column: "name", - sort_direction: "asc", - models: "dashboard", - limit: PINNED_DASHBOARDS_LOAD_LIMIT, - }} - wrapped - > - {({ list }) => - object && - list && - children({ - collection: object, - items: list, - }) - } - </Search.ListLoader> - )} - </Collection.Loader> -); - -export default CollectionItemsLoader; diff --git a/frontend/src/metabase/entities/containers/EntityName.jsx b/frontend/src/metabase/entities/containers/EntityName.jsx index 5561d39b844061bf4d63aaa364ef5a3983fb8b2a..5c672c9eed706559fc550ea78024db5bf0deebe6 100644 --- a/frontend/src/metabase/entities/containers/EntityName.jsx +++ b/frontend/src/metabase/entities/containers/EntityName.jsx @@ -3,11 +3,11 @@ import React from "react"; import EntityObjectLoader from "./EntityObjectLoader"; -const EntityName = ({ entityType, entityId, name = "name" }) => ( +const EntityName = ({ entityType, entityId, property = "name" }) => ( <EntityObjectLoader entityType={entityType} entityId={entityId} - properties={[name]} + properties={[property]} loadingAndErrorWrapper={false} wrapped > diff --git a/frontend/src/metabase/entities/users.js b/frontend/src/metabase/entities/users.js index e8ca96b43b3fe66a1cb472250a7cc3cda88f35f1..fc9da270ed1727da02525281cca35f96162e05ee 100644 --- a/frontend/src/metabase/entities/users.js +++ b/frontend/src/metabase/entities/users.js @@ -29,6 +29,10 @@ const Users = createEntity({ path: "/api/user", + objectSelectors: { + getName: user => user.common_name, + }, + actionTypes: { DEACTIVATE, REACTIVATE,