Skip to content

Commit

Permalink
feat(explore): new datasets have autocomplete filters enabled if UX_B…
Browse files Browse the repository at this point in the history
…ETA is set (#15864)

* feat(explore): new datasets have autocomplete filters enabled if UX_BETA is set

* Lint fix

* Set autocomplete to True in example datasets

* Use "IN" as a default operator in dnd filters

* Default operator only if UX_BETA enabled
  • Loading branch information
kgabryje authored Jul 27, 2021
1 parent 019e746 commit 3f5237a
Show file tree
Hide file tree
Showing 28 changed files with 44 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,19 @@
* under the License.
*/
import React, { useEffect, useMemo, useState } from 'react';
import { logging, SupersetClient, t, Metric } from '@superset-ui/core';
import {
FeatureFlag,
isFeatureEnabled,
logging,
Metric,
SupersetClient,
t,
} from '@superset-ui/core';
import { ColumnMeta } from '@superset-ui/chart-controls';
import { Tooltip } from 'src/components/Tooltip';
import {
Operators,
OPERATOR_ENUM_TO_OPERATOR_TYPE,
Operators,
} from 'src/explore/constants';
import { OptionSortType } from 'src/explore/types';
import {
Expand Down Expand Up @@ -304,9 +311,14 @@ export const DndFilterSelect = (props: DndFilterSelectProps) => {
sqlExpression: (droppedItem as AdhocMetric)?.translateToSql(),
});
}
return new AdhocFilter({
const config: Partial<AdhocFilter> = {
subject: (droppedItem as ColumnMeta)?.column_name,
});
};
if (isFeatureEnabled(FeatureFlag.UX_BETA)) {
config.operator = OPERATOR_ENUM_TO_OPERATOR_TYPE[Operators.IN].operation;
config.operatorId = Operators.IN;
}
return new AdhocFilter(config);
}, [droppedItem]);

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ const AdhocFilterEditPopoverSimpleTabContent: React.FC<Props> = props => {
>
{suggestions.map((suggestion: string) => (
<Select.Option value={suggestion} key={suggestion}>
{suggestion}
{String(suggestion)}
</Select.Option>
))}

Expand Down
4 changes: 2 additions & 2 deletions superset/connectors/base/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.orm import foreign, Query, relationship, RelationshipProperty, Session

from superset import security_manager
from superset import is_feature_enabled, security_manager
from superset.constants import NULL_STRING
from superset.models.helpers import AuditMixinNullable, ImportExportMixin, QueryResult
from superset.models.slice import Slice
Expand Down Expand Up @@ -103,7 +103,7 @@ def name(self) -> str:
description = Column(Text)
default_endpoint = Column(Text)
is_featured = Column(Boolean, default=False) # TODO deprecating
filter_select_enabled = Column(Boolean, default=False)
filter_select_enabled = Column(Boolean, default=is_feature_enabled("UX_BETA"))
offset = Column(Integer, default=0)
cache_timeout = Column(Integer)
params = Column(String(1000))
Expand Down
1 change: 1 addition & 0 deletions superset/examples/bart_lines.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ def load_bart_lines(only_metadata: bool = False, force: bool = False) -> None:
tbl = table(table_name=tbl_name)
tbl.description = "BART lines"
tbl.database = database
tbl.filter_select_enabled = True
db.session.merge(tbl)
db.session.commit()
tbl.fetch_metadata()
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: ''
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: d95a2865-53ce-1f82-a53d-8e3c89331469
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: null
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 3e8130eb-0831-d568-b531-c3ce6d68d3d8
Expand Down
2 changes: 1 addition & 1 deletion superset/examples/configs/datasets/examples/channels.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: null
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: f7db6d45-7056-f395-d24a-6c805fb4c97d
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: null
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: e8623bb9-5e00-f531-506a-19607f5f8005
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: ''
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 974b7a1c-22ea-49cb-9214-97b7dbd511e0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: ''
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 0bd5d01c-b7d8-471b-b3a5-366ce6c920d4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ sql: SELECT c.name AS channel_name, u.name AS member_name FROM channel_members c
JOIN channels c ON cm.channel_id = c.id JOIN users u ON cm.user_id = u.id
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 3d9c0054-b31b-4102-92de-b1ef9f9e5e77
Expand Down
2 changes: 1 addition & 1 deletion superset/examples/configs/datasets/examples/messages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: null
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: e032c69e-716e-d700-eff7-07800d0f9989
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ sql: SELECT m.ts, c.name, m.text FROM messages m JOIN channels c ON m.channel_id
c.id
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 6e533506-fce6-4f6a-b116-d139df6dbdea
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ sql: SELECT date, total_membership - lag(total_membership) OVER (ORDER BY date)
new_members FROM exported_stats
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 9dd99cda-ff6b-4575-9a74-684d06e871ab
Expand Down
2 changes: 1 addition & 1 deletion superset/examples/configs/datasets/examples/threads.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: null
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: d7438be6-6078-17dd-cf9a-56f0ef546c80
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: null
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: a6771c73-96fc-44c6-8b6e-9d303955ea48
Expand Down
2 changes: 1 addition & 1 deletion superset/examples/configs/datasets/examples/users.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: null
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 7195db6b-2d17-7619-b7c7-26b15378df8c
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ sql: 'SELECT uc1.name as channel_1, uc2.name as channel_2, count(*) AS cnt
HAVING uc1.name <> uc2.name'
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 473d6113-b44a-48d8-a6ae-e0ef7e2aebb0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ schema: null
sql: null
params: null
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 29b18573-c9d6-40bc-b8cb-f70c9a1b6244
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ params:
database_name: examples
import_time: 1606677834
template_params: null
filter_select_enabled: false
filter_select_enabled: true
fetch_values_predicate: null
extra: null
uuid: 53d47c0c-c03d-47f0-b9ac-81225f808283
Expand Down
1 change: 1 addition & 0 deletions superset/examples/country_map.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ def load_country_map_data(only_metadata: bool = False, force: bool = False) -> N
obj = table(table_name=tbl_name)
obj.main_dttm_col = "dttm"
obj.database = database
obj.filter_select_enabled = True
if not any(col.metric_name == "avg__2004" for col in obj.metrics):
col = str(column("2004").compile(db.engine))
obj.metrics.append(SqlMetric(metric_name="avg__2004", expression=f"AVG({col})"))
Expand Down
1 change: 1 addition & 0 deletions superset/examples/energy.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ def load_energy(
tbl = table(table_name=tbl_name)
tbl.description = "Energy consumption"
tbl.database = database
tbl.filter_select_enabled = True

if not any(col.metric_name == "sum__value" for col in tbl.metrics):
col = str(column("value").compile(db.engine))
Expand Down
1 change: 1 addition & 0 deletions superset/examples/flights.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ def load_flights(only_metadata: bool = False, force: bool = False) -> None:
tbl = table(table_name=tbl_name)
tbl.description = "Random set of flights in the US"
tbl.database = database
tbl.filter_select_enabled = True
db.session.merge(tbl)
db.session.commit()
tbl.fetch_metadata()
Expand Down
1 change: 1 addition & 0 deletions superset/examples/long_lat.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ def load_long_lat_data(only_metadata: bool = False, force: bool = False) -> None
obj = table(table_name=tbl_name)
obj.main_dttm_col = "datetime"
obj.database = database
obj.filter_select_enabled = True
db.session.merge(obj)
db.session.commit()
obj.fetch_metadata()
Expand Down
1 change: 1 addition & 0 deletions superset/examples/multiformat_time_series.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ def load_multiformat_time_series(
obj = table(table_name=tbl_name)
obj.main_dttm_col = "ds"
obj.database = database
obj.filter_select_enabled = True
dttm_and_expr_dict: Dict[str, Tuple[Optional[str], None]] = {
"ds": (None, None),
"ds2": (None, None),
Expand Down
1 change: 1 addition & 0 deletions superset/examples/paris.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ def load_paris_iris_geojson(only_metadata: bool = False, force: bool = False) ->
tbl = table(table_name=tbl_name)
tbl.description = "Map of Paris"
tbl.database = database
tbl.filter_select_enabled = True
db.session.merge(tbl)
db.session.commit()
tbl.fetch_metadata()
1 change: 1 addition & 0 deletions superset/examples/random_time_series.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ def load_random_time_series_data(
obj = table(table_name=tbl_name)
obj.main_dttm_col = "ds"
obj.database = database
obj.filter_select_enabled = True
db.session.merge(obj)
db.session.commit()
obj.fetch_metadata()
Expand Down
1 change: 1 addition & 0 deletions superset/examples/sf_population_polygons.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ def load_sf_population_polygons(
tbl = table(table_name=tbl_name)
tbl.description = "Population density of San Francisco"
tbl.database = database
tbl.filter_select_enabled = True
db.session.merge(tbl)
db.session.commit()
tbl.fetch_metadata()

0 comments on commit 3f5237a

Please sign in to comment.