Skip to content

Commit

Permalink
fix: do not render favorite favStar and filter for anonymous user
Browse files Browse the repository at this point in the history
  • Loading branch information
trepmag committed May 11, 2021
1 parent 37276e1 commit 1691b9c
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 67 deletions.
16 changes: 9 additions & 7 deletions superset-frontend/src/explore/components/ExploreChartHeader.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -148,13 +148,15 @@ export class ExploreChartHeader extends React.PureComponent {

{this.props.slice && (
<StyledButtons>
<FaveStar
itemId={this.props.slice.slice_id}
fetchFaveStar={this.props.actions.fetchFaveStar}
saveFaveStar={this.props.actions.saveFaveStar}
isStarred={this.props.isStarred}
showTooltip
/>
{this.props.userId && (
<FaveStar
itemId={this.props.slice.slice_id}
fetchFaveStar={this.props.actions.fetchFaveStar}
saveFaveStar={this.props.actions.saveFaveStar}
isStarred={this.props.isStarred}
showTooltip
/>
)}
<PropertiesModal
show={this.state.isPropertiesModalOpen}
onHide={this.closePropertiesModal}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ const ExploreChartPanel = props => {
form_data={props.form_data}
timeout={props.timeout}
chart={props.chart}
userId={props.userId}
/>
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -592,6 +592,7 @@ function mapStateToProps(state) {
timeout: explore.common.conf.SUPERSET_WEBSERVER_TIMEOUT,
ownState: dataMask[form_data.slice_id]?.ownState,
impressionId,
userId: explore.user_id,
};
}

Expand Down
74 changes: 44 additions & 30 deletions superset-frontend/src/views/CRUD/chart/ChartList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import SubMenu, { SubMenuProps } from 'src/components/Menu/SubMenu';
import FaveStar from 'src/components/FaveStar';
import ListView, {
ListViewProps,
Filter,
Filters,
SelectOption,
FilterOperator,
Expand Down Expand Up @@ -195,23 +196,27 @@ function ChartList(props: ChartListProps) {

const columns = useMemo(
() => [
{
Cell: ({
row: {
original: { id },
},
}: any) => (
<FaveStar
itemId={id}
saveFaveStar={saveFavoriteStatus}
isStarred={favoriteStatus[id]}
/>
),
Header: '',
id: 'id',
disableSortBy: true,
size: 'xs',
},
...(props.user.userId
? [
{
Cell: ({
row: {
original: { id },
},
}: any) => (
<FaveStar
itemId={id}
saveFaveStar={saveFavoriteStatus}
isStarred={favoriteStatus[id]}
/>
),
Header: '',
id: 'id',
disableSortBy: true,
size: 'xs',
},
]
: []),
{
Cell: ({
row: {
Expand Down Expand Up @@ -377,7 +382,12 @@ function ChartList(props: ChartListProps) {
hidden: !canEdit && !canDelete,
},
],
[canEdit, canDelete, canExport, favoriteStatus],
[
canEdit,
canDelete,
canExport,
...(props.user.userId ? [favoriteStatus] : []),
],
);

const filters: Filters = [
Expand Down Expand Up @@ -465,18 +475,22 @@ function ChartList(props: ChartListProps) {
),
paginate: false,
},
{
Header: t('Favorite'),
id: 'id',
urlDisplay: 'favorite',
input: 'select',
operator: FilterOperator.chartIsFav,
unfilteredLabel: t('Any'),
selects: [
{ label: t('Yes'), value: true },
{ label: t('No'), value: false },
],
},
...(props.user.userId
? [
{
Header: t('Favorite'),
id: 'id',
urlDisplay: 'favorite',
input: 'select',
operator: FilterOperator.chartIsFav,
unfilteredLabel: t('Any'),
selects: [
{ label: t('Yes'), value: true },
{ label: t('No'), value: false },
],
} as Filter,
]
: []),
{
Header: t('Search'),
id: 'slice_name',
Expand Down
74 changes: 44 additions & 30 deletions superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import ConfirmStatusChange from 'src/components/ConfirmStatusChange';
import SubMenu, { SubMenuProps } from 'src/components/Menu/SubMenu';
import ListView, {
ListViewProps,
Filter,
Filters,
FilterOperator,
} from 'src/components/ListView';
Expand Down Expand Up @@ -189,23 +190,27 @@ function DashboardList(props: DashboardListProps) {

const columns = useMemo(
() => [
{
Cell: ({
row: {
original: { id },
},
}: any) => (
<FaveStar
itemId={id}
saveFaveStar={saveFavoriteStatus}
isStarred={favoriteStatus[id]}
/>
),
Header: '',
id: 'id',
disableSortBy: true,
size: 'xs',
},
...(props.user.userId
? [
{
Cell: ({
row: {
original: { id },
},
}: any) => (
<FaveStar
itemId={id}
saveFaveStar={saveFavoriteStatus}
isStarred={favoriteStatus[id]}
/>
),
Header: '',
id: 'id',
disableSortBy: true,
size: 'xs',
},
]
: []),
{
Cell: ({
row: {
Expand Down Expand Up @@ -357,7 +362,12 @@ function DashboardList(props: DashboardListProps) {
disableSortBy: true,
},
],
[canEdit, canDelete, canExport, favoriteStatus],
[
canEdit,
canDelete,
canExport,
...(props.user.userId ? [favoriteStatus] : []),
],
);

const filters: Filters = [
Expand Down Expand Up @@ -414,18 +424,22 @@ function DashboardList(props: DashboardListProps) {
{ label: t('Draft'), value: false },
],
},
{
Header: t('Favorite'),
id: 'id',
urlDisplay: 'favorite',
input: 'select',
operator: FilterOperator.dashboardIsFav,
unfilteredLabel: t('Any'),
selects: [
{ label: t('Yes'), value: true },
{ label: t('No'), value: false },
],
},
...(props.user.userId
? [
{
Header: t('Favorite'),
id: 'id',
urlDisplay: 'favorite',
input: 'select',
operator: FilterOperator.dashboardIsFav,
unfilteredLabel: t('Any'),
selects: [
{ label: t('Yes'), value: true },
{ label: t('No'), value: false },
],
} as Filter,
]
: []),
{
Header: t('Search'),
id: 'dashboard_title',
Expand Down

0 comments on commit 1691b9c

Please sign in to comment.