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

Show "Starting from" filters only when expressions are supported (#24487)

parent ebf266b6
No related branches found
No related tags found
No related merge requests found
......@@ -98,6 +98,10 @@ class DatabaseInner extends Base {
return this.hasFeature("expressions") && this.hasFeature("left-join");
}
supportsExpressions() {
return this.hasFeature("expressions");
}
canWrite() {
return this.native_permissions === "write";
}
......
......@@ -50,6 +50,7 @@ const DateAllOptionsWidget = ({
hideTimeSelectors
hideEmptinessOperators
disableOperatorSelection={disableOperatorSelection}
supportsExpressions
>
<UpdateButton
className={cx({
......
......@@ -250,6 +250,7 @@ export default class FilterPopover extends Component<Props, State> {
};
const shouldShowDatePicker = field?.isDate() && !field?.isTime();
const supportsExpressions = query.database()?.supportsExpressions();
return (
<div className={className} style={{ minWidth: MIN_WIDTH, ...style }}>
......@@ -265,6 +266,7 @@ export default class FilterPopover extends Component<Props, State> {
onCommit={this.handleCommit}
onFilterChange={this.handleFilterChange}
disableChangingDimension={!showFieldPicker}
supportsExpressions={supportsExpressions}
>
<Button
data-ui-tag="add-filter"
......
......@@ -237,6 +237,7 @@ type Props = {
hideEmptinessOperators?: boolean;
disableOperatorSelection?: boolean;
disableChangingDimension?: boolean;
supportsExpressions?: boolean;
primaryColor?: string;
minWidth?: number | null;
......@@ -255,6 +256,7 @@ const DatePicker: React.FC<Props> = props => {
onFilterChange,
disableOperatorSelection,
disableChangingDimension,
supportsExpressions,
primaryColor,
onCommit,
children,
......@@ -313,6 +315,7 @@ const DatePicker: React.FC<Props> = props => {
filter={filter}
onCommit={onCommit}
primaryColor={primaryColor}
supportsExpressions={supportsExpressions}
onFilterChange={(filter: Filter) => {
if (!isStartingFrom(filter) && operator && operator.init) {
onFilterChange(operator.init(filter));
......
......@@ -36,6 +36,7 @@ type RelativeDatePickerProps = {
offsetFormatter: (value: number) => number;
primaryColor?: string;
reverseIconDirection?: boolean;
supportsExpressions?: boolean;
};
type OptionsContentProps = RelativeDatePickerProps & {
......@@ -106,6 +107,7 @@ const OptionsContent: React.FC<OptionsContentProps> = ({
onFilterChange,
reverseIconDirection,
setOptionsVisible,
supportsExpressions,
}) => {
const options = filter[4] || {};
const includeCurrent = !!options["include-current"];
......@@ -128,14 +130,16 @@ const OptionsContent: React.FC<OptionsContentProps> = ({
return (
<OptionsContainer>
<OptionButton
icon="arrow_left_to_line"
primaryColor={primaryColor}
reverseIconDirection={reverseIconDirection}
onClick={handleClickOnStartingFrom}
>
{t`Starting from...`}
</OptionButton>
{supportsExpressions && (
<OptionButton
icon="arrow_left_to_line"
primaryColor={primaryColor}
reverseIconDirection={reverseIconDirection}
onClick={handleClickOnStartingFrom}
>
{t`Starting from...`}
</OptionButton>
)}
<OptionButton
selected={includeCurrent}
primaryColor={primaryColor}
......@@ -157,7 +161,6 @@ const RelativeDatePicker: React.FC<RelativeDatePickerProps> = props => {
offsetFormatter = value => value,
className,
primaryColor,
reverseIconDirection,
} = props;
const startingFrom = getStartingFrom(filter);
......
......@@ -38,8 +38,7 @@ const STEPS = [
},
{
type: "expression",
valid: query =>
query.hasData() && query.database().hasFeature("expressions"),
valid: query => query.hasData() && query.database().supportsExpressions(),
active: query => query.hasExpressions(),
revert: query => query.clearExpressions(),
clean: query => query.cleanExpressions(),
......
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