Skip to content
Snippets Groups Projects
Unverified Commit 4f949af3 authored by Alexander Polyankin's avatar Alexander Polyankin Committed by GitHub
Browse files

Remove unused legacy code (#37631)

parent 49b88268
No related branches found
No related tags found
No related merge requests found
import { Component } from "react";
import PropTypes from "prop-types";
import { t } from "ttag";
import cx from "classnames";
import { DimensionListItem } from "./TimeGroupingPopover.styled";
const timeGroupingPopoverPropTypes = {
title: PropTypes.string,
className: PropTypes.string,
dimension: PropTypes.object.isRequired,
onChangeDimension: PropTypes.func.isRequired,
};
const timeGroupingPopoverDefaultProps = {
title: t`Group time by`,
};
export default class TimeGroupingPopover extends Component {
constructor(props, context) {
super(props, context);
this.state = {};
}
render() {
const { title, className, dimension, onChangeDimension } = this.props;
const subDimensions = dimension.dimensions();
return (
<div className={cx(className, "px2 py1")} style={{ width: "250px" }}>
{title && <h3 className="List-section-header pt1 mx2">{title}</h3>}
<ul className="py1">
{subDimensions.map((subDimension, index) => {
const isSelected = subDimension.isEqual(dimension);
return (
<DimensionListItem
aria-selected={isSelected}
key={index}
className={cx("List-item", {
"List-item--selected": isSelected,
})}
>
<a
className="List-item-title full px2 py1 cursor-pointer"
onClick={() => onChangeDimension(subDimension)}
>
{subDimension.subDisplayName()}
</a>
</DimensionListItem>
);
})}
</ul>
</div>
);
}
}
TimeGroupingPopover.propTypes = timeGroupingPopoverPropTypes;
TimeGroupingPopover.defaultProps = timeGroupingPopoverDefaultProps;
import styled from "@emotion/styled";
import { alpha } from "metabase/lib/colors";
export const DimensionListItem = styled.li`
border-color: ${alpha("accent2", 0.2)};
`;
import type * as React from "react";
import { t } from "ttag";
import PopoverWithTrigger from "metabase/components/PopoverWithTrigger";
import CheckBox from "metabase/core/components/CheckBox";
import { StackedCheckBox } from "metabase/components/StackedCheckBox";
import type Dimension from "metabase-lib/Dimension";
interface FieldsPickerProps {
className?: string;
dimensions: Dimension[];
selectedDimensions: Dimension[];
isAll?: boolean;
isNone?: boolean;
onSelectAll?: () => void;
onSelectNone?: () => void;
onToggleDimension: (dimension: Dimension, isSelected: boolean) => void;
triggerElement?: React.ReactNode;
disableSelected?: boolean;
}
function FieldsPicker({
className,
dimensions,
selectedDimensions,
isAll,
isNone,
onSelectAll,
onSelectNone,
onToggleDimension,
triggerElement = t`Columns`,
disableSelected,
...props
}: FieldsPickerProps) {
const selected = new Set(selectedDimensions.map(d => d.key()));
return (
<PopoverWithTrigger
triggerElement={triggerElement}
triggerClasses={className}
sizeToFit
{...props}
>
<ul className="pt1">
{(onSelectAll || onSelectNone) && (
<li className="px1 pb1 flex align-center border-bottom mb1">
<StackedCheckBox
label={isAll && onSelectNone ? t`Select none` : t`Select all`}
checked={isAll}
indeterminate={!isAll && !isNone}
disabled={isAll && !onSelectNone}
onChange={() => {
if (isAll) {
onSelectNone?.();
} else {
onSelectAll?.();
}
}}
className="mr1"
/>
</li>
)}
{dimensions.map(dimension => (
<li key={dimension.key()} className="px1 pb1 flex align-center">
<CheckBox
disabled={disableSelected && selected.has(dimension.key())}
checked={selected.has(dimension.key())}
label={dimension.displayName()}
onChange={() => {
onToggleDimension(dimension, !selected.has(dimension.key()));
}}
className="mr1"
/>
</li>
))}
</ul>
</PopoverWithTrigger>
);
}
// eslint-disable-next-line import/no-default-export -- deprecated usage
export default FieldsPicker;
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