You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by di...@apache.org on 2022/10/10 14:02:03 UTC
[superset] 02/03: Add feature flag
This is an automated email from the ASF dual-hosted git repository.
diegopucci pushed a commit to branch feat/d2d-charts-crud-filter-col
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 19cf1bf60564226c06953f06736bdf3f0dcd5669
Author: geido <di...@gmail.com>
AuthorDate: Mon Oct 10 16:50:45 2022 +0300
Add feature flag
---
.../src/views/CRUD/chart/ChartList.tsx | 70 +++++++++++++---------
1 file changed, 41 insertions(+), 29 deletions(-)
diff --git a/superset-frontend/src/views/CRUD/chart/ChartList.tsx b/superset-frontend/src/views/CRUD/chart/ChartList.tsx
index 621100f7fb..b1a43b1f19 100644
--- a/superset-frontend/src/views/CRUD/chart/ChartList.tsx
+++ b/superset-frontend/src/views/CRUD/chart/ChartList.tsx
@@ -265,6 +265,7 @@ function ChartList(props: ChartListProps) {
const initialSort = [{ id: 'changed_on_delta_humanized', desc: true }];
const enableBroadUserAccess =
bootstrapData?.common?.conf?.ENABLE_BROAD_ACTIVITY_ACCESS;
+ const enableCrossRef = isFeatureEnabled(FeatureFlag.CROSS_REFERENCES);
const handleBulkChartExport = (chartsToExport: Chart[]) => {
const ids = chartsToExport.map(({ id }) => id);
handleResourceExport('chart', ids, () => {
@@ -295,6 +296,30 @@ function ChartList(props: ChartListProps) {
);
}
+ const dashboardsCol = useMemo(
+ () => ({
+ Cell: ({
+ row: {
+ original: { dashboards },
+ },
+ }: any) => (
+ <CrossLinks
+ crossLinks={ensureIsArray(dashboards).map(
+ (d: ChartLinkedDashboard) => ({
+ title: d.dashboard_title,
+ id: d.id,
+ }),
+ )}
+ />
+ ),
+ Header: t('Dashboards added to'),
+ accessor: 'dashboards',
+ disableSortBy: true,
+ size: 'xxl',
+ }),
+ [],
+ );
+
const columns = useMemo(
() => [
{
@@ -372,26 +397,7 @@ function ChartList(props: ChartListProps) {
disableSortBy: true,
size: 'xl',
},
- {
- Cell: ({
- row: {
- original: { dashboards },
- },
- }: any) => (
- <CrossLinks
- crossLinks={ensureIsArray(dashboards).map(
- (d: ChartLinkedDashboard) => ({
- title: d.dashboard_title,
- id: d.id,
- }),
- )}
- />
- ),
- Header: t('Dashboards added to'),
- accessor: 'dashboards',
- disableSortBy: true,
- size: 'xxl',
- },
+ ...(enableCrossRef ? [dashboardsCol] : []),
{
Cell: ({
row: {
@@ -558,6 +564,19 @@ function ChartList(props: ChartListProps) {
[],
);
+ const dashboardsFilter: Filter = useMemo(
+ () => ({
+ Header: t('Dashboards'),
+ id: 'dashboards',
+ input: 'select',
+ operator: FilterOperator.relationManyMany,
+ unfilteredLabel: t('All'),
+ fetchSelects: createFetchDashboards,
+ paginate: true,
+ }),
+ [],
+ );
+
const filters: Filters = useMemo(
() => [
{
@@ -636,15 +655,7 @@ function ChartList(props: ChartListProps) {
fetchSelects: createFetchDatasets,
paginate: true,
},
- {
- Header: t('Dashboards'),
- id: 'dashboards',
- input: 'select',
- operator: FilterOperator.relationManyMany,
- unfilteredLabel: t('All'),
- fetchSelects: createFetchDashboards,
- paginate: true,
- },
+ ...(enableCrossRef ? [dashboardsFilter] : []),
...(userId ? [favoritesFilter] : []),
{
Header: t('Certified'),
@@ -759,6 +770,7 @@ function ChartList(props: ChartListProps) {
});
}
}
+
return (
<>
<SubMenu name={t('Charts')} buttons={subMenuButtons} />