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

Remove `ActionsLinkingControl` (#25133)

parent 79c69ba8
Branches
Tags
No related merge requests found
......@@ -27,8 +27,6 @@ import DashCardParameterMapper from "./DashCardParameterMapper";
import { IS_EMBED_PREVIEW } from "metabase/lib/embed";
import { getClickBehaviorDescription } from "metabase/lib/click-behavior";
import ActionsLinkingControl from "metabase/writeback/components/ActionsLinkingControl";
import cx from "classnames";
import _ from "underscore";
import { getIn } from "icepick";
......@@ -213,9 +211,6 @@ export default class DashCard extends Component {
hasError={!!errorMessage}
onRemove={onRemove}
onAddSeries={onAddSeries}
onUpdateVisualizationSettings={
this.props.onUpdateVisualizationSettings
}
onReplaceAllVisualizationSettings={
this.props.onReplaceAllVisualizationSettings
}
......@@ -225,7 +220,6 @@ export default class DashCard extends Component {
isPreviewing={this.state.isPreviewingCard}
onPreviewToggle={this.handlePreviewToggle}
dashboard={dashboard}
metadata={metadata}
/>
</DashboardCardActionsPanel>
) : null}
......@@ -355,13 +349,11 @@ const DashCardActionButtons = ({
hasError,
onRemove,
onAddSeries,
onUpdateVisualizationSettings,
onReplaceAllVisualizationSettings,
showClickBehaviorSidebar,
onPreviewToggle,
isPreviewing,
dashboard,
metadata,
}) => {
const buttons = [];
......@@ -415,18 +407,6 @@ const DashCardActionButtons = ({
}
}
if (card.display === "actions") {
buttons.push(
<ActionsLinkingControl
key="connect-actions"
card={card}
dashboard={dashboard}
metadata={metadata}
onUpdateVisualizationSettings={onUpdateVisualizationSettings}
/>,
);
}
return (
<span className="flex align-center text-medium" style={{ lineHeight: 1 }}>
{buttons}
......
import React from "react";
import { t } from "ttag";
import Icon from "metabase/components/Icon";
import PopoverWithTrigger from "metabase/components/PopoverWithTrigger";
import Tooltip from "metabase/components/Tooltip";
import SelectList from "metabase/components/SelectList";
import * as Q_DEPRECATED from "metabase/lib/query";
import { SavedCard, StructuredDatasetQuery } from "metabase-types/types/Card";
import { DashboardWithCards, DashCard } from "metabase-types/types/Dashboard";
type StructuredQuerySavedCard = SavedCard<StructuredDatasetQuery>;
type StructuredQueryDashCard = DashCard<StructuredQuerySavedCard>;
interface Props {
card: DashCard;
dashboard: DashboardWithCards;
onUpdateVisualizationSettings: (settings: Record<string, unknown>) => void;
}
function ActionsLinkingControl({
card,
dashboard,
onUpdateVisualizationSettings,
}: Props) {
const connectedDashCardId =
card.visualization_settings["actions.linked_card"];
const suitableDashCards = dashboard.ordered_cards.filter(
dashCard =>
Q_DEPRECATED.isStructured(dashCard.card.dataset_query) &&
!dashCard.isAdded, // only show dash cards that have a stable ID already
) as StructuredQueryDashCard[];
return (
<PopoverWithTrigger
triggerElement={
<Tooltip tooltip={t`Connect table`}>
<Icon name="bolt" size={16} />
</Tooltip>
}
>
<SelectList>
{suitableDashCards.map(dashCard => (
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
<SelectList.Item
key={dashCard.id}
name={dashCard.card.name}
icon="table"
isSelected={dashCard.id === connectedDashCardId}
onSelect={() =>
onUpdateVisualizationSettings({
"actions.linked_card": dashCard.id,
})
}
/>
))}
</SelectList>
</PopoverWithTrigger>
);
}
export default ActionsLinkingControl;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment